summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter A. Bigot <pab@pabigot.com>2015-03-10 08:44:28 -0500
committerPaul Fertser <fercerpav@gmail.com>2015-05-17 21:18:14 +0100
commita50f5afd065fa346ca48667bbbab944c5bdf367d (patch)
treee56a02612b2498262df892c0e41b8cf48a83ce7a
parent218747dbd344d32357ab2ee9f32e48248363ade4 (diff)
downloadopenocd-a50f5afd065fa346ca48667bbbab944c5bdf367d.tar.gz
openocd-a50f5afd065fa346ca48667bbbab944c5bdf367d.tar.xz
nrf51: refine and extend known devices table
The notation Gx0 in the nRF51 Series Compatibility Matrix indicates that the specified HWID is valid only for build code 0 of each chip, and for subsequent builds the HWID will be different. Replace the Gx0 notation with G0 throughout, and add the missing HWID for nRF51422 QFAC A1 (present on the newer nRF51 developer boards). See: https://www.nordicsemi.com/eng/nordic/download_resource/41917/5/55913589 See: https://devzone.nordicsemi.com/question/30774/mapping-hwid-to-revision-information/ Change-Id: I79d842137d41342db35904867c48b06fbc6fbc70 Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Angus Gratton <gus@projectgus.com> Reviewed-on: http://openocd.zylin.com/2593 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
-rw-r--r--src/flash/nor/nrf51.c50
1 files changed, 34 insertions, 16 deletions
diff --git a/src/flash/nor/nrf51.c b/src/flash/nor/nrf51.c
index 351a86e4..7c2fa13f 100644
--- a/src/flash/nor/nrf51.c
+++ b/src/flash/nor/nrf51.c
@@ -128,6 +128,18 @@ struct nrf51_device_spec {
unsigned int flash_size_kb;
};
+/* The known devices table below is derived from the "nRF51 Series
+ * Compatibility Matrix" document, which can be found by searching for
+ * ATTN-51 on the Nordic Semi website:
+ *
+ * http://www.nordicsemi.com/eng/content/search?SearchText=ATTN-51
+ *
+ * Up to date with Matrix v2.0, plus some additional HWIDs.
+ *
+ * The additional HWIDs apply where the build code in the matrix is
+ * shown as Gx0, Bx0, etc. In these cases the HWID in the matrix is
+ * for x==0, x!=0 means different (unspecified) HWIDs.
+ */
static const struct nrf51_device_spec nrf51_known_devices_table[] = {
/* nRF51822 Devices (IC rev 1). */
{
@@ -177,13 +189,13 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{
.hwid = 0x003C,
.variant = "QFAA",
- .build_code = "Gx0",
+ .build_code = "G0",
.flash_size_kb = 256,
},
{
.hwid = 0x004C,
.variant = "QFAB",
- .build_code = "Bx0",
+ .build_code = "B0",
.flash_size_kb = 128,
},
{
@@ -209,37 +221,37 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{
.hwid = 0x0072,
.variant = "QFAA",
- .build_code = "Hx0",
+ .build_code = "H0",
.flash_size_kb = 256,
},
{
.hwid = 0x007B,
.variant = "QFAB",
- .build_code = "Cx0",
+ .build_code = "C0",
.flash_size_kb = 128,
},
{
.hwid = 0x0083,
.variant = "QFAC",
- .build_code = "Ax0",
+ .build_code = "A0",
.flash_size_kb = 256,
},
{
.hwid = 0x007D,
.variant = "CDAB",
- .build_code = "Ax0",
+ .build_code = "A0",
.flash_size_kb = 128,
},
{
.hwid = 0x0079,
.variant = "CEAA",
- .build_code = "Ex0",
+ .build_code = "E0",
.flash_size_kb = 256,
},
{
.hwid = 0x0087,
.variant = "CFAC",
- .build_code = "Ax0",
+ .build_code = "A0",
.flash_size_kb = 256,
},
@@ -273,7 +285,7 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{
.hwid = 0x002E,
.variant = "QFAA",
- .build_code = "Ex0",
+ .build_code = "E0",
.flash_size_kb = 256,
},
{
@@ -285,7 +297,7 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{
.hwid = 0x0050,
.variant = "CEAA",
- .build_code = "Bx0",
+ .build_code = "B0",
.flash_size_kb = 256,
},
@@ -293,37 +305,43 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{
.hwid = 0x0073,
.variant = "QFAA",
- .build_code = "Fx0",
+ .build_code = "F0",
.flash_size_kb = 256,
},
{
.hwid = 0x007C,
.variant = "QFAB",
- .build_code = "Bx0",
+ .build_code = "B0",
.flash_size_kb = 128,
},
{
.hwid = 0x0085,
.variant = "QFAC",
- .build_code = "Ax0",
+ .build_code = "A0",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x0086,
+ .variant = "QFAC",
+ .build_code = "A1",
.flash_size_kb = 256,
},
{
.hwid = 0x007E,
.variant = "CDAB",
- .build_code = "Ax0",
+ .build_code = "A0",
.flash_size_kb = 128,
},
{
.hwid = 0x007A,
.variant = "CEAA",
- .build_code = "Cx0",
+ .build_code = "C0",
.flash_size_kb = 256,
},
{
.hwid = 0x0088,
.variant = "CFAC",
- .build_code = "Ax0",
+ .build_code = "A0",
.flash_size_kb = 256,
},