vsllink_jtag_t -> struct vsllink
[openocd.git] / src / jtag / vsllink.c
index 7705e540ee2cb9bfe5787d668049454e9cc61177..5325d77515c775249656cf8f4fa28e1a13924feb 100644 (file)
@@ -210,16 +210,15 @@ static void vsllink_tap_append_scan_dma(int length, uint8_t *buffer, scan_comman
 static void vsllink_tap_append_scan_normal(int length, uint8_t *buffer, scan_command_t *command, int offset);
 
 /* VSLLink lowlevel functions */
-typedef struct vsllink_jtag
-{
+struct vsllink {
        struct usb_dev_handle* usb_handle;
-} vsllink_jtag_t;
+};
 
-static vsllink_jtag_t *vsllink_usb_open(void);
-static void vsllink_usb_close(vsllink_jtag_t *vsllink_jtag);
-static int vsllink_usb_message(vsllink_jtag_t *vsllink_jtag, int out_length, int in_length);
-static int vsllink_usb_write(vsllink_jtag_t *vsllink_jtag, int out_length);
-static int vsllink_usb_read(vsllink_jtag_t *vsllink_jtag);
+static struct vsllink *vsllink_usb_open(void);
+static void vsllink_usb_close(struct vsllink *vsllink);
+static int vsllink_usb_message(struct vsllink *vsllink, int out_length, int in_length);
+static int vsllink_usb_write(struct vsllink *vsllink, int out_length);
+static int vsllink_usb_read(struct vsllink *vsllink);
 
 #if defined _DEBUG_USB_COMMS_ || defined _DEBUG_JTAG_IO_
 static void vsllink_debug_buffer(uint8_t *buffer, int length);
@@ -235,7 +234,7 @@ static uint8_t *tdi_buffer = NULL;
 static uint8_t *tdo_buffer = NULL;
 static int last_tms;
 
-static vsllink_jtag_t* vsllink_jtag_handle = NULL;
+static struct vsllink* vsllink_handle = NULL;
 
 static void reset_command_pointer(void)
 {
@@ -369,7 +368,7 @@ static int vsllink_speed(int speed)
        vsllink_usb_out_buffer[1] = (speed >> 0) & 0xff;
        vsllink_usb_out_buffer[2] = (speed >> 8) & 0xFF;
 
-       result = vsllink_usb_write(vsllink_jtag_handle, 3);
+       result = vsllink_usb_write(vsllink_handle, 3);
 
        if (result == 3)
        {
@@ -412,9 +411,9 @@ static int vsllink_init(void)
                exit(-1);
        }
 
-       vsllink_jtag_handle = vsllink_usb_open();
+       vsllink_handle = vsllink_usb_open();
 
-       if (vsllink_jtag_handle == 0)
+       if (vsllink_handle == 0)
        {
                LOG_ERROR("Can't find USB JTAG Interface! Please check connection and permissions.");
                return ERROR_JTAG_INIT_FAILED;
@@ -427,7 +426,7 @@ static int vsllink_init(void)
        while (check_cnt < 5)
        {
                vsllink_simple_command(0x00);
-               result = vsllink_usb_read(vsllink_jtag_handle);
+               result = vsllink_usb_read(vsllink_handle);
 
                if (result > 2)
                {
@@ -516,7 +515,7 @@ static int vsllink_init(void)
        vsllink_usb_out_buffer[0] = VSLLINK_CMD_SET_PORTDIR;
        vsllink_usb_out_buffer[1] = JTAG_PINMSK_SRST | JTAG_PINMSK_TRST | JTAG_PINMSK_USR1 | JTAG_PINMSK_USR2;
        vsllink_usb_out_buffer[2] = JTAG_PINMSK_SRST | JTAG_PINMSK_TRST;
-       if (vsllink_usb_write(vsllink_jtag_handle, 3) != 3)
+       if (vsllink_usb_write(vsllink_handle, 3) != 3)
        {
                LOG_ERROR("VSLLink USB send data error");
                exit(-1);
@@ -539,7 +538,7 @@ static int vsllink_quit(void)
                vsllink_usb_out_buffer[0] = VSLLINK_CMD_SET_PORTDIR;
                vsllink_usb_out_buffer[1] = JTAG_PINMSK_SRST | JTAG_PINMSK_TRST | JTAG_PINMSK_USR1 | JTAG_PINMSK_USR2;
                vsllink_usb_out_buffer[2] = 0;
-               if (vsllink_usb_write(vsllink_jtag_handle, 3) != 3)
+               if (vsllink_usb_write(vsllink_handle, 3) != 3)
                {
                        LOG_ERROR("VSLLink USB send data error");
                        exit(-1);
@@ -547,8 +546,8 @@ static int vsllink_quit(void)
 
                // disconnect
                vsllink_disconnect();
-               vsllink_usb_close(vsllink_jtag_handle);
-               vsllink_jtag_handle = NULL;
+               vsllink_usb_close(vsllink_handle);
+               vsllink_handle = NULL;
        }
 
        if (vsllink_usb_in_buffer != NULL)
@@ -579,8 +578,8 @@ static int vsllink_connect(void)
 
        vsllink_usb_out_buffer[0] = VSLLINK_CMD_CONN;
        vsllink_usb_out_buffer[1] = vsllink_mode;
-       vsllink_usb_message(vsllink_jtag_handle, 2, 0);
-       if (vsllink_usb_read(vsllink_jtag_handle) > 2)
+       vsllink_usb_message(vsllink_handle, 2, 0);
+       if (vsllink_usb_read(vsllink_handle) > 2)
        {
                strncpy(vsllink_str, (char *)vsllink_usb_in_buffer + 2, sizeof(vsllink_str));
                LOG_INFO("%s", vsllink_str);
@@ -1302,7 +1301,7 @@ static void vsllink_reset(int trst, int srst)
                vsllink_usb_out_buffer[2] |= JTAG_PINMSK_TRST;
        }
 
-       result = vsllink_usb_write(vsllink_jtag_handle, 3);
+       result = vsllink_usb_write(vsllink_handle, 3);
        if (result != 3)
        {
                LOG_ERROR("VSLLink command VSLLINK_CMD_SET_PORT failed (%d)", result);
@@ -1316,7 +1315,7 @@ static void vsllink_simple_command(uint8_t command)
        DEBUG_JTAG_IO("0x%02x", command);
 
        vsllink_usb_out_buffer[0] = command;
-       result = vsllink_usb_write(vsllink_jtag_handle, 1);
+       result = vsllink_usb_write(vsllink_handle, 1);
 
        if (result != 1)
        {
@@ -1584,7 +1583,7 @@ static int vsllink_tap_execute_normal(void)
                        vsllink_usb_out_buffer[2] = (vsllink_usb_out_buffer_idx >> 8) & 0xff;
                }
 
-               result = vsllink_usb_message(vsllink_jtag_handle, vsllink_usb_out_buffer_idx, vsllink_usb_in_want_length);
+               result = vsllink_usb_message(vsllink_handle, vsllink_usb_out_buffer_idx, vsllink_usb_in_want_length);
 
                if (result == vsllink_usb_in_want_length)
                {
@@ -1658,7 +1657,7 @@ static int vsllink_tap_execute_dma(void)
                memcpy(&vsllink_usb_out_buffer[3], tdi_buffer, byte_length);
                memcpy(&vsllink_usb_out_buffer[3 + byte_length], tms_buffer, byte_length);
 
-               result = vsllink_usb_message(vsllink_jtag_handle, 3 + 2 * byte_length, byte_length);
+               result = vsllink_usb_message(vsllink_handle, 3 + 2 * byte_length, byte_length);
                if (result == byte_length)
                {
                        for (i = 0; i < pending_scan_results_length; i++)
@@ -1703,16 +1702,16 @@ static int vsllink_tap_execute_dma(void)
 /*****************************************************************************/
 /* VSLLink USB low-level functions */
 
-static vsllink_jtag_t* vsllink_usb_open(void)
+static struct vsllink* vsllink_usb_open(void)
 {
        struct usb_bus *busses;
        struct usb_bus *bus;
        struct usb_device *dev;
        int ret;
 
-       vsllink_jtag_t *result;
+       struct vsllink *result;
 
-       result = (vsllink_jtag_t*) malloc(sizeof(vsllink_jtag_t));
+       result = (struct vsllink*) malloc(sizeof(struct vsllink));
 
        usb_init();
        usb_find_busses();
@@ -1720,7 +1719,7 @@ static vsllink_jtag_t* vsllink_usb_open(void)
 
        busses = usb_get_busses();
 
-       /* find vsllink_jtag device in usb bus */
+       /* find vsllink device in usb bus */
 
        for (bus = busses; bus; bus = bus->next)
        {
@@ -1765,38 +1764,38 @@ static vsllink_jtag_t* vsllink_usb_open(void)
        return NULL;
 }
 
-static void vsllink_usb_close(vsllink_jtag_t *vsllink_jtag)
+static void vsllink_usb_close(struct vsllink *vsllink)
 {
        int ret;
 
-       ret = usb_release_interface(vsllink_jtag->usb_handle, vsllink_usb_interface);
+       ret = usb_release_interface(vsllink->usb_handle, vsllink_usb_interface);
        if (ret != 0)
        {
                LOG_ERROR("fail to release interface %d, %d returned", vsllink_usb_interface, ret);
                exit(-1);
        }
 
-       ret = usb_close(vsllink_jtag->usb_handle);
+       ret = usb_close(vsllink->usb_handle);
        if (ret != 0)
        {
                LOG_ERROR("fail to close usb, %d returned", ret);
                exit(-1);
        }
 
-       free(vsllink_jtag);
+       free(vsllink);
 }
 
 /* Send a message and receive the reply. */
-static int vsllink_usb_message(vsllink_jtag_t *vsllink_jtag, int out_length, int in_length)
+static int vsllink_usb_message(struct vsllink *vsllink, int out_length, int in_length)
 {
        int result;
 
-       result = vsllink_usb_write(vsllink_jtag, out_length);
+       result = vsllink_usb_write(vsllink, out_length);
        if (result == out_length)
        {
                if (in_length > 0)
                {
-                       result = vsllink_usb_read(vsllink_jtag);
+                       result = vsllink_usb_read(vsllink);
                        if (result == in_length)
                        {
                                return result;
@@ -1817,17 +1816,17 @@ static int vsllink_usb_message(vsllink_jtag_t *vsllink_jtag, int out_length, int
 }
 
 /* Write data from out_buffer to USB. */
-static int vsllink_usb_write(vsllink_jtag_t *vsllink_jtag, int out_length)
+static int vsllink_usb_write(struct vsllink *vsllink, int out_length)
 {
        int result;
 
        if (out_length > VSLLINK_BufferSize)
        {
-               LOG_ERROR("vsllink_jtag_write illegal out_length=%d (max=%d)", out_length, VSLLINK_BufferSize);
+               LOG_ERROR("vsllink_write illegal out_length=%d (max=%d)", out_length, VSLLINK_BufferSize);
                return -1;
        }
 
-       result = usb_bulk_write(vsllink_jtag->usb_handle, vsllink_usb_bulkout, \
+       result = usb_bulk_write(vsllink->usb_handle, vsllink_usb_bulkout, \
                (char *)vsllink_usb_out_buffer, out_length, VSLLINK_USB_TIMEOUT);
 
        DEBUG_JTAG_IO("vsllink_usb_write, out_length = %d, result = %d", out_length, result);
@@ -1845,9 +1844,9 @@ static int vsllink_usb_write(vsllink_jtag_t *vsllink_jtag, int out_length)
 }
 
 /* Read data from USB into in_buffer. */
-static int vsllink_usb_read(vsllink_jtag_t *vsllink_jtag)
+static int vsllink_usb_read(struct vsllink *vsllink)
 {
-       int result = usb_bulk_read(vsllink_jtag->usb_handle, vsllink_usb_bulkin, \
+       int result = usb_bulk_read(vsllink->usb_handle, vsllink_usb_bulkin, \
                (char *)vsllink_usb_in_buffer, VSLLINK_BufferSize, VSLLINK_USB_TIMEOUT);
 
        DEBUG_JTAG_IO("vsllink_usb_read, result = %d", result);

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)