[U-Boot] [PATCH v2 00/11] SF: Migrate to Linux SPI NOR framework

Simon Goldschmidt simon.k.r.goldschmidt at gmail.com
Fri Dec 21 13:29:05 UTC 2018


Am 21.12.2018 um 12:11 schrieb Vignesh R:
> Hi Simon,
> [...]
>>
>> Hi Vignesh,
>>
>> I just did a quick test on this but it fails to boot. I guess this could
>> be a size problem.
> 
> I guess. SPL_SPI_FLASH_TINY would help with SPL size issue here.

Yes, after enabling that it works. With the tiny framework, I get 
~1.5KiB reduction compared to current mainline.

> 
>> Unfortunately, the socfpga gen5 config does not
>> correctly check SPL size currently. I'll have to work on that. I'll test
>> your patch with a more limited config when I find the time.
>>
> Okay, thanks!

I can successfully boot with your v2 patch applied with the standard and 
the tiny framework. However, allow me some more time to check SFDP (and 
maybe BAR) and also to check that the correct opcodes are used 
(stateless 4-byte opcodes should be used).

Regards,
Simon

> 
> Regards
> Vignesh
> 
>> Regards,
>> Simon
>>
>>
>>      Change log:
>>      Since v1:
>>      Remove #ifindef __UBOOT__
>>      Add back BAR support, but dont enable as default for all platform (see
>>      10/11 for more details)
>>      Enable SPI_FLASH_TINY on boards where there is SPL size constraint as
>>      seen on travis ci builds.
>>      Drop sf_mtd changes for now as it seems to cause issues.
>>      v1: https://patchwork.ozlabs.org/cover/1012146/
>>
>>      Since RFC v2:
>>      Fix issues reported by Simon Goldschmidt wrt 4 use of byte
>>      addressing opcode
>>      Fix issues in compiling SFDP code
>>      Re organize file names and Makefile to simply spi-nor-tiny inclusion
>>      Remove SPI_FLASH_BAR and SF_DUAL_FLASH as these are no longer used
>>      RFC v2: https://patchwork.ozlabs.org/cover/1007589/
>>
>>      Since RFC v1:
>>      Add lightweight SPI flash stack for boards with SPL size constraints
>>      Provide non DM version of spi-mem
>>      Fix build issues on different platforms as reported by travis-ci on v1
>>
>>      RFC v1: https://patchwork.ozlabs.org/cover/1004689/
>>
>>      Vignesh R (11):
>>        spi-mem: Claim SPI bus before spi mem access
>>        spi: Add non DM version of SPI_MEM
>>        sh: bitops: add hweight*() macros
>>        mtd: spi: Port SPI NOR framework from Linux
>>        mtd: spi: Switch to new SPI NOR framework
>>        mtd: spi: Remove unused files
>>        mtd: spi: Add lightweight SPI flash stack for SPL
>>        configs: Enable SPI_FLASH_TINY for resource constrained boards
>>        configs: Remove SF_DUAL_FLASH
>>        configs: Don't use SPI_FLASH_BAR as default
>>        MAINTAINERS: Add an entry for SPI NOR
>>
>>       MAINTAINERS                                   |    9 +
>>       arch/arm/mach-omap2/am33xx/Kconfig            |    1 -
>>       arch/sh/include/asm/bitops.h                  |    4 +
>>       common/spl/Kconfig                            |   21 +-
>>       configs/alt_defconfig                         |    1 -
>>       configs/am57xx_evm_defconfig                  |    1 -
>>       configs/am57xx_hs_evm_defconfig               |    1 -
>>       configs/ap121_defconfig                       |    1 -
>>       configs/ap143_defconfig                       |    1 -
>>       configs/avnet_ultra96_rev1_defconfig          |    1 -
>>       configs/axm_defconfig                         |    1 +
>>       configs/axs101_defconfig                      |    1 -
>>       configs/axs103_defconfig                      |    1 -
>>       configs/bg0900_defconfig                      |    1 -
>>       configs/blanche_defconfig                     |    1 -
>>       configs/cl-som-am57x_defconfig                |    1 -
>>       configs/clearfog_defconfig                    |    1 -
>>       configs/cm_t43_defconfig                      |    1 -
>>       configs/da850_am18xxevm_defconfig             |    1 +
>>       configs/da850evm_nand_defconfig               |    2 +-
>>       configs/db-88f6820-amc_defconfig              |    1 -
>>       configs/db-88f6820-gp_defconfig               |    1 +
>>       configs/display5_defconfig                    |    1 -
>>       configs/display5_factory_defconfig            |    1 -
>>       configs/dra7xx_evm_defconfig                  |    1 -
>>       configs/dra7xx_hs_evm_defconfig               |    1 -
>>       configs/ds109_defconfig                       |    1 -
>>       configs/ds414_defconfig                       |    1 -
>>       configs/evb-rv1108_defconfig                  |    1 -
>>       configs/gose_defconfig                        |    1 -
>>       configs/helios4_defconfig                     |    1 -
>>       configs/k2g_evm_defconfig                     |    1 -
>>       configs/k2g_hs_evm_defconfig                  |    1 -
>>       configs/koelsch_defconfig                     |    1 -
>>       configs/lager_defconfig                       |    1 -
>>       configs/maxbcm_defconfig                      |    1 -
>>       configs/mt7629_rfb_defconfig                  |    1 -
>>       configs/mx6sxsabreauto_defconfig              |    1 -
>>       configs/mx6sxsabresd_defconfig                |    1 -
>>       configs/mx6ul_14x14_evk_defconfig             |    1 -
>>       configs/mx6ul_9x9_evk_defconfig               |    1 -
>>       configs/mx6ull_14x14_evk_defconfig            |    1 -
>>       configs/mx6ull_14x14_evk_plugin_defconfig     |    1 -
>>       configs/mx7dsabresd_qspi_defconfig            |    1 -
>>       configs/porter_defconfig                      |    2 +-
>>       configs/r8a77970_eagle_defconfig              |    1 -
>>       configs/silk_defconfig                        |    1 -
>>       configs/socfpga_arria5_defconfig              |    1 -
>>       configs/socfpga_cyclone5_defconfig            |    1 -
>>       configs/socfpga_is1_defconfig                 |    1 -
>>       configs/socfpga_sockit_defconfig              |    1 -
>>       configs/socfpga_socrates_defconfig            |    1 -
>>       configs/socfpga_sr1500_defconfig              |    1 -
>>       configs/socfpga_stratix10_defconfig           |    1 -
>>       configs/stout_defconfig                       |    2 +-
>>       configs/taurus_defconfig                      |    3 +-
>>       configs/topic_miami_defconfig                 |    1 -
>>       configs/topic_miamilite_defconfig             |    2 -
>>       configs/topic_miamiplus_defconfig             |    2 -
>>       configs/turris_omnia_defconfig                |    2 +-
>>       configs/xilinx_versal_virt_defconfig          |    1 -
>>       configs/xilinx_zynqmp_mini_qspi_defconfig     |    2 -
>>       configs/xilinx_zynqmp_zc1232_revA_defconfig   |    2 -
>>       configs/xilinx_zynqmp_zc1254_revA_defconfig   |    2 -
>>       configs/xilinx_zynqmp_zc1275_revA_defconfig   |    2 -
>>       configs/xilinx_zynqmp_zc1275_revB_defconfig   |    2 -
>>       .../xilinx_zynqmp_zc1751_xm015_dc1_defconfig  |    1 -
>>       .../xilinx_zynqmp_zc1751_xm016_dc2_defconfig  |    1 -
>>       .../xilinx_zynqmp_zc1751_xm018_dc4_defconfig  |    1 -
>>       configs/xilinx_zynqmp_zcu100_revC_defconfig   |    1 -
>>       configs/xilinx_zynqmp_zcu102_rev1_0_defconfig |    1 -
>>       configs/xilinx_zynqmp_zcu102_revA_defconfig   |    1 -
>>       configs/xilinx_zynqmp_zcu102_revB_defconfig   |    1 -
>>       configs/xilinx_zynqmp_zcu104_revA_defconfig   |    2 -
>>       configs/xilinx_zynqmp_zcu104_revC_defconfig   |    2 -
>>       configs/xilinx_zynqmp_zcu106_revA_defconfig   |    2 -
>>       configs/xilinx_zynqmp_zcu111_revA_defconfig   |    1 -
>>       configs/zynq_cc108_defconfig                  |    1 -
>>       configs/zynq_cse_qspi_defconfig               |    1 -
>>       configs/zynq_dlc20_rev1_0_defconfig           |    1 -
>>       configs/zynq_microzed_defconfig               |    1 -
>>       configs/zynq_minized_defconfig                |    1 -
>>       configs/zynq_z_turn_defconfig                 |    1 -
>>       configs/zynq_zc702_defconfig                  |    1 -
>>       configs/zynq_zc706_defconfig                  |    1 -
>>       configs/zynq_zc770_xm010_defconfig            |    1 -
>>       configs/zynq_zc770_xm013_defconfig            |    1 -
>>       configs/zynq_zed_defconfig                    |    1 -
>>       configs/zynq_zybo_defconfig                   |    1 -
>>       configs/zynq_zybo_z7_defconfig                |    1 -
>>       doc/SPI/README.dual-flash                     |   92 -
>>       doc/SPI/README.ti_qspi_dra_test               |    1 -
>>       drivers/mtd/spi/Kconfig                       |   16 +-
>>       drivers/mtd/spi/Makefile                      |   12 +-
>>       drivers/mtd/spi/sandbox.c                     |   36 +-
>>       drivers/mtd/spi/sf_dataflash.c                |   11 +-
>>       drivers/mtd/spi/sf_internal.h                 |  225 +-
>>       drivers/mtd/spi/sf_probe.c                    |   33 +-
>>       drivers/mtd/spi/spi-nor-core.c                | 2432 +++++++++++++++++
>>       drivers/mtd/spi/spi-nor-ids.c                 |  297 ++
>>       drivers/mtd/spi/spi-nor-tiny.c                |  810 ++++++
>>       drivers/mtd/spi/spi_flash.c                   | 1337 ---------
>>       drivers/mtd/spi/spi_flash_ids.c               |  211 --
>>       drivers/spi/Kconfig                           |    9 +-
>>       drivers/spi/Makefile                          |    1 +
>>       drivers/spi/spi-mem-nodm.c                    |   89 +
>>       drivers/spi/spi-mem.c                         |    6 +
>>       drivers/spi/stm32_qspi.c                      |    4 +-
>>       include/configs/T102xQDS.h                    |    1 -
>>       include/configs/T102xRDB.h                    |    1 -
>>       include/configs/T104xRDB.h                    |    1 -
>>       include/configs/T208xQDS.h                    |    1 -
>>       include/configs/T208xRDB.h                    |    1 -
>>       include/configs/gw_ventana.h                  |    1 -
>>       include/configs/km/kmp204x-common.h           |    1 -
>>       include/configs/ls1021aiot.h                  |    1 -
>>       include/configs/socfpga_stratix10_socdk.h     |    1 -
>>       include/linux/mtd/cfi.h                       |   32 +
>>       include/linux/mtd/spi-nor.h                   |  419 +++
>>       include/spi_flash.h                           |  105 +-
>>       120 files changed, 4266 insertions(+), 2058 deletions(-)
>>       delete mode 100644 doc/SPI/README.dual-flash
>>       create mode 100644 drivers/mtd/spi/spi-nor-core.c
>>       create mode 100644 drivers/mtd/spi/spi-nor-ids.c
>>       create mode 100644 drivers/mtd/spi/spi-nor-tiny.c
>>       delete mode 100644 drivers/mtd/spi/spi_flash.c
>>       delete mode 100644 drivers/mtd/spi/spi_flash_ids.c
>>       create mode 100644 drivers/spi/spi-mem-nodm.c
>>       create mode 100644 include/linux/mtd/cfi.h
>>       create mode 100644 include/linux/mtd/spi-nor.h
>>
>>      --
>>      2.20.1
>>
> 



More information about the U-Boot mailing list