# 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