Sam Protsenko | b084b0c | 2016-03-25 16:39:47 +0200 | [diff] [blame] | 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 | |
| 16 | menuconfig 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. |
Sam Protsenko | fb115b1 | 2016-04-13 14:20:24 +0300 | [diff] [blame^] | 36 | |
| 37 | if USB_GADGET |
| 38 | |
| 39 | config USB_GADGET_VBUS_DRAW |
| 40 | int "Maximum VBUS Power usage (2-500 mA)" |
| 41 | range 2 500 |
| 42 | default 2 |
| 43 | help |
| 44 | Some devices need to draw power from USB when they are |
| 45 | configured, perhaps to operate circuitry or to recharge |
| 46 | batteries. This is in addition to any local power supply, |
| 47 | such as an AC adapter or batteries. |
| 48 | |
| 49 | Enter the maximum power your device draws through USB, in |
| 50 | milliAmperes. The permitted range of values is 2 - 500 mA; |
| 51 | 0 mA would be legal, but can make some hosts misbehave. |
| 52 | |
| 53 | This value will be used except for system-specific gadget |
| 54 | drivers that have more specific information. |
| 55 | |
| 56 | endif # USB_GADGET |