diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2020-01-23 15:18:33 +0100 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2020-02-24 10:28:46 +0000 |
commit | beb610555ad826dda874eee0428deeb1c00ac39d (patch) | |
tree | 3cd02f331cbb5f945b3e74d9d42859ac4c2b1272 /src | |
parent | 066aa24e85532b555e1fd34850327e7f7a570bf8 (diff) |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/target/adi_v5_dapdirect.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/target/adi_v5_dapdirect.c b/src/target/adi_v5_dapdirect.c index f1201519..c0deee16 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; } |