1# SPDX-License-Identifier: GPL-2.0
2#
3# USB Miscellaneous driver configuration
4#
5comment "USB Miscellaneous drivers"
6
7config USB_EMI62
8	tristate "EMI 6|2m USB Audio interface support"
9	help
10	  This driver loads firmware to Emagic EMI 6|2m low latency USB
11	  Audio and Midi interface.
12
13	  After firmware load the device is handled with standard linux
14	  USB Audio driver.
15
16	  This code is also available as a module ( = code which can be
17	  inserted in and removed from the running kernel whenever you want).
18	  The module will be called audio. If you want to compile it as a
19	  module, say M here and read <file:Documentation/kbuild/modules.rst>.
20
21config USB_EMI26
22	tristate "EMI 2|6 USB Audio interface support"
23	help
24	  This driver loads firmware to Emagic EMI 2|6 low latency USB
25	  Audio interface.
26
27	  After firmware load the device is handled with standard linux
28	  USB Audio driver.
29
30	  To compile this driver as a module, choose M here: the
31	  module will be called emi26.
32
33config USB_ADUTUX
34	tristate "ADU devices from Ontrak Control Systems"
35	help
36	  Say Y if you want to use an ADU device from Ontrak Control
37	  Systems.
38
39	  To compile this driver as a module, choose M here.  The module
40	  will be called adutux.
41
42config USB_SEVSEG
43	tristate "USB 7-Segment LED Display"
44	help
45	  Say Y here if you have a USB 7-Segment Display by Delcom
46
47	  To compile this driver as a module, choose M here: the
48	  module will be called usbsevseg.
49
50config USB_LEGOTOWER
51	tristate "USB Lego Infrared Tower support"
52	help
53	  Say Y here if you want to connect a USB Lego Infrared Tower to your
54	  computer's USB port.
55
56	  This code is also available as a module ( = code which can be
57	  inserted in and removed from the running kernel whenever you want).
58	  The module will be called legousbtower. If you want to compile it as
59	  a module, say M here and read
60	  <file:Documentation/kbuild/modules.rst>.
61
62config USB_LCD
63	tristate "USB LCD driver support"
64	help
65	  Say Y here if you want to connect an USBLCD to your computer's
66	  USB port. The USBLCD is a small USB interface board for
67	  alphanumeric LCD modules. See <http://www.usblcd.de/> for more
68	  information.
69
70	  To compile this driver as a module, choose M here: the
71	  module will be called usblcd.
72
73config USB_CYPRESS_CY7C63
74	tristate "Cypress CY7C63xxx USB driver support"
75	help
76	  Say Y here if you want to connect a Cypress CY7C63xxx
77	  micro controller to your computer's USB port. Currently this
78	  driver supports the pre-programmed devices (incl. firmware)
79	  by AK Modul-Bus Computer GmbH.
80
81	  Please see: https://www.ak-modul-bus.de/stat/mikrocontroller.html
82
83	  To compile this driver as a module, choose M here: the
84	  module will be called cypress_cy7c63.
85
86config USB_CYTHERM
87	tristate "Cypress USB thermometer driver support"
88	help
89	  Say Y here if you want to connect a Cypress USB thermometer
90	  device to your computer's USB port. This device is also known
91	  as the Cypress USB Starter kit or demo board. The Elektor
92	  magazine published a modified version of this device in issue
93	  #291.
94
95	  To compile this driver as a module, choose M here: the
96	  module will be called cytherm.
97
98config USB_IDMOUSE
99	tristate "Siemens ID USB Mouse Fingerprint sensor support"
100	help
101	  Say Y here if you want to use the fingerprint sensor on
102	  the Siemens ID Mouse. There is also a Siemens ID Mouse
103	  _Professional_, which has not been tested with this driver,
104	  but uses the same sensor and may therefore work.
105
106	  This driver creates an entry "/dev/idmouseX" or "/dev/usb/idmouseX",
107	  which can be used by, e.g.,"cat /dev/idmouse0 > fingerprint.pnm".
108
109	  See also <https://www.fs.tum.de/~echtler/idmouse/>.
110
111config USB_FTDI_ELAN
112	tristate "Elan PCMCIA CardBus Adapter USB Client"
113	help
114	  ELAN's Uxxx series of adapters are USB to PCMCIA CardBus adapters.
115	  Currently only the U132 adapter is available.
116
117	  The U132 is specifically designed for CardBus PC cards that contain
118	  an OHCI host controller. Typical PC cards are the Orange Mobile 3G
119	  Option GlobeTrotter Fusion card. The U132 adapter will *NOT* work
120	  with PC cards that do not contain an OHCI controller. To use a U132
121	  adapter you will need this "ftdi-elan" module as well as the "u132-hcd"
122	  module which is a USB host controller driver that talks to the OHCI
123	  controller within CardBus card that are inserted in the U132 adapter.
124
125	  This driver has been tested with a CardBus OHCI USB adapter, and
126	  worked with a USB PEN Drive inserted into the first USB port of
127	  the PCCARD. A rather pointless thing to do, but useful for testing.
128
129	  See also the USB_U132_HCD entry "Elan U132 Adapter Host Controller"
130
131	  It is safe to say M here.
132
133config USB_APPLEDISPLAY
134	tristate "Apple Cinema Display support"
135	select BACKLIGHT_CLASS_DEVICE
136	help
137	  Say Y here if you want to control the backlight of Apple Cinema
138	  Displays over USB. This driver provides a sysfs interface.
139
140config USB_QCOM_EUD
141	tristate "QCOM Embedded USB Debugger(EUD) Driver"
142	depends on ARCH_QCOM || COMPILE_TEST
143	select USB_ROLE_SWITCH
144	help
145	  This module enables support for Qualcomm Technologies, Inc.
146	  Embedded USB Debugger (EUD). The EUD is a control peripheral
147	  which reports VBUS attach/detach events and has USB-based
148	  debug and trace capabilities. On selecting m, the module name
149	  that is built is qcom_eud.ko
150
151config APPLE_MFI_FASTCHARGE
152	tristate "Fast charge control for iOS devices"
153	select POWER_SUPPLY
154	help
155	  Say Y here if you want to control whether iOS devices will
156	  fast charge from the USB interface, as implemented in "MFi"
157	  chargers.
158
159	  It is safe to say M here.
160
161source "drivers/usb/misc/sisusbvga/Kconfig"
162
163config USB_LD
164	tristate "USB LD driver"
165	help
166	  This driver is for generic USB devices that use interrupt transfers,
167	  like LD Didactic's USB devices.
168
169	  To compile this driver as a module, choose M here: the
170	  module will be called ldusb.
171
172config USB_TRANCEVIBRATOR
173	tristate "PlayStation 2 Trance Vibrator driver support"
174	help
175	  Say Y here if you want to connect a PlayStation 2 Trance Vibrator
176	  device to your computer's USB port.
177
178	  To compile this driver as a module, choose M here: the
179	  module will be called trancevibrator.
180
181config USB_IOWARRIOR
182	tristate "IO Warrior driver support"
183	help
184	  Say Y here if you want to support the IO Warrior devices from Code
185	  Mercenaries.  This includes support for the following devices:
186	  	IO Warrior 40
187		IO Warrior 24
188		IO Warrior 56
189		IO Warrior 24 Power Vampire
190
191	  To compile this driver as a module, choose M here: the
192	  module will be called iowarrior.
193
194config USB_TEST
195	tristate "USB testing driver"
196	help
197	  This driver is for testing host controller software.  It is used
198	  with specialized device firmware for regression and stress testing,
199	  to help prevent problems from cropping up with "real" drivers.
200
201	  See <http://www.linux-usb.org/usbtest/> for more information,
202	  including sample test device firmware and "how to use it".
203
204config USB_EHSET_TEST_FIXTURE
205	tristate "USB EHSET Test Fixture driver"
206	help
207	  Say Y here if you want to support the special test fixture device
208	  used for the USB-IF Embedded Host High-Speed Electrical Test procedure.
209
210	  When the test fixture is connected, it can enumerate as one of several
211	  VID/PID pairs. This driver then initiates a corresponding test mode on
212	  the downstream port to which the test fixture is attached.
213
214	  See <http://www.usb.org/developers/onthego/EHSET_v1.01.pdf> for more
215	  information.
216
217config USB_ISIGHTFW
218	tristate "iSight firmware loading support"
219	select FW_LOADER
220	help
221	  This driver loads firmware for USB Apple iSight cameras, allowing
222	  them to be driven by the USB video class driver available at
223	  http://linux-uvc.berlios.de
224
225	  The firmware for this driver must be extracted from the MacOS
226	  driver beforehand. Tools for doing so are available at
227	  http://bersace03.free.fr
228
229config USB_YUREX
230	tristate "USB YUREX driver support"
231	help
232	  Say Y here if you want to connect a YUREX to your computer's
233	  USB port. The YUREX is a leg-shakes sensor. See
234	  <http://bbu.kayac.com/en/> for further information.
235	  This driver supports read/write of leg-shakes counter and
236	  fasync for the counter update via a device file /dev/yurex*.
237
238	  To compile this driver as a module, choose M here: the
239	  module will be called yurex.
240
241config USB_EZUSB_FX2
242	tristate "Functions for loading firmware on EZUSB chips"
243	help
244	  Say Y here if you need EZUSB device support.
245	  (Cypress FX/FX2/FX2LP microcontrollers)
246
247config USB_HUB_USB251XB
248	tristate "USB251XB Hub Controller Configuration Driver"
249	depends on I2C
250	help
251	  This option enables support for configuration via SMBus of the
252	  Microchip USB251x/xBi USB 2.0 Hub Controller series. Configuration
253	  parameters may be set in devicetree or platform data.
254	  Say Y or M here if you need to configure such a device via SMBus.
255
256config USB_HSIC_USB3503
257	tristate "USB3503 HSIC to USB20 Driver"
258	depends on I2C
259	select REGMAP_I2C
260	help
261	  This option enables support for SMSC USB3503 HSIC to USB 2.0 Driver.
262
263config USB_HSIC_USB4604
264	tristate "USB4604 HSIC to USB20 Driver"
265	depends on I2C
266	help
267	  This option enables support for SMSC USB4604 HSIC to USB 2.0 Driver.
268
269config USB_LINK_LAYER_TEST
270	tristate "USB Link Layer Test driver"
271	help
272	  This driver is for generating specific traffic for Super Speed Link
273	  Layer Test Device. Say Y only when you want to conduct USB Super Speed
274	  Link Layer Test for host controllers.
275
276config USB_CHAOSKEY
277	tristate "ChaosKey random number generator driver support"
278	depends on HW_RANDOM
279	help
280	  Say Y here if you want to connect an AltusMetrum ChaosKey or
281	  Araneus Alea I to your computer's USB port. These devices
282	  are hardware random number generators which hook into the
283	  kernel entropy pool to ensure a large supply of entropy for
284	  /dev/random and /dev/urandom and also provides direct access
285	  via /dev/chaoskeyX
286
287	  To compile this driver as a module, choose M here: the
288	  module will be called chaoskey.
289
290config BRCM_USB_PINMAP
291	tristate "Broadcom pinmap driver support"
292	depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
293	default ARCH_BRCMSTB && PHY_BRCM_USB
294	help
295	  This option enables support for remapping some USB external
296	  signals, which are typically on dedicated pins on the chip,
297	  to any gpio.
298
299config USB_ONBOARD_HUB
300	tristate "Onboard USB hub support"
301	depends on OF
302	help
303	  Say Y here if you want to support discrete onboard USB hubs that
304	  don't require an additional control bus for initialization, but
305	  need some non-trivial form of initialization, such as enabling a
306	  power regulator. An example for such a hub is the Realtek
307	  RTS5411.
308
309	  This driver can be used as a module but its state (module vs
310	  builtin) must match the state of the USB subsystem. Enabling
311	  this config will enable the driver and it will automatically
312	  match the state of the USB subsystem. If this driver is a
313	  module it will be called onboard_usb_hub.
314