We assembled a CM-T43 module with the SST25VF016B SPI-flash, and the write command does not work. Reads and erases execute without reporting an error, but the write command fails and appears to place the chip into some undefined state.
The chip works in Linux, and if I program SPL/U-Boot to the SPI flash from Linux, the bootrom is able to boot it. It seems that only U-Boot has troubles with it. I did some of the easy poking around (add delays, change operating speed, experimentee with mux settings (pullups/pulldowns)), but it wasn't helpful. Any ideas what may be wrong? See log below: U-Boot SPL 2016.07-rc1-dirty (Jun 08 2016 - 14:18:19) Trying to boot from MMC1 U-Boot 2016.07-rc1-dirty (Jun 08 2016 - 14:18:19 +0300) I2C: ready DRAM: 1 GiB PMIC: TPS65218 NAND: 0 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 SF: Got idcodes 00000000: bf 25 41 bf 25 .%A.% SF: Detected SST25VF016B with page size 256 Bytes, erase size 4 KiB, total 2 MiB Hit any key to stop autoboot: 0 CM-T43 # CM-T43 # CM-T43 # CM-T43 # sf probe SF: Got idcodes 00000000: bf 25 41 bf 25 .%A.% SF: Detected SST25VF016B with page size 256 Bytes, erase size 4 KiB, total 2 MiB CM-T43 # sf read 80a00000 0 4000 device 0 offset 0x0, size 0x4000 SF: 16384 bytes @ 0x0 Read: OK CM-T43 # sf erase 0 4000 SF: erase 20 0 0 0 (0) SF: erase 20 0 10 0 (1000) SF: erase 20 0 20 0 (2000) SF: erase 20 0 30 0 (3000) SF: 16384 bytes @ 0x0 Erased: OK CM-T43 # sf write 80a00000 0 4000 device 0 offset 0x0, size 0x4000 WP[02]: 0x80a00000 => cmd = { 0xad 0x000000 } SPI RXS timed out, status=0x00000000 WP[ffffffff]: 0x80a00002 => cmd = { 0xad 0x000002 } SPI TXS timed out, status=0x00000000 SF: Failed to send command (1 bytes): -1 SF: sst word program failed SF: sst: program failure 16384 bytes @ 0x0 SF: 16384 bytes @ 0x0 Written: ERROR -1 CM-T43 # sf erase 0 4000 SF: erase 20 0 0 0 (0) SF: erase 20 0 10 0 (1000) SF: erase 20 0 20 0 (2000) SF: erase 20 0 30 0 (3000) SF: 16384 bytes @ 0x0 Erased: OK CM-T43 # sf write 80a00000 0 4000 device 0 offset 0x0, size 0x4000 WP[42]: 0x80a00000 => cmd = { 0xad 0x000000 } SPI RXS timed out, status=0x00000000 WP[ffffffff]: 0x80a00002 => cmd = { 0xad 0x000002 } SPI TXS timed out, status=0x00000000 SF: Failed to send command (1 bytes): -1 SF: sst word program failed SF: sst: program failure 16384 bytes @ 0x0 SF: 16384 bytes @ 0x0 Written: ERROR -1 CM-T43 # sf read 80a00000 0 4000 device 0 offset 0x0, size 0x4000 SF: 16384 bytes @ 0x0 Read: OK CM-T43 # sf write 80a00000 0 4000 device 0 offset 0x0, size 0x4000 WP[42]: 0x80a00000 => cmd = { 0xad 0x000000 } SPI RXS timed out, status=0x00000000 WP[ffffffff]: 0x80a00002 => cmd = { 0xad 0x000002 } SPI TXS timed out, status=0x00000000 SF: Failed to send command (1 bytes): -1 SF: sst word program failed SF: sst: program failure 16384 bytes @ 0x0 SF: 16384 bytes @ 0x0 Written: ERROR -1 CM-T43 # sf probe SF: Got idcodes 00000000: 00 00 00 00 00 ..... SF: Unsupported flash IDs: manuf 00, jedec 0000, ext_jedec 0000 Failed to initialize SPI flash at 0:0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot