1cae8dc3bSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# USB device configuration 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds 6900e0621SDavid Daneyconfig USB_OHCI_BIG_ENDIAN_DESC 7900e0621SDavid Daney bool 8900e0621SDavid Daney 9900e0621SDavid Daneyconfig USB_OHCI_BIG_ENDIAN_MMIO 10900e0621SDavid Daney bool 11900e0621SDavid Daney 12900e0621SDavid Daneyconfig USB_OHCI_LITTLE_ENDIAN 13900e0621SDavid Daney bool 14e77939eeSLukas Bulwahn default n if PPC_MPC52xx 15900e0621SDavid Daney default y 16900e0621SDavid Daney 17900e0621SDavid Daneyconfig USB_EHCI_BIG_ENDIAN_MMIO 18900e0621SDavid Daney bool 19900e0621SDavid Daney 20900e0621SDavid Daneyconfig USB_EHCI_BIG_ENDIAN_DESC 21900e0621SDavid Daney bool 22900e0621SDavid Daney 23ec897569SJames Hoganconfig USB_UHCI_BIG_ENDIAN_MMIO 24ec897569SJames Hogan bool 25ec897569SJames Hogan 26ec897569SJames Hoganconfig USB_UHCI_BIG_ENDIAN_DESC 27ec897569SJames Hogan bool 28ec897569SJames Hogan 29a8edc42aSDavid Daneymenuconfig USB_SUPPORT 30a8edc42aSDavid Daney bool "USB support" 31a8edc42aSDavid Daney depends on HAS_IOMEM 32a8edc42aSDavid Daney default y 33a7f7f624SMasahiro Yamada help 34a8edc42aSDavid Daney This option adds core support for Universal Serial Bus (USB). 35a8edc42aSDavid Daney You will also need drivers from the following menu to make use of it. 36a8edc42aSDavid Daney 3753c6bc24SDavid Daneyif USB_SUPPORT 3853c6bc24SDavid Daney 3912b591bcSChunfeng Yunsource "drivers/usb/common/Kconfig" 4053c6bc24SDavid Daney 4153c6bc24SDavid Daneyconfig USB_ARCH_HAS_HCD 42d9ea21a7SArnd Bergmann def_bool y 4353c6bc24SDavid Daney 441da177e4SLinus Torvaldsconfig USB 451da177e4SLinus Torvalds tristate "Support for Host-side USB" 461da177e4SLinus Torvalds depends on USB_ARCH_HAS_HCD 47b0310c2fSLaurentiu Tudor select GENERIC_ALLOCATOR 48badf6d47SArnd Bergmann select USB_COMMON 49a853a3d4SClemens Ladisch select NLS # for UTF-8 strings 50a7f7f624SMasahiro Yamada help 511da177e4SLinus Torvalds Universal Serial Bus (USB) is a specification for a serial bus 521da177e4SLinus Torvalds subsystem which offers higher speeds and more features than the 531da177e4SLinus Torvalds traditional PC serial port. The bus supplies power to peripherals 541da177e4SLinus Torvalds and allows for hot swapping. Up to 127 USB peripherals can be 551da177e4SLinus Torvalds connected to a single USB host in a tree structure. 561da177e4SLinus Torvalds 571da177e4SLinus Torvalds The USB host is the root of the tree, the peripherals are the 581da177e4SLinus Torvalds leaves and the inner nodes are special USB devices called hubs. 591da177e4SLinus Torvalds Most PCs now have USB host ports, used to connect peripherals 601da177e4SLinus Torvalds such as scanners, keyboards, mice, modems, cameras, disks, 611da177e4SLinus Torvalds flash memory, network links, and printers to the PC. 621da177e4SLinus Torvalds 631da177e4SLinus Torvalds Say Y here if your computer has a host-side USB port and you want 641da177e4SLinus Torvalds to use USB devices. You then need to say Y to at least one of the 651da177e4SLinus Torvalds Host Controller Driver (HCD) options below. Choose a USB 1.1 661da177e4SLinus Torvalds controller, such as "UHCI HCD support" or "OHCI HCD support", 671da177e4SLinus Torvalds and "EHCI HCD (USB 2.0) support" except for older systems that 681da177e4SLinus Torvalds do not have USB 2.0 support. It doesn't normally hurt to select 691da177e4SLinus Torvalds them all if you are not certain. 701da177e4SLinus Torvalds 711da177e4SLinus Torvalds If your system has a device-side USB port, used in the peripheral 721da177e4SLinus Torvalds side of the USB protocol, see the "USB Gadget" framework instead. 731da177e4SLinus Torvalds 741da177e4SLinus Torvalds After choosing your HCD, then select drivers for the USB peripherals 751da177e4SLinus Torvalds you'll be using. You may want to check out the information provided 761da177e4SLinus Torvalds in <file:Documentation/usb/> and especially the links given in 77ecefae6dSMauro Carvalho Chehab <file:Documentation/usb/usb-help.rst>. 781da177e4SLinus Torvalds 791da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 801da177e4SLinus Torvalds module will be called usbcore. 811da177e4SLinus Torvalds 822c93e790Syuan linyuconfig USB_PCI 832c93e790Syuan linyu bool "PCI based USB host interface" 842c93e790Syuan linyu depends on PCI 852c93e790Syuan linyu default y 86a7f7f624SMasahiro Yamada help 872bb80de7SChris Mayo Many embedded system SOCs (e.g. freescale T2080) have both 882bb80de7SChris Mayo PCI and USB modules with the USB module directly controlled by 892bb80de7SChris Mayo registers and having no relationship to the PCI module. 902c93e790Syuan linyu 912bb80de7SChris Mayo If you have such a device you may say N here and PCI related code 922bb80de7SChris Mayo will not be built in the USB driver. 932c93e790Syuan linyu 9425e11ec4SFlorian Fainelliif USB 951da177e4SLinus Torvalds 9625e11ec4SFlorian Fainellisource "drivers/usb/core/Kconfig" 9772246da4SFelipe Balbi 983bea302dSSimon Arlottsource "drivers/usb/mon/Kconfig" 993bea302dSSimon Arlott 1001da177e4SLinus Torvaldssource "drivers/usb/host/Kconfig" 1011da177e4SLinus Torvalds 102f1407d5cSKuninori Morimotosource "drivers/usb/renesas_usbhs/Kconfig" 103f1407d5cSKuninori Morimoto 1041da177e4SLinus Torvaldssource "drivers/usb/class/Kconfig" 1051da177e4SLinus Torvalds 1061da177e4SLinus Torvaldssource "drivers/usb/storage/Kconfig" 1071da177e4SLinus Torvalds 1081da177e4SLinus Torvaldssource "drivers/usb/image/Kconfig" 1091da177e4SLinus Torvalds 11096c27377SValentina Maneasource "drivers/usb/usbip/Kconfig" 11196c27377SValentina Manea 11225e11ec4SFlorian Fainelliendif 11325e11ec4SFlorian Fainelli 114*1dd33a9fSLinus Walleijcomment "USB dual-mode controller drivers" 115*1dd33a9fSLinus Walleij 1167733f6c3SPawel Laszczaksource "drivers/usb/cdns3/Kconfig" 1177733f6c3SPawel Laszczak 118*1dd33a9fSLinus Walleijsource "drivers/usb/fotg210/Kconfig" 119*1dd33a9fSLinus Walleij 120df2069acSChunfeng Yunsource "drivers/usb/mtu3/Kconfig" 121df2069acSChunfeng Yun 122845c071bSEzequiel Garciasource "drivers/usb/musb/Kconfig" 123845c071bSEzequiel Garcia 12425e11ec4SFlorian Fainellisource "drivers/usb/dwc3/Kconfig" 12525e11ec4SFlorian Fainelli 126197ba5f4SPaul Zimmermansource "drivers/usb/dwc2/Kconfig" 127197ba5f4SPaul Zimmerman 12825e11ec4SFlorian Fainellisource "drivers/usb/chipidea/Kconfig" 12925e11ec4SFlorian Fainelli 1307ef077a8SLaurent Pinchartsource "drivers/usb/isp1760/Kconfig" 1317ef077a8SLaurent Pinchart 1321da177e4SLinus Torvaldscomment "USB port drivers" 13325e11ec4SFlorian Fainelli 13425e11ec4SFlorian Fainelliif USB 1351da177e4SLinus Torvalds 1361da177e4SLinus Torvaldsconfig USB_USS720 1371da177e4SLinus Torvalds tristate "USS720 parport driver" 13825e11ec4SFlorian Fainelli depends on PARPORT 1391da177e4SLinus Torvalds select PARPORT_NOT_PC 140a7f7f624SMasahiro Yamada help 1411da177e4SLinus Torvalds This driver is for USB parallel port adapters that use the Lucent 1421da177e4SLinus Torvalds Technologies USS-720 chip. These cables are plugged into your USB 1431da177e4SLinus Torvalds port and provide USB compatibility to peripherals designed with 1441da177e4SLinus Torvalds parallel port interfaces. 1451da177e4SLinus Torvalds 1461da177e4SLinus Torvalds The chip has two modes: automatic mode and manual mode. In automatic 1471da177e4SLinus Torvalds mode, it looks to the computer like a standard USB printer. Only 1481da177e4SLinus Torvalds printers may be connected to the USS-720 in this mode. The generic 1491da177e4SLinus Torvalds USB printer driver ("USB Printer support", above) may be used in 1501da177e4SLinus Torvalds that mode, and you can say N here if you want to use the chip only 1511da177e4SLinus Torvalds in this mode. 1521da177e4SLinus Torvalds 1531da177e4SLinus Torvalds Manual mode is not limited to printers, any parallel port 1541da177e4SLinus Torvalds device should work. This driver utilizes manual mode. 1551da177e4SLinus Torvalds Note however that some operations are three orders of magnitude 1561da177e4SLinus Torvalds slower than on a PCI/ISA Parallel Port, so timing critical 1571da177e4SLinus Torvalds applications might not work. 1581da177e4SLinus Torvalds 1591da177e4SLinus Torvalds Say Y here if you own an USS-720 USB->Parport cable and intend to 1601da177e4SLinus Torvalds connect anything other than a printer to it. 1611da177e4SLinus Torvalds 1621da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 1631da177e4SLinus Torvalds module will be called uss720. 1641da177e4SLinus Torvalds 1651da177e4SLinus Torvaldssource "drivers/usb/serial/Kconfig" 1661da177e4SLinus Torvalds 1671da177e4SLinus Torvaldssource "drivers/usb/misc/Kconfig" 1681da177e4SLinus Torvalds 1691da177e4SLinus Torvaldssource "drivers/usb/atm/Kconfig" 1701da177e4SLinus Torvalds 17125e11ec4SFlorian Fainelliendif # USB 17225e11ec4SFlorian Fainelli 17325e11ec4SFlorian Fainellisource "drivers/usb/phy/Kconfig" 17425e11ec4SFlorian Fainelli 1751da177e4SLinus Torvaldssource "drivers/usb/gadget/Kconfig" 1761da177e4SLinus Torvalds 177fab92884SHeikki Krogerussource "drivers/usb/typec/Kconfig" 178fab92884SHeikki Krogerus 179f6fb9ec0SHans de Goedesource "drivers/usb/roles/Kconfig" 180f6fb9ec0SHans de Goede 18104d06ad0SJan Engelhardtendif # USB_SUPPORT 182