# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
menu "USB support"
depends on ADK_TARGET_WITH_USB \
|| ADK_TARGET_SYSTEM_QEMU_X86_64 \
|| ADK_TARGET_SYSTEM_QEMU_X86 \
|| ADK_TARGET_GENERIC
config ADK_LINUX_KERNEL_USB_PCI
bool
config ADK_LINUX_KERNEL_USB_SUPPORT
bool
config ADK_LINUX_KERNEL_USB_DEVICE_CLASS
bool
config ADK_LINUX_KERNEL_USB_ANNOUNCE_NEW_DEVICES
bool
config ADK_LINUX_KERNEL_USB_EHCI_ROOT_HUB_TT
bool
config ADK_LINUX_KERNEL_USB_EHCI_TT_NEWSCHED
bool
config ADK_LINUX_KERNEL_USB_EHCI_MXC
bool
config ADK_LINUX_KERNEL_USB_EHCI_HCD_PLATFORM
bool
config ADK_LINUX_KERNEL_USB_GADGET
tristate
config ADK_LINUX_KERNEL_USB_PHY
bool
config ADK_LINUX_KERNEL_USB_MXS_PHY
tristate
select ADK_LINUX_KERNEL_USB_PHY
default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
ADK_TARGET_SYSTEM_PHYTEC_IMX6
default n
config ADK_LINUX_KERNEL_USB_XHCI_PLATFORM
bool
config ADK_LINUX_KERNEL_USB_OHCI_HCD_PLATFORM
bool
select ADK_LINUX_KERNEL_USB_OHCI_HCD
config ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI
bool
config ADK_LINUX_KERNEL_USB_EHCI_HCD_PCI
bool
config ADK_LINUX_KERNEL_USB_XHCI_PCI
bool
config ADK_LINUX_KERNEL_USB_XHCI_MVEBU
bool
config ADK_LINUX_KERNEL_USB_LIBUSUAL
tristate
config ADK_LINUX_KERNEL_USB_NET_DRIVERS
bool
config ADK_LINUX_KERNEL_USB_USBNET
select ADK_LINUX_KERNEL_USB_NET_DRIVERS
tristate
config ADK_LINUX_KERNEL_USB
tristate "USB support"
select ADK_LINUX_KERNEL_NLS
select ADK_LINUX_KERNEL_USB_SUPPORT
select ADK_LINUX_KERNEL_USB_ANNOUNCE_NEW_DEVICES
default m if ADK_TARGET_SYSTEM_PCENGINES_APU
default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default m if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
ADK_TARGET_SYSTEM_PHYTEC_IMX6
default y if ADK_TARGET_SYSTEM_KINETIS_K70
default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
default n
help
Universal Serial Bus (USB) is a specification for a serial bus
subsystem which offers higher speeds and more features than the
traditional PC serial port. The bus supplies power to peripherals
and allows for hot swapping. Up to 127 USB peripherals can be
connected to a single USB host in a tree structure.
The USB host is the root of the tree, the peripherals are the
leaves and the inner nodes are special USB devices called hubs.
Most PCs now have USB host ports, used to connect peripherals
such as scanners, keyboards, mice, modems, cameras, disks,
flash memory, network links, and printers to the PC.
Say Y here if your computer has a host-side USB port and you want
to use USB devices. You then need to say Y to at least one of the
Host Controller Driver (HCD) options below. Choose a USB 1.1
controller, such as "UHCI HCD support" or "OHCI HCD support",
and "EHCI HCD (USB 2.0) support" except for older systems that
do not have USB 2.0 support. It doesn't normally hurt to select
them all if you are not certain.
If your system has a device-side USB port, used in the peripheral
side of the USB protocol, see the "USB Gadget" framework instead.
After choosing your HCD, then select drivers for the USB peripherals
you'll be using. You may want to check out the information provided
in and especially the links given in
.
menu "USB controller support"
config ADK_LINUX_KERNEL_USB_XHCI_HCD
tristate "Support for USB xHCI HCD (USB 3.0)"
depends on ADK_LINUX_KERNEL_USB
select ADK_LINUX_KERNEL_USB_PCI
select ADK_LINUX_KERNEL_USB_XHCI_PLATFORM
select ADK_LINUX_KERNEL_USB_XHCI_PCI
select ADK_LINUX_KERNEL_USB_XHCI_MVEBU if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default n
help
The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
"SuperSpeed" host controller hardware.
To compile this driver as a module, choose M here: the
module will be called xhci-hcd.
config ADK_LINUX_KERNEL_USB_EHCI_HCD
tristate "Support for USB EHCI 2.0 controllers"
select ADK_LINUX_KERNEL_USB_MXS_PHY if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
ADK_TARGET_SYSTEM_PHYTEC_IMX6
select ADK_LINUX_KERNEL_USB_EHCI_MXC if ADK_TARGET_SYSTEM_KINETIS_K70
select ADK_LINUX_KERNEL_USB_DEVICE_CLASS if ADK_TARGET_SYSTEM_KINETIS_K70
select ADK_LINUX_KERNEL_USB_EHCI_HCD_PLATFORM if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
select ADK_LINUX_KERNEL_USB_EHCI_HCD_PCI if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
depends on !ADK_TARGET_BOARD_BCM28XX
depends on ADK_LINUX_KERNEL_USB
default m if ADK_TARGET_SYSTEM_PCENGINES_APU
default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
ADK_TARGET_SYSTEM_PHYTEC_IMX6
default y if ADK_TARGET_SYSTEM_KINETIS_K70
default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
default n
help
The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
"high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
If your USB host controller supports USB 2.0, you will likely want to
configure this Host Controller Driver. At the time of this writing,
the primary implementation of EHCI is a chip from NEC, widely available
in add-on PCI cards, but implementations are in the works from other
vendors including Intel and Philips. Motherboard support is appearing.
EHCI controllers are packaged with "companion" host controllers (OHCI
or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports
will connect to EHCI if the device is high speed, otherwise they
connect to a companion controller. If you configure EHCI, you should
probably configure the OHCI (for NEC and some other vendors) USB Host
Controller Driver or UHCI (for Via motherboards) Host Controller
Driver too.
You may want to read .
config ADK_LINUX_KERNEL_USB_UHCI_HCD
tristate "Support for UHCI controllers"
depends on ADK_LINUX_KERNEL_USB
depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
depends on !ADK_TARGET_BOARD_BCM28XX
default m if ADK_TARGET_SYSTEM_PCENGINES_APU
default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default n
help
The Universal Host Controller Interface is a standard by Intel for
accessing the USB hardware in the PC (which is also called the USB
host controller). If your USB host controller conforms to this
standard, you may want to say Y, but see below. All recent boards
with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
i810, i820) conform to this standard. Also all VIA PCI chipsets
(like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
133). If unsure, say Y.
config ADK_LINUX_KERNEL_USB_OHCI_HCD
tristate "Support for OHCI controllers"
depends on ADK_LINUX_KERNEL_USB
depends on !ADK_TARGET_BOARD_BCM28XX
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_PCENGINES_ALIX
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_PCENGINES_APU
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default m if ADK_TARGET_SYSTEM_PCENGINES_APU
default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
default m if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default n
help
The Open Host Controller Interface (OHCI) is a standard for accessing
USB 1.1 host controller hardware. It does more in hardware than Intel's
UHCI specification. If your USB host controller follows the OHCI spec,
say Y. On most non-x86 systems, and on x86 hardware that's not using a
USB controller from Intel or VIA, this is appropriate. If your host
controller doesn't use PCI, this is probably appropriate. For a PCI
based system where you're not sure, the "lspci -v" entry will list the
right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI.
config ADK_LINUX_KERNEL_USB_DWCOTG
bool "Support for DWCOTG controller"
select ADK_LINUX_KERNEL_USB
select ADK_LINUX_KERNEL_FIQ
depends on ADK_TARGET_BOARD_BCM28XX
default y if ADK_TARGET_BOARD_BCM28XX
default n
help
The Synopsis DWC controller is a dual-role
host/peripheral/OTG ("On The Go") USB controllers.
config ADK_LINUX_KERNEL_USB_CHIPIDEA_UDC
bool
config ADK_LINUX_KERNEL_USB_CHIPIDEA_HOST
bool
config ADK_LINUX_KERNEL_USB_CHIPIDEA
tristate "Support for ChipIdea controller"
select ADK_LINUX_KERNEL_USB_CHIPIDEA_UDC
select ADK_LINUX_KERNEL_USB_CHIPIDEA_HOST
select ADK_LINUX_KERNEL_USB_GADGET
depends on ADK_LINUX_KERNEL_USB_EHCI_HCD
depends on ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
ADK_TARGET_SYSTEM_PHYTEC_IMX6
default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
ADK_TARGET_SYSTEM_PHYTEC_IMX6
default n
config ADK_LINUX_KERNEL_USB_ISP116X_HCD
tristate "Support for ISP116X"
depends on ADK_LINUX_KERNEL_USB
depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
depends on !ADK_TARGET_BOARD_BCM28XX
help
The ISP1160 and ISP1161 chips are USB host controllers. Enable this
option if your board has this chip. If unsure, say N.
This driver does not support isochronous transfers.
config ADK_LINUX_KERNEL_USB_SL811_HCD
tristate "Support for SL811HS"
depends on ADK_LINUX_KERNEL_USB
depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
depends on !ADK_TARGET_BOARD_BCM28XX
default n
help
The SL811HS is a single-port USB controller that supports either
host side or peripheral side roles. Enable this option if your
board has this chip, and you want to use it as a host controller.
If unsure, say N.
endmenu
menu "USB devices support"
config ADK_LINUX_KERNEL_USB_STORAGE
tristate "Support for USB storage devices"
select ADK_LINUX_KERNEL_SCSI
select ADK_LINUX_KERNEL_BLK_DEV_SD
config ADK_LINUX_KERNEL_SND_USB_AUDIO
tristate "Support for USB sound adapter"
select ADK_LINUX_KERNEL_SND
select ADK_LINUX_KERNEL_SND_USB
select ADK_LINUX_KERNEL_SND_RAWMIDI
config ADK_LINUX_KERNEL_USB_HSO
tristate "Support for USB HSO devices"
select ADK_LINUX_KERNEL_RFKILL
select ADK_LINUX_KERNEL_USB_STORAGE
config ADK_LINUX_KERNEL_USB_PRINTER
tristate "Support for USB printers"
config ADK_LINUX_KERNEL_USB_ACM
tristate "Support for USB modems/isdn controllers"
config ADK_LINUX_KERNEL_USB_PEGASUS
tristate "Support for USB Pegasus network cards"
select ADK_LINUX_KERNEL_USB_NET_DRIVERS
config ADK_LINUX_KERNEL_USB_SERIAL
tristate "Support for USB-to-serial converters"
help
Say Y here if you have a USB device that provides normal serial
ports, or acts like a serial device, and you want to connect it to
your USB bus.
Please read for more
information on the specifics of the different devices that are
supported, and on how to use them.
config ADK_LINUX_KERNEL_USB_SERIAL_BELKIN
tristate "Support for Belkin USB-to-serial converters"
depends on ADK_LINUX_KERNEL_USB_SERIAL
help
Say Y here if you want to use a Belkin USB Serial single port
adaptor (F5U103 is one of the model numbers) or the Peracom single
port USB to serial adapter.
config ADK_LINUX_KERNEL_USB_SERIAL_FTDI_SIO
tristate "Support for FTDI USB-to-serial converter"
depends on ADK_LINUX_KERNEL_USB_SERIAL
help
Say Y here if you want to use a FTDI SIO single port USB to serial
converter device. The implementation I have is called the USC-1000.
This driver has also be tested with the 245 and 232 devices.
See for more
information on this driver and the device.
config ADK_LINUX_KERNEL_USB_SERIAL_MCT_U232
tristate "Support for Magic Control Technology USB-to-Serial converters"
depends on ADK_LINUX_KERNEL_USB_SERIAL
help
Say Y here if you want to use a USB Serial single port adapter from
Magic Control Technology Corp. (U232 is one of the model numbers).
This driver also works with Sitecom U232-P25 and D-Link DU-H3SP USB
BAY, Belkin F5U109, and Belkin F5U409 devices.
config ADK_LINUX_KERNEL_USB_SERIAL_PL2303
tristate "Support for Prolific PL2303 USB-to-Serial converters"
depends on ADK_LINUX_KERNEL_USB_SERIAL
help
Say Y here if you want to use the PL2303 USB Serial single port
adapter from Prolific.
config ADK_LINUX_KERNEL_USB_SERIAL_VISOR
tristate "Support for Handspring Visor / Palm m50x / Sony Clie Driver"
depends on ADK_LINUX_KERNEL_USB_SERIAL
help
Say Y here if you want to connect to your HandSpring Visor, Palm
m500 or m505 through its USB docking station. See
for more information on using this
driver.
config ADK_LINUX_KERNEL_USB_SERIAL_SIERRAWIRELESS
tristate "Support for Sierra Wireless USB-to-Serial converters"
depends on ADK_LINUX_KERNEL_USB_SERIAL
config ADK_LINUX_KERNEL_USB_SERIAL_OPTION
tristate "USB driver for GSM and CDMA modems"
depends on ADK_LINUX_KERNEL_USB_SERIAL
help
Say Y here if you have a GSM or CDMA modem that's connected to USB.
config ADK_LINUX_KERNEL_USB_SERIAL_WWAN
tristate
depends on ADK_LINUX_KERNEL_USB_SERIAL
config ADK_LINUX_KERNEL_USB_ATM
tristate "Support for USB ATM devices"
config ADK_LINUX_KERNEL_USB_ATM_SPEEDTOUCH
tristate "Support for USB Speedtouch ADSL modem"
depends on ADK_LINUX_KERNEL_USB_ATM
config ADK_LINUX_KERNEL_USB_SISUSBVGA
tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)"
config ADK_LINUX_KERNEL_USB_NET_QMI_WWAN
tristate "Qualcomm LTE modems"
select ADK_LINUX_KERNEL_USB_USBNET
help
config ADK_LINUX_KERNEL_USB_SIERRA_NET
tristate "Sierra Wireless MC8775 PCI Express"
select ADK_LINUX_KERNEL_USB_USBNET
help
Driver for WWAN modem Sierra Wireless MC8775 PCI Express
config ADK_LINUX_KERNEL_SND_USB
bool
depends on ADK_LINUX_KERNEL_USB
config ADK_LINUX_KERNEL_SND_USB_AUDIO
tristate
config ADK_LINUX_KERNEL_USB_GADGET
tristate
config ADK_LINUX_KERNEL_USB_AUDIO
tristate
config ADK_LINUX_KERNEL_USB_MIDI_GADGET
tristate "USB Midi Gadgets"
select ADK_LINUX_KERNEL_USB_GADGET
select ADK_LINUX_KERNEL_USB_AUDIO
select ADK_LINUX_KERNEL_SND_USB_AUDIO
select ADK_LINUX_KERNEL_SND_USB
help
Enable USB midi devices
endmenu
endmenu