162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# USB Miscellaneous driver configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_cicomment "USB Miscellaneous drivers"
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciconfig USB_USS720
862306a36Sopenharmony_ci	tristate "USS720 parport driver"
962306a36Sopenharmony_ci	depends on PARPORT
1062306a36Sopenharmony_ci	select PARPORT_NOT_PC
1162306a36Sopenharmony_ci	help
1262306a36Sopenharmony_ci	  This driver is for USB parallel port adapters that use the Lucent
1362306a36Sopenharmony_ci	  Technologies USS-720 chip. These cables are plugged into your USB
1462306a36Sopenharmony_ci	  port and provide USB compatibility to peripherals designed with
1562306a36Sopenharmony_ci	  parallel port interfaces.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	  The chip has two modes: automatic mode and manual mode. In automatic
1862306a36Sopenharmony_ci	  mode, it looks to the computer like a standard USB printer. Only
1962306a36Sopenharmony_ci	  printers may be connected to the USS-720 in this mode. The generic
2062306a36Sopenharmony_ci	  USB printer driver ("USB Printer support", above) may be used in
2162306a36Sopenharmony_ci	  that mode, and you can say N here if you want to use the chip only
2262306a36Sopenharmony_ci	  in this mode.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	  Manual mode is not limited to printers, any parallel port
2562306a36Sopenharmony_ci	  device should work. This driver utilizes manual mode.
2662306a36Sopenharmony_ci	  Note however that some operations are three orders of magnitude
2762306a36Sopenharmony_ci	  slower than on a PCI/ISA Parallel Port, so timing critical
2862306a36Sopenharmony_ci	  applications might not work.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	  Say Y here if you own an USS-720 USB->Parport cable and intend to
3162306a36Sopenharmony_ci	  connect anything other than a printer to it.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3462306a36Sopenharmony_ci	  module will be called uss720.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciconfig USB_EMI62
3762306a36Sopenharmony_ci	tristate "EMI 6|2m USB Audio interface support"
3862306a36Sopenharmony_ci	help
3962306a36Sopenharmony_ci	  This driver loads firmware to Emagic EMI 6|2m low latency USB
4062306a36Sopenharmony_ci	  Audio and Midi interface.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	  After firmware load the device is handled with standard linux
4362306a36Sopenharmony_ci	  USB Audio driver.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	  This code is also available as a module ( = code which can be
4662306a36Sopenharmony_ci	  inserted in and removed from the running kernel whenever you want).
4762306a36Sopenharmony_ci	  The module will be called audio. If you want to compile it as a
4862306a36Sopenharmony_ci	  module, say M here and read <file:Documentation/kbuild/modules.rst>.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciconfig USB_EMI26
5162306a36Sopenharmony_ci	tristate "EMI 2|6 USB Audio interface support"
5262306a36Sopenharmony_ci	help
5362306a36Sopenharmony_ci	  This driver loads firmware to Emagic EMI 2|6 low latency USB
5462306a36Sopenharmony_ci	  Audio interface.
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	  After firmware load the device is handled with standard linux
5762306a36Sopenharmony_ci	  USB Audio driver.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
6062306a36Sopenharmony_ci	  module will be called emi26.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciconfig USB_ADUTUX
6362306a36Sopenharmony_ci	tristate "ADU devices from Ontrak Control Systems"
6462306a36Sopenharmony_ci	help
6562306a36Sopenharmony_ci	  Say Y if you want to use an ADU device from Ontrak Control
6662306a36Sopenharmony_ci	  Systems.
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here.  The module
6962306a36Sopenharmony_ci	  will be called adutux.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciconfig USB_SEVSEG
7262306a36Sopenharmony_ci	tristate "USB 7-Segment LED Display"
7362306a36Sopenharmony_ci	help
7462306a36Sopenharmony_ci	  Say Y here if you have a USB 7-Segment Display by Delcom
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
7762306a36Sopenharmony_ci	  module will be called usbsevseg.
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ciconfig USB_LEGOTOWER
8062306a36Sopenharmony_ci	tristate "USB Lego Infrared Tower support"
8162306a36Sopenharmony_ci	help
8262306a36Sopenharmony_ci	  Say Y here if you want to connect a USB Lego Infrared Tower to your
8362306a36Sopenharmony_ci	  computer's USB port.
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci	  This code is also available as a module ( = code which can be
8662306a36Sopenharmony_ci	  inserted in and removed from the running kernel whenever you want).
8762306a36Sopenharmony_ci	  The module will be called legousbtower. If you want to compile it as
8862306a36Sopenharmony_ci	  a module, say M here and read
8962306a36Sopenharmony_ci	  <file:Documentation/kbuild/modules.rst>.
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ciconfig USB_LCD
9262306a36Sopenharmony_ci	tristate "USB LCD driver support"
9362306a36Sopenharmony_ci	help
9462306a36Sopenharmony_ci	  Say Y here if you want to connect an USBLCD to your computer's
9562306a36Sopenharmony_ci	  USB port. The USBLCD is a small USB interface board for
9662306a36Sopenharmony_ci	  alphanumeric LCD modules. See <http://www.usblcd.de/> for more
9762306a36Sopenharmony_ci	  information.
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
10062306a36Sopenharmony_ci	  module will be called usblcd.
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ciconfig USB_CYPRESS_CY7C63
10362306a36Sopenharmony_ci	tristate "Cypress CY7C63xxx USB driver support"
10462306a36Sopenharmony_ci	help
10562306a36Sopenharmony_ci	  Say Y here if you want to connect a Cypress CY7C63xxx
10662306a36Sopenharmony_ci	  micro controller to your computer's USB port. Currently this
10762306a36Sopenharmony_ci	  driver supports the pre-programmed devices (incl. firmware)
10862306a36Sopenharmony_ci	  by AK Modul-Bus Computer GmbH.
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci	  Please see: https://www.ak-modul-bus.de/stat/mikrocontroller.html
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
11362306a36Sopenharmony_ci	  module will be called cypress_cy7c63.
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciconfig USB_CYTHERM
11662306a36Sopenharmony_ci	tristate "Cypress USB thermometer driver support"
11762306a36Sopenharmony_ci	help
11862306a36Sopenharmony_ci	  Say Y here if you want to connect a Cypress USB thermometer
11962306a36Sopenharmony_ci	  device to your computer's USB port. This device is also known
12062306a36Sopenharmony_ci	  as the Cypress USB Starter kit or demo board. The Elektor
12162306a36Sopenharmony_ci	  magazine published a modified version of this device in issue 
12262306a36Sopenharmony_ci	  #291.
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
12562306a36Sopenharmony_ci	  module will be called cytherm.
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ciconfig USB_IDMOUSE
12862306a36Sopenharmony_ci	tristate "Siemens ID USB Mouse Fingerprint sensor support"
12962306a36Sopenharmony_ci	help
13062306a36Sopenharmony_ci	  Say Y here if you want to use the fingerprint sensor on
13162306a36Sopenharmony_ci	  the Siemens ID Mouse. There is also a Siemens ID Mouse
13262306a36Sopenharmony_ci	  _Professional_, which has not been tested with this driver,
13362306a36Sopenharmony_ci	  but uses the same sensor and may therefore work.
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci	  This driver creates an entry "/dev/idmouseX" or "/dev/usb/idmouseX",
13662306a36Sopenharmony_ci	  which can be used by, e.g.,"cat /dev/idmouse0 > fingerprint.pnm".
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci	  See also <https://www.fs.tum.de/~echtler/idmouse/>.
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ciconfig USB_APPLEDISPLAY
14162306a36Sopenharmony_ci	tristate "Apple Cinema Display support"
14262306a36Sopenharmony_ci	select BACKLIGHT_CLASS_DEVICE
14362306a36Sopenharmony_ci	help
14462306a36Sopenharmony_ci	  Say Y here if you want to control the backlight of Apple Cinema
14562306a36Sopenharmony_ci	  Displays over USB. This driver provides a sysfs interface.
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ciconfig USB_QCOM_EUD
14862306a36Sopenharmony_ci	tristate "QCOM Embedded USB Debugger(EUD) Driver"
14962306a36Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
15062306a36Sopenharmony_ci	select USB_ROLE_SWITCH
15162306a36Sopenharmony_ci	help
15262306a36Sopenharmony_ci	  This module enables support for Qualcomm Technologies, Inc.
15362306a36Sopenharmony_ci	  Embedded USB Debugger (EUD). The EUD is a control peripheral
15462306a36Sopenharmony_ci	  which reports VBUS attach/detach events and has USB-based
15562306a36Sopenharmony_ci	  debug and trace capabilities. On selecting m, the module name
15662306a36Sopenharmony_ci	  that is built is qcom_eud.ko
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ciconfig APPLE_MFI_FASTCHARGE
15962306a36Sopenharmony_ci	tristate "Fast charge control for iOS devices"
16062306a36Sopenharmony_ci	select POWER_SUPPLY
16162306a36Sopenharmony_ci	help
16262306a36Sopenharmony_ci	  Say Y here if you want to control whether iOS devices will
16362306a36Sopenharmony_ci	  fast charge from the USB interface, as implemented in "MFi"
16462306a36Sopenharmony_ci	  chargers.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ci	  It is safe to say M here.
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_cisource "drivers/usb/misc/sisusbvga/Kconfig"
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ciconfig USB_LD
17162306a36Sopenharmony_ci	tristate "USB LD driver"
17262306a36Sopenharmony_ci	help
17362306a36Sopenharmony_ci	  This driver is for generic USB devices that use interrupt transfers,
17462306a36Sopenharmony_ci	  like LD Didactic's USB devices.
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
17762306a36Sopenharmony_ci	  module will be called ldusb.
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ciconfig USB_TRANCEVIBRATOR
18062306a36Sopenharmony_ci	tristate "PlayStation 2 Trance Vibrator driver support"
18162306a36Sopenharmony_ci	help
18262306a36Sopenharmony_ci	  Say Y here if you want to connect a PlayStation 2 Trance Vibrator
18362306a36Sopenharmony_ci	  device to your computer's USB port.
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
18662306a36Sopenharmony_ci	  module will be called trancevibrator.
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ciconfig USB_IOWARRIOR
18962306a36Sopenharmony_ci	tristate "IO Warrior driver support"
19062306a36Sopenharmony_ci	help
19162306a36Sopenharmony_ci	  Say Y here if you want to support the IO Warrior devices from Code
19262306a36Sopenharmony_ci	  Mercenaries.  This includes support for the following devices:
19362306a36Sopenharmony_ci	  	IO Warrior 40
19462306a36Sopenharmony_ci		IO Warrior 24
19562306a36Sopenharmony_ci		IO Warrior 56
19662306a36Sopenharmony_ci		IO Warrior 24 Power Vampire
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
19962306a36Sopenharmony_ci	  module will be called iowarrior.
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ciconfig USB_TEST
20262306a36Sopenharmony_ci	tristate "USB testing driver"
20362306a36Sopenharmony_ci	help
20462306a36Sopenharmony_ci	  This driver is for testing host controller software.  It is used
20562306a36Sopenharmony_ci	  with specialized device firmware for regression and stress testing,
20662306a36Sopenharmony_ci	  to help prevent problems from cropping up with "real" drivers.
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci	  See <http://www.linux-usb.org/usbtest/> for more information,
20962306a36Sopenharmony_ci	  including sample test device firmware and "how to use it".
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ciconfig USB_EHSET_TEST_FIXTURE
21262306a36Sopenharmony_ci	tristate "USB EHSET Test Fixture driver"
21362306a36Sopenharmony_ci	help
21462306a36Sopenharmony_ci	  Say Y here if you want to support the special test fixture device
21562306a36Sopenharmony_ci	  used for the USB-IF Embedded Host High-Speed Electrical Test procedure.
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci	  When the test fixture is connected, it can enumerate as one of several
21862306a36Sopenharmony_ci	  VID/PID pairs. This driver then initiates a corresponding test mode on
21962306a36Sopenharmony_ci	  the downstream port to which the test fixture is attached.
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci	  See <http://www.usb.org/developers/onthego/EHSET_v1.01.pdf> for more
22262306a36Sopenharmony_ci	  information.
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ciconfig USB_ISIGHTFW
22562306a36Sopenharmony_ci	tristate "iSight firmware loading support"
22662306a36Sopenharmony_ci	select FW_LOADER
22762306a36Sopenharmony_ci	help
22862306a36Sopenharmony_ci	  This driver loads firmware for USB Apple iSight cameras, allowing
22962306a36Sopenharmony_ci	  them to be driven by the USB video class driver available at
23062306a36Sopenharmony_ci	  http://linux-uvc.berlios.de
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci	  The firmware for this driver must be extracted from the MacOS
23362306a36Sopenharmony_ci	  driver beforehand. Tools for doing so are available at
23462306a36Sopenharmony_ci	  http://bersace03.free.fr
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ciconfig USB_YUREX
23762306a36Sopenharmony_ci	tristate "USB YUREX driver support"
23862306a36Sopenharmony_ci	help
23962306a36Sopenharmony_ci	  Say Y here if you want to connect a YUREX to your computer's
24062306a36Sopenharmony_ci	  USB port. The YUREX is a leg-shakes sensor. See
24162306a36Sopenharmony_ci	  <http://bbu.kayac.com/en/> for further information.
24262306a36Sopenharmony_ci	  This driver supports read/write of leg-shakes counter and
24362306a36Sopenharmony_ci	  fasync for the counter update via a device file /dev/yurex*.
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
24662306a36Sopenharmony_ci	  module will be called yurex.
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ciconfig USB_EZUSB_FX2
24962306a36Sopenharmony_ci	tristate "Functions for loading firmware on EZUSB chips"
25062306a36Sopenharmony_ci	help
25162306a36Sopenharmony_ci	  Say Y here if you need EZUSB device support.
25262306a36Sopenharmony_ci	  (Cypress FX/FX2/FX2LP microcontrollers)
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ciconfig USB_HUB_USB251XB
25562306a36Sopenharmony_ci	tristate "USB251XB Hub Controller Configuration Driver"
25662306a36Sopenharmony_ci	depends on I2C
25762306a36Sopenharmony_ci	help
25862306a36Sopenharmony_ci	  This option enables support for configuration via SMBus of the
25962306a36Sopenharmony_ci	  Microchip USB251x/xBi USB 2.0 Hub Controller series. Configuration
26062306a36Sopenharmony_ci	  parameters may be set in devicetree or platform data.
26162306a36Sopenharmony_ci	  Say Y or M here if you need to configure such a device via SMBus.
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ciconfig USB_HSIC_USB3503
26462306a36Sopenharmony_ci	tristate "USB3503 HSIC to USB20 Driver"
26562306a36Sopenharmony_ci	depends on I2C
26662306a36Sopenharmony_ci	select REGMAP_I2C
26762306a36Sopenharmony_ci	help
26862306a36Sopenharmony_ci	  This option enables support for SMSC USB3503 HSIC to USB 2.0 Driver.
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ciconfig USB_HSIC_USB4604
27162306a36Sopenharmony_ci	tristate "USB4604 HSIC to USB20 Driver"
27262306a36Sopenharmony_ci	depends on I2C
27362306a36Sopenharmony_ci	help
27462306a36Sopenharmony_ci	  This option enables support for SMSC USB4604 HSIC to USB 2.0 Driver.
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ciconfig USB_LINK_LAYER_TEST
27762306a36Sopenharmony_ci	tristate "USB Link Layer Test driver"
27862306a36Sopenharmony_ci	help
27962306a36Sopenharmony_ci	  This driver is for generating specific traffic for Super Speed Link
28062306a36Sopenharmony_ci	  Layer Test Device. Say Y only when you want to conduct USB Super Speed
28162306a36Sopenharmony_ci	  Link Layer Test for host controllers.
28262306a36Sopenharmony_ci
28362306a36Sopenharmony_ciconfig USB_CHAOSKEY
28462306a36Sopenharmony_ci	tristate "ChaosKey random number generator driver support"
28562306a36Sopenharmony_ci	depends on HW_RANDOM
28662306a36Sopenharmony_ci	help
28762306a36Sopenharmony_ci	  Say Y here if you want to connect an AltusMetrum ChaosKey or
28862306a36Sopenharmony_ci	  Araneus Alea I to your computer's USB port. These devices
28962306a36Sopenharmony_ci	  are hardware random number generators which hook into the
29062306a36Sopenharmony_ci	  kernel entropy pool to ensure a large supply of entropy for
29162306a36Sopenharmony_ci	  /dev/random and /dev/urandom and also provides direct access
29262306a36Sopenharmony_ci	  via /dev/chaoskeyX
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
29562306a36Sopenharmony_ci	  module will be called chaoskey.
29662306a36Sopenharmony_ci
29762306a36Sopenharmony_ciconfig BRCM_USB_PINMAP
29862306a36Sopenharmony_ci	tristate "Broadcom pinmap driver support"
29962306a36Sopenharmony_ci	depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
30062306a36Sopenharmony_ci	default ARCH_BRCMSTB && PHY_BRCM_USB
30162306a36Sopenharmony_ci	help
30262306a36Sopenharmony_ci	  This option enables support for remapping some USB external
30362306a36Sopenharmony_ci	  signals, which are typically on dedicated pins on the chip,
30462306a36Sopenharmony_ci	  to any gpio.
30562306a36Sopenharmony_ci
30662306a36Sopenharmony_ciconfig USB_ONBOARD_HUB
30762306a36Sopenharmony_ci	tristate "Onboard USB hub support"
30862306a36Sopenharmony_ci	depends on OF
30962306a36Sopenharmony_ci	help
31062306a36Sopenharmony_ci	  Say Y here if you want to support discrete onboard USB hubs that
31162306a36Sopenharmony_ci	  don't require an additional control bus for initialization, but
31262306a36Sopenharmony_ci	  need some non-trivial form of initialization, such as enabling a
31362306a36Sopenharmony_ci	  power regulator. An example for such a hub is the Realtek
31462306a36Sopenharmony_ci	  RTS5411.
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci	  This driver can be used as a module but its state (module vs
31762306a36Sopenharmony_ci	  builtin) must match the state of the USB subsystem. Enabling
31862306a36Sopenharmony_ci	  this config will enable the driver and it will automatically
31962306a36Sopenharmony_ci	  match the state of the USB subsystem. If this driver is a
32062306a36Sopenharmony_ci	  module it will be called onboard_usb_hub.
321