blob: f699abab17875ed26c6d56353c8eb87785664a54 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# USB device configuration
3#
4
David Daney900e0622013-08-09 18:17:48 -07005config USB_OHCI_BIG_ENDIAN_DESC
6 bool
7
8config USB_OHCI_BIG_ENDIAN_MMIO
9 bool
10
11config USB_OHCI_LITTLE_ENDIAN
12 bool
13 default n if STB03xxx || PPC_MPC52xx
14 default y
15
David Daney900e0622013-08-09 18:17:48 -070016config USB_EHCI_BIG_ENDIAN_MMIO
17 bool
18
19config USB_EHCI_BIG_ENDIAN_DESC
20 bool
21
David Daneya8edc422012-03-22 14:01:07 -070022menuconfig USB_SUPPORT
23 bool "USB support"
24 depends on HAS_IOMEM
25 default y
26 ---help---
27 This option adds core support for Universal Serial Bus (USB).
28 You will also need drivers from the following menu to make use of it.
29
David Daney53c6bc22012-03-13 15:58:05 -070030if USB_SUPPORT
31
32config USB_COMMON
33 tristate
David Daney53c6bc22012-03-13 15:58:05 -070034
David Daney53c6bc22012-03-13 15:58:05 -070035config USB_ARCH_HAS_HCD
Arnd Bergmannd9ea21a2013-06-04 19:42:22 +020036 def_bool y
David Daney53c6bc22012-03-13 15:58:05 -070037
Linus Torvalds1da177e2005-04-16 15:20:36 -070038config USB
39 tristate "Support for Host-side USB"
40 depends on USB_ARCH_HAS_HCD
Arnd Bergmannbadf6d42016-03-23 17:45:08 +010041 select USB_COMMON
Clemens Ladischa853a3d2009-04-24 10:12:18 +020042 select NLS # for UTF-8 strings
Linus Torvalds1da177e2005-04-16 15:20:36 -070043 ---help---
44 Universal Serial Bus (USB) is a specification for a serial bus
45 subsystem which offers higher speeds and more features than the
46 traditional PC serial port. The bus supplies power to peripherals
47 and allows for hot swapping. Up to 127 USB peripherals can be
48 connected to a single USB host in a tree structure.
49
50 The USB host is the root of the tree, the peripherals are the
51 leaves and the inner nodes are special USB devices called hubs.
52 Most PCs now have USB host ports, used to connect peripherals
53 such as scanners, keyboards, mice, modems, cameras, disks,
54 flash memory, network links, and printers to the PC.
55
56 Say Y here if your computer has a host-side USB port and you want
57 to use USB devices. You then need to say Y to at least one of the
58 Host Controller Driver (HCD) options below. Choose a USB 1.1
59 controller, such as "UHCI HCD support" or "OHCI HCD support",
60 and "EHCI HCD (USB 2.0) support" except for older systems that
61 do not have USB 2.0 support. It doesn't normally hurt to select
62 them all if you are not certain.
63
64 If your system has a device-side USB port, used in the peripheral
65 side of the USB protocol, see the "USB Gadget" framework instead.
66
67 After choosing your HCD, then select drivers for the USB peripherals
68 you'll be using. You may want to check out the information provided
69 in <file:Documentation/usb/> and especially the links given in
70 <file:Documentation/usb/usb-help.txt>.
71
72 To compile this driver as a module, choose M here: the
73 module will be called usbcore.
74
yuan linyu2c93e792017-02-25 19:20:55 +080075config USB_PCI
76 bool "PCI based USB host interface"
77 depends on PCI
78 default y
79 ---help---
Chris Mayo2bb80de2017-10-17 17:54:52 +010080 Many embedded system SOCs (e.g. freescale T2080) have both
81 PCI and USB modules with the USB module directly controlled by
82 registers and having no relationship to the PCI module.
yuan linyu2c93e792017-02-25 19:20:55 +080083
Chris Mayo2bb80de2017-10-17 17:54:52 +010084 If you have such a device you may say N here and PCI related code
85 will not be built in the USB driver.
yuan linyu2c93e792017-02-25 19:20:55 +080086
Florian Fainelli25e11ec2013-04-09 14:29:25 +020087if USB
Linus Torvalds1da177e2005-04-16 15:20:36 -070088
Florian Fainelli25e11ec2013-04-09 14:29:25 +020089source "drivers/usb/core/Kconfig"
Felipe Balbi72246da2011-08-19 18:10:58 +030090
Simon Arlott3bea3022008-07-21 20:44:50 +010091source "drivers/usb/mon/Kconfig"
92
Greg Kroah-Hartman470cc412008-09-17 16:34:26 +010093source "drivers/usb/wusbcore/Kconfig"
94
Linus Torvalds1da177e2005-04-16 15:20:36 -070095source "drivers/usb/host/Kconfig"
96
Kuninori Morimotof1407d52011-04-04 13:44:59 +090097source "drivers/usb/renesas_usbhs/Kconfig"
98
Linus Torvalds1da177e2005-04-16 15:20:36 -070099source "drivers/usb/class/Kconfig"
100
101source "drivers/usb/storage/Kconfig"
102
Linus Torvalds1da177e2005-04-16 15:20:36 -0700103source "drivers/usb/image/Kconfig"
104
Valentina Manea96c27372014-08-20 07:31:00 +0300105source "drivers/usb/usbip/Kconfig"
106
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200107endif
108
Chunfeng Yundf2069a2016-10-19 10:28:23 +0800109source "drivers/usb/mtu3/Kconfig"
110
Ezequiel Garcia845c0712013-12-22 00:08:33 -0300111source "drivers/usb/musb/Kconfig"
112
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200113source "drivers/usb/dwc3/Kconfig"
114
Paul Zimmerman197ba5f42014-01-13 13:50:09 -0800115source "drivers/usb/dwc2/Kconfig"
116
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200117source "drivers/usb/chipidea/Kconfig"
118
Laurent Pinchart7ef077a2015-01-21 00:56:02 +0200119source "drivers/usb/isp1760/Kconfig"
120
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121comment "USB port drivers"
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200122
123if USB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124
125config USB_USS720
126 tristate "USS720 parport driver"
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200127 depends on PARPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700128 select PARPORT_NOT_PC
129 ---help---
130 This driver is for USB parallel port adapters that use the Lucent
131 Technologies USS-720 chip. These cables are plugged into your USB
132 port and provide USB compatibility to peripherals designed with
133 parallel port interfaces.
134
135 The chip has two modes: automatic mode and manual mode. In automatic
136 mode, it looks to the computer like a standard USB printer. Only
137 printers may be connected to the USS-720 in this mode. The generic
138 USB printer driver ("USB Printer support", above) may be used in
139 that mode, and you can say N here if you want to use the chip only
140 in this mode.
141
142 Manual mode is not limited to printers, any parallel port
143 device should work. This driver utilizes manual mode.
144 Note however that some operations are three orders of magnitude
145 slower than on a PCI/ISA Parallel Port, so timing critical
146 applications might not work.
147
148 Say Y here if you own an USS-720 USB->Parport cable and intend to
149 connect anything other than a printer to it.
150
151 To compile this driver as a module, choose M here: the
152 module will be called uss720.
153
154source "drivers/usb/serial/Kconfig"
155
156source "drivers/usb/misc/Kconfig"
157
158source "drivers/usb/atm/Kconfig"
159
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200160endif # USB
161
162source "drivers/usb/phy/Kconfig"
163
Linus Torvalds1da177e2005-04-16 15:20:36 -0700164source "drivers/usb/gadget/Kconfig"
165
Heikki Krogerusfab92882017-03-21 13:56:47 +0200166source "drivers/usb/typec/Kconfig"
167
Michal Sojka0cfbd322014-09-24 22:43:21 +0200168config USB_LED_TRIG
169 bool "USB LED Triggers"
Peter Chencb9c1cf2016-09-14 09:49:30 +0800170 depends on LEDS_CLASS && LEDS_TRIGGERS
171 select USB_COMMON
Michal Sojka0cfbd322014-09-24 22:43:21 +0200172 help
173 This option adds LED triggers for USB host and/or gadget activity.
174
175 Say Y here if you are working on a system with led-class supported
176 LEDs and you want to use them as activity indicators for USB host or
177 gadget.
178
Peter Chenad764c42016-08-16 17:33:25 +0800179config USB_ULPI_BUS
180 tristate "USB ULPI PHY interface support"
Peter Chencb9c1cf2016-09-14 09:49:30 +0800181 select USB_COMMON
Peter Chenad764c42016-08-16 17:33:25 +0800182 help
183 UTMI+ Low Pin Interface (ULPI) is specification for a commonly used
184 USB 2.0 PHY interface. The ULPI specification defines a standard set
185 of registers that can be used to detect the vendor and product which
186 allows ULPI to be handled as a bus. This module is the driver for that
187 bus.
188
189 The ULPI interfaces (the buses) are registered by the drivers for USB
190 controllers which support ULPI register access and have ULPI PHY
191 attached to them. The ULPI PHY drivers themselves are normal PHY
192 drivers.
193
194 ULPI PHYs provide often functions such as ADP sensing/probing (OTG
195 protocol) and USB charger detection.
196
197 To compile this driver as a module, choose M here: the module will
198 be called ulpi.
199
Jan Engelhardt04d06ad2007-05-10 23:04:13 -0700200endif # USB_SUPPORT