aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2016-01-31 23:17:35 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2016-01-31 23:17:35 +0000
commit22c08dbd08a0508e6ce765041edd3ee75b0b1e65 (patch)
tree8f38fb7204809a828091480a61ed25f1ea1d3f23
parente936031f8760b7906eea3692f18a9f0cbdb8e421 (diff)
Separate Am29F0xx from Am29F0xxA/B definitions
The earlier versions of the chip require 0x2AAA for probes thus split the definitions and set them to untested to provoke reports. Corresponding to flashrom svn r1922. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
-rw-r--r--flashchips.c89
-rw-r--r--flashchips.h6
2 files changed, 88 insertions, 7 deletions
diff --git a/flashchips.c b/flashchips.c
index 2164c5e..6fa6446 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -59,14 +59,41 @@ const struct flashchip flashchips[] = {
{
.vendor = "AMD",
+ .name = "Am29F010",
+ .bustype = BUS_PARALLEL,
+ .manufacture_id = AMD_ID,
+ .model_id = AMD_AM29F010,
+ .total_size = 128,
+ .page_size = 16 * 1024,
+ .feature_bits = FEATURE_SHORT_RESET,
+ .tested = TEST_UNTESTED,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {16 * 1024, 8} },
+ .block_erase = erase_sector_jedec,
+ }, {
+ .eraseblocks = { {128 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ },
+ },
+ .write = write_jedec_1,
+ .read = read_memmapped,
+ .voltage = {4500, 5500},
+ },
+
+ {
+ .vendor = "AMD",
.name = "Am29F010A/B",
.bustype = BUS_PARALLEL,
.manufacture_id = AMD_ID,
- .model_id = AMD_AM29F010B, /* Same as Am29F010A */
+ .model_id = AMD_AM29F010,
.total_size = 128,
.page_size = 16 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
- .tested = TEST_OK_PRE,
+ .tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO,
.block_erasers =
@@ -177,10 +204,37 @@ const struct flashchip flashchips[] = {
{
.vendor = "AMD",
+ .name = "Am29F040",
+ .bustype = BUS_PARALLEL,
+ .manufacture_id = AMD_ID,
+ .model_id = AMD_AM29F040,
+ .total_size = 512,
+ .page_size = 64 * 1024,
+ .feature_bits = FEATURE_EITHER_RESET,
+ .tested = TEST_UNTESTED,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = erase_sector_jedec,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ },
+ },
+ .write = write_jedec_1,
+ .read = read_memmapped,
+ .voltage = {4500, 5500},
+ },
+
+ {
+ .vendor = "AMD",
.name = "Am29F040B",
.bustype = BUS_PARALLEL,
.manufacture_id = AMD_ID,
- .model_id = AMD_AM29F040B,
+ .model_id = AMD_AM29F040,
.total_size = 512,
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
@@ -204,10 +258,37 @@ const struct flashchip flashchips[] = {
{
.vendor = "AMD",
+ .name = "Am29F080",
+ .bustype = BUS_PARALLEL,
+ .manufacture_id = AMD_ID,
+ .model_id = AMD_AM29F080,
+ .total_size = 1024,
+ .page_size = 64 * 1024,
+ .feature_bits = FEATURE_EITHER_RESET,
+ .tested = TEST_UNTESTED,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {64 * 1024, 16} },
+ .block_erase = erase_sector_jedec,
+ }, {
+ .eraseblocks = { {1024 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ },
+ },
+ .write = write_jedec_1,
+ .read = read_memmapped,
+ .voltage = {4500, 5500},
+ },
+
+ {
+ .vendor = "AMD",
.name = "Am29F080B",
.bustype = BUS_PARALLEL,
.manufacture_id = AMD_ID,
- .model_id = AMD_AM29F080B,
+ .model_id = AMD_AM29F080,
.total_size = 1024,
.page_size = 64 * 1024,
.feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
diff --git a/flashchips.h b/flashchips.h
index f700025..74c44a0 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -64,9 +64,9 @@
#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_AM29F080B 0xD5
+#define AMD_AM29F010 0x20 /* Same as Am29F010A and Am29F010B */
+#define AMD_AM29F040 0xA4 /* Same as AM29F040B */
+#define AMD_AM29F080 0xD5 /* Same as Am29F080B */
#define AMD_AM29F200BB 0x57
#define AMD_AM29F200BT 0x51
#define AMD_AM29F400BB 0xAB