X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fjtag%2Fhla%2Fhla_interface.c;h=490eb9f4dc984593385b9461829208cc5a5d4c18;hb=f788949651ef714024a29b08f4b064e78c9b4791;hp=b50cb9c0fd31767b6efba334856c49c7fba97e29;hpb=fafe6dfc9cd882f5cee4f4fa2b3971991d9e97b9;p=fw%2Fopenocd diff --git a/src/jtag/hla/hla_interface.c b/src/jtag/hla/hla_interface.c index b50cb9c0f..490eb9f4d 100644 --- a/src/jtag/hla/hla_interface.c +++ b/src/jtag/hla/hla_interface.c @@ -35,7 +35,7 @@ #include -static struct hl_interface_s hl_if = { {0, 0, { 0 }, { 0 }, 0, HL_TRANSPORT_UNKNOWN, false, -1}, 0, 0 }; +static struct hl_interface_s hl_if = { {0, 0, { 0 }, { 0 }, HL_TRANSPORT_UNKNOWN, false, -1}, 0, 0 }; int hl_interface_open(enum hl_transports tr) { @@ -127,42 +127,24 @@ static int hl_interface_quit(void) return ERROR_OK; } -static int hl_interface_execute_queue(void) +static int hl_interface_reset(int req_trst, int req_srst) { - LOG_DEBUG("hl_interface_execute_queue: ignored"); - - return ERROR_OK; + return hl_if.layout->api->assert_srst(hl_if.handle, req_srst ? 0 : 1); } int hl_interface_init_reset(void) { - /* incase the adapter has not already handled asserting srst + /* in case the adapter has not already handled asserting srst * we will attempt it again */ if (hl_if.param.connect_under_reset) { - jtag_add_reset(0, 1); - hl_if.layout->api->assert_srst(hl_if.handle, 0); + adapter_assert_reset(); } else { - jtag_add_reset(0, 0); + adapter_deassert_reset(); } return ERROR_OK; } -/* FIXME: hla abuses of jtag_add_reset() to track srst status and for timings */ -int hl_interface_reset(int srst) -{ - int result; - - if (srst == 1) { - jtag_add_reset(0, 1); - result = hl_if.layout->api->assert_srst(hl_if.handle, 0); - } else { - result = hl_if.layout->api->assert_srst(hl_if.handle, 1); - jtag_add_reset(0, 0); - } - return result; -} - static int hl_interface_khz(int khz, int *jtag_speed) { if (hl_if.layout->api->speed == NULL) @@ -330,7 +312,7 @@ static const struct command_registration hl_interface_command_handlers[] = { .name = "hla_device_desc", .handler = &hl_interface_handle_device_desc_command, .mode = COMMAND_CONFIG, - .help = "set the a device description of the adapter", + .help = "set the device description of the adapter", .usage = "description_string", }, { @@ -359,22 +341,24 @@ static const struct command_registration hl_interface_command_handlers[] = { .handler = &interface_handle_hla_command, .mode = COMMAND_EXEC, .help = "execute a custom adapter-specific command", - .usage = "hla_command ", + .usage = "", }, COMMAND_REGISTRATION_DONE }; -struct jtag_interface hl_interface = { +struct adapter_driver hl_adapter_driver = { .name = "hla", - .supported = 0, - .commands = hl_interface_command_handlers, .transports = hl_transports, + .commands = hl_interface_command_handlers, + .init = hl_interface_init, .quit = hl_interface_quit, - .execute_queue = hl_interface_execute_queue, + .reset = hl_interface_reset, .speed = &hl_interface_speed, .khz = &hl_interface_khz, .speed_div = &hl_interface_speed_div, .config_trace = &hl_interface_config_trace, .poll_trace = &hl_interface_poll_trace, + + /* no ops for HLA, targets hla_target and stm8 intercept them all */ };