xref: /rk3399_rockchip-uboot/drivers/usb/Kconfig (revision c39c9a8375169d07fdcac148f8dfdc6865a1a5fe)
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