aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/adapter.c
diff options
context:
space:
mode:
authorOleksij Rempel <o.rempel@pengutronix.de>2018-11-19 12:56:48 +0100
committerOleksij Rempel <linux@rempel-privat.de>2020-01-29 05:33:39 +0000
commit5280eb618a8cab4639f1eca567472db7e5024d13 (patch)
tree10e36be611198388886701d9a5b77a8687f46a7a /src/jtag/adapter.c
parente7e681ac2b66b9eb585b7dfb8eed6c5bd2efefa9 (diff)
downloadriscv-openocd-5280eb618a8cab4639f1eca567472db7e5024d13.zip
riscv-openocd-5280eb618a8cab4639f1eca567472db7e5024d13.tar.gz
riscv-openocd-5280eb618a8cab4639f1eca567472db7e5024d13.tar.bz2
jtag: adapter: rework adapter related commands
currently we have different types of same command group: - starting with adapter_* - starting with interface* - without adapter or interface prefix. Since interface name is already used, we can only use "adapter" command group by keeping old commands as well. Change-Id: Id0a1cb63a2ea6860c67ae1e7a3a06a37ddf464f4 Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Reviewed-on: http://openocd.zylin.com/4774 Reviewed-by: Marc Schink <dev@zapb.de> Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
Diffstat (limited to 'src/jtag/adapter.c')
-rw-r--r--src/jtag/adapter.c133
1 files changed, 72 insertions, 61 deletions
diff --git a/src/jtag/adapter.c b/src/jtag/adapter.c
index e2782a7..af75917 100644
--- a/src/jtag/adapter.c
+++ b/src/jtag/adapter.c
@@ -66,7 +66,7 @@ static int jim_adapter_name(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
return JIM_OK;
}
-COMMAND_HANDLER(interface_transport_command)
+COMMAND_HANDLER(adapter_transports_command)
{
char **transports;
int retval;
@@ -85,12 +85,12 @@ COMMAND_HANDLER(interface_transport_command)
return retval;
}
-COMMAND_HANDLER(handle_interface_list_command)
+COMMAND_HANDLER(handle_adapter_list_command)
{
- if (strcmp(CMD_NAME, "interface_list") == 0 && CMD_ARGC > 0)
+ if (strcmp(CMD_NAME, "list") == 0 && CMD_ARGC > 0)
return ERROR_COMMAND_SYNTAX_ERROR;
- command_print(CMD, "The following debug interfaces are available:");
+ command_print(CMD, "The following debug adapters are available:");
for (unsigned i = 0; NULL != adapter_drivers[i]; i++) {
const char *name = adapter_drivers[i]->name;
command_print(CMD, "%u: %s", i + 1, name);
@@ -99,7 +99,7 @@ COMMAND_HANDLER(handle_interface_list_command)
return ERROR_OK;
}
-COMMAND_HANDLER(handle_interface_command)
+COMMAND_HANDLER(handle_adapter_driver_command)
{
int retval;
@@ -134,7 +134,7 @@ COMMAND_HANDLER(handle_interface_command)
*/
LOG_ERROR("The specified debug interface was not found (%s)",
CMD_ARGV[0]);
- CALL_COMMAND_HANDLER(handle_interface_list_command);
+ CALL_COMMAND_HANDLER(handle_adapter_list_command);
return ERROR_JTAG_INVALID_INTERFACE;
}
@@ -355,7 +355,7 @@ next:
return ERROR_OK;
}
-COMMAND_HANDLER(handle_adapter_nsrst_delay_command)
+COMMAND_HANDLER(handle_adapter_srst_delay_command)
{
if (CMD_ARGC > 1)
return ERROR_COMMAND_SYNTAX_ERROR;
@@ -365,11 +365,11 @@ COMMAND_HANDLER(handle_adapter_nsrst_delay_command)
jtag_set_nsrst_delay(delay);
}
- command_print(CMD, "adapter_nsrst_delay: %u", jtag_get_nsrst_delay());
+ command_print(CMD, "adapter srst delay: %u", jtag_get_nsrst_delay());
return ERROR_OK;
}
-COMMAND_HANDLER(handle_adapter_nsrst_assert_width_command)
+COMMAND_HANDLER(handle_adapter_srst_pulse_width_command)
{
if (CMD_ARGC > 1)
return ERROR_COMMAND_SYNTAX_ERROR;
@@ -379,11 +379,11 @@ COMMAND_HANDLER(handle_adapter_nsrst_assert_width_command)
jtag_set_nsrst_assert_width(width);
}
- command_print(CMD, "adapter_nsrst_assert_width: %u", jtag_get_nsrst_assert_width());
+ command_print(CMD, "adapter srst pulse_width: %u", jtag_get_nsrst_assert_width());
return ERROR_OK;
}
-COMMAND_HANDLER(handle_adapter_khz_command)
+COMMAND_HANDLER(handle_adapter_speed_command)
{
if (CMD_ARGC > 1)
return ERROR_COMMAND_SYNTAX_ERROR;
@@ -524,92 +524,103 @@ static const struct command_registration adapter_usb_command_handlers[] = {
};
#endif /* MINIDRIVER */
-static const struct command_registration adapter_command_handlers[] = {
-#ifndef HAVE_JTAG_MINIDRIVER_H
+static const struct command_registration adapter_srst_command_handlers[] = {
{
- .name = "usb",
+ .name = "delay",
+ .handler = handle_adapter_srst_delay_command,
.mode = COMMAND_ANY,
- .help = "usb adapter command group",
- .usage = "",
- .chain = adapter_usb_command_handlers,
- },
-#endif /* MINIDRIVER */
- {
- .name = "assert",
- .handler = handle_adapter_reset_de_assert,
- .mode = COMMAND_EXEC,
- .help = "Controls SRST and TRST lines.",
- .usage = "|deassert [srst|trst [assert|deassert srst|trst]]",
+ .help = "delay after deasserting SRST in ms",
+ .usage = "[milliseconds]",
},
{
- .name = "deassert",
- .handler = handle_adapter_reset_de_assert,
- .mode = COMMAND_EXEC,
- .help = "Controls SRST and TRST lines.",
- .usage = "|assert [srst|trst [deassert|assert srst|trst]]",
+ .name = "pulse_width",
+ .handler = handle_adapter_srst_pulse_width_command,
+ .mode = COMMAND_ANY,
+ .help = "SRST assertion pulse width in ms",
+ .usage = "[milliseconds]",
},
COMMAND_REGISTRATION_DONE
};
-static const struct command_registration interface_command_handlers[] = {
+static const struct command_registration adapter_command_handlers[] = {
{
- .name = "adapter",
- .mode = COMMAND_ANY,
- .help = "adapter command group",
- .usage = "",
- .chain = adapter_command_handlers,
+ .name = "driver",
+ .handler = handle_adapter_driver_command,
+ .mode = COMMAND_CONFIG,
+ .help = "Select a debug adapter driver",
+ .usage = "driver_name",
},
{
- .name = "adapter_khz",
- .handler = handle_adapter_khz_command,
+ .name = "speed",
+ .handler = handle_adapter_speed_command,
.mode = COMMAND_ANY,
.help = "With an argument, change to the specified maximum "
"jtag speed. For JTAG, 0 KHz signifies adaptive "
- " clocking. "
+ "clocking. "
"With or without argument, display current setting.",
.usage = "[khz]",
},
{
- .name = "adapter_name",
+ .name = "list",
+ .handler = handle_adapter_list_command,
+ .mode = COMMAND_ANY,
+ .help = "List all built-in debug adapter drivers",
+ .usage = "",
+ },
+ {
+ .name = "name",
.mode = COMMAND_ANY,
.jim_handler = jim_adapter_name,
.help = "Returns the name of the currently "
"selected adapter (driver)",
},
{
- .name = "adapter_nsrst_delay",
- .handler = handle_adapter_nsrst_delay_command,
+ .name = "srst",
.mode = COMMAND_ANY,
- .help = "delay after deasserting SRST in ms",
- .usage = "[milliseconds]",
+ .help = "srst adapter command group",
+ .usage = "",
+ .chain = adapter_srst_command_handlers,
},
{
- .name = "adapter_nsrst_assert_width",
- .handler = handle_adapter_nsrst_assert_width_command,
+ .name = "transports",
+ .handler = adapter_transports_command,
+ .mode = COMMAND_CONFIG,
+ .help = "Declare transports the adapter supports.",
+ .usage = "transport ... ",
+ },
+#ifndef HAVE_JTAG_MINIDRIVER_H
+ {
+ .name = "usb",
.mode = COMMAND_ANY,
- .help = "delay after asserting SRST in ms",
- .usage = "[milliseconds]",
+ .help = "usb adapter command group",
+ .usage = "",
+ .chain = adapter_usb_command_handlers,
},
+#endif /* MINIDRIVER */
{
- .name = "interface",
- .handler = handle_interface_command,
- .mode = COMMAND_CONFIG,
- .help = "Select a debug adapter interface (driver)",
- .usage = "driver_name",
+ .name = "assert",
+ .handler = handle_adapter_reset_de_assert,
+ .mode = COMMAND_EXEC,
+ .help = "Controls SRST and TRST lines.",
+ .usage = "|deassert [srst|trst [assert|deassert srst|trst]]",
},
{
- .name = "interface_transports",
- .handler = interface_transport_command,
- .mode = COMMAND_CONFIG,
- .help = "Declare transports the interface supports.",
- .usage = "transport ... ",
+ .name = "deassert",
+ .handler = handle_adapter_reset_de_assert,
+ .mode = COMMAND_EXEC,
+ .help = "Controls SRST and TRST lines.",
+ .usage = "|assert [srst|trst [deassert|assert srst|trst]]",
},
+ COMMAND_REGISTRATION_DONE
+};
+
+static const struct command_registration interface_command_handlers[] = {
{
- .name = "interface_list",
- .handler = handle_interface_list_command,
+ .name = "adapter",
.mode = COMMAND_ANY,
- .help = "List all built-in debug adapter interfaces (drivers)",
+ .help = "adapter command group",
.usage = "",
+ .chain = adapter_command_handlers,
},
{
.name = "reset_config",