+static const struct command_registration jtag_subcommand_handlers[] = {
+ {
+ .name = "interface",
+ .mode = COMMAND_ANY,
+ .jim_handler = &jim_jtag_interface,
+ .help = "Returns the selected interface",
+ },
+ {
+ .name = "arp_init",
+ .mode = COMMAND_ANY,
+ .jim_handler = &jim_jtag_arp_init,
+ },
+ {
+ .name = "arp_init-reset",
+ .mode = COMMAND_ANY,
+ .jim_handler = &jim_jtag_arp_init_reset,
+ },
+ {
+ .name = "newtap",
+ .mode = COMMAND_CONFIG,
+ .jim_handler = &jim_jtag_newtap,
+ .help = "Create a new TAP instance",
+ .usage = "<name> <type> -irlen <count> [-ircapture <count>] "
+ "[-irmask <count>] [-enable|-disable]",
+ },
+ {
+ .name = "tapisenabled",
+ .mode = COMMAND_EXEC,
+ .jim_handler = &jim_jtag_tap_enabler,
+ .help = "Returns a integer indicating TAP state (0/1)",
+ .usage = "<name>",
+ },
+ {
+ .name = "tapenable",
+ .mode = COMMAND_EXEC,
+ .jim_handler = &jim_jtag_tap_enabler,
+ .help = "Enable the specified TAP",
+ .usage = "<name>",
+ },
+ {
+ .name = "tapdisable",
+ .mode = COMMAND_EXEC,
+ .jim_handler = &jim_jtag_tap_enabler,
+ .help = "Enable the specified TAP",
+ .usage = "<name>",
+ },
+ {
+ .name = "configure",
+ .mode = COMMAND_EXEC,
+ .jim_handler = &jim_jtag_configure,
+ .help = "Enable the specified TAP",
+ .usage = "<name> [<key> <value> ...]",
+ },
+ {
+ .name = "cget",
+ .mode = COMMAND_EXEC,
+ .jim_handler = &jim_jtag_configure,
+ .help = "Enable the specified TAP",
+ .usage = "<name> [<key> <value> ...]",
+ },
+ {
+ .name = "names",
+ .mode = COMMAND_ANY,
+ .jim_handler = &jim_jtag_names,
+ .help = "Returns list of all JTAG tap names",
+ },
+ COMMAND_REGISTRATION_DONE
+};