mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-26 22:52:34 +02:00
Add support for more Eon EN25QH chips
Add... - EN25QH64 - EN25QH128 - EN25QH256 (defunct due to addressing) Corresponding to flashrom svn r1688. 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
d0e3ea1470
commit
c08542b977
126
flashchips.c
126
flashchips.c
@ -3856,7 +3856,8 @@ const struct flashchip flashchips[] = {
|
|||||||
.page_size = 256,
|
.page_size = 256,
|
||||||
/* supports SFDP */
|
/* supports SFDP */
|
||||||
/* OTP: 512B total; enter 0x3A */
|
/* OTP: 512B total; enter 0x3A */
|
||||||
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
|
/* QPI enable 0x38, disable 0xFF */
|
||||||
|
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
|
||||||
.tested = TEST_OK_PR,
|
.tested = TEST_OK_PR,
|
||||||
.probe = probe_spi_rdid,
|
.probe = probe_spi_rdid,
|
||||||
.probe_timing = TIMING_ZERO,
|
.probe_timing = TIMING_ZERO,
|
||||||
@ -3876,8 +3877,8 @@ const struct flashchip flashchips[] = {
|
|||||||
.block_erase = spi_block_erase_c7,
|
.block_erase = spi_block_erase_c7,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
.printlock = spi_prettyprint_status_register_plain, /* TODO: improve */
|
.printlock = spi_prettyprint_status_register_default_bp3, /* bit6 is quad enable */
|
||||||
.unlock = spi_disable_blockprotect,
|
.unlock = spi_disable_blockprotect_bp3_srwd,
|
||||||
.write = spi_chip_write_256,
|
.write = spi_chip_write_256,
|
||||||
.read = spi_chip_read,
|
.read = spi_chip_read,
|
||||||
.voltage = {2700, 3600},
|
.voltage = {2700, 3600},
|
||||||
@ -3893,7 +3894,8 @@ const struct flashchip flashchips[] = {
|
|||||||
.page_size = 256,
|
.page_size = 256,
|
||||||
/* supports SFDP */
|
/* supports SFDP */
|
||||||
/* OTP: 512B total; enter 0x3A */
|
/* OTP: 512B total; enter 0x3A */
|
||||||
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
|
/* QPI enable 0x38, disable 0xFF */
|
||||||
|
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
|
||||||
.tested = TEST_UNTESTED,
|
.tested = TEST_UNTESTED,
|
||||||
.probe = probe_spi_rdid,
|
.probe = probe_spi_rdid,
|
||||||
.probe_timing = TIMING_ZERO,
|
.probe_timing = TIMING_ZERO,
|
||||||
@ -3913,8 +3915,120 @@ const struct flashchip flashchips[] = {
|
|||||||
.block_erase = spi_block_erase_c7,
|
.block_erase = spi_block_erase_c7,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
.printlock = spi_prettyprint_status_register_plain, /* TODO: improve */
|
.printlock = spi_prettyprint_status_register_default_bp3, /* bit6 is quad enable */
|
||||||
.unlock = spi_disable_blockprotect,
|
.unlock = spi_disable_blockprotect_bp3_srwd,
|
||||||
|
.write = spi_chip_write_256,
|
||||||
|
.read = spi_chip_read,
|
||||||
|
.voltage = {2700, 3600},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
.vendor = "Eon",
|
||||||
|
.name = "EN25QH64",
|
||||||
|
.bustype = BUS_SPI,
|
||||||
|
.manufacture_id = EON_ID_NOPREFIX,
|
||||||
|
.model_id = EON_EN25QH64,
|
||||||
|
.total_size = 8192,
|
||||||
|
.page_size = 256,
|
||||||
|
/* supports SFDP */
|
||||||
|
/* OTP: 512B total; enter 0x3A */
|
||||||
|
/* QPI enable 0x38, disable 0xFF */
|
||||||
|
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
|
||||||
|
.tested = TEST_UNTESTED,
|
||||||
|
.probe = probe_spi_rdid,
|
||||||
|
.probe_timing = TIMING_ZERO,
|
||||||
|
.block_erasers = {
|
||||||
|
{
|
||||||
|
.eraseblocks = { {4 * 1024, 2048} },
|
||||||
|
.block_erase = spi_block_erase_20,
|
||||||
|
}, {
|
||||||
|
.eraseblocks = { {64 * 1024, 128} },
|
||||||
|
.block_erase = spi_block_erase_d8,
|
||||||
|
}, {
|
||||||
|
.eraseblocks = { { 8192 * 1024, 1} },
|
||||||
|
.block_erase = spi_block_erase_60,
|
||||||
|
}, {
|
||||||
|
.eraseblocks = { { 8192 * 1024, 1} },
|
||||||
|
.block_erase = spi_block_erase_c7,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
.printlock = spi_prettyprint_status_register_default_bp3, /* bit6 is quad enable */
|
||||||
|
.unlock = spi_disable_blockprotect_bp3_srwd,
|
||||||
|
.write = spi_chip_write_256,
|
||||||
|
.read = spi_chip_read,
|
||||||
|
.voltage = {2700, 3600},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
.vendor = "Eon",
|
||||||
|
.name = "EN25QH128",
|
||||||
|
.bustype = BUS_SPI,
|
||||||
|
.manufacture_id = EON_ID_NOPREFIX,
|
||||||
|
.model_id = EON_EN25QH128,
|
||||||
|
.total_size = 16384,
|
||||||
|
.page_size = 256,
|
||||||
|
/* supports SFDP */
|
||||||
|
/* OTP: 512B total; enter 0x3A */
|
||||||
|
/* QPI enable 0x38, disable 0xFF */
|
||||||
|
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
|
||||||
|
.tested = TEST_UNTESTED,
|
||||||
|
.probe = probe_spi_rdid,
|
||||||
|
.probe_timing = TIMING_ZERO,
|
||||||
|
.block_erasers = {
|
||||||
|
{
|
||||||
|
.eraseblocks = { {4 * 1024, 4096} },
|
||||||
|
.block_erase = spi_block_erase_20,
|
||||||
|
}, {
|
||||||
|
.eraseblocks = { {64 * 1024, 256} },
|
||||||
|
.block_erase = spi_block_erase_d8,
|
||||||
|
}, {
|
||||||
|
.eraseblocks = { { 16384 * 1024, 1} },
|
||||||
|
.block_erase = spi_block_erase_60,
|
||||||
|
}, {
|
||||||
|
.eraseblocks = { { 16384 * 1024, 1} },
|
||||||
|
.block_erase = spi_block_erase_c7,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
.printlock = spi_prettyprint_status_register_default_bp3, /* bit6 is quad enable */
|
||||||
|
.unlock = spi_disable_blockprotect_bp3_srwd,
|
||||||
|
.write = spi_chip_write_256,
|
||||||
|
.read = spi_chip_read,
|
||||||
|
.voltage = {2700, 3600},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
.vendor = "Eon",
|
||||||
|
.name = "EN25QH256",
|
||||||
|
.bustype = BUS_SPI,
|
||||||
|
.manufacture_id = EON_ID_NOPREFIX,
|
||||||
|
.model_id = EON_EN25QH256,
|
||||||
|
.total_size = 32768,
|
||||||
|
.page_size = 256,
|
||||||
|
/* supports SFDP */
|
||||||
|
/* OTP: 512B total; enter 0x3A */
|
||||||
|
/* QPI enable 0x38, disable 0xFF */
|
||||||
|
/* EN4B: 0xB7, EX4B: 0xE9 */
|
||||||
|
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
|
||||||
|
.tested = TEST_BAD_REW,
|
||||||
|
.probe = probe_spi_rdid,
|
||||||
|
.probe_timing = TIMING_ZERO,
|
||||||
|
.block_erasers = {
|
||||||
|
{
|
||||||
|
.eraseblocks = { {4 * 1024, 8192} },
|
||||||
|
.block_erase = spi_block_erase_20,
|
||||||
|
}, {
|
||||||
|
.eraseblocks = { {64 * 1024, 512} },
|
||||||
|
.block_erase = spi_block_erase_d8,
|
||||||
|
}, {
|
||||||
|
.eraseblocks = { { 32768 * 1024, 1} },
|
||||||
|
.block_erase = spi_block_erase_60,
|
||||||
|
}, {
|
||||||
|
.eraseblocks = { { 32768 * 1024, 1} },
|
||||||
|
.block_erase = spi_block_erase_c7,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
.printlock = spi_prettyprint_status_register_default_bp3, /* bit6 is quad enable */
|
||||||
|
.unlock = spi_disable_blockprotect_bp3_srwd,
|
||||||
.write = spi_chip_write_256,
|
.write = spi_chip_write_256,
|
||||||
.read = spi_chip_read,
|
.read = spi_chip_read,
|
||||||
.voltage = {2700, 3600},
|
.voltage = {2700, 3600},
|
||||||
|
@ -259,6 +259,9 @@
|
|||||||
#define EON_EN25Q128 0x3018
|
#define EON_EN25Q128 0x3018
|
||||||
#define EON_EN25QH16 0x7015
|
#define EON_EN25QH16 0x7015
|
||||||
#define EON_EN25QH32 0x7016
|
#define EON_EN25QH32 0x7016
|
||||||
|
#define EON_EN25QH64 0x7017
|
||||||
|
#define EON_EN25QH128 0x7018
|
||||||
|
#define EON_EN25QH256 0x7019
|
||||||
#define EON_EN25S10 0x3811
|
#define EON_EN25S10 0x3811
|
||||||
#define EON_EN25S20 0x3812
|
#define EON_EN25S20 0x3812
|
||||||
#define EON_EN25S40 0x3813
|
#define EON_EN25S40 0x3813
|
||||||
|
Loading…
x
Reference in New Issue
Block a user