diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-03-01 08:22:12 +0100 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-03-01 08:30:29 +0100 |
commit | 761d4555b8f8c8eb2b899dee16584656a43b6444 (patch) | |
tree | 18ae83fc3467f8778f329f9c6ecc4fdbe77a9a66 /src | |
parent | 409e23e39b955d92c8e879143d2b979b7de799e9 (diff) | |
download | openocd_libswd-761d4555b8f8c8eb2b899dee16584656a43b6444.tar.gz openocd_libswd-761d4555b8f8c8eb2b899dee16584656a43b6444.tar.bz2 openocd_libswd-761d4555b8f8c8eb2b899dee16584656a43b6444.tar.xz openocd_libswd-761d4555b8f8c8eb2b899dee16584656a43b6444.zip |
jtag: the post TAP state is now passed to the drivers
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/jtag/core.c | 2 | ||||
-rw-r--r-- | src/jtag/drivers/driver.c | 2 | ||||
-rw-r--r-- | src/jtag/minidriver.h | 3 | ||||
-rw-r--r-- | src/jtag/minidummy/minidummy.c | 2 |
4 files changed, 5 insertions, 4 deletions
diff --git a/src/jtag/core.c b/src/jtag/core.c index 7f417b73..d43bd1ce 100644 --- a/src/jtag/core.c +++ b/src/jtag/core.c @@ -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; } diff --git a/src/jtag/drivers/driver.c b/src/jtag/drivers/driver.c index 14efe965..ca59239e 100644 --- a/src/jtag/drivers/driver.c +++ b/src/jtag/drivers/driver.c @@ -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; diff --git a/src/jtag/minidriver.h b/src/jtag/minidriver.h index 5caec58b..810bb0e5 100644 --- a/src/jtag/minidriver.h +++ b/src/jtag/minidriver.h @@ -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 diff --git a/src/jtag/minidummy/minidummy.c b/src/jtag/minidummy/minidummy.c index 6410c2d2..705f1b47 100644 --- a/src/jtag/minidummy/minidummy.c +++ b/src/jtag/minidummy/minidummy.c @@ -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 */ |