Hi all,
Here is preliminary patch for VT8237S SPI interface. Thanks to Dominik and Claus great work only two hours of time were needed to port the code. I was very surprised because it worked on first try (except the 3 byte RDID check below) Some routines are even same but copied, maybe it could be merged. Diff for yourself.
The ICH7 should work too once correct MMIO base is selected (this part is missing). VIA and ICH7 are very very similar here, I commented the differences in the source.
What works? Now it works with VT8237S + SPI flash MX25L4005 (512 KB) (read tested, rdid tested) and with Amic A25L40P 512KB - tested write,erase?, verify (I just ran -wv) The AMIC flash continuation code is 1 byte so manuf ID is 2 BYTES. And flash ID is two bytes too. So I had to extend the RDID command to 4 bytes. Three byte flash like MX will repeat the first byte as seen on the attached dump.
Obviously the ... found at physical address 0xfff80000 is wrong too. Should not be printed when SPI controller.
In case someone wants to check the AMIC datasheet http://www.amictechnology.com/pdf/A25L40P.pdf I bought this flash for like 1.30 EUR in http://gme.cz
I will have no time for this for nearly two weeks, so if someone wants to work on this here is the chance ;)
Well I can just Signed-of-by: Rudolf Marek r.marek@assembler.cz but the code needs cleanups etc - no time now.
Rudolf
Calibrating delay loop... 496M loops per second. OK. No coreboot table found. Found chipset "VIA VT8237S", enabling flash write... MMIO base at = 0xfed02000 OK. Probing for AMD Am29F016D, 2048 KB: probe_29f040b: id1 0xff, id2 0xff Probing for AMD Am29F040B, 512 KB: probe_29f040b: id1 0x7f, id2 0x37 Probing for AMD Am29LV040B, 512 KB: probe_29f040b: id1 0x7f, id2 0x37 Probing for ASD AE49F2008, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Atmel AT29C020, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Atmel AT29C040A, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Atmel AT49F002(N), 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Atmel AT49F002(N)T, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Atmel AT25DF321, 4096 KB: Programming OPCODES RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for Amic Technology A25L40P, 512 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Chip status register is 00 A25L40P found at physical address 0xfff80000. Probing for EMST F49B002UA, 256 KB: probe_jedec: id1 0x0, id2 0x37, id1 parity violation Probing for EON EN29F002(A)(N)B, 256 KB: probe_jedec: id1 0x0, id2 0x37, id1 parity violation Probing for EON EN29F002(A)(N)T, 256 KB: probe_jedec: id1 0x0, id2 0x37, id1 parity violation Probing for Fujitsu MBM29F400TC, 512 KB: probe_m29f400bt: id1 0xff, id2 0xff Probing for Intel 82802AB, 512 KB: probe_82802ab: id1 0xff, id2 0xff Probing for Intel 82802AC, 1024 KB: probe_82802ab: id1 0xff, id2 0xff Probing for Macronix MX25L4005, 512 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for Macronix MX25L8005, 1024 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for Macronix MX25L1605, 2048 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for Macronix MX25L3205, 4096 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for Macronix MX29F002, 256 KB: probe_29f002: id1 0xdd, id2 0x5c Probing for PMC Pm25LV010, 128 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for PMC Pm25LV016B, 2048 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for PMC Pm25LV020, 256 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for PMC Pm25LV040, 512 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for PMC Pm25LV080B, 1024 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for PMC Pm25LV512, 64 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for PMC Pm49FL002, 256 KB: probe_jedec: id1 0x7f7a, id2 0x37 Probing for PMC Pm49FL004, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Sharp LHF00L04, 1024 KB: probe_lhf00l04: id1 0xff, id2 0xff Probing for Spansion S25FL016A, 2048 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for SST SST25VF016B, 2048 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for SST SST25VF040B, 512 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for SST SST28SF040A, 512 KB: probe_28sf040: id1 0xff, id2 0xff Probing for SST SST29EE010, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for SST SST29LE010, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for SST SST29EE020A, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST29LE020, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST39SF010A, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for SST SST39SF020A, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST39SF040, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST39VF512, 64 KB: probe_jedec: id1 0x71, id2 0xf4, id1 parity violation Probing for SST SST39VF010, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for SST SST39VF020, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST39VF040, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF002A/B, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST49LF003A/B, 384 KB: probe_jedec: id1 0xda, id2 0x0 Probing for SST SST49LF004A/B, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF004C, 512 KB: probe_49lfxxxc: id1 0xff, id2 0xff Probing for SST SST49LF008A, 1024 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF008C, 1024 KB: probe_49lfxxxc: id1 0xff, id2 0xff Probing for SST SST49LF016C, 2048 KB: probe_49lfxxxc: id1 0xff, id2 0xff Probing for SST SST49LF020A, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST49LF040, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF040B, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF080A, 1024 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF160C, 2048 KB: probe_49lfxxxc: id1 0xff, id2 0xff Probing for ST M25P05-A, 64 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for ST M25P10-A, 128 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for ST M25P20, 256 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for ST M25P40, 512 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for ST M25P40-old, 512 KB: RDID returned 7f 37 20 13. Probing for ST M25P80, 1024 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for ST M25P16, 2048 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for ST M25P32, 4096 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for ST M25P64, 8192 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for ST M25P128, 16384 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for ST M29F002B, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for ST M29F002T/NT, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for ST M29F040B, 512 KB: probe_29f040b: id1 0xff, id2 0xff Probing for ST M29F400BT, 512 KB: probe_m29f400bt: id1 0xff, id2 0xff Probing for ST M29W010B, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for ST M29W040B, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for ST M50FLW040A, 512 KB: probe_stm50flw0x0x: id1 0xff, id2 0xff Probing for ST M50FLW040B, 512 KB: probe_stm50flw0x0x: id1 0xff, id2 0xff Probing for ST M50FLW080A, 1024 KB: probe_stm50flw0x0x: id1 0xff, id2 0xff Probing for ST M50FLW080B, 1024 KB: probe_stm50flw0x0x: id1 0xff, id2 0xff Probing for ST M50FW016, 2048 KB: probe_82802ab: id1 0xff, id2 0xff Probing for ST M50FW040, 512 KB: probe_82802ab: id1 0xff, id2 0xff Probing for ST M50FW080, 1024 KB: probe_82802ab: id1 0xff, id2 0xff Probing for ST M50LPW116, 2048 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SyncMOS S29C31004T, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SyncMOS S29C51001T, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for SyncMOS S29C51002T, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SyncMOS S29C51004T, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W25x10, 128 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for Winbond W25x20, 256 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for Winbond W25x40, 512 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for Winbond W25x80, 1024 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for Winbond W29C011, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for Winbond W29C020C, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Winbond W29C040P, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W29EE011, 128 KB: probe_w29ee011: id1 0x50, id2 0x0 Probing for Winbond W39V040A, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W39V040B, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W39V040FA, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W39V080A, 1024 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W49F002U, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Winbond W49V002A, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Winbond W49V002FA, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Winbond W39V080FA, 1024 KB: probe_winbond_fwhub: vid 0xff, did 0xff Probing for Winbond W39V080FA (dual mode), 512 KB: probe_winbond_fwhub: vid 0xff, did 0xff Probing for EON unknown EON SPI chip, 0 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for PMC unknown PMC SPI chip, 0 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for SST unknown SST SPI chip, 0 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Probing for ST unknown ST SPI chip, 0 KB: RDID returned 7f 37 20 13. probe_spi_rdid: id1 0x7f37, id2 0x2013 Flash part is A25L40P (512 KB). === This flash part has status UNTESTED for operations: PROBE READ ERASE WRITE Please email a report to flashrom@coreboot.org if any of the above operations work correctly for you with this flash part. Please include the full output from the program, including chipset found. Thank you for your help! === No operations were specified.
Calibrating delay loop... 470M loops per second. OK. No coreboot table found. Found chipset "VIA VT8237S", enabling flash write... MMIO base at = 0xfed02000 OK. Probing for AMD Am29F016D, 2048 KB: probe_29f040b: id1 0xff, id2 0xff Probing for AMD Am29F040B, 512 KB: probe_29f040b: id1 0xc2, id2 0x20 Probing for AMD Am29LV040B, 512 KB: probe_29f040b: id1 0xc2, id2 0x20 Probing for ASD AE49F2008, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Atmel AT29C020, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Atmel AT29C040A, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Atmel AT49F002(N), 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Atmel AT49F002(N)T, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Atmel AT25DF321, 4096 KB: Programming OPCODES RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for Amic Technology A25L40P, 512 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for EMST F49B002UA, 256 KB: probe_jedec: id1 0xc2, id2 0x20 Probing for EON EN29F002(A)(N)B, 256 KB: probe_jedec: id1 0xc2, id2 0x20 Probing for EON EN29F002(A)(N)T, 256 KB: probe_jedec: id1 0xc2, id2 0x20 Probing for Fujitsu MBM29F400TC, 512 KB: probe_m29f400bt: id1 0xff, id2 0xff Probing for Intel 82802AB, 512 KB: probe_82802ab: id1 0xff, id2 0xff Probing for Intel 82802AC, 1024 KB: probe_82802ab: id1 0xff, id2 0xff Probing for Macronix MX25L4005, 512 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Chip status register is 00 Chip status register: Status Register Write Disable (SRWD) is not set Chip status register: Bit 6 is not set Chip status register: Bit 5 / Block Protect 3 (BP3) is not set Chip status register: Bit 4 / Block Protect 2 (BP2) is not set Chip status register: Bit 3 / Block Protect 1 (BP1) is not set Chip status register: Bit 2 / 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 MX25L4005 found at physical address 0xfff80000. Probing for Macronix MX25L8005, 1024 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for Macronix MX25L1605, 2048 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for Macronix MX25L3205, 4096 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for Macronix MX29F002, 256 KB: probe_29f002: id1 0xdd, id2 0x5c Probing for PMC Pm25LV010, 128 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for PMC Pm25LV016B, 2048 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for PMC Pm25LV020, 256 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for PMC Pm25LV040, 512 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for PMC Pm25LV080B, 1024 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for PMC Pm25LV512, 64 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for PMC Pm49FL002, 256 KB: probe_jedec: id1 0xc2, id2 0x20 Probing for PMC Pm49FL004, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Sharp LHF00L04, 1024 KB: probe_lhf00l04: id1 0xff, id2 0xff Probing for Spansion S25FL016A, 2048 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for SST SST25VF016B, 2048 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for SST SST25VF040B, 512 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for SST SST28SF040A, 512 KB: probe_28sf040: id1 0xff, id2 0xff Probing for SST SST29EE010, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for SST SST29LE010, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for SST SST29EE020A, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST29LE020, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST39SF010A, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for SST SST39SF020A, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST39SF040, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST39VF512, 64 KB: probe_jedec: id1 0x71, id2 0xf4, id1 parity violation Probing for SST SST39VF010, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for SST SST39VF020, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST39VF040, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF002A/B, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST49LF003A/B, 384 KB: probe_jedec: id1 0xda, id2 0x0 Probing for SST SST49LF004A/B, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF004C, 512 KB: probe_49lfxxxc: id1 0xff, id2 0xff Probing for SST SST49LF008A, 1024 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF008C, 1024 KB: probe_49lfxxxc: id1 0xff, id2 0xff Probing for SST SST49LF016C, 2048 KB: probe_49lfxxxc: id1 0xff, id2 0xff Probing for SST SST49LF020A, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SST SST49LF040, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF040B, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF080A, 1024 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SST SST49LF160C, 2048 KB: probe_49lfxxxc: id1 0xff, id2 0xff Probing for ST M25P05-A, 64 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for ST M25P10-A, 128 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for ST M25P20, 256 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for ST M25P40, 512 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for ST M25P40-old, 512 KB: RDID returned c2 20 13 c2. Probing for ST M25P80, 1024 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for ST M25P16, 2048 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for ST M25P32, 4096 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for ST M25P64, 8192 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for ST M25P128, 16384 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for ST M29F002B, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for ST M29F002T/NT, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for ST M29F040B, 512 KB: probe_29f040b: id1 0xff, id2 0xff Probing for ST M29F400BT, 512 KB: probe_m29f400bt: id1 0xff, id2 0xff Probing for ST M29W010B, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for ST M29W040B, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for ST M50FLW040A, 512 KB: probe_stm50flw0x0x: id1 0xff, id2 0xff Probing for ST M50FLW040B, 512 KB: probe_stm50flw0x0x: id1 0xff, id2 0xff Probing for ST M50FLW080A, 1024 KB: probe_stm50flw0x0x: id1 0xff, id2 0xff Probing for ST M50FLW080B, 1024 KB: probe_stm50flw0x0x: id1 0xff, id2 0xff Probing for ST M50FW016, 2048 KB: probe_82802ab: id1 0xff, id2 0xff Probing for ST M50FW040, 512 KB: probe_82802ab: id1 0xff, id2 0xff Probing for ST M50FW080, 1024 KB: probe_82802ab: id1 0xff, id2 0xff Probing for ST M50LPW116, 2048 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SyncMOS S29C31004T, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for SyncMOS S29C51001T, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for SyncMOS S29C51002T, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for SyncMOS S29C51004T, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W25x10, 128 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for Winbond W25x20, 256 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for Winbond W25x40, 512 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for Winbond W25x80, 1024 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for Winbond W29C011, 128 KB: probe_jedec: id1 0x50, id2 0x0, id1 parity violation Probing for Winbond W29C020C, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Winbond W29C040P, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W29EE011, 128 KB: probe_w29ee011: id1 0x50, id2 0x0 Probing for Winbond W39V040A, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W39V040B, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W39V040FA, 512 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W39V080A, 1024 KB: probe_jedec: id1 0xff, id2 0xff, id1 parity violation Probing for Winbond W49F002U, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Winbond W49V002A, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Winbond W49V002FA, 256 KB: probe_jedec: id1 0xdd, id2 0x5c, id1 parity violation Probing for Winbond W39V080FA, 1024 KB: probe_winbond_fwhub: vid 0xff, did 0xff Probing for Winbond W39V080FA (dual mode), 512 KB: probe_winbond_fwhub: vid 0xff, did 0xff Probing for EON unknown EON SPI chip, 0 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for PMC unknown PMC SPI chip, 0 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for SST unknown SST SPI chip, 0 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Probing for ST unknown ST SPI chip, 0 KB: RDID returned c2 20 13 c2. probe_spi_rdid: id1 0xc2, id2 0x2013 Flash part is MX25L4005 (512 KB). === This flash part has status UNTESTED for operations: PROBE READ ERASE WRITE Please email a report to flashrom@coreboot.org if any of the above operations work correctly for you with this flash part. Please include the full output from the program, including chipset found. Thank you for your help! === No operations were specified.