[U-Boot] [RESEND PATCH 0/8] sf: improve support of (Q)SPI flash memories

Marek Vasut marex at denx.de
Mon Jul 17 08:25:41 UTC 2017


On 07/17/2017 07:10 AM, Wenyou Yang wrote:
> 
> 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.

Both of which are ancient, so please rebase on u-boot/master and resubmit.

> 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.

Why ? :)

> During my tests, I used:
>   - setenv/saveenv, reboot, printenv
>   or
>   - sf probe, sf read, sf write

You might want to try sf read/erase/write/update to exercise the code
more. Also, cmp.b is your friend.

> 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     | 341 +++++++++++++++++++++++----------
>  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, 1224 insertions(+), 190 deletions(-)
>  create mode 100644 drivers/spi/atmel_qspi.c
>  create mode 100644 drivers/spi/atmel_qspi.h
> 


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list