@@ -46,24 +46,37 @@ COMMAND_HANDLER(hl_transport_reset_command)
}
static const struct command_registration
hl_transport_stlink _subcommand_handlers[] = {
hl_swd_ transport_subcommand_handlers[] = {
{
.name = "newt ap",
.name = "newd ap",
.mode = COMMAND_CONFIG,
.jim_handler = jim_hl_newtap,
.help = "Create a new TAP instance named basename.tap_type, "
"and appends it to the scan chain.",
.usage = "basename tap_type '-irlen' count "
"['-expected_id' number] ",
.help = "declare a new SWD DAP",
},
COMMAND_REGISTRATION_DONE
};
static const struct command_registration hl_swd_transport_command_handlers[] = {
{
.name = "swd",
.mode = COMMAND_ANY,
.help = "SWD command group",
.usage = "",
.chain = hl_swd_transport_subcommand_handlers,
},
COMMAND_REGISTRATION_DONE
};
static const struct command_registration
hl_transport_jtag_subcommand_handlers[] = {
{
.chain = hl_transport_stlink_subcommand_handlers,
.name = "newtap",
.mode = COMMAND_CONFIG,
.jim_handler = jim_hl_newtap,
.help = "Create a new TAP instance named basename.tap_type, "
"and appends it to the scan chain.",
.usage = "basename tap_type '-irlen' count "
"['-expected_id' number] ",
},
{
.name = "init",
@@ -120,18 +133,11 @@ hl_transport_jtag_subcommand_handlers[] = {
COMMAND_REGISTRATION_DONE
};
static const struct command_registration stlink_transport_command_handlers[] = {
{
.name = "hla",
.mode = COMMAND_ANY,
.help = "perform hl adapter actions",
.usage = "",
.chain = hl_transport_stlink_subcommand_handlers,
},
static const struct command_registration hl_jtag_transport_command_handlers[] = {
{
.name = "jtag",
.mode = COMMAND_ANY,
.help = "perform jtag tap actions",
.usage = "",
.chain = hl_transport_jtag_subcommand_handlers,
},
@@ -144,11 +150,6 @@ static const struct command_registration stlink_transport_command_handlers[] = {
COMMAND_REGISTRATION_DONE
};
static int hl_transport_register_commands(struct command_context *cmd_ctx)
{
return register_commands(cmd_ctx, NULL,
stlink_transport_command_handlers);
}
static int hl_transport_init(struct command_context *cmd_ctx)
{
@@ -187,34 +188,35 @@ static int hl_transport_init(struct command_context *cmd_ctx)
return hl_interface_init_target(t);
}
static int hl_transport_select(struct command_context *ctx)
static int hl_jtag_ transport_select(struct command_context *cmd_ ctx)
{
LOG_DEBUG("hl_transport_select");
int retval;
LOG_DEBUG("hl_jtag_transport_select");
/* NOTE: interface init must already have been done.
* That works with only C code ... no Tcl glue required.
*/
retval = hl_transport_register_commands(ctx);
if (retval != ERROR_OK)
return retval;
return register_commands(cmd_ctx, NULL,
hl_jtag_transport_command_handlers);
}
return ERROR_OK;
static int hl_swd_transport_select(struct command_context *cmd_ctx)
{
LOG_DEBUG("hl_swd_transport_select");
return register_commands(cmd_ctx, NULL,
hl_swd_transport_command_handlers);
}
static struct transport hl_swd_transport = {
.name = "hla_swd",
.select = hl_transport_select,
.select = hl_swd_ transport_select,
.init = hl_transport_init,
.override_target = hl_interface_override_target,
};
static struct transport hl_jtag_transport = {
.name = "hla_jtag",
.select = hl_transport_select,
.select = hl_jtag_ transport_select,
.init = hl_transport_init,
.override_target = hl_interface_override_target,
};