Re: [PATCHv5 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-30 Thread Tom Rini
On Thu, Jun 04, 2020 at 11:11:53PM +0800, Zhiqiang Hou wrote:

> From: Lukasz Majewski 
> 
> 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/.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 
> Tested-by: Adam Ford  #da850-evm
> Signed-off-by: Hou Zhiqiang 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature


[PATCHv5 3/3] spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

2020-06-04 Thread Zhiqiang Hou
From: Lukasz Majewski 

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/.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 
Tested-by: Adam Ford  #da850-evm
Signed-off-by: Hou Zhiqiang 
---
V5:
 - No change.

 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 ++--
 drivers/spi/sh_qspi.c   |  4 ++--
 env/sf.c|  2 +-
 include/spi.h   |  8 
 include/spi_flash.h |  2 +-
 test/dm/spi.c   |  2 +-
 42 files changed, 112 insertions(+), 38 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 9c528eaec5..bac392c4cb 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -549,6 +549,7 @@ config TARGET_GPLUGD
 config ARCH_DAVINCI
bool "TI DaVinci"
select CPU_ARM926EJS
+   select SPL_DM_SPI if SPL
imply CMD_SAVES
help
  Support for TI's DaVinci platform.
@@ -566,6 +567,8 @@ config ARCH_MVEBU
select DM_SERIAL
select DM_SPI
select DM_SPI_FLASH
+   select SPL_DM_SPI if SPL
+   select SPL_DM_SPI_FLASH if SPL
select OF_CONTROL
select OF_SEPARATE
select SPI
@@ -985,6 +988,8 @@ config ARCH_SOCFPGA
imply FAT_WRITE
imply SPL
imply SPL_DM
+   imply SPL_DM_SPI
+   imply SPL_DM_SPI_FLASH
imply SPL_LIBDISK_SUPPORT
imply SPL_MMC_SUPPORT