^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # USB device configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) config USB_OHCI_BIG_ENDIAN_DESC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) config USB_OHCI_BIG_ENDIAN_MMIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) config USB_OHCI_LITTLE_ENDIAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) default n if STB03xxx || PPC_MPC52xx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) config USB_EHCI_BIG_ENDIAN_MMIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) config USB_EHCI_BIG_ENDIAN_DESC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) config USB_UHCI_BIG_ENDIAN_MMIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) config USB_UHCI_BIG_ENDIAN_DESC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) menuconfig USB_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) bool "USB support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) depends on HAS_IOMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) This option adds core support for Universal Serial Bus (USB).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) You will also need drivers from the following menu to make use of it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) if USB_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) source "drivers/usb/common/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) config USB_ARCH_HAS_HCD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) config USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) tristate "Support for Host-side USB"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) depends on USB_ARCH_HAS_HCD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) select GENERIC_ALLOCATOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) select USB_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) select NLS # for UTF-8 strings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) Universal Serial Bus (USB) is a specification for a serial bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) subsystem which offers higher speeds and more features than the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) traditional PC serial port. The bus supplies power to peripherals
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) and allows for hot swapping. Up to 127 USB peripherals can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) connected to a single USB host in a tree structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) The USB host is the root of the tree, the peripherals are the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) leaves and the inner nodes are special USB devices called hubs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) Most PCs now have USB host ports, used to connect peripherals
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) such as scanners, keyboards, mice, modems, cameras, disks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) flash memory, network links, and printers to the PC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) Say Y here if your computer has a host-side USB port and you want
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) to use USB devices. You then need to say Y to at least one of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) Host Controller Driver (HCD) options below. Choose a USB 1.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) controller, such as "UHCI HCD support" or "OHCI HCD support",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) and "EHCI HCD (USB 2.0) support" except for older systems that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) do not have USB 2.0 support. It doesn't normally hurt to select
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) them all if you are not certain.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) If your system has a device-side USB port, used in the peripheral
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) side of the USB protocol, see the "USB Gadget" framework instead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) After choosing your HCD, then select drivers for the USB peripherals
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) you'll be using. You may want to check out the information provided
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) in <file:Documentation/usb/> and especially the links given in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) <file:Documentation/usb/usb-help.rst>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) module will be called usbcore.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) config USB_PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) bool "PCI based USB host interface"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) depends on PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) Many embedded system SOCs (e.g. freescale T2080) have both
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) PCI and USB modules with the USB module directly controlled by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) registers and having no relationship to the PCI module.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) If you have such a device you may say N here and PCI related code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) will not be built in the USB driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) if USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) source "drivers/usb/core/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) source "drivers/usb/mon/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) source "drivers/usb/host/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) source "drivers/usb/renesas_usbhs/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) source "drivers/usb/class/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) source "drivers/usb/storage/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) source "drivers/usb/image/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) source "drivers/usb/usbip/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) source "drivers/usb/cdns3/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) source "drivers/usb/mtu3/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) source "drivers/usb/musb/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) source "drivers/usb/dwc3/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) source "drivers/usb/dwc2/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) source "drivers/usb/chipidea/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) source "drivers/usb/isp1760/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) comment "USB port drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) if USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) config USB_USS720
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) tristate "USS720 parport driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) depends on PARPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) select PARPORT_NOT_PC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) This driver is for USB parallel port adapters that use the Lucent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) Technologies USS-720 chip. These cables are plugged into your USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) port and provide USB compatibility to peripherals designed with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) parallel port interfaces.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) The chip has two modes: automatic mode and manual mode. In automatic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) mode, it looks to the computer like a standard USB printer. Only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) printers may be connected to the USS-720 in this mode. The generic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) USB printer driver ("USB Printer support", above) may be used in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) that mode, and you can say N here if you want to use the chip only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) in this mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) Manual mode is not limited to printers, any parallel port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) device should work. This driver utilizes manual mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) Note however that some operations are three orders of magnitude
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) slower than on a PCI/ISA Parallel Port, so timing critical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) applications might not work.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) Say Y here if you own an USS-720 USB->Parport cable and intend to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) connect anything other than a printer to it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) module will be called uss720.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) source "drivers/usb/serial/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) source "drivers/usb/misc/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) source "drivers/usb/atm/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) endif # USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) source "drivers/usb/phy/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) source "drivers/usb/gadget/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) source "drivers/usb/typec/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) source "drivers/usb/roles/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) endif # USB_SUPPORT