Kconfig 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554
  1. # drivers/mtd/maps/Kconfig
  2. menu "Mapping drivers for chip access"
  3. depends on MTD!=n
  4. config MTD_COMPLEX_MAPPINGS
  5. bool "Support non-linear mappings of flash chips"
  6. help
  7. This causes the chip drivers to allow for complicated
  8. paged mappings of flash chips.
  9. config MTD_PHYSMAP
  10. tristate "Flash device in physical memory map"
  11. depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_LPDDR
  12. help
  13. This provides a 'mapping' driver which allows the NOR Flash and
  14. ROM driver code to communicate with chips which are mapped
  15. physically into the CPU's memory. You will need to configure
  16. the physical address and size of the flash chips on your
  17. particular board as well as the bus width, either statically
  18. with config options or at run-time.
  19. To compile this driver as a module, choose M here: the
  20. module will be called physmap.
  21. config MTD_PHYSMAP_COMPAT
  22. bool "Physmap compat support"
  23. depends on MTD_PHYSMAP
  24. default n
  25. help
  26. Setup a simple mapping via the Kconfig options. Normally the
  27. physmap configuration options are done via your board's
  28. resource file.
  29. If unsure, say N here.
  30. config MTD_PHYSMAP_START
  31. hex "Physical start address of flash mapping"
  32. depends on MTD_PHYSMAP_COMPAT
  33. default "0x8000000"
  34. help
  35. This is the physical memory location at which the flash chips
  36. are mapped on your particular target board. Refer to the
  37. memory map which should hopefully be in the documentation for
  38. your board.
  39. Ignore this option if you use run-time physmap configuration
  40. (i.e., run-time calling physmap_configure()).
  41. config MTD_PHYSMAP_LEN
  42. hex "Physical length of flash mapping"
  43. depends on MTD_PHYSMAP_COMPAT
  44. default "0"
  45. help
  46. This is the total length of the mapping of the flash chips on
  47. your particular board. If there is space, or aliases, in the
  48. physical memory map between the chips, this could be larger
  49. than the total amount of flash present. Refer to the memory
  50. map which should hopefully be in the documentation for your
  51. board.
  52. Ignore this option if you use run-time physmap configuration
  53. (i.e., run-time calling physmap_configure()).
  54. config MTD_PHYSMAP_BANKWIDTH
  55. int "Bank width in octets"
  56. depends on MTD_PHYSMAP_COMPAT
  57. default "2"
  58. help
  59. This is the total width of the data bus of the flash devices
  60. in octets. For example, if you have a data bus width of 32
  61. bits, you would set the bus width octet value to 4. This is
  62. used internally by the CFI drivers.
  63. Ignore this option if you use run-time physmap configuration
  64. (i.e., run-time calling physmap_configure()).
  65. config MTD_PHYSMAP_OF
  66. tristate "Flash device in physical memory map based on OF description"
  67. depends on PPC_OF && (MTD_CFI || MTD_JEDECPROBE || MTD_ROM)
  68. help
  69. This provides a 'mapping' driver which allows the NOR Flash and
  70. ROM driver code to communicate with chips which are mapped
  71. physically into the CPU's memory. The mapping description here is
  72. taken from OF device tree.
  73. config MTD_PMC_MSP_EVM
  74. tristate "CFI Flash device mapped on PMC-Sierra MSP"
  75. depends on PMC_MSP && MTD_CFI
  76. select MTD_PARTITIONS
  77. help
  78. This provides a 'mapping' driver which supports the way
  79. in which user-programmable flash chips are connected on the
  80. PMC-Sierra MSP eval/demo boards.
  81. choice
  82. prompt "Maximum mappable memory available for flash IO"
  83. depends on MTD_PMC_MSP_EVM
  84. default MSP_FLASH_MAP_LIMIT_32M
  85. config MSP_FLASH_MAP_LIMIT_32M
  86. bool "32M"
  87. endchoice
  88. config MSP_FLASH_MAP_LIMIT
  89. hex
  90. default "0x02000000"
  91. depends on MSP_FLASH_MAP_LIMIT_32M
  92. config MTD_SUN_UFLASH
  93. tristate "Sun Microsystems userflash support"
  94. depends on SPARC && MTD_CFI && PCI
  95. help
  96. This provides a 'mapping' driver which supports the way in
  97. which user-programmable flash chips are connected on various
  98. Sun Microsystems boardsets. This driver will require CFI support
  99. in the kernel, so if you did not enable CFI previously, do that now.
  100. config MTD_SC520CDP
  101. tristate "CFI Flash device mapped on AMD SC520 CDP"
  102. depends on X86 && MTD_CFI && MTD_CONCAT
  103. help
  104. The SC520 CDP board has two banks of CFI-compliant chips and one
  105. Dual-in-line JEDEC chip. This 'mapping' driver supports that
  106. arrangement, implementing three MTD devices.
  107. config MTD_NETSC520
  108. tristate "CFI Flash device mapped on AMD NetSc520"
  109. depends on X86 && MTD_CFI && MTD_PARTITIONS
  110. help
  111. This enables access routines for the flash chips on the AMD NetSc520
  112. demonstration board. If you have one of these boards and would like
  113. to use the flash chips on it, say 'Y'.
  114. config MTD_TS5500
  115. tristate "JEDEC Flash device mapped on Technologic Systems TS-5500"
  116. depends on X86
  117. select MTD_PARTITIONS
  118. select MTD_JEDECPROBE
  119. select MTD_CFI_AMDSTD
  120. help
  121. This provides a driver for the on-board flash of the Technologic
  122. System's TS-5500 board. The 2MB flash is split into 3 partitions
  123. which are accessed as separate MTD devices.
  124. mtd0 and mtd2 are the two BIOS drives, which use the resident
  125. flash disk (RFD) flash translation layer.
  126. mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL.
  127. Note that jumper 3 ("Write Enable Drive A") must be set
  128. otherwise detection won't succeed.
  129. config MTD_SBC_GXX
  130. tristate "CFI Flash device mapped on Arcom SBC-GXx boards"
  131. depends on X86 && MTD_CFI_INTELEXT && MTD_PARTITIONS && MTD_COMPLEX_MAPPINGS
  132. help
  133. This provides a driver for the on-board flash of Arcom Control
  134. Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX.
  135. By default the flash is split into 3 partitions which are accessed
  136. as separate MTD devices. This board utilizes Intel StrataFlash.
  137. More info at
  138. <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>.
  139. config MTD_PXA2XX
  140. tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards"
  141. depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT
  142. select MTD_PARTITIONS
  143. help
  144. This provides a driver for the NOR flash attached to a PXA2xx chip.
  145. config MTD_OCTAGON
  146. tristate "JEDEC Flash device mapped on Octagon 5066 SBC"
  147. depends on X86 && MTD_JEDEC && MTD_COMPLEX_MAPPINGS
  148. help
  149. This provides a 'mapping' driver which supports the way in which
  150. the flash chips are connected in the Octagon-5066 Single Board
  151. Computer. More information on the board is available at
  152. <http://www.octagonsystems.com/CPUpages/5066.html>.
  153. config MTD_VMAX
  154. tristate "JEDEC Flash device mapped on Tempustech VMAX SBC301"
  155. depends on X86 && MTD_JEDEC && MTD_COMPLEX_MAPPINGS
  156. help
  157. This provides a 'mapping' driver which supports the way in which
  158. the flash chips are connected in the Tempustech VMAX SBC301 Single
  159. Board Computer. More information on the board is available at
  160. <http://www.tempustech.com/>.
  161. config MTD_SCx200_DOCFLASH
  162. tristate "Flash device mapped with DOCCS on NatSemi SCx200"
  163. depends on SCx200 && MTD_CFI && MTD_PARTITIONS
  164. help
  165. Enable support for a flash chip mapped using the DOCCS signal on a
  166. National Semiconductor SCx200 processor.
  167. If you don't know what to do here, say N.
  168. If compiled as a module, it will be called scx200_docflash.
  169. config MTD_AMD76XROM
  170. tristate "BIOS flash chip on AMD76x southbridge"
  171. depends on X86 && MTD_JEDECPROBE
  172. help
  173. Support for treating the BIOS flash chip on AMD76x motherboards
  174. as an MTD device - with this you can reprogram your BIOS.
  175. BE VERY CAREFUL.
  176. config MTD_ICHXROM
  177. tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5"
  178. depends on X86 && MTD_JEDECPROBE
  179. help
  180. Support for treating the BIOS flash chip on ICHX motherboards
  181. as an MTD device - with this you can reprogram your BIOS.
  182. BE VERY CAREFUL.
  183. config MTD_ESB2ROM
  184. tristate "BIOS flash chip on Intel ESB Controller Hub 2"
  185. depends on X86 && MTD_JEDECPROBE && PCI
  186. help
  187. Support for treating the BIOS flash chip on ESB2 motherboards
  188. as an MTD device - with this you can reprogram your BIOS.
  189. BE VERY CAREFUL.
  190. config MTD_CK804XROM
  191. tristate "BIOS flash chip on Nvidia CK804"
  192. depends on X86 && MTD_JEDECPROBE && PCI
  193. help
  194. Support for treating the BIOS flash chip on nvidia motherboards
  195. as an MTD device - with this you can reprogram your BIOS.
  196. BE VERY CAREFUL.
  197. config MTD_SCB2_FLASH
  198. tristate "BIOS flash chip on Intel SCB2 boards"
  199. depends on X86 && MTD_JEDECPROBE
  200. help
  201. Support for treating the BIOS flash chip on Intel SCB2 boards
  202. as an MTD device - with this you can reprogram your BIOS.
  203. BE VERY CAREFUL.
  204. config MTD_TSUNAMI
  205. tristate "Flash chips on Tsunami TIG bus"
  206. depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS
  207. help
  208. Support for the flash chip on Tsunami TIG bus.
  209. config MTD_NETtel
  210. tristate "CFI flash device on SnapGear/SecureEdge"
  211. depends on X86 && MTD_PARTITIONS && MTD_JEDECPROBE
  212. help
  213. Support for flash chips on NETtel/SecureEdge/SnapGear boards.
  214. config MTD_ALCHEMY
  215. tristate "AMD Alchemy Pb1xxx/Db1xxx/RDK MTD support"
  216. depends on SOC_AU1X00 && MTD_PARTITIONS && MTD_CFI
  217. help
  218. Flash memory access on AMD Alchemy Pb/Db/RDK Reference Boards
  219. config MTD_DILNETPC
  220. tristate "CFI Flash device mapped on DIL/Net PC"
  221. depends on X86 && MTD_CONCAT && MTD_PARTITIONS && MTD_CFI_INTELEXT && BROKEN
  222. help
  223. MTD map driver for SSV DIL/Net PC Boards "DNP" and "ADNP".
  224. For details, see <http://www.ssv-embedded.de/ssv/pc104/p169.htm>
  225. and <http://www.ssv-embedded.de/ssv/pc104/p170.htm>
  226. config MTD_DILNETPC_BOOTSIZE
  227. hex "Size of DIL/Net PC flash boot partition"
  228. depends on MTD_DILNETPC
  229. default "0x80000"
  230. help
  231. The amount of space taken up by the kernel or Etherboot
  232. on the DIL/Net PC flash chips.
  233. config MTD_L440GX
  234. tristate "BIOS flash chip on Intel L440GX boards"
  235. depends on X86 && MTD_JEDECPROBE
  236. help
  237. Support for treating the BIOS flash chip on Intel L440GX motherboards
  238. as an MTD device - with this you can reprogram your BIOS.
  239. BE VERY CAREFUL.
  240. config MTD_TQM8XXL
  241. tristate "CFI Flash device mapped on TQM8XXL"
  242. depends on MTD_CFI && TQM8xxL
  243. help
  244. The TQM8xxL PowerPC board has up to two banks of CFI-compliant
  245. chips, currently uses AMD one. This 'mapping' driver supports
  246. that arrangement, allowing the CFI probe and command set driver
  247. code to communicate with the chips on the TQM8xxL board. More at
  248. <http://www.denx.de/embedded-ppc-en.html>.
  249. config MTD_RPXLITE
  250. tristate "CFI Flash device mapped on RPX Lite or CLLF"
  251. depends on MTD_CFI && (RPXCLASSIC || RPXLITE)
  252. help
  253. The RPXLite PowerPC board has CFI-compliant chips mapped in
  254. a strange sparse mapping. This 'mapping' driver supports that
  255. arrangement, allowing the CFI probe and command set driver code
  256. to communicate with the chips on the RPXLite board. More at
  257. <http://www.embeddedplanet.com/>.
  258. config MTD_MBX860
  259. tristate "System flash on MBX860 board"
  260. depends on MTD_CFI && MBX
  261. help
  262. This enables access routines for the flash chips on the Motorola
  263. MBX860 board. If you have one of these boards and would like
  264. to use the flash chips on it, say 'Y'.
  265. config MTD_DBOX2
  266. tristate "CFI Flash device mapped on D-Box2"
  267. depends on DBOX2 && MTD_CFI_INTELSTD && MTD_CFI_INTELEXT && MTD_CFI_AMDSTD
  268. help
  269. This enables access routines for the flash chips on the Nokia/Sagem
  270. D-Box 2 board. If you have one of these boards and would like to use
  271. the flash chips on it, say 'Y'.
  272. config MTD_CFI_FLAGADM
  273. tristate "CFI Flash device mapping on FlagaDM"
  274. depends on 8xx && MTD_CFI
  275. help
  276. Mapping for the Flaga digital module. If you don't have one, ignore
  277. this setting.
  278. config MTD_REDWOOD
  279. tristate "CFI Flash devices mapped on IBM Redwood"
  280. depends on MTD_CFI && ( REDWOOD_4 || REDWOOD_5 || REDWOOD_6 )
  281. help
  282. This enables access routines for the flash chips on the IBM
  283. Redwood board. If you have one of these boards and would like to
  284. use the flash chips on it, say 'Y'.
  285. config MTD_SOLUTIONENGINE
  286. tristate "CFI Flash device mapped on Hitachi SolutionEngine"
  287. depends on SUPERH && SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS
  288. help
  289. This enables access to the flash chips on the Hitachi SolutionEngine and
  290. similar boards. Say 'Y' if you are building a kernel for such a board.
  291. config MTD_ARM_INTEGRATOR
  292. tristate "CFI Flash device mapped on ARM Integrator/P720T"
  293. depends on ARM && MTD_CFI
  294. config MTD_CDB89712
  295. tristate "Cirrus CDB89712 evaluation board mappings"
  296. depends on MTD_CFI && ARCH_CDB89712
  297. help
  298. This enables access to the flash or ROM chips on the CDB89712 board.
  299. If you have such a board, say 'Y'.
  300. config MTD_SA1100
  301. tristate "CFI Flash device mapped on StrongARM SA11x0"
  302. depends on MTD_CFI && ARCH_SA1100 && MTD_PARTITIONS
  303. help
  304. This enables access to the flash chips on most platforms based on
  305. the SA1100 and SA1110, including the Assabet and the Compaq iPAQ.
  306. If you have such a board, say 'Y'.
  307. config MTD_DC21285
  308. tristate "CFI Flash device mapped on DC21285 Footbridge"
  309. depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS
  310. help
  311. This provides a driver for the flash accessed using Intel's
  312. 21285 bridge used with Intel's StrongARM processors. More info at
  313. <http://www.intel.com/design/bridge/docs/21285_documentation.htm>.
  314. config MTD_IXP4XX
  315. tristate "CFI Flash device mapped on Intel IXP4xx based systems"
  316. depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX
  317. help
  318. This enables MTD access to flash devices on platforms based
  319. on Intel's IXP4xx family of network processors such as the
  320. IXDP425 and Coyote. If you have an IXP4xx based board and
  321. would like to use the flash chips on it, say 'Y'.
  322. config MTD_IXP2000
  323. tristate "CFI Flash device mapped on Intel IXP2000 based systems"
  324. depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP2000
  325. help
  326. This enables MTD access to flash devices on platforms based
  327. on Intel's IXP2000 family of network processors such as the
  328. IXDP425 and Coyote. If you have an IXP2000 based board and
  329. would like to use the flash chips on it, say 'Y'.
  330. config MTD_FORTUNET
  331. tristate "CFI Flash device mapped on the FortuNet board"
  332. depends on MTD_CFI && MTD_PARTITIONS && SA1100_FORTUNET
  333. help
  334. This enables access to the Flash on the FortuNet board. If you
  335. have such a board, say 'Y'.
  336. config MTD_AUTCPU12
  337. tristate "NV-RAM mapping AUTCPU12 board"
  338. depends on ARCH_AUTCPU12
  339. help
  340. This enables access to the NV-RAM on autronix autcpu12 board.
  341. If you have such a board, say 'Y'.
  342. config MTD_EDB7312
  343. tristate "CFI Flash device mapped on EDB7312"
  344. depends on ARCH_EDB7312 && MTD_CFI
  345. help
  346. This enables access to the CFI Flash on the Cogent EDB7312 board.
  347. If you have such a board, say 'Y' here.
  348. config MTD_IMPA7
  349. tristate "JEDEC Flash device mapped on impA7"
  350. depends on ARM && MTD_JEDECPROBE
  351. help
  352. This enables access to the NOR Flash on the impA7 board of
  353. implementa GmbH. If you have such a board, say 'Y' here.
  354. config MTD_CEIVA
  355. tristate "JEDEC Flash device mapped on Ceiva/Polaroid PhotoMax Digital Picture Frame"
  356. depends on MTD_JEDECPROBE && ARCH_CEIVA
  357. help
  358. This enables access to the flash chips on the Ceiva/Polaroid
  359. PhotoMax Digital Picture Frame.
  360. If you have such a device, say 'Y'.
  361. config MTD_H720X
  362. tristate "Hynix evaluation board mappings"
  363. depends on MTD_CFI && ( ARCH_H7201 || ARCH_H7202 )
  364. help
  365. This enables access to the flash chips on the Hynix evaluation boards.
  366. If you have such a board, say 'Y'.
  367. config MTD_OMAP_NOR
  368. tristate "TI OMAP board mappings"
  369. depends on MTD_CFI && ARCH_OMAP
  370. help
  371. This enables access to the NOR flash chips on TI OMAP-based
  372. boards defining flash platform devices and flash platform data.
  373. These boards include the Innovator, H2, H3, OSK, Perseus2, and
  374. more. If you have such a board, say 'Y'.
  375. # This needs CFI or JEDEC, depending on the cards found.
  376. config MTD_PCI
  377. tristate "PCI MTD driver"
  378. depends on PCI && MTD_COMPLEX_MAPPINGS
  379. help
  380. Mapping for accessing flash devices on add-in cards like the Intel XScale
  381. IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode
  382. (please see the manual for the link settings).
  383. If you are not sure, say N.
  384. config MTD_PCMCIA
  385. tristate "PCMCIA MTD driver"
  386. depends on PCMCIA && MTD_COMPLEX_MAPPINGS && BROKEN
  387. help
  388. Map driver for accessing PCMCIA linear flash memory cards. These
  389. cards are usually around 4-16MiB in size. This does not include
  390. Compact Flash cards which are treated as IDE devices.
  391. config MTD_PCMCIA_ANONYMOUS
  392. bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards"
  393. depends on MTD_PCMCIA
  394. help
  395. If this option is enabled, PCMCIA cards which do not report
  396. anything about themselves are assumed to be MTD cards.
  397. If unsure, say N.
  398. config MTD_BFIN_ASYNC
  399. tristate "Blackfin BF533-STAMP Flash Chip Support"
  400. depends on BFIN533_STAMP && MTD_CFI && MTD_COMPLEX_MAPPINGS
  401. select MTD_PARTITIONS
  402. default y
  403. help
  404. Map driver which allows for simultaneous utilization of
  405. ethernet and CFI parallel flash.
  406. If compiled as a module, it will be called bfin-async-flash.
  407. config MTD_GPIO_ADDR
  408. tristate "GPIO-assisted Flash Chip Support"
  409. depends on GENERIC_GPIO || GPIOLIB
  410. depends on MTD_COMPLEX_MAPPINGS
  411. select MTD_PARTITIONS
  412. help
  413. Map driver which allows flashes to be partially physically addressed
  414. and assisted by GPIOs.
  415. If compiled as a module, it will be called gpio-addr-flash.
  416. config MTD_UCLINUX
  417. bool "Generic uClinux RAM/ROM filesystem support"
  418. depends on MTD_PARTITIONS && MTD_RAM=y && !MMU
  419. help
  420. Map driver to support image based filesystems for uClinux.
  421. config MTD_WRSBC8260
  422. tristate "Map driver for WindRiver PowerQUICC II MPC82xx board"
  423. depends on (SBC82xx || SBC8560)
  424. select MTD_PARTITIONS
  425. select MTD_MAP_BANK_WIDTH_4
  426. select MTD_MAP_BANK_WIDTH_1
  427. select MTD_CFI_I1
  428. select MTD_CFI_I4
  429. help
  430. Map driver for WindRiver PowerQUICC II MPC82xx board. Drives
  431. all three flash regions on CS0, CS1 and CS6 if they are configured
  432. correctly by the boot loader.
  433. config MTD_DMV182
  434. tristate "Map driver for Dy-4 SVME/DMV-182 board."
  435. depends on DMV182
  436. select MTD_PARTITIONS
  437. select MTD_MAP_BANK_WIDTH_32
  438. select MTD_CFI_I8
  439. select MTD_CFI_AMDSTD
  440. help
  441. Map driver for Dy-4 SVME/DMV-182 board.
  442. config MTD_INTEL_VR_NOR
  443. tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0"
  444. depends on PCI
  445. help
  446. Map driver for a NOR flash bank located on the Expansion Bus of the
  447. Intel Vermilion Range chipset.
  448. config MTD_RBTX4939
  449. tristate "Map driver for RBTX4939 board"
  450. depends on TOSHIBA_RBTX4939 && MTD_CFI && MTD_COMPLEX_MAPPINGS
  451. help
  452. Map driver for NOR flash chips on RBTX4939 board.
  453. config MTD_PLATRAM
  454. tristate "Map driver for platform device RAM (mtd-ram)"
  455. select MTD_RAM
  456. help
  457. Map driver for RAM areas described via the platform device
  458. system.
  459. This selection automatically selects the map_ram driver.
  460. config MTD_VMU
  461. tristate "Map driver for Dreamcast VMU"
  462. depends on MAPLE
  463. help
  464. This driver enables access to the Dreamcast Visual Memory Unit (VMU).
  465. Most Dreamcast users will want to say Y here.
  466. To build this as a module select M here, the module will be called
  467. vmu-flash.
  468. endmenu