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 APPLE_MFI_FASTCHARGE
141	tristate "Fast charge control for iOS devices"
142	select POWER_SUPPLY
143	help
144	  Say Y here if you want to control whether iOS devices will
145	  fast charge from the USB interface, as implemented in "MFi"
146	  chargers.
147
148	  It is safe to say M here.
149
150source "drivers/usb/misc/sisusbvga/Kconfig"
151
152config USB_LD
153	tristate "USB LD driver"
154	help
155	  This driver is for generic USB devices that use interrupt transfers,
156	  like LD Didactic's USB devices.
157
158	  To compile this driver as a module, choose M here: the
159	  module will be called ldusb.
160
161config USB_TRANCEVIBRATOR
162	tristate "PlayStation 2 Trance Vibrator driver support"
163	help
164	  Say Y here if you want to connect a PlayStation 2 Trance Vibrator
165	  device to your computer's USB port.
166
167	  To compile this driver as a module, choose M here: the
168	  module will be called trancevibrator.
169
170config USB_IOWARRIOR
171	tristate "IO Warrior driver support"
172	help
173	  Say Y here if you want to support the IO Warrior devices from Code
174	  Mercenaries.  This includes support for the following devices:
175	  	IO Warrior 40
176		IO Warrior 24
177		IO Warrior 56
178		IO Warrior 24 Power Vampire
179
180	  To compile this driver as a module, choose M here: the
181	  module will be called iowarrior.
182
183config USB_TEST
184	tristate "USB testing driver"
185	help
186	  This driver is for testing host controller software.  It is used
187	  with specialized device firmware for regression and stress testing,
188	  to help prevent problems from cropping up with "real" drivers.
189
190	  See <http://www.linux-usb.org/usbtest/> for more information,
191	  including sample test device firmware and "how to use it".
192
193config USB_EHSET_TEST_FIXTURE
194	tristate "USB EHSET Test Fixture driver"
195	help
196	  Say Y here if you want to support the special test fixture device
197	  used for the USB-IF Embedded Host High-Speed Electrical Test procedure.
198
199	  When the test fixture is connected, it can enumerate as one of several
200	  VID/PID pairs. This driver then initiates a corresponding test mode on
201	  the downstream port to which the test fixture is attached.
202
203	  See <http://www.usb.org/developers/onthego/EHSET_v1.01.pdf> for more
204	  information.
205
206config USB_ISIGHTFW
207	tristate "iSight firmware loading support"
208	select FW_LOADER
209	help
210	  This driver loads firmware for USB Apple iSight cameras, allowing
211	  them to be driven by the USB video class driver available at
212	  http://linux-uvc.berlios.de
213
214	  The firmware for this driver must be extracted from the MacOS
215	  driver beforehand. Tools for doing so are available at
216	  http://bersace03.free.fr
217
218config USB_YUREX
219	tristate "USB YUREX driver support"
220	help
221	  Say Y here if you want to connect a YUREX to your computer's
222	  USB port. The YUREX is a leg-shakes sensor. See
223	  <http://bbu.kayac.com/en/> for further information.
224	  This driver supports read/write of leg-shakes counter and
225	  fasync for the counter update via a device file /dev/yurex*.
226
227	  To compile this driver as a module, choose M here: the
228	  module will be called yurex.
229
230config USB_EZUSB_FX2
231	tristate "Functions for loading firmware on EZUSB chips"
232	help
233	  Say Y here if you need EZUSB device support.
234	  (Cypress FX/FX2/FX2LP microcontrollers)
235
236config USB_HUB_USB251XB
237	tristate "USB251XB Hub Controller Configuration Driver"
238	depends on I2C
239	help
240	  This option enables support for configuration via SMBus of the
241	  Microchip USB251x/xBi USB 2.0 Hub Controller series. Configuration
242	  parameters may be set in devicetree or platform data.
243	  Say Y or M here if you need to configure such a device via SMBus.
244
245config USB_HSIC_USB3503
246	tristate "USB3503 HSIC to USB20 Driver"
247	depends on I2C
248	select REGMAP_I2C
249	help
250	  This option enables support for SMSC USB3503 HSIC to USB 2.0 Driver.
251
252config USB_HSIC_USB4604
253	tristate "USB4604 HSIC to USB20 Driver"
254	depends on I2C
255	help
256	  This option enables support for SMSC USB4604 HSIC to USB 2.0 Driver.
257
258config USB_LINK_LAYER_TEST
259	tristate "USB Link Layer Test driver"
260	help
261	  This driver is for generating specific traffic for Super Speed Link
262	  Layer Test Device. Say Y only when you want to conduct USB Super Speed
263	  Link Layer Test for host controllers.
264
265config USB_CHAOSKEY
266	tristate "ChaosKey random number generator driver support"
267	depends on HW_RANDOM
268	help
269	  Say Y here if you want to connect an AltusMetrum ChaosKey or
270	  Araneus Alea I to your computer's USB port. These devices
271	  are hardware random number generators which hook into the
272	  kernel entropy pool to ensure a large supply of entropy for
273	  /dev/random and /dev/urandom and also provides direct access
274	  via /dev/chaoskeyX
275
276	  To compile this driver as a module, choose M here: the
277	  module will be called chaoskey.
278
279config BRCM_USB_PINMAP
280	tristate "Broadcom pinmap driver support"
281	depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
282	default ARCH_BRCMSTB && PHY_BRCM_USB
283	help
284	  This option enables support for remapping some USB external
285	  signals, which are typically on dedicated pins on the chip,
286	  to any gpio.
287