jtag: the post TAP state is now passed to the drivers
authorØyvind Harboe <oyvind.harboe@zylin.com>
Mon, 1 Mar 2010 07:22:12 +0000 (08:22 +0100)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Mon, 1 Mar 2010 07:30:29 +0000 (08:30 +0100)
after clocking out a tms sequence, then the TAP will be
in some state. This state is now handed to the drivers.

TAP_INVALID is a possible state after a TMS sequence if
switching to SWD.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
src/jtag/core.c
src/jtag/drivers/driver.c
src/jtag/minidriver.h
src/jtag/minidummy/minidummy.c

index 7f417b737ce4cc7a0c101c7f7d6b4ddb2f61e705..d43bd1cece73baf97fc1c4a4ae42eaaea9596fb3 100644 (file)
@@ -512,7 +512,7 @@ int jtag_add_tms_seq(unsigned nbits, const uint8_t *seq, enum tap_state state)
        jtag_checks();
        cmd_queue_cur_state = state;
 
-       retval = interface_add_tms_seq(nbits, seq);
+       retval = interface_add_tms_seq(nbits, seq, state);
        jtag_set_error(retval);
        return retval;
 }
index 14efe965e7aad3037b12ac2a88b3809dcf0d4d06..ca59239eb039b33bdfd3d79361c729ba2b0166e8 100644 (file)
@@ -388,7 +388,7 @@ int interface_jtag_add_tlr(void)
        return ERROR_OK;
 }
 
-int interface_add_tms_seq(unsigned num_bits, const uint8_t *seq)
+int interface_add_tms_seq(unsigned num_bits, const uint8_t *seq, enum tap_state state)
 {
        struct jtag_command *cmd;
 
index 5caec58b137112cf21e1c9e9d35c74b5ee5a9f5b..810bb0e503d82ffe9d4a2792da83c33f604f0244 100644 (file)
@@ -67,7 +67,8 @@ int interface_jtag_add_tlr(void);
 int interface_jtag_add_pathmove(int num_states, const tap_state_t* path);
 int interface_jtag_add_runtest(int num_cycles, tap_state_t endstate);
 
-int interface_add_tms_seq(unsigned num_bits, const uint8_t *bits);
+int interface_add_tms_seq(unsigned num_bits,
+               const uint8_t *bits, enum tap_state state);
 
 /**
  * This drives the actual srst and trst pins. srst will always be 0
index 6410c2d2beafad132fc70e413c5f1a0e1d3e1d63..705f1b47fad091f153512ada12054d6a9e255727 100644 (file)
@@ -147,7 +147,7 @@ int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)
        return ERROR_OK;
 }
 
-int interface_add_tms_seq(unsigned num_bits, const uint8_t *seq)
+int interface_add_tms_seq(unsigned num_bits, const uint8_t *seq, enum tap_state state)
 {
        /* synchronously do the operation here */