mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-26 14:42:36 +02:00
Add support for all Sanyo LE25FW chips
Add... - Sanyo LE25FW403A - Sanyo LE25FW418A - Sanyo LE25FW806 - Sanyo LE25FW808 Also, fix wrong description of Sanyo LE25FW203A. Corresponding to flashrom svn r1684. Signed-off-by: Nikolay Nikolaev <evrinoma@gmail.com> Reviewed-by: Steven Zakulec <spzakulec@gmail.com> Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
This commit is contained in:
parent
b6b00e99aa
commit
384de8e745
142
flashchips.c
142
flashchips.c
@ -7431,11 +7431,11 @@ const struct flashchip flashchips[] = {
|
||||
|
||||
{
|
||||
.vendor = "Sanyo",
|
||||
.name = "LF25FW203A",
|
||||
.name = "LE25FW203A",
|
||||
.bustype = BUS_SPI,
|
||||
.manufacture_id = SANYO_ID,
|
||||
.model_id = SANYO_LE25FW203A,
|
||||
.total_size = 2048,
|
||||
.total_size = 256,
|
||||
.page_size = 256,
|
||||
.tested = TEST_UNTESTED,
|
||||
.probe = probe_spi_rdid,
|
||||
@ -7443,17 +7443,147 @@ const struct flashchip flashchips[] = {
|
||||
.block_erasers =
|
||||
{
|
||||
{
|
||||
.eraseblocks = { {64 * 1024, 32} },
|
||||
.eraseblocks = { {256, 1024} },
|
||||
.block_erase = spi_block_erase_db,
|
||||
}, {
|
||||
.eraseblocks = { {64 * 1024, 4} },
|
||||
.block_erase = spi_block_erase_d8,
|
||||
}, {
|
||||
.eraseblocks = { {2 * 1024 * 1024, 1} },
|
||||
.eraseblocks = { {256 * 1024, 1} },
|
||||
.block_erase = spi_block_erase_c7,
|
||||
}
|
||||
},
|
||||
.printlock = spi_prettyprint_status_register_plain, /* TODO: improve */
|
||||
.unlock = spi_disable_blockprotect,
|
||||
.printlock = spi_prettyprint_status_register_default_welwip,
|
||||
.unlock = NULL, /* #WP pin write-protects lower 64kB. */
|
||||
.write = spi_chip_write_256,
|
||||
.read = spi_chip_read,
|
||||
.voltage = {2700, 3600},
|
||||
},
|
||||
|
||||
{
|
||||
.vendor = "Sanyo",
|
||||
.name = "LE25FW403A",
|
||||
.bustype = BUS_SPI,
|
||||
.manufacture_id = SANYO_ID,
|
||||
.model_id = SANYO_LE25FW403A,
|
||||
.total_size = 512,
|
||||
.page_size = 256,
|
||||
.tested = TEST_UNTESTED,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers = {
|
||||
{
|
||||
.eraseblocks = { {256, 2 * 1024} },
|
||||
.block_erase = spi_block_erase_db,
|
||||
}, {
|
||||
.eraseblocks = { {64 * 1024, 8} },
|
||||
.block_erase = spi_block_erase_d8,
|
||||
}, {
|
||||
.eraseblocks = { {512 * 1024, 1} },
|
||||
.block_erase = spi_block_erase_c7,
|
||||
}
|
||||
},
|
||||
.printlock = spi_prettyprint_status_register_default_welwip,
|
||||
.unlock = NULL, /* #WP pin write-protects lower 64kB. */
|
||||
.write = spi_chip_write_256,
|
||||
.read = spi_chip_read,
|
||||
.voltage = {2700, 3600},
|
||||
},
|
||||
|
||||
{
|
||||
.vendor = "Sanyo",
|
||||
.name = "LE25FW418A",
|
||||
.bustype = BUS_SPI,
|
||||
.manufacture_id = SANYO_ID,
|
||||
.model_id = SANYO_LE25FW418A,
|
||||
.total_size = 512,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_UNTESTED,
|
||||
.probe = probe_spi_res2,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers = {
|
||||
{
|
||||
.eraseblocks = { {4 * 1024, 128} },
|
||||
.block_erase = spi_block_erase_d7,
|
||||
}, {
|
||||
.eraseblocks = { {64 * 1024, 8} },
|
||||
.block_erase = spi_block_erase_d8,
|
||||
}, {
|
||||
.eraseblocks = { {512 * 1024, 1} },
|
||||
.block_erase = spi_block_erase_c7,
|
||||
}
|
||||
},
|
||||
.printlock = spi_prettyprint_status_register_default_bp2,
|
||||
.unlock = spi_disable_blockprotect, /* #WP pin write-protects SRWP bit. */
|
||||
.write = spi_chip_write_256,
|
||||
.read = spi_chip_read, /* some quad-read supported ("HD_READ mode") */
|
||||
.voltage = {2700, 3600},
|
||||
},
|
||||
|
||||
{
|
||||
.vendor = "Sanyo",
|
||||
.name = "LE25FW806",
|
||||
.bustype = BUS_SPI,
|
||||
.manufacture_id = SANYO_ID,
|
||||
.model_id = SANYO_LE25FW806,
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_UNTESTED,
|
||||
.probe = probe_spi_res2,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers = {
|
||||
{
|
||||
.eraseblocks = { {4 * 1024, 256} },
|
||||
.block_erase = spi_block_erase_20,
|
||||
}, {
|
||||
.eraseblocks = { {4 * 1024, 256} },
|
||||
.block_erase = spi_block_erase_d7,
|
||||
}, {
|
||||
.eraseblocks = { {64 * 1024, 16} },
|
||||
.block_erase = spi_block_erase_d8,
|
||||
}, {
|
||||
.eraseblocks = { {1024 * 1024, 1} },
|
||||
.block_erase = spi_block_erase_c7,
|
||||
}
|
||||
},
|
||||
.printlock = spi_prettyprint_status_register_default_bp2,
|
||||
.unlock = spi_disable_blockprotect, /* #WP pin write-protects SRWP bit. */
|
||||
.write = spi_chip_write_256,
|
||||
.read = spi_chip_read,
|
||||
.voltage = {2700, 3600},
|
||||
},
|
||||
|
||||
{
|
||||
.vendor = "Sanyo",
|
||||
.name = "LE25FW808",
|
||||
.bustype = BUS_SPI,
|
||||
.manufacture_id = SANYO_ID,
|
||||
.model_id = SANYO_LE25FW808,
|
||||
.total_size = 1024,
|
||||
.page_size = 256,
|
||||
.feature_bits = FEATURE_WRSR_WREN,
|
||||
.tested = TEST_UNTESTED,
|
||||
.probe = probe_spi_res2,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers = {
|
||||
{
|
||||
.eraseblocks = { {8 * 1024, 128} },
|
||||
.block_erase = spi_block_erase_d7,
|
||||
}, {
|
||||
.eraseblocks = { {64 * 1024, 16} },
|
||||
.block_erase = spi_block_erase_d8,
|
||||
}, {
|
||||
.eraseblocks = { {1024 * 1024, 1} },
|
||||
.block_erase = spi_block_erase_c7,
|
||||
}
|
||||
},
|
||||
.printlock = spi_prettyprint_status_register_default_bp2,
|
||||
.unlock = spi_disable_blockprotect, /* #WP pin write-protects SRWP bit. */
|
||||
.write = spi_chip_write_256,
|
||||
.read = spi_chip_read, /* some quad-read supported ("HD_READ mode") */
|
||||
.voltage = {2700, 3600},
|
||||
},
|
||||
|
||||
{
|
||||
|
@ -494,6 +494,11 @@
|
||||
*/
|
||||
#define SANYO_ID 0x62
|
||||
#define SANYO_LE25FW203A 0x1600
|
||||
#define SANYO_LE25FW403A 0x1100
|
||||
#define SANYO_LE25FW406 0x07 /* RES2 */
|
||||
#define SANYO_LE25FW418A 0x10 /* RES2 and some weird 1 byte RDID variant */
|
||||
#define SANYO_LE25FW806 0x26 /* RES2 and some weird 1 byte RDID variant */
|
||||
#define SANYO_LE25FW808 0x20 /* RES2 and some weird 1 byte RDID variant */
|
||||
|
||||
#define SHARP_ID 0xB0 /* Sharp */
|
||||
#define SHARP_LH28F008BJ__PT 0xEC
|
||||
|
Loading…
x
Reference in New Issue
Block a user