aboutsummaryrefslogtreecommitdiff
path: root/src/target/arm_adi_v5.h
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2014-04-03 14:03:04 -0700
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>2014-06-01 17:01:14 +0000
commitd007764fe88958aa556f060054d55841e1d9306d (patch)
tree2148f1f8915ffe5e6fa8822c4be2133f2f1a5222 /src/target/arm_adi_v5.h
parent930e41a2921b8c2905690153514099c8abf05828 (diff)
downloadriscv-openocd-d007764fe88958aa556f060054d55841e1d9306d.zip
riscv-openocd-d007764fe88958aa556f060054d55841e1d9306d.tar.gz
riscv-openocd-d007764fe88958aa556f060054d55841e1d9306d.tar.bz2
arm_adi_v5: Add convenience "atomic"" function for DP reads
Add convenience "atomic"" function dap_dp_read_atomic_u32() Change-Id: Ic9ebb58959d2f14bbf03be42a26b0fe58ecfeddb Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Reviewed-on: http://openocd.zylin.com/2085 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Diffstat (limited to 'src/target/arm_adi_v5.h')
-rw-r--r--src/target/arm_adi_v5.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/target/arm_adi_v5.h b/src/target/arm_adi_v5.h
index 3367588..9f0dea9 100644
--- a/src/target/arm_adi_v5.h
+++ b/src/target/arm_adi_v5.h
@@ -389,6 +389,18 @@ static inline int dap_run(struct adiv5_dap *dap)
return dap->ops->run(dap);
}
+static inline int dap_dp_read_atomic(struct adiv5_dap *dap, unsigned reg,
+ uint32_t *value)
+{
+ int retval;
+
+ retval = dap_queue_dp_read(dap, reg, value);
+ if (retval != ERROR_OK)
+ return retval;
+
+ return dap_run(dap);
+}
+
/** Accessor for currently selected DAP-AP number (0..255) */
static inline uint8_t dap_ap_get_select(struct adiv5_dap *swjdp)
{