xref: /linux/drivers/usb/misc/Kconfig (revision 6190d0fa18995b8bcc6b9a26913bb8390bda8396)
1# SPDX-License-Identifier: GPL-2.0
2#
3# USB Miscellaneous driver configuration
4#
5comment "USB Miscellaneous drivers"
6
7config USB_USS720
8	tristate "USS720 parport driver"
9	depends on PARPORT
10	select PARPORT_NOT_PC
11	help
12	  This driver is for USB parallel port adapters that use the Lucent
13	  Technologies USS-720 chip. These cables are plugged into your USB
14	  port and provide USB compatibility to peripherals designed with
15	  parallel port interfaces.
16
17	  The chip has two modes: automatic mode and manual mode. In automatic
18	  mode, it looks to the computer like a standard USB printer. Only
19	  printers may be connected to the USS-720 in this mode. The generic
20	  USB printer driver ("USB Printer support", above) may be used in
21	  that mode, and you can say N here if you want to use the chip only
22	  in this mode.
23
24	  Manual mode is not limited to printers, any parallel port
25	  device should work. This driver utilizes manual mode.
26	  Note however that some operations are three orders of magnitude
27	  slower than on a PCI/ISA Parallel Port, so timing critical
28	  applications might not work.
29
30	  Say Y here if you own an USS-720 USB->Parport cable and intend to
31	  connect anything other than a printer to it.
32
33	  To compile this driver as a module, choose M here: the
34	  module will be called uss720.
35
36config USB_EMI62
37	tristate "EMI 6|2m USB Audio interface support"
38	help
39	  This driver loads firmware to Emagic EMI 6|2m low latency USB
40	  Audio and Midi interface.
41
42	  After firmware load the device is handled with standard linux
43	  USB Audio driver.
44
45	  This code is also available as a module ( = code which can be
46	  inserted in and removed from the running kernel whenever you want).
47	  The module will be called audio. If you want to compile it as a
48	  module, say M here and read <file:Documentation/kbuild/modules.rst>.
49
50config USB_EMI26
51	tristate "EMI 2|6 USB Audio interface support"
52	help
53	  This driver loads firmware to Emagic EMI 2|6 low latency USB
54	  Audio interface.
55
56	  After firmware load the device is handled with standard linux
57	  USB Audio driver.
58
59	  To compile this driver as a module, choose M here: the
60	  module will be called emi26.
61
62config USB_ADUTUX
63	tristate "ADU devices from Ontrak Control Systems"
64	help
65	  Say Y if you want to use an ADU device from Ontrak Control
66	  Systems.
67
68	  To compile this driver as a module, choose M here.  The module
69	  will be called adutux.
70
71config USB_SEVSEG
72	tristate "USB 7-Segment LED Display"
73	help
74	  Say Y here if you have a USB 7-Segment Display by Delcom
75
76	  To compile this driver as a module, choose M here: the
77	  module will be called usbsevseg.
78
79config USB_LEGOTOWER
80	tristate "USB Lego Infrared Tower support"
81	help
82	  Say Y here if you want to connect a USB Lego Infrared Tower to your
83	  computer's USB port.
84
85	  This code is also available as a module ( = code which can be
86	  inserted in and removed from the running kernel whenever you want).
87	  The module will be called legousbtower. If you want to compile it as
88	  a module, say M here and read
89	  <file:Documentation/kbuild/modules.rst>.
90
91config USB_LCD
92	tristate "USB LCD driver support"
93	help
94	  Say Y here if you want to connect an USBLCD to your computer's
95	  USB port. The USBLCD is a small USB interface board for
96	  alphanumeric LCD modules. See <http://www.usblcd.de/> for more
97	  information.
98
99	  To compile this driver as a module, choose M here: the
100	  module will be called usblcd.
101
102config USB_CYPRESS_CY7C63
103	tristate "Cypress CY7C63xxx USB driver support"
104	help
105	  Say Y here if you want to connect a Cypress CY7C63xxx
106	  micro controller to your computer's USB port. Currently this
107	  driver supports the pre-programmed devices (incl. firmware)
108	  by AK Modul-Bus Computer GmbH.
109
110	  Please see: https://www.ak-modul-bus.de/stat/mikrocontroller.html
111
112	  To compile this driver as a module, choose M here: the
113	  module will be called cypress_cy7c63.
114
115config USB_CYTHERM
116	tristate "Cypress USB thermometer driver support"
117	help
118	  Say Y here if you want to connect a Cypress USB thermometer
119	  device to your computer's USB port. This device is also known
120	  as the Cypress USB Starter kit or demo board. The Elektor
121	  magazine published a modified version of this device in issue
122	  #291.
123
124	  To compile this driver as a module, choose M here: the
125	  module will be called cytherm.
126
127config USB_IDMOUSE
128	tristate "Siemens ID USB Mouse Fingerprint sensor support"
129	help
130	  Say Y here if you want to use the fingerprint sensor on
131	  the Siemens ID Mouse. There is also a Siemens ID Mouse
132	  _Professional_, which has not been tested with this driver,
133	  but uses the same sensor and may therefore work.
134
135	  This driver creates an entry "/dev/idmouseX" or "/dev/usb/idmouseX",
136	  which can be used by, e.g.,"cat /dev/idmouse0 > fingerprint.pnm".
137
138	  See also <https://www.fs.tum.de/~echtler/idmouse/>.
139
140config USB_APPLEDISPLAY
141	tristate "Apple Cinema Display support"
142	select BACKLIGHT_CLASS_DEVICE
143	help
144	  Say Y here if you want to control the backlight of Apple Cinema
145	  Displays over USB. This driver provides a sysfs interface.
146
147config USB_QCOM_EUD
148	tristate "QCOM Embedded USB Debugger(EUD) Driver"
149	depends on ARCH_QCOM || COMPILE_TEST
150	select QCOM_SCM
151	select USB_ROLE_SWITCH
152	help
153	  This module enables support for Qualcomm Technologies, Inc.
154	  Embedded USB Debugger (EUD). The EUD is a control peripheral
155	  which reports VBUS attach/detach events and has USB-based
156	  debug and trace capabilities. On selecting m, the module name
157	  that is built is qcom_eud.ko
158
159config APPLE_MFI_FASTCHARGE
160	tristate "Fast charge control for iOS devices"
161	select POWER_SUPPLY
162	help
163	  Say Y here if you want to control whether iOS devices will
164	  fast charge from the USB interface, as implemented in "MFi"
165	  chargers.
166
167	  It is safe to say M here.
168
169config USB_LJCA
170	tristate "Intel La Jolla Cove Adapter support"
171	select AUXILIARY_BUS
172	depends on USB && ACPI
173	help
174	  This adds support for Intel La Jolla Cove USB-I2C/SPI/GPIO
175	  Master Adapter (LJCA). Additional drivers such as I2C_LJCA,
176	  GPIO_LJCA and SPI_LJCA must be enabled in order to use the
177	  functionality of the device.
178
179	  This driver can also be built as a module. If so, the module
180	  will be called usb-ljca.
181
182config USB_USBIO
183	tristate "Intel USBIO Bridge support"
184	depends on USB && ACPI
185	depends on X86 || COMPILE_TEST
186	select AUXILIARY_BUS
187	help
188	  This adds support for Intel USBIO drivers.
189	  This enables the USBIO bridge driver module in charge to talk
190	  to the USB device. Additional drivers such as GPIO_USBIO and
191	  I2C_USBIO must be enabled in order to use the device's full
192	  functionality.
193
194	  This driver can also be built as a module. If so, the module
195	  will be called usbio.
196
197source "drivers/usb/misc/sisusbvga/Kconfig"
198
199config USB_LD
200	tristate "USB LD driver"
201	help
202	  This driver is for generic USB devices that use interrupt transfers,
203	  like LD Didactic's USB devices.
204
205	  To compile this driver as a module, choose M here: the
206	  module will be called ldusb.
207
208config USB_TRANCEVIBRATOR
209	tristate "PlayStation 2 Trance Vibrator driver support"
210	help
211	  Say Y here if you want to connect a PlayStation 2 Trance Vibrator
212	  device to your computer's USB port.
213
214	  To compile this driver as a module, choose M here: the
215	  module will be called trancevibrator.
216
217config USB_IOWARRIOR
218	tristate "IO Warrior driver support"
219	help
220	  Say Y here if you want to support the IO Warrior devices from Code
221	  Mercenaries.  This includes support for the following devices:
222	  	IO Warrior 40
223		IO Warrior 24
224		IO Warrior 56
225		IO Warrior 24 Power Vampire
226
227	  To compile this driver as a module, choose M here: the
228	  module will be called iowarrior.
229
230config USB_TEST
231	tristate "USB testing driver"
232	help
233	  This driver is for testing host controller software.  It is used
234	  with specialized device firmware for regression and stress testing,
235	  to help prevent problems from cropping up with "real" drivers.
236
237	  See <http://www.linux-usb.org/usbtest/> for more information,
238	  including sample test device firmware and "how to use it".
239
240config USB_EHSET_TEST_FIXTURE
241	tristate "USB EHSET Test Fixture driver"
242	help
243	  Say Y here if you want to support the special test fixture device
244	  used for the USB-IF Embedded Host High-Speed Electrical Test procedure.
245
246	  When the test fixture is connected, it can enumerate as one of several
247	  VID/PID pairs. This driver then initiates a corresponding test mode on
248	  the downstream port to which the test fixture is attached.
249
250	  See <https://www.usb.org/sites/default/files/EHSET_v1.01%281%29.pdf>
251	  for more information.
252
253config USB_ISIGHTFW
254	tristate "iSight firmware loading support"
255	select FW_LOADER
256	help
257	  This driver loads firmware for USB Apple iSight cameras, allowing
258	  them to be driven by the USB video class driver available at
259	  http://linux-uvc.berlios.de
260
261	  The firmware for this driver must be extracted from the MacOS
262	  driver beforehand. Tools for doing so are available at
263	  http://bersace03.free.fr
264
265config USB_YUREX
266	tristate "USB YUREX driver support"
267	help
268	  Say Y here if you want to connect a YUREX to your computer's
269	  USB port. The YUREX is a leg-shakes sensor. See
270	  <http://bbu.kayac.com/en/> for further information.
271	  This driver supports read/write of leg-shakes counter and
272	  fasync for the counter update via a device file /dev/yurex*.
273
274	  To compile this driver as a module, choose M here: the
275	  module will be called yurex.
276
277config USB_EZUSB_FX2
278	tristate "Functions for loading firmware on EZUSB chips"
279	help
280	  Say Y here if you need EZUSB device support.
281	  (Cypress FX/FX2/FX2LP microcontrollers)
282
283config USB_HUB_USB251XB
284	tristate "USB251XB Hub Controller Configuration Driver"
285	depends on I2C
286	help
287	  This option enables support for configuration via SMBus of the
288	  Microchip USB251x/xBi USB 2.0 Hub Controller series. Configuration
289	  parameters may be set in devicetree or platform data.
290	  Say Y or M here if you need to configure such a device via SMBus.
291
292config USB_HSIC_USB3503
293	tristate "USB3503 HSIC to USB20 Driver"
294	depends on I2C
295	select REGMAP_I2C
296	help
297	  This option enables support for SMSC USB3503 HSIC to USB 2.0 Driver.
298
299config USB_HSIC_USB4604
300	tristate "USB4604 HSIC to USB20 Driver"
301	depends on I2C
302	help
303	  This option enables support for SMSC USB4604 HSIC to USB 2.0 Driver.
304
305config USB_LINK_LAYER_TEST
306	tristate "USB Link Layer Test driver"
307	help
308	  This driver is for generating specific traffic for Super Speed Link
309	  Layer Test Device. Say Y only when you want to conduct USB Super Speed
310	  Link Layer Test for host controllers.
311
312config USB_CHAOSKEY
313	tristate "ChaosKey random number generator driver support"
314	depends on HW_RANDOM
315	help
316	  Say Y here if you want to connect an AltusMetrum ChaosKey or
317	  Araneus Alea I to your computer's USB port. These devices
318	  are hardware random number generators which hook into the
319	  kernel entropy pool to ensure a large supply of entropy for
320	  /dev/random and /dev/urandom and also provides direct access
321	  via /dev/chaoskeyX
322
323	  To compile this driver as a module, choose M here: the
324	  module will be called chaoskey.
325
326config BRCM_USB_PINMAP
327	tristate "Broadcom pinmap driver support"
328	depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
329	default ARCH_BRCMSTB && PHY_BRCM_USB
330	help
331	  This option enables support for remapping some USB external
332	  signals, which are typically on dedicated pins on the chip,
333	  to any gpio.
334
335config USB_ONBOARD_DEV
336	tristate "Onboard USB device support"
337	depends on OF
338	help
339	  Say Y here if you want to support discrete onboard USB devices
340	  that don't require an additional control bus for initialization,
341	  but need some non-trivial form of initialization, such as
342	  enabling a power regulator. An example for such device is the
343	  Realtek RTS5411 hub.
344
345	  This driver can be used as a module but its state (module vs
346	  builtin) must match the state of the USB subsystem. Enabling
347	  this config will enable the driver and it will automatically
348	  match the state of the USB subsystem. If this driver is a
349	  module it will be called onboard_usb_dev.
350
351config USB_ONBOARD_DEV_USB5744
352	bool "Onboard USB Microchip usb5744 hub with SMBus support"
353	depends on (USB_ONBOARD_DEV && I2C=y) || (USB_ONBOARD_DEV=m && I2C=m)
354	help
355	  Say Y here if you want to support onboard USB Microchip usb5744
356	  hub that requires SMBus initialization.
357
358	  This options enables usb5744 i2c default initialization sequence
359	  during hub start-up configuration stage. It is must to enable this
360	  option on AMD Kria KR260 Robotics Starter Kit as this hub is
361	  connected to USB-SD converter which mounts the root filesystem.
362