1197ba5f4SPaul Zimmermanconfig USB_DWC2 25ee80705SDinh Nguyen tristate "DesignWare USB2 DRD Core Support" 3c3761a79SDinh Nguyen depends on USB || USB_GADGET 4197ba5f4SPaul Zimmerman help 547a1685fSDinh Nguyen Say Y here if your system has a Dual Role Hi-Speed USB 647a1685fSDinh Nguyen controller based on the DesignWare HSOTG IP Core. 7197ba5f4SPaul Zimmerman 847a1685fSDinh Nguyen For host mode, if you choose to build the driver as dynamically 947a1685fSDinh Nguyen linked modules, the core module will be called dwc2.ko, the PCI 1047a1685fSDinh Nguyen bus interface module (if you have a PCI bus system) will be 1147a1685fSDinh Nguyen called dwc2_pci.ko, and the platform interface module (for 1247a1685fSDinh Nguyen controllers directly connected to the CPU) will be called 135ee80705SDinh Nguyen dwc2_platform.ko. For all modes(host, gadget and dual-role), there 145ee80705SDinh Nguyen will be an additional module named dwc2.ko. 15197ba5f4SPaul Zimmerman 16197ba5f4SPaul Zimmermanif USB_DWC2 17197ba5f4SPaul Zimmerman 185ee80705SDinh Nguyenchoice 195ee80705SDinh Nguyen bool "DWC2 Mode Selection" 205ee80705SDinh Nguyen default USB_DWC2_DUAL_ROLE if (USB && USB_GADGET) 215ee80705SDinh Nguyen default USB_DWC2_HOST if (USB && !USB_GADGET) 225ee80705SDinh Nguyen default USB_DWC2_PERIPHERAL if (!USB && USB_GADGET) 235ee80705SDinh Nguyen 2447a1685fSDinh Nguyenconfig USB_DWC2_HOST 255ee80705SDinh Nguyen bool "Host only mode" 26b7974de8SArnd Bergmann depends on USB=y || (USB_DWC2=m && USB) 2747a1685fSDinh Nguyen help 2847a1685fSDinh Nguyen The Designware USB2.0 high-speed host controller 295ee80705SDinh Nguyen integrated into many SoCs. Select this option if you want the 305ee80705SDinh Nguyen driver to operate in Host-only mode. 315ee80705SDinh Nguyen 325ee80705SDinh Nguyencomment "Gadget/Dual-role mode requires USB Gadget support to be enabled" 335ee80705SDinh Nguyen 345ee80705SDinh Nguyenconfig USB_DWC2_PERIPHERAL 355ee80705SDinh Nguyen bool "Gadget only mode" 365ee80705SDinh Nguyen depends on USB_GADGET=y || USB_GADGET=USB_DWC2 375ee80705SDinh Nguyen help 385ee80705SDinh Nguyen The Designware USB2.0 high-speed gadget controller 395ee80705SDinh Nguyen integrated into many SoCs. Select this option if you want the 405ee80705SDinh Nguyen driver to operate in Peripheral-only mode. This option requires 415ee80705SDinh Nguyen USB_GADGET to be enabled. 425ee80705SDinh Nguyen 435ee80705SDinh Nguyenconfig USB_DWC2_DUAL_ROLE 445ee80705SDinh Nguyen bool "Dual Role mode" 45b7974de8SArnd Bergmann depends on (USB=y && USB_GADGET=y) || (USB_DWC2=m && USB && USB_GADGET) 465ee80705SDinh Nguyen help 475ee80705SDinh Nguyen Select this option if you want the driver to work in a dual-role 485ee80705SDinh Nguyen mode. In this mode both host and gadget features are enabled, and 495ee80705SDinh Nguyen the role will be determined by the cable that gets plugged-in. This 505ee80705SDinh Nguyen option requires USB_GADGET to be enabled. 515ee80705SDinh Nguyenendchoice 5247a1685fSDinh Nguyen 5347a1685fSDinh Nguyenconfig USB_DWC2_PLATFORM 545ee80705SDinh Nguyen tristate "DWC2 Platform" 555ee80705SDinh Nguyen default USB_DWC2_HOST || USB_DWC2_PERIPHERAL 5647a1685fSDinh Nguyen help 5747a1685fSDinh Nguyen The Designware USB2.0 platform interface module for 585ee80705SDinh Nguyen controllers directly connected to the CPU. 5947a1685fSDinh Nguyen 6047a1685fSDinh Nguyenconfig USB_DWC2_PCI 615ee80705SDinh Nguyen tristate "DWC2 PCI" 62*9024c495SJohn Youn depends on PCI 63*9024c495SJohn Youn default n 64*9024c495SJohn Youn select USB_DWC2_PLATFORM 6547a1685fSDinh Nguyen help 6647a1685fSDinh Nguyen The Designware USB2.0 PCI interface module for controllers 67*9024c495SJohn Youn connected to a PCI bus. 6847a1685fSDinh Nguyen 69197ba5f4SPaul Zimmermanconfig USB_DWC2_DEBUG 70197ba5f4SPaul Zimmerman bool "Enable Debugging Messages" 71197ba5f4SPaul Zimmerman help 72197ba5f4SPaul Zimmerman Say Y here to enable debugging messages in the DWC2 Driver. 73197ba5f4SPaul Zimmerman 74197ba5f4SPaul Zimmermanconfig USB_DWC2_VERBOSE 75197ba5f4SPaul Zimmerman bool "Enable Verbose Debugging Messages" 76197ba5f4SPaul Zimmerman depends on USB_DWC2_DEBUG 77197ba5f4SPaul Zimmerman help 78197ba5f4SPaul Zimmerman Say Y here to enable verbose debugging messages in the DWC2 Driver. 79197ba5f4SPaul Zimmerman WARNING: Enabling this will quickly fill your message log. 80197ba5f4SPaul Zimmerman If in doubt, say N. 81197ba5f4SPaul Zimmerman 82197ba5f4SPaul Zimmermanconfig USB_DWC2_TRACK_MISSED_SOFS 83197ba5f4SPaul Zimmerman bool "Enable Missed SOF Tracking" 84197ba5f4SPaul Zimmerman help 85197ba5f4SPaul Zimmerman Say Y here to enable logging of missed SOF events to the dmesg log. 86197ba5f4SPaul Zimmerman WARNING: This feature is still experimental. 87197ba5f4SPaul Zimmerman If in doubt, say N. 88197ba5f4SPaul Zimmerman 89197ba5f4SPaul Zimmermanconfig USB_DWC2_DEBUG_PERIODIC 90197ba5f4SPaul Zimmerman bool "Enable Debugging Messages For Periodic Transfers" 91197ba5f4SPaul Zimmerman depends on USB_DWC2_DEBUG || USB_DWC2_VERBOSE 92197ba5f4SPaul Zimmerman default y 93197ba5f4SPaul Zimmerman help 94197ba5f4SPaul Zimmerman Say N here to disable (verbose) debugging messages to be 95197ba5f4SPaul Zimmerman logged for periodic transfers. This allows better debugging of 96197ba5f4SPaul Zimmerman non-periodic transfers, but of course the debug logs will be 97197ba5f4SPaul Zimmerman incomplete. Note that this also disables some debug messages 98197ba5f4SPaul Zimmerman for which the transfer type cannot be deduced. 99197ba5f4SPaul Zimmermanendif 100