spl: dfu: move DFU Kconfig to SPL Kconfig
authorStefan Agner <stefan.agner@toradex.com>
Mon, 21 Nov 2016 18:58:52 +0000 (10:58 -0800)
committerTom Rini <trini@konsulko.com>
Tue, 29 Nov 2016 00:49:49 +0000 (19:49 -0500)
The DFU Kconfig menu entries should be part of the SPL
Kconfig file. Also avoid using the top level Makefile by
moving the config dependent build artifacts to the driver/
and driver/usb/gadget/ Makfiles.

With that, DFU can be built again in SPL if
CONFIG_SPL_DFU_SUPPORT is enabled.

Fixes: 6ad6102246d8 ("usb:gadget: Disallow DFU in SPL for now")

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Lukasz Majewski <l.majewski@samsung.com>
Kconfig
common/spl/Kconfig
drivers/Makefile
drivers/usb/gadget/Makefile
include/configs/dra7xx_evm.h
scripts/Makefile.spl

diff --git a/Kconfig b/Kconfig
index f3a9f73dd0f3fbff3a7335e68f98259afed8bb61..529858a79dab58af5c86da3dc8ce0c927159913a 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -292,33 +292,6 @@ config FIT_IMAGE_POST_PROCESS
          injected into the FIT creation (i.e. the blobs would have been pre-
          processed before being added to the FIT image).
 
-config SPL_DFU_SUPPORT
-       bool "Enable SPL with DFU to load binaries to memory device"
-       depends on USB
-       help
-         Currently the SPL does not have capability to load the
-         binaries or boot images to boot devices like ram,eMMC,SPI,etc.
-         This feature enables the DFU (Device Firmware Upgarde) in SPL with
-         RAM memory device support. The ROM code will load and execute
-         the SPL built with dfu. The user can load binaries (u-boot/kernel) to
-         selected device partition from host-pc using dfu-utils.
-               This feature will be useful to flash the binaries to factory
-         or bare-metal boards using USB interface.
-
-choice
-       bool "DFU device selection"
-       depends on SPL_DFU_SUPPORT
-
-config SPL_DFU_RAM
-       bool "RAM device"
-       depends on SPL_DFU_SUPPORT
-       help
-        select RAM/DDR memory device for loading binary images
-        (u-boot/kernel) to the selected device partition using
-        DFU and execute the u-boot/kernel from RAM.
-
-endchoice
-
 config SYS_CLK_FREQ
        depends on ARC || ARCH_SUNXI
        int "CPU clock frequency"
index df9e0ce68f9ea2348af8aec3ebe5aea25456062e..77eadf92fe0229bf929df7e6c32c568feecfb320 100644 (file)
@@ -524,6 +524,32 @@ config SPL_USB_SUPPORT
          config options. This enables loading from USB using a configured
          device.
 
+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
+         RAM memory device support. The ROM code will load and execute
+         the SPL built with dfu. The user can load binaries (u-boot/kernel) to
+         selected device partition from host-pc using dfu-utils.
+         This feature is useful to flash the binaries to factory or bare-metal
+         boards using USB interface.
+
+choice
+       bool "DFU device selection"
+       depends on SPL_DFU_SUPPORT
+
+config SPL_DFU_RAM
+       bool "RAM device"
+       depends on SPL_DFU_SUPPORT
+       help
+        select RAM/DDR memory device for loading binary images
+        (u-boot/kernel) to the selected device partition using
+        DFU and execute the u-boot/kernel from RAM.
+
+endchoice
+
 config SPL_WATCHDOG_SUPPORT
        bool "Support watchdog drivers"
        depends on SPL
index 761d0b3e85b4caee90e8aa798a81fcfd322c593d..40aba582629e453dd279c43b7f672014d6b37a47 100644 (file)
@@ -34,6 +34,9 @@ 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_DFU_SUPPORT) += dfu/
 obj-$(CONFIG_SPL_WATCHDOG_SUPPORT) += watchdog/
 obj-$(CONFIG_SPL_USB_HOST_SUPPORT) += usb/host/
 obj-$(CONFIG_OMAP_USB_PHY) += usb/phy/
index acc9964e232680cc74ce4773dd1f2d5b747556b3..5b18e8c1950aa00e28b83e5a16a3f5f9f10ce27e 100644 (file)
@@ -8,6 +8,10 @@
 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_DFU_SUPPORT) += f_dfu.o
+endif
+
 # new USB gadget layer dependencies
 ifdef CONFIG_USB_GADGET
 obj-$(CONFIG_USB_GADGET_AT91) += at91_udc.o
@@ -18,13 +22,13 @@ 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
-obj-$(CONFIG_USB_FUNCTION_THOR) += f_thor.o
 ifndef CONFIG_SPL_BUILD
+obj-$(CONFIG_USB_FUNCTION_THOR) += f_thor.o
 obj-$(CONFIG_USB_FUNCTION_DFU) += f_dfu.o
-endif
 obj-$(CONFIG_USB_FUNCTION_MASS_STORAGE) += f_mass_storage.o
 obj-$(CONFIG_USB_FUNCTION_FASTBOOT) += f_fastboot.o
 endif
+endif
 ifdef CONFIG_USB_ETHER
 obj-y += ether.o
 obj-$(CONFIG_USB_ETH_RNDIS) += rndis.o
index 1834d04afde3fb1101d25c5c11d6f6962c563fd2..75a78542045bafba2998ec9983c1301fec0c7b92 100644 (file)
 #undef CONFIG_CMD_BOOTD
 #ifdef CONFIG_SPL_DFU_SUPPORT
 #define CONFIG_SPL_LOAD_FIT_ADDRESS 0x80200000
-#define CONFIG_SPL_HASH_SUPPORT
 #define DFU_ALT_INFO_RAM \
        "dfu_alt_info_ram=" \
        "kernel ram 0x80200000 0x4000000;" \
index 03a2f061a46cf2a72d0e6dbaaee4651f24364b7a..23b3997076f686fde5d831bc3453125eb61579e6 100644 (file)
@@ -66,9 +66,6 @@ endif
 
 libs-$(CONFIG_SPL_LIBDISK_SUPPORT) += disk/
 libs-y += drivers/
-libs-$(CONFIG_SPL_DFU_SUPPORT) += drivers/dfu/
-libs-$(CONFIG_SPL_DFU_SUPPORT) += drivers/usb/gadget/
-libs-$(CONFIG_SPL_DFU_SUPPORT) += drivers/usb/gadget/udc/
 libs-$(CONFIG_SPL_DFU_SUPPORT) += drivers/usb/dwc3/
 libs-y += dts/
 libs-y += fs/