aboutsummaryrefslogtreecommitdiff
path: root/src/target/arm_dap.c
diff options
context:
space:
mode:
authorMatthias Welwarsky <matthias.welwarsky@sysgo.com>2018-04-03 19:13:40 +0200
committerMatthias Welwarsky <matthias@welwarsky.de>2018-04-07 20:30:12 +0100
commit0dba1815e6362cc08e983f8f09af0224ad5ae693 (patch)
treeed3f0cc3ba398c83b5746276776834264fbe6b3d /src/target/arm_dap.c
parentbe87994d60457ac846740dd9e5df3c8f63cf646e (diff)
downloadriscv-openocd-0dba1815e6362cc08e983f8f09af0224ad5ae693.zip
riscv-openocd-0dba1815e6362cc08e983f8f09af0224ad5ae693.tar.gz
riscv-openocd-0dba1815e6362cc08e983f8f09af0224ad5ae693.tar.bz2
arm_adi_v5: Add ability to ignore the CSYSPWRUPACK bit
The CTRL/STAT register in the ARM DAP DP has a debug power up ack bit and a system power up ack bit. Some devices do not set the system power up ack bit until sometime later. To avoid having the initial target examination fail due to this or to have a sticky bit error report claim power failure due to this a user can now specify that this bit should be ignored. Change-Id: I2451234bbe904984e29562ef6f616cc6d6f60732 Signed-off-by: Eric Katzfey <eric.katzfey@mentalbee.com> Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com> Reviewed-on: http://openocd.zylin.com/3710 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Diffstat (limited to 'src/target/arm_dap.c')
-rw-r--r--src/target/arm_dap.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/target/arm_dap.c b/src/target/arm_dap.c
index 692feb3..797feb5 100644
--- a/src/target/arm_dap.c
+++ b/src/target/arm_dap.c
@@ -141,10 +141,12 @@ int dap_cleanup_all(void)
enum dap_cfg_param {
CFG_CHAIN_POSITION,
+ CFG_IGNORE_SYSPWRUPACK,
};
static const Jim_Nvp nvp_config_opts[] = {
{ .name = "-chain-position", .value = CFG_CHAIN_POSITION },
+ { .name = "-ignore-syspwrupack", .value = CFG_IGNORE_SYSPWRUPACK },
{ .name = NULL, .value = -1 }
};
@@ -177,6 +179,9 @@ static int dap_configure(Jim_GetOptInfo *goi, struct arm_dap_object *dap)
/* loop for more */
break;
}
+ case CFG_IGNORE_SYSPWRUPACK:
+ dap->dap.ignore_syspwrupack = true;
+ break;
default:
break;
}