aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor
diff options
context:
space:
mode:
Diffstat (limited to 'src/flash/nor')
-rw-r--r--src/flash/nor/nrf51.c174
1 files changed, 153 insertions, 21 deletions
diff --git a/src/flash/nor/nrf51.c b/src/flash/nor/nrf51.c
index af412e28..34297efb 100644
--- a/src/flash/nor/nrf51.c
+++ b/src/flash/nor/nrf51.c
@@ -129,6 +129,7 @@ struct nrf51_device_spec {
};
static const struct nrf51_device_spec nrf51_known_devices_table[] = {
+ /* nRF51822 Devices (IC rev 1). */
{
.hwid = 0x001D,
.variant = "QFAA",
@@ -136,74 +137,205 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
.flash_size_kb = 256,
},
{
+ .hwid = 0x0026,
+ .variant = "QFAB",
+ .build_code = "AA",
+ .flash_size_kb = 128,
+ },
+ {
+ .hwid = 0x0027,
+ .variant = "QFAB",
+ .build_code = "A0",
+ .flash_size_kb = 128,
+ },
+ {
+ .hwid = 0x0020,
+ .variant = "CEAA",
+ .build_code = "BA",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x002F,
+ .variant = "CEAA",
+ .build_code = "B0",
+ .flash_size_kb = 256,
+ },
+
+ /* nRF51822 Devices (IC rev 2). */
+ {
.hwid = 0x002A,
.variant = "QFAA",
- .build_code = "FA",
+ .build_code = "FA0",
.flash_size_kb = 256,
},
{
.hwid = 0x0044,
.variant = "QFAA",
- .build_code = "GC",
+ .build_code = "GC0",
.flash_size_kb = 256,
},
{
.hwid = 0x003C,
.variant = "QFAA",
- .build_code = "G0",
+ .build_code = "Gx0",
.flash_size_kb = 256,
},
-
{
- .hwid = 0x0020,
+ .hwid = 0x004C,
+ .variant = "QFAB",
+ .build_code = "Bx0",
+ .flash_size_kb = 128,
+ },
+ {
+ .hwid = 0x0040,
.variant = "CEAA",
- .build_code = "BA",
+ .build_code = "CA0",
.flash_size_kb = 256,
},
{
- .hwid = 0x002F,
+ .hwid = 0x0047,
.variant = "CEAA",
- .build_code = "B0",
+ .build_code = "DA0",
.flash_size_kb = 256,
},
{
- .hwid = 0x0040,
+ .hwid = 0x004D,
.variant = "CEAA",
- .build_code = "CA",
+ .build_code = "D00",
.flash_size_kb = 256,
},
+
+ /* nRF51822 Devices (IC rev 3). */
{
- .hwid = 0x0047,
+ .hwid = 0x0072,
+ .variant = "QFAA",
+ .build_code = "Hx0",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x007B,
+ .variant = "QFAB",
+ .build_code = "Cx0",
+ .flash_size_kb = 128,
+ },
+ {
+ .hwid = 0x0083,
+ .variant = "QFAC",
+ .build_code = "Ax0",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x007D,
+ .variant = "CDAB",
+ .build_code = "Ax0",
+ .flash_size_kb = 128,
+ },
+ {
+ .hwid = 0x0079,
.variant = "CEAA",
- .build_code = "DA",
+ .build_code = "Ex0",
.flash_size_kb = 256,
},
{
- .hwid = 0x004D,
+ .hwid = 0x0087,
+ .variant = "CFAC",
+ .build_code = "Ax0",
+ .flash_size_kb = 256,
+ },
+
+ /* nRF51422 Devices (IC rev 1). */
+ {
+ .hwid = 0x001E,
+ .variant = "QFAA",
+ .build_code = "CA",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x0024,
+ .variant = "QFAA",
+ .build_code = "C0",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x0031,
.variant = "CEAA",
- .build_code = "D0",
+ .build_code = "A0A",
.flash_size_kb = 256,
},
+ /* nRF51422 Devices (IC rev 2). */
{
- .hwid = 0x0026,
+ .hwid = 0x002D,
+ .variant = "QFAA",
+ .build_code = "DAA",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x002E,
+ .variant = "QFAA",
+ .build_code = "Ex0",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x0061,
.variant = "QFAB",
- .build_code = "AA",
+ .build_code = "A00",
.flash_size_kb = 128,
},
{
- .hwid = 0x0027,
+ .hwid = 0x0050,
+ .variant = "CEAA",
+ .build_code = "Bx0",
+ .flash_size_kb = 256,
+ },
+
+ /* nRF51422 Devices (IC rev 3). */
+ {
+ .hwid = 0x0073,
+ .variant = "QFAA",
+ .build_code = "Fx0",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x007C,
.variant = "QFAB",
- .build_code = "A0",
+ .build_code = "Bx0",
.flash_size_kb = 128,
},
{
- .hwid = 0x004C,
- .variant = "QFAB",
- .build_code = "B0",
+ .hwid = 0x0085,
+ .variant = "QFAC",
+ .build_code = "Ax0",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x007E,
+ .variant = "CDAB",
+ .build_code = "Ax0",
.flash_size_kb = 128,
},
+ {
+ .hwid = 0x007A,
+ .variant = "CEAA",
+ .build_code = "Cx0",
+ .flash_size_kb = 256,
+ },
+ {
+ .hwid = 0x0088,
+ .variant = "CFAC",
+ .build_code = "Ax0",
+ .flash_size_kb = 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,
+ .variant = "QFAC",
+ .build_code = "AB",
+ .flash_size_kb = 256,
+ },
};
static int nrf51_bank_is_probed(struct flash_bank *bank)