spl: add USB Gadget config option
authorStefan Agner <stefan.agner@toradex.com>
Mon, 21 Nov 2016 18:58:53 +0000 (10:58 -0800)
committerTom Rini <trini@konsulko.com>
Tue, 29 Nov 2016 00:49:49 +0000 (19:49 -0500)
Introduce USB Gadget config option. This allows to combine Makefile
entries for SPL_USBETH_SUPPORT and SPL_DFU_SUPPORT.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Lukasz Majewski <l.majewski@samsung.com>
Tested-by: Ravi Babu <ravibabu@ti.com>
common/spl/Kconfig
configs/am335x_evm_usbspl_defconfig
drivers/Makefile
drivers/usb/gadget/Makefile
scripts/Makefile.spl

index 77eadf92fe0229bf929df7e6c32c568feecfb320..cba51f5df626ed38a547eaf36c3258bdd2be188e 100644 (file)
@@ -492,17 +492,6 @@ config SPL_SPI_SUPPORT
          enable SPI drivers that are needed for other purposes also, such
          as a SPI PMIC.
 
-config SPL_USBETH_SUPPORT
-       bool "Support USB Ethernet drivers"
-       depends on SPL
-       help
-         Enable access to the USB network subsystem and associated
-         drivers in SPL. This permits SPL to load U-Boot over a
-         USB-connected Ethernet link (such as a USB Ethernet dongle) rather
-         than from an onboard peripheral. Environment support is required
-         since the network stack uses a number of environment variables.
-         See also SPL_NET_SUPPORT and SPL_ETH_SUPPORT.
-
 config SPL_USB_HOST_SUPPORT
        bool "Support USB host drivers"
        depends on SPL
@@ -524,9 +513,27 @@ config SPL_USB_SUPPORT
          config options. This enables loading from USB using a configured
          device.
 
+config SPL_USB_GADGET_SUPPORT
+       bool "Suppport USB Gadget drivers"
+       depends on SPL
+       help
+         Enable USB Gadget API which allows to enable USB device functions
+         in SPL.
+
+if SPL_USB_GADGET_SUPPORT
+
+config SPL_USBETH_SUPPORT
+       bool "Support USB Ethernet drivers"
+       help
+         Enable access to the USB network subsystem and associated
+         drivers in SPL. This permits SPL to load U-Boot over a
+         USB-connected Ethernet link (such as a USB Ethernet dongle) rather
+         than from an onboard peripheral. Environment support is required
+         since the network stack uses a number of environment variables.
+         See also SPL_NET_SUPPORT and SPL_ETH_SUPPORT.
+
 config SPL_DFU_SUPPORT
        bool "Support DFU (Device Firmware Upgarde)"
-       depends on SPL
        select SPL_HASH_SUPPORT
        help
          This feature enables the DFU (Device Firmware Upgarde) in SPL with
@@ -550,6 +557,8 @@ config SPL_DFU_RAM
 
 endchoice
 
+endif
+
 config SPL_WATCHDOG_SUPPORT
        bool "Support watchdog drivers"
        depends on SPL
index 8c28e28f27b0a3636c870766422afc2dfcba1cf5..fdb6f77e7a0dedc76eb2b607f2909672854b8167 100644 (file)
@@ -12,6 +12,7 @@ CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_MUSB_NEW_SUPPORT=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_GADGET_SUPPORT=y
 CONFIG_SPL_USBETH_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
index 40aba582629e453dd279c43b7f672014d6b37a47..c19fa142f3a8dc57e05b0ff449f1af5e9621e813 100644 (file)
@@ -33,9 +33,8 @@ obj-$(CONFIG_SPL_ETH_SUPPORT) += net/
 obj-$(CONFIG_SPL_ETH_SUPPORT) += net/phy/
 obj-$(CONFIG_SPL_USBETH_SUPPORT) += net/phy/
 obj-$(CONFIG_SPL_MUSB_NEW_SUPPORT) += usb/musb-new/
-obj-$(CONFIG_SPL_USBETH_SUPPORT) += usb/gadget/
-obj-$(CONFIG_SPL_DFU_SUPPORT) += usb/gadget/
-obj-$(CONFIG_SPL_DFU_SUPPORT) += usb/gadget/udc/
+obj-$(CONFIG_SPL_USB_GADGET_SUPPORT) += usb/gadget/
+obj-$(CONFIG_SPL_USB_GADGET_SUPPORT) += usb/gadget/udc/
 obj-$(CONFIG_SPL_DFU_SUPPORT) += dfu/
 obj-$(CONFIG_SPL_WATCHDOG_SUPPORT) += watchdog/
 obj-$(CONFIG_SPL_USB_HOST_SUPPORT) += usb/host/
index 5b18e8c1950aa00e28b83e5a16a3f5f9f10ce27e..0fbbb7c82c698dd0ea882fb868fce72669d02e54 100644 (file)
@@ -9,6 +9,7 @@ obj-$(CONFIG_USB_GADGET) += epautoconf.o config.o usbstring.o
 obj-$(CONFIG_USB_ETHER) += epautoconf.o config.o usbstring.o
 
 ifdef CONFIG_SPL_BUILD
+obj-$(CONFIG_SPL_USB_GADGET_SUPPORT) += g_dnl.o
 obj-$(CONFIG_SPL_DFU_SUPPORT) += f_dfu.o
 endif
 
@@ -21,8 +22,8 @@ obj-$(CONFIG_USB_GADGET_DWC2_OTG) += dwc2_udc_otg.o
 obj-$(CONFIG_USB_GADGET_DWC2_OTG_PHY) += dwc2_udc_otg_phy.o
 obj-$(CONFIG_USB_GADGET_FOTG210) += fotg210.o
 obj-$(CONFIG_CI_UDC)   += ci_udc.o
-obj-$(CONFIG_USB_GADGET_DOWNLOAD) += g_dnl.o
 ifndef CONFIG_SPL_BUILD
+obj-$(CONFIG_USB_GADGET_DOWNLOAD) += g_dnl.o
 obj-$(CONFIG_USB_FUNCTION_THOR) += f_thor.o
 obj-$(CONFIG_USB_FUNCTION_DFU) += f_dfu.o
 obj-$(CONFIG_USB_FUNCTION_MASS_STORAGE) += f_mass_storage.o
index 23b3997076f686fde5d831bc3453125eb61579e6..f379713ad33dba57e374f2e0d794faaec3a8a4a3 100644 (file)
@@ -66,7 +66,7 @@ endif
 
 libs-$(CONFIG_SPL_LIBDISK_SUPPORT) += disk/
 libs-y += drivers/
-libs-$(CONFIG_SPL_DFU_SUPPORT) += drivers/usb/dwc3/
+libs-$(CONFIG_SPL_USB_GADGET_SUPPORT) += drivers/usb/dwc3/
 libs-y += dts/
 libs-y += fs/
 libs-$(CONFIG_SPL_POST_MEM_SUPPORT) += post/drivers/