xref: /linux/drivers/usb/Kconfig (revision f3a8b6645dc2e60d11f20c1c23afd964ff4e55ae)
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/musb/Kconfig"
99
100source "drivers/usb/dwc3/Kconfig"
101
102source "drivers/usb/dwc2/Kconfig"
103
104source "drivers/usb/chipidea/Kconfig"
105
106source "drivers/usb/isp1760/Kconfig"
107
108comment "USB port drivers"
109
110if USB
111
112config USB_USS720
113	tristate "USS720 parport driver"
114	depends on PARPORT
115	select PARPORT_NOT_PC
116	---help---
117	  This driver is for USB parallel port adapters that use the Lucent
118	  Technologies USS-720 chip. These cables are plugged into your USB
119	  port and provide USB compatibility to peripherals designed with
120	  parallel port interfaces.
121
122	  The chip has two modes: automatic mode and manual mode. In automatic
123	  mode, it looks to the computer like a standard USB printer. Only
124	  printers may be connected to the USS-720 in this mode. The generic
125	  USB printer driver ("USB Printer support", above) may be used in
126	  that mode, and you can say N here if you want to use the chip only
127	  in this mode.
128
129	  Manual mode is not limited to printers, any parallel port
130	  device should work. This driver utilizes manual mode.
131	  Note however that some operations are three orders of magnitude
132	  slower than on a PCI/ISA Parallel Port, so timing critical
133	  applications might not work.
134
135	  Say Y here if you own an USS-720 USB->Parport cable and intend to
136	  connect anything other than a printer to it.
137
138	  To compile this driver as a module, choose M here: the
139	  module will be called uss720.
140
141source "drivers/usb/serial/Kconfig"
142
143source "drivers/usb/misc/Kconfig"
144
145source "drivers/usb/atm/Kconfig"
146
147endif # USB
148
149source "drivers/usb/phy/Kconfig"
150
151source "drivers/usb/gadget/Kconfig"
152
153config USB_LED_TRIG
154	bool "USB LED Triggers"
155	depends on LEDS_CLASS && LEDS_TRIGGERS
156	select USB_COMMON
157	help
158	  This option adds LED triggers for USB host and/or gadget activity.
159
160	  Say Y here if you are working on a system with led-class supported
161	  LEDs and you want to use them as activity indicators for USB host or
162	  gadget.
163
164config USB_ULPI_BUS
165	tristate "USB ULPI PHY interface support"
166	select USB_COMMON
167	help
168	  UTMI+ Low Pin Interface (ULPI) is specification for a commonly used
169	  USB 2.0 PHY interface. The ULPI specification defines a standard set
170	  of registers that can be used to detect the vendor and product which
171	  allows ULPI to be handled as a bus. This module is the driver for that
172	  bus.
173
174	  The ULPI interfaces (the buses) are registered by the drivers for USB
175	  controllers which support ULPI register access and have ULPI PHY
176	  attached to them. The ULPI PHY drivers themselves are normal PHY
177	  drivers.
178
179	  ULPI PHYs provide often functions such as ADP sensing/probing (OTG
180	  protocol) and USB charger detection.
181
182	  To compile this driver as a module, choose M here: the module will
183	  be called ulpi.
184
185endif # USB_SUPPORT
186