Hi,
This serie is adding the Eon EN29LV040A. It was tested with the following programmer(satasii): 04:06.0 RAID bus controller [0104]: Silicon Image, Inc. PCI0680 Ultra ATA-133 Host Controller [1095:0680] (rev 02)
Do I need to send flashrom -VV logs too?
Denis.
The wrong ID was not used. The new one was taken from the EN29LV040A datasheet.
Signed-off-by: Denis 'GNUtoo' Carikli GNUtoo@no-log.org --- flashchips.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/flashchips.h b/flashchips.h index a850e4c..8805993 100644 --- a/flashchips.h +++ b/flashchips.h @@ -271,51 +271,51 @@ #define EON_EN25F64 0x3117 #define EON_EN25Q40 0x3013 #define EON_EN25Q80 0x3014 #define EON_EN25Q16 0x3015 /* Same as EN25D16 */ #define EON_EN25Q32 0x3016 /* Same as EN25Q32A and EN25Q32B */ #define EON_EN25Q64 0x3017 #define EON_EN25Q128 0x3018 #define EON_EN25QH16 0x7015 #define EON_EN25QH32 0x7016 #define EON_EN25QH64 0x7017 #define EON_EN25QH128 0x7018 #define EON_EN25QH256 0x7019 #define EON_EN25S10 0x3811 #define EON_EN25S20 0x3812 #define EON_EN25S40 0x3813 #define EON_EN25S80 0x3814 #define EON_EN25S16 0x3815 #define EON_EN25S32 0x3816 #define EON_EN25S64 0x3817 #define EON_EN25T80 0x5114 #define EON_EN25T16 0x5115 #define EON_EN29F512 0x7F21 #define EON_EN29F010 0x20 #define EON_EN29F040A 0x7F04 #define EON_EN29LV010 0x7F6E -#define EON_EN29LV040A 0x7F4F /* EN29LV040(A) */ +#define EON_EN29LV040A 0x4F /* EN29LV040(A) */ #define EON_EN29LV640B 0xCB #define EON_EN29F002T 0x7F92 /* Same as EN29F002A */ #define EON_EN29F002B 0x7F97 /* Same as EN29F002AN */ #define EON_EN29GL064HL 0x7E0C01 /* Uniform Sectors, WP protects Top OR Bottom sector */ #define EON_EN29GL064T 0x7E1001 /* Same ID as EN29GL064AT */ #define EON_EN29GL064B 0x7E1000 /* Same ID as EN29GL064AB */ #define EON_EN29GL128HL 0x7F2101 /* Uniform Sectors, WP protects Top OR Bottom sector */ #define EON_EN29GL256HL 0x7F2201 /* Uniform Sectors, WP protects Top OR Bottom sector */
#define EXCEL_ID 0x7F7F7F7F4A /* Excel Semiconductor Inc. (ESI) resides in bank 5 */ #define EXCEL_ID_NOPREFIX 0x4A /* ESI, missing 0x7F prefix */ #define EXCEL_ES25P40 0x2013 #define EXCEL_ES25P80 0x2014 #define EXCEL_ES25P16 0x2015
#define FIDELIX_ID 0xF8 /* Fidelix */ #define FIDELIX_FM25M16 0x4215 #define FIDELIX_FM25M32 0x4216 #define FIDELIX_FM25M64 0x4217 #define FIDELIX_FM25Q08 0x3214 #define FIDELIX_FM25Q16 0x3215 /* Same as FM25S16 (which is apparently single I/O only) */ #define FIDELIX_FM25Q32 0x3216 #define FIDELIX_FM25Q64 0x3217
#define FUJITSU_ID 0x04 /* Fujitsu */
Tested-by: Denis 'GNUtoo' Carikli GNUtoo@no-log.org Signed-off-by: Denis 'GNUtoo' Carikli GNUtoo@no-log.org --- flashchips.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
diff --git a/flashchips.c b/flashchips.c index 39fd671..abc78cb 100644 --- a/flashchips.c +++ b/flashchips.c @@ -4777,50 +4777,78 @@ const struct flashchip flashchips[] = { .model_id = EON_EN29F010, .total_size = 128, .page_size = 128, .feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET, .tested = TEST_OK_PRE, .probe = probe_jedec, .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */ .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 = "Eon", + .name = "EN29LV040A", + .bustype = BUS_PARALLEL, + .manufacture_id = EON_ID, + .model_id = EON_EN29LV040A, /* TODO: define it in flashchips.h */ + .total_size = 512, + .page_size = 4 * 1024, + .feature_bits = 0, + .tested = TEST_OK_PREW, + .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 = {3000, 3600}, + }, + + { + .vendor = "Eon", .name = "EN29F002(A)(N)B", .bustype = BUS_PARALLEL, .manufacture_id = EON_ID, .model_id = EON_EN29F002B, .total_size = 256, .page_size = 256, .feature_bits = FEATURE_ADDR_AAA | FEATURE_EITHER_RESET, .tested = TEST_OK_PR, .probe = probe_jedec, .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */ .block_erasers = { { .eraseblocks = { {16 * 1024, 1}, {8 * 1024, 2}, {32 * 1024, 1}, {64 * 1024, 3}, }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec, }, },
On Sat, 1 Nov 2014 08:22:43 +0100 "Denis 'GNUtoo' Carikli" GNUtoo@no-log.org wrote:
Hi,
This serie is adding the Eon EN29LV040A. It was tested with the following programmer(satasii): 04:06.0 RAID bus controller [0104]: Silicon Image, Inc. PCI0680 Ultra ATA-133 Host Controller [1095:0680] (rev 02)
Thanks Denis. I have applied your patches almost verbatim in r1857.