aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2020-01-23 15:18:33 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2020-02-24 10:28:46 +0000
commitbeb610555ad826dda874eee0428deeb1c00ac39d (patch)
tree3cd02f331cbb5f945b3e74d9d42859ac4c2b1272
parent066aa24e85532b555e1fd34850327e7f7a570bf8 (diff)
downloadriscv-openocd-beb610555ad826dda874eee0428deeb1c00ac39d.zip
riscv-openocd-beb610555ad826dda874eee0428deeb1c00ac39d.tar.gz
riscv-openocd-beb610555ad826dda874eee0428deeb1c00ac39d.tar.bz2
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 <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5415 Tested-by: jenkins
-rw-r--r--src/target/adi_v5_dapdirect.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/target/adi_v5_dapdirect.c b/src/target/adi_v5_dapdirect.c
index f120151..c0deee1 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;
}