]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
usb: introduce a separate config option for DM USB device
authorJean-Jacques Hiblot <jjhiblot@ti.com>
Thu, 29 Nov 2018 09:52:42 +0000 (10:52 +0100)
committerMarek Vasut <marex@denx.de>
Fri, 7 Dec 2018 15:31:45 +0000 (16:31 +0100)
Using CONFIG_DM_USB for this purpose prevents using DM_USB for host and not
for device.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
arch/arm/Kconfig
drivers/usb/Kconfig
drivers/usb/dwc3/core.c
drivers/usb/dwc3/dwc3-generic.c

index 13ba774a484974696daf424950605af937a3d5c0..7f513ce0ff375529e87178fc65f9a45ff05cc5e9 100644 (file)
@@ -932,6 +932,7 @@ config ARCH_ZYNQMP_R5
        select DM_SERIAL
        select OF_CONTROL
        imply CMD_DM
+       imply DM_USB_GADGET
 
 config ARCH_ZYNQMP
        bool "Xilinx ZynqMP based platform"
@@ -949,6 +950,7 @@ config ARCH_ZYNQMP
        imply CMD_DM
        imply FAT_WRITE
        imply MP
+       imply DM_USB_GADGET
 
 config TEGRA
        bool "NVIDIA Tegra"
index d456beb43fc9d3e7f422af33febfef535f860cce..98f83433bedddf8d44b2c7ce19876204f5179b9e 100644 (file)
@@ -52,6 +52,20 @@ config SPL_DM_USB
        depends on DM_USB
        default y
 
+config DM_USB_GADGET
+       bool "Enable driver model for USB Gadget"
+       depends on DM_USB
+       help
+         Enable driver model for USB Gadget (Peripheral
+         mode)
+
+config SPL_DM_USB_GADGET
+       bool "Enable driver model for USB Gadget in sPL"
+       depends on SPL_DM_USB
+       help
+         Enable driver model for USB Gadget in SPL
+         (Peripheral mode)
+
 source "drivers/usb/host/Kconfig"
 
 source "drivers/usb/dwc3/Kconfig"
index f1ca6191ce48968034c427adab2e622dc997771c..f9d84657c876219f57c0690424c2f2b34568f121 100644 (file)
@@ -789,8 +789,7 @@ MODULE_AUTHOR("Felipe Balbi <balbi@ti.com>");
 MODULE_LICENSE("GPL v2");
 MODULE_DESCRIPTION("DesignWare USB3 DRD Controller Driver");
 
-#if CONFIG_IS_ENABLED(DM_USB)
-
+#if CONFIG_IS_ENABLED(DM_USB_GADGET)
 int dwc3_init(struct dwc3 *dwc)
 {
        int ret;
index 56c9fd657fb8a68b11995e26e8be76fa11115b71..ad3a116b3e5e7d9eeed7bf2ea09ea84f9e591513 100644 (file)
@@ -21,8 +21,7 @@
 #include "gadget.h"
 #include "linux-compat.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
+#if CONFIG_IS_ENABLED(DM_USB_GADGET)
 int usb_gadget_handle_interrupts(int index)
 {
        struct dwc3 *priv;
@@ -97,6 +96,7 @@ U_BOOT_DRIVER(dwc3_generic_peripheral) = {
        .priv_auto_alloc_size = sizeof(struct dwc3),
        .flags  = DM_FLAG_ALLOC_PRIV_DMA,
 };
+#endif
 
 static int dwc3_generic_bind(struct udevice *parent)
 {