Nico Huber has uploaded this change for review.

View Change

AMD chip IDs fix-up

Hi,

This patch:

- Changes chip ID constant names to the "canonical" chip name for AMD chips

- Adds useful comments where the same ID corresponds to different chips.

- Also adds a bunch of new chip IDs.

All IDs are verified against the official AMD datasheets.

Change-Id: Ie7af105d8fc45ede0612129ab29e20594ee00d5e
Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
---
M flashchips.c
M flashchips.h
2 files changed, 92 insertions(+), 36 deletions(-)

git pull ssh://review.coreboot.org:29418/flashrom refs/changes/54/23054/1
diff --git a/flashchips.c b/flashchips.c
index 946e4fc..9ae5c34 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -58,10 +58,10 @@

{
.vendor = "AMD",
- .name = "Am29F010A/B",
+ .name = "Am29F010/A/B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = AMD_ID,
- .model_id = AMD_AM29F010B, /* Same as Am29F010A */
+ .model_id = AMD_AM29F010, /* Am29F010/A/B */
.total_size = 128,
.page_size = 16 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
@@ -87,7 +87,7 @@
.name = "Am29F002(N)BB",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = AMD_ID,
- .model_id = AMD_AM29F002BB,
+ .model_id = AMD_AM29F002BB, /* Am29F002(N)BB */
.total_size = 256,
.page_size = 256,
.feature_bits = FEATURE_SHORT_RESET | FEATURE_ADDR_2AA,
@@ -118,7 +118,7 @@
.name = "Am29F002(N)BT",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = AMD_ID,
- .model_id = AMD_AM29F002BT,
+ .model_id = AMD_AM29F002BT, /* Am29F002(N)BT */
.total_size = 256,
.page_size = 256,
.feature_bits = FEATURE_EITHER_RESET | FEATURE_ADDR_2AA,
@@ -146,10 +146,10 @@

{
.vendor = "AMD",
- .name = "Am29F016D",
+ .name = "Am29F016/B/D",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = AMD_ID,
- .model_id = AMD_AM29F016D,
+ .model_id = AMD_AM29F016, /* Am29F016/B/D */
.total_size = 2 * 1024,
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
@@ -172,10 +172,10 @@

{
.vendor = "AMD",
- .name = "Am29F040B",
+ .name = "Am29F040/B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = AMD_ID,
- .model_id = AMD_AM29F040B,
+ .model_id = AMD_AM29F040, /* Am29F040/B */
.total_size = 512,
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
@@ -250,10 +250,10 @@

{
.vendor = "AMD",
- .name = "Am29LV081B",
+ .name = "Am29LV081/B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = AMD_ID,
- .model_id = AMD_AM29LV080B,
+ .model_id = AMD_AM29LV081, /* Am29LV081/B */
.total_size = 1024,
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
diff --git a/flashchips.h b/flashchips.h
index dbe6d93..d5079d1 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -52,38 +52,94 @@
#define ALLIANCE_AS29LV800T 0xDA

#define AMD_ID 0x01 /* AMD */
-#define AMD_AM29DL400BT 0x0C
+#define AMD_AM28F010 0xA7
+#define AMD_AM28F010A 0xA2
+#define AMD_AM28F020 0x2A
+#define AMD_AM28F020A 0x29
+#define AMD_AM28F256 0xA1
+#define AMD_AM28F256A 0x2F
+#define AMD_AM28F512 0x25
+#define AMD_AM28F512A 0xAE
+#define AMD_AM29DL161DB 0x39
+#define AMD_AM29DL161DT 0x36
+#define AMD_AM29DL162B 0x2E /* Am29DL162{C,D}B */
+#define AMD_AM29DL162T 0x2D /* Am29DL162{C,D}T */
+#define AMD_AM29DL163B 0x2B /* Am29DL163{C,D}B */
+#define AMD_AM29DL163T 0x28 /* Am29DL163{C,D}T */
+#define AMD_AM29DL164B 0x35 /* Am29DL164{C,D}B */
+#define AMD_AM29DL164T 0x33 /* Am29DL164{C,D}T */
+#define AMD_AM29DL322B 0x56 /* Am29DL322{C,D,G}B */
+#define AMD_AM29DL322T 0x55 /* Am29DL322{C,D,G}T */
+#define AMD_AM29DL323B 0x53 /* Am29DL323{C,D,G}B */
+#define AMD_AM29DL323T 0x50 /* Am29DL323{C,D,G}T */
+#define AMD_AM29DL324B 0x5F /* Am29DL324{D,G}B */
+#define AMD_AM29DL324T 0x5C /* Am29DL324{D,G}T */
#define AMD_AM29DL400BB 0x0F
-#define AMD_AM29DL800BT 0x4A
+#define AMD_AM29DL400BT 0x0C
+#define AMD_AM29DL640D 0x7E
#define AMD_AM29DL800BB 0xCB
-#define AMD_AM29F002BB 0x34 /* Same as Am29F002NBB */
-#define AMD_AM29F002BT 0xB0 /* Same as Am29F002NBT */
+#define AMD_AM29DL800BT 0x4A
+#define AMD_AM29DS163DB 0x96
+#define AMD_AM29DS163DT 0x95
+#define AMD_AM29DS322GB 0xC0
+#define AMD_AM29DS322GT 0xBB
+#define AMD_AM29DS323GB 0xB8
+#define AMD_AM29DS323GT 0xB7
+#define AMD_AM29DS324GB 0xCA
+#define AMD_AM29DS324GT 0xC9
+#define AMD_AM29F002BB 0x34 /* Am29F002(N)BB */
+#define AMD_AM29F002BT 0xB0 /* Am29F002(N)BT */
#define AMD_AM29F004BB 0x7B
#define AMD_AM29F004BT 0x77
-#define AMD_AM29F016D 0xAD
-#define AMD_AM29F010B 0x20 /* Same as Am29F010A */
-#define AMD_AM29F040B 0xA4
+#define AMD_AM29F010 0x20 /* Am29F010/A/B */
+#define AMD_AM29F016 0xAD /* Am29F016/B/D */
+#define AMD_AM29F017B 0x3D /* Am29F017{B,D} */
+#define AMD_AM29F032B 0x41
+#define AMD_AM29F040 0xA4 /* Am29F040/B */
#define AMD_AM29F080B 0xD5
-#define AMD_AM29F200BB 0x57
-#define AMD_AM29F200BT 0x51
-#define AMD_AM29F400BB 0xAB
-#define AMD_AM29F400BT 0x23
-#define AMD_AM29F800BB 0x58
-#define AMD_AM29F800BT 0xD6
-#define AMD_AM29LV002BB 0xC2
-#define AMD_AM29LV002BT 0x40
-#define AMD_AM29LV004BB 0xB6
-#define AMD_AM29LV004BT 0xB5
-#define AMD_AM29LV008BB 0x37
-#define AMD_AM29LV008BT 0x3E
+#define AMD_AM29F100B 0xDF
+#define AMD_AM29F100T 0xD9
+#define AMD_AM29F160DB 0xD8
+#define AMD_AM29F160DT 0xD2
+#define AMD_AM29F200B 0x57 /* Am29F200{A,B}B */
+#define AMD_AM29F200T 0x51 /* Am29F200{A,B}T */
+#define AMD_AM29F400B 0xAB /* Am29F400{A,B}B */
+#define AMD_AM29F400T 0x23 /* Am29F400{A,B}T */
+#define AMD_AM29F800B 0x58 /* Am29F800(B)B */
+#define AMD_AM29F800T 0xD6 /* Am29F800(B)T */
+#define AMD_AM29LV001BB 0x6D
+#define AMD_AM29LV001BT 0xED
+#define AMD_AM29LV002B 0xC2 /* Am29LV002(B)B */
+#define AMD_AM29LV002T 0x40 /* Am29LV002(B)T */
+#define AMD_AM29LV004B 0xB6 /* Am29LV004(B)B */
+#define AMD_AM29LV004T 0xB5 /* Am29LV004(B)T */
+#define AMD_AM29LV008B 0x37 /* Am29LV008(B)B */
+#define AMD_AM29LV008T 0x3E /* Am29LV008(B)T */
+#define AMD_AM29LV010B 0x6E
+#define AMD_AM29LV017 0xC8 /* Am29LV017{B,D} */
+#define AMD_AM29LV033C 0xA3
#define AMD_AM29LV040B 0x4F
-#define AMD_AM29LV080B 0x38 /* Same as Am29LV081B */
-#define AMD_AM29LV200BB 0xBF
-#define AMD_AM29LV200BT 0x3B
-#define AMD_AM29LV800BB 0x5B /* Same as Am29LV800DB */
-#define AMD_AM29LV400BT 0xB9
-#define AMD_AM29LV400BB 0xBA
-#define AMD_AM29LV800BT 0xDA /* Same as Am29LV800DT */
+#define AMD_AM29LV065D 0x93 /* Am29LV065D/Am29LV652D */
+#define AMD_AM29LV081 0x38 /* Am29LV081/B */
+#define AMD_AM29LV116B 0x4C /* Am29LV116{B,D}B */
+#define AMD_AM29LV116T 0xC7 /* Am29LV116{B,D}T */
+#define AMD_AM29LV160B 0x49 /* Am29LV160{B,D,M}B */
+#define AMD_AM29LV160T 0xC4 /* Am29LV160{B,D,M}T */
+#define AMD_AM29LV200B 0xBF /* Am29LV200(B)B */
+#define AMD_AM29LV200T 0x3B /* Am29LV200(B)T */
+#define AMD_AM29LV320DB 0xF9
+#define AMD_AM29LV320DT 0xF6
+#define AMD_AM29LV400B 0xBA /* Am29LV400(B)B */
+#define AMD_AM29LV400T 0xB9 /* Am29LV400(B)T */
+#define AMD_AM29LV800B 0x5B /* Am29LV800({B,D})B */
+#define AMD_AM29LV800T 0xDA /* Am29LV800({B,D})T */
+#define AMD_AM29PL160CB 0x45
+#define AMD_AM29SL160CB 0xE7
+#define AMD_AM29SL160CT 0xE4
+#define AMD_AM29SL400B 0xF1 /* Am29SL400{C,D}B */
+#define AMD_AM29SL400T 0x70 /* Am29SL400{C,D}T */
+#define AMD_AM29SL800B 0x6B /* Am29LL800BB/Am29SL800{B,C,D}B */
+#define AMD_AM29SL800T 0xEA /* Am29LL800BB/Am29SL800{B,C,D}T */

#define AMIC_ID 0x7F37 /* AMIC */
#define AMIC_ID_NOPREFIX 0x37 /* AMIC */

To view, visit change 23054. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie7af105d8fc45ede0612129ab29e20594ee00d5e
Gerrit-Change-Number: 23054
Gerrit-PatchSet: 1
Gerrit-Owner: Nico Huber <nico.h@gmx.de>