diff --git a/src/target/xscale.c b/src/target/xscale.c index 92c4ede8b..ed2afa461 100644 --- a/src/target/xscale.c +++ b/src/target/xscale.c @@ -1447,6 +1447,13 @@ static int xscale_assert_reset(struct target *target) LOG_DEBUG("target->state: %s", target_state_name(target)); + /* assert reset */ + jtag_add_reset(0, 1); + + /* sleep 1ms, to be sure we fulfill any requirements */ + jtag_add_sleep(1000); + jtag_execute_queue(); + /* select DCSR instruction (set endstate to R-T-I to ensure we don't * end up in T-L-R, which would reset JTAG */ @@ -1463,13 +1470,6 @@ static int xscale_assert_reset(struct target *target) xscale_jtag_set_instr(target->tap, ~0, TAP_IDLE); jtag_execute_queue(); - /* assert reset */ - jtag_add_reset(0, 1); - - /* sleep 1ms, to be sure we fulfill any requirements */ - jtag_add_sleep(1000); - jtag_execute_queue(); - target->state = TARGET_RESET; if (target->reset_halt) {