diff options
author | Andreas Fritiofson <andreas.fritiofson@gmail.com> | 2015-12-06 13:06:12 +0100 |
---|---|---|
committer | Andreas Fritiofson <andreas.fritiofson@gmail.com> | 2015-12-29 20:29:32 +0000 |
commit | c6ce183055acebcc1c5ef004f2f6f4a4042700dd (patch) | |
tree | b8802891d27aa53c099d0b3f841b20e3546357ef /src/target/arm_adi_v5.h | |
parent | 8a069b7b906fd7ce9c19439e2db2f116e8942b65 (diff) |
arm_adi_v5: Clean up dap info command
Reduce use of magic numbers and add AXI type MEM-AP detection. Don't try
to call dap_rom_display on a non-existent AP.
AP identification is unique per designer, so make sure the JEDEC code
matches ARM when interpreting the AP type.
Change-Id: I8e86b7de61811382afe99bf15094ab71b43f5fdf
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/3150
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Diffstat (limited to 'src/target/arm_adi_v5.h')
-rw-r--r-- | src/target/arm_adi_v5.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/target/arm_adi_v5.h b/src/target/arm_adi_v5.h index 884399a5..faf725fc 100644 --- a/src/target/arm_adi_v5.h +++ b/src/target/arm_adi_v5.h @@ -122,6 +122,15 @@ #define CSW_SPROT (1UL << 30) #define CSW_DBGSWENABLE (1UL << 31) +/* Fields of the MEM-AP's IDR register */ +#define IDR_REV (0xFUL << 28) +#define IDR_JEP106 (0x7FFUL << 17) +#define IDR_CLASS (0xFUL << 13) +#define IDR_VARIANT (0xFUL << 4) +#define IDR_TYPE (0xFUL << 0) + +#define IDR_JEP106_ARM 0x04760000 + /** * This represents an ARM Debug Interface (v5) Access Port (AP). * Most common is a MEM-AP, for memory access. @@ -276,6 +285,14 @@ struct dap_ops { }; /* + * Access Port classes + */ +enum ap_class { + AP_CLASS_NONE = 0x00000, /* No class defined */ + AP_CLASS_MEM_AP = 0x10000, /* MEM-AP */ +}; + +/* * Access Port types */ enum ap_type { |