stlink: add trace support in DAP direct mode
[openocd.git] / src / jtag / drivers / xds110.c
index f25023ba76c32ca2df984a413c674748f1ef16aa..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);
@@ -2033,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)