summaryrefslogtreecommitdiff
path: root/src/jtag/ft2232.c
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-03-31 19:39:05 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-03-31 19:39:05 +0000
commitafe5371bc8bde3fc1a833c3d7e459920711a9584 (patch)
tree78600edd255a9cdfca9035ebe392f4b343bd8558 /src/jtag/ft2232.c
parent86d3e744641ef670f4376e47589afac37d9a87ab (diff)
downloadopenocd+libswd-afe5371bc8bde3fc1a833c3d7e459920711a9584.tar.gz
openocd+libswd-afe5371bc8bde3fc1a833c3d7e459920711a9584.tar.bz2
openocd+libswd-afe5371bc8bde3fc1a833c3d7e459920711a9584.tar.xz
openocd+libswd-afe5371bc8bde3fc1a833c3d7e459920711a9584.zip
Do not assert trst in srst_only case even if srst_pulls_trst.
git-svn-id: svn://svn.berlios.de/openocd/trunk@530 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/jtag/ft2232.c')
-rw-r--r--src/jtag/ft2232.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/jtag/ft2232.c b/src/jtag/ft2232.c
index 747a383a..20824bbb 100644
--- a/src/jtag/ft2232.c
+++ b/src/jtag/ft2232.c
@@ -889,7 +889,6 @@ void usbjtag_reset(int trst, int srst)
{
if (trst == 1)
{
- cur_state = TAP_TLR;
if (jtag_reset_config & RESET_TRST_OPEN_DRAIN)
low_direction |= nTRSTnOE; /* switch to output pin (output is low) */
else
@@ -929,7 +928,6 @@ void jtagkey_reset(int trst, int srst)
{
if (trst == 1)
{
- cur_state = TAP_TLR;
if (jtag_reset_config & RESET_TRST_OPEN_DRAIN)
high_output &= ~nTRSTnOE;
else
@@ -969,7 +967,6 @@ void olimex_jtag_reset(int trst, int srst)
{
if (trst == 1)
{
- cur_state = TAP_TLR;
if (jtag_reset_config & RESET_TRST_OPEN_DRAIN)
high_output &= ~nTRSTnOE;
else
@@ -1003,7 +1000,6 @@ void flyswatter_reset(int trst, int srst)
{
if (trst == 1)
{
- cur_state = TAP_TLR;
low_output &= ~nTRST;
}
else if (trst == 0)
@@ -1051,7 +1047,6 @@ void comstick_reset(int trst, int srst)
{
if (trst == 1)
{
- cur_state = TAP_TLR;
high_output &= ~nTRST;
}
else if (trst == 0)
@@ -1079,7 +1074,6 @@ void stm32stick_reset(int trst, int srst)
{
if (trst == 1)
{
- cur_state = TAP_TLR;
high_output &= ~nTRST;
}
else if (trst == 0)
@@ -1151,6 +1145,10 @@ int ft2232_execute_queue()
first_unsent = cmd;
}
+ if ((cmd->cmd.reset->trst == 1) || (cmd->cmd.reset->srst && (jtag_reset_config & RESET_SRST_PULLS_TRST)))
+ {
+ cur_state = TAP_TLR;
+ }
layout->reset(cmd->cmd.reset->trst, cmd->cmd.reset->srst);
require_send = 1;