nrf51: Refactor device-list 08/4208/2
authorSlowcoder <slowcoder@gmail.com>
Thu, 31 Aug 2017 18:53:57 +0000 (20:53 +0200)
committerSpencer Oliver <spen@spen-soft.co.uk>
Tue, 3 Oct 2017 10:28:03 +0000 (11:28 +0100)
This cleans up the list of supported nrf51 chips considerably.

Change-Id: Ic74685657bb72a8703c0a49df4c48c54604ec2a7
Signed-off-by: Slowcoder <slowcoder@gmail.com>
Reviewed-on: http://openocd.zylin.com/4208
Tested-by: jenkins
Reviewed-by: Fredrik Hederstierna <fredrik@hederstierna.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/flash/nor/nrf51.c

index 7b7acf479205f47e6c4b6e09e2fa06428db7dd69..350957c90069f4f9ef49632cd89eb8d63d3a217e 100644 (file)
@@ -126,6 +126,15 @@ struct nrf51_device_spec {
        unsigned int flash_size_kb;
 };
 
+#define NRF51_DEVICE_DEF(id, pt, var, bcode, fsize) \
+{                                                   \
+.hwid          = (id),                              \
+.part          = pt,                                \
+.variant       = var,                               \
+.build_code    = bcode,                             \
+.flash_size_kb = (fsize),                           \
+}
+
 /* 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:
@@ -140,279 +149,56 @@ struct nrf51_device_spec {
  */
 static const struct nrf51_device_spec nrf51_known_devices_table[] = {
        /* nRF51822 Devices (IC rev 1). */
-       {
-               .hwid           = 0x001D,
-               .part           = "51822",
-               .variant        = "QFAA",
-               .build_code     = "CA/C0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0026,
-               .part           = "51822",
-               .variant        = "QFAB",
-               .build_code     = "AA",
-               .flash_size_kb  = 128,
-       },
-       {
-               .hwid           = 0x0027,
-               .part           = "51822",
-               .variant        = "QFAB",
-               .build_code     = "A0",
-               .flash_size_kb  = 128,
-       },
-       {
-               .hwid           = 0x0020,
-               .part           = "51822",
-               .variant        = "CEAA",
-               .build_code     = "BA",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x002F,
-               .part           = "51822",
-               .variant        = "CEAA",
-               .build_code     = "B0",
-               .flash_size_kb  = 256,
-       },
+       NRF51_DEVICE_DEF(0x001D, "51822", "QFAA", "CA/C0", 256),
+       NRF51_DEVICE_DEF(0x0026, "51822", "QFAB", "AA",    128),
+       NRF51_DEVICE_DEF(0x0027, "51822", "QFAB", "A0",    128),
+       NRF51_DEVICE_DEF(0x0020, "51822", "CEAA", "BA",    256),
+       NRF51_DEVICE_DEF(0x002F, "51822", "CEAA", "B0",    256),
 
        /* nRF51822 Devices (IC rev 2). */
-       {
-               .hwid           = 0x002A,
-               .part           = "51822",
-               .variant        = "QFAA",
-               .build_code     = "FA0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0044,
-               .part           = "51822",
-               .variant        = "QFAA",
-               .build_code     = "GC0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x003C,
-               .part           = "51822",
-               .variant        = "QFAA",
-               .build_code     = "G0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0057,
-               .part           = "51822",
-               .variant        = "QFAA",
-               .build_code     = "G2",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0058,
-               .part           = "51822",
-               .variant        = "QFAA",
-               .build_code     = "G3",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x004C,
-               .part           = "51822",
-               .variant        = "QFAB",
-               .build_code     = "B0",
-               .flash_size_kb  = 128,
-       },
-       {
-               .hwid           = 0x0040,
-               .part           = "51822",
-               .variant        = "CEAA",
-               .build_code     = "CA0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0047,
-               .part           = "51822",
-               .variant        = "CEAA",
-               .build_code     = "DA0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x004D,
-               .part           = "51822",
-               .variant        = "CEAA",
-               .build_code     = "D00",
-               .flash_size_kb  = 256,
-       },
+       NRF51_DEVICE_DEF(0x002A, "51822", "QFAA", "FA0",   256),
+       NRF51_DEVICE_DEF(0x0044, "51822", "QFAA", "GC0",   256),
+       NRF51_DEVICE_DEF(0x003C, "51822", "QFAA", "G0",    256),
+       NRF51_DEVICE_DEF(0x0057, "51822", "QFAA", "G2",    256),
+       NRF51_DEVICE_DEF(0x0058, "51822", "QFAA", "G3",    256),
+       NRF51_DEVICE_DEF(0x004C, "51822", "QFAB", "B0",    128),
+       NRF51_DEVICE_DEF(0x0040, "51822", "CEAA", "CA0",   256),
+       NRF51_DEVICE_DEF(0x0047, "51822", "CEAA", "DA0",   256),
+       NRF51_DEVICE_DEF(0x004D, "51822", "CEAA", "D00",   256),
 
        /* nRF51822 Devices (IC rev 3). */
-       {
-               .hwid           = 0x0072,
-               .part           = "51822",
-               .variant        = "QFAA",
-               .build_code     = "H0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x007B,
-               .part           = "51822",
-               .variant        = "QFAB",
-               .build_code     = "C0",
-               .flash_size_kb  = 128,
-       },
-       {
-               .hwid           = 0x0083,
-               .part           = "51822",
-               .variant        = "QFAC",
-               .build_code     = "A0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0084,
-               .part           = "51822",
-               .variant        = "QFAC",
-               .build_code     = "A1",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x007D,
-               .part           = "51822",
-               .variant        = "CDAB",
-               .build_code     = "A0",
-               .flash_size_kb  = 128,
-       },
-       {
-               .hwid           = 0x0079,
-               .part           = "51822",
-               .variant        = "CEAA",
-               .build_code     = "E0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0087,
-               .part           = "51822",
-               .variant        = "CFAC",
-               .build_code     = "A0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x008F,
-               .part           = "51822",
-               .variant        = "QFAA",
-               .build_code     = "H1",
-               .flash_size_kb  = 256,
-       },
+       NRF51_DEVICE_DEF(0x0072, "51822", "QFAA", "H0",    256),
+       NRF51_DEVICE_DEF(0x007B, "51822", "QFAB", "C0",    128),
+       NRF51_DEVICE_DEF(0x0083, "51822", "QFAC", "A0",    256),
+       NRF51_DEVICE_DEF(0x0084, "51822", "QFAC", "A1",    256),
+       NRF51_DEVICE_DEF(0x007D, "51822", "CDAB", "A0",    128),
+       NRF51_DEVICE_DEF(0x0079, "51822", "CEAA", "E0",    256),
+       NRF51_DEVICE_DEF(0x0087, "51822", "CFAC", "A0",    256),
 
        /* nRF51422 Devices (IC rev 1). */
-       {
-               .hwid           = 0x001E,
-               .part           = "51422",
-               .variant        = "QFAA",
-               .build_code     = "CA",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0024,
-               .part           = "51422",
-               .variant        = "QFAA",
-               .build_code     = "C0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0031,
-               .part           = "51422",
-               .variant        = "CEAA",
-               .build_code     = "A0A",
-               .flash_size_kb  = 256,
-       },
+       NRF51_DEVICE_DEF(0x001E, "51422", "QFAA", "CA",    256),
+       NRF51_DEVICE_DEF(0x0024, "51422", "QFAA", "C0",    256),
+       NRF51_DEVICE_DEF(0x0031, "51422", "CEAA", "A0A",   256),
 
        /* nRF51422 Devices (IC rev 2). */
-       {
-               .hwid           = 0x002D,
-               .part           = "51422",
-               .variant        = "QFAA",
-               .build_code     = "DAA",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x002E,
-               .part           = "51422",
-               .variant        = "QFAA",
-               .build_code     = "E0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0061,
-               .part           = "51422",
-               .variant        = "QFAB",
-               .build_code     = "A00",
-               .flash_size_kb  = 128,
-       },
-       {
-               .hwid           = 0x0050,
-               .part           = "51422",
-               .variant        = "CEAA",
-               .build_code     = "B0",
-               .flash_size_kb  = 256,
-       },
+       NRF51_DEVICE_DEF(0x002D, "51422", "QFAA", "DAA",   256),
+       NRF51_DEVICE_DEF(0x002E, "51422", "QFAA", "E0",    256),
+       NRF51_DEVICE_DEF(0x0061, "51422", "QFAB", "A00",   128),
+       NRF51_DEVICE_DEF(0x0050, "51422", "CEAA", "B0",    256),
 
        /* nRF51422 Devices (IC rev 3). */
-       {
-               .hwid           = 0x0073,
-               .part           = "51422",
-               .variant        = "QFAA",
-               .build_code     = "F0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x007C,
-               .part           = "51422",
-               .variant        = "QFAB",
-               .build_code     = "B0",
-               .flash_size_kb  = 128,
-       },
-       {
-               .hwid           = 0x0085,
-               .part           = "51422",
-               .variant        = "QFAC",
-               .build_code     = "A0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0086,
-               .part           = "51422",
-               .variant        = "QFAC",
-               .build_code     = "A1",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x007E,
-               .part           = "51422",
-               .variant        = "CDAB",
-               .build_code     = "A0",
-               .flash_size_kb  = 128,
-       },
-       {
-               .hwid           = 0x007A,
-               .part           = "51422",
-               .variant        = "CEAA",
-               .build_code     = "C0",
-               .flash_size_kb  = 256,
-       },
-       {
-               .hwid           = 0x0088,
-               .part           = "51422",
-               .variant        = "CFAC",
-               .build_code     = "A0",
-               .flash_size_kb  = 256,
-       },
+       NRF51_DEVICE_DEF(0x0073, "51422", "QFAA", "F0",    256),
+       NRF51_DEVICE_DEF(0x007C, "51422", "QFAB", "B0",    128),
+       NRF51_DEVICE_DEF(0x0085, "51422", "QFAC", "A0",    256),
+       NRF51_DEVICE_DEF(0x0086, "51422", "QFAC", "A1",    256),
+       NRF51_DEVICE_DEF(0x007E, "51422", "CDAB", "A0",    128),
+       NRF51_DEVICE_DEF(0x007A, "51422", "CEAA", "C0",    256),
+       NRF51_DEVICE_DEF(0x0088, "51422", "CFAC", "A0",    256),
 
        /* Some early nRF51-DK (PCA10028) & nRF51-Dongle (PCA10031) boards
           with built-in jlink seem to use engineering samples not listed
           in the nRF51 Series Compatibility Matrix V1.0. */
-       {
-               .hwid           = 0x0071,
-               .part           = "51822",
-               .variant        = "QFAC",
-               .build_code     = "AB",
-               .flash_size_kb  = 256,
-       },
+       NRF51_DEVICE_DEF(0x0071, "51822", "QFAC", "AB",    256),
 };
 
 static int nrf51_bank_is_probed(struct flash_bank *bank)

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)