[U-Boot] [PATCH v2 2/7] usb: introduce a separate config option for DM USB device
Jean-Jacques Hiblot
jjhiblot at ti.com
Tue May 29 12:36:42 UTC 2018
Using CONFIG_DM_USB for this purpose prevents using DM_USB for host and not
for device.
Signed-off-by: Jean-Jacques Hiblot <jjhiblot at 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 at 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;
--
2.7.4
More information about the U-Boot
mailing list