AnsweredAssumed Answered

Spansion S25FS128S and fsl-quadspi driver

Question asked by Michele Jr De Candia on Jun 28, 2017
Latest reply on Jun 30, 2017 by Bacem Daassi

Hi all,

I'm having some issues with S25FS128S spi flash (Jedec: 0x01, 0x20, 0x18, 0x4d, 0x01, 0x81) on a LS1046A-rdb. I'm using SDK 2.0. It is not recognized from official driver:


[ 2.110215] fsl-quadspi 1550000.quadspi: unrecognized JEDEC id bytes: 01, 20, 18
[ 2.118444] fsl-quadspi 1550000.quadspi: Freescale QuadSPI probe failed
[ 2.126153] fsl-quadspi: probe of 1550000.quadspi failed with error -2


So, I've added this line


{ "S25FS128S", INFO6(0x012018, 0x4d0181, 64 * 1024, 256 , SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |SPI_NOR_DDR_QUAD_READ ) },


to linux/drivers/mtd/spi-nor.c to recognize it (due to the fact it is not recognized from existant spi-nor driver).


Seems reading flash does not work:


Flash is recognized but reading results in all 0xeeeeeeee

dd if=/dev/mtd0 of=test.file bs=4 count=1 && hexdump test.file
1+0 records in
1+0 records out
4 bytes (4 B) copied, 0.00016588 s, 24.1 kB/s
0000000 eeee eeee


With this configuration, the driver performs a Read Quad Out command (0x6b).


Morevoer, U-Boot reads the flash successfully as

{"S25FL128S_64K", 0x012018, 0x4d01, 64 * 1024, 256, RD_FULL, WR_QPP},

but i've verified it uses the FAST_READ_CMD (0xb) to read data from flash.


Do you have any idea on what is wrong with this configuration?