
Hi all,
this series of patches has been tested on u-boot-2017.03-at91 then ported to the 'master' branch of the u-boot-spi.git tree.
Tests were passed with a sama5d2 xplained board which embeds both SPI and QSPI controllers.
The following tests have been passed:
- QSPI0 + Macronix MX25L25673G: + probe: OK + Fast Read 1-1-4 at offset 0x10000 (u-boot env): OK + Page Program 1-1-4 at offset 0x10000: OK The Macronix datasheet tells that only Page Program 1-4-4 is supported, not Page Program 1-1-4, however it worked, I don't know why...
- QSPI0 + Microchip SST26 + probe: OK + Fast Read 1-1-4 at offset 0x10000 (u-boot env): OK + Page Program 1-1-1 at offset 0x10000: OK SST26 memories support Page Program 1-4-4 but with the op code of Page Program 1-1-4, which is not standard so I don't use it.
- QSPI0 + Adesto AT25DF321A + probe: OK + Fast Read 1-1-1 at offset 0x10000 (u-boot env): OK + Page Program 1-1-1 at offset 0x10000: OK
- SPI0 + Adesto AT25DF321A + probe: OK + Fast Read 1-1-1 at offset 0x6000 (u-boot env): OK + Page Program 1-1-1 at offest 0x6000: OK
- SPI1 + Atmel AT45 + probe: OK + Read at offset 0: OK + Write at offset 0: OK <- I didn't try offset other than 0.
During my tests, I used: - setenv/saveenv, reboot, printenv or - sf probe, sf read, sf write
Best regards,
Cyrille
Cyrille Pitchen (8): spi: add support of SPI flash commands sf: describe all SPI flash commands with 'struct spi_flash_command' sf: select the relevant SPI flash protocol for read and write commands sf: differentiate Page Program 1-1-4 and 1-4-4 sf: add 'addr_len' member to 'struct spi_flash' sf: add new option to support SPI flash above 16MiB sf: add support to Microchip SST26 QSPI memories sf: add driver for Atmel QSPI controller
drivers/mtd/spi/Kconfig | 15 +- drivers/mtd/spi/sf.c | 78 ++++++-- drivers/mtd/spi/sf_dataflash.c | 119 ++++++------ drivers/mtd/spi/sf_internal.h | 48 +++-- drivers/mtd/spi/spi_flash.c | 338 +++++++++++++++++++++++---------- drivers/mtd/spi/spi_flash_ids.c | 5 + drivers/spi/Kconfig | 7 + drivers/spi/Makefile | 1 + drivers/spi/atmel_qspi.c | 404 ++++++++++++++++++++++++++++++++++++++++ drivers/spi/atmel_qspi.h | 169 +++++++++++++++++ drivers/spi/spi-uclass.c | 40 ++++ drivers/spi/spi.c | 13 ++ include/spi.h | 168 +++++++++++++++++ include/spi_flash.h | 6 + 14 files changed, 1222 insertions(+), 189 deletions(-) create mode 100644 drivers/spi/atmel_qspi.c create mode 100644 drivers/spi/atmel_qspi.h