I added this chip - I think it's working. The dumped image matches the
generic spi output.
I copied the FM25Q08 and adjusted for size - the Q08 is 8 Mbit and Q04 is 4
Mbit
Flashrom didn't detect the chip until I changed probe_spi_rdid
to probe_spi_rdid4 - not sure what's up with that.
The Q08 uses probe_spi_rdid
diff -urw flashrom-vl805/flashchips.c flashrom-vl805-test/flashchips.c
--- flashrom-vl805/flashchips.c 2021-02-03 08:47:47.000000000 -0800
+++ flashrom-vl805-test/flashchips.c 2021-02-03 13:39:40.525289552 -0800
@@ -5882,6 +5882,46 @@
{
.vendor = "Fudan",
+ .name = "FM25Q04",
+ .bustype = BUS_SPI,
+ .manufacture_id = FUDAN_ID_NOPREFIX,
+ .model_id = FUDAN_FM25Q04,
+ .total_size = 512,
+ .page_size = 256,
+ /* supports SFDP */
+ /* OTP: 1024B total; read 0x48; write 0x42, erase 0x44, read ID 0x4B */
+ /* QPI enable 0x38, disable 0xFF */
+ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP | FEATURE_QPI,
+ .tested = TEST_OK_PR,
+ .probe = probe_spi_rdid4,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers = {
+ {
+ .eraseblocks = { {4 * 1024, 128} }, /* 4 KB Sector erase */
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 16} }, /* 32 KB Block erase */
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 8} }, /* 64 KB Block erase */
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} }, /* Chip erase */
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} }, /* Chip erase */
+ .block_erase = spi_block_erase_c7,
+ },
+ },
+ .printlock = spi_prettyprint_status_register_bp2_tb_bpl, /* bit6 selects
size of protected blocks; TODO: SR2 */
+ .unlock = spi_disable_blockprotect_bp2_srwd,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
+ .voltage = {2700, 3600},
+ },
+
+ {
+ .vendor = "Fudan",
.name = "FM25Q08",
.bustype = BUS_SPI,
.manufacture_id = FUDAN_ID_NOPREFIX,
diff -urw flashrom-vl805/flashchips.h flashrom-vl805-test/flashchips.h
--- flashrom-vl805/flashchips.h 2021-02-03 08:47:47.000000000 -0800
+++ flashrom-vl805-test/flashchips.h 2021-02-03 12:16:51.186815287 -0800
@@ -339,6 +339,7 @@
#define FUDAN_FM25F01 0x3111
#define FUDAN_FM25F02 0x3112 /* Same as FM25F02A */
#define FUDAN_FM25F04 0x3113 /* Same as FM25F04A */
+#define FUDAN_FM25Q04 0x4013
#define FUDAN_FM25Q08 0x4014
#define FUDAN_FM25Q16 0x4015
#define FUDAN_FM25Q32 0x4016
log:
flashrom unknown on Linux 4.15.0-130-generic (x86_64)
flashrom was built with libpci 3.5.2, GCC 7.5.0, little endian
Command line (7 args): ./flashrom -VV --programmer vl805 -r test5.img -o
test5.log
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Initializing vl805 programmer
Found "VIA VL805" (1106:3483, BDF 01:00.0).
===
This PCI device is UNTESTED. Please report the 'flashrom -p xxxx' output
to flashrom(a)flashrom.org if it works for you. Please add the name of your
PCI device to the subject. Thank you for your help!
===
Requested BAR is of type MEM, 64bit, not prefetchable
VL805 firmware version 0x00013600
The following protocols are supported: SPI.
Probing for AMIC A25L010, 128 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for AMIC A25L016, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for AMIC A25L020, 256 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for AMIC A25L032, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for AMIC A25L040, 512 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for AMIC A25L05PT, 64 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25L05PU, 64 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25L080, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for AMIC A25L10PT, 128 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25L10PU, 128 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25L16PT, 2048 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25L16PU, 2048 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25L20PT, 256 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25L20PU, 256 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25L40PT, 512 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25L40PU, 512 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25L512, 64 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for AMIC A25L80P, 1024 kB: compare_id: id1 0xa1, id2 0x4013
Probing for AMIC A25LQ032/A25LQ32A, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for AMIC A25LQ16, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for AMIC A25LQ64, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DF021, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DF021A, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DF041A, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DF081, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DF081A, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DF161, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DF321, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DF321A, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DF641(A), 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DL081, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DL161, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25DQ161, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25F1024(A), 128 kB: probe_spi_at25f: id1 0x00, id2 0x00
Probing for Atmel AT25F2048, 256 kB: probe_spi_at25f: id1 0x00, id2 0x00
Probing for Atmel AT25F4096, 512 kB: probe_spi_at25f: id1 0x00, id2 0x00
Probing for Atmel AT25F512, 64 kB: probe_spi_at25f: id1 0x00, id2 0x00
Probing for Atmel AT25F512A, 64 kB: probe_spi_at25f: id1 0x00, id2 0x00
Probing for Atmel AT25F512B, 64 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25FS010, 128 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25FS040, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25SF041, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25SF081, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25SF161, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25SF321, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT25SL128A, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT26DF041, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT26DF081A, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT26DF161, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT26DF161A, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT26F004, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT45CS1282, 16896 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT45DB011D, 128 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT45DB021D, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT45DB041D, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT45DB081D, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT45DB161D, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT45DB321C, 4224 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT45DB321D, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT45DB321E, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Atmel AT45DB642D, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Boya Microelectronics BY25Q128AS, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for ESI ES25P16, 2048 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for ESI ES25P40, 512 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for ESI ES25P80, 1024 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for ESMT F25L008A, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for ESMT F25L32PA, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25B05, 64 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B05T, 64 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B10, 128 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B10T, 128 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B16, 2048 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B16T, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25B20, 256 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B20T, 256 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B32, 4096 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B32T, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25B40, 512 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B40T, 512 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B64, 8192 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B64T, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25B80, 1024 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25B80T, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25F05, 64 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25F10, 128 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25F16, 2048 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25F20, 256 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25F32, 4096 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25F40, 512 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25F64, 8192 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25F80, 1024 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25P05, 64 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25P10, 128 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25P16, 2048 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25P20, 256 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25P32, 4096 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25P40, 512 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25P64, 8192 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25P80, 1024 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25Q128, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25Q16, 2048 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25Q32(A/B), 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25Q40, 512 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25Q64, 8192 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25Q80(A), 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25QH128, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25QH16, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25QH32, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25QH64, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Eon EN25S10, 128 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25S16, 2048 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25S20, 256 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25S32, 4096 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25S40, 512 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25S64, 8192 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Eon EN25S80, 1024 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Fudan FM25F005, 64 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Fudan FM25F01, 128 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Fudan FM25F02(A), 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Fudan FM25F04(A), 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Fudan FM25Q04, 512 kB: compare_id: id1 0xa1, id2 0x4013
Found Fudan flash chip "FM25Q04" (512 kB, SPI) on vl805.
Chip status register is 0x00.
Chip status register: Block Protect Write Disable (BPL) is not set
Chip status register: Bit 6 is not set
Chip status register: Top/Bottom (TB) is top
Chip status register: Block Protect 2 (BP2) is not set
Chip status register: Block Protect 1 (BP1) is not set
Chip status register: Block Protect 0 (BP0) is not set
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
Probing for Fudan FM25Q08, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Fudan FM25Q16, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Fudan FM25Q32, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25B128B/GD25Q128B, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ128C/GD25LQ128D, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ16, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ32, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ40, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ64(B), 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25LQ80, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q10, 128 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q127C/GD25Q128C, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q16(B), 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q20(B), 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q256D, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q32(B), 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q40(B), 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q512, 64 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q64(B), 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25Q80(B), 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25T80, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25VQ16C, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25VQ21B, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25VQ40C, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25VQ41B, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25VQ80C, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for GigaDevice GD25WQ80E, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for ISSI IS25LP064, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for ISSI IS25LP128, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for ISSI IS25LP256, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for ISSI IS25WP032, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for ISSI IS25WP064, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for ISSI IS25WP128, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for ISSI IS25WP256, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Intel 25F160S33B8, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Intel 25F160S33T8, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Intel 25F320S33B8, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Intel 25F320S33T8, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Intel 25F640S33B8, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Intel 25F640S33T8, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX23L12854, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX23L1654, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX23L3254, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX23L6454, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L1005(C)/MX25L1006E, 128 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L12805D, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L12835F/MX25L12845E/MX25L12865E, 16384 kB: RDID
byte 0 parity violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L1605, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L1605A/MX25L1606E/MX25L1608E, 2048 kB: RDID byte 0
parity violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L1605D/MX25L1608D/MX25L1673E, 2048 kB: RDID byte 0
parity violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L1635D, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L1635E, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L2005(C)/MX25L2006E, 256 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L25635F/MX25L25645G, 32768 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L3205(A), 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L3205D/MX25L3208D, 4096 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L3206E/MX25L3208E, 4096 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L3235D, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L3273E, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L4005(A/C)/MX25L4006E, 512 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L512(E)/MX25V512(C), 64 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L5121E, 64 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L6405, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L6405D, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L6406E/MX25L6408E, 8192 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix
MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F, 8192 kB: RDID byte
0 parity violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L6495F, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25L8005/MX25L8006E/MX25L8008E/MX25V8005, 1024 kB:
RDID byte 0 parity violation. compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25R3235F, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25R6435F, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25U12835F, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25U1635E, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25U25635F, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25U3235E/F, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25U51245G, 65536 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25U6435E/F, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX25U8032E, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix MX66L51235F/MX25L51245G, 65536 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P05, 64 kB: Ignoring RES in favour of RDID.
Probing for Micron/Numonyx/ST M25P05-A, 64 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P10, 128 kB: Ignoring RES in favour of
RDID.
Probing for Micron/Numonyx/ST M25P10-A, 128 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P128, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P16, 2048 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P20, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P20-old, 256 kB: Ignoring RES in favour of
RDID.
Probing for Micron/Numonyx/ST M25P32, 4096 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P40, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P40-old, 512 kB: Ignoring RES in favour of
RDID.
Probing for Micron/Numonyx/ST M25P64, 8192 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25P80, 1024 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PE10, 128 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PE16, 2048 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PE20, 256 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PE40, 512 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PE80, 1024 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PX16, 2048 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PX32, 4096 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PX64, 8192 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M25PX80, 1024 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M45PE10, 128 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M45PE16, 2048 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M45PE20, 256 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M45PE40, 512 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST M45PE80, 1024 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q00A..1G, 131072 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q00A..3G, 131072 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q016, 2048 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q032..1E, 4096 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q032..3E, 4096 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q064..1E, 8192 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q064..3E, 8192 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q128..1E, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q128..3E, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q256..1E, 32768 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q256..3E, 32768 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q512..1G, 65536 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron/Numonyx/ST N25Q512..3G, 65536 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Micron MT25QL01G, 131072 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron MT25QU01G, 131072 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron MT25QL02G, 262144 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron MT25QU02G, 262144 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron MT25QU128, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron MT25QL128, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron MT25QL256, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron MT25QU256, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron MT25QL512, 65536 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Micron MT25QU512, 65536 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Nantronics N25S10, 128 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Nantronics N25S16, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Nantronics N25S20, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Nantronics N25S40, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Nantronics N25S80, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LD010(C), 128 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LD020(C), 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LD040(C), 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LD256C, 32 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LD512(C), 64 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LQ016, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LQ020, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LQ032C, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LQ040, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LQ080, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LV010, 128 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for PMC Pm25LV010A, 128 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LV016B, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LV020, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LV040, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LV080B, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for PMC Pm25LV512(A), 64 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for SST SST25LF020A, 256 kB: compare_id: id1 0xa1, id2 0x12
Probing for SST SST25LF040A, 512 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for SST SST25LF080(A), 1024 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for SST SST25VF010(A), 128 kB: compare_id: id1 0xa1, id2 0x12
Probing for SST SST25VF016B, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25VF020, 256 kB: compare_id: id1 0xa1, id2 0x12
Probing for SST SST25VF020B, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25VF032B, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25VF040, 512 kB: compare_id: id1 0xa1, id2 0x12
Probing for SST SST25VF040B, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25VF040B.REMS, 512 kB: compare_id: id1 0xa1, id2 0x12
Probing for SST SST25VF064C, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25VF080B, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25VF512(A), 64 kB: compare_id: id1 0xa1, id2 0x12
Probing for SST SST25WF010, 128 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25WF020, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25WF020A, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25WF040, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25WF040B, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25WF080, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25WF080B, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST25WF512, 64 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST26VF016B(A), 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST26VF032B(A), 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST SST26VF064B(A), 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for ST M95M02, 256 kB: probe_spi_st95: id1 0xff, id2 0xffff
Probing for Sanyo LE25FU106B, 128 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for Sanyo LE25FU206, 256 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for Sanyo LE25FU206A, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Sanyo LE25FU406B, 512 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for Sanyo LE25FU406C/LE25U40CMC, 512 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Sanyo LE25FW106, 128 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for Sanyo LE25FW203A, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Sanyo LE25FW403A, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Sanyo LE25FW406A, 512 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for Sanyo LE25FW418A, 512 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for Sanyo LE25FW806, 1024 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for Sanyo LE25FW808, 1024 kB: probe_spi_res2: id1 0x12, id2 0x12
Probing for Spansion S25FL004A, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL008A, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL016A, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL032A/P, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL064A/P, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL116K/S25FL216K, 2048 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL127S-256kB, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL127S-64kB, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL128P......0, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL128P......1, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL128S......0, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL128S......1, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL128S_UL Uniform 128 kB Sectors, 16384 kB: Read id
bytes: 0xa1 0x40 0x13 0xa1 0x40 0x13.
Probing for Spansion S25FL128S_US Uniform 64 kB Sectors, 16384 kB: Read id
bytes: 0xa1 0x40 0x13 0xa1 0x40 0x13.
Probing for Spansion S25FL129P......0, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL129P......1, 16384 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL132K, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL164K, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL204K, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL208K, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL256S Large Sectors, 16384 kB: Read id bytes:
0xa1 0x40 0x13 0xa1 0x40 0x13.
Probing for Spansion S25FL256S Small Sectors, 16384 kB: Read id bytes:
0xa1 0x40 0x13 0xa1 0x40 0x13.
Probing for Spansion S25FL256S......0, 32768 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FL512S, 65536 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Spansion S25FS128S Large Sectors, 16384 kB: Read id bytes:
0xa1 0x40 0x13 0xa1 0x40 0x13.
Probing for Spansion S25FS128S Small Sectors, 16384 kB: Read id bytes:
0xa1 0x40 0x13 0xa1 0x40 0x13.
Probing for Winbond W25P16, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25P32, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25P80, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q128.V, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q128.V..M, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q128.W, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q128.JW.DTR, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q16.V, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q16.W, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q20.W, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q256.V, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q256JV_M, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q256.W, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q256JW_DTR, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q32.V, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q32.W, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q40.V, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q40BW, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q40EW, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q512JV, 65536 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q64.V, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q64.W, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q64JW, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q80.V, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q80BW, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25Q80EW, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25X05, 64 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25X10, 128 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25X16, 2048 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25X20, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25X32, 4096 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25X40, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25X64, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Winbond W25X80, 1024 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for XMC XM25QH64C, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for XMC XM25QU64C, 8192 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for XMC XM25QH128C, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for XMC XM25QU128C, 16384 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for XMC XM25QH256C, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for XMC XM25QU256C, 32768 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Zetta Device ZD25D20, 256 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Zetta Device ZD25D40, 512 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Unknown SFDP-capable chip, 0 kB: SFDP revision = 1.0
SFDP number of parameter headers is 1 (NPH = 0).
SFDP parameter table header 0/0:
ID 0x00, version 1.0
Length 36 B, Parameter Table Pointer 0x000080
Parsing JEDEC flash parameter table...
3-Byte only addressing.
Status register is non-volatile and the standard does not allow vendors
to tell us whether EWSR/WREN is needed for status register writes -
assuming EWSR.
Write chunk size is at least 64 B.
Flash chip size is 512 kB.
Block eraser 0: 128 x 4096 B with opcode 0x20
Tried to add a duplicate block eraser: 128 x 4096 B with opcode 0x20.
Block eraser 1: 16 x 32768 B with opcode 0x52
Block eraser 2: 8 x 65536 B with opcode 0xd8
done.
Probing for AMIC unknown AMIC SPI chip, 0 kB: compare_id: id1 0xa1, id2
0x4013
Probing for Atmel unknown Atmel SPI chip, 0 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Eon unknown Eon SPI chip, 0 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Macronix unknown Macronix SPI chip, 0 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for PMC unknown PMC SPI chip, 0 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for SST unknown SST SPI chip, 0 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for ST unknown ST SPI chip, 0 kB: RDID byte 0 parity violation.
compare_id: id1 0x00, id2 0x00
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: RDID byte 0 parity
violation. compare_id: id1 0x00, id2 0x00
Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB: RDID byte 0
parity violation. compare_id: id1 0x00, id2 0x00
Probing for Generic Variable Size SPI chip, 64 kB: Probing for Generic
unknown SPI chip (RDID), 0 kB: RDID byte 0 parity violation. compare_id:
id1 0x00, id2 0x00
Probing for Generic unknown SPI chip (REMS), 0 kB: compare_id: id1 0xa1,
id2 0x12
Found Fudan flash chip "FM25Q04" (512 kB, SPI).
This chip may contain one-time programmable memory. flashrom cannot read
and may never be able to write it, hence it may not be able to completely
clone the contents of this chip (see man page for details).
===
This flash part has status UNTESTED for operations: ERASE WRITE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to flashrom(a)flashrom.org if any of the above
operations
work correctly for you with this flash chip. Please include the flashrom log
file for all operations you tested (see the man page for details), and
mention
which mainboard or programmer you tested in the subject line.
Thanks for your help!
Block protection is disabled.
Reading flash... done.