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.v...@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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to