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>__archive__
parent
eeff8eec6c
commit
52b80fbd82
|
@ -501,7 +501,8 @@ static void ftdi_execute_reset(struct jtag_command *cmd)
|
||||||
ftdi_set_signal(trst, '0');
|
ftdi_set_signal(trst, '0');
|
||||||
else
|
else
|
||||||
LOG_ERROR("Can't assert TRST: nTRST signal is not defined");
|
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)
|
if (jtag_get_reset_config() & RESET_TRST_OPEN_DRAIN)
|
||||||
ftdi_set_signal(trst, 'z');
|
ftdi_set_signal(trst, 'z');
|
||||||
else
|
else
|
||||||
|
@ -514,7 +515,8 @@ static void ftdi_execute_reset(struct jtag_command *cmd)
|
||||||
ftdi_set_signal(srst, '0');
|
ftdi_set_signal(srst, '0');
|
||||||
else
|
else
|
||||||
LOG_ERROR("Can't assert SRST: nSRST signal is not defined");
|
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)
|
if (jtag_get_reset_config() & RESET_SRST_PUSH_PULL)
|
||||||
ftdi_set_signal(srst, '1');
|
ftdi_set_signal(srst, '1');
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue