usb: kconfig: create a menu for usb
[platform/kernel/u-boot.git] / drivers / usb / Kconfig
1 menu USB
2 config USB_ARCH_HAS_HCD
3         def_bool y
4
5 config USB
6         bool "Support for Host-side USB"
7         depends on USB_ARCH_HAS_HCD
8         ---help---
9           Universal Serial Bus (USB) is a specification for a serial bus
10           subsystem which offers higher speeds and more features than the
11           traditional PC serial port.  The bus supplies power to peripherals
12           and allows for hot swapping.  Up to 127 USB peripherals can be
13           connected to a single USB host in a tree structure.
14
15           The USB host is the root of the tree, the peripherals are the
16           leaves and the inner nodes are special USB devices called hubs.
17           Most PCs now have USB host ports, used to connect peripherals
18           such as scanners, keyboards, mice, modems, cameras, disks,
19           flash memory, network links, and printers to the PC.
20
21           Say Y here if your computer has a host-side USB port and you want
22           to use USB devices.  You then need to say Y to at least one of the
23           Host Controller Driver (HCD) options below.  Choose a USB 1.1
24           controller, such as "UHCI HCD support" or "OHCI HCD support",
25           and "EHCI HCD (USB 2.0) support" except for older systems that
26           do not have USB 2.0 support.  It doesn't normally hurt to select
27           them all if you are not certain.
28
29           If your system has a device-side USB port, used in the peripheral
30           side of the USB protocol, see the "USB Gadget" framework instead.
31
32           After choosing your HCD, then select drivers for the USB peripherals
33           you'll be using.  You may want to check out the information provided
34           in <file:Documentation/usb/> and especially the links given in
35           <file:Documentation/usb/usb-help.txt>.
36
37 if USB
38
39 config DM_USB
40         bool "Enable driver model for USB"
41         depends on USB && DM
42         help
43           Enable driver model for USB. The USB interface is then implemented
44           by the USB uclass. Multiple USB controllers of different types
45           (XHCI, EHCI) can be attached and used. The 'usb' command works as
46           normal. OCHI is not supported at present.
47
48           Much of the code is shared but with this option enabled the USB
49           uclass takes care of device enumeration. USB devices can be
50           declared with the USB_DEVICE() macro and will be automatically
51           probed when found on the bus.
52
53 source "drivers/usb/host/Kconfig"
54
55 source "drivers/usb/emul/Kconfig"
56
57 config USB_STORAGE
58         bool "USB Mass Storage support"
59         ---help---
60           Say Y here if you want to connect USB mass storage devices to your
61           board's USB port.
62
63 config USB_KEYBOARD
64         bool "USB Keyboard support"
65         ---help---
66           Say Y here if you want to use a USB keyboard for U-Boot command line
67           input.
68
69 if USB_KEYBOARD
70
71 choice
72         prompt "USB keyboard polling"
73         optional
74         ---help---
75           Enable a polling mechanism for USB keyboard.
76
77         config SYS_USB_EVENT_POLL
78                 bool "Interrupt polling"
79
80         config SYS_USB_EVENT_POLL_VIA_INT_QUEUE
81                 bool "Poll via interrupt queue"
82
83         config SYS_USB_EVENT_POLL_VIA_CONTROL_EP
84                 bool "Poll via control EP"
85
86 endchoice
87
88 endif
89
90 endif
91 endmenu