mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-02 14:33:18 +02:00
Add support for Numonyx N25Q016 and N25Q032
The 32Mb version has 1.8V and 3.0V versions, the smaller one 1.8V only (or Numonyx/Micron forgot to publish it). Another difference is that the 16Mb chip has 32 kB subsectors (erase opcode 0x52). As long as there are no funky configurations like for the 128Mb chips, we got the smaller parts covered with this change. Corresponding to flashrom svn r1615. 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:
106
flashchips.c
106
flashchips.c
@ -5585,6 +5585,108 @@ const struct flashchip flashchips[] = {
|
||||
.voltage = {2700, 3600},
|
||||
},
|
||||
|
||||
{
|
||||
.vendor = "Numonyx",
|
||||
.name = "N25Q016",
|
||||
.bustype = BUS_SPI,
|
||||
.manufacture_id = ST_ID,
|
||||
.model_id = ST_N25Q016__1E,
|
||||
.total_size = 2048,
|
||||
.page_size = 256,
|
||||
/* supports SFDP */
|
||||
/* OTP: 64B total; read 0x4B, write 0x42 */
|
||||
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
|
||||
.tested = TEST_UNTESTED,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
{
|
||||
{
|
||||
.eraseblocks = { {4 * 1024, 512} },
|
||||
.block_erase = spi_block_erase_20,
|
||||
}, {
|
||||
.eraseblocks = { {32 * 1024, 64} },
|
||||
.block_erase = spi_block_erase_52,
|
||||
}, {
|
||||
.eraseblocks = { {64 * 1024, 32} },
|
||||
.block_erase = spi_block_erase_d8,
|
||||
}, {
|
||||
.eraseblocks = { {2 * 1024 * 1024, 1} },
|
||||
.block_erase = spi_block_erase_c7,
|
||||
}
|
||||
},
|
||||
.unlock = spi_disable_blockprotect,
|
||||
.write = spi_chip_write_256,
|
||||
.read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
|
||||
.voltage = {1700, 2000},
|
||||
},
|
||||
|
||||
{
|
||||
.vendor = "Numonyx",
|
||||
.name = "N25Q032..1E",
|
||||
.bustype = BUS_SPI,
|
||||
.manufacture_id = ST_ID,
|
||||
.model_id = ST_N25Q032__1E,
|
||||
.total_size = 4096,
|
||||
.page_size = 256,
|
||||
/* supports SFDP */
|
||||
/* OTP: 64B total; read 0x4B, write 0x42 */
|
||||
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
|
||||
.tested = TEST_UNTESTED,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
{
|
||||
{
|
||||
.eraseblocks = { {4 * 1024, 1024} },
|
||||
.block_erase = spi_block_erase_20,
|
||||
}, {
|
||||
.eraseblocks = { {64 * 1024, 64} },
|
||||
.block_erase = spi_block_erase_d8,
|
||||
}, {
|
||||
.eraseblocks = { {4 * 1024 * 1024, 1} },
|
||||
.block_erase = spi_block_erase_c7,
|
||||
}
|
||||
},
|
||||
.unlock = spi_disable_blockprotect,
|
||||
.write = spi_chip_write_256,
|
||||
.read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
|
||||
.voltage = {1700, 2000},
|
||||
},
|
||||
|
||||
{
|
||||
.vendor = "Numonyx",
|
||||
.name = "N25Q032..3E",
|
||||
.bustype = BUS_SPI,
|
||||
.manufacture_id = ST_ID,
|
||||
.model_id = ST_N25Q032__3E,
|
||||
.total_size = 4096,
|
||||
.page_size = 256,
|
||||
/* supports SFDP */
|
||||
/* OTP: 64B total; read 0x4B, write 0x42 */
|
||||
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
|
||||
.tested = TEST_UNTESTED,
|
||||
.probe = probe_spi_rdid,
|
||||
.probe_timing = TIMING_ZERO,
|
||||
.block_erasers =
|
||||
{
|
||||
{
|
||||
.eraseblocks = { {4 * 1024, 1024} },
|
||||
.block_erase = spi_block_erase_20,
|
||||
}, {
|
||||
.eraseblocks = { {64 * 1024, 64} },
|
||||
.block_erase = spi_block_erase_d8,
|
||||
}, {
|
||||
.eraseblocks = { {4 * 1024 * 1024, 1} },
|
||||
.block_erase = spi_block_erase_c7,
|
||||
}
|
||||
},
|
||||
.unlock = spi_disable_blockprotect,
|
||||
.write = spi_chip_write_256,
|
||||
.read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
|
||||
.voltage = {2700, 3600},
|
||||
},
|
||||
|
||||
{
|
||||
.vendor = "Numonyx",
|
||||
.name = "N25Q064..1E", /* ..1E = 1.8V, uniform 64KB/4KB blocks/sectors */
|
||||
@ -5614,7 +5716,7 @@ const struct flashchip flashchips[] = {
|
||||
},
|
||||
.unlock = spi_disable_blockprotect,
|
||||
.write = spi_chip_write_256,
|
||||
.read = spi_chip_read,
|
||||
.read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
|
||||
.voltage = {1700, 2000},
|
||||
},
|
||||
|
||||
@ -5647,7 +5749,7 @@ const struct flashchip flashchips[] = {
|
||||
},
|
||||
.unlock = spi_disable_blockprotect,
|
||||
.write = spi_chip_write_256,
|
||||
.read = spi_chip_read,
|
||||
.read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
|
||||
.voltage = {2700, 3600},
|
||||
},
|
||||
|
||||
|
Reference in New Issue
Block a user