]>
Commit | Line | Data |
---|---|---|
cae8dc3b | 1 | # SPDX-License-Identifier: GPL-2.0 |
90fccb52 AP |
2 | # |
3 | # USB Gadget support on a system involves | |
4 | # (a) a peripheral controller, and | |
5 | # (b) the gadget driver using it. | |
6 | # | |
7 | # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! | |
8 | # | |
9 | # - Host systems (like PCs) need CONFIG_USB (with "A" jacks). | |
10 | # - Peripherals (like PDAs) need CONFIG_USB_GADGET (with "B" jacks). | |
11 | # - Some systems have both kinds of controllers. | |
12 | # | |
13 | # With help from a special transceiver and a "Mini-AB" jack, systems with | |
14 | # both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG). | |
15 | # | |
16 | ||
17 | # | |
18 | # USB Peripheral Controller Support | |
19 | # | |
20 | # The order here is alphabetical, except that integrated controllers go | |
21 | # before discrete ones so they will be the initial/default value: | |
22 | # - integrated/SOC controllers first | |
23 | # - licensed IP used in both SOC and discrete versions | |
24 | # - discrete ones (including all PCI-only controllers) | |
25 | # - debug/dummy gadget+hcd is last. | |
26 | # | |
27 | menu "USB Peripheral Controller" | |
28 | ||
29 | # | |
30 | # Integrated controllers | |
31 | # | |
32 | ||
33 | config USB_AT91 | |
34 | tristate "Atmel AT91 USB Device Port" | |
35 | depends on ARCH_AT91 | |
9f00fc1d | 36 | depends on OF || COMPILE_TEST |
90fccb52 AP |
37 | help |
38 | Many Atmel AT91 processors (such as the AT91RM2000) have a | |
39 | full speed USB Device Port with support for five configurable | |
40 | endpoints (plus endpoint zero). | |
41 | ||
42 | Say "y" to link the driver statically, or "m" to build a | |
43 | dynamically linked module called "at91_udc" and force all | |
44 | gadget drivers to also be dynamically linked. | |
45 | ||
46 | config USB_LPC32XX | |
47 | tristate "LPC32XX USB Peripheral Controller" | |
792e559e | 48 | depends on ARCH_LPC32XX || COMPILE_TEST |
50ad1528 | 49 | depends on I2C |
90fccb52 AP |
50 | select USB_ISP1301 |
51 | help | |
52 | This option selects the USB device controller in the LPC32xx SoC. | |
53 | ||
54 | Say "y" to link the driver statically, or "m" to build a | |
55 | dynamically linked module called "lpc32xx_udc" and force all | |
56 | gadget drivers to also be dynamically linked. | |
57 | ||
58 | config USB_ATMEL_USBA | |
59 | tristate "Atmel USBA" | |
46ddd79e | 60 | depends on ARCH_AT91 |
90fccb52 AP |
61 | help |
62 | USBA is the integrated high-speed USB Device controller on | |
63 | the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel. | |
64 | ||
741d2558 CB |
65 | The fifo_mode parameter is used to select endpoint allocation mode. |
66 | fifo_mode = 0 is used to let the driver autoconfigure the endpoints. | |
48eab1f2 CB |
67 | In this case, for ep1 2 banks are allocated if it works in isochronous |
68 | mode and only 1 bank otherwise. For the rest of the endpoints | |
69 | only 1 bank is allocated. | |
741d2558 CB |
70 | |
71 | fifo_mode = 1 is a generic maximum fifo size (1024 bytes) configuration | |
72 | allowing the usage of ep1 - ep6 | |
73 | ||
74 | fifo_mode = 2 is a generic performance maximum fifo size (1024 bytes) | |
75 | configuration allowing the usage of ep1 - ep3 | |
76 | ||
77 | fifo_mode = 3 is a balanced performance configuration allowing the | |
78 | the usage of ep1 - ep8 | |
79 | ||
90fccb52 AP |
80 | config USB_BCM63XX_UDC |
81 | tristate "Broadcom BCM63xx Peripheral Controller" | |
82 | depends on BCM63XX | |
83 | help | |
84 | Many Broadcom BCM63xx chipsets (such as the BCM6328) have a | |
85 | high speed USB Device Port with support for four fixed endpoints | |
86 | (plus endpoint zero). | |
87 | ||
88 | Say "y" to link the driver statically, or "m" to build a | |
89 | dynamically linked module called "bcm63xx_udc". | |
90 | ||
91 | config USB_FSL_USB2 | |
92 | tristate "Freescale Highspeed USB DR Peripheral Controller" | |
a390bef7 | 93 | depends on FSL_SOC |
90fccb52 AP |
94 | help |
95 | Some of Freescale PowerPC and i.MX processors have a High Speed | |
96 | Dual-Role(DR) USB controller, which supports device mode. | |
97 | ||
98 | The number of programmable endpoints is different through | |
99 | SOC revisions. | |
100 | ||
101 | Say "y" to link the driver statically, or "m" to build a | |
102 | dynamically linked module called "fsl_usb2_udc" and force | |
103 | all gadget drivers to also be dynamically linked. | |
104 | ||
105 | config USB_FUSB300 | |
106 | tristate "Faraday FUSB300 USB Peripheral Controller" | |
107 | depends on !PHYS_ADDR_T_64BIT && HAS_DMA | |
108 | help | |
109 | Faraday usb device controller FUSB300 driver | |
110 | ||
111 | config USB_FOTG210_UDC | |
112 | depends on HAS_DMA | |
113 | tristate "Faraday FOTG210 USB Peripheral Controller" | |
114 | help | |
115 | Faraday USB2.0 OTG controller which can be configured as | |
116 | high speed or full speed USB device. This driver supppors | |
117 | Bulk Transfer so far. | |
118 | ||
119 | Say "y" to link the driver statically, or "m" to build a | |
120 | dynamically linked module called "fotg210_udc". | |
121 | ||
122 | config USB_GR_UDC | |
b14f8b90 KK |
123 | tristate "Aeroflex Gaisler GRUSBDC USB Peripheral Controller Driver" |
124 | depends on HAS_DMA | |
125 | help | |
c2c1c66b | 126 | Select this to support Aeroflex Gaisler GRUSBDC cores from the GRLIB |
90fccb52 AP |
127 | VHDL IP core library. |
128 | ||
129 | config USB_OMAP | |
130 | tristate "OMAP USB Device Controller" | |
131 | depends on ARCH_OMAP1 | |
132 | depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3) | |
133 | help | |
134 | Many Texas Instruments OMAP processors have flexible full | |
135 | speed USB device controllers, with support for up to 30 | |
136 | endpoints (plus endpoint zero). This driver supports the | |
137 | controller in the OMAP 1611, and should work with controllers | |
138 | in other OMAP processors too, given minor tweaks. | |
139 | ||
140 | Say "y" to link the driver statically, or "m" to build a | |
141 | dynamically linked module called "omap_udc" and force all | |
142 | gadget drivers to also be dynamically linked. | |
143 | ||
144 | config USB_PXA25X | |
145 | tristate "PXA 25x or IXP 4xx" | |
146 | depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX | |
1b4ea40b | 147 | depends on HAS_IOMEM |
90fccb52 AP |
148 | help |
149 | Intel's PXA 25x series XScale ARM-5TE processors include | |
150 | an integrated full speed USB 1.1 device controller. The | |
151 | controller in the IXP 4xx series is register-compatible. | |
152 | ||
153 | It has fifteen fixed-function endpoints, as well as endpoint | |
154 | zero (for control transfers). | |
155 | ||
156 | Say "y" to link the driver statically, or "m" to build a | |
157 | dynamically linked module called "pxa25x_udc" and force all | |
158 | gadget drivers to also be dynamically linked. | |
159 | ||
160 | # if there's only one gadget driver, using only two bulk endpoints, | |
161 | # don't waste memory for the other endpoints | |
162 | config USB_PXA25X_SMALL | |
163 | depends on USB_PXA25X | |
164 | bool | |
165 | default n if USB_ETH_RNDIS | |
166 | default y if USB_ZERO | |
167 | default y if USB_ETH | |
168 | default y if USB_G_SERIAL | |
169 | ||
170 | config USB_R8A66597 | |
171 | tristate "Renesas R8A66597 USB Peripheral Controller" | |
172 | depends on HAS_DMA | |
173 | help | |
174 | R8A66597 is a discrete USB host and peripheral controller chip that | |
175 | supports both full and high speed USB 2.0 data transfers. | |
176 | It has nine configurable endpoints, and endpoint zero. | |
177 | ||
178 | Say "y" to link the driver statically, or "m" to build a | |
179 | dynamically linked module called "r8a66597_udc" and force all | |
180 | gadget drivers to also be dynamically linked. | |
181 | ||
182 | config USB_RENESAS_USBHS_UDC | |
183 | tristate 'Renesas USBHS controller' | |
cd91a0e9 | 184 | depends on USB_RENESAS_USBHS |
90fccb52 AP |
185 | help |
186 | Renesas USBHS is a discrete USB host and peripheral controller chip | |
187 | that supports both full and high speed USB 2.0 data transfers. | |
188 | It has nine or more configurable endpoints, and endpoint zero. | |
189 | ||
190 | Say "y" to link the driver statically, or "m" to build a | |
191 | dynamically linked module called "renesas_usbhs" and force all | |
192 | gadget drivers to also be dynamically linked. | |
193 | ||
746bfe63 YS |
194 | config USB_RENESAS_USB3 |
195 | tristate 'Renesas USB3.0 Peripheral controller' | |
dd9fee67 | 196 | depends on ARCH_RENESAS || COMPILE_TEST |
cd91a0e9 | 197 | depends on EXTCON |
39facfa0 | 198 | select USB_ROLE_SWITCH |
746bfe63 YS |
199 | help |
200 | Renesas USB3.0 Peripheral controller is a USB peripheral controller | |
201 | that supports super, high, and full speed USB 3.0 data transfers. | |
202 | ||
203 | Say "y" to link the driver statically, or "m" to build a | |
204 | dynamically linked module called "renesas_usb3" and force all | |
205 | gadget drivers to also be dynamically linked. | |
206 | ||
90fccb52 AP |
207 | config USB_PXA27X |
208 | tristate "PXA 27x" | |
c470ba38 | 209 | depends on HAS_IOMEM |
90fccb52 AP |
210 | help |
211 | Intel's PXA 27x series XScale ARM v5TE processors include | |
212 | an integrated full speed USB 1.1 device controller. | |
213 | ||
214 | It has up to 23 endpoints, as well as endpoint zero (for | |
215 | control transfers). | |
216 | ||
217 | Say "y" to link the driver statically, or "m" to build a | |
218 | dynamically linked module called "pxa27x_udc" and force all | |
219 | gadget drivers to also be dynamically linked. | |
220 | ||
221 | config USB_S3C2410 | |
222 | tristate "S3C2410 USB Device Controller" | |
223 | depends on ARCH_S3C24XX | |
224 | help | |
225 | Samsung's S3C2410 is an ARM-4 processor with an integrated | |
226 | full speed USB 1.1 device controller. It has 4 configurable | |
227 | endpoints, as well as endpoint zero (for control transfers). | |
228 | ||
229 | This driver has been tested on the S3C2410, S3C2412, and | |
230 | S3C2440 processors. | |
231 | ||
232 | config USB_S3C2410_DEBUG | |
6341e62b | 233 | bool "S3C2410 udc debug messages" |
90fccb52 AP |
234 | depends on USB_S3C2410 |
235 | ||
236 | config USB_S3C_HSUDC | |
237 | tristate "S3C2416, S3C2443 and S3C2450 USB Device Controller" | |
238 | depends on ARCH_S3C24XX | |
239 | help | |
240 | Samsung's S3C2416, S3C2443 and S3C2450 is an ARM9 based SoC | |
241 | integrated with dual speed USB 2.0 device controller. It has | |
242 | 8 endpoints, as well as endpoint zero. | |
243 | ||
244 | This driver has been tested on S3C2416 and S3C2450 processors. | |
245 | ||
246 | config USB_MV_UDC | |
247 | tristate "Marvell USB2.0 Device Controller" | |
248 | depends on HAS_DMA | |
249 | help | |
250 | Marvell Socs (including PXA and MMP series) include a high speed | |
251 | USB2.0 OTG controller, which can be configured as high speed or | |
252 | full speed USB peripheral. | |
253 | ||
254 | config USB_MV_U3D | |
255 | depends on HAS_DMA | |
256 | tristate "MARVELL PXA2128 USB 3.0 controller" | |
257 | help | |
258 | MARVELL PXA2128 Processor series include a super speed USB3.0 device | |
259 | controller, which support super speed USB peripheral. | |
260 | ||
97b3ffa2 | 261 | config USB_SNP_CORE |
1b9f35ad | 262 | depends on (USB_AMD5536UDC || USB_SNP_UDC_PLAT) |
a9ef5c47 | 263 | depends on HAS_DMA |
97b3ffa2 RG |
264 | tristate |
265 | help | |
266 | This enables core driver support for Synopsys USB 2.0 Device | |
267 | controller. | |
268 | ||
269 | This will be enabled when PCI or Platform driver for this UDC is | |
270 | selected. Currently, this will be enabled by USB_SNP_UDC_PLAT or | |
271 | USB_AMD5536UDC options. | |
272 | ||
273 | This IP is different to the High Speed OTG IP that can be enabled | |
274 | by selecting USB_DWC2 or USB_DWC3 options. | |
275 | ||
1b9f35ad RG |
276 | config USB_SNP_UDC_PLAT |
277 | tristate "Synopsys USB 2.0 Device controller" | |
a9ef5c47 | 278 | depends on USB_GADGET && OF && HAS_DMA |
641663a1 | 279 | depends on EXTCON || EXTCON=n |
1b9f35ad RG |
280 | select USB_SNP_CORE |
281 | default ARCH_BCM_IPROC | |
282 | help | |
283 | This adds Platform Device support for Synopsys Designware core | |
284 | AHB subsystem USB2.0 Device Controller (UDC). | |
285 | ||
286 | This driver works with UDCs integrated into Broadcom's Northstar2 | |
287 | and Cygnus SoCs. | |
288 | ||
289 | If unsure, say N. | |
90fccb52 AP |
290 | # |
291 | # Controllers available in both integrated and discrete versions | |
292 | # | |
293 | ||
294 | config USB_M66592 | |
295 | tristate "Renesas M66592 USB Peripheral Controller" | |
be6708e6 | 296 | depends on HAS_IOMEM |
90fccb52 AP |
297 | help |
298 | M66592 is a discrete USB peripheral controller chip that | |
299 | supports both full and high speed USB 2.0 data transfers. | |
300 | It has seven configurable endpoints, and endpoint zero. | |
301 | ||
302 | Say "y" to link the driver statically, or "m" to build a | |
303 | dynamically linked module called "m66592_udc" and force all | |
304 | gadget drivers to also be dynamically linked. | |
305 | ||
efed421a AP |
306 | source "drivers/usb/gadget/udc/bdc/Kconfig" |
307 | ||
90fccb52 AP |
308 | # |
309 | # Controllers available only in discrete form (and all PCI controllers) | |
310 | # | |
311 | ||
312 | config USB_AMD5536UDC | |
313 | tristate "AMD5536 UDC" | |
2c93e790 | 314 | depends on USB_PCI |
97b3ffa2 | 315 | select USB_SNP_CORE |
90fccb52 AP |
316 | help |
317 | The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge. | |
318 | It is a USB Highspeed DMA capable USB device controller. Beside ep0 | |
319 | it provides 4 IN and 4 OUT endpoints (bulk or interrupt type). | |
320 | The UDC port supports OTG operation, and may be used as a host port | |
321 | if it's not being used to implement peripheral or OTG roles. | |
322 | ||
97b3ffa2 RG |
323 | This UDC is based on Synopsys USB device controller IP and selects |
324 | CONFIG_USB_SNP_CORE option to build the core driver. | |
325 | ||
90fccb52 AP |
326 | Say "y" to link the driver statically, or "m" to build a |
327 | dynamically linked module called "amd5536udc" and force all | |
328 | gadget drivers to also be dynamically linked. | |
329 | ||
330 | config USB_FSL_QE | |
331 | tristate "Freescale QE/CPM USB Device Controller" | |
332 | depends on FSL_SOC && (QUICC_ENGINE || CPM) | |
a9d0b9d3 | 333 | depends on !64BIT || BROKEN |
90fccb52 AP |
334 | help |
335 | Some of Freescale PowerPC processors have a Full Speed | |
336 | QE/CPM2 USB controller, which support device mode with 4 | |
337 | programmable endpoints. This driver supports the | |
338 | controller in the MPC8360 and MPC8272, and should work with | |
339 | controllers having QE or CPM2, given minor tweaks. | |
340 | ||
341 | Set CONFIG_USB_GADGET to "m" to build this driver as a | |
342 | dynamically linked module called "fsl_qe_udc". | |
343 | ||
344 | config USB_NET2272 | |
7562b75b | 345 | depends on HAS_IOMEM |
90fccb52 AP |
346 | tristate "PLX NET2272" |
347 | help | |
348 | PLX NET2272 is a USB peripheral controller which supports | |
349 | both full and high speed USB 2.0 data transfers. | |
350 | ||
351 | It has three configurable endpoints, as well as endpoint zero | |
352 | (for control transfer). | |
353 | Say "y" to link the driver statically, or "m" to build a | |
354 | dynamically linked module called "net2272" and force all | |
355 | gadget drivers to also be dynamically linked. | |
356 | ||
357 | config USB_NET2272_DMA | |
6341e62b | 358 | bool "Support external DMA controller" |
90fccb52 AP |
359 | depends on USB_NET2272 && HAS_DMA |
360 | help | |
361 | The NET2272 part can optionally support an external DMA | |
362 | controller, but your board has to have support in the | |
363 | driver itself. | |
364 | ||
365 | If unsure, say "N" here. The driver works fine in PIO mode. | |
366 | ||
367 | config USB_NET2280 | |
5185c913 | 368 | tristate "NetChip NET228x / PLX USB3x8x" |
2c93e790 | 369 | depends on USB_PCI |
90fccb52 AP |
370 | help |
371 | NetChip 2280 / 2282 is a PCI based USB peripheral controller which | |
372 | supports both full and high speed USB 2.0 data transfers. | |
373 | ||
374 | It has six configurable endpoints, as well as endpoint zero | |
375 | (for control transfers) and several endpoints with dedicated | |
376 | functions. | |
377 | ||
5185c913 TH |
378 | PLX 2380 is a PCIe version of the PLX 2380. |
379 | ||
90fccb52 AP |
380 | PLX 3380 / 3382 is a PCIe based USB peripheral controller which |
381 | supports full, high speed USB 2.0 and super speed USB 3.0 | |
382 | data transfers. | |
383 | ||
384 | It has eight configurable endpoints, as well as endpoint zero | |
385 | (for control transfers) and several endpoints with dedicated | |
386 | functions. | |
387 | ||
388 | Say "y" to link the driver statically, or "m" to build a | |
389 | dynamically linked module called "net2280" and force all | |
390 | gadget drivers to also be dynamically linked. | |
391 | ||
392 | config USB_GOKU | |
393 | tristate "Toshiba TC86C001 'Goku-S'" | |
2c93e790 | 394 | depends on USB_PCI |
90fccb52 AP |
395 | help |
396 | The Toshiba TC86C001 is a PCI device which includes controllers | |
397 | for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI). | |
398 | ||
399 | The device controller has three configurable (bulk or interrupt) | |
400 | endpoints, plus endpoint zero (for control transfers). | |
401 | ||
402 | Say "y" to link the driver statically, or "m" to build a | |
403 | dynamically linked module called "goku_udc" and to force all | |
404 | gadget drivers to also be dynamically linked. | |
405 | ||
406 | config USB_EG20T | |
a68df706 | 407 | tristate "Intel QUARK X1000/EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC" |
2c93e790 | 408 | depends on USB_PCI |
90fccb52 AP |
409 | help |
410 | This is a USB device driver for EG20T PCH. | |
411 | EG20T PCH is the platform controller hub that is used in Intel's | |
412 | general embedded platform. EG20T PCH has USB device interface. | |
413 | Using this interface, it is able to access system devices connected | |
414 | to USB device. | |
415 | This driver enables USB device function. | |
416 | USB device is a USB peripheral controller which | |
417 | supports both full and high speed USB 2.0 data transfers. | |
418 | This driver supports both control transfer and bulk transfer modes. | |
419 | This driver dose not support interrupt transfer or isochronous | |
420 | transfer modes. | |
421 | ||
422 | This driver also can be used for LAPIS Semiconductor's ML7213 which is | |
423 | for IVI(In-Vehicle Infotainment) use. | |
424 | ML7831 is for general purpose use. | |
425 | ML7213/ML7831 is companion chip for Intel Atom E6xx series. | |
426 | ML7213/ML7831 is completely compatible for Intel EG20T PCH. | |
427 | ||
a68df706 | 428 | This driver can be used with Intel's Quark X1000 SOC platform |
1f7c5166 SSB |
429 | |
430 | config USB_GADGET_XILINX | |
431 | tristate "Xilinx USB Driver" | |
f1113be1 | 432 | depends on HAS_DMA |
1f7c5166 SSB |
433 | depends on OF || COMPILE_TEST |
434 | help | |
435 | USB peripheral controller driver for Xilinx USB2 device. | |
436 | Xilinx USB2 device is a soft IP which supports both full | |
437 | and high speed USB 2.0 data transfers. It has seven configurable | |
438 | endpoints(bulk or interrupt or isochronous), as well as | |
439 | endpoint zero(for control transfers). | |
440 | ||
441 | Say "y" to link the driver statically, or "m" to build a | |
442 | dynamically linked module called "udc-xilinx" and force all | |
443 | gadget drivers to also be dynamically linked. | |
444 | ||
48ba02b2 JB |
445 | config USB_MAX3420_UDC |
446 | tristate "MAX3420 (USB-over-SPI) support" | |
447 | depends on SPI | |
448 | help | |
449 | The Maxim MAX3420 chip supports USB2.0 full-speed peripheral mode. | |
450 | The MAX3420 is run by SPI interface, and hence the dependency. | |
451 | ||
452 | To compile this driver as a module, choose M here: the module will | |
453 | be called max3420_udc | |
454 | ||
49db4272 NK |
455 | config USB_TEGRA_XUDC |
456 | tristate "NVIDIA Tegra Superspeed USB 3.0 Device Controller" | |
457 | depends on ARCH_TEGRA || COMPILE_TEST | |
458 | depends on PHY_TEGRA_XUSB | |
459 | help | |
460 | Enables NVIDIA Tegra USB 3.0 device mode controller driver. | |
461 | ||
462 | Say "y" to link the driver statically, or "m" to build a | |
463 | dynamically linked module called "tegra_xudc" and force all | |
464 | gadget drivers to also be dynamically linked. | |
465 | ||
7ecca2a4 BH |
466 | source "drivers/usb/gadget/udc/aspeed-vhub/Kconfig" |
467 | ||
90fccb52 AP |
468 | # |
469 | # LAST -- dummy/emulated controller | |
470 | # | |
471 | ||
472 | config USB_DUMMY_HCD | |
473 | tristate "Dummy HCD (DEVELOPMENT)" | |
474 | depends on USB=y || (USB=m && USB_GADGET=m) | |
475 | help | |
476 | This host controller driver emulates USB, looping all data transfer | |
477 | requests back to a USB "gadget driver" in the same host. The host | |
b9b70170 | 478 | side is the controller; the gadget side is the device. Gadget drivers |
90fccb52 AP |
479 | can be high, full, or low speed; and they have access to endpoints |
480 | like those from NET2280, PXA2xx, or SA1100 hardware. | |
481 | ||
482 | This may help in some stages of creating a driver to embed in a | |
483 | Linux device, since it lets you debug several parts of the gadget | |
484 | driver without its hardware or drivers being involved. | |
485 | ||
486 | Since such a gadget side driver needs to interoperate with a host | |
487 | side Linux-USB device driver, this may help to debug both sides | |
488 | of a USB protocol stack. | |
489 | ||
490 | Say "y" to link the driver statically, or "m" to build a | |
491 | dynamically linked module called "dummy_hcd" and force all | |
492 | gadget drivers to also be dynamically linked. | |
493 | ||
494 | # NOTE: Please keep dummy_hcd LAST so that "real hardware" appears | |
495 | # first and will be selected by default. | |
496 | ||
497 | endmenu |