From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wenyou Yang Date: Tue, 25 Jul 2017 15:00:54 +0800 Subject: [U-Boot] [PATCH v3 0/8] sf: improve support of (Q)SPI flash memories Message-ID: <20170725070102.1344-1-wenyou.yang@microchip.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This series of patches are based and have been tested on the 'master' branch of the u-boot.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 and other than 0: OK + Write at offset 0 and other than 0: OK During my tests, I used: - setenv/saveenv, reboot, printenv or - sf probe, sf read, sf write, sf erase and sf update. Changes in v3: - Add the include to fix build error for corvus_defconfig. Changes in v2: - Rebase on the latest u-boot/master(2710d54f5). 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 | 16 +- 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 | 7 + 14 files changed, 1226 insertions(+), 190 deletions(-) create mode 100644 drivers/spi/atmel_qspi.c create mode 100644 drivers/spi/atmel_qspi.h -- 2.13.0