[U-Boot] [PATCH v2 00/11] SF: Migrate to Linux SPI NOR framework
Vignesh R
vigneshr at ti.com
Wed Jan 9 09:26:20 UTC 2019
On 22/12/18 1:13 PM, Simon Goldschmidt wrote:
> Am 21.12.2018 um 14:29 schrieb Simon Goldschmidt:
>> 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).
>
> After testing different configs with SPL and U-Boot:
>
> Tested-by: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>
>
> However, two suggestions:
> - I would recommend to enable SPL_SPI_FLASH_TINY by default to prevent
> SPL size increasement for any board
I am fine with doing this if there are no objections on "[PATCH v2
10/11] configs: Don't use SPI_FLASH_BAR as default"
> - SPL_SPI_FLASH_TINY does not provide BAR support and the Kconfig option
> does not reflect this. This should probably be fixed before making
> SPL_SPI_FLASH_TINY the default.
>
Ok, I will make SPI_FLASH_BAR depend on !SPL_SPI_FLASH_TINY
Thanks for the suggestions!
> Regards,
> Simon
>
>>
>> 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
>>>>
>>>
>>
>
--
Regards
Vignesh
More information about the U-Boot
mailing list