From: Paul Fertser Date: Sun, 22 Jun 2014 19:23:31 +0000 (+0400) Subject: jtag/drivers/ftdi: do not touch unavailable reset signals X-Git-Tag: v0.9.0-rc1~342 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=52b80fbd82d80425863823b3fe26d47a702febb0;p=openocd 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 --- 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