-config USB_ARCH_HAS_HCD
- def_bool y
-
-config USB
- bool "Support for Host-side USB"
- depends on USB_ARCH_HAS_HCD
+menuconfig USB
+ bool "USB support"
---help---
Universal Serial Bus (USB) is a specification for a serial bus
subsystem which offers higher speeds and more features than the
such as scanners, keyboards, mice, modems, cameras, disks,
flash memory, network links, and printers to the PC.
- Say Y here if your computer has a host-side USB port and you want
- to use USB devices. You then need to say Y to at least one of the
+ Say Y here if your device has an USB port, either host, peripheral or
+ dual-role.
+
+ For an USB host port, you then need to say Y to at least one of the
Host Controller Driver (HCD) options below. Choose a USB 1.1
controller, such as "UHCI HCD support" or "OHCI HCD support",
and "EHCI HCD (USB 2.0) support" except for older systems that
if USB
+config DM_USB
+ bool "Enable driver model for USB"
+ depends on USB && DM
+ help
+ Enable driver model for USB. The USB interface is then implemented
+ by the USB uclass. Multiple USB controllers of different types
+ (XHCI, EHCI, OHCI) can be attached and used. The 'usb' command works
+ as normal.
+
+ Much of the code is shared but with this option enabled the USB
+ uclass takes care of device enumeration. USB devices can be
+ declared with the U_BOOT_USB_DEVICE() macro and will be
+ automatically probed when found on the bus.
+
+config SPL_DM_USB
+ bool "Enable driver model for USB in SPL"
+ depends on SPL_DM && DM_USB
+ default y
+
+config DM_USB_GADGET
+ bool "Enable driver model for USB Gadget"
+ depends on DM_USB
+ help
+ Enable driver model for USB Gadget (Peripheral
+ mode)
+
+config SPL_DM_USB_GADGET
+ bool "Enable driver model for USB Gadget in sPL"
+ depends on SPL_DM_USB
+ help
+ Enable driver model for USB Gadget in SPL
+ (Peripheral mode)
+
source "drivers/usb/host/Kconfig"
+source "drivers/usb/cdns3/Kconfig"
+
+source "drivers/usb/dwc3/Kconfig"
+
+source "drivers/usb/musb/Kconfig"
+
+source "drivers/usb/musb-new/Kconfig"
+
+source "drivers/usb/emul/Kconfig"
+
+source "drivers/usb/phy/Kconfig"
+
+source "drivers/usb/ulpi/Kconfig"
+
+comment "USB peripherals"
+
config USB_STORAGE
bool "USB Mass Storage support"
+ depends on !(BLK && !DM_USB)
---help---
Say Y here if you want to connect USB mass storage devices to your
board's USB port.
+config USB_KEYBOARD
+ bool "USB Keyboard support"
+ select SYS_STDIO_DEREGISTER
+ ---help---
+ Say Y here if you want to use a USB keyboard for U-Boot command line
+ input.
+
+if USB_KEYBOARD
+
+config USB_KEYBOARD_FN_KEYS
+ bool "USB keyboard function key support"
+ help
+ Say Y here if you want support for keys F1 - F12, INS, HOME, DELETE,
+ END, PAGE UP, and PAGE DOWN.
+
+choice
+ prompt "USB keyboard polling"
+ default SYS_USB_EVENT_POLL_VIA_INT_QUEUE if ARCH_SUNXI
+ default SYS_USB_EVENT_POLL
+ ---help---
+ Enable a polling mechanism for USB keyboard.
+
+ config SYS_USB_EVENT_POLL
+ bool "Interrupt polling"
+
+ config SYS_USB_EVENT_POLL_VIA_INT_QUEUE
+ bool "Poll via interrupt queue"
+
+ config SYS_USB_EVENT_POLL_VIA_CONTROL_EP
+ bool "Poll via control EP"
+
+endchoice
+
+endif
+
+source "drivers/usb/gadget/Kconfig"
+
+source "drivers/usb/eth/Kconfig"
+
endif