From beb610555ad826dda874eee0428deeb1c00ac39d Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Thu, 23 Jan 2020 15:18:33 +0100 Subject: [PATCH] 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 --- src/target/adi_v5_dapdirect.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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; } -- 2.30.2