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