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>__archive__
parent
12ff09f7f2
commit
12e4a2a220
|
@ -107,6 +107,18 @@ static int swd_connect(struct adiv5_dap *dap)
|
|||
* 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 */
|
||||
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.
|
||||
* messy - is there a better way? */
|
||||
arm->dap->ops = &swd_dap_ops;
|
||||
/* First connect after init is not reconnecting. */
|
||||
dap->do_reconnect = false;
|
||||
|
||||
return swd_connect(dap);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue