]> Git Repo - J-u-boot.git/blob - drivers/usb/Kconfig
Merge tag 'u-boot-imx-master-20250127' of https://gitlab.denx.de/u-boot/custodians...
[J-u-boot.git] / drivers / usb / Kconfig
1 menuconfig 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
35 if USB
36
37 config 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
51 config 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
57 config 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
64 config 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
71 source "drivers/usb/host/Kconfig"
72
73 source "drivers/usb/isp1760/Kconfig"
74
75 source "drivers/usb/cdns3/Kconfig"
76
77 source "drivers/usb/dwc3/Kconfig"
78
79 source "drivers/usb/mtu3/Kconfig"
80
81 source "drivers/usb/musb/Kconfig"
82
83 source "drivers/usb/musb-new/Kconfig"
84
85 source "drivers/usb/emul/Kconfig"
86
87 source "drivers/usb/phy/Kconfig"
88
89 source "drivers/usb/tcpm/Kconfig"
90
91 source "drivers/usb/ulpi/Kconfig"
92
93 if USB_HOST
94
95 comment "USB peripherals"
96
97 config 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
103 config 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
112 config USB_ONBOARD_HUB
113         bool "Onboard USB hub support"
114         depends on DM_USB
115         ---help---
116           Say Y here if you want to support discrete onboard USB hubs that
117           don't require an additional control bus for initialization, but
118           need some non-trivial form of initialization, such as enabling a
119           power regulator. An example for such a hub is the Microchip
120           USB2514B.
121
122 config USB_HUB_DEBOUNCE_TIMEOUT
123         int "Timeout in milliseconds for USB HUB connection"
124         default 1000
125         help
126           Value in milliseconds of the USB connection timeout, the max delay to
127           wait the hub port status to be connected steadily after being powered
128           off and powered on in the usb hub driver.
129           This define allows to increase the HUB_DEBOUNCE_TIMEOUT default
130           value = 1s because some usb device needs around 1.5s to be initialized
131           and a 2s value should solve detection issue on problematic USB keys.
132
133 if SPL_USB_HOST
134
135 comment "USB peripherals in SPL"
136
137 config SPL_USB_STORAGE
138         bool "Support loading from USB"
139         help
140           Enable support for USB devices in SPL. This allows use of USB
141           devices such as hard drives and flash drivers for loading U-Boot.
142           The actual drivers are enabled separately using the normal U-Boot
143           config options. This enables loading from USB using a configured
144           device.
145
146 config SYS_USB_FAT_BOOT_PARTITION
147         int "Partition on USB to use to load U-Boot from"
148         depends on SPL_USB_STORAGE
149         default 1
150         help
151           Partition on the USB storage device to load U-Boot from.
152
153 endif
154
155 if USB_KEYBOARD
156
157 config USB_KEYBOARD_FN_KEYS
158         bool "USB keyboard function key support"
159         help
160           Say Y here if you want support for keys F1 - F12, INS, HOME, DELETE,
161           END, PAGE UP, and PAGE DOWN.
162
163 choice
164         prompt "USB keyboard polling"
165         default SYS_USB_EVENT_POLL_VIA_INT_QUEUE if ARCH_SUNXI
166         default SYS_USB_EVENT_POLL
167         ---help---
168           Enable a polling mechanism for USB keyboard.
169
170 config SYS_USB_EVENT_POLL
171     bool "Interrupt polling"
172
173 config SYS_USB_EVENT_POLL_VIA_INT_QUEUE
174     bool "Poll via interrupt queue"
175
176 config SYS_USB_EVENT_POLL_VIA_CONTROL_EP
177     bool "Poll via control EP"
178
179 endchoice
180
181 endif
182
183 source "drivers/usb/eth/Kconfig"
184
185 endif
186
187 source "drivers/usb/gadget/Kconfig"
188
189 endif
This page took 0.037644 seconds and 4 git commands to generate.