mirror of
https://github.com/qemu/qemu.git
synced 2026-02-04 02:24:38 +00:00
hw/block/m25p80: Add SFDP table for Winbond W25Q02JVM flash
Add the SFDP data table for Winbond W25Q02JVM flash device. The table
was generated under Linux kernel by dumping the SFDP content using
the following command:
```
hexdump -v -e '8/1 "0x%02x, " "\n"' \
/sys/bus/spi/devices/spi0.0/spi-nor/sfdp
```
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20251112030553.291734-3-jamin_lin@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
committed by
Cédric Le Goater
parent
159107e390
commit
72347b162c
@@ -364,6 +364,8 @@ static const FlashPartInfo known_devices[] = {
|
||||
.sfdp_read = m25p80_sfdp_w25q512jv },
|
||||
{ INFO("w25q01jvq", 0xef4021, 0, 64 << 10, 2048, ER_4K),
|
||||
.sfdp_read = m25p80_sfdp_w25q01jvq },
|
||||
{ INFO("w25q02jvm", 0xef7022, 0, 64 << 10, 4096, ER_4K),
|
||||
.sfdp_read = m25p80_sfdp_w25q02jvm },
|
||||
|
||||
/* Microchip */
|
||||
{ INFO("25csm04", 0x29cc00, 0x100, 64 << 10, 8, 0) },
|
||||
|
||||
@@ -440,6 +440,42 @@ static const uint8_t sfdp_w25q80bl[] = {
|
||||
};
|
||||
define_sfdp_read(w25q80bl);
|
||||
|
||||
static const uint8_t sfdp_w25q02jvm[] = {
|
||||
0x53, 0x46, 0x44, 0x50, 0x06, 0x01, 0x01, 0xff,
|
||||
0x00, 0x06, 0x01, 0x10, 0x80, 0x00, 0x00, 0xff,
|
||||
0x84, 0x00, 0x01, 0x02, 0xd0, 0x00, 0x00, 0xff,
|
||||
0x03, 0x00, 0x01, 0x02, 0xf0, 0x00, 0x00, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xe5, 0x20, 0xfb, 0xff, 0xff, 0xff, 0xff, 0x7f,
|
||||
0x44, 0xeb, 0x08, 0x6b, 0x08, 0x3b, 0x42, 0xbb,
|
||||
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
|
||||
0xff, 0xff, 0x40, 0xeb, 0x0c, 0x20, 0x0f, 0x52,
|
||||
0x10, 0xd8, 0x00, 0x00, 0x36, 0x02, 0xa6, 0x00,
|
||||
0x82, 0xea, 0x14, 0xe2, 0xe9, 0x63, 0x76, 0x33,
|
||||
0x7a, 0x75, 0x7a, 0x75, 0xf7, 0xa2, 0xd5, 0x5c,
|
||||
0x19, 0xf7, 0x4d, 0xff, 0xe9, 0x70, 0xf9, 0xa5,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0x0a, 0xf0, 0xff, 0x21, 0xff, 0xdc, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
};
|
||||
define_sfdp_read(w25q02jvm);
|
||||
|
||||
/*
|
||||
* Integrated Silicon Solution (ISSI)
|
||||
*/
|
||||
|
||||
@@ -27,6 +27,7 @@ uint8_t m25p80_sfdp_w25q256(uint32_t addr);
|
||||
uint8_t m25p80_sfdp_w25q512jv(uint32_t addr);
|
||||
uint8_t m25p80_sfdp_w25q80bl(uint32_t addr);
|
||||
uint8_t m25p80_sfdp_w25q01jvq(uint32_t addr);
|
||||
uint8_t m25p80_sfdp_w25q02jvm(uint32_t addr);
|
||||
|
||||
uint8_t m25p80_sfdp_is25wp256(uint32_t addr);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user