1menuconfig USB 2 bool "USB support" 3 select BLK 4 ---help--- 5 Universal Serial Bus (USB) is a specification for a serial bus 6 subsystem which offers higher speeds and more features than the 7 traditional PC serial port. The bus supplies power to peripherals 8 and allows for hot swapping. Up to 127 USB peripherals can be 9 connected to a single USB host in a tree structure. 10 11 The USB host is the root of the tree, the peripherals are the 12 leaves and the inner nodes are special USB devices called hubs. 13 Most PCs now have USB host ports, used to connect peripherals 14 such as scanners, keyboards, mice, modems, cameras, disks, 15 flash memory, network links, and printers to the PC. 16 17 Say Y here if your device has an USB port, either host, peripheral or 18 dual-role. 19 20 For an USB host port, you then need to say Y to at least one of the 21 Host Controller Driver (HCD) options below. Choose a USB 1.1 22 controller, such as "UHCI HCD support" or "OHCI HCD support", 23 and "EHCI HCD (USB 2.0) support" except for older systems that 24 do not have USB 2.0 support. It doesn't normally hurt to select 25 them all if you are not certain. 26 27 If your system has a device-side USB port, used in the peripheral 28 side of the USB protocol, see the "USB Gadget" framework instead. 29 30 After choosing your HCD, then select drivers for the USB peripherals 31 you'll be using. You may want to check out the information provided 32 in <file:Documentation/usb/> and especially the links given in 33 <file:Documentation/usb/usb-help.txt>. 34 35if USB 36 37config DM_USB 38 bool 39 depends on DM && OF_CONTROL 40 help 41 Enable driver model for USB. The USB interface is then implemented 42 by the USB uclass. Multiple USB controllers of different types 43 (XHCI, EHCI, OHCI) can be attached and used. The 'usb' command works 44 as normal. 45 46 Much of the code is shared but with this option enabled the USB 47 uclass takes care of device enumeration. USB devices can be 48 declared with the U_BOOT_USB_DEVICE() macro and will be 49 automatically probed when found on the bus. 50 51config SPL_DM_USB 52 bool "Enable driver model for USB host mode in SPL" 53 depends on SPL_DM && DM_USB 54 default n if ARCH_MVEBU 55 default y 56 57config DM_USB_GADGET 58 bool "Enable driver model for USB Gadget" 59 depends on DM_USB 60 help 61 Enable driver model for USB Gadget (Peripheral 62 mode) 63 64config SPL_DM_USB_GADGET 65 bool "Enable driver model for USB Gadget in SPL" 66 depends on SPL_DM_USB 67 help 68 Enable driver model for USB Gadget in SPL 69 (Peripheral mode) 70 71source "drivers/usb/host/Kconfig" 72 73source "drivers/usb/isp1760/Kconfig" 74 75source "drivers/usb/cdns3/Kconfig" 76 77source "drivers/usb/dwc3/Kconfig" 78 79source "drivers/usb/mtu3/Kconfig" 80 81source "drivers/usb/musb/Kconfig" 82 83source "drivers/usb/musb-new/Kconfig" 84 85source "drivers/usb/emul/Kconfig" 86 87source "drivers/usb/phy/Kconfig" 88 89source "drivers/usb/tcpm/Kconfig" 90 91source "drivers/usb/ulpi/Kconfig" 92 93if USB_HOST 94 95comment "USB peripherals" 96 97config USB_STORAGE 98 bool "USB Mass Storage support" 99 ---help--- 100 Say Y here if you want to connect USB mass storage devices to your 101 board's USB port. 102 103config USB_KEYBOARD 104 bool "USB Keyboard support" 105 depends on DM_USB 106 select DM_KEYBOARD 107 select SYS_STDIO_DEREGISTER 108 ---help--- 109 Say Y here if you want to use a USB keyboard for U-Boot command line 110 input. 111 112config USB_ONBOARD_HUB 113 bool "Onboard USB hub support" 114 depends on DM_USB 115 select DEVRES 116 ---help--- 117 Say Y here if you want to support discrete onboard USB hubs that 118 don't require an additional control bus for initialization, but 119 need some non-trivial form of initialization, such as enabling a 120 power regulator. An example for such a hub is the Microchip 121 USB2514B. 122 123config USB_HUB_DEBOUNCE_TIMEOUT 124 int "Timeout in milliseconds for USB HUB connection" 125 default 1000 126 help 127 Value in milliseconds of the USB connection timeout, the max delay to 128 wait the hub port status to be connected steadily after being powered 129 off and powered on in the usb hub driver. 130 This define allows to increase the HUB_DEBOUNCE_TIMEOUT default 131 value = 1s because some usb device needs around 1.5s to be initialized 132 and a 2s value should solve detection issue on problematic USB keys. 133 134if SPL_USB_HOST 135 136comment "USB peripherals in SPL" 137 138config SPL_USB_STORAGE 139 bool "Support loading from USB" 140 help 141 Enable support for USB devices in SPL. This allows use of USB 142 devices such as hard drives and flash drivers for loading U-Boot. 143 The actual drivers are enabled separately using the normal U-Boot 144 config options. This enables loading from USB using a configured 145 device. 146 147config SYS_USB_FAT_BOOT_PARTITION 148 int "Partition on USB to use to load U-Boot from" 149 depends on SPL_USB_STORAGE 150 default 1 151 help 152 Partition on the USB storage device to load U-Boot from. 153 154endif 155 156if USB_KEYBOARD 157 158config USB_KEYBOARD_FN_KEYS 159 bool "USB keyboard function key support" 160 help 161 Say Y here if you want support for keys F1 - F12, INS, HOME, DELETE, 162 END, PAGE UP, and PAGE DOWN. 163 164choice 165 prompt "USB keyboard polling" 166 default SYS_USB_EVENT_POLL_VIA_INT_QUEUE if ARCH_SUNXI 167 default SYS_USB_EVENT_POLL 168 ---help--- 169 Enable a polling mechanism for USB keyboard. 170 171config SYS_USB_EVENT_POLL 172 bool "Interrupt polling" 173 174config SYS_USB_EVENT_POLL_VIA_INT_QUEUE 175 bool "Poll via interrupt queue" 176 177config SYS_USB_EVENT_POLL_VIA_CONTROL_EP 178 bool "Poll via control EP" 179 180endchoice 181 182endif 183 184source "drivers/usb/eth/Kconfig" 185 186endif 187 188source "drivers/usb/gadget/Kconfig" 189 190endif 191