remove unused code path.
[fw/openocd] / src / jtag / zy1000.c
index fcadb0096cc337064b9fec0425db8bd467b1aa32..52619b159428e009370be721966ffc7588482664 100644 (file)
 #endif
 
 #include "embeddedice.h"
-#include "bitbang.h"
+#include "minidriver.h"
+#include "interface.h"
 
 #include <cyg/hal/hal_io.h>             // low level i/o
 #include <cyg/hal/hal_diag.h>
 
 
-#define ZYLIN_VERSION "1.51"
+#define ZYLIN_VERSION "1.52"
 #define ZYLIN_DATE __DATE__
 #define ZYLIN_TIME __TIME__
 #define ZYLIN_OPENOCD "$Revision$"
@@ -115,7 +116,7 @@ static int zy1000_power_dropout(int *dropout)
 jtag_interface_t zy1000_interface =
 {
        .name = "ZY1000",
-       .execute_queue = bitbang_execute_queue,
+       .execute_queue = NULL,
        .speed = zy1000_speed,
        .register_commands = zy1000_register_commands,
        .init = zy1000_init,
@@ -126,15 +127,6 @@ jtag_interface_t zy1000_interface =
        .srst_asserted = zy1000_srst_asserted,
 };
 
-bitbang_interface_t zy1000_bitbang =
-{
-       .read = zy1000_read,
-       .write = zy1000_write,
-       .reset = zy1000_reset
-};
-
-
-
 static void zy1000_write(int tck, int tms, int tdi)
 {
 
@@ -366,8 +358,6 @@ int zy1000_init(void)
        zy1000_reset(0, 0);
        zy1000_speed(jtag_speed);
 
-       bitbang_interface = &zy1000_bitbang;
-
        return ERROR_OK;
 }
 
@@ -379,7 +369,6 @@ int zy1000_quit(void)
 
 
 
-
 int interface_jtag_execute_queue(void)
 {
        cyg_uint32 empty;
@@ -521,7 +510,7 @@ int interface_jtag_add_end_state(tap_state_t state)
 }
 
 
-int interface_jtag_add_ir_scan(int num_fields, scan_field_t *fields, tap_state_t state)
+int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
 {
 
        int j;
@@ -582,7 +571,7 @@ int interface_jtag_add_ir_scan(int num_fields, scan_field_t *fields, tap_state_t
 
 
 
-int interface_jtag_add_plain_ir_scan(int num_fields, scan_field_t *fields, tap_state_t state)
+int interface_jtag_add_plain_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
 {
        scanFields(num_fields, fields, TAP_IRSHIFT, cmd_queue_end_state);
 
@@ -591,7 +580,7 @@ int interface_jtag_add_plain_ir_scan(int num_fields, scan_field_t *fields, tap_s
 
 /*extern jtag_command_t **jtag_get_last_command_p(void);*/
 
-int interface_jtag_add_dr_scan(int num_fields, scan_field_t *fields, tap_state_t state)
+int interface_jtag_add_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
 {
 
        int j;
@@ -635,7 +624,7 @@ int interface_jtag_add_dr_scan(int num_fields, scan_field_t *fields, tap_state_t
        return ERROR_OK;
 }
 
-int interface_jtag_add_plain_dr_scan(int num_fields, scan_field_t *fields, tap_state_t state)
+int interface_jtag_add_plain_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
 {
        scanFields(num_fields, fields, TAP_DRSHIFT, cmd_queue_end_state);
        return ERROR_OK;
@@ -686,8 +675,9 @@ static int zy1000_jtag_add_clocks(int num_cycles, tap_state_t state, tap_state_t
        /* test manual drive code on any target */
        int tms;
        u8 tms_scan = tap_get_tms_path(t, state);
+       int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
 
-       for (i = 0; i < 7; i++)
+       for (i = 0; i < tms_count; i++)
        {
                tms = (tms_scan >> i) & 1;
                waitIdle();
@@ -717,7 +707,7 @@ int interface_jtag_add_sleep(u32 us)
        return ERROR_OK;
 }
 
-int interface_jtag_add_pathmove(int num_states, tap_state_t *path)
+int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)
 {
        int state_count;
        int tms = 0;