remove libusb0_common support
[openocd.git] / src / jtag / drivers / xds110.c
index 20b817879d858d6f3e9cfdb8187a723c3f660038..14bfe9c75c6aaf1a2310fb39b84afb33b442ab95 100644 (file)
@@ -1592,35 +1592,44 @@ static void xds110_flush(void)
        xds110.txn_result_count = 0;
 }
 
-static void xds110_execute_reset(struct jtag_command *cmd)
+static int xds110_reset(int trst, int srst)
 {
-       char trst;
-       char srst;
+       uint8_t value;
+       bool success;
+       int retval = ERROR_OK;
 
-       if (cmd->cmd.reset->trst != -1) {
-               if (cmd->cmd.reset->trst == 0) {
+       if (trst != -1) {
+               if (trst == 0) {
                        /* Deassert nTRST (active low) */
-                       trst = 1;
+                       value = 1;
                } else {
                        /* Assert nTRST (active low) */
-                       trst = 0;
+                       value = 0;
                }
-               (void)xds_set_trst(trst);
+               success = xds_set_trst(value);
+               if (!success)
+                       retval = ERROR_FAIL;
        }
 
-       if (cmd->cmd.reset->srst != -1) {
-               if (cmd->cmd.reset->srst == 0) {
+       if (srst != -1) {
+               if (srst == 0) {
                        /* Deassert nSRST (active low) */
-                       srst = 1;
+                       value = 1;
                } else {
                        /* Assert nSRST (active low) */
-                       srst = 0;
+                       value = 0;
                }
-               (void)xds_set_srst(srst);
+               success = xds_set_srst(value);
+               if (!success)
+                       retval = ERROR_FAIL;
 
                /* Toggle TCK to trigger HIB on CC13x/CC26x devices */
-               (void)xds_cycle_tck(60000);
+               success = xds_cycle_tck(60000);
+               if (!success)
+                       retval = ERROR_FAIL;
        }
+
+       return retval;
 }
 
 static void xds110_execute_sleep(struct jtag_command *cmd)
@@ -1788,10 +1797,6 @@ static void xds110_queue_stableclocks(struct jtag_command *cmd)
 static void xds110_execute_command(struct jtag_command *cmd)
 {
        switch (cmd->type) {
-               case JTAG_RESET:
-                       xds110_flush();
-                       xds110_execute_reset(cmd);
-                       break;
                case JTAG_SLEEP:
                        xds110_flush();
                        xds110_execute_sleep(cmd);
@@ -1925,13 +1930,6 @@ static int xds110_khz(int khz, int *jtag_speed)
        return ERROR_OK;
 }
 
-static int_least32_t xds110_swd_frequency(int_least32_t hz)
-{
-       if (hz > 0)
-               xds110_speed(hz / 1000);
-       return hz;
-}
-
 COMMAND_HANDLER(xds110_handle_info_command)
 {
        xds110_show_info();
@@ -2032,7 +2030,6 @@ static const struct command_registration xds110_command_handlers[] = {
 
 static const struct swd_driver xds110_swd_driver = {
        .init = xds110_swd_init,
-       .frequency = xds110_swd_frequency,
        .switch_seq = xds110_swd_switch_seq,
        .read_reg = xds110_swd_read_reg,
        .write_reg = xds110_swd_write_reg,
@@ -2041,16 +2038,22 @@ static const struct swd_driver xds110_swd_driver = {
 
 static const char * const xds110_transport[] = { "swd", "jtag", NULL };
 
-struct jtag_interface xds110_interface = {
+static struct jtag_interface xds110_interface = {
+       .execute_queue = xds110_execute_queue,
+};
+
+struct adapter_driver xds110_adapter_driver = {
        .name = "xds110",
-       .commands = xds110_command_handlers,
-       .swd = &xds110_swd_driver,
        .transports = xds110_transport,
+       .commands = xds110_command_handlers,
 
-       .execute_queue = xds110_execute_queue,
-       .speed = xds110_speed,
-       .speed_div = xds110_speed_div,
-       .khz = xds110_khz,
        .init = xds110_init,
        .quit = xds110_quit,
+       .reset = xds110_reset,
+       .speed = xds110_speed,
+       .khz = xds110_khz,
+       .speed_div = xds110_speed_div,
+
+       .jtag_ops = &xds110_interface,
+       .swd_ops = &xds110_swd_driver,
 };

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)