diff mbox series

[28/30] spi: Enable missing CONFIG_SPL_DM_SPI support

Message ID 20200610201634.8457-29-trini@konsulko.com
State Superseded
Headers show
Series Finish some Kconfig migrations | expand

Commit Message

Tom Rini June 10, 2020, 8:16 p.m. UTC
Due to how the Makefile logic is we currently get DM_SPI support in SPL
enabled by having DM_SPI enabled for full U-Boot but not having
CONFIG_SPL_DM_SPI set.  Add this missing option to boards that were
inadvertently making use of it.

Cc: Adam Ford <aford173 at gmail.com>
Cc: Akash Gajjar <akash at openedev.com>
Cc: Anatolij Gustschin <agust at denx.de>
Cc: Andy Yan <andy.yan at rock-chips.com>
Cc: Anup Patel <anup.patel at wdc.com>
Cc: Atish Patra <atish.patra at wdc.com>
Cc: Bin Meng <bmeng.cn at gmail.com>
Cc: Chee Hong Ang <chee.hong.ang at intel.com>
Cc: Chin-Liang See <clsee at altera.com>
Cc: Dalon Westergreen <dwesterg at gmail.com>
Cc: Dinh Nguyen <dinguyen at kernel.org>
Cc: Eugen Hristev <eugen.hristev at microchip.com>
Cc: Hannes Schmelzer <hannes.schmelzer at br-automation.com>
Cc: Heiko Schocher <hs at denx.de>
Cc: Jagan Teki <jagan at amarulasolutions.com>
Cc: Klaus Goger <klaus.goger at theobroma-systems.com>
Cc: Levin Du <djw at t-chip.com.cn>
Cc: Ley Foon Tan <ley.foon.tan at intel.com>
Cc: Lokesh Vutla <lokeshvutla at ti.com>
Cc: Luca Ceresoli <luca at lucaceresoli.net>
Cc: Marek Vasut <marex at denx.de>
Cc: Michal Simek <monstr at monstr.eu>
Cc: Mike Looijmans <mike.looijmans at topic.nl>
Cc: Nicolas Ferre <nicolas.ferre at microchip.com>
Cc: Nikita Kiryanov <nikita at compulab.co.il>
Cc: Palmer Dabbelt <palmer at dabbelt.com>
Cc: Patrick Delaunay <patrick.delaunay at st.com>
Cc: Paul Walmsley <paul.walmsley at sifive.com>
Cc: Pavel Machek <pavel at denx.de>
Cc: Peter Robinson <pbrobinson at gmail.com>
Cc: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Stefan Roese <sr at denx.de>
Cc: Suniel Mahesh <sunil at amarulasolutions.com>
Cc: Wolfgang Grandegger <wg at aries-embedded.de>
Signed-off-by: Tom Rini <trini at konsulko.com>
---
 configs/am57xx_evm_defconfig                                   | 1 +
 configs/am57xx_hs_evm_defconfig                                | 1 +
 configs/am57xx_hs_evm_usb_defconfig                            | 1 +
 configs/am65x_evm_a53_defconfig                                | 1 +
 configs/am65x_evm_r5_defconfig                                 | 1 +
 configs/am65x_hs_evm_a53_defconfig                             | 1 +
 configs/am65x_hs_evm_r5_defconfig                              | 1 +
 configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig | 1 +
 configs/axm_defconfig                                          | 1 +
 configs/brppt1_spi_defconfig                                   | 1 +
 configs/brsmarc1_defconfig                                     | 1 +
 configs/chromebit_mickey_defconfig                             | 1 +
 configs/chromebook_bob_defconfig                               | 1 +
 configs/chromebook_coral_defconfig                             | 1 +
 configs/chromebook_jerry_defconfig                             | 1 +
 configs/chromebook_link64_defconfig                            | 1 +
 configs/chromebook_minnie_defconfig                            | 1 +
 configs/chromebook_samus_tpl_defconfig                         | 1 +
 configs/chromebook_speedy_defconfig                            | 1 +
 configs/cm_t43_defconfig                                       | 1 +
 configs/da850evm_defconfig                                     | 1 +
 configs/da850evm_nand_defconfig                                | 1 +
 configs/dra7xx_evm_defconfig                                   | 1 +
 configs/dra7xx_hs_evm_defconfig                                | 1 +
 configs/dra7xx_hs_evm_usb_defconfig                            | 1 +
 configs/evb-px5_defconfig                                      | 1 +
 configs/j721e_evm_a72_defconfig                                | 1 +
 configs/j721e_evm_r5_defconfig                                 | 1 +
 configs/j721e_hs_evm_a72_defconfig                             | 1 +
 configs/j721e_hs_evm_r5_defconfig                              | 1 +
 configs/lion-rk3368_defconfig                                  | 1 +
 configs/pinebook-pro-rk3399_defconfig                          | 1 +
 configs/puma-rk3399_defconfig                                  | 1 +
 configs/qemu-x86_64_defconfig                                  | 1 +
 configs/roc-pc-mezzanine-rk3399_defconfig                      | 1 +
 configs/roc-pc-rk3399_defconfig                                | 1 +
 configs/rockpro64-rk3399_defconfig                             | 1 +
 configs/sama5d27_wlsom1_ek_qspiflash_defconfig                 | 1 +
 configs/sama5d2_xplained_spiflash_defconfig                    | 1 +
 configs/sama5d3xek_spiflash_defconfig                          | 1 +
 configs/sama5d4_xplained_spiflash_defconfig                    | 1 +
 configs/sama5d4ek_spiflash_defconfig                           | 1 +
 configs/sifive_fu540_defconfig                                 | 1 +
 configs/socfpga_agilex_defconfig                               | 1 +
 configs/socfpga_arria10_defconfig                              | 1 +
 configs/socfpga_arria5_defconfig                               | 1 +
 configs/socfpga_cyclone5_defconfig                             | 1 +
 configs/socfpga_dbm_soc1_defconfig                             | 1 +
 configs/socfpga_de0_nano_soc_defconfig                         | 1 +
 configs/socfpga_de10_nano_defconfig                            | 1 +
 configs/socfpga_de1_soc_defconfig                              | 1 +
 configs/socfpga_is1_defconfig                                  | 1 +
 configs/socfpga_mcvevk_defconfig                               | 1 +
 configs/socfpga_sockit_defconfig                               | 1 +
 configs/socfpga_socrates_defconfig                             | 1 +
 configs/socfpga_sr1500_defconfig                               | 1 +
 configs/socfpga_stratix10_defconfig                            | 1 +
 configs/socfpga_vining_fpga_defconfig                          | 1 +
 configs/stm32mp15_basic_defconfig                              | 1 +
 configs/stm32mp15_dhcom_basic_defconfig                        | 1 +
 configs/stm32mp15_dhcor_basic_defconfig                        | 1 +
 configs/taurus_defconfig                                       | 1 +
 configs/topic_miami_defconfig                                  | 1 +
 configs/topic_miamilite_defconfig                              | 1 +
 configs/topic_miamiplus_defconfig                              | 1 +
 configs/xilinx_zynq_virt_defconfig                             | 1 +
 configs/xilinx_zynqmp_virt_defconfig                           | 1 +
 configs/zynq_cse_qspi_defconfig                                | 1 +
 68 files changed, 68 insertions(+)

Comments

Marek Vasut June 10, 2020, 8:38 p.m. UTC | #1
On 6/10/20 10:16 PM, Tom Rini wrote:
[...]
>  configs/socfpga_dbm_soc1_defconfig                             | 1 +
>  configs/socfpga_de0_nano_soc_defconfig                         | 1 +
>  configs/socfpga_de10_nano_defconfig                            | 1 +
>  configs/socfpga_de1_soc_defconfig                              | 1 +

I don't think those de*_soc boards have a SPI NOR at all.
And I'm also afraid that enabling this will make those boards overflow
SPL size limits.
Tom Rini June 10, 2020, 9:01 p.m. UTC | #2
On Wed, Jun 10, 2020 at 10:38:45PM +0200, Marek Vasut wrote:
> On 6/10/20 10:16 PM, Tom Rini wrote:
> [...]
> >  configs/socfpga_dbm_soc1_defconfig                             | 1 +
> >  configs/socfpga_de0_nano_soc_defconfig                         | 1 +
> >  configs/socfpga_de10_nano_defconfig                            | 1 +
> >  configs/socfpga_de1_soc_defconfig                              | 1 +
> 
> I don't think those de*_soc boards have a SPI NOR at all.
> And I'm also afraid that enabling this will make those boards overflow
> SPL size limits.

There is zero size change from this patch on any platform included in
this patch.

Today each of the boards you mention enables CONFIG_SPL_SPI_SUPPORT,
CONFIG_SPL_SPI_FLASH_SUPPORT and then CONFIG_SPL_SPI_FLASH_TINY.

That said, that means you aren't using SPL_DM_SPI for real, so I'll go
take a look at what to change instead in the previous patch, thanks!
Tom Rini June 10, 2020, 9:48 p.m. UTC | #3
On Wed, Jun 10, 2020 at 05:01:21PM -0400, Tom Rini wrote:
> On Wed, Jun 10, 2020 at 10:38:45PM +0200, Marek Vasut wrote:
> > On 6/10/20 10:16 PM, Tom Rini wrote:
> > [...]
> > >  configs/socfpga_dbm_soc1_defconfig                             | 1 +
> > >  configs/socfpga_de0_nano_soc_defconfig                         | 1 +
> > >  configs/socfpga_de10_nano_defconfig                            | 1 +
> > >  configs/socfpga_de1_soc_defconfig                              | 1 +
> > 
> > I don't think those de*_soc boards have a SPI NOR at all.
> > And I'm also afraid that enabling this will make those boards overflow
> > SPL size limits.
> 
> There is zero size change from this patch on any platform included in
> this patch.
> 
> Today each of the boards you mention enables CONFIG_SPL_SPI_SUPPORT,
> CONFIG_SPL_SPI_FLASH_SUPPORT and then CONFIG_SPL_SPI_FLASH_TINY.
> 
> That said, that means you aren't using SPL_DM_SPI for real, so I'll go
> take a look at what to change instead in the previous patch, thanks!

Nope, check your platforms again.  Based on looking over
socfpga_de1_soc/spl/u-boot-spl.map it's not discarding a bunch of the DM
SPI stuff as we're in fact building it today, and using the few
functions that spi-mem-nodm.c provides from spi-mem.c instead.  So this
is correct for what's happening today.

With Jagan's removal patches that I believe allow us to nuke
drivers/spi/spi.c (and so the unconditional building of it) as it nukes
the only platform that uses the only video driver that calls
spi_set_wordlen() (spi_do_alloc_slave() is unused globally) we could
then go ahead and do non-DM_SPI here, fully.
Marek Vasut June 10, 2020, 9:52 p.m. UTC | #4
On 6/10/20 11:48 PM, Tom Rini wrote:
> On Wed, Jun 10, 2020 at 05:01:21PM -0400, Tom Rini wrote:
>> On Wed, Jun 10, 2020 at 10:38:45PM +0200, Marek Vasut wrote:
>>> On 6/10/20 10:16 PM, Tom Rini wrote:
>>> [...]
>>>>  configs/socfpga_dbm_soc1_defconfig                             | 1 +
>>>>  configs/socfpga_de0_nano_soc_defconfig                         | 1 +
>>>>  configs/socfpga_de10_nano_defconfig                            | 1 +
>>>>  configs/socfpga_de1_soc_defconfig                              | 1 +
>>>
>>> I don't think those de*_soc boards have a SPI NOR at all.
>>> And I'm also afraid that enabling this will make those boards overflow
>>> SPL size limits.
>>
>> There is zero size change from this patch on any platform included in
>> this patch.
>>
>> Today each of the boards you mention enables CONFIG_SPL_SPI_SUPPORT,
>> CONFIG_SPL_SPI_FLASH_SUPPORT and then CONFIG_SPL_SPI_FLASH_TINY.
>>
>> That said, that means you aren't using SPL_DM_SPI for real, so I'll go
>> take a look at what to change instead in the previous patch, thanks!
> 
> Nope, check your platforms again.  Based on looking over
> socfpga_de1_soc/spl/u-boot-spl.map it's not discarding a bunch of the DM
> SPI stuff as we're in fact building it today, and using the few
> functions that spi-mem-nodm.c provides from spi-mem.c instead.  So this
> is correct for what's happening today.

Are you _sure_ the board has a SPI NOR on it at all ? I doubt all of
them do, so it seems some of those SPL DM SPI are copy-paste errors.
Tom Rini June 10, 2020, 10:01 p.m. UTC | #5
On Wed, Jun 10, 2020 at 11:52:33PM +0200, Marek Vasut wrote:
> On 6/10/20 11:48 PM, Tom Rini wrote:
> > On Wed, Jun 10, 2020 at 05:01:21PM -0400, Tom Rini wrote:
> >> On Wed, Jun 10, 2020 at 10:38:45PM +0200, Marek Vasut wrote:
> >>> On 6/10/20 10:16 PM, Tom Rini wrote:
> >>> [...]
> >>>>  configs/socfpga_dbm_soc1_defconfig                             | 1 +
> >>>>  configs/socfpga_de0_nano_soc_defconfig                         | 1 +
> >>>>  configs/socfpga_de10_nano_defconfig                            | 1 +
> >>>>  configs/socfpga_de1_soc_defconfig                              | 1 +
> >>>
> >>> I don't think those de*_soc boards have a SPI NOR at all.
> >>> And I'm also afraid that enabling this will make those boards overflow
> >>> SPL size limits.
> >>
> >> There is zero size change from this patch on any platform included in
> >> this patch.
> >>
> >> Today each of the boards you mention enables CONFIG_SPL_SPI_SUPPORT,
> >> CONFIG_SPL_SPI_FLASH_SUPPORT and then CONFIG_SPL_SPI_FLASH_TINY.
> >>
> >> That said, that means you aren't using SPL_DM_SPI for real, so I'll go
> >> take a look at what to change instead in the previous patch, thanks!
> > 
> > Nope, check your platforms again.  Based on looking over
> > socfpga_de1_soc/spl/u-boot-spl.map it's not discarding a bunch of the DM
> > SPI stuff as we're in fact building it today, and using the few
> > functions that spi-mem-nodm.c provides from spi-mem.c instead.  So this
> > is correct for what's happening today.
> 
> Are you _sure_ the board has a SPI NOR on it at all ? I doubt all of
> them do, so it seems some of those SPL DM SPI are copy-paste errors.

I'm only as sure as what the board maintainer enabled.  As they're on CC
and see the answer is "Oh, I don't even have flash!" then they should go
and fix that.  My point is that it's not changing any platform sizes and
is being explicit about what is implicit today based on the build logic
in use.
Patrick Delaunay June 11, 2020, 7:28 a.m. UTC | #6
Dear Tom

> From: Tom Rini <trini at konsulko.com>
> Sent: mercredi 10 juin 2020 22:17
> 
> Due to how the Makefile logic is we currently get DM_SPI support in SPL enabled
> by having DM_SPI enabled for full U-Boot but not having CONFIG_SPL_DM_SPI
> set.  Add this missing option to boards that were inadvertently making use of it.
> 
> Cc: Adam Ford <aford173 at gmail.com>
> Cc: Akash Gajjar <akash at openedev.com>
> Cc: Anatolij Gustschin <agust at denx.de>
> Cc: Andy Yan <andy.yan at rock-chips.com>
> Cc: Anup Patel <anup.patel at wdc.com>
> Cc: Atish Patra <atish.patra at wdc.com>
> Cc: Bin Meng <bmeng.cn at gmail.com>
> Cc: Chee Hong Ang <chee.hong.ang at intel.com>
> Cc: Chin-Liang See <clsee at altera.com>
> Cc: Dalon Westergreen <dwesterg at gmail.com>
> Cc: Dinh Nguyen <dinguyen at kernel.org>
> Cc: Eugen Hristev <eugen.hristev at microchip.com>
> Cc: Hannes Schmelzer <hannes.schmelzer at br-automation.com>
> Cc: Heiko Schocher <hs at denx.de>
> Cc: Jagan Teki <jagan at amarulasolutions.com>
> Cc: Klaus Goger <klaus.goger at theobroma-systems.com>
> Cc: Levin Du <djw at t-chip.com.cn>
> Cc: Ley Foon Tan <ley.foon.tan at intel.com>
> Cc: Lokesh Vutla <lokeshvutla at ti.com>
> Cc: Luca Ceresoli <luca at lucaceresoli.net>
> Cc: Marek Vasut <marex at denx.de>
> Cc: Michal Simek <monstr at monstr.eu>
> Cc: Mike Looijmans <mike.looijmans at topic.nl>
> Cc: Nicolas Ferre <nicolas.ferre at microchip.com>
> Cc: Nikita Kiryanov <nikita at compulab.co.il>
> Cc: Palmer Dabbelt <palmer at dabbelt.com>
> Cc: Patrick Delaunay <patrick.delaunay at st.com>
> Cc: Paul Walmsley <paul.walmsley at sifive.com>
> Cc: Pavel Machek <pavel at denx.de>
> Cc: Peter Robinson <pbrobinson at gmail.com>
> Cc: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Stefan Roese <sr at denx.de>
> Cc: Suniel Mahesh <sunil at amarulasolutions.com>
> Cc: Wolfgang Grandegger <wg at aries-embedded.de>
> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---
>  configs/am57xx_evm_defconfig                                   | 1 +
>  configs/am57xx_hs_evm_defconfig                                | 1 +
>  configs/am57xx_hs_evm_usb_defconfig                            | 1 +
>  configs/am65x_evm_a53_defconfig                                | 1 +
>  configs/am65x_evm_r5_defconfig                                 | 1 +
>  configs/am65x_hs_evm_a53_defconfig                             | 1 +
>  configs/am65x_hs_evm_r5_defconfig                              | 1 +
>  configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig | 1 +
>  configs/axm_defconfig                                          | 1 +
>  configs/brppt1_spi_defconfig                                   | 1 +
>  configs/brsmarc1_defconfig                                     | 1 +
>  configs/chromebit_mickey_defconfig                             | 1 +
>  configs/chromebook_bob_defconfig                               | 1 +
>  configs/chromebook_coral_defconfig                             | 1 +
>  configs/chromebook_jerry_defconfig                             | 1 +
>  configs/chromebook_link64_defconfig                            | 1 +
>  configs/chromebook_minnie_defconfig                            | 1 +
>  configs/chromebook_samus_tpl_defconfig                         | 1 +
>  configs/chromebook_speedy_defconfig                            | 1 +
>  configs/cm_t43_defconfig                                       | 1 +
>  configs/da850evm_defconfig                                     | 1 +
>  configs/da850evm_nand_defconfig                                | 1 +
>  configs/dra7xx_evm_defconfig                                   | 1 +
>  configs/dra7xx_hs_evm_defconfig                                | 1 +
>  configs/dra7xx_hs_evm_usb_defconfig                            | 1 +
>  configs/evb-px5_defconfig                                      | 1 +
>  configs/j721e_evm_a72_defconfig                                | 1 +
>  configs/j721e_evm_r5_defconfig                                 | 1 +
>  configs/j721e_hs_evm_a72_defconfig                             | 1 +
>  configs/j721e_hs_evm_r5_defconfig                              | 1 +
>  configs/lion-rk3368_defconfig                                  | 1 +
>  configs/pinebook-pro-rk3399_defconfig                          | 1 +
>  configs/puma-rk3399_defconfig                                  | 1 +
>  configs/qemu-x86_64_defconfig                                  | 1 +
>  configs/roc-pc-mezzanine-rk3399_defconfig                      | 1 +
>  configs/roc-pc-rk3399_defconfig                                | 1 +
>  configs/rockpro64-rk3399_defconfig                             | 1 +
>  configs/sama5d27_wlsom1_ek_qspiflash_defconfig                 | 1 +
>  configs/sama5d2_xplained_spiflash_defconfig                    | 1 +
>  configs/sama5d3xek_spiflash_defconfig                          | 1 +
>  configs/sama5d4_xplained_spiflash_defconfig                    | 1 +
>  configs/sama5d4ek_spiflash_defconfig                           | 1 +
>  configs/sifive_fu540_defconfig                                 | 1 +
>  configs/socfpga_agilex_defconfig                               | 1 +
>  configs/socfpga_arria10_defconfig                              | 1 +
>  configs/socfpga_arria5_defconfig                               | 1 +
>  configs/socfpga_cyclone5_defconfig                             | 1 +
>  configs/socfpga_dbm_soc1_defconfig                             | 1 +
>  configs/socfpga_de0_nano_soc_defconfig                         | 1 +
>  configs/socfpga_de10_nano_defconfig                            | 1 +
>  configs/socfpga_de1_soc_defconfig                              | 1 +
>  configs/socfpga_is1_defconfig                                  | 1 +
>  configs/socfpga_mcvevk_defconfig                               | 1 +
>  configs/socfpga_sockit_defconfig                               | 1 +
>  configs/socfpga_socrates_defconfig                             | 1 +
>  configs/socfpga_sr1500_defconfig                               | 1 +
>  configs/socfpga_stratix10_defconfig                            | 1 +
>  configs/socfpga_vining_fpga_defconfig                          | 1 +
>  configs/stm32mp15_basic_defconfig                              | 1 +
>  configs/stm32mp15_dhcom_basic_defconfig                        | 1 +
>  configs/stm32mp15_dhcor_basic_defconfig                        | 1 +
>  configs/taurus_defconfig                                       | 1 +
>  configs/topic_miami_defconfig                                  | 1 +
>  configs/topic_miamilite_defconfig                              | 1 +
>  configs/topic_miamiplus_defconfig                              | 1 +
>  configs/xilinx_zynq_virt_defconfig                             | 1 +
>  configs/xilinx_zynqmp_virt_defconfig                           | 1 +
>  configs/zynq_cse_qspi_defconfig                                | 1 +
>  68 files changed, 68 insertions(+)
> 

For configs/stm32mp15*defconfig

Reviewed-by: Patrick Delaunay <patrick.delaunay at st.com>

Thanks

Patrick
Adam Ford June 11, 2020, 10:38 a.m. UTC | #7
On Wed, Jun 10, 2020 at 3:17 PM Tom Rini <trini at konsulko.com> wrote:
>
> Due to how the Makefile logic is we currently get DM_SPI support in SPL
> enabled by having DM_SPI enabled for full U-Boot but not having
> CONFIG_SPL_DM_SPI set.  Add this missing option to boards that were
> inadvertently making use of it.

Not knowing exactly which patches to apply to see the Makefile changes
in question, I'm just doing a code review instead of the test.
>
> Cc: Adam Ford <aford173 at gmail.com>
[snip]

Acked-by: Adam Ford <aford173 at gmail.com> #da850evm

> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---

>  configs/da850evm_defconfig                                     | 1 +
>  configs/da850evm_nand_defconfig                                | 1 +

The da850evm_defconfig is setup to boot from SPI Flash, so that board
will need it.  Thank you.

The da850evm_nand_defconfig is set to boot from NAND via the NAND
controller and not SPI, so it's probably not necessary, but  I don't
think it hurts anything. I may go through later and remove the
CONFIG_SPL_DM_SPI from the nand version later.

[snip]

> diff --git a/configs/da850evm_defconfig b/configs/da850evm_defconfig
> index 1a6a97ed161a..12768065f3ab 100644
> --- a/configs/da850evm_defconfig
> +++ b/configs/da850evm_defconfig
> @@ -12,6 +12,7 @@ CONFIG_ENV_OFFSET=0x80000
>  CONFIG_ENV_SECT_SIZE=0x10000
>  CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
>  CONFIG_DM_GPIO=y
> +CONFIG_SPL_DM_SPI=y

Thank you, we'll need this.

>  CONFIG_SPL_SERIAL_SUPPORT=y
>  CONFIG_NR_DRAM_BANKS=1
>  CONFIG_SPL=y
> diff --git a/configs/da850evm_nand_defconfig b/configs/da850evm_nand_defconfig
> index e805f2c10eda..13026fd1ea2c 100644
> --- a/configs/da850evm_nand_defconfig
> +++ b/configs/da850evm_nand_defconfig
> @@ -11,6 +11,7 @@ CONFIG_ENV_SIZE=0x20000
>  CONFIG_ENV_OFFSET=0x0
>  CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
>  CONFIG_DM_GPIO=y
> +CONFIG_SPL_DM_SPI=y

If you do a V2 for some reason and don't want to add this here in the
future, I wouldn't object.  If not, I'll do some testing later with
this removed.

>  CONFIG_SPL_SERIAL_SUPPORT=y
>  CONFIG_SPL=y
>  CONFIG_SPL_SPI_FLASH_SUPPORT=y
[snip]

> --
> 2.17.1
>
Tom Rini June 11, 2020, 12:17 p.m. UTC | #8
On Thu, Jun 11, 2020 at 05:38:15AM -0500, Adam Ford wrote:
> On Wed, Jun 10, 2020 at 3:17 PM Tom Rini <trini at konsulko.com> wrote:
> >
> > Due to how the Makefile logic is we currently get DM_SPI support in SPL
> > enabled by having DM_SPI enabled for full U-Boot but not having
> > CONFIG_SPL_DM_SPI set.  Add this missing option to boards that were
> > inadvertently making use of it.
> 
> Not knowing exactly which patches to apply to see the Makefile changes
> in question, I'm just doing a code review instead of the test.
> >
> > Cc: Adam Ford <aford173 at gmail.com>
> [snip]
> 
> Acked-by: Adam Ford <aford173 at gmail.com> #da850evm
> 
> > Signed-off-by: Tom Rini <trini at konsulko.com>
> > ---
> 
> >  configs/da850evm_defconfig                                     | 1 +
> >  configs/da850evm_nand_defconfig                                | 1 +
> 
> The da850evm_defconfig is setup to boot from SPI Flash, so that board
> will need it.  Thank you.
> 
> The da850evm_nand_defconfig is set to boot from NAND via the NAND
> controller and not SPI, so it's probably not necessary, but  I don't
> think it hurts anything. I may go through later and remove the
> CONFIG_SPL_DM_SPI from the nand version later.
> 
> [snip]
> 
> > diff --git a/configs/da850evm_defconfig b/configs/da850evm_defconfig
> > index 1a6a97ed161a..12768065f3ab 100644
> > --- a/configs/da850evm_defconfig
> > +++ b/configs/da850evm_defconfig
> > @@ -12,6 +12,7 @@ CONFIG_ENV_OFFSET=0x80000
> >  CONFIG_ENV_SECT_SIZE=0x10000
> >  CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
> >  CONFIG_DM_GPIO=y
> > +CONFIG_SPL_DM_SPI=y
> 
> Thank you, we'll need this.
> 
> >  CONFIG_SPL_SERIAL_SUPPORT=y
> >  CONFIG_NR_DRAM_BANKS=1
> >  CONFIG_SPL=y
> > diff --git a/configs/da850evm_nand_defconfig b/configs/da850evm_nand_defconfig
> > index e805f2c10eda..13026fd1ea2c 100644
> > --- a/configs/da850evm_nand_defconfig
> > +++ b/configs/da850evm_nand_defconfig
> > @@ -11,6 +11,7 @@ CONFIG_ENV_SIZE=0x20000
> >  CONFIG_ENV_OFFSET=0x0
> >  CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
> >  CONFIG_DM_GPIO=y
> > +CONFIG_SPL_DM_SPI=y
> 
> If you do a V2 for some reason and don't want to add this here in the
> future, I wouldn't object.  If not, I'll do some testing later with
> this removed.

This is similar to the socfpga case Marek pointed out.  Today, the
platforms are building with SPI support enabled and are implicitly
getting SPL_DM_SPI enabled too
http://patchwork.ozlabs.org/project/uboot/patch/20200610201634.8457-30-trini at konsulko.com/
is the Makefile patch but it's just dropping in to the DM or not-DM side
based on SPL/TPL_DM and not just DM in main U-Boot.
Adam Ford June 12, 2020, 2:09 a.m. UTC | #9
On Thu, Jun 11, 2020 at 7:17 AM Tom Rini <trini at konsulko.com> wrote:
>
> On Thu, Jun 11, 2020 at 05:38:15AM -0500, Adam Ford wrote:
> > On Wed, Jun 10, 2020 at 3:17 PM Tom Rini <trini at konsulko.com> wrote:
> > >
> > > Due to how the Makefile logic is we currently get DM_SPI support in SPL
> > > enabled by having DM_SPI enabled for full U-Boot but not having
> > > CONFIG_SPL_DM_SPI set.  Add this missing option to boards that were
> > > inadvertently making use of it.
> >
> > Not knowing exactly which patches to apply to see the Makefile changes
> > in question, I'm just doing a code review instead of the test.
> > >
> > > Cc: Adam Ford <aford173 at gmail.com>
> > [snip]
> >
> > Acked-by: Adam Ford <aford173 at gmail.com> #da850evm
> >

Tested-by: Adam Ford <aford173 at gmail.com> #da850evm

> > > Signed-off-by: Tom Rini <trini at konsulko.com>
> > > ---
> >
> > >  configs/da850evm_defconfig                                     | 1 +
> > >  configs/da850evm_nand_defconfig                                | 1 +
> >
> > The da850evm_defconfig is setup to boot from SPI Flash, so that board
> > will need it.  Thank you.
> >
> > The da850evm_nand_defconfig is set to boot from NAND via the NAND
> > controller and not SPI, so it's probably not necessary, but  I don't
> > think it hurts anything. I may go through later and remove the
> > CONFIG_SPL_DM_SPI from the nand version later.
> >
> > [snip]
> >
> > > diff --git a/configs/da850evm_defconfig b/configs/da850evm_defconfig
> > > index 1a6a97ed161a..12768065f3ab 100644
> > > --- a/configs/da850evm_defconfig
> > > +++ b/configs/da850evm_defconfig
> > > @@ -12,6 +12,7 @@ CONFIG_ENV_OFFSET=0x80000
> > >  CONFIG_ENV_SECT_SIZE=0x10000
> > >  CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
> > >  CONFIG_DM_GPIO=y
> > > +CONFIG_SPL_DM_SPI=y
> >
> > Thank you, we'll need this.
> >
> > >  CONFIG_SPL_SERIAL_SUPPORT=y
> > >  CONFIG_NR_DRAM_BANKS=1
> > >  CONFIG_SPL=y
> > > diff --git a/configs/da850evm_nand_defconfig b/configs/da850evm_nand_defconfig
> > > index e805f2c10eda..13026fd1ea2c 100644
> > > --- a/configs/da850evm_nand_defconfig
> > > +++ b/configs/da850evm_nand_defconfig
> > > @@ -11,6 +11,7 @@ CONFIG_ENV_SIZE=0x20000
> > >  CONFIG_ENV_OFFSET=0x0
> > >  CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
> > >  CONFIG_DM_GPIO=y
> > > +CONFIG_SPL_DM_SPI=y
> >
> > If you do a V2 for some reason and don't want to add this here in the
> > future, I wouldn't object.  If not, I'll do some testing later with
> > this removed.
>
> This is similar to the socfpga case Marek pointed out.  Today, the
> platforms are building with SPI support enabled and are implicitly
> getting SPL_DM_SPI enabled too
> http://patchwork.ozlabs.org/project/uboot/patch/20200610201634.8457-30-trini at konsulko.com/
> is the Makefile patch but it's just dropping in to the DM or not-DM side
> based on SPL/TPL_DM and not just DM in main U-Boot.
>
> --
> Tom
Adam Ford June 12, 2020, 2:24 a.m. UTC | #10
On Thu, Jun 11, 2020 at 9:09 PM Adam Ford <aford173 at gmail.com> wrote:
>
> On Thu, Jun 11, 2020 at 7:17 AM Tom Rini <trini at konsulko.com> wrote:
> >
> > On Thu, Jun 11, 2020 at 05:38:15AM -0500, Adam Ford wrote:
> > > On Wed, Jun 10, 2020 at 3:17 PM Tom Rini <trini at konsulko.com> wrote:
> > > >
> > > > Due to how the Makefile logic is we currently get DM_SPI support in SPL
> > > > enabled by having DM_SPI enabled for full U-Boot but not having
> > > > CONFIG_SPL_DM_SPI set.  Add this missing option to boards that were
> > > > inadvertently making use of it.
> > >
> > > Not knowing exactly which patches to apply to see the Makefile changes
> > > in question, I'm just doing a code review instead of the test.
> > > >
> > > > Cc: Adam Ford <aford173 at gmail.com>
> > > [snip]
> > >
> > > Acked-by: Adam Ford <aford173 at gmail.com> #da850evm
> > >
>
> Tested-by: Adam Ford <aford173 at gmail.com> #da850evm
>
> > > > Signed-off-by: Tom Rini <trini at konsulko.com>
> > > > ---
> > >
> > > >  configs/da850evm_defconfig                                     | 1 +
> > > >  configs/da850evm_nand_defconfig                                | 1 +
> > >
> > > The da850evm_defconfig is setup to boot from SPI Flash, so that board
> > > will need it.  Thank you.
> > >
> > > The da850evm_nand_defconfig is set to boot from NAND via the NAND
> > > controller and not SPI, so it's probably not necessary, but  I don't
> > > think it hurts anything. I may go through later and remove the
> > > CONFIG_SPL_DM_SPI from the nand version later.
> > >
> > > [snip]
> > >
> > > > diff --git a/configs/da850evm_defconfig b/configs/da850evm_defconfig
> > > > index 1a6a97ed161a..12768065f3ab 100644
> > > > --- a/configs/da850evm_defconfig
> > > > +++ b/configs/da850evm_defconfig
> > > > @@ -12,6 +12,7 @@ CONFIG_ENV_OFFSET=0x80000
> > > >  CONFIG_ENV_SECT_SIZE=0x10000
> > > >  CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
> > > >  CONFIG_DM_GPIO=y
> > > > +CONFIG_SPL_DM_SPI=y
> > >
> > > Thank you, we'll need this.
> > >
> > > >  CONFIG_SPL_SERIAL_SUPPORT=y
> > > >  CONFIG_NR_DRAM_BANKS=1
> > > >  CONFIG_SPL=y
> > > > diff --git a/configs/da850evm_nand_defconfig b/configs/da850evm_nand_defconfig
> > > > index e805f2c10eda..13026fd1ea2c 100644
> > > > --- a/configs/da850evm_nand_defconfig
> > > > +++ b/configs/da850evm_nand_defconfig
> > > > @@ -11,6 +11,7 @@ CONFIG_ENV_SIZE=0x20000
> > > >  CONFIG_ENV_OFFSET=0x0
> > > >  CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
> > > >  CONFIG_DM_GPIO=y
> > > > +CONFIG_SPL_DM_SPI=y

I just sent a separate patch removing SPI from SPL from the nand
defconfig since the system is booting from NAND to free up some space.
I don't know how that plays into this patch for the nand version.  If
you need to apply your patch first, I can always rebase mine and
re-submit later.

adam
> > >
> > > If you do a V2 for some reason and don't want to add this here in the
> > > future, I wouldn't object.  If not, I'll do some testing later with
> > > this removed.
> >
> > This is similar to the socfpga case Marek pointed out.  Today, the
> > platforms are building with SPI support enabled and are implicitly
> > getting SPL_DM_SPI enabled too
> > http://patchwork.ozlabs.org/project/uboot/patch/20200610201634.8457-30-trini at konsulko.com/
> > is the Makefile patch but it's just dropping in to the DM or not-DM side
> > based on SPL/TPL_DM and not just DM in main U-Boot.
> >
> > --
> > Tom
Luca Ceresoli June 12, 2020, 7:59 a.m. UTC | #11
Hi Tom,

On 10/06/20 22:16, Tom Rini wrote:
> Due to how the Makefile logic is we currently get DM_SPI support in SPL
> enabled by having DM_SPI enabled for full U-Boot but not having
> CONFIG_SPL_DM_SPI set.  Add this missing option to boards that were
> inadvertently making use of it.
> 
> Cc: Adam Ford <aford173 at gmail.com>
> Cc: Akash Gajjar <akash at openedev.com>
> Cc: Anatolij Gustschin <agust at denx.de>
> Cc: Andy Yan <andy.yan at rock-chips.com>
> Cc: Anup Patel <anup.patel at wdc.com>
> Cc: Atish Patra <atish.patra at wdc.com>
> Cc: Bin Meng <bmeng.cn at gmail.com>
> Cc: Chee Hong Ang <chee.hong.ang at intel.com>
> Cc: Chin-Liang See <clsee at altera.com>
> Cc: Dalon Westergreen <dwesterg at gmail.com>
> Cc: Dinh Nguyen <dinguyen at kernel.org>
> Cc: Eugen Hristev <eugen.hristev at microchip.com>
> Cc: Hannes Schmelzer <hannes.schmelzer at br-automation.com>
> Cc: Heiko Schocher <hs at denx.de>
> Cc: Jagan Teki <jagan at amarulasolutions.com>
> Cc: Klaus Goger <klaus.goger at theobroma-systems.com>
> Cc: Levin Du <djw at t-chip.com.cn>
> Cc: Ley Foon Tan <ley.foon.tan at intel.com>
> Cc: Lokesh Vutla <lokeshvutla at ti.com>
> Cc: Luca Ceresoli <luca at lucaceresoli.net>
> Cc: Marek Vasut <marex at denx.de>
> Cc: Michal Simek <monstr at monstr.eu>
> Cc: Mike Looijmans <mike.looijmans at topic.nl>
> Cc: Nicolas Ferre <nicolas.ferre at microchip.com>
> Cc: Nikita Kiryanov <nikita at compulab.co.il>
> Cc: Palmer Dabbelt <palmer at dabbelt.com>
> Cc: Patrick Delaunay <patrick.delaunay at st.com>
> Cc: Paul Walmsley <paul.walmsley at sifive.com>
> Cc: Pavel Machek <pavel at denx.de>
> Cc: Peter Robinson <pbrobinson at gmail.com>
> Cc: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Stefan Roese <sr at denx.de>
> Cc: Suniel Mahesh <sunil at amarulasolutions.com>
> Cc: Wolfgang Grandegger <wg at aries-embedded.de>
> Signed-off-by: Tom Rini <trini at konsulko.com>

For the Avnet Ultrazed:
>  configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig | 1 +

Reviewed-by: Luca Ceresoli <luca at lucaceresoli.net>
diff mbox series

Patch

diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig
index f0418bd0ffa5..7c907fd3f496 100644
--- a/configs/am57xx_evm_defconfig
+++ b/configs/am57xx_evm_defconfig
@@ -4,6 +4,7 @@  CONFIG_TI_COMMON_CMD_OPTIONS=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_OMAP54XX=y
 CONFIG_TARGET_AM57XX_EVM=y
 CONFIG_NR_DRAM_BANKS=2
diff --git a/configs/am57xx_hs_evm_defconfig b/configs/am57xx_hs_evm_defconfig
index c5a62fbbca6b..81bac5592eb6 100644
--- a/configs/am57xx_hs_evm_defconfig
+++ b/configs/am57xx_hs_evm_defconfig
@@ -5,6 +5,7 @@  CONFIG_TI_COMMON_CMD_OPTIONS=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_OMAP54XX=y
 CONFIG_TI_SECURE_EMIF_REGION_START=0xbdb00000
 CONFIG_TI_SECURE_EMIF_TOTAL_REGION_SIZE=0x02000000
diff --git a/configs/am57xx_hs_evm_usb_defconfig b/configs/am57xx_hs_evm_usb_defconfig
index c21a8755c128..ea5215e8cf3a 100644
--- a/configs/am57xx_hs_evm_usb_defconfig
+++ b/configs/am57xx_hs_evm_usb_defconfig
@@ -6,6 +6,7 @@  CONFIG_TI_COMMON_CMD_OPTIONS=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_OMAP54XX=y
 CONFIG_TI_SECURE_EMIF_REGION_START=0xbdb00000
 CONFIG_TI_SECURE_EMIF_TOTAL_REGION_SIZE=0x02000000
diff --git a/configs/am65x_evm_a53_defconfig b/configs/am65x_evm_a53_defconfig
index d74a2d09309b..cc4da7dd15d4 100644
--- a/configs/am65x_evm_a53_defconfig
+++ b/configs/am65x_evm_a53_defconfig
@@ -9,6 +9,7 @@  CONFIG_ENV_SIZE=0x20000
 CONFIG_ENV_OFFSET=0x680000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
diff --git a/configs/am65x_evm_r5_defconfig b/configs/am65x_evm_r5_defconfig
index 4fc199e80911..1e7a7d1e6eec 100644
--- a/configs/am65x_evm_r5_defconfig
+++ b/configs/am65x_evm_r5_defconfig
@@ -10,6 +10,7 @@  CONFIG_TARGET_AM654_R5_EVM=y
 CONFIG_ENV_SIZE=0x20000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
diff --git a/configs/am65x_hs_evm_a53_defconfig b/configs/am65x_hs_evm_a53_defconfig
index 117953817d82..5b504ad6deb6 100644
--- a/configs/am65x_hs_evm_a53_defconfig
+++ b/configs/am65x_hs_evm_a53_defconfig
@@ -10,6 +10,7 @@  CONFIG_ENV_SIZE=0x20000
 CONFIG_ENV_OFFSET=0x680000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
diff --git a/configs/am65x_hs_evm_r5_defconfig b/configs/am65x_hs_evm_r5_defconfig
index b2d638672e33..9977e97f2b05 100644
--- a/configs/am65x_hs_evm_r5_defconfig
+++ b/configs/am65x_hs_evm_r5_defconfig
@@ -11,6 +11,7 @@  CONFIG_TARGET_AM654_R5_EVM=y
 CONFIG_ENV_SIZE=0x20000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
diff --git a/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig b/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
index 227a5416c63f..7592033dbb18 100644
--- a/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
+++ b/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARCH_ZYNQMP=y
 CONFIG_SYS_TEXT_BASE=0x8000000
 CONFIG_SYS_MALLOC_F_LEN=0x8000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL=y
 CONFIG_DEBUG_UART_BASE=0xff000000
 CONFIG_DEBUG_UART_CLOCK=100000000
diff --git a/configs/axm_defconfig b/configs/axm_defconfig
index 1615d8af0eba..6a3336c256b6 100644
--- a/configs/axm_defconfig
+++ b/configs/axm_defconfig
@@ -13,6 +13,7 @@  CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_ENV_OFFSET=0x100000
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_SYS_MALLOC_F_LEN=0x1000
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_SPL=y
diff --git a/configs/brppt1_spi_defconfig b/configs/brppt1_spi_defconfig
index 964b22b10093..aea67c25dc20 100644
--- a/configs/brppt1_spi_defconfig
+++ b/configs/brppt1_spi_defconfig
@@ -9,6 +9,7 @@  CONFIG_ENV_OFFSET=0x20000
 CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_AM33XX=y
 CONFIG_TARGET_BRPPT1=y
 CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/brsmarc1_defconfig b/configs/brsmarc1_defconfig
index 8333038c61b7..aac8d17876bd 100644
--- a/configs/brsmarc1_defconfig
+++ b/configs/brsmarc1_defconfig
@@ -9,6 +9,7 @@  CONFIG_ENV_OFFSET=0x20000
 CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_AM33XX=y
 CONFIG_SYS_MPUCLK=600
 CONFIG_TARGET_BRSMARC1=y
diff --git a/configs/chromebit_mickey_defconfig b/configs/chromebit_mickey_defconfig
index 23efafb0d2d5..22719fc5355c 100644
--- a/configs/chromebit_mickey_defconfig
+++ b/configs/chromebit_mickey_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00100000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3288=y
 # CONFIG_SPL_MMC_SUPPORT is not set
 CONFIG_TARGET_CHROMEBIT_MICKEY=y
diff --git a/configs/chromebook_bob_defconfig b/configs/chromebook_bob_defconfig
index 4f606e7ec9fc..b8093ca8fcce 100644
--- a/configs/chromebook_bob_defconfig
+++ b/configs/chromebook_bob_defconfig
@@ -4,6 +4,7 @@  CONFIG_SYS_TEXT_BASE=0x00200000
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_ENV_OFFSET=0x3F8000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3399=y
 CONFIG_ROCKCHIP_BOOT_MODE_REG=0
 CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x4000
diff --git a/configs/chromebook_coral_defconfig b/configs/chromebook_coral_defconfig
index d7cab2334baa..6cc3a8469feb 100644
--- a/configs/chromebook_coral_defconfig
+++ b/configs/chromebook_coral_defconfig
@@ -1,6 +1,7 @@ 
 CONFIG_X86=y
 CONFIG_SYS_TEXT_BASE=0x1110000
 CONFIG_SYS_MALLOC_F_LEN=0x3d00
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_SYS_MALLOC_F_LEN=0xf000
 CONFIG_NR_DRAM_BANKS=8
 CONFIG_BOOTSTAGE_STASH_ADDR=0xfef00000
diff --git a/configs/chromebook_jerry_defconfig b/configs/chromebook_jerry_defconfig
index 443e3cdace8d..6523921aee13 100644
--- a/configs/chromebook_jerry_defconfig
+++ b/configs/chromebook_jerry_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00100000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3288=y
 # CONFIG_SPL_MMC_SUPPORT is not set
 CONFIG_SPL_STACK_R_ADDR=0x80000
diff --git a/configs/chromebook_link64_defconfig b/configs/chromebook_link64_defconfig
index 75f3d2c4116d..a80225a11f3a 100644
--- a/configs/chromebook_link64_defconfig
+++ b/configs/chromebook_link64_defconfig
@@ -3,6 +3,7 @@  CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_ENV_SIZE=0x1000
 CONFIG_ENV_OFFSET=0x3F8000
 CONFIG_ENV_SECT_SIZE=0x1000
+CONFIG_SPL_DM_SPI=y
 CONFIG_NR_DRAM_BANKS=8
 CONFIG_DEBUG_UART_BOARD_INIT=y
 CONFIG_DEBUG_UART_BASE=0x3f8
diff --git a/configs/chromebook_minnie_defconfig b/configs/chromebook_minnie_defconfig
index 99ac0e067438..f33ab19998ff 100644
--- a/configs/chromebook_minnie_defconfig
+++ b/configs/chromebook_minnie_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00100000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3288=y
 # CONFIG_SPL_MMC_SUPPORT is not set
 CONFIG_TARGET_CHROMEBOOK_MINNIE=y
diff --git a/configs/chromebook_samus_tpl_defconfig b/configs/chromebook_samus_tpl_defconfig
index 82172ba810ca..95c9b6e6af53 100644
--- a/configs/chromebook_samus_tpl_defconfig
+++ b/configs/chromebook_samus_tpl_defconfig
@@ -4,6 +4,7 @@  CONFIG_SYS_MALLOC_F_LEN=0x1a00
 CONFIG_ENV_SIZE=0x1000
 CONFIG_ENV_OFFSET=0x3F8000
 CONFIG_ENV_SECT_SIZE=0x1000
+CONFIG_SPL_DM_SPI=y
 CONFIG_NR_DRAM_BANKS=8
 CONFIG_DEBUG_UART_BOARD_INIT=y
 CONFIG_DEBUG_UART_BASE=0x3f8
diff --git a/configs/chromebook_speedy_defconfig b/configs/chromebook_speedy_defconfig
index 5a5152541bf3..f930ba6179f3 100644
--- a/configs/chromebook_speedy_defconfig
+++ b/configs/chromebook_speedy_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00100000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3288=y
 # CONFIG_SPL_MMC_SUPPORT is not set
 CONFIG_TARGET_CHROMEBOOK_SPEEDY=y
diff --git a/configs/cm_t43_defconfig b/configs/cm_t43_defconfig
index 94b051ad4f95..4232aaca002e 100644
--- a/configs/cm_t43_defconfig
+++ b/configs/cm_t43_defconfig
@@ -8,6 +8,7 @@  CONFIG_ENV_OFFSET=0xC0000
 CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_AM43XX=y
 CONFIG_TARGET_CM_T43=y
 CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/da850evm_defconfig b/configs/da850evm_defconfig
index 1a6a97ed161a..12768065f3ab 100644
--- a/configs/da850evm_defconfig
+++ b/configs/da850evm_defconfig
@@ -12,6 +12,7 @@  CONFIG_ENV_OFFSET=0x80000
 CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_SPL=y
diff --git a/configs/da850evm_nand_defconfig b/configs/da850evm_nand_defconfig
index e805f2c10eda..13026fd1ea2c 100644
--- a/configs/da850evm_nand_defconfig
+++ b/configs/da850evm_nand_defconfig
@@ -11,6 +11,7 @@  CONFIG_ENV_SIZE=0x20000
 CONFIG_ENV_OFFSET=0x0
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x8000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL=y
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig
index e4547d9dcc8c..afbc4383a6b0 100644
--- a/configs/dra7xx_evm_defconfig
+++ b/configs/dra7xx_evm_defconfig
@@ -4,6 +4,7 @@  CONFIG_TI_COMMON_CMD_OPTIONS=y
 CONFIG_SYS_MALLOC_F_LEN=0x18000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_OMAP54XX=y
 CONFIG_TARGET_DRA7XX_EVM=y
 CONFIG_NR_DRAM_BANKS=2
diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig
index c08bcce90381..d813040f93cf 100644
--- a/configs/dra7xx_hs_evm_defconfig
+++ b/configs/dra7xx_hs_evm_defconfig
@@ -5,6 +5,7 @@  CONFIG_TI_COMMON_CMD_OPTIONS=y
 CONFIG_SYS_MALLOC_F_LEN=0x18000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_OMAP54XX=y
 CONFIG_TI_SECURE_EMIF_REGION_START=0xbdb00000
 CONFIG_TI_SECURE_EMIF_TOTAL_REGION_SIZE=0x02000000
diff --git a/configs/dra7xx_hs_evm_usb_defconfig b/configs/dra7xx_hs_evm_usb_defconfig
index 879c2b650be3..9d837e54460e 100644
--- a/configs/dra7xx_hs_evm_usb_defconfig
+++ b/configs/dra7xx_hs_evm_usb_defconfig
@@ -6,6 +6,7 @@  CONFIG_TI_COMMON_CMD_OPTIONS=y
 CONFIG_SYS_MALLOC_F_LEN=0x18000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_OMAP54XX=y
 CONFIG_TI_SECURE_EMIF_REGION_START=0xbdb00000
 CONFIG_TI_SECURE_EMIF_TOTAL_REGION_SIZE=0x02000000
diff --git a/configs/evb-px5_defconfig b/configs/evb-px5_defconfig
index d1323738e02b..039af2ddf076 100644
--- a/configs/evb-px5_defconfig
+++ b/configs/evb-px5_defconfig
@@ -2,6 +2,7 @@  CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00200000
 CONFIG_ENV_OFFSET=0x3F8000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3368=y
 CONFIG_TPL_LDSCRIPT="arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
 CONFIG_TPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/j721e_evm_a72_defconfig b/configs/j721e_evm_a72_defconfig
index 4deb4e219fe7..2d0b40719ddc 100644
--- a/configs/j721e_evm_a72_defconfig
+++ b/configs/j721e_evm_a72_defconfig
@@ -10,6 +10,7 @@  CONFIG_ENV_SIZE=0x20000
 CONFIG_ENV_OFFSET=0x680000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
diff --git a/configs/j721e_evm_r5_defconfig b/configs/j721e_evm_r5_defconfig
index ee9217aee238..c597f8309238 100644
--- a/configs/j721e_evm_r5_defconfig
+++ b/configs/j721e_evm_r5_defconfig
@@ -10,6 +10,7 @@  CONFIG_TARGET_J721E_R5_EVM=y
 CONFIG_ENV_SIZE=0x20000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
diff --git a/configs/j721e_hs_evm_a72_defconfig b/configs/j721e_hs_evm_a72_defconfig
index ae540a26a401..bd933eb8d795 100644
--- a/configs/j721e_hs_evm_a72_defconfig
+++ b/configs/j721e_hs_evm_a72_defconfig
@@ -9,6 +9,7 @@  CONFIG_TARGET_J721E_A72_EVM=y
 CONFIG_ENV_SIZE=0x20000
 CONFIG_ENV_OFFSET=0x680000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
diff --git a/configs/j721e_hs_evm_r5_defconfig b/configs/j721e_hs_evm_r5_defconfig
index 51d5a3bb98fa..7bdf3401a1a5 100644
--- a/configs/j721e_hs_evm_r5_defconfig
+++ b/configs/j721e_hs_evm_r5_defconfig
@@ -11,6 +11,7 @@  CONFIG_ENV_SIZE=0x20000
 CONFIG_ENV_OFFSET=0x680000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
diff --git a/configs/lion-rk3368_defconfig b/configs/lion-rk3368_defconfig
index b6504b71238c..45ff1714791b 100644
--- a/configs/lion-rk3368_defconfig
+++ b/configs/lion-rk3368_defconfig
@@ -2,6 +2,7 @@  CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00200000
 CONFIG_ENV_OFFSET=0x3F8000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3368=y
 CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x0
 CONFIG_TPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index 0c129b9aebb4..754cf5e5b401 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -1,6 +1,7 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00200000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3399=y
 CONFIG_TARGET_PINEBOOK_PRO_RK3399=y
 CONFIG_NR_DRAM_BANKS=1
diff --git a/configs/puma-rk3399_defconfig b/configs/puma-rk3399_defconfig
index 6b7d2ee6b8af..8a0ae32c655a 100644
--- a/configs/puma-rk3399_defconfig
+++ b/configs/puma-rk3399_defconfig
@@ -4,6 +4,7 @@  CONFIG_SYS_TEXT_BASE=0x00200000
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_ENV_OFFSET=0x3F8000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3399=y
 CONFIG_ROCKCHIP_BOOT_MODE_REG=0x0
 CONFIG_TARGET_PUMA_RK3399=y
diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig
index 90d287b7b063..a5be09b2ba1c 100644
--- a/configs/qemu-x86_64_defconfig
+++ b/configs/qemu-x86_64_defconfig
@@ -3,6 +3,7 @@  CONFIG_SYS_TEXT_BASE=0x1110000
 CONFIG_SYS_MALLOC_F_LEN=0x1000
 CONFIG_ENV_SIZE=0x40000
 CONFIG_MAX_CPUS=2
+CONFIG_SPL_DM_SPI=y
 CONFIG_NR_DRAM_BANKS=8
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
diff --git a/configs/roc-pc-mezzanine-rk3399_defconfig b/configs/roc-pc-mezzanine-rk3399_defconfig
index fd1b85c1e4ba..b3c8f19e43d0 100644
--- a/configs/roc-pc-mezzanine-rk3399_defconfig
+++ b/configs/roc-pc-mezzanine-rk3399_defconfig
@@ -4,6 +4,7 @@  CONFIG_SYS_TEXT_BASE=0x00200000
 CONFIG_ENV_SIZE=0x6000
 CONFIG_ENV_OFFSET=0x460000
 CONFIG_ENV_SECT_SIZE=0x1000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3399=y
 CONFIG_TARGET_ROC_PC_RK3399=y
 CONFIG_NR_DRAM_BANKS=1
diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig
index 80e700148181..edb327b46b8f 100644
--- a/configs/roc-pc-rk3399_defconfig
+++ b/configs/roc-pc-rk3399_defconfig
@@ -4,6 +4,7 @@  CONFIG_SYS_TEXT_BASE=0x00200000
 CONFIG_ENV_SIZE=0x6000
 CONFIG_ENV_OFFSET=0x460000
 CONFIG_ENV_SECT_SIZE=0x1000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3399=y
 CONFIG_TARGET_ROC_PC_RK3399=y
 CONFIG_NR_DRAM_BANKS=1
diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
index 807747485a36..2bbded008361 100644
--- a/configs/rockpro64-rk3399_defconfig
+++ b/configs/rockpro64-rk3399_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00200000
 CONFIG_ENV_SIZE=0x8000
 CONFIG_ENV_OFFSET=0x3F8000
+CONFIG_SPL_DM_SPI=y
 CONFIG_ROCKCHIP_RK3399=y
 CONFIG_TARGET_ROCKPRO64_RK3399=y
 CONFIG_NR_DRAM_BANKS=1
diff --git a/configs/sama5d27_wlsom1_ek_qspiflash_defconfig b/configs/sama5d27_wlsom1_ek_qspiflash_defconfig
index eea86f935708..58b906ad5923 100644
--- a/configs/sama5d27_wlsom1_ek_qspiflash_defconfig
+++ b/configs/sama5d27_wlsom1_ek_qspiflash_defconfig
@@ -9,6 +9,7 @@  CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_ENV_SECT_SIZE=0x1000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_SPL=y
diff --git a/configs/sama5d2_xplained_spiflash_defconfig b/configs/sama5d2_xplained_spiflash_defconfig
index 9f90aa1328c9..e5227b11f50b 100644
--- a/configs/sama5d2_xplained_spiflash_defconfig
+++ b/configs/sama5d2_xplained_spiflash_defconfig
@@ -12,6 +12,7 @@  CONFIG_ENV_OFFSET=0x6000
 CONFIG_ENV_SECT_SIZE=0x1000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=1
diff --git a/configs/sama5d3xek_spiflash_defconfig b/configs/sama5d3xek_spiflash_defconfig
index 4ff41161183b..b3bc4b4fe593 100644
--- a/configs/sama5d3xek_spiflash_defconfig
+++ b/configs/sama5d3xek_spiflash_defconfig
@@ -12,6 +12,7 @@  CONFIG_ENV_OFFSET=0x6000
 CONFIG_ENV_SECT_SIZE=0x1000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=1
diff --git a/configs/sama5d4_xplained_spiflash_defconfig b/configs/sama5d4_xplained_spiflash_defconfig
index 6eaebea82ddf..2799b69a5d2f 100644
--- a/configs/sama5d4_xplained_spiflash_defconfig
+++ b/configs/sama5d4_xplained_spiflash_defconfig
@@ -12,6 +12,7 @@  CONFIG_ENV_OFFSET=0x6000
 CONFIG_ENV_SECT_SIZE=0x1000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=1
diff --git a/configs/sama5d4ek_spiflash_defconfig b/configs/sama5d4ek_spiflash_defconfig
index f225e9ea390b..4b7e825ce022 100644
--- a/configs/sama5d4ek_spiflash_defconfig
+++ b/configs/sama5d4ek_spiflash_defconfig
@@ -12,6 +12,7 @@  CONFIG_ENV_OFFSET=0x6000
 CONFIG_ENV_SECT_SIZE=0x1000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=1
diff --git a/configs/sifive_fu540_defconfig b/configs/sifive_fu540_defconfig
index 8d412f8d6ae2..904f6cd03911 100644
--- a/configs/sifive_fu540_defconfig
+++ b/configs/sifive_fu540_defconfig
@@ -2,6 +2,7 @@  CONFIG_RISCV=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SYS_MALLOC_F_LEN=0x3000
 CONFIG_ENV_SIZE=0x20000
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_SPL=y
diff --git a/configs/socfpga_agilex_defconfig b/configs/socfpga_agilex_defconfig
index 60397a8ccea6..755541dc2266 100644
--- a/configs/socfpga_agilex_defconfig
+++ b/configs/socfpga_agilex_defconfig
@@ -6,6 +6,7 @@  CONFIG_ENV_SIZE=0x1000
 CONFIG_ENV_OFFSET=0x200
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x3c00000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_NR_DRAM_BANKS=2
 CONFIG_TARGET_SOCFPGA_AGILEX_SOCDK=y
 CONFIG_IDENT_STRING="socfpga_agilex"
diff --git a/configs/socfpga_arria10_defconfig b/configs/socfpga_arria10_defconfig
index 35ae18fac003..5d1b7657723d 100644
--- a/configs/socfpga_arria10_defconfig
+++ b/configs/socfpga_arria10_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARCH_SOCFPGA=y
 CONFIG_ENV_SIZE=0x2000
 CONFIG_ENV_OFFSET=0x4400
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_TARGET_SOCFPGA_ARRIA10_SOCDK=y
 CONFIG_IDENT_STRING="socfpga_arria10"
diff --git a/configs/socfpga_arria5_defconfig b/configs/socfpga_arria5_defconfig
index ce230110e453..2ff9e8bc81cc 100644
--- a/configs/socfpga_arria5_defconfig
+++ b/configs/socfpga_arria5_defconfig
@@ -4,6 +4,7 @@  CONFIG_ENV_SIZE=0x2000
 CONFIG_ENV_OFFSET=0x4400
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TARGET_SOCFPGA_ARRIA5_SOCDK=y
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
 CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/socfpga_cyclone5_defconfig b/configs/socfpga_cyclone5_defconfig
index 1633ca1deb57..0ef320ce6ee0 100644
--- a/configs/socfpga_cyclone5_defconfig
+++ b/configs/socfpga_cyclone5_defconfig
@@ -4,6 +4,7 @@  CONFIG_ENV_SIZE=0x2000
 CONFIG_ENV_OFFSET=0x4400
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TARGET_SOCFPGA_CYCLONE5_SOCDK=y
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
 CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/socfpga_dbm_soc1_defconfig b/configs/socfpga_dbm_soc1_defconfig
index 3e1a06d94248..960d80dbca91 100644
--- a/configs/socfpga_dbm_soc1_defconfig
+++ b/configs/socfpga_dbm_soc1_defconfig
@@ -4,6 +4,7 @@  CONFIG_ENV_SIZE=0x2000
 CONFIG_ENV_OFFSET=0x4400
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TARGET_SOCFPGA_DEVBOARDS_DBM_SOC1=y
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
 CONFIG_FIT=y
diff --git a/configs/socfpga_de0_nano_soc_defconfig b/configs/socfpga_de0_nano_soc_defconfig
index dafb5e83d09a..3fc0b04269be 100644
--- a/configs/socfpga_de0_nano_soc_defconfig
+++ b/configs/socfpga_de0_nano_soc_defconfig
@@ -4,6 +4,7 @@  CONFIG_ENV_SIZE=0x2000
 CONFIG_ENV_OFFSET=0x4400
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TARGET_SOCFPGA_TERASIC_DE0_NANO=y
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
 CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/socfpga_de10_nano_defconfig b/configs/socfpga_de10_nano_defconfig
index 64ee602b742f..18d914e15b13 100644
--- a/configs/socfpga_de10_nano_defconfig
+++ b/configs/socfpga_de10_nano_defconfig
@@ -4,6 +4,7 @@  CONFIG_ENV_SIZE=0x2000
 CONFIG_ENV_OFFSET=0x4400
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TARGET_SOCFPGA_TERASIC_DE10_NANO=y
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
 CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/socfpga_de1_soc_defconfig b/configs/socfpga_de1_soc_defconfig
index 095fc84c4b1e..8301bc3987f3 100644
--- a/configs/socfpga_de1_soc_defconfig
+++ b/configs/socfpga_de1_soc_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARCH_SOCFPGA=y
 CONFIG_ENV_SIZE=0x2000
 CONFIG_ENV_OFFSET=0x4400
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TARGET_SOCFPGA_TERASIC_DE1_SOC=y
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
 CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/socfpga_is1_defconfig b/configs/socfpga_is1_defconfig
index a60df9b5d985..1128826dbc4d 100644
--- a/configs/socfpga_is1_defconfig
+++ b/configs/socfpga_is1_defconfig
@@ -5,6 +5,7 @@  CONFIG_ENV_OFFSET=0x100000
 CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SYS_BOOTCOUNT_ADDR=0xfffffff8
 CONFIG_TARGET_SOCFPGA_IS1=y
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
diff --git a/configs/socfpga_mcvevk_defconfig b/configs/socfpga_mcvevk_defconfig
index 157efea52209..979d76fda87b 100644
--- a/configs/socfpga_mcvevk_defconfig
+++ b/configs/socfpga_mcvevk_defconfig
@@ -4,6 +4,7 @@  CONFIG_ENV_SIZE=0x2000
 CONFIG_ENV_OFFSET=0x4400
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TARGET_SOCFPGA_ARIES_MCVEVK=y
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
 CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/socfpga_sockit_defconfig b/configs/socfpga_sockit_defconfig
index 247f3abda1c8..d814fd7baa76 100644
--- a/configs/socfpga_sockit_defconfig
+++ b/configs/socfpga_sockit_defconfig
@@ -4,6 +4,7 @@  CONFIG_ENV_SIZE=0x2000
 CONFIG_ENV_OFFSET=0x4400
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TARGET_SOCFPGA_TERASIC_SOCKIT=y
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
 CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/socfpga_socrates_defconfig b/configs/socfpga_socrates_defconfig
index a9ec97f2f4bb..f8dfec613f25 100644
--- a/configs/socfpga_socrates_defconfig
+++ b/configs/socfpga_socrates_defconfig
@@ -4,6 +4,7 @@  CONFIG_ENV_SIZE=0x2000
 CONFIG_ENV_OFFSET=0x4400
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TARGET_SOCFPGA_EBV_SOCRATES=y
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
 CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/socfpga_sr1500_defconfig b/configs/socfpga_sr1500_defconfig
index c95a7fc5e073..328100f70eba 100644
--- a/configs/socfpga_sr1500_defconfig
+++ b/configs/socfpga_sr1500_defconfig
@@ -5,6 +5,7 @@  CONFIG_ENV_OFFSET=0xE0000
 CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SYS_BOOTCOUNT_ADDR=0xfffffff8
 CONFIG_TARGET_SOCFPGA_SR1500=y
 CONFIG_ENV_OFFSET_REDUND=0xF0000
diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig
index 16ae0feb6807..96112062340a 100644
--- a/configs/socfpga_stratix10_defconfig
+++ b/configs/socfpga_stratix10_defconfig
@@ -6,6 +6,7 @@  CONFIG_ENV_SIZE=0x1000
 CONFIG_ENV_OFFSET=0x200
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x3C00000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_NR_DRAM_BANKS=2
 CONFIG_TARGET_SOCFPGA_STRATIX10_SOCDK=y
 CONFIG_IDENT_STRING="socfpga_stratix10"
diff --git a/configs/socfpga_vining_fpga_defconfig b/configs/socfpga_vining_fpga_defconfig
index 61b569eb3cf6..37190ba04580 100644
--- a/configs/socfpga_vining_fpga_defconfig
+++ b/configs/socfpga_vining_fpga_defconfig
@@ -5,6 +5,7 @@  CONFIG_ENV_OFFSET=0x100000
 CONFIG_ENV_SECT_SIZE=0x10000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_TARGET_SOCFPGA_SOFTING_VINING_FPGA=y
 CONFIG_ENV_OFFSET_REDUND=0x110000
 CONFIG_SPL_TEXT_BASE=0xFFFF0000
diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig
index c7dd2926c944..668cd434f1e1 100644
--- a/configs/stm32mp15_basic_defconfig
+++ b/configs/stm32mp15_basic_defconfig
@@ -4,6 +4,7 @@  CONFIG_SYS_MALLOC_F_LEN=0x3000
 CONFIG_ENV_OFFSET=0x280000
 CONFIG_ENV_SECT_SIZE=0x40000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL=y
 CONFIG_TARGET_ST_STM32MP15x=y
diff --git a/configs/stm32mp15_dhcom_basic_defconfig b/configs/stm32mp15_dhcom_basic_defconfig
index 610657267351..1ac07c5865b8 100644
--- a/configs/stm32mp15_dhcom_basic_defconfig
+++ b/configs/stm32mp15_dhcom_basic_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARCH_STM32MP=y
 CONFIG_SYS_MALLOC_F_LEN=0x3000
 CONFIG_ENV_SIZE=0x4000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL=y
 CONFIG_TARGET_DH_STM32MP1_PDK2=y
diff --git a/configs/stm32mp15_dhcor_basic_defconfig b/configs/stm32mp15_dhcor_basic_defconfig
index 249646c4494b..225d04497948 100644
--- a/configs/stm32mp15_dhcor_basic_defconfig
+++ b/configs/stm32mp15_dhcor_basic_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARCH_STM32MP=y
 CONFIG_SYS_MALLOC_F_LEN=0x3000
 CONFIG_ENV_SIZE=0x4000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL=y
 CONFIG_TARGET_DH_STM32MP1_PDK2=y
diff --git a/configs/taurus_defconfig b/configs/taurus_defconfig
index 16a804b879f0..953f7784be42 100644
--- a/configs/taurus_defconfig
+++ b/configs/taurus_defconfig
@@ -15,6 +15,7 @@  CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_ENV_OFFSET=0x100000
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_SYS_MALLOC_F_LEN=0x1000
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_SPL=y
diff --git a/configs/topic_miami_defconfig b/configs/topic_miami_defconfig
index 721ed3f8a6a0..f816788fe946 100644
--- a/configs/topic_miami_defconfig
+++ b/configs/topic_miami_defconfig
@@ -7,6 +7,7 @@  CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_ENV_SIZE=0x8000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
 CONFIG_DEBUG_UART_BASE=0xe0000000
diff --git a/configs/topic_miamilite_defconfig b/configs/topic_miamilite_defconfig
index 56981bb73654..8c61ae694419 100644
--- a/configs/topic_miamilite_defconfig
+++ b/configs/topic_miamilite_defconfig
@@ -7,6 +7,7 @@  CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_ENV_SIZE=0x8000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
 CONFIG_DEBUG_UART_BASE=0xe0000000
diff --git a/configs/topic_miamiplus_defconfig b/configs/topic_miamiplus_defconfig
index 129c8f657dfd..c714374771e9 100644
--- a/configs/topic_miamiplus_defconfig
+++ b/configs/topic_miamiplus_defconfig
@@ -7,6 +7,7 @@  CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_ENV_SIZE=0x8000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
 CONFIG_DEBUG_UART_BASE=0xe0000000
diff --git a/configs/xilinx_zynq_virt_defconfig b/configs/xilinx_zynq_virt_defconfig
index 5da7440af287..4dbf10119dc9 100644
--- a/configs/xilinx_zynq_virt_defconfig
+++ b/configs/xilinx_zynq_virt_defconfig
@@ -4,6 +4,7 @@  CONFIG_ARCH_ZYNQ=y
 CONFIG_SYS_TEXT_BASE=0x4000000
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x100000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
 CONFIG_DISTRO_DEFAULTS=y
diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig
index fe60d10c991d..e0c6e7ab24f9 100644
--- a/configs/xilinx_zynqmp_virt_defconfig
+++ b/configs/xilinx_zynqmp_virt_defconfig
@@ -4,6 +4,7 @@  CONFIG_ARCH_ZYNQMP=y
 CONFIG_SYS_TEXT_BASE=0x8000000
 CONFIG_SYS_MALLOC_F_LEN=0x8000
 CONFIG_DM_GPIO=y
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL=y
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI_SUPPORT=y
diff --git a/configs/zynq_cse_qspi_defconfig b/configs/zynq_cse_qspi_defconfig
index 462dff8942e5..8fbf5ec46619 100644
--- a/configs/zynq_cse_qspi_defconfig
+++ b/configs/zynq_cse_qspi_defconfig
@@ -7,6 +7,7 @@  CONFIG_SYS_TEXT_BASE=0xFFFC0000
 CONFIG_ENV_SIZE=0x190
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x100000
 CONFIG_SYS_MALLOC_LEN=0x1000
+CONFIG_SPL_DM_SPI=y
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
 CONFIG_DEBUG_UART_BASE=0x0