blob: f4698f469ea4413fcf8c5bc41ebe7297d5ca1a0c [file] [log] [blame]
Sam Protsenkob084b0c2016-03-25 16:39:47 +02001#
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.