xref: /linux/drivers/usb/Kconfig (revision e5c86679d5e864947a52fb31e45a425dea3e7fa9)
1#
2# USB device configuration
3#
4
5config 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
16config USB_EHCI_BIG_ENDIAN_MMIO
17	bool
18
19config USB_EHCI_BIG_ENDIAN_DESC
20	bool
21
22menuconfig 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
30if USB_SUPPORT
31
32config USB_COMMON
33	tristate
34
35config USB_ARCH_HAS_HCD
36	def_bool y
37
38# ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
39config USB
40	tristate "Support for Host-side USB"
41	depends on USB_ARCH_HAS_HCD
42	select USB_COMMON
43	select NLS  # for UTF-8 strings
44	---help---
45	  Universal Serial Bus (USB) is a specification for a serial bus
46	  subsystem which offers higher speeds and more features than the
47	  traditional PC serial port.  The bus supplies power to peripherals
48	  and allows for hot swapping.  Up to 127 USB peripherals can be
49	  connected to a single USB host in a tree structure.
50
51	  The USB host is the root of the tree, the peripherals are the
52	  leaves and the inner nodes are special USB devices called hubs.
53	  Most PCs now have USB host ports, used to connect peripherals
54	  such as scanners, keyboards, mice, modems, cameras, disks,
55	  flash memory, network links, and printers to the PC.
56
57	  Say Y here if your computer has a host-side USB port and you want
58	  to use USB devices.  You then need to say Y to at least one of the
59	  Host Controller Driver (HCD) options below.  Choose a USB 1.1
60	  controller, such as "UHCI HCD support" or "OHCI HCD support",
61	  and "EHCI HCD (USB 2.0) support" except for older systems that
62	  do not have USB 2.0 support.  It doesn't normally hurt to select
63	  them all if you are not certain.
64
65	  If your system has a device-side USB port, used in the peripheral
66	  side of the USB protocol, see the "USB Gadget" framework instead.
67
68	  After choosing your HCD, then select drivers for the USB peripherals
69	  you'll be using.  You may want to check out the information provided
70	  in <file:Documentation/usb/> and especially the links given in
71	  <file:Documentation/usb/usb-help.txt>.
72
73	  To compile this driver as a module, choose M here: the
74	  module will be called usbcore.
75
76if USB
77
78source "drivers/usb/core/Kconfig"
79
80source "drivers/usb/mon/Kconfig"
81
82source "drivers/usb/wusbcore/Kconfig"
83
84source "drivers/usb/host/Kconfig"
85
86source "drivers/usb/renesas_usbhs/Kconfig"
87
88source "drivers/usb/class/Kconfig"
89
90source "drivers/usb/storage/Kconfig"
91
92source "drivers/usb/image/Kconfig"
93
94source "drivers/usb/usbip/Kconfig"
95
96endif
97
98source "drivers/usb/mtu3/Kconfig"
99
100source "drivers/usb/musb/Kconfig"
101
102source "drivers/usb/dwc3/Kconfig"
103
104source "drivers/usb/dwc2/Kconfig"
105
106source "drivers/usb/chipidea/Kconfig"
107
108source "drivers/usb/isp1760/Kconfig"
109
110comment "USB port drivers"
111
112if USB
113
114config USB_USS720
115	tristate "USS720 parport driver"
116	depends on PARPORT
117	select PARPORT_NOT_PC
118	---help---
119	  This driver is for USB parallel port adapters that use the Lucent
120	  Technologies USS-720 chip. These cables are plugged into your USB
121	  port and provide USB compatibility to peripherals designed with
122	  parallel port interfaces.
123
124	  The chip has two modes: automatic mode and manual mode. In automatic
125	  mode, it looks to the computer like a standard USB printer. Only
126	  printers may be connected to the USS-720 in this mode. The generic
127	  USB printer driver ("USB Printer support", above) may be used in
128	  that mode, and you can say N here if you want to use the chip only
129	  in this mode.
130
131	  Manual mode is not limited to printers, any parallel port
132	  device should work. This driver utilizes manual mode.
133	  Note however that some operations are three orders of magnitude
134	  slower than on a PCI/ISA Parallel Port, so timing critical
135	  applications might not work.
136
137	  Say Y here if you own an USS-720 USB->Parport cable and intend to
138	  connect anything other than a printer to it.
139
140	  To compile this driver as a module, choose M here: the
141	  module will be called uss720.
142
143source "drivers/usb/serial/Kconfig"
144
145source "drivers/usb/misc/Kconfig"
146
147source "drivers/usb/atm/Kconfig"
148
149endif # USB
150
151source "drivers/usb/phy/Kconfig"
152
153source "drivers/usb/gadget/Kconfig"
154
155config USB_LED_TRIG
156	bool "USB LED Triggers"
157	depends on LEDS_CLASS && LEDS_TRIGGERS
158	select USB_COMMON
159	help
160	  This option adds LED triggers for USB host and/or gadget activity.
161
162	  Say Y here if you are working on a system with led-class supported
163	  LEDs and you want to use them as activity indicators for USB host or
164	  gadget.
165
166config USB_ULPI_BUS
167	tristate "USB ULPI PHY interface support"
168	select USB_COMMON
169	help
170	  UTMI+ Low Pin Interface (ULPI) is specification for a commonly used
171	  USB 2.0 PHY interface. The ULPI specification defines a standard set
172	  of registers that can be used to detect the vendor and product which
173	  allows ULPI to be handled as a bus. This module is the driver for that
174	  bus.
175
176	  The ULPI interfaces (the buses) are registered by the drivers for USB
177	  controllers which support ULPI register access and have ULPI PHY
178	  attached to them. The ULPI PHY drivers themselves are normal PHY
179	  drivers.
180
181	  ULPI PHYs provide often functions such as ADP sensing/probing (OTG
182	  protocol) and USB charger detection.
183
184	  To compile this driver as a module, choose M here: the module will
185	  be called ulpi.
186
187endif # USB_SUPPORT
188