Spencer Oliver <spen@spen-soft.co.uk> use 7 tms out of reset
[fw/openocd] / src / jtag / gw16012.c
index 7845e778892c7c14e679fdfd01cc63438bd4adf3..c6acacab86cb727ca1c74575ebf8a864741a069d 100644 (file)
@@ -197,10 +197,11 @@ static void gw16012_state_move(void)
 {
        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());
 
        gw16012_control(0x0); /* single-bit mode */
 
-       for (i = 0; i < 7; i++)
+       for (i = 0; i < tms_count; i++)
        {
                tms = (tms_scan >> i) & 1;
                gw16012_data(tms << 1); /* output next TMS bit */
@@ -263,7 +264,7 @@ static void gw16012_runtest(int num_cycles)
                gw16012_state_move();
 }
 
-static void gw16012_scan(int ir_scan, enum scan_type type, u8 *buffer, int scan_size)
+static void gw16012_scan(bool ir_scan, enum scan_type type, u8 *buffer, int scan_size)
 {
        int bits_left = scan_size;
        int bit_count = 0;