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