arm_adi_v5: put SWJ-DP back to JTAG mode at exit
When SWD mode is used, current OpenOCD code left the SWJ-DP in SWD mode at exit. Also, current code is unable to switch back the SWJ-DP in JTAG at next run, thus a power cycle of both target and interface is required in order to run OpenOCD in JTAG mode again. Put the SWJ-DP back to JTAG mode before exit from OpenOCD. Use switch_seq(SWD_TO_JTAG) instead of dap_to_jtag(), because the latter is not implemented on some interfaces. This is aligned with the use of switch_seq(JTAG_TO_SWD) in swd_connect(). Change-Id: I55d3faebe60d6402037ec39dd9700dc5f17c53b0 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/4493 Tested-by: jenkins Reviewed-by: Bohdan Tymkiv <bhdt@cypress.com> Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
This commit is contained in:
committed by
Matthias Welwarsky
parent
c5658364b2
commit
9363705820
@@ -132,8 +132,13 @@ static int dap_init_all(void)
|
||||
int dap_cleanup_all(void)
|
||||
{
|
||||
struct arm_dap_object *obj, *tmp;
|
||||
struct adiv5_dap *dap;
|
||||
|
||||
list_for_each_entry_safe(obj, tmp, &all_dap, lh) {
|
||||
dap = &obj->dap;
|
||||
if (dap->ops && dap->ops->quit)
|
||||
dap->ops->quit(dap);
|
||||
|
||||
free(obj->name);
|
||||
free(obj);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user