Message ID | 20220111124607.863952-3-andre.przywara@arm.com |
---|---|
State | Accepted |
Commit | 81a46c152a62a496fd1a29114c34069dc6c78c93 |
Delegated to: | Jagannadha Sutradharudu Teki |
Headers | show |
Series | sunxi: Fix U-Boot proper SPI operation | expand |
On Tue, 11 Jan 2022 12:46:02 +0000 Andre Przywara <andre.przywara@arm.com> wrote: Hi Jagan, can you please have a look at this patch? It seems like a nice cleanup to me, but I would like to hear your opinion. Cheers, Andre > Commit 7945caf22c44 ("arm: sunxi: Enable SPI/SPI-FLASH support for A64") > selected CONFIG_SPI by default on all Allwinner A64 boards, even though > only 4 out of the 14 A64 boards have a SPI flash chip. All other SoCs > had to manually select DM_SPI and friends, even though they are a > platform property (the sunxi SPI driver is DM_SPI only). > > Clean this up to allow easy selection of SPI flash support in U-Boot > proper, by selecting DM_SPI and DM_SPI_FLASH *if* CONFIG_SPI is > selected, for *all* Allwinner SoCs. This simplifies the defconfig for > two Libretech boards already. > > Also remove the forced CONFIG_SPI from the A64 Kconfig, instead let the > four boards which allow SPI booting select this explicitly. > > Any board wishing to support SPI flash in U-Boot proper now just defines > CONFIG_SPI and CONFIG_SPI_FLASH_<vendor> in its defconfig, Kconfig takes > care of the rest. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > --- > arch/arm/Kconfig | 2 ++ > arch/arm/mach-sunxi/Kconfig | 3 --- > configs/libretech_all_h3_it_h5_defconfig | 2 -- > configs/libretech_all_h5_cc_h5_defconfig | 2 -- > configs/oceanic_5205_5inmfd_defconfig | 1 + > configs/orangepi_win_defconfig | 1 + > configs/pine64-lts_defconfig | 1 + > configs/sopine_baseboard_defconfig | 1 + > 8 files changed, 6 insertions(+), 7 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 7264d72bde..0f63bfdded 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1055,6 +1055,8 @@ config ARCH_SUNXI > select DM_ETH > select DM_GPIO > select DM_I2C if I2C > + select DM_SPI if SPI > + select DM_SPI_FLASH if SPI > select DM_KEYBOARD > select DM_MMC if MMC > select DM_SCSI if SCSI > diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig > index 2c18cf02d1..56ff1e197c 100644 > --- a/arch/arm/mach-sunxi/Kconfig > +++ b/arch/arm/mach-sunxi/Kconfig > @@ -324,9 +324,6 @@ config MACH_SUN9I > config MACH_SUN50I > bool "sun50i (Allwinner A64)" > select ARM64 > - select SPI > - select DM_SPI if SPI > - select DM_SPI_FLASH > select PHY_SUN4I_USB > select SUN6I_PRCM > select SUNXI_DE2 > diff --git a/configs/libretech_all_h3_it_h5_defconfig b/configs/libretech_all_h3_it_h5_defconfig > index 7f0e0be50b..cb7ffb4d7d 100644 > --- a/configs/libretech_all_h3_it_h5_defconfig > +++ b/configs/libretech_all_h3_it_h5_defconfig > @@ -7,9 +7,7 @@ CONFIG_DRAM_CLK=672 > CONFIG_MMC_SUNXI_SLOT_EXTRA=2 > CONFIG_SPL_SPI_SUNXI=y > # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set > -CONFIG_DM_SPI_FLASH=y > CONFIG_SPI_FLASH_XMC=y > CONFIG_SPI=y > -CONFIG_DM_SPI=y > CONFIG_USB_EHCI_HCD=y > CONFIG_USB_OHCI_HCD=y > diff --git a/configs/libretech_all_h5_cc_h5_defconfig b/configs/libretech_all_h5_cc_h5_defconfig > index 25bfe52b32..c3aa4b1061 100644 > --- a/configs/libretech_all_h5_cc_h5_defconfig > +++ b/configs/libretech_all_h5_cc_h5_defconfig > @@ -7,10 +7,8 @@ CONFIG_DRAM_CLK=672 > CONFIG_MMC_SUNXI_SLOT_EXTRA=2 > CONFIG_SPL_SPI_SUNXI=y > # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set > -CONFIG_DM_SPI_FLASH=y > CONFIG_SPI_FLASH_XMC=y > CONFIG_SUN8I_EMAC=y > CONFIG_SPI=y > -CONFIG_DM_SPI=y > CONFIG_USB_EHCI_HCD=y > CONFIG_USB_OHCI_HCD=y > diff --git a/configs/oceanic_5205_5inmfd_defconfig b/configs/oceanic_5205_5inmfd_defconfig > index 9ba115c97d..7ce63ba665 100644 > --- a/configs/oceanic_5205_5inmfd_defconfig > +++ b/configs/oceanic_5205_5inmfd_defconfig > @@ -11,5 +11,6 @@ CONFIG_MMC0_CD_PIN="" > CONFIG_SPL_SPI_SUNXI=y > # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set > CONFIG_SUN8I_EMAC=y > +CONFIG_SPI=y > CONFIG_USB_EHCI_HCD=y > CONFIG_USB_OHCI_HCD=y > diff --git a/configs/orangepi_win_defconfig b/configs/orangepi_win_defconfig > index 8c2179ba8b..133755291a 100644 > --- a/configs/orangepi_win_defconfig > +++ b/configs/orangepi_win_defconfig > @@ -9,5 +9,6 @@ CONFIG_SPL_SPI_SUNXI=y > # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set > CONFIG_PHY_REALTEK=y > CONFIG_SUN8I_EMAC=y > +CONFIG_SPI=y > CONFIG_USB_EHCI_HCD=y > CONFIG_USB_OHCI_HCD=y > diff --git a/configs/pine64-lts_defconfig b/configs/pine64-lts_defconfig > index 6209e68e2d..75a77acc44 100644 > --- a/configs/pine64-lts_defconfig > +++ b/configs/pine64-lts_defconfig > @@ -11,5 +11,6 @@ CONFIG_MMC_SUNXI_SLOT_EXTRA=2 > CONFIG_SPL_SPI_SUNXI=y > # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set > CONFIG_SUN8I_EMAC=y > +CONFIG_SPI=y > CONFIG_USB_EHCI_HCD=y > CONFIG_USB_OHCI_HCD=y > diff --git a/configs/sopine_baseboard_defconfig b/configs/sopine_baseboard_defconfig > index 0093076dc5..982f7b0b67 100644 > --- a/configs/sopine_baseboard_defconfig > +++ b/configs/sopine_baseboard_defconfig > @@ -13,5 +13,6 @@ CONFIG_SPL_SPI_SUNXI=y > # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set > CONFIG_SPI_FLASH_WINBOND=y > CONFIG_SUN8I_EMAC=y > +CONFIG_SPI=y > CONFIG_USB_EHCI_HCD=y > CONFIG_USB_OHCI_HCD=y
On Tue, Jan 11, 2022 at 6:16 PM Andre Przywara <andre.przywara@arm.com> wrote: > > Commit 7945caf22c44 ("arm: sunxi: Enable SPI/SPI-FLASH support for A64") > selected CONFIG_SPI by default on all Allwinner A64 boards, even though > only 4 out of the 14 A64 boards have a SPI flash chip. All other SoCs > had to manually select DM_SPI and friends, even though they are a > platform property (the sunxi SPI driver is DM_SPI only). > > Clean this up to allow easy selection of SPI flash support in U-Boot > proper, by selecting DM_SPI and DM_SPI_FLASH *if* CONFIG_SPI is > selected, for *all* Allwinner SoCs. This simplifies the defconfig for > two Libretech boards already. > > Also remove the forced CONFIG_SPI from the A64 Kconfig, instead let the > four boards which allow SPI booting select this explicitly. > > Any board wishing to support SPI flash in U-Boot proper now just defines > CONFIG_SPI and CONFIG_SPI_FLASH_<vendor> in its defconfig, Kconfig takes > care of the rest. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com>
On Thu, Feb 24, 2022 at 12:56 PM Jagan Teki <jagan@amarulasolutions.com> wrote: > > On Tue, Jan 11, 2022 at 6:16 PM Andre Przywara <andre.przywara@arm.com> wrote: > > > > Commit 7945caf22c44 ("arm: sunxi: Enable SPI/SPI-FLASH support for A64") > > selected CONFIG_SPI by default on all Allwinner A64 boards, even though > > only 4 out of the 14 A64 boards have a SPI flash chip. All other SoCs > > had to manually select DM_SPI and friends, even though they are a > > platform property (the sunxi SPI driver is DM_SPI only). > > > > Clean this up to allow easy selection of SPI flash support in U-Boot > > proper, by selecting DM_SPI and DM_SPI_FLASH *if* CONFIG_SPI is > > selected, for *all* Allwinner SoCs. This simplifies the defconfig for > > two Libretech boards already. > > > > Also remove the forced CONFIG_SPI from the A64 Kconfig, instead let the > > four boards which allow SPI booting select this explicitly. > > > > Any board wishing to support SPI flash in U-Boot proper now just defines > > CONFIG_SPI and CONFIG_SPI_FLASH_<vendor> in its defconfig, Kconfig takes > > care of the rest. > > > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 7264d72bde..0f63bfdded 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1055,6 +1055,8 @@ config ARCH_SUNXI select DM_ETH select DM_GPIO select DM_I2C if I2C + select DM_SPI if SPI + select DM_SPI_FLASH if SPI select DM_KEYBOARD select DM_MMC if MMC select DM_SCSI if SCSI diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig index 2c18cf02d1..56ff1e197c 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig @@ -324,9 +324,6 @@ config MACH_SUN9I config MACH_SUN50I bool "sun50i (Allwinner A64)" select ARM64 - select SPI - select DM_SPI if SPI - select DM_SPI_FLASH select PHY_SUN4I_USB select SUN6I_PRCM select SUNXI_DE2 diff --git a/configs/libretech_all_h3_it_h5_defconfig b/configs/libretech_all_h3_it_h5_defconfig index 7f0e0be50b..cb7ffb4d7d 100644 --- a/configs/libretech_all_h3_it_h5_defconfig +++ b/configs/libretech_all_h3_it_h5_defconfig @@ -7,9 +7,7 @@ CONFIG_DRAM_CLK=672 CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_SPL_SPI_SUNXI=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_XMC=y CONFIG_SPI=y -CONFIG_DM_SPI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y diff --git a/configs/libretech_all_h5_cc_h5_defconfig b/configs/libretech_all_h5_cc_h5_defconfig index 25bfe52b32..c3aa4b1061 100644 --- a/configs/libretech_all_h5_cc_h5_defconfig +++ b/configs/libretech_all_h5_cc_h5_defconfig @@ -7,10 +7,8 @@ CONFIG_DRAM_CLK=672 CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_SPL_SPI_SUNXI=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH_XMC=y CONFIG_SUN8I_EMAC=y CONFIG_SPI=y -CONFIG_DM_SPI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y diff --git a/configs/oceanic_5205_5inmfd_defconfig b/configs/oceanic_5205_5inmfd_defconfig index 9ba115c97d..7ce63ba665 100644 --- a/configs/oceanic_5205_5inmfd_defconfig +++ b/configs/oceanic_5205_5inmfd_defconfig @@ -11,5 +11,6 @@ CONFIG_MMC0_CD_PIN="" CONFIG_SPL_SPI_SUNXI=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_SUN8I_EMAC=y +CONFIG_SPI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y diff --git a/configs/orangepi_win_defconfig b/configs/orangepi_win_defconfig index 8c2179ba8b..133755291a 100644 --- a/configs/orangepi_win_defconfig +++ b/configs/orangepi_win_defconfig @@ -9,5 +9,6 @@ CONFIG_SPL_SPI_SUNXI=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_PHY_REALTEK=y CONFIG_SUN8I_EMAC=y +CONFIG_SPI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y diff --git a/configs/pine64-lts_defconfig b/configs/pine64-lts_defconfig index 6209e68e2d..75a77acc44 100644 --- a/configs/pine64-lts_defconfig +++ b/configs/pine64-lts_defconfig @@ -11,5 +11,6 @@ CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_SPL_SPI_SUNXI=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_SUN8I_EMAC=y +CONFIG_SPI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y diff --git a/configs/sopine_baseboard_defconfig b/configs/sopine_baseboard_defconfig index 0093076dc5..982f7b0b67 100644 --- a/configs/sopine_baseboard_defconfig +++ b/configs/sopine_baseboard_defconfig @@ -13,5 +13,6 @@ CONFIG_SPL_SPI_SUNXI=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_SPI_FLASH_WINBOND=y CONFIG_SUN8I_EMAC=y +CONFIG_SPI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y
Commit 7945caf22c44 ("arm: sunxi: Enable SPI/SPI-FLASH support for A64") selected CONFIG_SPI by default on all Allwinner A64 boards, even though only 4 out of the 14 A64 boards have a SPI flash chip. All other SoCs had to manually select DM_SPI and friends, even though they are a platform property (the sunxi SPI driver is DM_SPI only). Clean this up to allow easy selection of SPI flash support in U-Boot proper, by selecting DM_SPI and DM_SPI_FLASH *if* CONFIG_SPI is selected, for *all* Allwinner SoCs. This simplifies the defconfig for two Libretech boards already. Also remove the forced CONFIG_SPI from the A64 Kconfig, instead let the four boards which allow SPI booting select this explicitly. Any board wishing to support SPI flash in U-Boot proper now just defines CONFIG_SPI and CONFIG_SPI_FLASH_<vendor> in its defconfig, Kconfig takes care of the rest. Signed-off-by: Andre Przywara <andre.przywara@arm.com> --- arch/arm/Kconfig | 2 ++ arch/arm/mach-sunxi/Kconfig | 3 --- configs/libretech_all_h3_it_h5_defconfig | 2 -- configs/libretech_all_h5_cc_h5_defconfig | 2 -- configs/oceanic_5205_5inmfd_defconfig | 1 + configs/orangepi_win_defconfig | 1 + configs/pine64-lts_defconfig | 1 + configs/sopine_baseboard_defconfig | 1 + 8 files changed, 6 insertions(+), 7 deletions(-)