From: Antonio Borneo Date: Thu, 23 Jan 2020 14:18:33 +0000 (+0100) Subject: adi_v5_dapdirect: fix connect under reset X-Git-Tag: v0.11.0-rc1~446 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=beb610555ad826dda874eee0428deeb1c00ac39d adi_v5_dapdirect: fix connect under reset Deassert the reset only if connect under reset is not required; otherwise, assert the reset. This fix aligns the behavior of connect under reset in dapdirect with the behavior in jtag and swd. Change-Id: I937ef4320b44e51ef6cb0e349e12348dbfbe4abb Signed-off-by: Antonio Borneo Reviewed-on: http://openocd.zylin.com/5415 Tested-by: jenkins --- diff --git a/src/target/adi_v5_dapdirect.c b/src/target/adi_v5_dapdirect.c index f120151986..c0deee165f 100644 --- a/src/target/adi_v5_dapdirect.c +++ b/src/target/adi_v5_dapdirect.c @@ -179,9 +179,18 @@ static int dapdirect_swd_select(struct command_context *ctx) static int dapdirect_init(struct command_context *ctx) { + enum reset_types jtag_reset_config = jtag_get_reset_config(); + LOG_DEBUG("dapdirect_init()"); - adapter_deassert_reset(); + if (jtag_reset_config & RESET_CNCT_UNDER_SRST) { + if (jtag_reset_config & RESET_SRST_NO_GATING) + adapter_assert_reset(); + else + LOG_WARNING("\'srst_nogate\' reset_config option is required"); + } else + adapter_deassert_reset(); + return ERROR_OK; }