[U-Boot] [PATCH 0/8] Transition of fsl qspi driver to spi-mem framework

Schrempf Frieder frieder.schrempf at kontron.de
Mon Dec 2 13:05:24 CET 2019


+ Ashish

Hi Kuldeep,

On 29.11.19 06:54, Kuldeep Singh wrote:
> This entire patch series migrate freescale qspi driver to spi-mem framework.

First, thanks for working on this. I have this on my list for quite a 
long time, but struggled to find enough time to actually get it done.

> 
> Patch 1 removes the old fsl qspi driver

You shouldn't remove the old driver before the new one is in place, as 
this breaks the build in between the two patches.

> 
> Patch 2 adds new qspi driver incorporating spi-mem framework which is ported
> version of linux qspi driver. Initial port was done by Frieder. Now, no more
> direct access to spi-nor memory is possible. Few changes were introduced to
> prevent uboot crash such as to add complete flash size to SFA1AD, SFA2AD,
> SFB1AD, SFB2AD based on chip select number instead of 1k. Immediate effect was
> observed on pfe while using 1k size as it access spi-nor memory directly. Using
> complete flash size resolves the crash but data read will not be valid.

Can you provide more information about the problem/crash you experience 
and the platform you are working on?

Are you referring to the same issue as Ashish in this discussion here [1]?

There are two reasons why I'd like to avoid using the whole memory 
mapped area for AHB access.
First, I'd like to keep the U-Boot driver as close as possible to the 
Linux driver.
Second, the intention of the spi-mem layer is to abstract the flash 
layer and therefore this driver should work independently of flash type 
or size. With your version this wouldn't be the case if you connect a 
flash that is bigger than the memory map for example.

Thanks,
Frieder

[1]: https://lists.denx.de/pipermail/u-boot/2019-October/387788.html

> 
> Patch 3 removes unused config options.
> 
> Patch 4 moves FSL_QSPI config to defconfigs instead of defining in header files.
> SPI_FLASH_SPANSION is enabled while disabling SPI_FLASH_BAR.
> 
> Patch 5 removes unused num-cs property for imx platforms
> 
> Patch 6 enables SPI_FLASH_SPANSION for ls1012 boards. SPI_FLASH_BAR is no longer
> required and can be removed.
> 
> Patch 7 move SPI_FLASH_SPANSION to defconfigs instead of header files. While
> enabling SPI_FLASH_SPANSION config, also disable SPI_FLASH_BAR at the same time.
> 
> Patch 8 updates the device-tree properties treewide for layerscape boards by
> aligning it with linux device-tree properties.
> 
> Frieder Schrempf (1):
>    imx: imx6sx: Remove unused 'num-cs' property
> 
> Kuldeep Singh (7):
>    spi: Remove old freescale qspi driver
>    spi: Transform the FSL QuadSPI driver to use the SPI MEM API
>    treewide: Remove unused FSL QSPI config options
>    configs: ls1043a: Move CONFIG_FSL_QSPI to defconfig
>    configs: ls1012a: Enable SPI_FLASH_SPANSION in defconfig
>    configs: ls1046a: Move SPI_FLASH_SPANSION to defconfig
>    treewide: Update fsl qspi node dt properties as per spi-mem driver
> 
>   arch/arm/dts/fsl-ls1012a-frdm.dtsi            |    5 +-
>   arch/arm/dts/fsl-ls1012a-qds.dtsi             |    5 +-
>   arch/arm/dts/fsl-ls1012a-rdb.dtsi             |    5 +-
>   arch/arm/dts/fsl-ls1012a.dtsi                 |    4 +-
>   arch/arm/dts/fsl-ls1043a-qds.dtsi             |    5 +-
>   arch/arm/dts/fsl-ls1043a.dtsi                 |    6 +-
>   arch/arm/dts/fsl-ls1046a-frwy.dts             |    5 +-
>   arch/arm/dts/fsl-ls1046a-qds.dtsi             |    5 +-
>   arch/arm/dts/fsl-ls1046a-rdb.dts              |    5 +-
>   arch/arm/dts/fsl-ls1046a.dtsi                 |    4 +-
>   arch/arm/dts/fsl-ls1088a-qds.dts              |    5 +-
>   arch/arm/dts/fsl-ls1088a-rdb.dts              |    5 +-
>   arch/arm/dts/fsl-ls1088a.dtsi                 |    2 +-
>   arch/arm/dts/fsl-ls2080a-qds.dts              |    5 +-
>   arch/arm/dts/fsl-ls2080a.dtsi                 |    4 +-
>   arch/arm/dts/fsl-ls2088a-rdb-qspi.dts         |    5 +-
>   arch/arm/dts/imx6sx-sabreauto-u-boot.dtsi     |    2 -
>   arch/arm/dts/imx6sx-sdb-u-boot.dtsi           |    2 -
>   arch/arm/dts/ls1021a-twr.dtsi                 |    5 +-
>   arch/arm/dts/ls1021a.dtsi                     |    6 +-
>   .../include/asm/arch-fsl-layerscape/config.h  |    1 -
>   arch/arm/include/asm/arch-ls102xa/config.h    |    1 -
>   configs/ls1012aqds_qspi_defconfig             |    2 +-
>   configs/ls1012aqds_tfa_defconfig              |    2 +-
>   configs/ls1012ardb_qspi_SECURE_BOOT_defconfig |    2 +-
>   configs/ls1012ardb_qspi_defconfig             |    2 +-
>   configs/ls1012ardb_tfa_defconfig              |    2 +-
>   configs/ls1043aqds_qspi_defconfig             |    2 +-
>   configs/ls1043aqds_sdcard_qspi_defconfig      |    2 +-
>   configs/ls1043aqds_tfa_SECURE_BOOT_defconfig  |    2 +
>   configs/ls1043aqds_tfa_defconfig              |    2 +-
>   configs/ls1046aqds_qspi_defconfig             |    2 +-
>   configs/ls1046aqds_sdcard_qspi_defconfig      |    2 +-
>   configs/ls1046aqds_tfa_SECURE_BOOT_defconfig  |    1 +
>   configs/ls1046aqds_tfa_defconfig              |    2 +-
>   configs/ls1046ardb_qspi_SECURE_BOOT_defconfig |    2 +-
>   configs/ls1046ardb_qspi_defconfig             |    2 +-
>   configs/ls1046ardb_tfa_SECURE_BOOT_defconfig  |    2 +-
>   configs/ls1046ardb_tfa_defconfig              |    2 +-
>   drivers/spi/fsl_qspi.c                        | 1549 ++++++-----------
>   drivers/spi/fsl_qspi.h                        |  145 --
>   include/configs/ls1012a_common.h              |   17 +-
>   include/configs/ls1012afrwy.h                 |    3 -
>   include/configs/ls1012ardb.h                  |    3 -
>   include/configs/ls1021aiot.h                  |    6 -
>   include/configs/ls1021aqds.h                  |   11 -
>   include/configs/ls1021atwr.h                  |   10 -
>   include/configs/ls1043aqds.h                  |   10 -
>   include/configs/ls1046afrwy.h                 |    9 -
>   include/configs/ls1046aqds.h                  |   19 -
>   include/configs/ls1046ardb.h                  |   20 -
>   include/configs/ls1088a_common.h              |    6 -
>   include/configs/ls1088aqds.h                  |    8 -
>   include/configs/ls1088ardb.h                  |   18 -
>   include/configs/ls2080aqds.h                  |    2 -
>   include/configs/ls2080ardb.h                  |    8 +-
>   include/configs/mx6sxsabreauto.h              |    6 -
>   include/configs/mx6sxsabresd.h                |   11 -
>   include/configs/mx6ul_14x14_evk.h             |    6 -
>   include/configs/mx6ullevk.h                   |    6 -
>   include/configs/mx7dsabresd.h                 |    8 -
>   include/configs/pcm052.h                      |    7 -
>   include/configs/vf610twr.h                    |    8 -
>   scripts/config_whitelist.txt                  |    5 -
>   64 files changed, 632 insertions(+), 1394 deletions(-)
>   delete mode 100644 drivers/spi/fsl_qspi.h
> 


More information about the U-Boot mailing list