diff options
author | Paul Fertser <fercerpav@gmail.com> | 2014-06-22 23:23:31 +0400 |
---|---|---|
committer | Andreas Fritiofson <andreas.fritiofson@gmail.com> | 2014-06-28 16:52:08 +0000 |
commit | 52b80fbd82d80425863823b3fe26d47a702febb0 (patch) | |
tree | 1f103e5c506905758dfe4823d31996d5d8a2325e | |
parent | eeff8eec6cfef3a0e51813824b97e4ba766b83ba (diff) |
jtag/drivers/ftdi: do not touch unavailable reset signals
If the current reset_config doesn't specify availability of nTRST or
nSRST, just leave them alone, do not try to deassert them ever
(asserting would be prevented by the upper layer).
Change-Id: I90123c666e05a1c26f1e164625e82d766a3e3744
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2186
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
-rw-r--r-- | src/jtag/drivers/ftdi.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/jtag/drivers/ftdi.c b/src/jtag/drivers/ftdi.c index b65dd2ac..0debc2dc 100644 --- a/src/jtag/drivers/ftdi.c +++ b/src/jtag/drivers/ftdi.c @@ -501,7 +501,8 @@ static void ftdi_execute_reset(struct jtag_command *cmd) ftdi_set_signal(trst, '0'); else LOG_ERROR("Can't assert TRST: nTRST signal is not defined"); - } else if (trst && cmd->cmd.reset->trst == 0) { + } else if (trst && jtag_get_reset_config() & RESET_HAS_TRST && + cmd->cmd.reset->trst == 0) { if (jtag_get_reset_config() & RESET_TRST_OPEN_DRAIN) ftdi_set_signal(trst, 'z'); else @@ -514,7 +515,8 @@ static void ftdi_execute_reset(struct jtag_command *cmd) ftdi_set_signal(srst, '0'); else LOG_ERROR("Can't assert SRST: nSRST signal is not defined"); - } else if (srst && cmd->cmd.reset->srst == 0) { + } else if (srst && jtag_get_reset_config() & RESET_HAS_SRST && + cmd->cmd.reset->srst == 0) { if (jtag_get_reset_config() & RESET_SRST_PUSH_PULL) ftdi_set_signal(srst, '1'); else |