[PATCHv4 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*
Jagan Teki
jagan at amarulasolutions.com
Tue Jun 2 15:29:21 CEST 2020
On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou <Zhiqiang.Hou at nxp.com> wrote:
>
> From: Lukasz Majewski <lukma at denx.de>
>
> This change allows more fine tuning of driver model based SPI support in
> SPL and TPL. It is now possible to explicitly enable/disable the DM_SPI
> support in SPL and TPL via Kconfig option.
>
> Before this change it was necessary to use:
> /* SPI Flash Configs */
> #if defined(CONFIG_SPL_BUILD)
> #undef CONFIG_DM_SPI
> #undef CONFIG_DM_SPI_FLASH
> #undef CONFIG_SPI_FLASH_MTD
> #endif
>
> in the ./include/configs/<board>.h, which is error prone and shall be
> avoided when we strive to switch to Kconfig.
>
> The goal of this patch:
>
> Provide distinction for DM_SPI support in both U-Boot proper and SPL (TPL).
> Valid use case is when U-Boot proper wants to use DM_SPI, but SPL must
> still support non DM driver.
>
> Another use case is the conversion of non DM/DTS SPI driver to support
> DM/DTS. When such driver needs to work in both SPL and U-Boot proper, the
> distinction is needed in Kconfig (also if SPL version of the driver
> supports OF_PLATDATA).
>
> In the end of the day one would have to support following use cases (in
> single driver file - e.g. mxs_spi.c):
>
> - U-Boot proper driver supporting DT/DTS
> - U-Boot proper driver without DT/DTS support (deprecated)
> - SPL driver without DT/DTS support
> - SPL (and TPL) driver with DT/DTS (when the SoC has enough resources to
> run full blown DT/DTS)
> - SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have constrained
> environment with no fitImage and OF_LIBFDT support).
>
> Some boards do require SPI support (with DM) in SPL (TPL) and some only
> have DM_SPI{_FLASH} defined to allow compiling SPL.
>
> This patch converts #ifdef CONFIG_DM_SPI* to #if CONFIG_IS_ENABLED(DM_SPI)
> and provides corresponding defines in Kconfig.
>
> Signed-off-by: Lukasz Majewski <lukma at denx.de>
> Tested-by: Adam Ford <aford173 at gmail.com> #da850-evm
> Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> ---
> V4:
> - Rebase the patch and remove SPL_DM_SPI from target ls1046 boards.
>
> arch/arm/Kconfig | 11 +++++++++++
> board/l+g/vinco/vinco.c | 4 ++--
> cmd/sf.c | 4 ++--
> cmd/spi.c | 6 +++---
> common/spl/Kconfig | 20 ++++++++++++++++++++
> configs/am57xx_evm_defconfig | 2 ++
> configs/am57xx_hs_evm_defconfig | 2 ++
> configs/am57xx_hs_evm_usb_defconfig | 2 ++
> configs/axm_defconfig | 2 ++
> configs/chromebook_link64_defconfig | 2 ++
> configs/chromebook_samus_tpl_defconfig | 4 ++++
> configs/dra7xx_evm_defconfig | 2 ++
> configs/dra7xx_hs_evm_defconfig | 2 ++
> configs/dra7xx_hs_evm_usb_defconfig | 2 ++
> configs/j721e_evm_a72_defconfig | 2 ++
> configs/j721e_evm_r5_defconfig | 2 ++
> configs/ls1021aiot_qspi_defconfig | 2 ++
> configs/ls1021aiot_sdcard_defconfig | 2 ++
> configs/ls1021aqds_qspi_defconfig | 1 +
> configs/ls1021aqds_sdcard_qspi_defconfig | 1 +
> configs/ls1021atwr_qspi_defconfig | 1 +
> configs/sama5d2_xplained_spiflash_defconfig | 2 ++
> configs/sama5d3xek_spiflash_defconfig | 7 ++++---
> configs/sama5d4_xplained_spiflash_defconfig | 2 ++
> configs/sama5d4ek_spiflash_defconfig | 2 ++
> configs/stm32mp15_basic_defconfig | 2 ++
> configs/taurus_defconfig | 2 ++
> drivers/mtd/spi/Makefile | 4 ++--
> drivers/mtd/spi/sf_probe.c | 2 +-
> drivers/net/fm/fm.c | 4 ++--
> drivers/spi/Makefile | 2 +-
> drivers/spi/atmel_spi.c | 4 ++--
> drivers/spi/davinci_spi.c | 6 +++---
> drivers/spi/fsl_dspi.c | 5 +++--
> drivers/spi/kirkwood_spi.c | 2 +-
> drivers/spi/mxc_spi.c | 6 +++---
> drivers/spi/omap3_spi.c | 4 ++--
nondm code on most of the driver will remove in the next version, So I
didn't see any usecase of this conversion here.
Jagan.
More information about the U-Boot
mailing list