168f7c5dbSPaul Kocialkowskimenuconfig USB 268f7c5dbSPaul Kocialkowski bool "USB support" 36e7e9294SMasahiro Yamada ---help--- 46e7e9294SMasahiro Yamada Universal Serial Bus (USB) is a specification for a serial bus 56e7e9294SMasahiro Yamada subsystem which offers higher speeds and more features than the 66e7e9294SMasahiro Yamada traditional PC serial port. The bus supplies power to peripherals 76e7e9294SMasahiro Yamada and allows for hot swapping. Up to 127 USB peripherals can be 86e7e9294SMasahiro Yamada connected to a single USB host in a tree structure. 96e7e9294SMasahiro Yamada 106e7e9294SMasahiro Yamada The USB host is the root of the tree, the peripherals are the 116e7e9294SMasahiro Yamada leaves and the inner nodes are special USB devices called hubs. 126e7e9294SMasahiro Yamada Most PCs now have USB host ports, used to connect peripherals 136e7e9294SMasahiro Yamada such as scanners, keyboards, mice, modems, cameras, disks, 146e7e9294SMasahiro Yamada flash memory, network links, and printers to the PC. 156e7e9294SMasahiro Yamada 1668f7c5dbSPaul Kocialkowski Say Y here if your device has an USB port, either host, peripheral or 1768f7c5dbSPaul Kocialkowski dual-role. 1868f7c5dbSPaul Kocialkowski 1968f7c5dbSPaul Kocialkowski For an USB host port, you then need to say Y to at least one of the 206e7e9294SMasahiro Yamada Host Controller Driver (HCD) options below. Choose a USB 1.1 216e7e9294SMasahiro Yamada controller, such as "UHCI HCD support" or "OHCI HCD support", 226e7e9294SMasahiro Yamada and "EHCI HCD (USB 2.0) support" except for older systems that 236e7e9294SMasahiro Yamada do not have USB 2.0 support. It doesn't normally hurt to select 246e7e9294SMasahiro Yamada them all if you are not certain. 256e7e9294SMasahiro Yamada 266e7e9294SMasahiro Yamada If your system has a device-side USB port, used in the peripheral 276e7e9294SMasahiro Yamada side of the USB protocol, see the "USB Gadget" framework instead. 286e7e9294SMasahiro Yamada 296e7e9294SMasahiro Yamada After choosing your HCD, then select drivers for the USB peripherals 306e7e9294SMasahiro Yamada you'll be using. You may want to check out the information provided 316e7e9294SMasahiro Yamada in <file:Documentation/usb/> and especially the links given in 326e7e9294SMasahiro Yamada <file:Documentation/usb/usb-help.txt>. 336e7e9294SMasahiro Yamada 346e7e9294SMasahiro Yamadaif USB 356e7e9294SMasahiro Yamada 36de31213fSSimon Glassconfig DM_USB 37de31213fSSimon Glass bool "Enable driver model for USB" 38de31213fSSimon Glass depends on USB && DM 39de31213fSSimon Glass help 40de31213fSSimon Glass Enable driver model for USB. The USB interface is then implemented 41de31213fSSimon Glass by the USB uclass. Multiple USB controllers of different types 42de31213fSSimon Glass (XHCI, EHCI) can be attached and used. The 'usb' command works as 43de31213fSSimon Glass normal. OCHI is not supported at present. 44de31213fSSimon Glass 45de31213fSSimon Glass Much of the code is shared but with this option enabled the USB 46de31213fSSimon Glass uclass takes care of device enumeration. USB devices can be 47abb59cffSSimon Glass declared with the U_BOOT_USB_DEVICE() macro and will be 48abb59cffSSimon Glass automatically probed when found on the bus. 49de31213fSSimon Glass 507f10e9b8SSven Schwermerconfig SPL_DM_USB 517f10e9b8SSven Schwermer bool "Enable driver model for USB in SPL" 520a04ddb5SMartyn Welch depends on SPL_DM && DM_USB 537f10e9b8SSven Schwermer default y 547f10e9b8SSven Schwermer 55717f5765SJean-Jacques Hiblotconfig DM_USB_GADGET 56717f5765SJean-Jacques Hiblot bool "Enable driver model for USB Gadget" 57717f5765SJean-Jacques Hiblot depends on DM_USB 58717f5765SJean-Jacques Hiblot help 59717f5765SJean-Jacques Hiblot Enable driver model for USB Gadget (Peripheral 60717f5765SJean-Jacques Hiblot mode) 61717f5765SJean-Jacques Hiblot 62717f5765SJean-Jacques Hiblotconfig SPL_DM_USB_GADGET 63717f5765SJean-Jacques Hiblot bool "Enable driver model for USB Gadget in sPL" 64717f5765SJean-Jacques Hiblot depends on SPL_DM_USB 65717f5765SJean-Jacques Hiblot help 66717f5765SJean-Jacques Hiblot Enable driver model for USB Gadget in SPL 67717f5765SJean-Jacques Hiblot (Peripheral mode) 68717f5765SJean-Jacques Hiblot 696e7e9294SMasahiro Yamadasource "drivers/usb/host/Kconfig" 706e7e9294SMasahiro Yamada 71f6ce6072SVignesh Raghavendrasource "drivers/usb/cdns3/Kconfig" 72f6ce6072SVignesh Raghavendra 733457bbafSSam Protsenkosource "drivers/usb/dwc3/Kconfig" 743457bbafSSam Protsenko 755d6c2f4bSPaul Kocialkowskisource "drivers/usb/musb-new/Kconfig" 765d6c2f4bSPaul Kocialkowski 77019808f9SSimon Glasssource "drivers/usb/emul/Kconfig" 78019808f9SSimon Glass 796b14fbbdSMateusz Kulikowskisource "drivers/usb/ulpi/Kconfig" 806b14fbbdSMateusz Kulikowski 8168f7c5dbSPaul Kocialkowskicomment "USB peripherals" 8268f7c5dbSPaul Kocialkowski 836e7e9294SMasahiro Yamadaconfig USB_STORAGE 846e7e9294SMasahiro Yamada bool "USB Mass Storage support" 853da53cbfSAlexander Graf depends on !(BLK && !DM_USB) 866e7e9294SMasahiro Yamada ---help--- 876e7e9294SMasahiro Yamada Say Y here if you want to connect USB mass storage devices to your 886e7e9294SMasahiro Yamada board's USB port. 896e7e9294SMasahiro Yamada 90b2f2eea0SNikita Kiryanovconfig USB_KEYBOARD 91b2f2eea0SNikita Kiryanov bool "USB Keyboard support" 92c0cee20eSHeinrich Schuchardt select SYS_STDIO_DEREGISTER 93b2f2eea0SNikita Kiryanov ---help--- 94b2f2eea0SNikita Kiryanov Say Y here if you want to use a USB keyboard for U-Boot command line 95b2f2eea0SNikita Kiryanov input. 96b2f2eea0SNikita Kiryanov 97b2f2eea0SNikita Kiryanovif USB_KEYBOARD 98b2f2eea0SNikita Kiryanov 99*c39c9a83SHeinrich Schuchardtconfig USB_KEYBOARD_FN_KEYS 100*c39c9a83SHeinrich Schuchardt bool "USB keyboard function key support" 101*c39c9a83SHeinrich Schuchardt help 102*c39c9a83SHeinrich Schuchardt Say Y here if you want support for keys F1 - F12, INS, HOME, DELETE, 103*c39c9a83SHeinrich Schuchardt END, PAGE UP, and PAGE DOWN. 104*c39c9a83SHeinrich Schuchardt 105b2f2eea0SNikita Kiryanovchoice 106b2f2eea0SNikita Kiryanov prompt "USB keyboard polling" 107115142eaSBin Meng default SYS_USB_EVENT_POLL 108b2f2eea0SNikita Kiryanov ---help--- 109b2f2eea0SNikita Kiryanov Enable a polling mechanism for USB keyboard. 110b2f2eea0SNikita Kiryanov 111b2f2eea0SNikita Kiryanov config SYS_USB_EVENT_POLL 112b2f2eea0SNikita Kiryanov bool "Interrupt polling" 113b2f2eea0SNikita Kiryanov 114b2f2eea0SNikita Kiryanov config SYS_USB_EVENT_POLL_VIA_INT_QUEUE 115b2f2eea0SNikita Kiryanov bool "Poll via interrupt queue" 116b2f2eea0SNikita Kiryanov 117b2f2eea0SNikita Kiryanov config SYS_USB_EVENT_POLL_VIA_CONTROL_EP 118b2f2eea0SNikita Kiryanov bool "Poll via control EP" 119b2f2eea0SNikita Kiryanov 120b2f2eea0SNikita Kiryanovendchoice 121b2f2eea0SNikita Kiryanov 1226e7e9294SMasahiro Yamadaendif 123b2f2eea0SNikita Kiryanov 124f9d0fd8aSSam Protsenkosource "drivers/usb/gadget/Kconfig" 125f9d0fd8aSSam Protsenko 126d2c31979SYuiko Oshinosource "drivers/usb/eth/Kconfig" 127d2c31979SYuiko Oshino 128ed36323fSMasahiro Yamadaendif 129