From 52b80fbd82d80425863823b3fe26d47a702febb0 Mon Sep 17 00:00:00 2001 From: Paul Fertser Date: Sun, 22 Jun 2014 23:23:31 +0400 Subject: [PATCH] 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 Reviewed-on: http://openocd.zylin.com/2186 Tested-by: jenkins Reviewed-by: Andreas Fritiofson --- src/jtag/drivers/ftdi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/jtag/drivers/ftdi.c b/src/jtag/drivers/ftdi.c index b65dd2ac44..0debc2dcfd 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 -- 2.30.2