Nico Huber has uploaded this change for review. ( https://review.coreboot.org/23054
Change subject: AMD chip IDs fix-up ......................................................................
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 */