linux-imx/drivers/usb/misc/Kconfig
Al Cooper 517c4c44b3 usb: Add driver to allow any GPIO to be used for 7211 USB signals
The Broadcom 7211 has new functionality that allows some USB low
speed side band signals, that go from the XHCI host controller to
pins on the chip, to be remapped to use any GPIO pin instead of the
limited set selectable by hardware. This can be done without changing
the standard driver for the host controller. There is currently
support for three USB signals, PWRON, VBUS_PRESENT and PWRFLT. This
driver will allow the remapping of any of these three signals based
on settings in the Device Tree node for the driver. The driver was
written so that it could handle additional signals added in the
future by just adding the correct properties to the DT node.

Below is an example of a DT node that would remap all three
signals:

usb_pinmap: usb-pinmap@22000d0 {
	compatible = "brcm,usb-pinmap";
	reg = <0x22000d0 0x4>;
	in-gpios = <&gpio 18 0>, <&gpio 19 0>;
	brcm,in-functions = "VBUS", "PWRFLT";
	brcm,in-masks = <0x8000 0x40000 0x10000 0x80000>;
	out-gpios = <&gpio 20 0>;
	brcm,out-functions = "PWRON";
	brcm,out-masks = <0x20000 0x800000 0x400000 0x200000>;
	interrupts = <0x0 0xb2 0x4>;
};

Signed-off-by: Al Cooper <alcooperx@gmail.com>
Link: https://lore.kernel.org/r/20201012200007.8862-3-alcooperx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-10-28 12:24:15 +01:00

9.7 KiB

SPDX-License-Identifier: GPL-2.0

USB Miscellaneous driver configuration

comment "USB Miscellaneous drivers"

config USB_EMI62 tristate "EMI 6|2m USB Audio interface support" help This driver loads firmware to Emagic EMI 6|2m low latency USB Audio and Midi interface.

  After firmware load the device is handled with standard linux
  USB Audio driver.

  This code is also available as a module ( = code which can be
  inserted in and removed from the running kernel whenever you want).
  The module will be called audio. If you want to compile it as a
  module, say M here and read <file:Documentation/kbuild/modules.rst>.

config USB_EMI26 tristate "EMI 2|6 USB Audio interface support" help This driver loads firmware to Emagic EMI 2|6 low latency USB Audio interface.

  After firmware load the device is handled with standard linux
  USB Audio driver.

  To compile this driver as a module, choose M here: the
  module will be called emi26.

config USB_ADUTUX tristate "ADU devices from Ontrak Control Systems" help Say Y if you want to use an ADU device from Ontrak Control Systems.

  To compile this driver as a module, choose M here.  The module
  will be called adutux.

config USB_SEVSEG tristate "USB 7-Segment LED Display" help Say Y here if you have a USB 7-Segment Display by Delcom

  To compile this driver as a module, choose M here: the
  module will be called usbsevseg.

config USB_LEGOTOWER tristate "USB Lego Infrared Tower support" help Say Y here if you want to connect a USB Lego Infrared Tower to your computer's USB port.

  This code is also available as a module ( = code which can be
  inserted in and removed from the running kernel whenever you want).
  The module will be called legousbtower. If you want to compile it as
  a module, say M here and read
  <file:Documentation/kbuild/modules.rst>.

config USB_LCD tristate "USB LCD driver support" help Say Y here if you want to connect an USBLCD to your computer's USB port. The USBLCD is a small USB interface board for alphanumeric LCD modules. See http://www.usblcd.de/ for more information.

  To compile this driver as a module, choose M here: the
  module will be called usblcd.

config USB_CYPRESS_CY7C63 tristate "Cypress CY7C63xxx USB driver support" help Say Y here if you want to connect a Cypress CY7C63xxx micro controller to your computer's USB port. Currently this driver supports the pre-programmed devices (incl. firmware) by AK Modul-Bus Computer GmbH.

  Please see: https://www.ak-modul-bus.de/stat/mikrocontroller.html

  To compile this driver as a module, choose M here: the
  module will be called cypress_cy7c63.

config USB_CYTHERM tristate "Cypress USB thermometer driver support" help Say Y here if you want to connect a Cypress USB thermometer device to your computer's USB port. This device is also known as the Cypress USB Starter kit or demo board. The Elektor magazine published a modified version of this device in issue #291.

  To compile this driver as a module, choose M here: the
  module will be called cytherm.

config USB_IDMOUSE tristate "Siemens ID USB Mouse Fingerprint sensor support" help Say Y here if you want to use the fingerprint sensor on the Siemens ID Mouse. There is also a Siemens ID Mouse Professional, which has not been tested with this driver, but uses the same sensor and may therefore work.

  This driver creates an entry "/dev/idmouseX" or "/dev/usb/idmouseX",
  which can be used by, e.g.,"cat /dev/idmouse0 > fingerprint.pnm".

  See also <https://www.fs.tum.de/~echtler/idmouse/>.

config USB_FTDI_ELAN tristate "Elan PCMCIA CardBus Adapter USB Client" help ELAN's Uxxx series of adapters are USB to PCMCIA CardBus adapters. Currently only the U132 adapter is available.

  The U132 is specifically designed for CardBus PC cards that contain
  an OHCI host controller. Typical PC cards are the Orange Mobile 3G
  Option GlobeTrotter Fusion card. The U132 adapter will *NOT* work
  with PC cards that do not contain an OHCI controller. To use a U132
  adapter you will need this "ftdi-elan" module as well as the "u132-hcd"
  module which is a USB host controller driver that talks to the OHCI
  controller within CardBus card that are inserted in the U132 adapter.

  This driver has been tested with a CardBus OHCI USB adapter, and
  worked with a USB PEN Drive inserted into the first USB port of
  the PCCARD. A rather pointless thing to do, but useful for testing.

  See also the USB_U132_HCD entry "Elan U132 Adapter Host Controller"

  It is safe to say M here.

config USB_APPLEDISPLAY tristate "Apple Cinema Display support" select BACKLIGHT_CLASS_DEVICE help Say Y here if you want to control the backlight of Apple Cinema Displays over USB. This driver provides a sysfs interface.

config APPLE_MFI_FASTCHARGE tristate "Fast charge control for iOS devices" select POWER_SUPPLY help Say Y here if you want to control whether iOS devices will fast charge from the USB interface, as implemented in "MFi" chargers.

  It is safe to say M here.

source "drivers/usb/misc/sisusbvga/Kconfig"

config USB_LD tristate "USB LD driver" help This driver is for generic USB devices that use interrupt transfers, like LD Didactic's USB devices.

  To compile this driver as a module, choose M here: the
  module will be called ldusb.

config USB_TRANCEVIBRATOR tristate "PlayStation 2 Trance Vibrator driver support" help Say Y here if you want to connect a PlayStation 2 Trance Vibrator device to your computer's USB port.

  To compile this driver as a module, choose M here: the
  module will be called trancevibrator.

config USB_IOWARRIOR tristate "IO Warrior driver support" help Say Y here if you want to support the IO Warrior devices from Code Mercenaries. This includes support for the following devices: IO Warrior 40 IO Warrior 24 IO Warrior 56 IO Warrior 24 Power Vampire

  To compile this driver as a module, choose M here: the
  module will be called iowarrior.

config USB_TEST tristate "USB testing driver" help This driver is for testing host controller software. It is used with specialized device firmware for regression and stress testing, to help prevent problems from cropping up with "real" drivers.

  See <http://www.linux-usb.org/usbtest/> for more information,
  including sample test device firmware and "how to use it".

config USB_EHSET_TEST_FIXTURE tristate "USB EHSET Test Fixture driver" help Say Y here if you want to support the special test fixture device used for the USB-IF Embedded Host High-Speed Electrical Test procedure.

  When the test fixture is connected, it can enumerate as one of several
  VID/PID pairs. This driver then initiates a corresponding test mode on
  the downstream port to which the test fixture is attached.

  See <http://www.usb.org/developers/onthego/EHSET_v1.01.pdf> for more
  information.

config USB_ISIGHTFW tristate "iSight firmware loading support" select FW_LOADER help This driver loads firmware for USB Apple iSight cameras, allowing them to be driven by the USB video class driver available at http://linux-uvc.berlios.de

  The firmware for this driver must be extracted from the MacOS
  driver beforehand. Tools for doing so are available at
  http://bersace03.free.fr

config USB_YUREX tristate "USB YUREX driver support" help Say Y here if you want to connect a YUREX to your computer's USB port. The YUREX is a leg-shakes sensor. See http://bbu.kayac.com/en/ for further information. This driver supports read/write of leg-shakes counter and fasync for the counter update via a device file /dev/yurex*.

  To compile this driver as a module, choose M here: the
  module will be called yurex.

config USB_EZUSB_FX2 tristate "Functions for loading firmware on EZUSB chips" help Say Y here if you need EZUSB device support. (Cypress FX/FX2/FX2LP microcontrollers)

config USB_HUB_USB251XB tristate "USB251XB Hub Controller Configuration Driver" depends on I2C help This option enables support for configuration via SMBus of the Microchip USB251x/xBi USB 2.0 Hub Controller series. Configuration parameters may be set in devicetree or platform data. Say Y or M here if you need to configure such a device via SMBus.

config USB_HSIC_USB3503 tristate "USB3503 HSIC to USB20 Driver" depends on I2C select REGMAP_I2C help This option enables support for SMSC USB3503 HSIC to USB 2.0 Driver.

config USB_HSIC_USB4604 tristate "USB4604 HSIC to USB20 Driver" depends on I2C help This option enables support for SMSC USB4604 HSIC to USB 2.0 Driver.

config USB_LINK_LAYER_TEST tristate "USB Link Layer Test driver" help This driver is for generating specific traffic for Super Speed Link Layer Test Device. Say Y only when you want to conduct USB Super Speed Link Layer Test for host controllers.

config USB_CHAOSKEY tristate "ChaosKey random number generator driver support" depends on HW_RANDOM help Say Y here if you want to connect an AltusMetrum ChaosKey or Araneus Alea I to your computer's USB port. These devices are hardware random number generators which hook into the kernel entropy pool to ensure a large supply of entropy for /dev/random and /dev/urandom and also provides direct access via /dev/chaoskeyX

  To compile this driver as a module, choose M here: the
  module will be called chaoskey.

config BRCM_USB_PINMAP tristate "Broadcom pinmap driver support" depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST default ARCH_BRCMSTB && PHY_BRCM_USB help This option enables support for remapping some USB external signals, which are typically on dedicated pins on the chip, to any gpio.