sf: improve support of (Q)SPI flash memories
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest8 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/8 | spi: add support of SPI flash commandsdrivers/ drivers/ include/ | +221 | 1 reply | |
| 2/8 | sf: describe all SPI flash commands with 'struct spi_flash_command'drivers/ drivers/ drivers/ +1 more | +236 | 1 reply | |
| 3/8 | sf: select the relevant SPI flash protocol for read and write commandsdrivers/ include/ | +20 | 1 reply | |
| 4/8 | sf: differentiate Page Program 1-1-4 and 1-4-4drivers/ drivers/ | +3 | 1 reply | |
| 5/8 | sf: add 'addr_len' member to 'struct spi_flash'drivers/ include/ | +10 | 1 reply | |
| 6/8 | sf: add new option to support SPI flash above 16MiBdrivers/ drivers/ drivers/ | +118 | 1 reply | |
| 7/8 | sf: add support to Microchip SST26 QSPI memoriesdrivers/ drivers/ drivers/ | +38 | 1 reply | |
| 8/8 | sf: add driver for Atmel QSPI controllerdrivers/ drivers/ drivers/ +1 more | +581 | 1 reply |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [U-Boot] [PATCH 0/8] sf: improve support of (Q)SPI flash memories
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
Signature · 1 line
2.7.4