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>
This commit is contained in:
Øyvind Harboe 2010-03-01 08:22:12 +01:00
parent 409e23e39b
commit 761d4555b8
4 changed files with 5 additions and 4 deletions

View File

@ -512,7 +512,7 @@ int jtag_add_tms_seq(unsigned nbits, const uint8_t *seq, enum tap_state state)
jtag_checks(); jtag_checks();
cmd_queue_cur_state = state; cmd_queue_cur_state = state;
retval = interface_add_tms_seq(nbits, seq); retval = interface_add_tms_seq(nbits, seq, state);
jtag_set_error(retval); jtag_set_error(retval);
return retval; return retval;
} }

View File

@ -388,7 +388,7 @@ int interface_jtag_add_tlr(void)
return ERROR_OK; 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; struct jtag_command *cmd;

View 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_pathmove(int num_states, const tap_state_t* path);
int interface_jtag_add_runtest(int num_cycles, tap_state_t endstate); 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 * This drives the actual srst and trst pins. srst will always be 0

View File

@ -147,7 +147,7 @@ int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)
return ERROR_OK; 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 */ /* synchronously do the operation here */