summaryrefslogtreecommitdiff
path: root/drivers/usb/dwc2/Kconfig
blob: 4396a1f4815626b5ce4caf3c0a89cd3ab3d3bbc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
config USB_DWC2
	tristate "DesignWare USB2 DRD Core Support"
	depends on USB
	help
	  Say Y here if your system has a Dual Role Hi-Speed USB
	  controller based on the DesignWare HSOTG IP Core.

	  If you choose to build the driver as dynamically
	  linked modules, a single dwc2.ko(regardless of mode of operation)
	  will get built for both platform IPs and PCI.

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
	bool "Host only mode"
	depends on USB
	help
	  The Designware USB2.0 high-speed host controller
	  integrated into many SoCs. Select this option if you want the
	  driver to operate in Host-only mode.

config USB_DWC2_PCI
	bool "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
	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=y.

config USB_DWC2_DUAL_ROLE
	bool "Dual Role mode"
	depends on ((USB=y || USB=USB_DWC2) && (USB_GADGET=y || USB_GADGET=USB_DWC2))
	help
	  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=y.
endchoice

config USB_DWC2_PLATFORM
	bool
        depends on !PCI
        default y
        help
          The Designware USB2.0 platform interface module for
          controllers directly connected to the CPU.

config USB_DWC2_DEBUG
	bool "Enable Debugging Messages"
	help
	  Say Y here to enable debugging messages in the DWC2 Driver.

config USB_DWC2_VERBOSE
	bool "Enable Verbose Debugging Messages"
	depends on USB_DWC2_DEBUG
	help
	  Say Y here to enable verbose debugging messages in the DWC2 Driver.
	  WARNING: Enabling this will quickly fill your message log.
	  If in doubt, say N.

config USB_DWC2_TRACK_MISSED_SOFS
	bool "Enable Missed SOF Tracking"
	help
	  Say Y here to enable logging of missed SOF events to the dmesg log.
	  WARNING: This feature is still experimental.
	  If in doubt, say N.

config USB_DWC2_DEBUG_PERIODIC
	bool "Enable Debugging Messages For Periodic Transfers"
	depends on USB_DWC2_DEBUG || USB_DWC2_VERBOSE
	default y
	help
	  Say N here to disable (verbose) debugging messages to be
	  logged for periodic transfers. This allows better debugging of
	  non-periodic transfers, but of course the debug logs will be
	  incomplete. Note that this also disables some debug messages
	  for which the transfer type cannot be deduced.
endif