Merge tag 'phy-fixes-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/phy...
[platform/kernel/linux-rpi.git] / drivers / usb / misc / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # USB Miscellaneous driver configuration
4 #
5 comment "USB Miscellaneous drivers"
6
7 config 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
36 config 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
50 config 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
62 config 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
71 config 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
79 config 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
91 config 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
102 config 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
115 config 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
127 config 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
140 config 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
147 config USB_QCOM_EUD
148         tristate "QCOM Embedded USB Debugger(EUD) Driver"
149         depends on ARCH_QCOM || COMPILE_TEST
150         select USB_ROLE_SWITCH
151         help
152           This module enables support for Qualcomm Technologies, Inc.
153           Embedded USB Debugger (EUD). The EUD is a control peripheral
154           which reports VBUS attach/detach events and has USB-based
155           debug and trace capabilities. On selecting m, the module name
156           that is built is qcom_eud.ko
157
158 config APPLE_MFI_FASTCHARGE
159         tristate "Fast charge control for iOS devices"
160         select POWER_SUPPLY
161         help
162           Say Y here if you want to control whether iOS devices will
163           fast charge from the USB interface, as implemented in "MFi"
164           chargers.
165
166           It is safe to say M here.
167
168 source "drivers/usb/misc/sisusbvga/Kconfig"
169
170 config USB_LD
171         tristate "USB LD driver"
172         help
173           This driver is for generic USB devices that use interrupt transfers,
174           like LD Didactic's USB devices.
175
176           To compile this driver as a module, choose M here: the
177           module will be called ldusb.
178
179 config USB_TRANCEVIBRATOR
180         tristate "PlayStation 2 Trance Vibrator driver support"
181         help
182           Say Y here if you want to connect a PlayStation 2 Trance Vibrator
183           device to your computer's USB port.
184
185           To compile this driver as a module, choose M here: the
186           module will be called trancevibrator.
187
188 config USB_IOWARRIOR
189         tristate "IO Warrior driver support"
190         help
191           Say Y here if you want to support the IO Warrior devices from Code
192           Mercenaries.  This includes support for the following devices:
193                 IO Warrior 40
194                 IO Warrior 24
195                 IO Warrior 56
196                 IO Warrior 24 Power Vampire
197
198           To compile this driver as a module, choose M here: the
199           module will be called iowarrior.
200
201 config USB_TEST
202         tristate "USB testing driver"
203         help
204           This driver is for testing host controller software.  It is used
205           with specialized device firmware for regression and stress testing,
206           to help prevent problems from cropping up with "real" drivers.
207
208           See <http://www.linux-usb.org/usbtest/> for more information,
209           including sample test device firmware and "how to use it".
210
211 config USB_EHSET_TEST_FIXTURE
212         tristate "USB EHSET Test Fixture driver"
213         help
214           Say Y here if you want to support the special test fixture device
215           used for the USB-IF Embedded Host High-Speed Electrical Test procedure.
216
217           When the test fixture is connected, it can enumerate as one of several
218           VID/PID pairs. This driver then initiates a corresponding test mode on
219           the downstream port to which the test fixture is attached.
220
221           See <http://www.usb.org/developers/onthego/EHSET_v1.01.pdf> for more
222           information.
223
224 config USB_ISIGHTFW
225         tristate "iSight firmware loading support"
226         select FW_LOADER
227         help
228           This driver loads firmware for USB Apple iSight cameras, allowing
229           them to be driven by the USB video class driver available at
230           http://linux-uvc.berlios.de
231
232           The firmware for this driver must be extracted from the MacOS
233           driver beforehand. Tools for doing so are available at
234           http://bersace03.free.fr
235
236 config USB_YUREX
237         tristate "USB YUREX driver support"
238         help
239           Say Y here if you want to connect a YUREX to your computer's
240           USB port. The YUREX is a leg-shakes sensor. See
241           <http://bbu.kayac.com/en/> for further information.
242           This driver supports read/write of leg-shakes counter and
243           fasync for the counter update via a device file /dev/yurex*.
244
245           To compile this driver as a module, choose M here: the
246           module will be called yurex.
247
248 config USB_EZUSB_FX2
249         tristate "Functions for loading firmware on EZUSB chips"
250         help
251           Say Y here if you need EZUSB device support.
252           (Cypress FX/FX2/FX2LP microcontrollers)
253
254 config USB_HUB_USB251XB
255         tristate "USB251XB Hub Controller Configuration Driver"
256         depends on I2C
257         help
258           This option enables support for configuration via SMBus of the
259           Microchip USB251x/xBi USB 2.0 Hub Controller series. Configuration
260           parameters may be set in devicetree or platform data.
261           Say Y or M here if you need to configure such a device via SMBus.
262
263 config USB_HSIC_USB3503
264         tristate "USB3503 HSIC to USB20 Driver"
265         depends on I2C
266         select REGMAP_I2C
267         help
268           This option enables support for SMSC USB3503 HSIC to USB 2.0 Driver.
269
270 config USB_HSIC_USB4604
271         tristate "USB4604 HSIC to USB20 Driver"
272         depends on I2C
273         help
274           This option enables support for SMSC USB4604 HSIC to USB 2.0 Driver.
275
276 config USB_LINK_LAYER_TEST
277         tristate "USB Link Layer Test driver"
278         help
279           This driver is for generating specific traffic for Super Speed Link
280           Layer Test Device. Say Y only when you want to conduct USB Super Speed
281           Link Layer Test for host controllers.
282
283 config USB_CHAOSKEY
284         tristate "ChaosKey random number generator driver support"
285         depends on HW_RANDOM
286         help
287           Say Y here if you want to connect an AltusMetrum ChaosKey or
288           Araneus Alea I to your computer's USB port. These devices
289           are hardware random number generators which hook into the
290           kernel entropy pool to ensure a large supply of entropy for
291           /dev/random and /dev/urandom and also provides direct access
292           via /dev/chaoskeyX
293
294           To compile this driver as a module, choose M here: the
295           module will be called chaoskey.
296
297 config BRCM_USB_PINMAP
298         tristate "Broadcom pinmap driver support"
299         depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
300         default ARCH_BRCMSTB && PHY_BRCM_USB
301         help
302           This option enables support for remapping some USB external
303           signals, which are typically on dedicated pins on the chip,
304           to any gpio.
305
306 config USB_ONBOARD_HUB
307         tristate "Onboard USB hub support"
308         depends on OF
309         help
310           Say Y here if you want to support discrete onboard USB hubs that
311           don't require an additional control bus for initialization, but
312           need some non-trivial form of initialization, such as enabling a
313           power regulator. An example for such a hub is the Realtek
314           RTS5411.
315
316           This driver can be used as a module but its state (module vs
317           builtin) must match the state of the USB subsystem. Enabling
318           this config will enable the driver and it will automatically
319           match the state of the USB subsystem. If this driver is a
320           module it will be called onboard_usb_hub.