Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1config USB_DWC2
2 tristate "DesignWare USB2 DRD Core Support"
3 depends on USB || USB_GADGET
4 help
5 Say Y here if your system has a Dual Role Hi-Speed USB
6 controller based on the DesignWare HSOTG IP Core.
7
8 For host mode, if you choose to build the driver as dynamically
9 linked modules, the core module will be called dwc2.ko, the PCI
10 bus interface module (if you have a PCI bus system) will be
11 called dwc2_pci.ko, and the platform interface module (for
12 controllers directly connected to the CPU) will be called
13 dwc2_platform.ko. For all modes(host, gadget and dual-role), there
14 will be an additional module named dwc2.ko.
15
16if USB_DWC2
17
18choice
19 bool "DWC2 Mode Selection"
20 default USB_DWC2_DUAL_ROLE if (USB && USB_GADGET)
21 default USB_DWC2_HOST if (USB && !USB_GADGET)
22 default USB_DWC2_PERIPHERAL if (!USB && USB_GADGET)
23
24config USB_DWC2_HOST
25 bool "Host only mode"
26 depends on USB=y || (USB_DWC2=m && USB)
27 help
28 The Designware USB2.0 high-speed host controller
29 integrated into many SoCs. Select this option if you want the
30 driver to operate in Host-only mode.
31
32comment "Gadget/Dual-role mode requires USB Gadget support to be enabled"
33
34config USB_DWC2_PERIPHERAL
35 bool "Gadget only mode"
36 depends on USB_GADGET=y || USB_GADGET=USB_DWC2
37 help
38 The Designware USB2.0 high-speed gadget controller
39 integrated into many SoCs. Select this option if you want the
40 driver to operate in Peripheral-only mode. This option requires
41 USB_GADGET to be enabled.
42
43config USB_DWC2_DUAL_ROLE
44 bool "Dual Role mode"
45 depends on (USB=y && USB_GADGET=y) || (USB_DWC2=m && USB && USB_GADGET)
46 help
47 Select this option if you want the driver to work in a dual-role
48 mode. In this mode both host and gadget features are enabled, and
49 the role will be determined by the cable that gets plugged-in. This
50 option requires USB_GADGET to be enabled.
51endchoice
52
53config USB_DWC2_PLATFORM
54 tristate "DWC2 Platform"
55 default USB_DWC2_HOST || USB_DWC2_PERIPHERAL
56 help
57 The Designware USB2.0 platform interface module for
58 controllers directly connected to the CPU.
59
60config USB_DWC2_PCI
61 tristate "DWC2 PCI"
62 depends on PCI
63 default n
64 select USB_DWC2_PLATFORM
65 select NOP_USB_XCEIV
66 help
67 The Designware USB2.0 PCI interface module for controllers
68 connected to a PCI bus.
69
70config USB_DWC2_DEBUG
71 bool "Enable Debugging Messages"
72 help
73 Say Y here to enable debugging messages in the DWC2 Driver.
74
75config USB_DWC2_VERBOSE
76 bool "Enable Verbose Debugging Messages"
77 depends on USB_DWC2_DEBUG
78 help
79 Say Y here to enable verbose debugging messages in the DWC2 Driver.
80 WARNING: Enabling this will quickly fill your message log.
81 If in doubt, say N.
82
83config USB_DWC2_TRACK_MISSED_SOFS
84 bool "Enable Missed SOF Tracking"
85 help
86 Say Y here to enable logging of missed SOF events to the dmesg log.
87 WARNING: This feature is still experimental.
88 If in doubt, say N.
89
90config USB_DWC2_DEBUG_PERIODIC
91 bool "Enable Debugging Messages For Periodic Transfers"
92 depends on USB_DWC2_DEBUG || USB_DWC2_VERBOSE
93 default y
94 help
95 Say N here to disable (verbose) debugging messages to be
96 logged for periodic transfers. This allows better debugging of
97 non-periodic transfers, but of course the debug logs will be
98 incomplete. Note that this also disables some debug messages
99 for which the transfer type cannot be deduced.
100endif