blob: 0103f777b97ad73fddb1d94f0ae5a509b9286653 [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
6bool
7
8config USB_OHCI_BIG_ENDIAN_MMIO
9bool
10
11config USB_OHCI_LITTLE_ENDIAN
12bool
13default n if STB03xxx || PPC_MPC52xx
14default y
15
David Daney900e0622013-08-09 18:17:48 -070016config USB_EHCI_BIG_ENDIAN_MMIO
17bool
18
19config USB_EHCI_BIG_ENDIAN_DESC
20bool
21
James Hoganb2a61412018-01-31 22:24:45 +000022config USB_UHCI_BIG_ENDIAN_MMIO
23bool
24default y if SPARC_LEON
25
26config USB_UHCI_BIG_ENDIAN_DESC
27bool
28default y if SPARC_LEON
29
David Daneya8edc422012-03-22 14:01:07 -070030menuconfig USB_SUPPORT
31bool "USB support"
32depends on HAS_IOMEM
33default y
34---help---
35 This option adds core support for Universal Serial Bus (USB).
36 You will also need drivers from the following menu to make use of it.
37
David Daney53c6bc22012-03-13 15:58:05 -070038if USB_SUPPORT
39
40config USB_COMMON
41tristate
David Daney53c6bc22012-03-13 15:58:05 -070042
David Daney53c6bc22012-03-13 15:58:05 -070043config USB_ARCH_HAS_HCD
Arnd Bergmannd9ea21a2013-06-04 19:42:22 +020044def_bool y
David Daney53c6bc22012-03-13 15:58:05 -070045
Linus Torvalds1da177e2005-04-16 15:20:36 -070046# ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
47config USB
48tristate "Support for Host-side USB"
49depends on USB_ARCH_HAS_HCD
Arnd Bergmannbadf6d42016-03-23 17:45:08 +010050select USB_COMMON
Clemens Ladischa853a3d2009-04-24 10:12:18 +020051select NLS # for UTF-8 strings
Linus Torvalds1da177e2005-04-16 15:20:36 -070052---help---
53 Universal Serial Bus (USB) is a specification for a serial bus
54 subsystem which offers higher speeds and more features than the
55 traditional PC serial port. The bus supplies power to peripherals
56 and allows for hot swapping. Up to 127 USB peripherals can be
57 connected to a single USB host in a tree structure.
58
59 The USB host is the root of the tree, the peripherals are the
60 leaves and the inner nodes are special USB devices called hubs.
61 Most PCs now have USB host ports, used to connect peripherals
62 such as scanners, keyboards, mice, modems, cameras, disks,
63 flash memory, network links, and printers to the PC.
64
65 Say Y here if your computer has a host-side USB port and you want
66 to use USB devices. You then need to say Y to at least one of the
67 Host Controller Driver (HCD) options below. Choose a USB 1.1
68 controller, such as "UHCI HCD support" or "OHCI HCD support",
69 and "EHCI HCD (USB 2.0) support" except for older systems that
70 do not have USB 2.0 support. It doesn't normally hurt to select
71 them all if you are not certain.
72
73 If your system has a device-side USB port, used in the peripheral
74 side of the USB protocol, see the "USB Gadget" framework instead.
75
76 After choosing your HCD, then select drivers for the USB peripherals
77 you'll be using. You may want to check out the information provided
78 in <file:Documentation/usb/> and especially the links given in
79 <file:Documentation/usb/usb-help.txt>.
80
81 To compile this driver as a module, choose M here: the
82 module will be called usbcore.
83
Florian Fainelli25e11ec2013-04-09 14:29:25 +020084if USB
Linus Torvalds1da177e2005-04-16 15:20:36 -070085
Florian Fainelli25e11ec2013-04-09 14:29:25 +020086source "drivers/usb/core/Kconfig"
Felipe Balbi72246da2011-08-19 18:10:58 +030087
Simon Arlott3bea3022008-07-21 20:44:50 +010088source "drivers/usb/mon/Kconfig"
89
Greg Kroah-Hartman470cc412008-09-17 16:34:26 +010090source "drivers/usb/wusbcore/Kconfig"
91
Linus Torvalds1da177e2005-04-16 15:20:36 -070092source "drivers/usb/host/Kconfig"
93
Kuninori Morimotof1407d52011-04-04 13:44:59 +090094source "drivers/usb/renesas_usbhs/Kconfig"
95
Linus Torvalds1da177e2005-04-16 15:20:36 -070096source "drivers/usb/class/Kconfig"
97
98source "drivers/usb/storage/Kconfig"
99
Linus Torvalds1da177e2005-04-16 15:20:36 -0700100source "drivers/usb/image/Kconfig"
101
Valentina Manea96c27372014-08-20 07:31:00 +0300102source "drivers/usb/usbip/Kconfig"
103
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200104endif
105
Ezequiel Garcia845c0712013-12-22 00:08:33 -0300106source "drivers/usb/musb/Kconfig"
107
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200108source "drivers/usb/dwc3/Kconfig"
109
Paul Zimmerman197ba5f42014-01-13 13:50:09 -0800110source "drivers/usb/dwc2/Kconfig"
111
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200112source "drivers/usb/chipidea/Kconfig"
113
Laurent Pinchart7ef077a2015-01-21 00:56:02 +0200114source "drivers/usb/isp1760/Kconfig"
115
Linus Torvalds1da177e2005-04-16 15:20:36 -0700116comment "USB port drivers"
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200117
118if USB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119
120config USB_USS720
121tristate "USS720 parport driver"
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200122depends on PARPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123select PARPORT_NOT_PC
124---help---
125 This driver is for USB parallel port adapters that use the Lucent
126 Technologies USS-720 chip. These cables are plugged into your USB
127 port and provide USB compatibility to peripherals designed with
128 parallel port interfaces.
129
130 The chip has two modes: automatic mode and manual mode. In automatic
131 mode, it looks to the computer like a standard USB printer. Only
132 printers may be connected to the USS-720 in this mode. The generic
133 USB printer driver ("USB Printer support", above) may be used in
134 that mode, and you can say N here if you want to use the chip only
135 in this mode.
136
137 Manual mode is not limited to printers, any parallel port
138 device should work. This driver utilizes manual mode.
139 Note however that some operations are three orders of magnitude
140 slower than on a PCI/ISA Parallel Port, so timing critical
141 applications might not work.
142
143 Say Y here if you own an USS-720 USB->Parport cable and intend to
144 connect anything other than a printer to it.
145
146 To compile this driver as a module, choose M here: the
147 module will be called uss720.
148
149source "drivers/usb/serial/Kconfig"
150
151source "drivers/usb/misc/Kconfig"
152
153source "drivers/usb/atm/Kconfig"
154
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200155endif # USB
156
157source "drivers/usb/phy/Kconfig"
158
Linus Torvalds1da177e2005-04-16 15:20:36 -0700159source "drivers/usb/gadget/Kconfig"
160
Michal Sojka0cfbd322014-09-24 22:43:21 +0200161config USB_LED_TRIG
162bool "USB LED Triggers"
Peter Chencb9c1cf2016-09-14 09:49:30 +0800163depends on LEDS_CLASS && LEDS_TRIGGERS
164select USB_COMMON
Michal Sojka0cfbd322014-09-24 22:43:21 +0200165help
166 This option adds LED triggers for USB host and/or gadget activity.
167
168 Say Y here if you are working on a system with led-class supported
169 LEDs and you want to use them as activity indicators for USB host or
170 gadget.
171
Peter Chenad764c42016-08-16 17:33:25 +0800172config USB_ULPI_BUS
173tristate "USB ULPI PHY interface support"
Peter Chencb9c1cf2016-09-14 09:49:30 +0800174select USB_COMMON
Peter Chenad764c42016-08-16 17:33:25 +0800175help
176 UTMI+ Low Pin Interface (ULPI) is specification for a commonly used
177 USB 2.0 PHY interface. The ULPI specification defines a standard set
178 of registers that can be used to detect the vendor and product which
179 allows ULPI to be handled as a bus. This module is the driver for that
180 bus.
181
182 The ULPI interfaces (the buses) are registered by the drivers for USB
183 controllers which support ULPI register access and have ULPI PHY
184 attached to them. The ULPI PHY drivers themselves are normal PHY
185 drivers.
186
187 ULPI PHYs provide often functions such as ADP sensing/probing (OTG
188 protocol) and USB charger detection.
189
190 To compile this driver as a module, choose M here: the module will
191 be called ulpi.
192
Jan Engelhardt04d06ad2007-05-10 23:04:13 -0700193endif # USB_SUPPORT