From: Theodore A. Roth Date: Thu, 29 Jan 2015 00:23:16 +0000 (-0700) Subject: nrf51: Update known devices table. X-Git-Tag: v0.9.0-rc1~112 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=db8029bc266187c54a35a37a80256c343bf4bf92;p=openocd 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 Reviewed-on: http://openocd.zylin.com/2514 Tested-by: jenkins Reviewed-by: Paul Fertser --- 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,81 +129,213 @@ struct nrf51_device_spec { }; static const struct nrf51_device_spec nrf51_known_devices_table[] = { + /* nRF51822 Devices (IC rev 1). */ { .hwid = 0x001D, .variant = "QFAA", .build_code = "CA/C0", .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)