aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>2015-11-14 00:51:40 +0100
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>2015-12-29 20:27:26 +0000
commit5ae2fbda2b8744752f9a8d5dbdb0090df812a894 (patch)
tree2f12cf31beb74984f41b49070917c9b7116f49c4
parent59003ee2a1681e1fd8af382b09bf4277e073e999 (diff)
downloadriscv-openocd-5ae2fbda2b8744752f9a8d5dbdb0090df812a894.zip
riscv-openocd-5ae2fbda2b8744752f9a8d5dbdb0090df812a894.tar.gz
riscv-openocd-5ae2fbda2b8744752f9a8d5dbdb0090df812a894.tar.bz2
arm_adi_v5: Add a back-pointer from an AP to its DAP
This will make it possible to reference directly the AP used for debug in the target instance and remove the DAP reference. This will in turn enable getting rid of the need to select an "active" AP in the DAP (using dap apsel). Change-Id: I265846a427c714204f4fd3df3cdb75843686c2d0 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/3144 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
-rw-r--r--src/target/arm_adi_v5.c2
-rw-r--r--src/target/arm_adi_v5.h10
2 files changed, 12 insertions, 0 deletions
diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c
index 70ef302..53c0c4e 100644
--- a/src/target/arm_adi_v5.c
+++ b/src/target/arm_adi_v5.c
@@ -638,6 +638,8 @@ struct adiv5_dap *dap_init(void)
int i;
/* Set up with safe defaults */
for (i = 0; i <= 255; i++) {
+ dap->ap[i].dap = dap;
+ dap->ap[i].ap_num = i;
/* memaccess_tck max is 255 */
dap->ap[i].memaccess_tck = 255;
/* Number of bits for tar autoincrement, impl. dep. at least 10 */
diff --git a/src/target/arm_adi_v5.h b/src/target/arm_adi_v5.h
index 186397e..32b7239 100644
--- a/src/target/arm_adi_v5.h
+++ b/src/target/arm_adi_v5.h
@@ -128,6 +128,16 @@
*/
struct adiv5_ap {
/**
+ * DAP this AP belongs to.
+ */
+ struct adiv5_dap *dap;
+
+ /**
+ * Number of this AP.
+ */
+ uint8_t ap_num;
+
+ /**
* Default value for (MEM-AP) AP_REG_CSW register.
*/
uint32_t csw_default;