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>
This commit is contained in:
Theodore A. Roth 2015-01-28 17:23:16 -07:00 committed by Paul Fertser
parent 73867c260a
commit db8029bc26
1 changed files with 185 additions and 53 deletions

View File

@ -129,62 +129,13 @@ struct nrf51_device_spec {
}; };
static const struct nrf51_device_spec nrf51_known_devices_table[] = { static const struct nrf51_device_spec nrf51_known_devices_table[] = {
/* nRF51822 Devices (IC rev 1). */
{ {
.hwid = 0x001D, .hwid = 0x001D,
.variant = "QFAA", .variant = "QFAA",
.build_code = "CA/C0", .build_code = "CA/C0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
{
.hwid = 0x002A,
.variant = "QFAA",
.build_code = "FA",
.flash_size_kb = 256,
},
{
.hwid = 0x0044,
.variant = "QFAA",
.build_code = "GC",
.flash_size_kb = 256,
},
{
.hwid = 0x003C,
.variant = "QFAA",
.build_code = "G0",
.flash_size_kb = 256,
},
{
.hwid = 0x0020,
.variant = "CEAA",
.build_code = "BA",
.flash_size_kb = 256,
},
{
.hwid = 0x002F,
.variant = "CEAA",
.build_code = "B0",
.flash_size_kb = 256,
},
{
.hwid = 0x0040,
.variant = "CEAA",
.build_code = "CA",
.flash_size_kb = 256,
},
{
.hwid = 0x0047,
.variant = "CEAA",
.build_code = "DA",
.flash_size_kb = 256,
},
{
.hwid = 0x004D,
.variant = "CEAA",
.build_code = "D0",
.flash_size_kb = 256,
},
{ {
.hwid = 0x0026, .hwid = 0x0026,
.variant = "QFAB", .variant = "QFAB",
@ -198,12 +149,193 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
.flash_size_kb = 128, .flash_size_kb = 128,
}, },
{ {
.hwid = 0x004C, .hwid = 0x0020,
.variant = "QFAB", .variant = "CEAA",
.build_code = "BA",
.flash_size_kb = 256,
},
{
.hwid = 0x002F,
.variant = "CEAA",
.build_code = "B0", .build_code = "B0",
.flash_size_kb = 128, .flash_size_kb = 256,
}, },
/* nRF51822 Devices (IC rev 2). */
{
.hwid = 0x002A,
.variant = "QFAA",
.build_code = "FA0",
.flash_size_kb = 256,
},
{
.hwid = 0x0044,
.variant = "QFAA",
.build_code = "GC0",
.flash_size_kb = 256,
},
{
.hwid = 0x003C,
.variant = "QFAA",
.build_code = "Gx0",
.flash_size_kb = 256,
},
{
.hwid = 0x004C,
.variant = "QFAB",
.build_code = "Bx0",
.flash_size_kb = 128,
},
{
.hwid = 0x0040,
.variant = "CEAA",
.build_code = "CA0",
.flash_size_kb = 256,
},
{
.hwid = 0x0047,
.variant = "CEAA",
.build_code = "DA0",
.flash_size_kb = 256,
},
{
.hwid = 0x004D,
.variant = "CEAA",
.build_code = "D00",
.flash_size_kb = 256,
},
/* nRF51822 Devices (IC rev 3). */
{
.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 = "Ex0",
.flash_size_kb = 256,
},
{
.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 = "A0A",
.flash_size_kb = 256,
},
/* nRF51422 Devices (IC rev 2). */
{
.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 = "A00",
.flash_size_kb = 128,
},
{
.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 = "Bx0",
.flash_size_kb = 128,
},
{
.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) static int nrf51_bank_is_probed(struct flash_bank *bank)