summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-02-26 13:21:57 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-02-26 13:21:57 +0000
commitbdbc833bacd6b78612806393cf0122ea702221e2 (patch)
tree46564438d8b12eb4dd1d374254b1c204fc6ed83a /src
parent4c7891ecebbf28659f24a21e0156284c802ab6e7 (diff)
downloadopenocd+libswd-bdbc833bacd6b78612806393cf0122ea702221e2.tar.gz
openocd+libswd-bdbc833bacd6b78612806393cf0122ea702221e2.tar.bz2
openocd+libswd-bdbc833bacd6b78612806393cf0122ea702221e2.tar.xz
openocd+libswd-bdbc833bacd6b78612806393cf0122ea702221e2.zip
jtag_add_reset() minidriver gaffe fixed.
git-svn-id: svn://svn.berlios.de/openocd/trunk@351 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src')
-rw-r--r--src/jtag/jtag.c43
1 files changed, 20 insertions, 23 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c
index a4fd7553..7bb98e96 100644
--- a/src/jtag/jtag.c
+++ b/src/jtag/jtag.c
@@ -884,6 +884,13 @@ int jtag_add_reset(int req_trst, int req_srst)
jtag_trst = req_trst;
jtag_srst = req_srst;
+ retval = interface_jtag_add_reset(req_trst, req_srst);
+ if (retval!=ERROR_OK)
+ {
+ jtag_error=retval;
+ return retval;
+ }
+
if (jtag_srst)
{
jtag_call_event_callbacks(JTAG_SRST_ASSERTED);
@@ -903,32 +910,22 @@ int jtag_add_reset(int req_trst, int req_srst)
return ERROR_OK;
}
- else
- {
- if (jtag_trst)
- {
- /* we just asserted nTRST, so we're now in Test-Logic-Reset,
- * and inform possible listeners about this
- */
- cmd_queue_cur_state = TAP_TLR;
- jtag_call_event_callbacks(JTAG_TRST_ASSERTED);
- }
- else
- {
- /* the nTRST line got deasserted, so we're still in Test-Logic-Reset,
- * but we might want to add a delay to give the TAP time to settle
- */
- if (jtag_ntrst_delay)
- jtag_add_sleep(jtag_ntrst_delay * 1000);
- }
- }
- retval = interface_jtag_add_reset(req_trst, req_srst);
- if (retval!=ERROR_OK)
- jtag_error=retval;
- if (trst_with_tms)
+ if (jtag_trst)
{
+ /* we just asserted nTRST, so we're now in Test-Logic-Reset,
+ * and inform possible listeners about this
+ */
jtag_add_statemove(TAP_TLR);
+ jtag_call_event_callbacks(JTAG_TRST_ASSERTED);
+ }
+ else
+ {
+ /* the nTRST line got deasserted, so we're still in Test-Logic-Reset,
+ * but we might want to add a delay to give the TAP time to settle
+ */
+ if (jtag_ntrst_delay)
+ jtag_add_sleep(jtag_ntrst_delay * 1000);
}
return retval;