jtag_add_reset() minidriver gaffe fixed.

git-svn-id: svn://svn.berlios.de/openocd/trunk@351 b42882b7-edfa-0310-969c-e2dbd0fdcd60
__archive__
oharboe 2008-02-26 13:21:57 +00:00
parent 4c7891eceb
commit bdbc833bac
1 changed files with 21 additions and 24 deletions

View File

@ -884,6 +884,13 @@ int jtag_add_reset(int req_trst, int req_srst)
jtag_trst = req_trst; jtag_trst = req_trst;
jtag_srst = req_srst; 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) if (jtag_srst)
{ {
jtag_call_event_callbacks(JTAG_SRST_ASSERTED); jtag_call_event_callbacks(JTAG_SRST_ASSERTED);
@ -903,32 +910,22 @@ int jtag_add_reset(int req_trst, int req_srst)
return ERROR_OK; return ERROR_OK;
} }
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 else
{ {
if (jtag_trst) /* 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
/* we just asserted nTRST, so we're now in Test-Logic-Reset, */
* and inform possible listeners about this if (jtag_ntrst_delay)
*/ jtag_add_sleep(jtag_ntrst_delay * 1000);
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)
{
jtag_add_statemove(TAP_TLR);
} }
return retval; return retval;