Hi!

I'm attaching a patch which adds support for Spansion S25FL127S flash chip in 
64KiB and 256KiB mode. I also tested 64KiB mode with FT4232H Mini Module which 
works fine (please see attached logs).

Best regards,
Jernej Skrabec
flashrom v0.9.7-r1854 on Linux 3.16.0-24-generic (x86_64)
flashrom was built with libpci 3.2.1, GCC 4.9.1, little endian
Command line (8 args): ./flashrom -p ft2232_spi:type=4232H,port=A -c 
S25FL127S......0 -V -E -o S25FL127S......0_erase.txt
Calibrating delay loop... OS timer resolution is 1 usecs, 1512M loops per 
second, 10 myus = 10 us, 100 myus = 110 us, 1000 myus = 1060 us, 10000 myus = 
9607 us, 4 myus = 4 us, OK.
Initializing ft2232_spi programmer
Using device type FTDI FT4232H channel A.
Disable divide-by-5 front stage
Set clock divisor
MPSSE clock: 60.000000 MHz, divisor: 2, SPI clock: 30.000000 MHz
No loopback of TDI/DO TDO/DI
Set data bits
The following protocols are supported: SPI.
Probing for Spansion S25FL127S......0, 16384 kB: probe_spi_rdid_generic: id1 
0x01, id2 0x2018
Found Spansion flash chip "S25FL127S......0" (16384 kB, SPI) on ft2232_spi.
Chip status register is 0x00.
Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set
Chip status register: Bit 6 is not set
Chip status register: Bit 5 is not set
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
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).
Block protection is disabled.
Erasing and writing flash chip... Trying erase function 0... 
0x000000-0x00ffff:E, 0x010000-0x01ffff:E, 0x020000-0x02ffff:E, 
0x030000-0x03ffff:E, 0x040000-0x04ffff:E, 0x050000-0x05ffff:E, 
0x060000-0x06ffff:E, 0x070000-0x07ffff:E, 0x080000-0x08ffff:E, 
0x090000-0x09ffff:E, 0x0a0000-0x0affff:E, 0x0b0000-0x0bffff:E, 
0x0c0000-0x0cffff:E, 0x0d0000-0x0dffff:E, 0x0e0000-0x0effff:E, 
0x0f0000-0x0fffff:E, 0x100000-0x10ffff:E, 0x110000-0x11ffff:E, 
0x120000-0x12ffff:E, 0x130000-0x13ffff:E, 0x140000-0x14ffff:E, 
0x150000-0x15ffff:E, 0x160000-0x16ffff:E, 0x170000-0x17ffff:E, 
0x180000-0x18ffff:E, 0x190000-0x19ffff:E, 0x1a0000-0x1affff:E, 
0x1b0000-0x1bffff:E, 0x1c0000-0x1cffff:E, 0x1d0000-0x1dffff:E, 
0x1e0000-0x1effff:E, 0x1f0000-0x1fffff:E, 0x200000-0x20ffff:E, 
0x210000-0x21ffff:E, 0x220000-0x22ffff:E, 0x230000-0x23ffff:E, 
0x240000-0x24ffff:E, 0x250000-0x25ffff:E, 0x260000-0x26ffff:E, 
0x270000-0x27ffff:E, 0x280000-0x28ffff:E, 0x290000-0x29ffff:E, 
0x2a0000-0x2affff:E, 0x2b0000-0x2bffff:E, 0x2c0000-0x2cffff:E, 
0x2d0000-0x2dffff:E, 0x2e0000-0x2effff:E, 0x2f0000-0x2fffff:E, 
0x300000-0x30ffff:E, 0x310000-0x31ffff:E, 0x320000-0x32ffff:E, 
0x330000-0x33ffff:E, 0x340000-0x34ffff:E, 0x350000-0x35ffff:E, 
0x360000-0x36ffff:E, 0x370000-0x37ffff:E, 0x380000-0x38ffff:E, 
0x390000-0x39ffff:E, 0x3a0000-0x3affff:E, 0x3b0000-0x3bffff:E, 
0x3c0000-0x3cffff:E, 0x3d0000-0x3dffff:E, 0x3e0000-0x3effff:E, 
0x3f0000-0x3fffff:E, 0x400000-0x40ffff:E, 0x410000-0x41ffff:E, 
0x420000-0x42ffff:E, 0x430000-0x43ffff:E, 0x440000-0x44ffff:E, 
0x450000-0x45ffff:E, 0x460000-0x46ffff:E, 0x470000-0x47ffff:E, 
0x480000-0x48ffff:E, 0x490000-0x49ffff:E, 0x4a0000-0x4affff:E, 
0x4b0000-0x4bffff:E, 0x4c0000-0x4cffff:E, 0x4d0000-0x4dffff:E, 
0x4e0000-0x4effff:E, 0x4f0000-0x4fffff:E, 0x500000-0x50ffff:E, 
0x510000-0x51ffff:E, 0x520000-0x52ffff:E, 0x530000-0x53ffff:E, 
0x540000-0x54ffff:E, 0x550000-0x55ffff:E, 0x560000-0x56ffff:E, 
0x570000-0x57ffff:E, 0x580000-0x58ffff:E, 0x590000-0x59ffff:E, 
0x5a0000-0x5affff:E, 0x5b0000-0x5bffff:E, 0x5c0000-0x5cffff:E, 
0x5d0000-0x5dffff:E, 0x5e0000-0x5effff:E, 0x5f0000-0x5fffff:E, 
0x600000-0x60ffff:E, 0x610000-0x61ffff:E, 0x620000-0x62ffff:E, 
0x630000-0x63ffff:E, 0x640000-0x64ffff:E, 0x650000-0x65ffff:E, 
0x660000-0x66ffff:E, 0x670000-0x67ffff:E, 0x680000-0x68ffff:E, 
0x690000-0x69ffff:E, 0x6a0000-0x6affff:E, 0x6b0000-0x6bffff:E, 
0x6c0000-0x6cffff:E, 0x6d0000-0x6dffff:E, 0x6e0000-0x6effff:E, 
0x6f0000-0x6fffff:E, 0x700000-0x70ffff:E, 0x710000-0x71ffff:E, 
0x720000-0x72ffff:E, 0x730000-0x73ffff:E, 0x740000-0x74ffff:E, 
0x750000-0x75ffff:E, 0x760000-0x76ffff:E, 0x770000-0x77ffff:E, 
0x780000-0x78ffff:E, 0x790000-0x79ffff:E, 0x7a0000-0x7affff:E, 
0x7b0000-0x7bffff:E, 0x7c0000-0x7cffff:E, 0x7d0000-0x7dffff:E, 
0x7e0000-0x7effff:E, 0x7f0000-0x7fffff:E, 0x800000-0x80ffff:E, 
0x810000-0x81ffff:E, 0x820000-0x82ffff:E, 0x830000-0x83ffff:E, 
0x840000-0x84ffff:E, 0x850000-0x85ffff:E, 0x860000-0x86ffff:E, 
0x870000-0x87ffff:E, 0x880000-0x88ffff:E, 0x890000-0x89ffff:E, 
0x8a0000-0x8affff:E, 0x8b0000-0x8bffff:E, 0x8c0000-0x8cffff:E, 
0x8d0000-0x8dffff:E, 0x8e0000-0x8effff:E, 0x8f0000-0x8fffff:E, 
0x900000-0x90ffff:E, 0x910000-0x91ffff:E, 0x920000-0x92ffff:E, 
0x930000-0x93ffff:E, 0x940000-0x94ffff:E, 0x950000-0x95ffff:E, 
0x960000-0x96ffff:E, 0x970000-0x97ffff:E, 0x980000-0x98ffff:E, 
0x990000-0x99ffff:E, 0x9a0000-0x9affff:E, 0x9b0000-0x9bffff:E, 
0x9c0000-0x9cffff:E, 0x9d0000-0x9dffff:E, 0x9e0000-0x9effff:E, 
0x9f0000-0x9fffff:E, 0xa00000-0xa0ffff:E, 0xa10000-0xa1ffff:E, 
0xa20000-0xa2ffff:E, 0xa30000-0xa3ffff:E, 0xa40000-0xa4ffff:E, 
0xa50000-0xa5ffff:E, 0xa60000-0xa6ffff:E, 0xa70000-0xa7ffff:E, 
0xa80000-0xa8ffff:E, 0xa90000-0xa9ffff:E, 0xaa0000-0xaaffff:E, 
0xab0000-0xabffff:E, 0xac0000-0xacffff:E, 0xad0000-0xadffff:E, 
0xae0000-0xaeffff:E, 0xaf0000-0xafffff:E, 0xb00000-0xb0ffff:E, 
0xb10000-0xb1ffff:E, 0xb20000-0xb2ffff:E, 0xb30000-0xb3ffff:E, 
0xb40000-0xb4ffff:E, 0xb50000-0xb5ffff:E, 0xb60000-0xb6ffff:E, 
0xb70000-0xb7ffff:E, 0xb80000-0xb8ffff:E, 0xb90000-0xb9ffff:E, 
0xba0000-0xbaffff:E, 0xbb0000-0xbbffff:E, 0xbc0000-0xbcffff:E, 
0xbd0000-0xbdffff:E, 0xbe0000-0xbeffff:E, 0xbf0000-0xbfffff:E, 
0xc00000-0xc0ffff:E, 0xc10000-0xc1ffff:E, 0xc20000-0xc2ffff:E, 
0xc30000-0xc3ffff:E, 0xc40000-0xc4ffff:E, 0xc50000-0xc5ffff:E, 
0xc60000-0xc6ffff:E, 0xc70000-0xc7ffff:E, 0xc80000-0xc8ffff:E, 
0xc90000-0xc9ffff:E, 0xca0000-0xcaffff:E, 0xcb0000-0xcbffff:E, 
0xcc0000-0xccffff:E, 0xcd0000-0xcdffff:E, 0xce0000-0xceffff:E, 
0xcf0000-0xcfffff:E, 0xd00000-0xd0ffff:E, 0xd10000-0xd1ffff:E, 
0xd20000-0xd2ffff:E, 0xd30000-0xd3ffff:E, 0xd40000-0xd4ffff:E, 
0xd50000-0xd5ffff:E, 0xd60000-0xd6ffff:E, 0xd70000-0xd7ffff:E, 
0xd80000-0xd8ffff:E, 0xd90000-0xd9ffff:E, 0xda0000-0xdaffff:E, 
0xdb0000-0xdbffff:E, 0xdc0000-0xdcffff:E, 0xdd0000-0xddffff:E, 
0xde0000-0xdeffff:E, 0xdf0000-0xdfffff:E, 0xe00000-0xe0ffff:E, 
0xe10000-0xe1ffff:E, 0xe20000-0xe2ffff:E, 0xe30000-0xe3ffff:E, 
0xe40000-0xe4ffff:E, 0xe50000-0xe5ffff:E, 0xe60000-0xe6ffff:E, 
0xe70000-0xe7ffff:E, 0xe80000-0xe8ffff:E, 0xe90000-0xe9ffff:E, 
0xea0000-0xeaffff:E, 0xeb0000-0xebffff:E, 0xec0000-0xecffff:E, 
0xed0000-0xedffff:E, 0xee0000-0xeeffff:E, 0xef0000-0xefffff:E, 
0xf00000-0xf0ffff:E, 0xf10000-0xf1ffff:E, 0xf20000-0xf2ffff:E, 
0xf30000-0xf3ffff:E, 0xf40000-0xf4ffff:E, 0xf50000-0xf5ffff:E, 
0xf60000-0xf6ffff:E, 0xf70000-0xf7ffff:E, 0xf80000-0xf8ffff:E, 
0xf90000-0xf9ffff:E, 0xfa0000-0xfaffff:E, 0xfb0000-0xfbffff:E, 
0xfc0000-0xfcffff:E, 0xfd0000-0xfdffff:E, 0xfe0000-0xfeffff:E, 
0xff0000-0xffffff:E
Erase/write done.
flashrom v0.9.7-r1854 on Linux 3.16.0-24-generic (x86_64)
flashrom was built with libpci 3.2.1, GCC 4.9.1, little endian
Command line (7 args): ./flashrom -p ft2232_spi:type=4232H,port=A -c 
S25FL127S......0 -V -o S25FL127S......0_probe.txt
Calibrating delay loop... OS timer resolution is 1 usecs, 1407M loops per 
second, 10 myus = 10 us, 100 myus = 137 us, 1000 myus = 1113 us, 10000 myus = 
9318 us, 4 myus = 3 us, OK.
Initializing ft2232_spi programmer
Using device type FTDI FT4232H channel A.
Disable divide-by-5 front stage
Set clock divisor
MPSSE clock: 60.000000 MHz, divisor: 2, SPI clock: 30.000000 MHz
No loopback of TDI/DO TDO/DI
Set data bits
The following protocols are supported: SPI.
Probing for Spansion S25FL127S......0, 16384 kB: probe_spi_rdid_generic: id1 
0x01, id2 0x2018
Found Spansion flash chip "S25FL127S......0" (16384 kB, SPI) on ft2232_spi.
Chip status register is 0x00.
Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set
Chip status register: Bit 6 is not set
Chip status register: Bit 5 is not set
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
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).
No operations were specified.
flashrom v0.9.7-r1854 on Linux 3.16.0-24-generic (x86_64)
flashrom was built with libpci 3.2.1, GCC 4.9.1, little endian
Command line (9 args): ./flashrom -p ft2232_spi:type=4232H,port=A -c 
S25FL127S......0 -r testdump.bin -V -o S25FL127L......0_read.txt
Calibrating delay loop... OS timer resolution is 1 usecs, 1466M loops per 
second, 10 myus = 10 us, 100 myus = 122 us, 1000 myus = 1111 us, 10000 myus = 
9857 us, 4 myus = 4 us, OK.
Initializing ft2232_spi programmer
Using device type FTDI FT4232H channel A.
Disable divide-by-5 front stage
Set clock divisor
MPSSE clock: 60.000000 MHz, divisor: 2, SPI clock: 30.000000 MHz
No loopback of TDI/DO TDO/DI
Set data bits
The following protocols are supported: SPI.
Probing for Spansion S25FL127S......0, 16384 kB: probe_spi_rdid_generic: id1 
0x01, id2 0x2018
Found Spansion flash chip "S25FL127S......0" (16384 kB, SPI) on ft2232_spi.
Chip status register is 0x00.
Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set
Chip status register: Bit 6 is not set
Chip status register: Bit 5 is not set
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
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: PROBE READ 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 [email protected] 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.
flashrom v0.9.7-r1854 on Linux 3.16.0-24-generic (x86_64)
flashrom was built with libpci 3.2.1, GCC 4.9.1, little endian
Command line (9 args): ./flashrom -p ft2232_spi:type=4232H,port=A -c 
S25FL127S......0 -V -w newimage.bin -o S25FL127S......0_write.txt
Calibrating delay loop... OS timer resolution is 1 usecs, 1485M loops per 
second, 10 myus = 11 us, 100 myus = 106 us, 1000 myus = 995 us, 10000 myus = 
9965 us, 4 myus = 5 us, OK.
Initializing ft2232_spi programmer
Using device type FTDI FT4232H channel A.
Disable divide-by-5 front stage
Set clock divisor
MPSSE clock: 60.000000 MHz, divisor: 2, SPI clock: 30.000000 MHz
No loopback of TDI/DO TDO/DI
Set data bits
The following protocols are supported: SPI.
Probing for Spansion S25FL127S......0, 16384 kB: probe_spi_rdid_generic: id1 
0x01, id2 0x2018
Found Spansion flash chip "S25FL127S......0" (16384 kB, SPI) on ft2232_spi.
Chip status register is 0x00.
Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set
Chip status register: Bit 6 is not set
Chip status register: Bit 5 is not set
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
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).
Block protection is disabled.
Reading old flash chip contents... done.
Erasing and writing flash chip... Trying erase function 0... 
0x000000-0x00ffff:W, 0x010000-0x01ffff:W, 0x020000-0x02ffff:W, 
0x030000-0x03ffff:W, 0x040000-0x04ffff:W, 0x050000-0x05ffff:W, 
0x060000-0x06ffff:W, 0x070000-0x07ffff:W, 0x080000-0x08ffff:W, 
0x090000-0x09ffff:W, 0x0a0000-0x0affff:W, 0x0b0000-0x0bffff:W, 
0x0c0000-0x0cffff:W, 0x0d0000-0x0dffff:W, 0x0e0000-0x0effff:W, 
0x0f0000-0x0fffff:W, 0x100000-0x10ffff:W, 0x110000-0x11ffff:W, 
0x120000-0x12ffff:W, 0x130000-0x13ffff:W, 0x140000-0x14ffff:W, 
0x150000-0x15ffff:W, 0x160000-0x16ffff:W, 0x170000-0x17ffff:W, 
0x180000-0x18ffff:W, 0x190000-0x19ffff:W, 0x1a0000-0x1affff:W, 
0x1b0000-0x1bffff:W, 0x1c0000-0x1cffff:W, 0x1d0000-0x1dffff:W, 
0x1e0000-0x1effff:W, 0x1f0000-0x1fffff:W, 0x200000-0x20ffff:W, 
0x210000-0x21ffff:W, 0x220000-0x22ffff:W, 0x230000-0x23ffff:W, 
0x240000-0x24ffff:W, 0x250000-0x25ffff:W, 0x260000-0x26ffff:W, 
0x270000-0x27ffff:W, 0x280000-0x28ffff:W, 0x290000-0x29ffff:W, 
0x2a0000-0x2affff:W, 0x2b0000-0x2bffff:W, 0x2c0000-0x2cffff:W, 
0x2d0000-0x2dffff:W, 0x2e0000-0x2effff:W, 0x2f0000-0x2fffff:W, 
0x300000-0x30ffff:W, 0x310000-0x31ffff:W, 0x320000-0x32ffff:W, 
0x330000-0x33ffff:W, 0x340000-0x34ffff:W, 0x350000-0x35ffff:W, 
0x360000-0x36ffff:W, 0x370000-0x37ffff:W, 0x380000-0x38ffff:W, 
0x390000-0x39ffff:W, 0x3a0000-0x3affff:W, 0x3b0000-0x3bffff:W, 
0x3c0000-0x3cffff:W, 0x3d0000-0x3dffff:W, 0x3e0000-0x3effff:W, 
0x3f0000-0x3fffff:W, 0x400000-0x40ffff:W, 0x410000-0x41ffff:W, 
0x420000-0x42ffff:W, 0x430000-0x43ffff:W, 0x440000-0x44ffff:W, 
0x450000-0x45ffff:W, 0x460000-0x46ffff:W, 0x470000-0x47ffff:W, 
0x480000-0x48ffff:W, 0x490000-0x49ffff:W, 0x4a0000-0x4affff:W, 
0x4b0000-0x4bffff:W, 0x4c0000-0x4cffff:W, 0x4d0000-0x4dffff:W, 
0x4e0000-0x4effff:W, 0x4f0000-0x4fffff:W, 0x500000-0x50ffff:W, 
0x510000-0x51ffff:W, 0x520000-0x52ffff:W, 0x530000-0x53ffff:W, 
0x540000-0x54ffff:W, 0x550000-0x55ffff:W, 0x560000-0x56ffff:W, 
0x570000-0x57ffff:W, 0x580000-0x58ffff:W, 0x590000-0x59ffff:W, 
0x5a0000-0x5affff:W, 0x5b0000-0x5bffff:W, 0x5c0000-0x5cffff:W, 
0x5d0000-0x5dffff:W, 0x5e0000-0x5effff:W, 0x5f0000-0x5fffff:W, 
0x600000-0x60ffff:W, 0x610000-0x61ffff:W, 0x620000-0x62ffff:W, 
0x630000-0x63ffff:W, 0x640000-0x64ffff:W, 0x650000-0x65ffff:W, 
0x660000-0x66ffff:W, 0x670000-0x67ffff:W, 0x680000-0x68ffff:W, 
0x690000-0x69ffff:W, 0x6a0000-0x6affff:W, 0x6b0000-0x6bffff:W, 
0x6c0000-0x6cffff:W, 0x6d0000-0x6dffff:W, 0x6e0000-0x6effff:W, 
0x6f0000-0x6fffff:W, 0x700000-0x70ffff:W, 0x710000-0x71ffff:W, 
0x720000-0x72ffff:W, 0x730000-0x73ffff:W, 0x740000-0x74ffff:W, 
0x750000-0x75ffff:W, 0x760000-0x76ffff:W, 0x770000-0x77ffff:W, 
0x780000-0x78ffff:W, 0x790000-0x79ffff:W, 0x7a0000-0x7affff:W, 
0x7b0000-0x7bffff:W, 0x7c0000-0x7cffff:W, 0x7d0000-0x7dffff:W, 
0x7e0000-0x7effff:W, 0x7f0000-0x7fffff:W, 0x800000-0x80ffff:W, 
0x810000-0x81ffff:W, 0x820000-0x82ffff:W, 0x830000-0x83ffff:W, 
0x840000-0x84ffff:W, 0x850000-0x85ffff:W, 0x860000-0x86ffff:W, 
0x870000-0x87ffff:W, 0x880000-0x88ffff:W, 0x890000-0x89ffff:W, 
0x8a0000-0x8affff:W, 0x8b0000-0x8bffff:W, 0x8c0000-0x8cffff:W, 
0x8d0000-0x8dffff:W, 0x8e0000-0x8effff:W, 0x8f0000-0x8fffff:W, 
0x900000-0x90ffff:W, 0x910000-0x91ffff:W, 0x920000-0x92ffff:W, 
0x930000-0x93ffff:W, 0x940000-0x94ffff:W, 0x950000-0x95ffff:W, 
0x960000-0x96ffff:W, 0x970000-0x97ffff:W, 0x980000-0x98ffff:W, 
0x990000-0x99ffff:W, 0x9a0000-0x9affff:W, 0x9b0000-0x9bffff:W, 
0x9c0000-0x9cffff:W, 0x9d0000-0x9dffff:W, 0x9e0000-0x9effff:W, 
0x9f0000-0x9fffff:W, 0xa00000-0xa0ffff:W, 0xa10000-0xa1ffff:W, 
0xa20000-0xa2ffff:W, 0xa30000-0xa3ffff:W, 0xa40000-0xa4ffff:W, 
0xa50000-0xa5ffff:W, 0xa60000-0xa6ffff:W, 0xa70000-0xa7ffff:W, 
0xa80000-0xa8ffff:W, 0xa90000-0xa9ffff:W, 0xaa0000-0xaaffff:W, 
0xab0000-0xabffff:W, 0xac0000-0xacffff:W, 0xad0000-0xadffff:W, 
0xae0000-0xaeffff:W, 0xaf0000-0xafffff:W, 0xb00000-0xb0ffff:W, 
0xb10000-0xb1ffff:W, 0xb20000-0xb2ffff:W, 0xb30000-0xb3ffff:W, 
0xb40000-0xb4ffff:W, 0xb50000-0xb5ffff:W, 0xb60000-0xb6ffff:W, 
0xb70000-0xb7ffff:W, 0xb80000-0xb8ffff:W, 0xb90000-0xb9ffff:W, 
0xba0000-0xbaffff:W, 0xbb0000-0xbbffff:W, 0xbc0000-0xbcffff:W, 
0xbd0000-0xbdffff:W, 0xbe0000-0xbeffff:W, 0xbf0000-0xbfffff:W, 
0xc00000-0xc0ffff:W, 0xc10000-0xc1ffff:W, 0xc20000-0xc2ffff:W, 
0xc30000-0xc3ffff:W, 0xc40000-0xc4ffff:W, 0xc50000-0xc5ffff:W, 
0xc60000-0xc6ffff:W, 0xc70000-0xc7ffff:W, 0xc80000-0xc8ffff:W, 
0xc90000-0xc9ffff:W, 0xca0000-0xcaffff:W, 0xcb0000-0xcbffff:W, 
0xcc0000-0xccffff:W, 0xcd0000-0xcdffff:W, 0xce0000-0xceffff:W, 
0xcf0000-0xcfffff:W, 0xd00000-0xd0ffff:W, 0xd10000-0xd1ffff:W, 
0xd20000-0xd2ffff:W, 0xd30000-0xd3ffff:W, 0xd40000-0xd4ffff:W, 
0xd50000-0xd5ffff:W, 0xd60000-0xd6ffff:W, 0xd70000-0xd7ffff:W, 
0xd80000-0xd8ffff:W, 0xd90000-0xd9ffff:W, 0xda0000-0xdaffff:W, 
0xdb0000-0xdbffff:W, 0xdc0000-0xdcffff:W, 0xdd0000-0xddffff:W, 
0xde0000-0xdeffff:W, 0xdf0000-0xdfffff:W, 0xe00000-0xe0ffff:W, 
0xe10000-0xe1ffff:W, 0xe20000-0xe2ffff:W, 0xe30000-0xe3ffff:W, 
0xe40000-0xe4ffff:W, 0xe50000-0xe5ffff:W, 0xe60000-0xe6ffff:W, 
0xe70000-0xe7ffff:W, 0xe80000-0xe8ffff:W, 0xe90000-0xe9ffff:W, 
0xea0000-0xeaffff:W, 0xeb0000-0xebffff:W, 0xec0000-0xecffff:W, 
0xed0000-0xedffff:W, 0xee0000-0xeeffff:W, 0xef0000-0xefffff:W, 
0xf00000-0xf0ffff:W, 0xf10000-0xf1ffff:W, 0xf20000-0xf2ffff:W, 
0xf30000-0xf3ffff:W, 0xf40000-0xf4ffff:W, 0xf50000-0xf5ffff:W, 
0xf60000-0xf6ffff:W, 0xf70000-0xf7ffff:W, 0xf80000-0xf8ffff:W, 
0xf90000-0xf9ffff:W, 0xfa0000-0xfaffff:W, 0xfb0000-0xfbffff:W, 
0xfc0000-0xfcffff:W, 0xfd0000-0xfdffff:W, 0xfe0000-0xfeffff:W, 
0xff0000-0xffffff:W
Erase/write done.
Verifying flash... VERIFIED.
--- flashchips.c	2014-11-24 23:20:52.136499306 +0100
+++ flashchips.new.c	2014-11-24 23:15:32.000000000 +0100
@@ -10434,6 +10434,81 @@
 		.read		= spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
 		.voltage	= {2700, 3600},
 	},
+	
+	{
+		.vendor		= "Spansion",
+		.name		= "S25FL127S......0", /* hybrid: 32 (top or bottom) 4 kB sub-sectors + 64 kB sectors */
+		.bustype	= BUS_SPI,
+		.manufacture_id	= SPANSION_ID,
+		.model_id	= SPANSION_S25FL128,
+		.total_size	= 16384,
+		.page_size	= 256,
+		/* supports 4B addressing */
+		/* OTP: 1024B total, 32B reserved; read 0x4B; write 0x42 */
+		.feature_bits	= FEATURE_WRSR_WREN | FEATURE_OTP,
+		.tested		= TEST_OK_PREW,
+		.probe		= probe_spi_rdid,
+		.probe_timing	= TIMING_ZERO,
+		.block_erasers	= {
+			{
+				/* This chip supports erasing of the 32 so-called "parameter sectors" with
+				 * opcode 0x20. Trying to access an address outside these 4kB blocks does
+				 * have no effect on the memory contents, but sets a flag in the SR.
+				.eraseblocks = {
+					{4 * 1024, 32},
+					{64 * 1024, 254} // inaccessible
+				},
+				.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_bp2_srwd,
+		.unlock		= spi_disable_blockprotect_bp2_srwd, /* #WP pin write-protects SRWP bit. */
+		.write		= spi_chip_write_256,
+		.read		= spi_chip_read, /* Fast read (0x0B) supported */
+		.voltage	= {2700, 3600},
+	},
+	
+	{
+		.vendor		= "Spansion",
+		.name		= "S25FL127S......1", /* uniform 256kB sectors */
+		.bustype	= BUS_SPI,
+		.manufacture_id	= SPANSION_ID,
+		.model_id	= SPANSION_S25FL128,
+		.total_size	= 16384,
+		.page_size	= 512,
+		/* supports 4B addressing */
+		/* OTP: 1024B total, 32B reserved; 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 = { {256 * 1024, 64} },
+				.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_bp2_srwd,
+		.unlock		= spi_disable_blockprotect_bp2_srwd, /* #WP pin write-protects SRWP bit. */
+		.write		= spi_chip_write_256,
+		.read		= spi_chip_read, /* Fast read (0x0B) supported */
+		.voltage	= {2700, 3600},
+	},
 
 	{
 		.vendor		= "Spansion",
_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to