David Brownell <david-b@pacbell.net>:
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Thu, 4 Jun 2009 00:56:41 +0000 (00:56 +0000)
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Thu, 4 Jun 2009 00:56:41 +0000 (00:56 +0000)
Remove pernicious whitespace from src/jtag/*c files; mostly
the end-of-line flavor for now, although there's more.

git-svn-id: svn://svn.berlios.de/openocd/trunk@2036 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/jtag/arm-jtag-ew.c
src/jtag/bitbang.c
src/jtag/ep93xx.c
src/jtag/jlink.c
src/jtag/jtag.c
src/jtag/parport.c
src/jtag/presto.c
src/jtag/vsllink.c

index ebe60d973409d179db5f67b22018772ceddb4f7d..98fd0d6229258fbd80892aa6a60c403044cc7ecb 100644 (file)
@@ -1,4 +1,4 @@
-// vim:ts=4 sw=4: 
+// vim:ts=4 sw=4:
 
 /***************************************************************************
  *   Copyright (C) 2009 by Dimitar Dimitrov <dinuxbg@gmail.com>            *
@@ -222,14 +222,14 @@ static int armjtagew_speed(int speed)
        usb_out_buffer[0] = CMD_GET_TCK_FREQUENCY;
     result = armjtagew_usb_message(armjtagew_jtag_handle, 1, 4);
        speed_real = (int)buf_get_u32(usb_in_buffer,0,32);
-       if(result < 0) 
+       if(result < 0)
        {
         LOG_ERROR("ARM-JTAG-EW getting speed failed (%d)", result);
         return ERROR_JTAG_DEVICE_ERROR;
-       } 
+       }
        else
        {
-       LOG_INFO("Requested speed %dkHz, emulator reported %dkHz.", speed, speed_real);
+       LOG_INFO("Requested speed %dkHz, emulator reported %dkHz.", speed, speed_real);
        }
 
     return ERROR_OK;
@@ -334,7 +334,7 @@ static void armjtagew_path_move(int num_states, tap_state_t *path)
        for (i = 0; i < num_states; i++)
        {
                /*
-                * TODO: The ARM-JTAG-EW hardware delays TDI with 3 TCK cycles when in RTCK mode. 
+                * TODO: The ARM-JTAG-EW hardware delays TDI with 3 TCK cycles when in RTCK mode.
                 * Either handle that here, or update the documentation with examples
                 * how to fix that in the configuration files.
                 */
@@ -504,7 +504,7 @@ static int armjtagew_get_version_info(void)
        usb_out_buffer[0] = CMD_GET_VERSION;
        result = armjtagew_usb_message(armjtagew_jtag_handle, 1, 4+15+256);
 
-       if (result != 0) 
+       if (result != 0)
        {
                LOG_ERROR("ARM-JTAG-EW command CMD_GET_VERSION failed (%d)\n", result);
                return ERROR_JTAG_DEVICE_ERROR;
@@ -791,7 +791,7 @@ static int armjtagew_usb_message(armjtagew_jtag_t *armjtagew_jtag, int out_lengt
        if (result == out_length)
        {
                result = armjtagew_usb_read(armjtagew_jtag, in_length);
-               if (result != in_length) 
+               if (result != in_length)
                {
                        LOG_ERROR("usb_bulk_read failed (requested=%d, result=%d)", in_length, result);
                        return -1;
index 9f7c14cdad8317bb0930f77c25c5474884cdcd68..4e8dd2e34f8aba5ae1704e0328f1ed6184911ceb 100644 (file)
@@ -79,7 +79,7 @@ static void bitbang_state_move(int skip)
        int i=0, tms=0;
        u8 tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
        int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
-       
+
        for (i = skip; i < tms_count; i++)
        {
                tms = (tms_scan >> i) & 1;
index e4daa7e6a82a0327c5a6b08de172b771bf45160a..38b9acb05d10c6b1bdda02775f27a960ba029cf3 100644 (file)
@@ -53,13 +53,13 @@ static int ep93xx_quit(void);
 
 struct timespec ep93xx_zzzz;
 
-jtag_interface_t ep93xx_interface = 
+jtag_interface_t ep93xx_interface =
 {
        .name = "ep93xx",
 
        .execute_queue = bitbang_execute_queue,
 
-       .speed = ep93xx_speed,  
+       .speed = ep93xx_speed,
        .register_commands = ep93xx_register_commands,
        .init = ep93xx_init,
        .quit = ep93xx_quit,
@@ -84,12 +84,12 @@ static void ep93xx_write(int tck, int tms, int tdi)
                output_value |= TCK_BIT;
        else
                output_value &= ~TCK_BIT;
-       
+
        if (tms)
                output_value |= TMS_BIT;
        else
                output_value &= ~TMS_BIT;
-       
+
        if (tdi)
                output_value |= TDI_BIT;
        else
@@ -111,7 +111,7 @@ static void ep93xx_reset(int trst, int srst)
                output_value |= SRST_BIT;
        else if (srst == 1)
                output_value &= ~SRST_BIT;
-       
+
        *gpio_data_register = output_value;
        nanosleep(&ep93xx_zzzz, NULL);
 }
@@ -153,7 +153,7 @@ static int ep93xx_init(void)
 {
        int ret;
 
-       bitbang_interface = &ep93xx_bitbang;    
+       bitbang_interface = &ep93xx_bitbang;
 
        ep93xx_zzzz.tv_sec = 0;
        ep93xx_zzzz.tv_nsec = 10000000;
@@ -203,7 +203,7 @@ static int ep93xx_init(void)
        gpio_data_direction_register = gpio_controller + 0x18;
 
        LOG_INFO("gpio_data_register      = %p\n", gpio_data_register);
-       LOG_INFO("gpio_data_direction_reg = %p\n", gpio_data_direction_register); 
+       LOG_INFO("gpio_data_direction_reg = %p\n", gpio_data_direction_register);
        /*
         * Configure bit 0 (TDO) as an input, and bits 1-5 (TDI, TCK
         * TMS, TRST, SRST) as outputs.  Drive TDI and TCK low, and
index f7b8d6220ec4e1202c7b32724dc1ad08628d4ece..22b058df3360eca6f2b623293c7d1e46c3ea4df7 100644 (file)
@@ -59,24 +59,24 @@ static u8 usb_out_buffer[JLINK_OUT_BUFFER_SIZE];
 static u8 usb_emu_result_buffer[JLINK_EMU_RESULT_BUFFER_SIZE];
 
 /* Constants for JLink command */
-#define EMU_CMD_VERSION                0x01
-#define EMU_CMD_SET_SPEED              0x05
-#define EMU_CMD_GET_STATE              0x07
+#define EMU_CMD_VERSION                0x01
+#define EMU_CMD_SET_SPEED              0x05
+#define EMU_CMD_GET_STATE              0x07
 #define EMU_CMD_HW_CLOCK                       0xc8
-#define EMU_CMD_HW_TMS0                        0xc9
-#define EMU_CMD_HW_TMS1                        0xca
-#define EMU_CMD_HW_JTAG2               0xce
-#define EMU_CMD_HW_JTAG3               0xcf
+#define EMU_CMD_HW_TMS0                        0xc9
+#define EMU_CMD_HW_TMS1                        0xca
+#define EMU_CMD_HW_JTAG2               0xce
+#define EMU_CMD_HW_JTAG3               0xcf
 #define EMU_CMD_GET_MAX_MEM_BLOCK      0xd4
-#define EMU_CMD_HW_RESET0              0xdc
-#define EMU_CMD_HW_RESET1              0xdd
-#define EMU_CMD_HW_TRST0               0xde
-#define EMU_CMD_HW_TRST1               0xdf
-#define EMU_CMD_GET_CAPS               0xe8
-#define EMU_CMD_GET_HW_VERSION         0xf0
+#define EMU_CMD_HW_RESET0              0xdc
+#define EMU_CMD_HW_RESET1              0xdd
+#define EMU_CMD_HW_TRST0               0xde
+#define EMU_CMD_HW_TRST1               0xdf
+#define EMU_CMD_GET_CAPS               0xe8
+#define EMU_CMD_GET_HW_VERSION 0xf0
 
 /* bits return from EMU_CMD_GET_CAPS */
-#define EMU_CAP_GET_HW_VERSION                 1
+#define EMU_CAP_GET_HW_VERSION         1
 #define EMU_CAP_GET_MAX_BLOCK_SIZE     11
 
 /* max speed 12MHz v5.0 jlink */
@@ -294,7 +294,7 @@ static int jlink_khz(int khz, int *jtag_speed)
 static int jlink_register_commands(struct command_context_s *cmd_ctx)
 {
 
-       register_command(cmd_ctx, NULL, "jlink_info", 
+       register_command(cmd_ctx, NULL, "jlink_info",
                &jlink_handle_jlink_info_command, COMMAND_EXEC,
                "query jlink info");
        register_command(cmd_ctx, NULL, "jlink_hw_jtag",
@@ -307,7 +307,7 @@ static int jlink_init(void)
 {
        int check_cnt;
        int i;
-       
+
        jlink_jtag_handle = jlink_usb_open();
 
        if (jlink_jtag_handle == 0)
@@ -343,12 +343,12 @@ static int jlink_init(void)
        jlink_speed(jtag_speed);
 
        /* v5/6 jlink seems to have an issue if the first tap move
-        * is not divisible by 8, so we send a TLR on first power up */ 
+        * is not divisible by 8, so we send a TLR on first power up */
        for (i = 0; i < 8; i++) {
                jlink_tap_append_step(1, 0);
        }
        jlink_tap_execute();
-       
+
        return ERROR_OK;
 }
 
@@ -567,7 +567,7 @@ static int jlink_get_version_info(void)
                LOG_ERROR("J-Link command EMU_CMD_VERSION impossible return length 0x%0x", len);
                len = JLINK_IN_BUFFER_SIZE;
        }
-       
+
        result = jlink_usb_read(jlink_jtag_handle, len);
        if (result != len)
        {
index 61a9f8d5f1dac93b68ff89baa1d95db2e7d59355..fca603657ff53630484a125c84b6eda715c02f49 100644 (file)
@@ -2658,7 +2658,7 @@ int jtag_add_statemove(tap_state_t goal_state)
                jtag_add_pathmove(tms_count, moves);
        }
 
-       /*      else state must be immediately reachable in one clock cycle, and does not
+       /*      else state must be immediately reachable in one clock cycle, and does not
                need to be a stable state.
        */
        else if( tap_state_transition(cur_state, true)  == goal_state
index 51442304c959d725759b0d192bbb5e0346926a94..3f026b043df5a9fe966423bfd9100b03bdd5abf2 100644 (file)
@@ -75,8 +75,8 @@ typedef struct cable_s
        u8 LED_MASK;    /* data port bit for LED */
 } cable_t;
 
-static cable_t cables[] = 
-{      
+static cable_t cables[] =
+{
        /* name                                 tdo   trst  tms   tck   tdi   srst  o_inv i_inv init  exit  led */
        { "wiggler",                    0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x01, 0x80, 0x80, 0x80, 0x00 },
        { "wiggler2",                   0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x01, 0x80, 0x80, 0x00, 0x20 },
@@ -135,13 +135,13 @@ static int parport_handle_parport_port_command(struct command_context_s *cmd_ctx
 static int parport_handle_parport_cable_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
 static int parport_handle_write_on_exit_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc);
 
-jtag_interface_t parport_interface = 
+jtag_interface_t parport_interface =
 {
        .name = "parport",
-       
+
        .execute_queue = bitbang_execute_queue,
 
-       .speed = parport_speed, 
+       .speed = parport_speed,
        .register_commands = parport_register_commands,
        .init = parport_init,
        .quit = parport_quit,
@@ -158,7 +158,7 @@ static bitbang_interface_t parport_bitbang =
 static int parport_read(void)
 {
        int data = 0;
-       
+
 #if PARPORT_USE_PPDEV == 1
        ioctl(device_handle, PPRSTATUS, & data);
 #else
@@ -190,22 +190,22 @@ static __inline__ void parport_write_data(void)
 static void parport_write(int tck, int tms, int tdi)
 {
        int i = jtag_speed + 1;
-       
+
        if (tck)
                dataport_value |= cable->TCK_MASK;
        else
                dataport_value &= ~cable->TCK_MASK;
-       
+
        if (tms)
                dataport_value |= cable->TMS_MASK;
        else
                dataport_value &= ~cable->TMS_MASK;
-       
+
        if (tdi)
                dataport_value |= cable->TDI_MASK;
        else
                dataport_value &= ~cable->TDI_MASK;
-               
+
        while (i-- > 0)
                parport_write_data();
 }
@@ -224,10 +224,10 @@ static void parport_reset(int trst, int srst)
                dataport_value |= cable->SRST_MASK;
        else if (srst == 1)
                dataport_value &= ~cable->SRST_MASK;
-       
+
        parport_write_data();
 }
-       
+
 /* turn LED on parport adapter on (1) or off (0) */
 static void parport_led(int on)
 {
@@ -261,7 +261,7 @@ static int parport_get_giveio_access(void)
 {
        HANDLE h;
        OSVERSIONINFO version;
-       
+
        version.dwOSVersionInfoSize = sizeof version;
        if (!GetVersionEx( &version )) {
                errno = EINVAL;
@@ -269,15 +269,15 @@ static int parport_get_giveio_access(void)
        }
        if (version.dwPlatformId != VER_PLATFORM_WIN32_NT)
                return 0;
-       
+
        h = CreateFile( "\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
        if (h == INVALID_HANDLE_VALUE) {
                errno = ENODEV;
                return -1;
        }
-       
+
        CloseHandle( h );
-       
+
        return 0;
 }
 #endif
@@ -289,15 +289,15 @@ static int parport_init(void)
        char buffer[256];
        int i = 0;
 #endif
-       
+
        cur_cable = cables;
-       
+
        if ((parport_cable == NULL) || (parport_cable[0] == 0))
        {
                parport_cable = "wiggler";
                LOG_WARNING("No parport cable specified, using default 'wiggler'");
        }
-       
+
        while (cur_cable->name)
        {
                if (strcmp(cur_cable->name, parport_cable) == 0)
@@ -313,9 +313,9 @@ static int parport_init(void)
                LOG_ERROR("No matching cable found for %s", parport_cable);
                return ERROR_JTAG_INIT_FAILED;
        }
-       
+
        dataport_value = cable->PORT_INIT;
-       
+
 #if PARPORT_USE_PPDEV == 1
        if (device_handle > 0)
        {
@@ -374,10 +374,10 @@ static int parport_init(void)
                parport_port = 0x378;
                LOG_WARNING("No parport port specified, using default '0x378' (LPT1)");
        }
-       
+
        dataport = parport_port;
        statusport = parport_port + 1;
-       
+
        LOG_DEBUG("requesting privileges for parallel port 0x%lx...", dataport);
 #if PARPORT_USE_GIVEIO == 1
        if (parport_get_giveio_access() != 0)
@@ -389,21 +389,21 @@ static int parport_init(void)
                return ERROR_JTAG_INIT_FAILED;
        }
        LOG_DEBUG("...privileges granted");
-       
+
        /* make sure parallel port is in right mode (clear tristate and interrupt */
        #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
                outb(parport_port + 2, 0x0);
        #else
                outb(0x0, parport_port + 2);
        #endif
-       
+
 #endif /* PARPORT_USE_PPDEV */
-       
+
        parport_reset(0, 0);
        parport_write(0, 0, 0);
        parport_led(1);
 
-       bitbang_interface = &parport_bitbang;   
+       bitbang_interface = &parport_bitbang;
 
        return ERROR_OK;
 }
@@ -417,13 +417,13 @@ static int parport_quit(void)
                dataport_value = cable->PORT_EXIT;
                parport_write_data();
        }
-       
+
        if (parport_cable)
        {
                free(parport_cable);
                parport_cable = NULL;
        }
-       
+
        return ERROR_OK;
 }
 
@@ -461,11 +461,11 @@ static int parport_handle_write_on_exit_command(struct command_context_s *cmd_ct
                command_print(cmd_ctx, "usage: parport_write_on_exit <on|off>");
                return ERROR_OK;
        }
-       
+
        if (strcmp(args[0], "on") == 0)
                parport_exit = 1;
        else if (strcmp(args[0], "off") == 0)
                parport_exit = 0;
-       
+
        return ERROR_OK;
 }
index 3bac4a9553b7b2b57f19b3a71a8d19fe534459a2..6123259c64bf71878d86c037f4fab2acd8527857 100644 (file)
@@ -117,7 +117,7 @@ typedef struct presto_s
        int jtag_tdi_count;
 
        int jtag_speed;
-       
+
 } presto_t;
 
 static presto_t presto_state;
@@ -420,7 +420,7 @@ static int presto_open(char *req_serial)
        presto->jtag_tdi_count=0;
 
        presto->jtag_speed=0;
-       
+
 #if BUILD_PRESTO_FTD2XX == 1
        return presto_open_ftd2xx(req_serial);
 #elif BUILD_PRESTO_LIBFTDI == 1
@@ -575,7 +575,7 @@ static int presto_tdi_flush(void)
        presto_sendbyte(presto->jtag_tdi_data);
        presto->jtag_tdi_count = 0;
        presto->jtag_tdi_data = 0;
-       
+
        return 0;
 }
 
@@ -586,7 +586,7 @@ static int presto_tck_idle(void)
                presto_sendbyte(0xCA);
                presto->jtag_tck = 0;
        }
-       
+
        return 0;
 }
 
@@ -711,7 +711,7 @@ static int presto_jtag_khz(int khz, int *jtag_speed)
 
        if (khz >= 3000) *jtag_speed = 0;
        else *jtag_speed = (1000+khz-1)/khz;
-       
+
        return 0;
 }
 
@@ -725,26 +725,26 @@ static int presto_jtag_speed_div(int speed, int *khz)
 
        if (speed == 0) *khz = 3000;
        else *khz = 1000/speed;
-       
+
        return 0;
 }
 
 static int presto_jtag_speed(int speed)
 {
        int khz;
-       
+
        if (presto_jtag_speed_div(speed, &khz))
        {
                return ERROR_INVALID_ARGUMENTS;
        }
 
        presto->jtag_speed = speed;
-       
+
        if (khz%1000 == 0)
                LOG_INFO("setting speed to %d, max. TCK freq. is %d MHz", speed, khz/1000);
        else
                LOG_INFO("setting speed to %d, max. TCK freq. is %d kHz", speed, khz);
-       
+
        return 0;
 }
 
index e703a35a7ca821b2a40b367450b93384e9cfa81a..8e2a9ca2efd0ad6e936ebc4bb5c0c841613b5be5 100644 (file)
@@ -91,7 +91,7 @@ static u8* vsllink_usb_out_buffer = NULL;
  * 3: Pause-DR
  * 4: Shift-IR
  * 5: Pause-IR
- * 
+ *
  * SD->SD and SI->SI have to be caught in interface specific code
  */
 static u8 VSLLINK_tap_move[6][6] =
@@ -300,29 +300,29 @@ static int vsllink_execute_queue(void)
                        case JTAG_RUNTEST:
                                DEBUG_JTAG_IO( "runtest %i cycles, end in %s", cmd->cmd.runtest->num_cycles, \
                                        tap_state_name(cmd->cmd.runtest->end_state));
-                                       
+
                                vsllink_end_state(cmd->cmd.runtest->end_state);
                                vsllink_runtest(cmd->cmd.runtest->num_cycles);
                                break;
-                               
+
                        case JTAG_STATEMOVE:
                                DEBUG_JTAG_IO("statemove end in %s", tap_state_name(cmd->cmd.statemove->end_state));
-                               
+
                                vsllink_end_state(cmd->cmd.statemove->end_state);
                                vsllink_state_move();
                                break;
-                               
+
                        case JTAG_PATHMOVE:
                                DEBUG_JTAG_IO("pathmove: %i states, end in %s", \
                                        cmd->cmd.pathmove->num_states, \
                                        tap_state_name(cmd->cmd.pathmove->path[cmd->cmd.pathmove->num_states - 1]));
-                                       
+
                                vsllink_path_move(cmd->cmd.pathmove->num_states, cmd->cmd.pathmove->path);
                                break;
-                               
+
                        case JTAG_SCAN:
                                vsllink_end_state(cmd->cmd.scan->end_state);
-                               
+
                                scan_size = jtag_build_buffer(cmd->cmd.scan, &buffer);
                                if (cmd->cmd.scan->ir_scan)
                                {
@@ -332,34 +332,34 @@ static int vsllink_execute_queue(void)
                                {
                                        DEBUG_JTAG_IO("JTAG Scan write DR(%d bits), end in %s:", scan_size, tap_state_name(cmd->cmd.scan->end_state));
                                }
-                               
+
 #ifdef _DEBUG_JTAG_IO_
                                vsllink_debug_buffer(buffer, (scan_size + 7) >> 3);
 #endif
-                               
+
                                type = jtag_scan_type(cmd->cmd.scan);
-                               
+
                                vsllink_scan(cmd->cmd.scan->ir_scan, type, buffer, scan_size, cmd->cmd.scan);
                                break;
-                               
+
                        case JTAG_RESET:
                                DEBUG_JTAG_IO("reset trst: %i srst %i", cmd->cmd.reset->trst, cmd->cmd.reset->srst);
-                               
+
                                vsllink_tap_execute();
-                               
+
                                if (cmd->cmd.reset->trst == 1)
                                {
                                        tap_set_state(TAP_RESET);
                                }
                                vsllink_reset(cmd->cmd.reset->trst, cmd->cmd.reset->srst);
                                break;
-                               
+
                        case JTAG_SLEEP:
                                DEBUG_JTAG_IO("sleep %i", cmd->cmd.sleep->us);
                                vsllink_tap_execute();
                                jtag_sleep(cmd->cmd.sleep->us);
                                break;
-                               
+
                        case JTAG_STABLECLOCKS:
                                DEBUG_JTAG_IO("add %d clocks", cmd->cmd.stableclocks->num_cycles);
                                switch(tap_get_state())
@@ -383,27 +383,27 @@ static int vsllink_execute_queue(void)
                                }
                                vsllink_stableclocks(cmd->cmd.stableclocks->num_cycles, scan_size);
                                break;
-                               
+
                        default:
                                LOG_ERROR("BUG: unknown JTAG command type encountered: %d", cmd->type);
                                exit(-1);
                }
                cmd = cmd->next;
        }
-       
+
        return vsllink_tap_execute();
 }
 
 static int vsllink_speed(int speed)
 {
        int result;
-       
+
        vsllink_usb_out_buffer[0] = VSLLINK_CMD_SET_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);
-       
+
        if (result == 3)
        {
                return ERROR_OK;
@@ -413,21 +413,21 @@ static int vsllink_speed(int speed)
                LOG_ERROR("VSLLink setting speed failed (%d)", result);
                return ERROR_JTAG_DEVICE_ERROR;
        }
-       
+
        return ERROR_OK;
 }
 
 static int vsllink_khz(int khz, int *jtag_speed)
 {
        *jtag_speed = khz;
-       
+
        return ERROR_OK;
 }
 
 static int vsllink_speed_div(int jtag_speed, int *khz)
 {
        *khz = jtag_speed;
-       
+
        return ERROR_OK;
 }
 
@@ -436,7 +436,7 @@ static int vsllink_init(void)
        int check_cnt, to_tmp;
        int result;
        char version_str[100];
-       
+
        vsllink_usb_in_buffer = malloc(VSLLINK_BufferSize);
        vsllink_usb_out_buffer = malloc(VSLLINK_BufferSize);
        if ((vsllink_usb_in_buffer == NULL) || (vsllink_usb_out_buffer == NULL))
@@ -444,16 +444,16 @@ static int vsllink_init(void)
                LOG_ERROR("Not enough memory");
                exit(-1);
        }
-       
+
        vsllink_jtag_handle = vsllink_usb_open();
-       
+
        if (vsllink_jtag_handle == 0)
        {
                LOG_ERROR("Can't find USB JTAG Interface! Please check connection and permissions.");
                return ERROR_JTAG_INIT_FAILED;
        }
        LOG_DEBUG("vsllink found on %04X:%04X", vsllink_usb_vid, vsllink_usb_pid);
-       
+
        to_tmp = VSLLINK_USB_TIMEOUT;
        VSLLINK_USB_TIMEOUT = 100;
        check_cnt = 0;
@@ -461,20 +461,20 @@ static int vsllink_init(void)
        {
                vsllink_simple_command(0x00);
                result = vsllink_usb_read(vsllink_jtag_handle);
-               
+
                if (result > 2)
                {
                        vsllink_usb_in_buffer[result] = 0;
                        VSLLINK_BufferSize = vsllink_usb_in_buffer[0] + (vsllink_usb_in_buffer[1] << 8);
                        strncpy(version_str, (char *)vsllink_usb_in_buffer + 2, sizeof(version_str));
                        LOG_INFO("%s", version_str);
-                       
+
                        // free the pre-alloc memroy
                        free(vsllink_usb_in_buffer);
                        free(vsllink_usb_out_buffer);
                        vsllink_usb_in_buffer = NULL;
                        vsllink_usb_out_buffer = NULL;
-                       
+
                        // alloc new memory
                        vsllink_usb_in_buffer = malloc(VSLLINK_BufferSize);
                        vsllink_usb_out_buffer = malloc(VSLLINK_BufferSize);
@@ -512,7 +512,7 @@ static int vsllink_init(void)
                exit(-1);
        }
        VSLLINK_USB_TIMEOUT = to_tmp;
-       
+
        // connect to vsllink
        vsllink_connect();
        // initialize function pointers
@@ -523,11 +523,11 @@ static int vsllink_init(void)
                vsllink_path_move = vsllink_path_move_normal;
                vsllink_stableclocks = vsllink_stableclocks_normal;
                vsllink_scan = vsllink_scan_normal;
-               
+
                vsllink_tap_init = vsllink_tap_init_normal;
                vsllink_tap_execute = vsllink_tap_execute_normal;
                vsllink_tap_ensure_space = vsllink_tap_ensure_space_normal;
-               
+
                LOG_INFO("vsllink run in NORMAL mode");
        }
        else
@@ -537,14 +537,14 @@ static int vsllink_init(void)
                vsllink_path_move = vsllink_path_move_dma;
                vsllink_stableclocks = vsllink_stableclocks_dma;
                vsllink_scan = vsllink_scan_dma;
-               
+
                vsllink_tap_init = vsllink_tap_init_dma;
                vsllink_tap_execute = vsllink_tap_execute_dma;
                vsllink_tap_ensure_space = vsllink_tap_ensure_space_dma;
-               
+
                LOG_INFO("vsllink run in DMA mode");
        }
-       
+
        // Set SRST and TRST to output, Set USR1 and USR2 to input
        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;
@@ -554,13 +554,13 @@ static int vsllink_init(void)
                LOG_ERROR("VSLLink USB send data error");
                exit(-1);
        }
-       
+
        vsllink_reset(0, 0);
-       
+
        LOG_INFO("VSLLink JTAG Interface ready");
-       
+
        vsllink_tap_init();
-       
+
        return ERROR_OK;
 }
 
@@ -577,13 +577,13 @@ static int vsllink_quit(void)
                        LOG_ERROR("VSLLink USB send data error");
                        exit(-1);
                }
-               
+
                // disconnect
                vsllink_disconnect();
                vsllink_usb_close(vsllink_jtag_handle);
                vsllink_jtag_handle = NULL;
        }
-       
+
        if (vsllink_usb_in_buffer != NULL)
        {
                free(vsllink_usb_in_buffer);
@@ -594,7 +594,7 @@ static int vsllink_quit(void)
                free(vsllink_usb_out_buffer);
                vsllink_usb_out_buffer = NULL;
        }
-       
+
        return ERROR_OK;
 }
 
@@ -609,7 +609,7 @@ static int vsllink_disconnect(void)
 static int vsllink_connect(void)
 {
        char vsllink_str[100];
-       
+
        vsllink_usb_out_buffer[0] = VSLLINK_CMD_CONN;
        vsllink_usb_out_buffer[1] = vsllink_mode;
        vsllink_usb_message(vsllink_jtag_handle, 2, 0);
@@ -618,7 +618,7 @@ static int vsllink_connect(void)
                strncpy(vsllink_str, (char *)vsllink_usb_in_buffer + 2, sizeof(vsllink_str));
                LOG_INFO("%s", vsllink_str);
        }
-       
+
        return ERROR_OK;
 }
 
@@ -630,7 +630,7 @@ static void vsllink_append_tms(void)
        u16 tms2;
        insert_insignificant_operation_t *insert = \
                &VSLLINK_TAP_MOVE_INSERT_INSIGNIFICANT[tap_move_ndx(tap_get_state())][tap_move_ndx(tap_get_end_state())];
-               
+
        if (((tap_get_state() != TAP_RESET) && (tap_get_state() != TAP_IDLE) && (tap_get_state() != TAP_DRPAUSE) && (tap_get_state() != TAP_IRPAUSE)) || \
                        (vsllink_tms_data_len <= 0) || (vsllink_tms_data_len >= 8) || \
                        (vsllink_tms_cmd_pos == NULL))
@@ -638,7 +638,7 @@ static void vsllink_append_tms(void)
                LOG_ERROR("There MUST be some bugs in the driver");
                exit(-1);
        }
-       
+
        tms2 = (tms_scan & VSLLINK_BIT_MSK[insert->insert_position]) << \
                                vsllink_tms_data_len;
        if (insert->insert_value == 1)
@@ -648,10 +648,10 @@ static void vsllink_append_tms(void)
        }
        tms2 |= (tms_scan >> insert->insert_position) << \
                                (8 + insert->insert_position);
-                               
+
        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] |= (tms2 >> 0) & 0xff;
        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = (tms2 >> 8) & 0xff;
-       
+
        vsllink_tms_data_len = 0;
        vsllink_tms_cmd_pos = NULL;
 }
@@ -679,11 +679,11 @@ static void vsllink_state_move_normal(void)
        else
        {
                vsllink_tap_ensure_space(0, 2);
-               
+
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = VSLLINK_CMDJTAGSEQ_TMSBYTE;
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = VSLLINK_TAP_MOVE(tap_get_state(), tap_get_end_state());
        }
-       
+
        tap_set_state(tap_get_end_state());
 }
 static void vsllink_state_move_dma(void)
@@ -692,21 +692,21 @@ static void vsllink_state_move_dma(void)
        insert_insignificant_operation_t *insert = \
                &VSLLINK_TAP_MOVE_INSERT_INSIGNIFICANT[tap_move_ndx(tap_get_state())][tap_move_ndx(tap_get_end_state())];
        u8 tms_scan = VSLLINK_TAP_MOVE(tap_get_state(), tap_get_end_state());
-       
+
        if (tap_get_state() == TAP_RESET)
        {
                vsllink_tap_ensure_space(0, 8);
-               
+
                for (i = 0; i < 8; i++)
                {
                        vsllink_tap_append_step(1, 0);
                }
        }
-       
+
        if (insert_length > 0)
        {
                vsllink_tap_ensure_space(0, 16);
-               
+
                for (i = 0; i < insert->insert_position; i++)
                {
                        vsllink_tap_append_step((tms_scan >> i) & 1, 0);
@@ -723,13 +723,13 @@ static void vsllink_state_move_dma(void)
        else
        {
                vsllink_tap_ensure_space(0, 8);
-               
+
                for (i = 0; i < 8; i++)
                {
                        vsllink_tap_append_step((tms_scan >> i) & 1, 0);
                }
        }
-       
+
        tap_set_state(tap_get_end_state());
 }
 
@@ -737,7 +737,7 @@ static void vsllink_state_move_dma(void)
 static void vsllink_add_path(int start, int num, tap_state_t *path)
 {
        int i;
-       
+
        for (i = start; i < (start + num); i++)
        {
                if ((i & 7) == 0)
@@ -748,7 +748,7 @@ static void vsllink_add_path(int start, int num, tap_state_t *path)
                        }
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx] = 0;
                }
-               
+
                if (path[i - start] == tap_state_transition(tap_get_state(), true))
                {
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx] |= 1 << (i & 7);
@@ -769,14 +769,14 @@ static void vsllink_add_path(int start, int num, tap_state_t *path)
                vsllink_usb_out_buffer_idx++;
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx] = 0;
        }
-       
+
        tap_set_end_state(tap_get_state());
 }
 
 static void vsllink_path_move_normal(int num_states, tap_state_t *path)
 {
        int i, tms_len, tms_cmd_pos, path_idx = 0;
-       
+
        if (vsllink_tms_data_len > 0)
        {
                // there are vsllink_tms_data_len more tms bits to be shifted
@@ -827,7 +827,7 @@ static void vsllink_path_move_normal(int num_states, tap_state_t *path)
                                // end last tms shift command
                                vsllink_add_path(vsllink_tms_data_len, num_states, path);
                        }
-                       
+
                        vsllink_tms_data_len = (vsllink_tms_data_len + num_states) & 7;
                        if (vsllink_tms_data_len == 0)
                        {
@@ -838,19 +838,19 @@ static void vsllink_path_move_normal(int num_states, tap_state_t *path)
                else
                {
                        vsllink_add_path(vsllink_tms_data_len, 16 - vsllink_tms_data_len, path);
-                       
+
                        path += 16 - vsllink_tms_data_len;
                        num_states -= 16 - vsllink_tms_data_len;
                        vsllink_tms_data_len = 0;
                        vsllink_tms_cmd_pos = NULL;
                }
        }
-       
+
        if (num_states > 0)
        {
                // Normal operation, don't need to append tms data
                vsllink_tms_data_len = num_states & 7;
-               
+
                while (num_states > 0)
                {
                        if (num_states > ((VSLLINK_CMDJTAGSEQ_LENMSK + 1) * 8))
@@ -865,13 +865,13 @@ static void vsllink_path_move_normal(int num_states, tap_state_t *path)
                        vsllink_tap_ensure_space(0, tms_len + 2);
                        tms_cmd_pos = vsllink_usb_out_buffer_idx;
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = VSLLINK_CMDJTAGSEQ_TMSBYTE | (tms_len - 1);
-                       
+
                        vsllink_add_path(0, i, path + path_idx);
-                       
+
                        path_idx += i;
                        num_states -= i;
                }
-               
+
                if (vsllink_tms_data_len > 0)
                {
                        if (tms_len < (VSLLINK_CMDJTAGSEQ_LENMSK + 1))
@@ -882,7 +882,7 @@ static void vsllink_path_move_normal(int num_states, tap_state_t *path)
                        else
                        {
                                vsllink_usb_out_buffer[tms_cmd_pos]--;
-                               
+
                                tms_len = vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx];
                                vsllink_tap_ensure_space(0, 3);
                                vsllink_tms_cmd_pos = &vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx];
@@ -895,7 +895,7 @@ static void vsllink_path_move_normal(int num_states, tap_state_t *path)
 static void vsllink_path_move_dma(int num_states, tap_state_t *path)
 {
        int i, j = 0;
-       
+
        if (tap_length & 7)
        {
                if ((8 - (tap_length & 7)) < num_states)
@@ -925,11 +925,11 @@ static void vsllink_path_move_dma(int num_states, tap_state_t *path)
                }
                num_states -= j;
        }
-       
+
        if (num_states > 0)
        {
                vsllink_tap_ensure_space(0, num_states);
-               
+
                for (i = 0; i < num_states; i++)
                {
                        if (path[j + i] == tap_state_transition(tap_get_state(), false))
@@ -948,7 +948,7 @@ static void vsllink_path_move_dma(int num_states, tap_state_t *path)
                        tap_set_state(path[j + i]);
                }
        }
-       
+
        tap_set_end_state(tap_get_state());
 }
 
@@ -956,7 +956,7 @@ static void vsllink_stableclocks_normal(int num_cycles, int tms)
 {
        int tms_len;
        u16 tms_append_byte;
-       
+
        if (vsllink_tms_data_len > 0)
        {
                // there are vsllink_tms_data_len more tms bits to be shifted
@@ -1022,7 +1022,7 @@ static void vsllink_stableclocks_normal(int num_cycles, int tms)
                                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] |= (u8)(tms_append_byte & 0xFF);
                                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = (u8)(tms_append_byte >> 8);
                        }
-                       
+
                        vsllink_tms_data_len = tms_len & 7;
                        if (vsllink_tms_data_len == 0)
                        {
@@ -1035,14 +1035,14 @@ static void vsllink_stableclocks_normal(int num_cycles, int tms)
                        // more shifts will be needed
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] |= (u8)(tms_append_byte & 0xFF);
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = (u8)(tms_append_byte >> 8);
-                       
+
                        num_cycles -= 16 - vsllink_tms_data_len;
                        vsllink_tms_data_len = 0;
                        vsllink_tms_cmd_pos = NULL;
                }
        }
        // from here vsllink_tms_data_len == 0 or num_cycles == 0
-       
+
        if (vsllink_tms_data_len > 0)
        {
                // num_cycles == 0
@@ -1075,17 +1075,17 @@ static void vsllink_stableclocks_normal(int num_cycles, int tms)
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = (tms_len >> 8) & 0xff;
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = (tms_len >> 16) & 0xff;
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = (tms_len >> 24) & 0xff;
-                       
+
                        vsllink_usb_in_want_length += 1;
                        pending_scan_results_buffer[pending_scan_results_length].buffer = NULL;
                        pending_scan_results_length++;
-                       
+
                        if (tms_len > 0xFFFF)
                        {
                                vsllink_tap_execute();
                        }
                }
-               
+
                // post-process
                vsllink_tms_data_len = num_cycles & 7;
                if (vsllink_tms_data_len > 0)
@@ -1109,7 +1109,7 @@ static void vsllink_stableclocks_normal(int num_cycles, int tms)
 static void vsllink_stableclocks_dma(int num_cycles, int tms)
 {
        int i, cur_cycles;
-       
+
        if (tap_length & 7)
        {
                if ((8 - (tap_length & 7)) < num_cycles)
@@ -1126,7 +1126,7 @@ static void vsllink_stableclocks_dma(int num_cycles, int tms)
                }
                num_cycles -= cur_cycles;
        }
-       
+
        while (num_cycles > 0)
        {
                if (num_cycles > 8 * tap_buffer_size)
@@ -1137,14 +1137,14 @@ static void vsllink_stableclocks_dma(int num_cycles, int tms)
                {
                        cur_cycles = num_cycles;
                }
-               
+
                vsllink_tap_ensure_space(0, cur_cycles);
-               
+
                for (i = 0; i < cur_cycles; i++)
                {
                        vsllink_tap_append_step(tms, 0);
                }
-               
+
                num_cycles -= cur_cycles;
        }
 }
@@ -1152,16 +1152,16 @@ static void vsllink_stableclocks_dma(int num_cycles, int tms)
 static void vsllink_runtest(int num_cycles)
 {
        tap_state_t saved_end_state = tap_get_end_state();
-       
+
        if (tap_get_state() != TAP_IDLE)
        {
                // enter into IDLE state
                vsllink_end_state(TAP_IDLE);
                vsllink_state_move();
        }
-       
+
        vsllink_stableclocks(num_cycles, 0);
-       
+
        // post-process
        // set end_state
        vsllink_end_state(saved_end_state);
@@ -1177,24 +1177,24 @@ static void vsllink_scan_normal(bool ir_scan, enum scan_type type, u8 *buffer, i
        tap_state_t saved_end_state;
        u8 bits_left, tms_tmp, tdi_len;
        int i;
-       
+
        if (0 == scan_size )
        {
                return;
        }
-       
+
        tdi_len = ((scan_size + 7) >> 3);
        if ((tdi_len + 7) > VSLLINK_BufferSize)
        {
                LOG_ERROR("Your implementation of VSLLink has not enough buffer");
                exit(-1);
        }
-       
+
        saved_end_state = tap_get_end_state();
-       
+
        /* Move to appropriate scan state */
        vsllink_end_state(ir_scan ? TAP_IRSHIFT : TAP_DRSHIFT);
-       
+
        if (vsllink_tms_data_len > 0)
        {
                if (tap_get_state() == tap_get_end_state())
@@ -1216,16 +1216,16 @@ static void vsllink_scan_normal(bool ir_scan, enum scan_type type, u8 *buffer, i
                                tms_tmp = vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx];
                                *vsllink_tms_cmd_pos -= 2;
                        }
-                       
+
                        vsllink_tap_ensure_space(1, tdi_len + 7);
-                       // VSLLINK_CMDJTAGSEQ_SCAN ored by 1 means that tms_before is valid 
+                       // VSLLINK_CMDJTAGSEQ_SCAN ored by 1 means that tms_before is valid
                        // which is merged from the last tms shift command
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = VSLLINK_CMDJTAGSEQ_SCAN | 1;
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = ((tdi_len + 1) >> 0) & 0xff;
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = ((tdi_len + 1) >> 8) & 0xff;
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = tms_tmp;
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = buffer[0] << (8 - vsllink_tms_data_len);
-                       
+
                        for (i = 0; i < tdi_len; i++)
                        {
                                buffer[i] >>= 8 - vsllink_tms_data_len;
@@ -1234,7 +1234,7 @@ static void vsllink_scan_normal(bool ir_scan, enum scan_type type, u8 *buffer, i
                                        buffer[i] += buffer[i + 1] << vsllink_tms_data_len;
                                }
                        }
-                       
+
                        vsllink_tap_append_scan_normal(scan_size - vsllink_tms_data_len, buffer, command, vsllink_tms_data_len);
                        scan_size -= 8 - vsllink_tms_data_len;
                        vsllink_tms_data_len = 0;
@@ -1243,31 +1243,31 @@ static void vsllink_scan_normal(bool ir_scan, enum scan_type type, u8 *buffer, i
                {
                        vsllink_state_move();
                        vsllink_tap_ensure_space(1, tdi_len + 5);
-                       
+
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = VSLLINK_CMDJTAGSEQ_SCAN;
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = (tdi_len >> 0) & 0xff;
                        vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = (tdi_len >> 8) & 0xff;
-                       
+
                        vsllink_tap_append_scan_normal(scan_size, buffer, command, 0);
                }
        }
        else
        {
                vsllink_tap_ensure_space(1, tdi_len + 7);
-               
+
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = VSLLINK_CMDJTAGSEQ_SCAN | 1;
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = ((tdi_len + 1) >> 0) & 0xff;
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = ((tdi_len + 1)>> 8) & 0xff;
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = VSLLINK_TAP_MOVE(tap_get_state(), tap_get_end_state());
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = 0;
-               
+
                vsllink_tap_append_scan_normal(scan_size, buffer, command, 8);
        }
        vsllink_end_state(saved_end_state);
-       
+
        bits_left = scan_size & 0x07;
        tap_set_state(ir_scan ? TAP_IRPAUSE : TAP_DRPAUSE);
-       
+
        if (bits_left > 0)
        {
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = 1 << (bits_left - 1);
@@ -1276,7 +1276,7 @@ static void vsllink_scan_normal(bool ir_scan, enum scan_type type, u8 *buffer, i
        {
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = 1 << 7;
        }
-       
+
        if (tap_get_state() != tap_get_end_state())
        {
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = VSLLINK_TAP_MOVE(tap_get_state(), tap_get_end_state());
@@ -1285,31 +1285,31 @@ static void vsllink_scan_normal(bool ir_scan, enum scan_type type, u8 *buffer, i
        {
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = 0;
        }
-       
+
        tap_set_state(tap_get_end_state());
 }
 static void vsllink_scan_dma(bool ir_scan, enum scan_type type, u8 *buffer, int scan_size, scan_command_t *command)
 {
        tap_state_t saved_end_state;
-       
+
        saved_end_state = tap_get_end_state();
-       
+
        /* Move to appropriate scan state */
        vsllink_end_state(ir_scan ? TAP_IRSHIFT : TAP_DRSHIFT);
-       
+
        vsllink_state_move();
        vsllink_end_state(saved_end_state);
-       
+
        /* Scan */
        vsllink_tap_append_scan_dma(scan_size, buffer, command);
-       
+
        tap_set_state(ir_scan ? TAP_IRPAUSE : TAP_DRPAUSE);
        while (tap_length % 8 != 0)
        {
                // more 0s in Pause
                vsllink_tap_append_step(0, 0);
        }
-       
+
        if (tap_get_state() != tap_get_end_state())
        {
                vsllink_state_move();
@@ -1319,9 +1319,9 @@ static void vsllink_scan_dma(bool ir_scan, enum scan_type type, u8 *buffer, int
 static void vsllink_reset(int trst, int srst)
 {
        int result;
-       
+
        LOG_DEBUG("trst: %i, srst: %i", trst, srst);
-       
+
        /* Signals are active low */
        vsllink_usb_out_buffer[0] = VSLLINK_CMD_SET_PORT;
        vsllink_usb_out_buffer[1] = JTAG_PINMSK_SRST | JTAG_PINMSK_TRST;
@@ -1334,7 +1334,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);
        if (result != 3)
        {
@@ -1345,12 +1345,12 @@ static void vsllink_reset(int trst, int srst)
 static void vsllink_simple_command(u8 command)
 {
        int result;
-       
+
        DEBUG_JTAG_IO("0x%02x", command);
-       
+
        vsllink_usb_out_buffer[0] = command;
        result = vsllink_usb_write(vsllink_jtag_handle, 1);
-       
+
        if (result != 1)
        {
                LOG_ERROR("VSLLink command 0x%02x failed (%d)", command, result);
@@ -1359,19 +1359,19 @@ static void vsllink_simple_command(u8 command)
 
 static int vsllink_register_commands(struct command_context_s *cmd_ctx)
 {
-       register_command(cmd_ctx, NULL, "vsllink_usb_vid", vsllink_handle_usb_vid_command, 
+       register_command(cmd_ctx, NULL, "vsllink_usb_vid", vsllink_handle_usb_vid_command,
                                        COMMAND_CONFIG, NULL);
-       register_command(cmd_ctx, NULL, "vsllink_usb_pid", vsllink_handle_usb_pid_command, 
+       register_command(cmd_ctx, NULL, "vsllink_usb_pid", vsllink_handle_usb_pid_command,
                                        COMMAND_CONFIG, NULL);
-       register_command(cmd_ctx, NULL, "vsllink_usb_bulkin", vsllink_handle_usb_bulkin_command, 
+       register_command(cmd_ctx, NULL, "vsllink_usb_bulkin", vsllink_handle_usb_bulkin_command,
                                        COMMAND_CONFIG, NULL);
-       register_command(cmd_ctx, NULL, "vsllink_usb_bulkout", vsllink_handle_usb_bulkout_command, 
+       register_command(cmd_ctx, NULL, "vsllink_usb_bulkout", vsllink_handle_usb_bulkout_command,
                                        COMMAND_CONFIG, NULL);
-       register_command(cmd_ctx, NULL, "vsllink_usb_interface", vsllink_handle_usb_interface_command, 
+       register_command(cmd_ctx, NULL, "vsllink_usb_interface", vsllink_handle_usb_interface_command,
                                        COMMAND_CONFIG, NULL);
-       register_command(cmd_ctx, NULL, "vsllink_mode", vsllink_handle_mode_command, 
+       register_command(cmd_ctx, NULL, "vsllink_mode", vsllink_handle_mode_command,
                                        COMMAND_CONFIG, NULL);
-                                       
+
        return ERROR_OK;
 }
 
@@ -1381,7 +1381,7 @@ static int vsllink_handle_mode_command(struct command_context_s *cmd_ctx, char *
                LOG_ERROR("parameter error, should be one parameter for VID");
                return ERROR_FAIL;
        }
-       
+
        if (!strcmp(args[0], "normal"))
        {
                vsllink_mode = VSLLINK_MODE_NORMAL;
@@ -1395,7 +1395,7 @@ static int vsllink_handle_mode_command(struct command_context_s *cmd_ctx, char *
                LOG_ERROR("invalid vsllink_mode: %s", args[0]);
                return ERROR_FAIL;
        }
-       
+
        return ERROR_OK;
 }
 
@@ -1406,9 +1406,9 @@ static int vsllink_handle_usb_vid_command(struct command_context_s *cmd_ctx, cha
                LOG_ERROR("parameter error, should be one parameter for VID");
                return ERROR_OK;
        }
-       
+
        vsllink_usb_vid = strtol(args[0], NULL, 0);
-       
+
        return ERROR_OK;
 }
 
@@ -1419,9 +1419,9 @@ static int vsllink_handle_usb_pid_command(struct command_context_s *cmd_ctx, cha
                LOG_ERROR("parameter error, should be one parameter for PID");
                return ERROR_OK;
        }
-       
+
        vsllink_usb_pid = strtol(args[0], NULL, 0);
-       
+
        return ERROR_OK;
 }
 
@@ -1432,9 +1432,9 @@ static int vsllink_handle_usb_bulkin_command(struct command_context_s *cmd_ctx,
                LOG_ERROR("parameter error, should be one parameter for BULKIN endpoint");
                return ERROR_OK;
        }
-       
+
        vsllink_usb_bulkin = strtol(args[0], NULL, 0) | 0x80;
-       
+
        return ERROR_OK;
 }
 
@@ -1445,9 +1445,9 @@ static int vsllink_handle_usb_bulkout_command(struct command_context_s *cmd_ctx,
                LOG_ERROR("parameter error, should be one parameter for BULKOUT endpoint");
                return ERROR_OK;
        }
-       
+
        vsllink_usb_bulkout = strtol(args[0], NULL, 0);
-       
+
        return ERROR_OK;
 }
 
@@ -1458,9 +1458,9 @@ static int vsllink_handle_usb_interface_command(struct command_context_s *cmd_ct
                LOG_ERROR("parameter error, should be one parameter for interface number");
                return ERROR_OK;
        }
-       
+
        vsllink_usb_interface = strtol(args[0], NULL, 0);
-       
+
        return ERROR_OK;
 }
 
@@ -1483,7 +1483,7 @@ static void vsllink_tap_ensure_space_normal(int scans, int length)
 {
        int available_scans = MAX_PENDING_SCAN_RESULTS - pending_scan_results_length;
        int available_bytes = VSLLINK_BufferSize - vsllink_usb_out_buffer_idx;
-       
+
        if (scans > available_scans || length > available_bytes)
        {
                vsllink_tap_execute();
@@ -1493,7 +1493,7 @@ static void vsllink_tap_ensure_space_dma(int scans, int length)
 {
        int available_scans = MAX_PENDING_SCAN_RESULTS - pending_scan_results_length;
        int available_bytes = tap_buffer_size * 8 - tap_length;
-       
+
        if (scans > available_scans || length > available_bytes)
        {
                vsllink_tap_execute();
@@ -1504,12 +1504,12 @@ static void vsllink_tap_append_step(int tms, int tdi)
 {
        last_tms = tms;
        int index = tap_length / 8;
-       
+
        if (index < tap_buffer_size)
        {
                int bit_index = tap_length % 8;
                u8 bit = 1 << bit_index;
-               
+
                if (tms)
                {
                        tms_buffer[index] |= bit;
@@ -1518,7 +1518,7 @@ static void vsllink_tap_append_step(int tms, int tdi)
                {
                        tms_buffer[index] &= ~bit;
                }
-               
+
                if (tdi)
                {
                        tdi_buffer[index] |= bit;
@@ -1527,7 +1527,7 @@ static void vsllink_tap_append_step(int tms, int tdi)
                {
                        tdi_buffer[index] &= ~bit;
                }
-               
+
                tap_length++;
        }
        else
@@ -1540,7 +1540,7 @@ static void vsllink_tap_append_scan_normal(int length, u8 *buffer, scan_command_
 {
        pending_scan_result_t *pending_scan_result = &pending_scan_results_buffer[pending_scan_results_length];
        int i;
-       
+
        if (offset > 0)
        {
                vsllink_usb_in_want_length += ((length + 7) >> 3) + 1;
@@ -1553,19 +1553,19 @@ static void vsllink_tap_append_scan_normal(int length, u8 *buffer, scan_command_
        pending_scan_result->offset = offset;
        pending_scan_result->command = command;
        pending_scan_result->buffer = buffer;
-       
+
        for (i = 0; i < ((length + 7) >> 3); i++)
        {
                vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx++] = buffer[i];
        }
-       
+
        pending_scan_results_length++;
 }
 static void vsllink_tap_append_scan_dma(int length, u8 *buffer, scan_command_t *command)
 {
        pending_scan_result_t *pending_scan_result;
        int len_tmp, len_all, i;
-       
+
        len_all = 0;
        while (len_all < length)
        {
@@ -1577,20 +1577,20 @@ static void vsllink_tap_append_scan_dma(int length, u8 *buffer, scan_command_t *
                {
                        len_tmp = length - len_all;
                }
-               
+
                vsllink_tap_ensure_space(1, (len_tmp + 7) & ~7);
-               
+
                pending_scan_result = &pending_scan_results_buffer[pending_scan_results_length];
                pending_scan_result->offset = tap_length;
                pending_scan_result->length = len_tmp;
                pending_scan_result->command = command;
                pending_scan_result->buffer = buffer + len_all / 8;
-               
+
                for (i = 0; i < len_tmp; i++)
                {
                        vsllink_tap_append_step(((len_all+i) < length-1 ? 0 : 1), (buffer[(len_all+i)/8] >> ((len_all+i)%8)) & 1);
                }
-               
+
                pending_scan_results_length++;
                len_all += len_tmp;
        }
@@ -1603,14 +1603,14 @@ static int vsllink_tap_execute_normal(void)
        int i;
        int result;
        int first = 0;
-       
+
        if (vsllink_tms_data_len > 0)
        {
                if((tap_get_state() != TAP_RESET) && (tap_get_state() != TAP_IDLE) && (tap_get_state() != TAP_IRPAUSE) && (tap_get_state() != TAP_DRPAUSE))
                {
                        LOG_WARNING("%s is not in RESET or IDLE or PAUSR state", tap_state_name(tap_get_state()));
                }
-               
+
                if (vsllink_usb_out_buffer[vsllink_usb_out_buffer_idx] & (1 << (vsllink_tms_data_len - 1)))
                {
                        // last tms bit is '1'
@@ -1626,7 +1626,7 @@ static int vsllink_tap_execute_normal(void)
                        vsllink_tms_data_len = 0;
                }
        }
-       
+
        if (vsllink_usb_out_buffer_idx > 3)
        {
                if (vsllink_usb_out_buffer[0] == VSLLINK_CMD_HW_JTAGSEQCMD)
@@ -1634,9 +1634,9 @@ static int vsllink_tap_execute_normal(void)
                        vsllink_usb_out_buffer[1] = (vsllink_usb_out_buffer_idx >> 0) & 0xff;
                        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);
-               
+
                if (result == vsllink_usb_in_want_length)
                {
                        for (i = 0; i < pending_scan_results_length; i++)
@@ -1646,24 +1646,24 @@ static int vsllink_tap_execute_normal(void)
                                int length = pending_scan_result->length;
                                int offset = pending_scan_result->offset;
                                scan_command_t *command = pending_scan_result->command;
-                               
+
                                if (buffer != NULL)
                                {
                                        // IRSHIFT or DRSHIFT
                                        buf_set_buf(vsllink_usb_in_buffer, first * 8 + offset, buffer, 0, length);
                                        first += (length + offset + 7) >> 3;
-                                       
+
                                        DEBUG_JTAG_IO("JTAG scan read(%d bits):", length);
 #ifdef _DEBUG_JTAG_IO_
                                        vsllink_debug_buffer(buffer, (length + 7) >> 3);
 #endif
-                                       
+
                                        if (jtag_read_buffer(buffer, command) != ERROR_OK)
                                        {
                                                vsllink_tap_init();
                                                return ERROR_JTAG_QUEUE_FAILED;
                                        }
-                                       
+
                                        free(pending_scan_result->buffer);
                                        pending_scan_result->buffer = NULL;
                                }
@@ -1678,11 +1678,11 @@ static int vsllink_tap_execute_normal(void)
                        LOG_ERROR("vsllink_tap_execute, wrong result %d, expected %d", result, vsllink_usb_in_want_length);
                        return ERROR_JTAG_QUEUE_FAILED;
                }
-               
+
                vsllink_tap_init();
        }
        reset_command_pointer();
-       
+
        return ERROR_OK;
 }
 static int vsllink_tap_execute_dma(void)
@@ -1690,7 +1690,7 @@ static int vsllink_tap_execute_dma(void)
        int byte_length;
        int i;
        int result;
-       
+
        if (tap_length > 0)
        {
                /* Pad last byte so that tap_length is divisible by 8 */
@@ -1701,14 +1701,14 @@ static int vsllink_tap_execute_dma(void)
                        vsllink_tap_append_step(last_tms, 0);
                }
                byte_length = tap_length / 8;
-               
+
                vsllink_usb_out_buffer[0] = VSLLINK_CMD_HW_JTAGRAWCMD;
                vsllink_usb_out_buffer[1] = ((byte_length * 2 + 3) >> 0) & 0xff;                // package size
                vsllink_usb_out_buffer[2] = ((byte_length * 2 + 3) >> 8) & 0xff;
-               
+
                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);
                if (result == byte_length)
                {
@@ -1718,21 +1718,21 @@ static int vsllink_tap_execute_dma(void)
                                u8 *buffer = pending_scan_result->buffer;
                                int length = pending_scan_result->length;
                                int first = pending_scan_result->offset;
-                               
+
                                scan_command_t *command = pending_scan_result->command;
                                buf_set_buf(vsllink_usb_in_buffer, first, buffer, 0, length);
-                               
+
                                DEBUG_JTAG_IO("JTAG scan read(%d bits, from %d bits):", length, first);
 #ifdef _DEBUG_JTAG_IO_
                                vsllink_debug_buffer(buffer, (length + 7) >> 3);
 #endif
-                               
+
                                if (jtag_read_buffer(buffer, command) != ERROR_OK)
                                {
                                        vsllink_tap_init();
                                        return ERROR_JTAG_QUEUE_FAILED;
                                }
-                               
+
                                if (pending_scan_result->buffer != NULL)
                                {
                                        free(pending_scan_result->buffer);
@@ -1744,10 +1744,10 @@ static int vsllink_tap_execute_dma(void)
                        LOG_ERROR("vsllink_tap_execute, wrong result %d, expected %d", result, byte_length);
                        return ERROR_JTAG_QUEUE_FAILED;
                }
-               
+
                vsllink_tap_init();
        }
-       
+
        return ERROR_OK;
 }
 
@@ -1760,19 +1760,19 @@ static vsllink_jtag_t* vsllink_usb_open(void)
        struct usb_bus *bus;
        struct usb_device *dev;
        int ret;
-       
+
        vsllink_jtag_t *result;
-       
+
        result = (vsllink_jtag_t*) malloc(sizeof(vsllink_jtag_t));
-       
+
        usb_init();
        usb_find_busses();
        usb_find_devices();
-       
+
        busses = usb_get_busses();
-       
+
        /* find vsllink_jtag device in usb bus */
-       
+
        for (bus = busses; bus; bus = bus->next)
        {
                for (dev = bus->devices; dev; dev = dev->next)
@@ -1785,7 +1785,7 @@ static vsllink_jtag_t* vsllink_usb_open(void)
                                        LOG_ERROR("failed to open %04X:%04X, not enough permissions?", vsllink_usb_vid, vsllink_usb_pid);
                                        exit(-1);
                                }
-                               
+
                                /* usb_set_configuration required under win32 */
                                ret = usb_set_configuration(result->usb_handle, dev->config[0].bConfigurationValue);
                                if (ret != 0)
@@ -1799,19 +1799,19 @@ static vsllink_jtag_t* vsllink_usb_open(void)
                                        LOG_ERROR("fail to claim interface %d, %d returned", vsllink_usb_interface, ret);
                                        exit(-1);
                                }
-                               
+
 #if 0
-                               /* 
+                               /*
                                 * This makes problems under Mac OS X. And is not needed
                                 * under Windows. Hopefully this will not break a linux build
                                 */
                                usb_set_altinterface(result->usb_handle, 0);
-#endif                         
+#endif
                                return result;
                        }
                }
        }
-       
+
        free(result);
        return NULL;
 }
@@ -1841,7 +1841,7 @@ 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)
 {
        int result;
-       
+
        result = vsllink_usb_write(vsllink_jtag, out_length);
        if (result == out_length)
        {
@@ -1871,18 +1871,18 @@ static int vsllink_usb_message(vsllink_jtag_t *vsllink_jtag, int out_length, int
 static int vsllink_usb_write(vsllink_jtag_t *vsllink_jtag, 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);
                return -1;
        }
-       
+
        result = usb_bulk_write(vsllink_jtag->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);
-       
+
 #ifdef _DEBUG_USB_COMMS_
        LOG_DEBUG("USB out:");
        vsllink_debug_buffer(vsllink_usb_out_buffer, out_length);
@@ -1900,9 +1900,9 @@ static int vsllink_usb_read(vsllink_jtag_t *vsllink_jtag)
 {
        int result = usb_bulk_read(vsllink_jtag->usb_handle, vsllink_usb_bulkin, \
                (char *)vsllink_usb_in_buffer, VSLLINK_BufferSize, VSLLINK_USB_TIMEOUT);
-               
+
        DEBUG_JTAG_IO("vsllink_usb_read, result = %d", result);
-       
+
 #ifdef _DEBUG_USB_COMMS_
        LOG_DEBUG("USB in:");
        vsllink_debug_buffer(vsllink_usb_in_buffer, result);
@@ -1919,7 +1919,7 @@ static void vsllink_debug_buffer(u8 *buffer, int length)
        char s[4];
        int i;
        int j;
-       
+
        for (i = 0; i < length; i += BYTES_PER_LINE)
        {
                snprintf(line, 5, "%04x", i);

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)