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 Torvaldssource "drivers/usb/serial/Kconfig" 1371da177e4SLinus Torvalds 1381da177e4SLinus Torvaldssource "drivers/usb/misc/Kconfig" 1391da177e4SLinus Torvalds 1401da177e4SLinus Torvaldssource "drivers/usb/atm/Kconfig" 1411da177e4SLinus Torvalds 14225e11ec4SFlorian Fainelliendif # USB 14325e11ec4SFlorian Fainelli 14425e11ec4SFlorian Fainellisource "drivers/usb/phy/Kconfig" 14525e11ec4SFlorian Fainelli 1461da177e4SLinus Torvaldssource "drivers/usb/gadget/Kconfig" 1471da177e4SLinus Torvalds 148fab92884SHeikki Krogerussource "drivers/usb/typec/Kconfig" 149fab92884SHeikki Krogerus 150f6fb9ec0SHans de Goedesource "drivers/usb/roles/Kconfig" 151f6fb9ec0SHans de Goede 15204d06ad0SJan Engelhardtendif # USB_SUPPORT 153