123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- --- a/drivers/usb/dwc2/Kconfig
- +++ b/drivers/usb/dwc2/Kconfig
- @@ -1,6 +1,6 @@
- config USB_DWC2
- - bool "DesignWare USB2 DRD Core Support"
- - depends on USB
- + tristate "DesignWare USB2 DRD Core Support"
- + depends on USB || USB_GADGET
- help
- Say Y here if your system has a Dual Role Hi-Speed USB
- controller based on the DesignWare HSOTG IP Core.
- @@ -10,49 +10,61 @@ config USB_DWC2
- bus interface module (if you have a PCI bus system) will be
- called dwc2_pci.ko, and the platform interface module (for
- controllers directly connected to the CPU) will be called
- - dwc2_platform.ko. For gadget mode, there will be a single
- - module called dwc2_gadget.ko.
- -
- - NOTE: The s3c-hsotg driver is now renamed to dwc2_gadget. The
- - host and gadget drivers are still currently separate drivers.
- - There are plans to merge the dwc2_gadget driver with the dwc2
- - host driver in the near future to create a dual-role driver.
- + dwc2_platform.ko. For all modes(host, gadget and dual-role), there
- + will be an additional module named dwc2.ko.
-
- if USB_DWC2
-
- +choice
- + bool "DWC2 Mode Selection"
- + default USB_DWC2_DUAL_ROLE if (USB && USB_GADGET)
- + default USB_DWC2_HOST if (USB && !USB_GADGET)
- + default USB_DWC2_PERIPHERAL if (!USB && USB_GADGET)
- +
- config USB_DWC2_HOST
- - tristate "Host only mode"
- + bool "Host only mode"
- depends on USB
- help
- The Designware USB2.0 high-speed host controller
- - integrated into many SoCs.
- + integrated into many SoCs. Select this option if you want the
- + driver to operate in Host-only mode.
-
- -config USB_DWC2_PLATFORM
- - bool "DWC2 Platform"
- - depends on USB_DWC2_HOST
- - default USB_DWC2_HOST
- +comment "Gadget/Dual-role mode requires USB Gadget support to be enabled"
- +
- +config USB_DWC2_PERIPHERAL
- + bool "Gadget only mode"
- + depends on USB_GADGET=y || USB_GADGET=USB_DWC2
- + help
- + The Designware USB2.0 high-speed gadget controller
- + integrated into many SoCs. Select this option if you want the
- + driver to operate in Peripheral-only mode. This option requires
- + USB_GADGET to be enabled.
- +
- +config USB_DWC2_DUAL_ROLE
- + bool "Dual Role mode"
- + depends on (USB=y || USB=USB_DWC2) && (USB_GADGET=y || USB_GADGET=USB_DWC2)
- help
- - The Designware USB2.0 platform interface module for
- - controllers directly connected to the CPU. This is only
- - used for host mode.
- + Select this option if you want the driver to work in a dual-role
- + mode. In this mode both host and gadget features are enabled, and
- + the role will be determined by the cable that gets plugged-in. This
- + option requires USB_GADGET to be enabled.
- +endchoice
- +
- +config USB_DWC2_PLATFORM
- + tristate "DWC2 Platform"
- + default USB_DWC2_HOST || USB_DWC2_PERIPHERAL
- + help
- + The Designware USB2.0 platform interface module for
- + controllers directly connected to the CPU.
-
- config USB_DWC2_PCI
- - bool "DWC2 PCI"
- + tristate "DWC2 PCI"
- depends on USB_DWC2_HOST && PCI
- default USB_DWC2_HOST
- help
- The Designware USB2.0 PCI interface module for controllers
- connected to a PCI bus. This is only used for host mode.
-
- -comment "Gadget mode requires USB Gadget support to be enabled"
- -
- -config USB_DWC2_PERIPHERAL
- - tristate "Gadget only mode"
- - depends on USB_GADGET
- - help
- - The Designware USB2.0 high-speed gadget controller
- - integrated into many SoCs.
- -
- config USB_DWC2_DEBUG
- bool "Enable Debugging Messages"
- help
- --- a/drivers/usb/dwc2/Makefile
- +++ b/drivers/usb/dwc2/Makefile
- @@ -1,28 +1,28 @@
- ccflags-$(CONFIG_USB_DWC2_DEBUG) += -DDEBUG
- ccflags-$(CONFIG_USB_DWC2_VERBOSE) += -DVERBOSE_DEBUG
-
- -obj-$(CONFIG_USB_DWC2_HOST) += dwc2.o
- +obj-$(CONFIG_USB_DWC2) += dwc2.o
- dwc2-y := core.o core_intr.o
- -dwc2-y += hcd.o hcd_intr.o
- -dwc2-y += hcd_queue.o hcd_ddma.o
- +
- +ifneq ($(filter y,$(CONFIG_USB_DWC2_HOST) $(CONFIG_USB_DWC2_DUAL_ROLE)),)
- + dwc2-y += hcd.o hcd_intr.o
- + dwc2-y += hcd_queue.o hcd_ddma.o
- +endif
- +
- +ifneq ($(filter y,$(CONFIG_USB_DWC2_PERIPHERAL) $(CONFIG_USB_DWC2_DUAL_ROLE)),)
- + dwc2-y += gadget.o
- +endif
-
- # NOTE: The previous s3c-hsotg peripheral mode only driver has been moved to
- # this location and renamed gadget.c. When building for dynamically linked
- -# modules, dwc2_gadget.ko will get built for peripheral mode. For host mode,
- -# the core module will be dwc2.ko, the PCI bus interface module will called
- -# dwc2_pci.ko and the platform interface module will be called dwc2_platform.ko.
- -# At present the host and gadget driver will be separate drivers, but there
- -# are plans in the near future to create a dual-role driver.
- +# modules, dwc2.ko will get built for host mode, peripheral mode, and dual-role
- +# mode. The PCI bus interface module will called dwc2_pci.ko and the platform
- +# interface module will be called dwc2_platform.ko.
-
- ifneq ($(CONFIG_USB_DWC2_PCI),)
- - obj-$(CONFIG_USB_DWC2_HOST) += dwc2_pci.o
- + obj-$(CONFIG_USB_DWC2) += dwc2_pci.o
- dwc2_pci-y := pci.o
- endif
-
- -ifneq ($(CONFIG_USB_DWC2_PLATFORM),)
- - obj-$(CONFIG_USB_DWC2_HOST) += dwc2_platform.o
- - dwc2_platform-y := platform.o
- -endif
- -
- -obj-$(CONFIG_USB_DWC2_PERIPHERAL) += dwc2_gadget.o
- -dwc2_gadget-y := gadget.o
- +obj-$(CONFIG_USB_DWC2_PLATFORM) += dwc2_platform.o
- +dwc2_platform-y := platform.o
|