Browse Source

spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

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@denx.de>
Tested-by: Adam Ford <aford173@gmail.com> #da850-evm
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[trini: Fixup a few platforms]
Signed-off-by: Tom Rini <trini@konsulko.com>
Lukasz Majewski 4 years ago
parent
commit
56c4046038
59 changed files with 122 additions and 28 deletions
  1. 11 0
      arch/arm/Kconfig
  2. 2 2
      board/l+g/vinco/vinco.c
  3. 2 2
      cmd/sf.c
  4. 3 3
      cmd/spi.c
  5. 20 0
      common/spl/Kconfig
  6. 2 0
      configs/am57xx_evm_defconfig
  7. 2 0
      configs/am57xx_hs_evm_defconfig
  8. 2 0
      configs/am57xx_hs_evm_usb_defconfig
  9. 1 0
      configs/am65x_evm_a53_defconfig
  10. 1 0
      configs/am65x_evm_r5_defconfig
  11. 1 0
      configs/am65x_hs_evm_a53_defconfig
  12. 1 0
      configs/am65x_hs_evm_r5_defconfig
  13. 2 0
      configs/axm_defconfig
  14. 1 0
      configs/brppt1_spi_defconfig
  15. 1 0
      configs/brppt2_defconfig
  16. 1 0
      configs/brsmarc1_defconfig
  17. 1 0
      configs/chromebook_coral_defconfig
  18. 2 0
      configs/chromebook_link64_defconfig
  19. 4 0
      configs/chromebook_samus_tpl_defconfig
  20. 1 0
      configs/cm_t43_defconfig
  21. 1 0
      configs/da850evm_defconfig
  22. 2 0
      configs/dra7xx_evm_defconfig
  23. 2 0
      configs/dra7xx_hs_evm_defconfig
  24. 2 0
      configs/dra7xx_hs_evm_usb_defconfig
  25. 1 0
      configs/imx28_xea_defconfig
  26. 2 0
      configs/j721e_evm_a72_defconfig
  27. 2 0
      configs/j721e_evm_r5_defconfig
  28. 1 0
      configs/j721e_hs_evm_a72_defconfig
  29. 1 0
      configs/j721e_hs_evm_r5_defconfig
  30. 1 0
      configs/k2e_evm_defconfig
  31. 1 0
      configs/k2hk_evm_defconfig
  32. 1 0
      configs/k2l_evm_defconfig
  33. 2 0
      configs/ls1021aiot_qspi_defconfig
  34. 2 0
      configs/ls1021aiot_sdcard_defconfig
  35. 1 0
      configs/ls1021aqds_qspi_defconfig
  36. 1 0
      configs/ls1021aqds_sdcard_qspi_defconfig
  37. 1 0
      configs/ls1021atwr_qspi_defconfig
  38. 1 0
      configs/qemu-x86_64_defconfig
  39. 1 0
      configs/sama5d27_wlsom1_ek_qspiflash_defconfig
  40. 2 0
      configs/sama5d2_xplained_spiflash_defconfig
  41. 2 0
      configs/sama5d3xek_spiflash_defconfig
  42. 2 0
      configs/sama5d4_xplained_spiflash_defconfig
  43. 2 0
      configs/sama5d4ek_spiflash_defconfig
  44. 2 0
      configs/stm32mp15_basic_defconfig
  45. 1 0
      configs/stm32mp15_dhcom_basic_defconfig
  46. 1 0
      configs/stm32mp15_dhcor_basic_defconfig
  47. 2 0
      configs/taurus_defconfig
  48. 2 2
      drivers/mtd/spi/Makefile
  49. 1 1
      drivers/mtd/spi/sf_probe.c
  50. 2 2
      drivers/net/fm/fm.c
  51. 1 1
      drivers/spi/Makefile
  52. 1 1
      drivers/spi/kirkwood_spi.c
  53. 3 3
      drivers/spi/mxc_spi.c
  54. 2 2
      drivers/spi/omap3_spi.c
  55. 2 2
      drivers/spi/sh_qspi.c
  56. 1 1
      env/sf.c
  57. 4 4
      include/spi.h
  58. 1 1
      include/spi_flash.h
  59. 1 1
      test/dm/spi.c

+ 11 - 0
arch/arm/Kconfig

@@ -549,6 +549,7 @@ config TARGET_GPLUGD
 config ARCH_DAVINCI
 config ARCH_DAVINCI
 	bool "TI DaVinci"
 	bool "TI DaVinci"
 	select CPU_ARM926EJS
 	select CPU_ARM926EJS
+	select SPL_DM_SPI if SPL
 	imply CMD_SAVES
 	imply CMD_SAVES
 	help
 	help
 	  Support for TI's DaVinci platform.
 	  Support for TI's DaVinci platform.
@@ -566,6 +567,8 @@ config ARCH_MVEBU
 	select DM_SERIAL
 	select DM_SERIAL
 	select DM_SPI
 	select DM_SPI
 	select DM_SPI_FLASH
 	select DM_SPI_FLASH
+	select SPL_DM_SPI if SPL
+	select SPL_DM_SPI_FLASH if SPL
 	select OF_CONTROL
 	select OF_CONTROL
 	select OF_SEPARATE
 	select OF_SEPARATE
 	select SPI
 	select SPI
@@ -985,6 +988,8 @@ config ARCH_SOCFPGA
 	imply FAT_WRITE
 	imply FAT_WRITE
 	imply SPL
 	imply SPL
 	imply SPL_DM
 	imply SPL_DM
+	imply SPL_DM_SPI
+	imply SPL_DM_SPI_FLASH
 	imply SPL_LIBDISK_SUPPORT
 	imply SPL_LIBDISK_SUPPORT
 	imply SPL_MMC_SUPPORT
 	imply SPL_MMC_SUPPORT
 	imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
 	imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
@@ -1093,6 +1098,8 @@ config ARCH_ZYNQ
 	select SPL_BOARD_INIT if SPL
 	select SPL_BOARD_INIT if SPL
 	select SPL_CLK if SPL
 	select SPL_CLK if SPL
 	select SPL_DM if SPL
 	select SPL_DM if SPL
+	select SPL_DM_SPI if SPL
+	select SPL_DM_SPI_FLASH if SPL
 	select SPL_OF_CONTROL if SPL
 	select SPL_OF_CONTROL if SPL
 	select SPL_SEPARATE_BSS if SPL
 	select SPL_SEPARATE_BSS if SPL
 	select SUPPORT_SPL
 	select SUPPORT_SPL
@@ -1131,6 +1138,8 @@ config ARCH_ZYNQMP
 	select OF_CONTROL
 	select OF_CONTROL
 	select SPL_BOARD_INIT if SPL
 	select SPL_BOARD_INIT if SPL
 	select SPL_CLK if SPL
 	select SPL_CLK if SPL
+	select SPL_DM_SPI if SPI
+	select SPL_DM_SPI_FLASH if SPL_DM_SPI
 	select SPL_DM_MAILBOX if SPL
 	select SPL_DM_MAILBOX if SPL
 	select SPL_FIRMWARE if SPL
 	select SPL_FIRMWARE if SPL
 	select SPL_SEPARATE_BSS if SPL
 	select SPL_SEPARATE_BSS if SPL
@@ -1680,6 +1689,8 @@ config ARCH_ROCKCHIP
 	select OF_CONTROL
 	select OF_CONTROL
 	select SPI
 	select SPI
 	select SPL_DM if SPL
 	select SPL_DM if SPL
+	select SPL_DM_SPI if SPL
+	select SPL_DM_SPI_FLASH if SPL
 	select SYS_MALLOC_F
 	select SYS_MALLOC_F
 	select SYS_THUMB_BUILD if !ARM64
 	select SYS_THUMB_BUILD if !ARM64
 	imply ADC
 	imply ADC

+ 2 - 2
board/l+g/vinco/vinco.c

@@ -34,7 +34,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
 
 
 /* FIXME gpio code here need to handle through DM_GPIO */
 /* FIXME gpio code here need to handle through DM_GPIO */
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 int spi_cs_is_valid(unsigned int bus, unsigned int cs)
 int spi_cs_is_valid(unsigned int bus, unsigned int cs)
 {
 {
 	return bus == 0 && cs == 0;
 	return bus == 0 && cs == 0;
@@ -167,7 +167,7 @@ int board_init(void)
 	/* adress of boot parameters */
 	/* adress of boot parameters */
 	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
 	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
 
 
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 	vinco_spi0_hw_init();
 	vinco_spi0_hw_init();
 #endif
 #endif
 
 

+ 2 - 2
cmd/sf.c

@@ -91,7 +91,7 @@ static int do_spi_flash_probe(int argc, char *const argv[])
 	unsigned int speed = CONFIG_SF_DEFAULT_SPEED;
 	unsigned int speed = CONFIG_SF_DEFAULT_SPEED;
 	unsigned int mode = CONFIG_SF_DEFAULT_MODE;
 	unsigned int mode = CONFIG_SF_DEFAULT_MODE;
 	char *endp;
 	char *endp;
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
 	struct udevice *new, *bus_dev;
 	struct udevice *new, *bus_dev;
 	int ret;
 	int ret;
 #else
 #else
@@ -124,7 +124,7 @@ static int do_spi_flash_probe(int argc, char *const argv[])
 			return -1;
 			return -1;
 	}
 	}
 
 
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
 	/* Remove the old device, otherwise probe will just be a nop */
 	/* Remove the old device, otherwise probe will just be a nop */
 	ret = spi_find_bus_and_cs(bus, cs, &bus_dev, &new);
 	ret = spi_find_bus_and_cs(bus, cs, &bus_dev, &new);
 	if (!ret) {
 	if (!ret) {

+ 3 - 3
cmd/spi.c

@@ -38,7 +38,7 @@ static int do_spi_xfer(int bus, int cs)
 	struct spi_slave *slave;
 	struct spi_slave *slave;
 	int ret = 0;
 	int ret = 0;
 
 
-#ifdef CONFIG_DM_SPI
+#if CONFIG_IS_ENABLED(DM_SPI)
 	char name[30], *str;
 	char name[30], *str;
 	struct udevice *dev;
 	struct udevice *dev;
 
 
@@ -63,7 +63,7 @@ static int do_spi_xfer(int bus, int cs)
 		goto done;
 		goto done;
 	ret = spi_xfer(slave, bitlen, dout, din,
 	ret = spi_xfer(slave, bitlen, dout, din,
 		       SPI_XFER_BEGIN | SPI_XFER_END);
 		       SPI_XFER_BEGIN | SPI_XFER_END);
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 	/* We don't get an error code in this case */
 	/* We don't get an error code in this case */
 	if (ret)
 	if (ret)
 		ret = -EIO;
 		ret = -EIO;
@@ -79,7 +79,7 @@ static int do_spi_xfer(int bus, int cs)
 	}
 	}
 done:
 done:
 	spi_release_bus(slave);
 	spi_release_bus(slave);
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 	spi_free_slave(slave);
 	spi_free_slave(slave);
 #endif
 #endif
 
 

+ 20 - 0
common/spl/Kconfig

@@ -756,6 +756,11 @@ config SPL_DM_SPI
 	help
 	help
 	  Enable support for SPI DM drivers in SPL.
 	  Enable support for SPI DM drivers in SPL.
 
 
+config SPL_DM_SPI_FLASH
+	bool "Support SPI DM FLASH drivers in SPL"
+	help
+	  Enable support for SPI DM flash drivers in SPL.
+
 endif
 endif
 if SPL_UBI
 if SPL_UBI
 config SPL_UBI_LOAD_BY_VOLNAME
 config SPL_UBI_LOAD_BY_VOLNAME
@@ -1092,6 +1097,11 @@ config SPL_SPI_FLASH_SFDP_SUPPORT
 	 SPI NOR flashes using Serial Flash Discoverable Parameters (SFDP)
 	 SPI NOR flashes using Serial Flash Discoverable Parameters (SFDP)
 	 tables as per JESD216 standard in SPL.
 	 tables as per JESD216 standard in SPL.
 
 
+config SPL_SPI_FLASH_MTD
+	bool "Support for SPI flash MTD drivers in SPL"
+	help
+	  Enable support for SPI flash MTD drivers in SPL.
+
 config SPL_SPI_LOAD
 config SPL_SPI_LOAD
 	bool "Support loading from SPI flash"
 	bool "Support loading from SPI flash"
 	help
 	help
@@ -1499,6 +1509,16 @@ config TPL_SPI_SUPPORT
 	  Enable support for using SPI in TPL. See SPL_SPI_SUPPORT for
 	  Enable support for using SPI in TPL. See SPL_SPI_SUPPORT for
 	  details.
 	  details.
 
 
+config TPL_DM_SPI
+	bool "Support SPI DM drivers in TPL"
+	help
+	  Enable support for SPI DM drivers in TPL.
+
+config TPL_DM_SPI_FLASH
+	bool "Support SPI DM FLASH drivers in TPL"
+	help
+	  Enable support for SPI DM flash drivers in TPL.
+
 config TPL_YMODEM_SUPPORT
 config TPL_YMODEM_SUPPORT
 	bool "Support loading using Ymodem"
 	bool "Support loading using Ymodem"
 	depends on TPL_SERIAL_SUPPORT
 	depends on TPL_SERIAL_SUPPORT

+ 2 - 0
configs/am57xx_evm_defconfig

@@ -78,6 +78,7 @@ CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_SPANSION=y
@@ -96,6 +97,7 @@ CONFIG_DM_SCSI=y
 CONFIG_DM_SERIAL=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TI_QSPI=y
 CONFIG_TI_QSPI=y
 CONFIG_USB=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_DM_USB=y

+ 2 - 0
configs/am57xx_hs_evm_defconfig

@@ -74,6 +74,7 @@ CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_SPANSION=y
@@ -92,6 +93,7 @@ CONFIG_DM_SCSI=y
 CONFIG_DM_SERIAL=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TI_QSPI=y
 CONFIG_TI_QSPI=y
 CONFIG_USB=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_DM_USB=y

+ 2 - 0
configs/am57xx_hs_evm_usb_defconfig

@@ -80,6 +80,7 @@ CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SPI_FLASH_BAR=y
 CONFIG_SPI_FLASH_BAR=y
@@ -99,6 +100,7 @@ CONFIG_DM_REGULATOR_PALMAS=y
 CONFIG_DM_SERIAL=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TI_QSPI=y
 CONFIG_TI_QSPI=y
 CONFIG_USB=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_DM_USB=y

+ 1 - 0
configs/am65x_evm_a53_defconfig

@@ -37,6 +37,7 @@ CONFIG_SPL_DMA=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_DM_MAILBOX=y
 CONFIG_SPL_DM_MAILBOX=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_MTD_SUPPORT=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_POWER_DOMAIN=y
 CONFIG_SPL_POWER_DOMAIN=y
 # CONFIG_SPL_SPI_FLASH_TINY is not set
 # CONFIG_SPL_SPI_FLASH_TINY is not set

+ 1 - 0
configs/am65x_evm_r5_defconfig

@@ -33,6 +33,7 @@ CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x400
 CONFIG_SPL_DMA=y
 CONFIG_SPL_DMA=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_DM_MAILBOX=y
 CONFIG_SPL_DM_MAILBOX=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_DOMAIN=y
 CONFIG_SPL_POWER_DOMAIN=y

+ 1 - 0
configs/am65x_hs_evm_a53_defconfig

@@ -40,6 +40,7 @@ CONFIG_SPL_DMA=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_DM_MAILBOX=y
 CONFIG_SPL_DM_MAILBOX=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_MTD_SUPPORT=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_POWER_DOMAIN=y
 CONFIG_SPL_POWER_DOMAIN=y
 # CONFIG_SPL_SPI_FLASH_TINY is not set
 # CONFIG_SPL_SPI_FLASH_TINY is not set

+ 1 - 0
configs/am65x_hs_evm_r5_defconfig

@@ -35,6 +35,7 @@ CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x400
 CONFIG_SPL_DMA=y
 CONFIG_SPL_DMA=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_DM_MAILBOX=y
 CONFIG_SPL_DM_MAILBOX=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_DOMAIN=y
 CONFIG_SPL_POWER_DOMAIN=y

+ 2 - 0
configs/axm_defconfig

@@ -65,6 +65,8 @@ CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_MTD_RAW_NAND=y
 # CONFIG_SYS_NAND_USE_FLASH_BBT is not set
 # CONFIG_SYS_NAND_USE_FLASH_BBT is not set
 CONFIG_NAND_ATMEL=y
 CONFIG_NAND_ATMEL=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_PHYLIB=y
 CONFIG_PHYLIB=y

+ 1 - 0
configs/brppt1_spi_defconfig

@@ -39,6 +39,7 @@ CONFIG_SPL_SEPARATE_BSS=y
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_NAND_SUPPORT is not set
 # CONFIG_SPL_NAND_SUPPORT is not set
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y

+ 1 - 0
configs/brppt2_defconfig

@@ -33,6 +33,7 @@ CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SPL_BOARD_INIT=y
 CONFIG_SPL_BOARD_INIT=y
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_HUSH_PARSER=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_BOOTZ=y

+ 1 - 0
configs/brsmarc1_defconfig

@@ -39,6 +39,7 @@ CONFIG_SPL_SEPARATE_BSS=y
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 # CONFIG_SPL_NAND_SUPPORT is not set
 # CONFIG_SPL_NAND_SUPPORT is not set
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_YMODEM_SUPPORT=y
 CONFIG_SPL_YMODEM_SUPPORT=y

+ 1 - 0
configs/chromebook_coral_defconfig

@@ -37,6 +37,7 @@ CONFIG_HANDOFF=y
 CONFIG_TPL_SYS_MALLOC_SIMPLE=y
 CONFIG_TPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_SEPARATE_BSS=y
 CONFIG_SPL_SEPARATE_BSS=y
 CONFIG_SPL_CPU_SUPPORT=y
 CONFIG_SPL_CPU_SUPPORT=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_PCI=y
 CONFIG_SPL_PCI=y
 # CONFIG_SPL_SPI_FLASH_TINY is not set
 # CONFIG_SPL_SPI_FLASH_TINY is not set
 CONFIG_HUSH_PARSER=y
 CONFIG_HUSH_PARSER=y

+ 2 - 0
configs/chromebook_link64_defconfig

@@ -31,6 +31,8 @@ CONFIG_SPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_CPU_SUPPORT=y
 CONFIG_SPL_CPU_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_PCI=y
 CONFIG_SPL_PCI=y
 CONFIG_SPL_PCH_SUPPORT=y
 CONFIG_SPL_PCH_SUPPORT=y

+ 4 - 0
configs/chromebook_samus_tpl_defconfig

@@ -32,11 +32,15 @@ CONFIG_BLOBLIST_SIZE=0x1000
 CONFIG_BLOBLIST_ADDR=0xff7c0000
 CONFIG_BLOBLIST_ADDR=0xff7c0000
 CONFIG_HANDOFF=y
 CONFIG_HANDOFF=y
 CONFIG_SPL_SEPARATE_BSS=y
 CONFIG_SPL_SEPARATE_BSS=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_PCI=y
 CONFIG_SPL_PCI=y
 CONFIG_SPL_PCH_SUPPORT=y
 CONFIG_SPL_PCH_SUPPORT=y
 CONFIG_TPL_PCI=y
 CONFIG_TPL_PCI=y
 CONFIG_TPL_PCH_SUPPORT=y
 CONFIG_TPL_PCH_SUPPORT=y
+CONFIG_TPL_DM_SPI=y
+CONFIG_TPL_DM_SPI_FLASH=y
 CONFIG_HUSH_PARSER=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_CPU=y
 CONFIG_CMD_CPU=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPIO=y

+ 1 - 0
configs/cm_t43_defconfig

@@ -31,6 +31,7 @@ CONFIG_SPL_FS_EXT4=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_MTD_SUPPORT=y
 # CONFIG_SPL_NAND_SUPPORT is not set
 # CONFIG_SPL_NAND_SUPPORT is not set
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SYS_PROMPT="CM-T43 # "
 CONFIG_SYS_PROMPT="CM-T43 # "

+ 1 - 0
configs/da850evm_defconfig

@@ -30,6 +30,7 @@ CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_SEPARATE_BSS=y
 CONFIG_SPL_SEPARATE_BSS=y
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_HUSH_PARSER=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot > "
 CONFIG_SYS_PROMPT="U-Boot > "

+ 2 - 0
configs/dra7xx_evm_defconfig

@@ -84,6 +84,7 @@ CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_SPANSION=y
@@ -106,6 +107,7 @@ CONFIG_DM_SCSI=y
 CONFIG_DM_SERIAL=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TI_QSPI=y
 CONFIG_TI_QSPI=y
 CONFIG_TIMER=y
 CONFIG_TIMER=y
 CONFIG_OMAP_TIMER=y
 CONFIG_OMAP_TIMER=y

+ 2 - 0
configs/dra7xx_hs_evm_defconfig

@@ -87,6 +87,7 @@ CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_SPANSION=y
@@ -109,6 +110,7 @@ CONFIG_DM_SCSI=y
 CONFIG_DM_SERIAL=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TI_QSPI=y
 CONFIG_TI_QSPI=y
 CONFIG_TIMER=y
 CONFIG_TIMER=y
 CONFIG_OMAP_TIMER=y
 CONFIG_OMAP_TIMER=y

+ 2 - 0
configs/dra7xx_hs_evm_usb_defconfig

@@ -84,6 +84,7 @@ CONFIG_SPL_MMC_HS200_SUPPORT=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SF_DEFAULT_SPEED=76800000
 CONFIG_SPI_FLASH_BAR=y
 CONFIG_SPI_FLASH_BAR=y
@@ -106,6 +107,7 @@ CONFIG_DM_SCSI=y
 CONFIG_DM_SERIAL=y
 CONFIG_DM_SERIAL=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TI_QSPI=y
 CONFIG_TI_QSPI=y
 CONFIG_TIMER=y
 CONFIG_TIMER=y
 CONFIG_OMAP_TIMER=y
 CONFIG_OMAP_TIMER=y

+ 1 - 0
configs/imx28_xea_defconfig

@@ -33,6 +33,7 @@ CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0
 CONFIG_SUPPORT_EMMC_BOOT_OVERRIDE_PART_CONFIG=y
 CONFIG_SUPPORT_EMMC_BOOT_OVERRIDE_PART_CONFIG=y
 CONFIG_SPL_DMA=y
 CONFIG_SPL_DMA=y
 CONFIG_SPL_MMC_TINY=y
 CONFIG_SPL_MMC_TINY=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_OS_BOOT=y
 CONFIG_SPL_OS_BOOT=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_HUSH_PARSER=y
 CONFIG_HUSH_PARSER=y

+ 2 - 0
configs/j721e_evm_a72_defconfig

@@ -121,6 +121,7 @@ CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_HBMC_AM654=y
 CONFIG_HBMC_AM654=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_STMICRO=y
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
 # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
 CONFIG_SPI_FLASH_MTD=y
 CONFIG_SPI_FLASH_MTD=y
@@ -147,6 +148,7 @@ CONFIG_DM_SERIAL=y
 CONFIG_SOC_TI=y
 CONFIG_SOC_TI=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_SYSRESET=y
 CONFIG_SYSRESET=y
 CONFIG_SPL_SYSRESET=y
 CONFIG_SPL_SYSRESET=y

+ 2 - 0
configs/j721e_evm_r5_defconfig

@@ -90,6 +90,7 @@ CONFIG_SPL_MMC_SDHCI_ADMA=y
 CONFIG_MMC_SDHCI_AM654=y
 CONFIG_MMC_SDHCI_AM654=y
 CONFIG_MTD=y
 CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_SFDP_SUPPORT=y
 CONFIG_SPI_FLASH_SFDP_SUPPORT=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL=y
@@ -113,6 +114,7 @@ CONFIG_DM_SERIAL=y
 CONFIG_SOC_TI=y
 CONFIG_SOC_TI=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_CADENCE_QSPI=y
 CONFIG_SYSRESET=y
 CONFIG_SYSRESET=y
 CONFIG_SPL_SYSRESET=y
 CONFIG_SPL_SYSRESET=y

+ 1 - 0
configs/j721e_hs_evm_a72_defconfig

@@ -35,6 +35,7 @@ CONFIG_SPL_SEPARATE_BSS=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_DM_MAILBOX=y
 CONFIG_SPL_DM_MAILBOX=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_DOMAIN=y
 CONFIG_SPL_POWER_DOMAIN=y

+ 1 - 0
configs/j721e_hs_evm_r5_defconfig

@@ -34,6 +34,7 @@ CONFIG_SPL_DMA=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_DM_MAILBOX=y
 CONFIG_SPL_DM_MAILBOX=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_DOMAIN=y
 CONFIG_SPL_POWER_DOMAIN=y

+ 1 - 0
configs/k2e_evm_defconfig

@@ -24,6 +24,7 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_CMD_MX_CYCLIC=y
 CONFIG_CMD_MX_CYCLIC=y

+ 1 - 0
configs/k2hk_evm_defconfig

@@ -24,6 +24,7 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_CMD_MX_CYCLIC=y
 CONFIG_CMD_MX_CYCLIC=y

+ 1 - 0
configs/k2l_evm_defconfig

@@ -24,6 +24,7 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_I2C_SUPPORT=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_CMD_MX_CYCLIC=y
 CONFIG_CMD_MX_CYCLIC=y

+ 2 - 0
configs/ls1021aiot_qspi_defconfig

@@ -23,6 +23,7 @@ CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_SF=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="ls1021a-iot-duart"
 CONFIG_DEFAULT_DEVICE_TREE="ls1021a-iot-duart"
 CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_ENV_IS_IN_SPI_FLASH=y
@@ -50,6 +51,7 @@ CONFIG_DM_SCSI=y
 CONFIG_SYS_NS16550=y
 CONFIG_SYS_NS16550=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_USB=y
 CONFIG_USB=y

+ 2 - 0
configs/ls1021aiot_sdcard_defconfig

@@ -28,6 +28,7 @@ CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_SF=y
 # CONFIG_SPL_EFI_PARTITION is not set
 # CONFIG_SPL_EFI_PARTITION is not set
 CONFIG_OF_CONTROL=y
 CONFIG_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="ls1021a-iot-duart"
 CONFIG_DEFAULT_DEVICE_TREE="ls1021a-iot-duart"
@@ -56,6 +57,7 @@ CONFIG_DM_SCSI=y
 CONFIG_SYS_NS16550=y
 CONFIG_SYS_NS16550=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_USB=y
 CONFIG_USB=y

+ 1 - 0
configs/ls1021aqds_qspi_defconfig

@@ -64,6 +64,7 @@ CONFIG_DM_SCSI=y
 CONFIG_SYS_NS16550=y
 CONFIG_SYS_NS16550=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_USB=y
 CONFIG_USB=y

+ 1 - 0
configs/ls1021aqds_sdcard_qspi_defconfig

@@ -76,6 +76,7 @@ CONFIG_DM_SCSI=y
 CONFIG_SYS_NS16550=y
 CONFIG_SYS_NS16550=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPIy=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_USB=y
 CONFIG_USB=y

+ 1 - 0
configs/ls1021atwr_qspi_defconfig

@@ -62,6 +62,7 @@ CONFIG_DM_SCSI=y
 CONFIG_SYS_NS16550=y
 CONFIG_SYS_NS16550=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPI_DM_SPI=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_DSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_FSL_QSPI=y
 CONFIG_USB=y
 CONFIG_USB=y

+ 1 - 0
configs/qemu-x86_64_defconfig

@@ -32,6 +32,7 @@ CONFIG_PCI_INIT_R=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_CPU_SUPPORT=y
 CONFIG_SPL_CPU_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_PCI=y
 CONFIG_SPL_PCI=y
 CONFIG_SPL_PCH_SUPPORT=y
 CONFIG_SPL_PCH_SUPPORT=y

+ 1 - 0
configs/sama5d27_wlsom1_ek_qspiflash_defconfig

@@ -33,6 +33,7 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_SEPARATE_BSS=y
 CONFIG_SPL_SEPARATE_BSS=y
 CONFIG_SPL_DISPLAY_PRINT=y
 CONFIG_SPL_DISPLAY_PRINT=y
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
 # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_AT91_MCK_BYPASS=y
 CONFIG_SPL_AT91_MCK_BYPASS=y
 CONFIG_HUSH_PARSER=y
 CONFIG_HUSH_PARSER=y

+ 2 - 0
configs/sama5d2_xplained_spiflash_defconfig

@@ -67,6 +67,8 @@ CONFIG_DM_MMC=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ATMEL=y
 CONFIG_MMC_SDHCI_ATMEL=y
 CONFIG_MTD=y
 CONFIG_MTD=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SF_DEFAULT_SPEED=30000000
 CONFIG_SF_DEFAULT_SPEED=30000000
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_SPI_FLASH_ATMEL=y

+ 2 - 0
configs/sama5d3xek_spiflash_defconfig

@@ -23,6 +23,7 @@ CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_SPL_TEXT_BASE=0x300000
 CONFIG_SPL_TEXT_BASE=0x300000
+CONFIG_SPL_DM_SPI=y
 CONFIG_DEBUG_UART=y
 CONFIG_DEBUG_UART=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_FIT=y
 CONFIG_FIT=y
@@ -31,6 +32,7 @@ CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,768k(uboot)ro,256K(env_redundant),256k(env),512k(dtb),6M(kernel)ro,-(rootfs) rootfstype=ubifs ubi.mtd=6 root=ubi0:rootfs"
 CONFIG_BOOTARGS="console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:256k(bootstrap)ro,768k(uboot)ro,256K(env_redundant),256k(env),512k(dtb),6M(kernel)ro,-(rootfs) rootfstype=ubifs ubi.mtd=6 root=ubi0:rootfs"
 # CONFIG_DISPLAY_BOARDINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_HUSH_PARSER=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_BOOTZ=y

+ 2 - 0
configs/sama5d4_xplained_spiflash_defconfig

@@ -68,6 +68,7 @@ CONFIG_MTD_RAW_NAND=y
 # CONFIG_SYS_NAND_USE_FLASH_BBT is not set
 # CONFIG_SYS_NAND_USE_FLASH_BBT is not set
 CONFIG_NAND_ATMEL=y
 CONFIG_NAND_ATMEL=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SF_DEFAULT_SPEED=30000000
 CONFIG_SF_DEFAULT_SPEED=30000000
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_DM_ETH=y
 CONFIG_DM_ETH=y
@@ -80,6 +81,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TIMER=y
 CONFIG_TIMER=y
 CONFIG_SPL_TIMER=y
 CONFIG_SPL_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y

+ 2 - 0
configs/sama5d4ek_spiflash_defconfig

@@ -65,6 +65,7 @@ CONFIG_MTD_RAW_NAND=y
 # CONFIG_SYS_NAND_USE_FLASH_BBT is not set
 # CONFIG_SYS_NAND_USE_FLASH_BBT is not set
 CONFIG_NAND_ATMEL=y
 CONFIG_NAND_ATMEL=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SF_DEFAULT_SPEED=30000000
 CONFIG_SF_DEFAULT_SPEED=30000000
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_DM_ETH=y
 CONFIG_DM_ETH=y
@@ -77,6 +78,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_ATMEL_USART=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TIMER=y
 CONFIG_TIMER=y
 CONFIG_SPL_TIMER=y
 CONFIG_SPL_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y

+ 2 - 0
configs/stm32mp15_basic_defconfig

@@ -91,6 +91,7 @@ CONFIG_MTD_RAW_NAND=y
 CONFIG_NAND_STM32_FMC2=y
 CONFIG_NAND_STM32_FMC2=y
 CONFIG_MTD_SPI_NAND=y
 CONFIG_MTD_SPI_NAND=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_STMICRO=y
@@ -121,6 +122,7 @@ CONFIG_RTC_STM32=y
 CONFIG_SERIAL_RX_BUFFER=y
 CONFIG_SERIAL_RX_BUFFER=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_DM_SPI=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_STM32_QSPI=y
 CONFIG_STM32_QSPI=y
 CONFIG_STM32_SPI=y
 CONFIG_STM32_SPI=y
 CONFIG_USB=y
 CONFIG_USB=y

+ 1 - 0
configs/stm32mp15_dhcom_basic_defconfig

@@ -93,6 +93,7 @@ CONFIG_STM32_SDMMC2=y
 CONFIG_MTD=y
 CONFIG_MTD=y
 CONFIG_SYS_MTDPARTS_RUNTIME=y
 CONFIG_SYS_MTDPARTS_RUNTIME=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_STMICRO=y

+ 1 - 0
configs/stm32mp15_dhcor_basic_defconfig

@@ -89,6 +89,7 @@ CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_STM32_SDMMC2=y
 CONFIG_STM32_SDMMC2=y
 CONFIG_MTD=y
 CONFIG_MTD=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_SPANSION=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_STMICRO=y

+ 2 - 0
configs/taurus_defconfig

@@ -73,6 +73,8 @@ CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_MTD_RAW_NAND=y
 # CONFIG_SYS_NAND_USE_FLASH_BBT is not set
 # CONFIG_SYS_NAND_USE_FLASH_BBT is not set
 CONFIG_NAND_ATMEL=y
 CONFIG_NAND_ATMEL=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_PHYLIB=y
 CONFIG_PHYLIB=y

+ 2 - 2
drivers/mtd/spi/Makefile

@@ -3,7 +3,7 @@
 # (C) Copyright 2006
 # (C) Copyright 2006
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 
 
-obj-$(CONFIG_DM_SPI_FLASH) += sf-uclass.o
+obj-$(CONFIG_$(SPL_TPL_)DM_SPI_FLASH) += sf-uclass.o
 spi-nor-y := sf_probe.o spi-nor-ids.o
 spi-nor-y := sf_probe.o spi-nor-ids.o
 
 
 ifdef CONFIG_SPL_BUILD
 ifdef CONFIG_SPL_BUILD
@@ -19,5 +19,5 @@ endif
 
 
 obj-$(CONFIG_SPI_FLASH) += spi-nor.o
 obj-$(CONFIG_SPI_FLASH) += spi-nor.o
 obj-$(CONFIG_SPI_FLASH_DATAFLASH) += sf_dataflash.o
 obj-$(CONFIG_SPI_FLASH_DATAFLASH) += sf_dataflash.o
-obj-$(CONFIG_$(SPL_)SPI_FLASH_MTD) += sf_mtd.o
+obj-$(CONFIG_$(SPL_TPL_)SPI_FLASH_MTD) += sf_mtd.o
 obj-$(CONFIG_SPI_FLASH_SANDBOX) += sandbox.o
 obj-$(CONFIG_SPI_FLASH_SANDBOX) += sandbox.o

+ 1 - 1
drivers/mtd/spi/sf_probe.c

@@ -53,7 +53,7 @@ err_read_id:
 	return ret;
 	return ret;
 }
 }
 
 
-#ifndef CONFIG_DM_SPI_FLASH
+#if !CONFIG_IS_ENABLED(DM_SPI_FLASH)
 struct spi_flash *spi_flash_probe(unsigned int busnum, unsigned int cs,
 struct spi_flash *spi_flash_probe(unsigned int busnum, unsigned int cs,
 				  unsigned int max_hz, unsigned int spi_mode)
 				  unsigned int max_hz, unsigned int spi_mode)
 {
 {

+ 2 - 2
drivers/net/fm/fm.c

@@ -383,7 +383,7 @@ int fm_init_common(int index, struct ccsr_fman *reg)
 		addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH);
 		addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH);
 		int ret = 0;
 		int ret = 0;
 
 
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
 		struct udevice *new;
 		struct udevice *new;
 
 
 		/* speed and mode will be read from DT */
 		/* speed and mode will be read from DT */
@@ -470,7 +470,7 @@ int fm_init_common(int index, struct ccsr_fman *reg)
 	void *addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH);
 	void *addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH);
 	int ret = 0;
 	int ret = 0;
 
 
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
 	struct udevice *new;
 	struct udevice *new;
 
 
 	/* speed and mode will be read from DT */
 	/* speed and mode will be read from DT */

+ 1 - 1
drivers/spi/Makefile

@@ -4,7 +4,7 @@
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 
 
 # There are many options which enable SPI, so make this library available
 # There are many options which enable SPI, so make this library available
-ifdef CONFIG_DM_SPI
+ifdef CONFIG_$(SPL_TPL_)DM_SPI
 obj-y += spi-uclass.o
 obj-y += spi-uclass.o
 obj-$(CONFIG_SANDBOX) += spi-emul-uclass.o
 obj-$(CONFIG_SANDBOX) += spi-emul-uclass.o
 obj-$(CONFIG_SOFT_SPI) += soft_spi.o
 obj-$(CONFIG_SOFT_SPI) += soft_spi.o

+ 1 - 1
drivers/spi/kirkwood_spi.c

@@ -94,7 +94,7 @@ static int _spi_xfer(struct kwspi_registers *reg, unsigned int bitlen,
 	return 0;
 	return 0;
 }
 }
 
 
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 
 
 static struct kwspi_registers *spireg =
 static struct kwspi_registers *spireg =
 	(struct kwspi_registers *)MVEBU_SPI_BASE;
 	(struct kwspi_registers *)MVEBU_SPI_BASE;

+ 3 - 3
drivers/spi/mxc_spi.c

@@ -67,7 +67,7 @@ static inline struct mxc_spi_slave *to_mxc_spi_slave(struct spi_slave *slave)
 
 
 static void mxc_spi_cs_activate(struct mxc_spi_slave *mxcs)
 static void mxc_spi_cs_activate(struct mxc_spi_slave *mxcs)
 {
 {
-#if defined(CONFIG_DM_SPI)
+#if CONFIG_IS_ENABLED(DM_SPI)
 	struct udevice *dev = mxcs->dev;
 	struct udevice *dev = mxcs->dev;
 	struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
 	struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
 
 
@@ -85,7 +85,7 @@ static void mxc_spi_cs_activate(struct mxc_spi_slave *mxcs)
 
 
 static void mxc_spi_cs_deactivate(struct mxc_spi_slave *mxcs)
 static void mxc_spi_cs_deactivate(struct mxc_spi_slave *mxcs)
 {
 {
-#if defined(CONFIG_DM_SPI)
+#if CONFIG_IS_ENABLED(DM_SPI)
 	struct udevice *dev = mxcs->dev;
 	struct udevice *dev = mxcs->dev;
 	struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
 	struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
 
 
@@ -415,7 +415,7 @@ static int mxc_spi_claim_bus_internal(struct mxc_spi_slave *mxcs, int cs)
 	return 0;
 	return 0;
 }
 }
 
 
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
 int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
 		void *din, unsigned long flags)
 		void *din, unsigned long flags)
 {
 {

+ 2 - 2
drivers/spi/omap3_spi.c

@@ -109,7 +109,7 @@ struct mcspi {
 };
 };
 
 
 struct omap3_spi_priv {
 struct omap3_spi_priv {
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 	struct spi_slave slave;
 	struct spi_slave slave;
 #endif
 #endif
 	struct mcspi *regs;
 	struct mcspi *regs;
@@ -455,7 +455,7 @@ static void _omap3_spi_claim_bus(struct omap3_spi_priv *priv)
 	writel(conf, &priv->regs->modulctrl);
 	writel(conf, &priv->regs->modulctrl);
 }
 }
 
 
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 
 
 static inline struct omap3_spi_priv *to_omap3_spi(struct spi_slave *slave)
 static inline struct omap3_spi_priv *to_omap3_spi(struct spi_slave *slave)
 {
 {

+ 2 - 2
drivers/spi/sh_qspi.c

@@ -68,7 +68,7 @@ struct sh_qspi_regs {
 };
 };
 
 
 struct sh_qspi_slave {
 struct sh_qspi_slave {
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 	struct spi_slave	slave;
 	struct spi_slave	slave;
 #endif
 #endif
 	struct sh_qspi_regs	*regs;
 	struct sh_qspi_regs	*regs;
@@ -223,7 +223,7 @@ static int sh_qspi_xfer_common(struct sh_qspi_slave *ss, unsigned int bitlen,
 	return ret;
 	return ret;
 }
 }
 
 
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 static inline struct sh_qspi_slave *to_sh_qspi(struct spi_slave *slave)
 static inline struct sh_qspi_slave *to_sh_qspi(struct spi_slave *slave)
 {
 {
 	return container_of(slave, struct sh_qspi_slave, slave);
 	return container_of(slave, struct sh_qspi_slave, slave);

+ 1 - 1
env/sf.c

@@ -38,7 +38,7 @@ static struct spi_flash *env_flash;
 
 
 static int setup_flash_device(void)
 static int setup_flash_device(void)
 {
 {
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
 	struct udevice *new;
 	struct udevice *new;
 	int	ret;
 	int	ret;
 
 

+ 4 - 4
include/spi.h

@@ -39,7 +39,7 @@
 
 
 #define SPI_DEFAULT_WORDLEN	8
 #define SPI_DEFAULT_WORDLEN	8
 
 
-#ifdef CONFIG_DM_SPI
+#if CONFIG_IS_ENABLED(DM_SPI)
 /* TODO(sjg@chromium.org): Remove this and use max_hz from struct spi_slave */
 /* TODO(sjg@chromium.org): Remove this and use max_hz from struct spi_slave */
 struct dm_spi_bus {
 struct dm_spi_bus {
 	uint max_hz;
 	uint max_hz;
@@ -131,7 +131,7 @@ enum spi_polarity {
  * @flags:		Indication of SPI flags.
  * @flags:		Indication of SPI flags.
  */
  */
 struct spi_slave {
 struct spi_slave {
-#ifdef CONFIG_DM_SPI
+#if CONFIG_IS_ENABLED(DM_SPI)
 	struct udevice *dev;	/* struct spi_slave is dev->parentdata */
 	struct udevice *dev;	/* struct spi_slave is dev->parentdata */
 	uint max_hz;
 	uint max_hz;
 	uint speed;
 	uint speed;
@@ -317,7 +317,7 @@ void spi_flash_copy_mmap(void *data, void *offset, size_t len);
  */
  */
 int spi_cs_is_valid(unsigned int bus, unsigned int cs);
 int spi_cs_is_valid(unsigned int bus, unsigned int cs);
 
 
-#ifndef CONFIG_DM_SPI
+#if !CONFIG_IS_ENABLED(DM_SPI)
 /**
 /**
  * Activate a SPI chipselect.
  * Activate a SPI chipselect.
  * This function is provided by the board code when using a driver
  * This function is provided by the board code when using a driver
@@ -367,7 +367,7 @@ static inline int spi_w8r8(struct spi_slave *slave, unsigned char byte)
 	return ret < 0 ? ret : din[1];
 	return ret < 0 ? ret : din[1];
 }
 }
 
 
-#ifdef CONFIG_DM_SPI
+#if CONFIG_IS_ENABLED(DM_SPI)
 
 
 /**
 /**
  * struct spi_cs_info - Information about a bus chip select
  * struct spi_cs_info - Information about a bus chip select

+ 1 - 1
include/spi_flash.h

@@ -39,7 +39,7 @@ struct dm_spi_flash_ops {
 /* Access the serial operations for a device */
 /* Access the serial operations for a device */
 #define sf_get_ops(dev) ((struct dm_spi_flash_ops *)(dev)->driver->ops)
 #define sf_get_ops(dev) ((struct dm_spi_flash_ops *)(dev)->driver->ops)
 
 
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
 /**
 /**
  * spi_flash_read_dm() - Read data from SPI flash
  * spi_flash_read_dm() - Read data from SPI flash
  *
  *

+ 1 - 1
test/dm/spi.c

@@ -117,7 +117,7 @@ static int dm_test_spi_xfer(struct unit_test_state *uts)
 	 * Since we are about to destroy all devices, we must tell sandbox
 	 * Since we are about to destroy all devices, we must tell sandbox
 	 * to forget the emulation device
 	 * to forget the emulation device
 	 */
 	 */
-#ifdef CONFIG_DM_SPI_FLASH
+#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
 	sandbox_sf_unbind_emul(state_get_current(), busnum, cs);
 	sandbox_sf_unbind_emul(state_get_current(), busnum, cs);
 #endif
 #endif