aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor/nrf51.c
diff options
context:
space:
mode:
authorTheodore A. Roth <troth@openavr.org>2015-01-28 17:23:16 -0700
committerPaul Fertser <fercerpav@gmail.com>2015-02-24 15:23:17 +0000
commitdb8029bc266187c54a35a37a80256c343bf4bf92 (patch)
tree6e7da0b2a50e34d16806d85678ba9086bf186d4f /src/flash/nor/nrf51.c
parent73867c260ab39a8208232499d2f960021612e116 (diff)
downloadriscv-openocd-db8029bc266187c54a35a37a80256c343bf4bf92.zip
riscv-openocd-db8029bc266187c54a35a37a80256c343bf4bf92.tar.gz
riscv-openocd-db8029bc266187c54a35a37a80256c343bf4bf92.tar.bz2
nrf51: Update known devices table.
Added new entries to the nrf51_known_devices_table array. New entries are documented in the "nRF51 Series Compatability Matrix V1.0" found on the Nordic Semi web site. Reordered entries to match the order found in the document. Also added an entry for an undocumented hwid discovered while flashing the PCA10031 and PCA10028 dev boards. Change-Id: Icca7da103d437dc28e651f27ab937fe953b9aac9 Signed-off-by: Theodore A. Roth <troth@openavr.org> Reviewed-on: http://openocd.zylin.com/2514 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Diffstat (limited to 'src/flash/nor/nrf51.c')
-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 af412e2..34297ef 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)