Skip to content
Snippets Groups Projects
Commit a50f5afd authored by Peter A. Bigot's avatar Peter A. Bigot Committed by Paul Fertser
Browse files

nrf51: refine and extend known devices table

The notation Gx0 in the nRF51 Series Compatibility Matrix indicates that
the specified HWID is valid only for build code 0 of each chip, and for
subsequent builds the HWID will be different.  Replace the Gx0 notation
with G0 throughout, and add the missing HWID for nRF51422 QFAC A1
(present on the newer nRF51 developer boards).

See: https://www.nordicsemi.com/eng/nordic/download_resource/41917/5/55913589
See: https://devzone.nordicsemi.com/question/30774/mapping-hwid-to-revision-information/



Change-Id: I79d842137d41342db35904867c48b06fbc6fbc70
Signed-off-by: default avatarPeter A. Bigot <pab@pabigot.com>
Signed-off-by: default avatarAngus Gratton <gus@projectgus.com>
Reviewed-on: http://openocd.zylin.com/2593


Tested-by: jenkins
Reviewed-by: default avatarPaul Fertser <fercerpav@gmail.com>
parent 218747db
No related branches found
No related tags found
No related merge requests found
...@@ -128,6 +128,18 @@ struct nrf51_device_spec { ...@@ -128,6 +128,18 @@ struct nrf51_device_spec {
unsigned int flash_size_kb; unsigned int flash_size_kb;
}; };
/* The known devices table below is derived from the "nRF51 Series
* Compatibility Matrix" document, which can be found by searching for
* ATTN-51 on the Nordic Semi website:
*
* http://www.nordicsemi.com/eng/content/search?SearchText=ATTN-51
*
* Up to date with Matrix v2.0, plus some additional HWIDs.
*
* The additional HWIDs apply where the build code in the matrix is
* shown as Gx0, Bx0, etc. In these cases the HWID in the matrix is
* for x==0, x!=0 means different (unspecified) HWIDs.
*/
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). */ /* nRF51822 Devices (IC rev 1). */
{ {
...@@ -177,13 +189,13 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = { ...@@ -177,13 +189,13 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{ {
.hwid = 0x003C, .hwid = 0x003C,
.variant = "QFAA", .variant = "QFAA",
.build_code = "Gx0", .build_code = "G0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
{ {
.hwid = 0x004C, .hwid = 0x004C,
.variant = "QFAB", .variant = "QFAB",
.build_code = "Bx0", .build_code = "B0",
.flash_size_kb = 128, .flash_size_kb = 128,
}, },
{ {
...@@ -209,37 +221,37 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = { ...@@ -209,37 +221,37 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{ {
.hwid = 0x0072, .hwid = 0x0072,
.variant = "QFAA", .variant = "QFAA",
.build_code = "Hx0", .build_code = "H0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
{ {
.hwid = 0x007B, .hwid = 0x007B,
.variant = "QFAB", .variant = "QFAB",
.build_code = "Cx0", .build_code = "C0",
.flash_size_kb = 128, .flash_size_kb = 128,
}, },
{ {
.hwid = 0x0083, .hwid = 0x0083,
.variant = "QFAC", .variant = "QFAC",
.build_code = "Ax0", .build_code = "A0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
{ {
.hwid = 0x007D, .hwid = 0x007D,
.variant = "CDAB", .variant = "CDAB",
.build_code = "Ax0", .build_code = "A0",
.flash_size_kb = 128, .flash_size_kb = 128,
}, },
{ {
.hwid = 0x0079, .hwid = 0x0079,
.variant = "CEAA", .variant = "CEAA",
.build_code = "Ex0", .build_code = "E0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
{ {
.hwid = 0x0087, .hwid = 0x0087,
.variant = "CFAC", .variant = "CFAC",
.build_code = "Ax0", .build_code = "A0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
...@@ -273,7 +285,7 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = { ...@@ -273,7 +285,7 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{ {
.hwid = 0x002E, .hwid = 0x002E,
.variant = "QFAA", .variant = "QFAA",
.build_code = "Ex0", .build_code = "E0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
{ {
...@@ -285,7 +297,7 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = { ...@@ -285,7 +297,7 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{ {
.hwid = 0x0050, .hwid = 0x0050,
.variant = "CEAA", .variant = "CEAA",
.build_code = "Bx0", .build_code = "B0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
...@@ -293,37 +305,43 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = { ...@@ -293,37 +305,43 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{ {
.hwid = 0x0073, .hwid = 0x0073,
.variant = "QFAA", .variant = "QFAA",
.build_code = "Fx0", .build_code = "F0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
{ {
.hwid = 0x007C, .hwid = 0x007C,
.variant = "QFAB", .variant = "QFAB",
.build_code = "Bx0", .build_code = "B0",
.flash_size_kb = 128, .flash_size_kb = 128,
}, },
{ {
.hwid = 0x0085, .hwid = 0x0085,
.variant = "QFAC", .variant = "QFAC",
.build_code = "Ax0", .build_code = "A0",
.flash_size_kb = 256,
},
{
.hwid = 0x0086,
.variant = "QFAC",
.build_code = "A1",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
{ {
.hwid = 0x007E, .hwid = 0x007E,
.variant = "CDAB", .variant = "CDAB",
.build_code = "Ax0", .build_code = "A0",
.flash_size_kb = 128, .flash_size_kb = 128,
}, },
{ {
.hwid = 0x007A, .hwid = 0x007A,
.variant = "CEAA", .variant = "CEAA",
.build_code = "Cx0", .build_code = "C0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
{ {
.hwid = 0x0088, .hwid = 0x0088,
.variant = "CFAC", .variant = "CFAC",
.build_code = "Ax0", .build_code = "A0",
.flash_size_kb = 256, .flash_size_kb = 256,
}, },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment