]>
Commit | Line | Data |
---|---|---|
f9d0fd8a SP |
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. | |
a59a77f8 SP |
36 | |
37 | if USB_GADGET | |
38 | ||
3457bbaf SP |
39 | config USB_GADGET_ATMEL_USBA |
40 | bool "Atmel USBA" | |
41 | select USB_GADGET_DUALSPEED | |
42 | help | |
43 | USBA is the integrated high-speed USB Device controller on | |
44 | the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel. | |
45 | ||
e016f0b2 SR |
46 | config USB_GADGET_BCM_UDC_OTG_PHY |
47 | bool "Broadcom UDC OTG PHY" | |
48 | help | |
49 | Enable the Broadcom UDC OTG physical device interface. | |
50 | ||
3457bbaf SP |
51 | config USB_GADGET_DWC2_OTG |
52 | bool "DesignWare USB2.0 HS OTG controller (gadget mode)" | |
53 | select USB_GADGET_DUALSPEED | |
54 | help | |
55 | The Designware USB2.0 high-speed gadget controller | |
56 | integrated into many SoCs. Select this option if you want the | |
57 | driver to operate in Peripheral mode. This option requires | |
58 | USB_GADGET to be enabled. | |
59 | ||
f221db0e SR |
60 | if USB_GADGET_DWC2_OTG |
61 | ||
62 | config USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8 | |
63 | bool "DesignWare USB2.0 HS OTG controller 8-bit PHY bus width" | |
64 | help | |
65 | Set the Designware USB2.0 high-speed OTG controller | |
66 | PHY interface width to 8 bits, rather than the default (16 bits). | |
67 | ||
68 | endif # USB_GADGET_DWC2_OTG | |
69 | ||
3457bbaf SP |
70 | config CI_UDC |
71 | bool "ChipIdea device controller" | |
72 | select USB_GADGET_DUALSPEED | |
73 | help | |
74 | Say Y here to enable device controller functionality of the | |
75 | ChipIdea driver. | |
76 | ||
a59a77f8 SP |
77 | config USB_GADGET_VBUS_DRAW |
78 | int "Maximum VBUS Power usage (2-500 mA)" | |
79 | range 2 500 | |
80 | default 2 | |
81 | help | |
82 | Some devices need to draw power from USB when they are | |
83 | configured, perhaps to operate circuitry or to recharge | |
84 | batteries. This is in addition to any local power supply, | |
85 | such as an AC adapter or batteries. | |
86 | ||
87 | Enter the maximum power your device draws through USB, in | |
88 | milliAmperes. The permitted range of values is 2 - 500 mA; | |
89 | 0 mA would be legal, but can make some hosts misbehave. | |
90 | ||
91 | This value will be used except for system-specific gadget | |
92 | drivers that have more specific information. | |
93 | ||
3457bbaf SP |
94 | # Selected by UDC drivers that support high-speed operation. |
95 | config USB_GADGET_DUALSPEED | |
96 | bool | |
97 | ||
aaa4a9e3 SP |
98 | config USB_GADGET_DOWNLOAD |
99 | bool "Enable USB download gadget" | |
100 | help | |
101 | Composite USB download gadget support (g_dnl) for download functions. | |
102 | This code works on top of composite gadget. | |
103 | ||
e6c0bc06 SP |
104 | if USB_GADGET_DOWNLOAD |
105 | ||
5661f08a SA |
106 | config USB_FUNCTION_SDP |
107 | bool "Enable USB SDP (Serial Download Protocol)" | |
108 | help | |
109 | Enable Serial Download Protocol (SDP) device support in U-Boot. This | |
110 | allows to download images into memory and execute (jump to) them | |
111 | using the same protocol as implemented by the i.MX family's boot ROM. | |
112 | ||
e6c0bc06 SP |
113 | config G_DNL_MANUFACTURER |
114 | string "Vendor name of USB device" | |
115 | ||
116 | config G_DNL_VENDOR_NUM | |
117 | hex "Vendor ID of USB device" | |
118 | ||
119 | config G_DNL_PRODUCT_NUM | |
120 | hex "Product ID of USB device" | |
121 | ||
5506ff14 MR |
122 | endif # USB_GADGET_DOWNLOAD |
123 | ||
3f33d3c8 MR |
124 | config USB_ETHER |
125 | bool "USB Ethernet Gadget" | |
126 | help | |
127 | Creates an Ethernet network device through a USB peripheral | |
128 | controller. This will create a network interface on both the device | |
129 | (U-Boot) and the host (remote device) that can be used just like any | |
130 | other nework interface. | |
131 | It will bind on the peripheral USB controller, ignoring the USB hosts | |
132 | controllers in the system. | |
133 | ||
134 | if USB_ETHER | |
135 | ||
d4a37553 M |
136 | config USBNET_DEVADDR |
137 | string "USB Gadget Ethernet device mac address" | |
138 | default "de:ad:be:ef:00:01" | |
74e7997c MR |
139 | help |
140 | Ethernet MAC address of the device-side (ie. local board's) MAC | |
141 | address of the usb_ether interface | |
d4a37553 | 142 | |
c163668a MR |
143 | config USBNET_HOST_ADDR |
144 | string "USB Gadget Ethernet host mac address" | |
145 | default "de:ad:be:ef:00:00" | |
146 | help | |
147 | Ethernet MAC address of the host-side (ie. remote device's) MAC | |
148 | address of the usb_ether interface | |
149 | ||
3f33d3c8 MR |
150 | endif # USB_ETHER |
151 | ||
a59a77f8 | 152 | endif # USB_GADGET |