aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBas Vermeulen <bas@daedalean.ai>2017-11-21 17:12:24 +0100
committerSpencer Oliver <spen@spen-soft.co.uk>2017-12-06 21:07:10 +0000
commit06aebfacda1f60052f6ea0f3d09936184e1bfab8 (patch)
treefaabb2155164f789d7a19f8ef71e5ed9d3d7df60
parent5d6bf8704ce7ed9a7e471e601ab91061c39f88c6 (diff)
downloadriscv-openocd-06aebfacda1f60052f6ea0f3d09936184e1bfab8.zip
riscv-openocd-06aebfacda1f60052f6ea0f3d09936184e1bfab8.tar.gz
riscv-openocd-06aebfacda1f60052f6ea0f3d09936184e1bfab8.tar.bz2
Only call cmsis_dap_cmd_DAP_SWD_Configure when swd_mode is enabled
The CMSIS-DAP used by NXP's LS1012ARDB board only supports JTAG, and not SWD. Calling cmsis_dap_cmd_DAP_SWD_Configure returns with an error (and doesn't actually do anything in the debugger). Wrap the call to cmsis_dap_cmd_DAP_SWD_Configure in a check for swd_mode, to make sure initialisation doesn't fail needlessly. Change-Id: Id7e568cb6e36886bd7c5b3699d198a77a51c28c9 Signed-off-by: Bas Vermeulen <bas@daedalean.ai> Reviewed-on: http://openocd.zylin.com/4294 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
-rw-r--r--src/jtag/drivers/cmsis_dap_usb.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/jtag/drivers/cmsis_dap_usb.c b/src/jtag/drivers/cmsis_dap_usb.c
index 19c3b19..345c1fd 100644
--- a/src/jtag/drivers/cmsis_dap_usb.c
+++ b/src/jtag/drivers/cmsis_dap_usb.c
@@ -958,11 +958,14 @@ static int cmsis_dap_init(void)
retval = cmsis_dap_cmd_DAP_TFER_Configure(0, 64, 0);
if (retval != ERROR_OK)
return ERROR_FAIL;
- /* Data Phase (bit 2) must be set to 1 if sticky overrun
- * detection is enabled */
- retval = cmsis_dap_cmd_DAP_SWD_Configure(0); /* 1 TRN, no Data Phase */
- if (retval != ERROR_OK)
- return ERROR_FAIL;
+
+ if (swd_mode) {
+ /* Data Phase (bit 2) must be set to 1 if sticky overrun
+ * detection is enabled */
+ retval = cmsis_dap_cmd_DAP_SWD_Configure(0); /* 1 TRN, no Data Phase */
+ if (retval != ERROR_OK)
+ return ERROR_FAIL;
+ }
retval = cmsis_dap_cmd_DAP_LED(0x03); /* Both LEDs on */
if (retval != ERROR_OK)