
Hi Jean-Jacques,
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
Changes in v2:
- select DM_USB_DEV by default for zynqmp platforms
arch/arm/Kconfig | 2 ++ drivers/usb/Kconfig | 6 ++++++ drivers/usb/dwc3/core.c | 2 +- drivers/usb/dwc3/dwc3-generic.c | 4 +++- 4 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0d1802b..caf7053 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -841,6 +841,7 @@ config ARCH_ZYNQMP_R5 select DM select DM_SERIAL select CLK
- imply DM_USB_DEV
config ARCH_ZYNQMP bool "Xilinx ZynqMP based platform" @@ -855,6 +856,7 @@ config ARCH_ZYNQMP select SPL_CLK if SPL select DM_USB if USB imply FAT_WRITE
- imply DM_USB_DEV
config TEGRA bool "NVIDIA Tegra" diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 4fbe172..3587ba4 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -47,6 +47,12 @@ config DM_USB declared with the U_BOOT_USB_DEVICE() macro and will be automatically probed when found on the bus.
+config DM_USB_DEV
- bool "Enable driver model for USB (Peripheral mode)"
- depends on DM_USB
- help
Enable driver model for USB (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 1ab5cee..d5ee6d9 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -789,7 +789,7 @@ MODULE_AUTHOR("Felipe Balbi balbi@ti.com"); MODULE_LICENSE("GPL v2"); MODULE_DESCRIPTION("DesignWare USB3 DRD Controller Driver");
-#ifdef CONFIG_DM_USB +#ifdef CONFIG_DM_USB_DEV
int dwc3_init(struct dwc3 *dwc) { diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c index ca63eac..2c1e696 100644 --- a/drivers/usb/dwc3/dwc3-generic.c +++ b/drivers/usb/dwc3/dwc3-generic.c @@ -21,7 +21,7 @@ #include "gadget.h" #include "linux-compat.h"
-DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_DM_USB_DEV
int usb_gadget_handle_interrupts(int index) { @@ -98,6 +98,8 @@ U_BOOT_DRIVER(dwc3_generic_peripheral) = { .flags = DM_FLAG_ALLOC_PRIV_DMA, };
+#endif
static int dwc3_generic_bind(struct udevice *parent) { const void *fdt = gd->fdt_blob;
Reviewed-by: Lukasz Majewski lukma@denx.de
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de