swd: Add support for connect_assert_srst for SWD.
Today the reset option for connect_assert_srst is not done for SWD. This patch adds this to SWD and make it possible to connect to targets which might disable JTAG interface when running. Change-Id: Ib89f7cf59b628e8f0b5fca9dd9e362e383c4b99f Signed-off-by: Fredrik Hederstierna <fredrik@hederstierna.com> Reviewed-on: http://openocd.zylin.com/3018 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
This commit is contained in:
parent
12ff09f7f2
commit
12e4a2a220
|
@ -107,6 +107,18 @@ static int swd_connect(struct adiv5_dap *dap)
|
||||||
* MUST READ DPIDR
|
* MUST READ DPIDR
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Check if we should reset srst already when connecting, but not if reconnecting. */
|
||||||
|
if (!dap->do_reconnect) {
|
||||||
|
enum reset_types jtag_reset_config = jtag_get_reset_config();
|
||||||
|
|
||||||
|
if (jtag_reset_config & RESET_CNCT_UNDER_SRST) {
|
||||||
|
if (jtag_reset_config & RESET_SRST_NO_GATING)
|
||||||
|
swd_add_reset(1);
|
||||||
|
else
|
||||||
|
LOG_WARNING("\'srst_nogate\' reset_config option is required");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Note, debugport_init() does setup too */
|
/* Note, debugport_init() does setup too */
|
||||||
jtag_interface->swd->switch_seq(JTAG_TO_SWD);
|
jtag_interface->swd->switch_seq(JTAG_TO_SWD);
|
||||||
|
|
||||||
|
@ -412,6 +424,8 @@ static int swd_init(struct command_context *ctx)
|
||||||
/* Force the DAP's ops vector for SWD mode.
|
/* Force the DAP's ops vector for SWD mode.
|
||||||
* messy - is there a better way? */
|
* messy - is there a better way? */
|
||||||
arm->dap->ops = &swd_dap_ops;
|
arm->dap->ops = &swd_dap_ops;
|
||||||
|
/* First connect after init is not reconnecting. */
|
||||||
|
dap->do_reconnect = false;
|
||||||
|
|
||||||
return swd_connect(dap);
|
return swd_connect(dap);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue