From afe5371bc8bde3fc1a833c3d7e459920711a9584 Mon Sep 17 00:00:00 2001 From: oharboe Date: Mon, 31 Mar 2008 19:39:05 +0000 Subject: 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 --- src/jtag/ft2232.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/jtag/ft2232.c') 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; -- cgit v1.2.3