xref: /openbmc/u-boot/drivers/usb/gadget/Kconfig (revision 523849a0)
1#
2# USB Gadget support on a system involves
3#    (a) a peripheral controller, and
4#    (b) the gadget driver using it.
5#
6# NOTE:  Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !!
7#
8#  - Host systems (like PCs) need CONFIG_USB (with "A" jacks).
9#  - Peripherals (like PDAs) need CONFIG_USB_GADGET (with "B" jacks).
10#  - Some systems have both kinds of controllers.
11#
12# With help from a special transceiver and a "Mini-AB" jack, systems with
13# both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG).
14#
15
16menuconfig USB_GADGET
17	bool "USB Gadget Support"
18	help
19	   USB is a master/slave protocol, organized with one master
20	   host (such as a PC) controlling up to 127 peripheral devices.
21	   The USB hardware is asymmetric, which makes it easier to set up:
22	   you can't connect a "to-the-host" connector to a peripheral.
23
24	   U-Boot can run in the host, or in the peripheral.  In both cases
25	   you need a low level bus controller driver, and some software
26	   talking to it.  Peripheral controllers are often discrete silicon,
27	   or are integrated with the CPU in a microcontroller.  The more
28	   familiar host side controllers have names like "EHCI", "OHCI",
29	   or "UHCI", and are usually integrated into southbridges on PC
30	   motherboards.
31
32	   Enable this configuration option if you want to run U-Boot inside
33	   a USB peripheral device.  Configure one hardware driver for your
34	   peripheral/device side bus controller, and a "gadget driver" for
35	   your peripheral protocol.
36