diff options
Diffstat (limited to 'src/flash/nor/nrf51.c')
-rw-r--r-- | src/flash/nor/nrf51.c | 174 |
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) |