mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 01:21:28 +00:00
acd6199f19
Implements the USB part of Intel USB-I2C/GPIO/SPI adapter device named "La Jolla Cove Adapter" (LJCA). The communication between the various LJCA module drivers and the hardware will be muxed/demuxed by this driver. Three modules ( I2C, GPIO, and SPI) are supported currently. Each sub-module of LJCA device is identified by type field within the LJCA message header. The sub-modules of LJCA can use ljca_transfer() to issue a transfer between host and hardware. And ljca_register_event_cb is exported to LJCA sub-module drivers for hardware event subscription. The minimum code in ASL that covers this board is Scope (\_SB.PCI0.DWC3.RHUB.HS01) { Device (GPIO) { Name (_ADR, Zero) Name (_STA, 0x0F) } Device (I2C) { Name (_ADR, One) Name (_STA, 0x0F) } Device (SPI) { Name (_ADR, 0x02) Name (_STA, 0x0F) } } Signed-off-by: Wentong Wu <wentong.wu@intel.com> Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Tested-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Oliver Neukum <oneukum@suse.com> Link: https://lore.kernel.org/r/1696833205-16716-2-git-send-email-wentong.wu@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
334 lines
11 KiB
Plaintext
334 lines
11 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# USB Miscellaneous driver configuration
|
|
#
|
|
comment "USB Miscellaneous drivers"
|
|
|
|
config USB_USS720
|
|
tristate "USS720 parport driver"
|
|
depends on PARPORT
|
|
select PARPORT_NOT_PC
|
|
help
|
|
This driver is for USB parallel port adapters that use the Lucent
|
|
Technologies USS-720 chip. These cables are plugged into your USB
|
|
port and provide USB compatibility to peripherals designed with
|
|
parallel port interfaces.
|
|
|
|
The chip has two modes: automatic mode and manual mode. In automatic
|
|
mode, it looks to the computer like a standard USB printer. Only
|
|
printers may be connected to the USS-720 in this mode. The generic
|
|
USB printer driver ("USB Printer support", above) may be used in
|
|
that mode, and you can say N here if you want to use the chip only
|
|
in this mode.
|
|
|
|
Manual mode is not limited to printers, any parallel port
|
|
device should work. This driver utilizes manual mode.
|
|
Note however that some operations are three orders of magnitude
|
|
slower than on a PCI/ISA Parallel Port, so timing critical
|
|
applications might not work.
|
|
|
|
Say Y here if you own an USS-720 USB->Parport cable and intend to
|
|
connect anything other than a printer to it.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called uss720.
|
|
|
|
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_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 USB_QCOM_EUD
|
|
tristate "QCOM Embedded USB Debugger(EUD) Driver"
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
select USB_ROLE_SWITCH
|
|
help
|
|
This module enables support for Qualcomm Technologies, Inc.
|
|
Embedded USB Debugger (EUD). The EUD is a control peripheral
|
|
which reports VBUS attach/detach events and has USB-based
|
|
debug and trace capabilities. On selecting m, the module name
|
|
that is built is qcom_eud.ko
|
|
|
|
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.
|
|
|
|
config USB_LJCA
|
|
tristate "Intel La Jolla Cove Adapter support"
|
|
select AUXILIARY_BUS
|
|
depends on USB && ACPI
|
|
help
|
|
This adds support for Intel La Jolla Cove USB-I2C/SPI/GPIO
|
|
Master Adapter (LJCA). Additional drivers such as I2C_LJCA,
|
|
GPIO_LJCA and SPI_LJCA must be enabled in order to use the
|
|
functionality of the device.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called usb-ljca.
|
|
|
|
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.
|
|
|
|
config USB_ONBOARD_HUB
|
|
tristate "Onboard USB hub support"
|
|
depends on OF
|
|
help
|
|
Say Y here if you want to support discrete onboard USB hubs that
|
|
don't require an additional control bus for initialization, but
|
|
need some non-trivial form of initialization, such as enabling a
|
|
power regulator. An example for such a hub is the Realtek
|
|
RTS5411.
|
|
|
|
This driver can be used as a module but its state (module vs
|
|
builtin) must match the state of the USB subsystem. Enabling
|
|
this config will enable the driver and it will automatically
|
|
match the state of the USB subsystem. If this driver is a
|
|
module it will be called onboard_usb_hub.
|