18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# USB device configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciconfig USB_OHCI_BIG_ENDIAN_DESC 78c2ecf20Sopenharmony_ci bool 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciconfig USB_OHCI_BIG_ENDIAN_MMIO 108c2ecf20Sopenharmony_ci bool 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciconfig USB_OHCI_LITTLE_ENDIAN 138c2ecf20Sopenharmony_ci bool 148c2ecf20Sopenharmony_ci default n if STB03xxx || PPC_MPC52xx 158c2ecf20Sopenharmony_ci default y 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciconfig USB_EHCI_BIG_ENDIAN_MMIO 188c2ecf20Sopenharmony_ci bool 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciconfig USB_EHCI_BIG_ENDIAN_DESC 218c2ecf20Sopenharmony_ci bool 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciconfig USB_UHCI_BIG_ENDIAN_MMIO 248c2ecf20Sopenharmony_ci bool 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciconfig USB_UHCI_BIG_ENDIAN_DESC 278c2ecf20Sopenharmony_ci bool 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_cimenuconfig USB_SUPPORT 308c2ecf20Sopenharmony_ci bool "USB support" 318c2ecf20Sopenharmony_ci depends on HAS_IOMEM 328c2ecf20Sopenharmony_ci default y 338c2ecf20Sopenharmony_ci help 348c2ecf20Sopenharmony_ci This option adds core support for Universal Serial Bus (USB). 358c2ecf20Sopenharmony_ci You will also need drivers from the following menu to make use of it. 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciif USB_SUPPORT 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_cisource "drivers/usb/common/Kconfig" 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig USB_ARCH_HAS_HCD 428c2ecf20Sopenharmony_ci def_bool y 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciconfig USB 458c2ecf20Sopenharmony_ci tristate "Support for Host-side USB" 468c2ecf20Sopenharmony_ci depends on USB_ARCH_HAS_HCD 478c2ecf20Sopenharmony_ci select GENERIC_ALLOCATOR 488c2ecf20Sopenharmony_ci select USB_COMMON 498c2ecf20Sopenharmony_ci select NLS # for UTF-8 strings 508c2ecf20Sopenharmony_ci help 518c2ecf20Sopenharmony_ci Universal Serial Bus (USB) is a specification for a serial bus 528c2ecf20Sopenharmony_ci subsystem which offers higher speeds and more features than the 538c2ecf20Sopenharmony_ci traditional PC serial port. The bus supplies power to peripherals 548c2ecf20Sopenharmony_ci and allows for hot swapping. Up to 127 USB peripherals can be 558c2ecf20Sopenharmony_ci connected to a single USB host in a tree structure. 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci The USB host is the root of the tree, the peripherals are the 588c2ecf20Sopenharmony_ci leaves and the inner nodes are special USB devices called hubs. 598c2ecf20Sopenharmony_ci Most PCs now have USB host ports, used to connect peripherals 608c2ecf20Sopenharmony_ci such as scanners, keyboards, mice, modems, cameras, disks, 618c2ecf20Sopenharmony_ci flash memory, network links, and printers to the PC. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci Say Y here if your computer has a host-side USB port and you want 648c2ecf20Sopenharmony_ci to use USB devices. You then need to say Y to at least one of the 658c2ecf20Sopenharmony_ci Host Controller Driver (HCD) options below. Choose a USB 1.1 668c2ecf20Sopenharmony_ci controller, such as "UHCI HCD support" or "OHCI HCD support", 678c2ecf20Sopenharmony_ci and "EHCI HCD (USB 2.0) support" except for older systems that 688c2ecf20Sopenharmony_ci do not have USB 2.0 support. It doesn't normally hurt to select 698c2ecf20Sopenharmony_ci them all if you are not certain. 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci If your system has a device-side USB port, used in the peripheral 728c2ecf20Sopenharmony_ci side of the USB protocol, see the "USB Gadget" framework instead. 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci After choosing your HCD, then select drivers for the USB peripherals 758c2ecf20Sopenharmony_ci you'll be using. You may want to check out the information provided 768c2ecf20Sopenharmony_ci in <file:Documentation/usb/> and especially the links given in 778c2ecf20Sopenharmony_ci <file:Documentation/usb/usb-help.rst>. 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 808c2ecf20Sopenharmony_ci module will be called usbcore. 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ciconfig USB_PCI 838c2ecf20Sopenharmony_ci bool "PCI based USB host interface" 848c2ecf20Sopenharmony_ci depends on PCI 858c2ecf20Sopenharmony_ci default y 868c2ecf20Sopenharmony_ci help 878c2ecf20Sopenharmony_ci Many embedded system SOCs (e.g. freescale T2080) have both 888c2ecf20Sopenharmony_ci PCI and USB modules with the USB module directly controlled by 898c2ecf20Sopenharmony_ci registers and having no relationship to the PCI module. 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci If you have such a device you may say N here and PCI related code 928c2ecf20Sopenharmony_ci will not be built in the USB driver. 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ciif USB 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_cisource "drivers/usb/core/Kconfig" 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_cisource "drivers/usb/mon/Kconfig" 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_cisource "drivers/usb/host/Kconfig" 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_cisource "drivers/usb/renesas_usbhs/Kconfig" 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_cisource "drivers/usb/class/Kconfig" 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_cisource "drivers/usb/storage/Kconfig" 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_cisource "drivers/usb/image/Kconfig" 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_cisource "drivers/usb/usbip/Kconfig" 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ciendif 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_cisource "drivers/usb/cdns3/Kconfig" 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_cisource "drivers/usb/mtu3/Kconfig" 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_cisource "drivers/usb/musb/Kconfig" 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_cisource "drivers/usb/dwc3/Kconfig" 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_cisource "drivers/usb/dwc2/Kconfig" 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_cisource "drivers/usb/chipidea/Kconfig" 1258c2ecf20Sopenharmony_ci 1268c2ecf20Sopenharmony_cisource "drivers/usb/isp1760/Kconfig" 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_cicomment "USB port drivers" 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ciif USB 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ciconfig USB_USS720 1338c2ecf20Sopenharmony_ci tristate "USS720 parport driver" 1348c2ecf20Sopenharmony_ci depends on PARPORT 1358c2ecf20Sopenharmony_ci select PARPORT_NOT_PC 1368c2ecf20Sopenharmony_ci help 1378c2ecf20Sopenharmony_ci This driver is for USB parallel port adapters that use the Lucent 1388c2ecf20Sopenharmony_ci Technologies USS-720 chip. These cables are plugged into your USB 1398c2ecf20Sopenharmony_ci port and provide USB compatibility to peripherals designed with 1408c2ecf20Sopenharmony_ci parallel port interfaces. 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci The chip has two modes: automatic mode and manual mode. In automatic 1438c2ecf20Sopenharmony_ci mode, it looks to the computer like a standard USB printer. Only 1448c2ecf20Sopenharmony_ci printers may be connected to the USS-720 in this mode. The generic 1458c2ecf20Sopenharmony_ci USB printer driver ("USB Printer support", above) may be used in 1468c2ecf20Sopenharmony_ci that mode, and you can say N here if you want to use the chip only 1478c2ecf20Sopenharmony_ci in this mode. 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ci Manual mode is not limited to printers, any parallel port 1508c2ecf20Sopenharmony_ci device should work. This driver utilizes manual mode. 1518c2ecf20Sopenharmony_ci Note however that some operations are three orders of magnitude 1528c2ecf20Sopenharmony_ci slower than on a PCI/ISA Parallel Port, so timing critical 1538c2ecf20Sopenharmony_ci applications might not work. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ci Say Y here if you own an USS-720 USB->Parport cable and intend to 1568c2ecf20Sopenharmony_ci connect anything other than a printer to it. 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 1598c2ecf20Sopenharmony_ci module will be called uss720. 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_cisource "drivers/usb/serial/Kconfig" 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_cisource "drivers/usb/misc/Kconfig" 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_cisource "drivers/usb/atm/Kconfig" 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ciendif # USB 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_cisource "drivers/usb/phy/Kconfig" 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_cisource "drivers/usb/gadget/Kconfig" 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_cisource "drivers/usb/typec/Kconfig" 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_cisource "drivers/usb/roles/Kconfig" 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ciendif # USB_SUPPORT 178