Commit bb7cd0ddf978b96c40a4889608c9b9ea16127afa
Committed by
Jagannadha Sutradharudu Teki
1 parent
570533b820
Exists in
master
and in
49 other branches
spi: ti_qspi: Add delay before xfer for am43xx
Without this delay, write/read is failing. Looks like, the WIP always remain set and hence a timeout occurs leading to the error. Without this patch, device does not get probed also. Here is the log. U-Boot# U-Boot# U-Boot# U-Boot# sf probe 0 SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff Failed to initialize SPI flash at 0:0 U-Boot# sf probe 0 While with this patch, log is U-Boot# sf probe 0 SF: Detected MX25L51235F with page size 256 Bytes, erase size 64 KiB, total 64 MiB, mapped at 30000000 U-Boot# sf erase 0 0x80000 SF: 524288 bytes @ 0x0 Erased: OK U-Boot# mw 81000000 0xdededede 0x40000 U-Boot# sf write 81000000 0 0x40000 SF: 262144 bytes @ 0x0 Written: OK U-Boot# sf read 82000000 0 0x40000 SF: 262144 bytes @ 0x0 Read: OK U-Boot# md 0x82000000 Signed-off-by: Sourav Poddar <sourav.poddar@ti.com> Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Showing 1 changed file with 7 additions and 0 deletions Side-by-side Diff
drivers/spi/ti_qspi.c
... | ... | @@ -285,6 +285,13 @@ |
285 | 285 | qslave->cmd |= QSPI_3_PIN; |
286 | 286 | qslave->cmd |= 0xfff; |
287 | 287 | |
288 | +/* FIXME: This delay is required for successfull | |
289 | + * completion of read/write/erase. Once its root | |
290 | + * caused, it will be remove from the driver. | |
291 | + */ | |
292 | +#ifdef CONFIG_AM43XX | |
293 | + udelay(100); | |
294 | +#endif | |
288 | 295 | while (words--) { |
289 | 296 | if (txp) { |
290 | 297 | debug("tx cmd %08x dc %08x data %02x\n", |