}
}
-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 ((cmd_queue_end_state == TAP_DRSHIFT)||(cmd_queue_end_state == TAP_IRSHIFT))
+ if ((state == TAP_DRSHIFT)||(state == TAP_IRSHIFT))
{
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)
*/
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);