Kconfig 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. menu "Mapping drivers for chip access"
  3. depends on MTD!=n
  4. depends on HAS_IOMEM
  5. config MTD_COMPLEX_MAPPINGS
  6. bool "Support non-linear mappings of flash chips"
  7. help
  8. This causes the chip drivers to allow for complicated
  9. paged mappings of flash chips.
  10. config MTD_PHYSMAP
  11. tristate "Flash device in physical memory map"
  12. depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_RAM || MTD_LPDDR
  13. help
  14. This provides a 'mapping' driver which allows the NOR Flash and
  15. ROM driver code to communicate with chips which are mapped
  16. physically into the CPU's memory. You will need to configure
  17. the physical address and size of the flash chips on your
  18. particular board as well as the bus width, either statically
  19. with config options or at run-time.
  20. To compile this driver as a module, choose M here: the
  21. module will be called physmap.
  22. config MTD_PHYSMAP_COMPAT
  23. bool "Physmap compat support"
  24. depends on MTD_PHYSMAP
  25. default n
  26. help
  27. Setup a simple mapping via the Kconfig options. Normally the
  28. physmap configuration options are done via your board's
  29. resource file.
  30. If unsure, say N here.
  31. config MTD_PHYSMAP_START
  32. hex "Physical start address of flash mapping"
  33. depends on MTD_PHYSMAP_COMPAT
  34. default "0x8000000"
  35. help
  36. This is the physical memory location at which the flash chips
  37. are mapped on your particular target board. Refer to the
  38. memory map which should hopefully be in the documentation for
  39. your board.
  40. config MTD_PHYSMAP_LEN
  41. hex "Physical length of flash mapping"
  42. depends on MTD_PHYSMAP_COMPAT
  43. default "0"
  44. help
  45. This is the total length of the mapping of the flash chips on
  46. your particular board. If there is space, or aliases, in the
  47. physical memory map between the chips, this could be larger
  48. than the total amount of flash present. Refer to the memory
  49. map which should hopefully be in the documentation for your
  50. board.
  51. config MTD_PHYSMAP_BANKWIDTH
  52. int "Bank width in octets"
  53. depends on MTD_PHYSMAP_COMPAT
  54. default "2"
  55. help
  56. This is the total width of the data bus of the flash devices
  57. in octets. For example, if you have a data bus width of 32
  58. bits, you would set the bus width octet value to 4. This is
  59. used internally by the CFI drivers.
  60. config MTD_PHYSMAP_OF
  61. bool "Memory device in physical memory map based on OF description"
  62. depends on OF && MTD_PHYSMAP
  63. help
  64. This provides a 'mapping' driver which allows the NOR Flash, ROM
  65. and RAM driver code to communicate with chips which are mapped
  66. physically into the CPU's memory. The mapping description here is
  67. taken from OF device tree.
  68. config MTD_PHYSMAP_BT1_ROM
  69. bool "Baikal-T1 Boot ROMs OF-based physical memory map handling"
  70. depends on MTD_PHYSMAP_OF
  71. depends on MIPS_BAIKAL_T1 || COMPILE_TEST
  72. select MTD_COMPLEX_MAPPINGS
  73. select MULTIPLEXER
  74. select MUX_MMIO
  75. help
  76. This provides some extra DT physmap parsing for the Baikal-T1
  77. platforms, some detection and setting up ROMs-specific accessors.
  78. config MTD_PHYSMAP_VERSATILE
  79. bool "ARM Versatile OF-based physical memory map handling"
  80. depends on MTD_PHYSMAP_OF
  81. depends on MFD_SYSCON
  82. default y if (ARCH_INTEGRATOR || ARCH_VERSATILE || ARCH_REALVIEW)
  83. help
  84. This provides some extra DT physmap parsing for the ARM Versatile
  85. platforms, basically to add a VPP (write protection) callback so
  86. the flash can be taken out of write protection.
  87. config MTD_PHYSMAP_GEMINI
  88. bool "Cortina Gemini OF-based physical memory map handling"
  89. depends on MTD_PHYSMAP_OF
  90. depends on MFD_SYSCON
  91. select MTD_COMPLEX_MAPPINGS
  92. default ARCH_GEMINI
  93. help
  94. This provides some extra DT physmap parsing for the Gemini
  95. platforms, some detection and setting up parallel mode on the
  96. external interface.
  97. config MTD_PHYSMAP_IXP4XX
  98. bool "Intel IXP4xx OF-based physical memory map handling"
  99. depends on MTD_PHYSMAP_OF
  100. depends on ARM
  101. select MTD_COMPLEX_MAPPINGS
  102. select MTD_CFI_BE_BYTE_SWAP if CPU_BIG_ENDIAN
  103. default ARCH_IXP4XX
  104. help
  105. This provides some extra DT physmap parsing for the Intel IXP4xx
  106. platforms, some elaborate endianness handling in particular.
  107. config MTD_PHYSMAP_GPIO_ADDR
  108. bool "GPIO-assisted Flash Chip Support"
  109. depends on MTD_PHYSMAP
  110. depends on GPIOLIB || COMPILE_TEST
  111. depends on MTD_COMPLEX_MAPPINGS
  112. help
  113. Extend the physmap driver to allow flashes to be partially
  114. physically addressed and assisted by GPIOs.
  115. config MTD_SUN_UFLASH
  116. tristate "Sun Microsystems userflash support"
  117. depends on SPARC && MTD_CFI && PCI
  118. help
  119. This provides a 'mapping' driver which supports the way in
  120. which user-programmable flash chips are connected on various
  121. Sun Microsystems boardsets. This driver will require CFI support
  122. in the kernel, so if you did not enable CFI previously, do that now.
  123. config MTD_SC520CDP
  124. tristate "CFI Flash device mapped on AMD SC520 CDP"
  125. depends on (MELAN || COMPILE_TEST) && MTD_CFI
  126. help
  127. The SC520 CDP board has two banks of CFI-compliant chips and one
  128. Dual-in-line JEDEC chip. This 'mapping' driver supports that
  129. arrangement, implementing three MTD devices.
  130. config MTD_NETSC520
  131. tristate "CFI Flash device mapped on AMD NetSc520"
  132. depends on (MELAN || COMPILE_TEST) && MTD_CFI
  133. help
  134. This enables access routines for the flash chips on the AMD NetSc520
  135. demonstration board. If you have one of these boards and would like
  136. to use the flash chips on it, say 'Y'.
  137. config MTD_TS5500
  138. tristate "JEDEC Flash device mapped on Technologic Systems TS-5500"
  139. depends on TS5500 || COMPILE_TEST
  140. select MTD_JEDECPROBE
  141. select MTD_CFI_AMDSTD
  142. help
  143. This provides a driver for the on-board flash of the Technologic
  144. System's TS-5500 board. The 2MB flash is split into 3 partitions
  145. which are accessed as separate MTD devices.
  146. mtd0 and mtd2 are the two BIOS drives, which use the resident
  147. flash disk (RFD) flash translation layer.
  148. mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL.
  149. Note that jumper 3 ("Write Enable Drive A") must be set
  150. otherwise detection won't succeed.
  151. config MTD_SBC_GXX
  152. tristate "CFI Flash device mapped on Arcom SBC-GXx boards"
  153. depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS
  154. help
  155. This provides a driver for the on-board flash of Arcom Control
  156. Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX.
  157. By default the flash is split into 3 partitions which are accessed
  158. as separate MTD devices. This board utilizes Intel StrataFlash.
  159. More info at
  160. <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>.
  161. config MTD_PXA2XX
  162. tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards"
  163. depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT
  164. help
  165. This provides a driver for the NOR flash attached to a PXA2xx chip.
  166. config MTD_SCx200_DOCFLASH
  167. tristate "Flash device mapped with DOCCS on NatSemi SCx200"
  168. depends on SCx200 && MTD_CFI
  169. help
  170. Enable support for a flash chip mapped using the DOCCS signal on a
  171. National Semiconductor SCx200 processor.
  172. If you don't know what to do here, say N.
  173. If compiled as a module, it will be called scx200_docflash.
  174. config MTD_AMD76XROM
  175. tristate "BIOS flash chip on AMD76x southbridge"
  176. depends on X86 && MTD_JEDECPROBE
  177. help
  178. Support for treating the BIOS flash chip on AMD76x motherboards
  179. as an MTD device - with this you can reprogram your BIOS.
  180. BE VERY CAREFUL.
  181. config MTD_ICHXROM
  182. tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5"
  183. depends on X86 && MTD_JEDECPROBE
  184. help
  185. Support for treating the BIOS flash chip on ICHX motherboards
  186. as an MTD device - with this you can reprogram your BIOS.
  187. BE VERY CAREFUL.
  188. config MTD_ESB2ROM
  189. tristate "BIOS flash chip on Intel ESB Controller Hub 2"
  190. depends on X86 && MTD_JEDECPROBE && PCI
  191. help
  192. Support for treating the BIOS flash chip on ESB2 motherboards
  193. as an MTD device - with this you can reprogram your BIOS.
  194. BE VERY CAREFUL.
  195. config MTD_CK804XROM
  196. tristate "BIOS flash chip on Nvidia CK804"
  197. depends on X86 && MTD_JEDECPROBE && PCI
  198. help
  199. Support for treating the BIOS flash chip on nvidia motherboards
  200. as an MTD device - with this you can reprogram your BIOS.
  201. BE VERY CAREFUL.
  202. config MTD_SCB2_FLASH
  203. tristate "BIOS flash chip on Intel SCB2 boards"
  204. depends on X86 && MTD_JEDECPROBE && PCI
  205. help
  206. Support for treating the BIOS flash chip on Intel SCB2 boards
  207. as an MTD device - with this you can reprogram your BIOS.
  208. BE VERY CAREFUL.
  209. config MTD_TSUNAMI
  210. tristate "Flash chips on Tsunami TIG bus"
  211. depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS
  212. help
  213. Support for the flash chip on Tsunami TIG bus.
  214. config MTD_NETtel
  215. tristate "CFI flash device on SnapGear/SecureEdge"
  216. depends on X86 && MTD_JEDECPROBE
  217. help
  218. Support for flash chips on NETtel/SecureEdge/SnapGear boards.
  219. config MTD_LANTIQ
  220. tristate "Lantiq SoC NOR support"
  221. depends on LANTIQ
  222. help
  223. Support for NOR flash attached to the Lantiq SoC's External Bus Unit.
  224. config MTD_L440GX
  225. tristate "BIOS flash chip on Intel L440GX boards"
  226. depends on X86 && MTD_JEDECPROBE
  227. help
  228. Support for treating the BIOS flash chip on Intel L440GX motherboards
  229. as an MTD device - with this you can reprogram your BIOS.
  230. BE VERY CAREFUL.
  231. config MTD_CFI_FLAGADM
  232. tristate "CFI Flash device mapping on FlagaDM"
  233. depends on PPC_8xx && MTD_CFI
  234. help
  235. Mapping for the Flaga digital module. If you don't have one, ignore
  236. this setting.
  237. config MTD_SOLUTIONENGINE
  238. tristate "CFI Flash device mapped on Hitachi SolutionEngine"
  239. depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS
  240. help
  241. This enables access to the flash chips on the Hitachi SolutionEngine and
  242. similar boards. Say 'Y' if you are building a kernel for such a board.
  243. config MTD_SA1100
  244. tristate "CFI Flash device mapped on StrongARM SA11x0"
  245. depends on MTD_CFI && ARCH_SA1100
  246. help
  247. This enables access to the flash chips on most platforms based on
  248. the SA1100 and SA1110, including the Assabet and the Compaq iPAQ.
  249. If you have such a board, say 'Y'.
  250. config MTD_DC21285
  251. tristate "CFI Flash device mapped on DC21285 Footbridge"
  252. depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS
  253. help
  254. This provides a driver for the flash accessed using Intel's
  255. 21285 bridge used with Intel's StrongARM processors. More info at
  256. <https://www.intel.com/design/bridge/docs/21285_documentation.htm>.
  257. config MTD_IMPA7
  258. tristate "JEDEC Flash device mapped on impA7"
  259. depends on ARM && MTD_JEDECPROBE
  260. help
  261. This enables access to the NOR Flash on the impA7 board of
  262. implementa GmbH. If you have such a board, say 'Y' here.
  263. # This needs CFI or JEDEC, depending on the cards found.
  264. config MTD_PCI
  265. tristate "PCI MTD driver"
  266. depends on PCI && MTD_COMPLEX_MAPPINGS
  267. help
  268. Mapping for accessing flash devices on add-in cards like the Intel XScale
  269. IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode
  270. (please see the manual for the link settings).
  271. If you are not sure, say N.
  272. config MTD_PCMCIA
  273. tristate "PCMCIA MTD driver"
  274. depends on PCMCIA && MTD_COMPLEX_MAPPINGS
  275. help
  276. Map driver for accessing PCMCIA linear flash memory cards. These
  277. cards are usually around 4-16MiB in size. This does not include
  278. Compact Flash cards which are treated as IDE devices.
  279. config MTD_PCMCIA_ANONYMOUS
  280. bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards"
  281. depends on MTD_PCMCIA
  282. help
  283. If this option is enabled, PCMCIA cards which do not report
  284. anything about themselves are assumed to be MTD cards.
  285. If unsure, say N.
  286. config MTD_UCLINUX
  287. bool "Generic uClinux RAM/ROM filesystem support"
  288. depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE)
  289. help
  290. Map driver to support image based filesystems for uClinux.
  291. config MTD_INTEL_VR_NOR
  292. tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0"
  293. depends on PCI
  294. help
  295. Map driver for a NOR flash bank located on the Expansion Bus of the
  296. Intel Vermilion Range chipset.
  297. config MTD_PLATRAM
  298. tristate "Map driver for platform device RAM (mtd-ram)"
  299. select MTD_RAM
  300. help
  301. Map driver for RAM areas described via the platform device
  302. system.
  303. This selection automatically selects the map_ram driver.
  304. config MTD_VMU
  305. tristate "Map driver for Dreamcast VMU"
  306. depends on MAPLE
  307. help
  308. This driver enables access to the Dreamcast Visual Memory Unit (VMU).
  309. Most Dreamcast users will want to say Y here.
  310. To build this as a module select M here, the module will be called
  311. vmu-flash.
  312. config MTD_PISMO
  313. tristate "MTD discovery driver for PISMO modules"
  314. depends on I2C
  315. depends on ARCH_VERSATILE
  316. help
  317. This driver allows for discovery of PISMO modules - see
  318. <http://www.pismoworld.org/>. These are small modules containing
  319. up to five memory devices (eg, SRAM, flash, DOC) described by an
  320. I2C EEPROM.
  321. This driver does not create any MTD maps itself; instead it
  322. creates MTD physmap and MTD SRAM platform devices. If you
  323. enable this option, you should consider enabling MTD_PHYSMAP
  324. and/or MTD_PLATRAM according to the devices on your module.
  325. When built as a module, it will be called pismo.ko
  326. endmenu