[U-Boot] [RFC 01/17] common: Break USB_STORAGE dependency between SPL and u-boot proper

Abel Vesa abel.vesa at nxp.com
Wed Jan 16 14:03:20 UTC 2019


Some boards might need USB_STORAGE enabled in u-boot proper but not in
SPL. Make a separate config for SPL and keep the same depends on
conditions but for SPL. Also, all the boards that have DISTRO_DEFAULTS
use by default SPL_USB_STORAGE.

Signed-off-by: Abel Vesa <abel.vesa at nxp.com>
---
 arch/x86/cpu/coreboot/Kconfig     | 1 +
 board/efi/efi-x86_payload/Kconfig | 1 +
 common/Makefile                   | 2 +-
 configs/apalis_imx6_defconfig     | 1 +
 configs/colibri_imx6_defconfig    | 1 +
 configs/mx6sabresd_defconfig      | 1 +
 drivers/usb/Kconfig               | 9 +++++++++
 7 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/arch/x86/cpu/coreboot/Kconfig b/arch/x86/cpu/coreboot/Kconfig
index 93f61f2..2140e9b 100644
--- a/arch/x86/cpu/coreboot/Kconfig
+++ b/arch/x86/cpu/coreboot/Kconfig
@@ -15,6 +15,7 @@ config SYS_COREBOOT
 	imply USB_EHCI_HCD
 	imply USB_XHCI_HCD
 	imply USB_STORAGE
+	imply SPL_USB_STORAGE if SPL_USB_HOST_SUPPORT
 	imply USB_KEYBOARD
 	imply VIDEO_COREBOOT
 	imply E1000
diff --git a/board/efi/efi-x86_payload/Kconfig b/board/efi/efi-x86_payload/Kconfig
index 08dd0c2..36c039d 100644
--- a/board/efi/efi-x86_payload/Kconfig
+++ b/board/efi/efi-x86_payload/Kconfig
@@ -30,6 +30,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	imply USB_EHCI_HCD
 	imply USB_XHCI_HCD
 	imply USB_STORAGE
+	imply SPL_USB_STORAGE if SPL_USB_HOST_SUPPORT
 	imply USB_KEYBOARD
 	imply VIDEO_EFI
 	imply E1000
diff --git a/common/Makefile b/common/Makefile
index 0de60b3..34931f3 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -77,7 +77,7 @@ obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += fdt_support.o
 
 ifdef CONFIG_SPL_USB_HOST_SUPPORT
 obj-$(CONFIG_SPL_USB_SUPPORT) += usb.o usb_hub.o
-obj-$(CONFIG_USB_STORAGE) += usb_storage.o
+obj-$(CONFIG_SPL_USB_STORAGE) += usb_storage.o
 else
 obj-$(CONFIG_USB_MUSB_HOST) += usb.o
 endif
diff --git a/configs/apalis_imx6_defconfig b/configs/apalis_imx6_defconfig
index e02d9bc..c4916ad 100644
--- a/configs/apalis_imx6_defconfig
+++ b/configs/apalis_imx6_defconfig
@@ -25,6 +25,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_USB_HOST_SUPPORT=y
 CONFIG_SPL_USB_GADGET=y
 CONFIG_SPL_USB_SDP_SUPPORT=y
+CONFIG_SPL_USB_STORAGE=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Apalis iMX6 # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/colibri_imx6_defconfig b/configs/colibri_imx6_defconfig
index 68f0746..441a4e7 100644
--- a/configs/colibri_imx6_defconfig
+++ b/configs/colibri_imx6_defconfig
@@ -25,6 +25,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_USB_HOST_SUPPORT=y
 CONFIG_SPL_USB_GADGET=y
 CONFIG_SPL_USB_SDP_SUPPORT=y
+CONFIG_SPL_USB_STORAGE=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Colibri iMX6 # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig
index 1857c18..3532fce 100644
--- a/configs/mx6sabresd_defconfig
+++ b/configs/mx6sabresd_defconfig
@@ -21,6 +21,7 @@ CONFIG_SPL_OS_BOOT=y
 CONFIG_SPL_USB_HOST_SUPPORT=y
 CONFIG_SPL_USB_GADGET=y
 CONFIG_SPL_USB_SDP_SUPPORT=y
+CONFIG_SPL_USB_STORAGE=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 3b53bf2..763d60e 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -89,6 +89,15 @@ config USB_STORAGE
 	  Say Y here if you want to connect USB mass storage devices to your
 	  board's USB port.
 
+config SPL_USB_STORAGE
+	bool "SPL USB Mass Storage support"
+	depends on !(SPL_BLK && !SPL_DM_USB)
+	default y if DISTRO_DEFAULTS
+	---help---
+	  Say Y here if you want to connect USB mass storage devices to your
+	  board's USB port in SPL.
+
+
 config USB_KEYBOARD
 	bool "USB Keyboard support"
 	select SYS_STDIO_DEREGISTER
-- 
2.7.4



More information about the U-Boot mailing list