From 687ab54560809e01a10652ef82dbac6ae72deb91 Mon Sep 17 00:00:00 2001 From: Jean-Jacques Hiblot Date: Thu, 29 Nov 2018 10:52:42 +0100 Subject: [PATCH] usb: introduce a separate config option for DM USB device Using CONFIG_DM_USB for this purpose prevents using DM_USB for host and not for device. Signed-off-by: Jean-Jacques Hiblot Reviewed-by: Lukasz Majewski --- arch/arm/Kconfig | 2 ++ drivers/usb/Kconfig | 14 ++++++++++++++ drivers/usb/dwc3/core.c | 3 +-- drivers/usb/dwc3/dwc3-generic.c | 4 ++-- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 13ba774..7f513ce 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -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" diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index d456beb..98f8343 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -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" diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index f1ca619..f9d8465 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -789,8 +789,7 @@ MODULE_AUTHOR("Felipe Balbi "); 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; diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c index 56c9fd6..ad3a116 100644 --- a/drivers/usb/dwc3/dwc3-generic.c +++ b/drivers/usb/dwc3/dwc3-generic.c @@ -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) { -- 2.7.4