11da177e4SLinus Torvalds# 21da177e4SLinus Torvalds# USB device configuration 31da177e4SLinus Torvalds# 41da177e4SLinus Torvalds 5900e0621SDavid Daneyconfig USB_OHCI_BIG_ENDIAN_DESC 6900e0621SDavid Daney bool 7900e0621SDavid Daney 8900e0621SDavid Daneyconfig USB_OHCI_BIG_ENDIAN_MMIO 9900e0621SDavid Daney bool 10900e0621SDavid Daney 11900e0621SDavid Daneyconfig USB_OHCI_LITTLE_ENDIAN 12900e0621SDavid Daney bool 13900e0621SDavid Daney default n if STB03xxx || PPC_MPC52xx 14900e0621SDavid Daney default y 15900e0621SDavid Daney 16900e0621SDavid Daneyconfig USB_EHCI_BIG_ENDIAN_MMIO 17900e0621SDavid Daney bool 18900e0621SDavid Daney 19900e0621SDavid Daneyconfig USB_EHCI_BIG_ENDIAN_DESC 20900e0621SDavid Daney bool 21900e0621SDavid Daney 22*ec897569SJames Hoganconfig USB_UHCI_BIG_ENDIAN_MMIO 23*ec897569SJames Hogan bool 24*ec897569SJames Hogan default y if SPARC_LEON 25*ec897569SJames Hogan 26*ec897569SJames Hoganconfig USB_UHCI_BIG_ENDIAN_DESC 27*ec897569SJames Hogan bool 28*ec897569SJames Hogan default y if SPARC_LEON 29*ec897569SJames Hogan 30a8edc42aSDavid Daneymenuconfig USB_SUPPORT 31a8edc42aSDavid Daney bool "USB support" 32a8edc42aSDavid Daney depends on HAS_IOMEM 33a8edc42aSDavid Daney default y 34a8edc42aSDavid Daney ---help--- 35a8edc42aSDavid Daney This option adds core support for Universal Serial Bus (USB). 36a8edc42aSDavid Daney You will also need drivers from the following menu to make use of it. 37a8edc42aSDavid Daney 3853c6bc24SDavid Daneyif USB_SUPPORT 3953c6bc24SDavid Daney 4053c6bc24SDavid Daneyconfig USB_COMMON 4153c6bc24SDavid Daney tristate 4253c6bc24SDavid Daney 4353c6bc24SDavid Daneyconfig USB_ARCH_HAS_HCD 44d9ea21a7SArnd Bergmann def_bool y 4553c6bc24SDavid Daney 461da177e4SLinus Torvaldsconfig USB 471da177e4SLinus Torvalds tristate "Support for Host-side USB" 481da177e4SLinus Torvalds depends on USB_ARCH_HAS_HCD 49badf6d47SArnd Bergmann select USB_COMMON 50a853a3d4SClemens Ladisch select NLS # for UTF-8 strings 511da177e4SLinus Torvalds ---help--- 521da177e4SLinus Torvalds Universal Serial Bus (USB) is a specification for a serial bus 531da177e4SLinus Torvalds subsystem which offers higher speeds and more features than the 541da177e4SLinus Torvalds traditional PC serial port. The bus supplies power to peripherals 551da177e4SLinus Torvalds and allows for hot swapping. Up to 127 USB peripherals can be 561da177e4SLinus Torvalds connected to a single USB host in a tree structure. 571da177e4SLinus Torvalds 581da177e4SLinus Torvalds The USB host is the root of the tree, the peripherals are the 591da177e4SLinus Torvalds leaves and the inner nodes are special USB devices called hubs. 601da177e4SLinus Torvalds Most PCs now have USB host ports, used to connect peripherals 611da177e4SLinus Torvalds such as scanners, keyboards, mice, modems, cameras, disks, 621da177e4SLinus Torvalds flash memory, network links, and printers to the PC. 631da177e4SLinus Torvalds 641da177e4SLinus Torvalds Say Y here if your computer has a host-side USB port and you want 651da177e4SLinus Torvalds to use USB devices. You then need to say Y to at least one of the 661da177e4SLinus Torvalds Host Controller Driver (HCD) options below. Choose a USB 1.1 671da177e4SLinus Torvalds controller, such as "UHCI HCD support" or "OHCI HCD support", 681da177e4SLinus Torvalds and "EHCI HCD (USB 2.0) support" except for older systems that 691da177e4SLinus Torvalds do not have USB 2.0 support. It doesn't normally hurt to select 701da177e4SLinus Torvalds them all if you are not certain. 711da177e4SLinus Torvalds 721da177e4SLinus Torvalds If your system has a device-side USB port, used in the peripheral 731da177e4SLinus Torvalds side of the USB protocol, see the "USB Gadget" framework instead. 741da177e4SLinus Torvalds 751da177e4SLinus Torvalds After choosing your HCD, then select drivers for the USB peripherals 761da177e4SLinus Torvalds you'll be using. You may want to check out the information provided 771da177e4SLinus Torvalds in <file:Documentation/usb/> and especially the links given in 781da177e4SLinus Torvalds <file:Documentation/usb/usb-help.txt>. 791da177e4SLinus Torvalds 801da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 811da177e4SLinus Torvalds module will be called usbcore. 821da177e4SLinus Torvalds 832c93e790Syuan linyuconfig USB_PCI 842c93e790Syuan linyu bool "PCI based USB host interface" 852c93e790Syuan linyu depends on PCI 862c93e790Syuan linyu default y 872c93e790Syuan linyu ---help--- 882bb80de7SChris Mayo Many embedded system SOCs (e.g. freescale T2080) have both 892bb80de7SChris Mayo PCI and USB modules with the USB module directly controlled by 902bb80de7SChris Mayo registers and having no relationship to the PCI module. 912c93e790Syuan linyu 922bb80de7SChris Mayo If you have such a device you may say N here and PCI related code 932bb80de7SChris Mayo will not be built in the USB driver. 942c93e790Syuan linyu 9525e11ec4SFlorian Fainelliif USB 961da177e4SLinus Torvalds 9725e11ec4SFlorian Fainellisource "drivers/usb/core/Kconfig" 9872246da4SFelipe Balbi 993bea302dSSimon Arlottsource "drivers/usb/mon/Kconfig" 1003bea302dSSimon Arlott 101470cc415SGreg Kroah-Hartmansource "drivers/usb/wusbcore/Kconfig" 102470cc415SGreg Kroah-Hartman 1031da177e4SLinus Torvaldssource "drivers/usb/host/Kconfig" 1041da177e4SLinus Torvalds 105f1407d5cSKuninori Morimotosource "drivers/usb/renesas_usbhs/Kconfig" 106f1407d5cSKuninori Morimoto 1071da177e4SLinus Torvaldssource "drivers/usb/class/Kconfig" 1081da177e4SLinus Torvalds 1091da177e4SLinus Torvaldssource "drivers/usb/storage/Kconfig" 1101da177e4SLinus Torvalds 1111da177e4SLinus Torvaldssource "drivers/usb/image/Kconfig" 1121da177e4SLinus Torvalds 11396c27377SValentina Maneasource "drivers/usb/usbip/Kconfig" 11496c27377SValentina Manea 11525e11ec4SFlorian Fainelliendif 11625e11ec4SFlorian Fainelli 117df2069acSChunfeng Yunsource "drivers/usb/mtu3/Kconfig" 118df2069acSChunfeng Yun 119845c071bSEzequiel Garciasource "drivers/usb/musb/Kconfig" 120845c071bSEzequiel Garcia 12125e11ec4SFlorian Fainellisource "drivers/usb/dwc3/Kconfig" 12225e11ec4SFlorian Fainelli 123197ba5f4SPaul Zimmermansource "drivers/usb/dwc2/Kconfig" 124197ba5f4SPaul Zimmerman 12525e11ec4SFlorian Fainellisource "drivers/usb/chipidea/Kconfig" 12625e11ec4SFlorian Fainelli 1277ef077a8SLaurent Pinchartsource "drivers/usb/isp1760/Kconfig" 1287ef077a8SLaurent Pinchart 1291da177e4SLinus Torvaldscomment "USB port drivers" 13025e11ec4SFlorian Fainelli 13125e11ec4SFlorian Fainelliif USB 1321da177e4SLinus Torvalds 1331da177e4SLinus Torvaldsconfig USB_USS720 1341da177e4SLinus Torvalds tristate "USS720 parport driver" 13525e11ec4SFlorian Fainelli depends on PARPORT 1361da177e4SLinus Torvalds select PARPORT_NOT_PC 1371da177e4SLinus Torvalds ---help--- 1381da177e4SLinus Torvalds This driver is for USB parallel port adapters that use the Lucent 1391da177e4SLinus Torvalds Technologies USS-720 chip. These cables are plugged into your USB 1401da177e4SLinus Torvalds port and provide USB compatibility to peripherals designed with 1411da177e4SLinus Torvalds parallel port interfaces. 1421da177e4SLinus Torvalds 1431da177e4SLinus Torvalds The chip has two modes: automatic mode and manual mode. In automatic 1441da177e4SLinus Torvalds mode, it looks to the computer like a standard USB printer. Only 1451da177e4SLinus Torvalds printers may be connected to the USS-720 in this mode. The generic 1461da177e4SLinus Torvalds USB printer driver ("USB Printer support", above) may be used in 1471da177e4SLinus Torvalds that mode, and you can say N here if you want to use the chip only 1481da177e4SLinus Torvalds in this mode. 1491da177e4SLinus Torvalds 1501da177e4SLinus Torvalds Manual mode is not limited to printers, any parallel port 1511da177e4SLinus Torvalds device should work. This driver utilizes manual mode. 1521da177e4SLinus Torvalds Note however that some operations are three orders of magnitude 1531da177e4SLinus Torvalds slower than on a PCI/ISA Parallel Port, so timing critical 1541da177e4SLinus Torvalds applications might not work. 1551da177e4SLinus Torvalds 1561da177e4SLinus Torvalds Say Y here if you own an USS-720 USB->Parport cable and intend to 1571da177e4SLinus Torvalds connect anything other than a printer to it. 1581da177e4SLinus Torvalds 1591da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 1601da177e4SLinus Torvalds module will be called uss720. 1611da177e4SLinus Torvalds 1621da177e4SLinus Torvaldssource "drivers/usb/serial/Kconfig" 1631da177e4SLinus Torvalds 1641da177e4SLinus Torvaldssource "drivers/usb/misc/Kconfig" 1651da177e4SLinus Torvalds 1661da177e4SLinus Torvaldssource "drivers/usb/atm/Kconfig" 1671da177e4SLinus Torvalds 16825e11ec4SFlorian Fainelliendif # USB 16925e11ec4SFlorian Fainelli 17025e11ec4SFlorian Fainellisource "drivers/usb/phy/Kconfig" 17125e11ec4SFlorian Fainelli 1721da177e4SLinus Torvaldssource "drivers/usb/gadget/Kconfig" 1731da177e4SLinus Torvalds 174fab92884SHeikki Krogerussource "drivers/usb/typec/Kconfig" 175fab92884SHeikki Krogerus 1760cfbd328SMichal Sojkaconfig USB_LED_TRIG 1770cfbd328SMichal Sojka bool "USB LED Triggers" 178cb9c1cfcSPeter Chen depends on LEDS_CLASS && LEDS_TRIGGERS 179cb9c1cfcSPeter Chen select USB_COMMON 1800cfbd328SMichal Sojka help 1810cfbd328SMichal Sojka This option adds LED triggers for USB host and/or gadget activity. 1820cfbd328SMichal Sojka 1830cfbd328SMichal Sojka Say Y here if you are working on a system with led-class supported 1840cfbd328SMichal Sojka LEDs and you want to use them as activity indicators for USB host or 1850cfbd328SMichal Sojka gadget. 1860cfbd328SMichal Sojka 187ad764c49SPeter Chenconfig USB_ULPI_BUS 188ad764c49SPeter Chen tristate "USB ULPI PHY interface support" 189cb9c1cfcSPeter Chen select USB_COMMON 190ad764c49SPeter Chen help 191ad764c49SPeter Chen UTMI+ Low Pin Interface (ULPI) is specification for a commonly used 192ad764c49SPeter Chen USB 2.0 PHY interface. The ULPI specification defines a standard set 193ad764c49SPeter Chen of registers that can be used to detect the vendor and product which 194ad764c49SPeter Chen allows ULPI to be handled as a bus. This module is the driver for that 195ad764c49SPeter Chen bus. 196ad764c49SPeter Chen 197ad764c49SPeter Chen The ULPI interfaces (the buses) are registered by the drivers for USB 198ad764c49SPeter Chen controllers which support ULPI register access and have ULPI PHY 199ad764c49SPeter Chen attached to them. The ULPI PHY drivers themselves are normal PHY 200ad764c49SPeter Chen drivers. 201ad764c49SPeter Chen 202ad764c49SPeter Chen ULPI PHYs provide often functions such as ADP sensing/probing (OTG 203ad764c49SPeter Chen protocol) and USB charger detection. 204ad764c49SPeter Chen 205ad764c49SPeter Chen To compile this driver as a module, choose M here: the module will 206ad764c49SPeter Chen be called ulpi. 207ad764c49SPeter Chen 20804d06ad0SJan Engelhardtendif # USB_SUPPORT 209