On Tue, Jun 2, 2020 at 6:47 PM Zhiqiang Hou <[email protected]> wrote: > > From: Lukasz Majewski <[email protected]> > > 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 <[email protected]> > Tested-by: Adam Ford <[email protected]> #da850-evm > Signed-off-by: Hou Zhiqiang <[email protected]> > --- > 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.

