jtag_add_end_state() now returns the value of the global variable and does not modify the global variable if passed TAP_INVALID. This patch has no effect on the current code and is just to prepare upcoming patches.

git-svn-id: svn://svn.berlios.de/openocd/trunk@2041 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe 2009-06-04 07:05:22 +00:00
parent 9ab49135c6
commit bb1a1ddb54
2 changed files with 16 additions and 4 deletions

View File

@ -773,13 +773,16 @@ void jtag_add_reset(int req_tlr_or_trst, int req_srst)
} }
} }
void jtag_add_end_state(tap_state_t state) tap_state_t jtag_add_end_state(tap_state_t state)
{ {
cmd_queue_end_state = state; if ((state == TAP_DRSHIFT)||(state == TAP_IRSHIFT))
if ((cmd_queue_end_state == TAP_DRSHIFT)||(cmd_queue_end_state == TAP_IRSHIFT))
{ {
LOG_ERROR("BUG: TAP_DRSHIFT/IRSHIFT can't be end state. Calling code should use a larger scan field"); LOG_ERROR("BUG: TAP_DRSHIFT/IRSHIFT can't be end state. Calling code should use a larger scan field");
} }
if (state!=TAP_INVALID)
cmd_queue_end_state = state;
return cmd_queue_end_state;
} }
void jtag_add_sleep(u32 us) void jtag_add_sleep(u32 us)

View File

@ -488,7 +488,16 @@ extern void jtag_add_runtest(int num_cycles, tap_state_t endstate);
*/ */
extern void jtag_add_reset(int req_tlr_or_trst, int srst); extern void jtag_add_reset(int req_tlr_or_trst, int srst);
extern void jtag_add_end_state(tap_state_t endstate);
/**
* Function jtag_add_stable_clocks
*
* Set a global variable to \a state if \a state != TAP_INVALID.
*
* Return the value of the global variable.
*
**/
extern tap_state_t jtag_add_end_state(tap_state_t state);
extern void jtag_add_sleep(u32 us); extern void jtag_add_sleep(u32 us);