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_GPIO_ADDR 100 bool "GPIO-assisted Flash Chip Support" 101 depends on MTD_PHYSMAP 102 depends on GPIOLIB || COMPILE_TEST 103 depends on MTD_COMPLEX_MAPPINGS 104 help 105 Extend the physmap driver to allow flashes to be partially 106 physically addressed and assisted by GPIOs. 107 108config MTD_PMC_MSP_EVM 109 tristate "CFI Flash device mapped on PMC-Sierra MSP" 110 depends on PMC_MSP && MTD_CFI 111 help 112 This provides a 'mapping' driver which supports the way 113 in which user-programmable flash chips are connected on the 114 PMC-Sierra MSP eval/demo boards. 115 116choice 117 prompt "Maximum mappable memory available for flash IO" 118 depends on MTD_PMC_MSP_EVM 119 default MSP_FLASH_MAP_LIMIT_32M 120 121config MSP_FLASH_MAP_LIMIT_32M 122 bool "32M" 123 124endchoice 125 126config MSP_FLASH_MAP_LIMIT 127 hex 128 default "0x02000000" 129 depends on MSP_FLASH_MAP_LIMIT_32M 130 131config MTD_SUN_UFLASH 132 tristate "Sun Microsystems userflash support" 133 depends on SPARC && MTD_CFI && PCI 134 help 135 This provides a 'mapping' driver which supports the way in 136 which user-programmable flash chips are connected on various 137 Sun Microsystems boardsets. This driver will require CFI support 138 in the kernel, so if you did not enable CFI previously, do that now. 139 140config MTD_SC520CDP 141 tristate "CFI Flash device mapped on AMD SC520 CDP" 142 depends on (MELAN || COMPILE_TEST) && MTD_CFI 143 help 144 The SC520 CDP board has two banks of CFI-compliant chips and one 145 Dual-in-line JEDEC chip. This 'mapping' driver supports that 146 arrangement, implementing three MTD devices. 147 148config MTD_NETSC520 149 tristate "CFI Flash device mapped on AMD NetSc520" 150 depends on (MELAN || COMPILE_TEST) && MTD_CFI 151 help 152 This enables access routines for the flash chips on the AMD NetSc520 153 demonstration board. If you have one of these boards and would like 154 to use the flash chips on it, say 'Y'. 155 156config MTD_TS5500 157 tristate "JEDEC Flash device mapped on Technologic Systems TS-5500" 158 depends on TS5500 || COMPILE_TEST 159 select MTD_JEDECPROBE 160 select MTD_CFI_AMDSTD 161 help 162 This provides a driver for the on-board flash of the Technologic 163 System's TS-5500 board. The 2MB flash is split into 3 partitions 164 which are accessed as separate MTD devices. 165 166 mtd0 and mtd2 are the two BIOS drives, which use the resident 167 flash disk (RFD) flash translation layer. 168 169 mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL. 170 171 Note that jumper 3 ("Write Enable Drive A") must be set 172 otherwise detection won't succeed. 173 174config MTD_SBC_GXX 175 tristate "CFI Flash device mapped on Arcom SBC-GXx boards" 176 depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS 177 help 178 This provides a driver for the on-board flash of Arcom Control 179 Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX. 180 By default the flash is split into 3 partitions which are accessed 181 as separate MTD devices. This board utilizes Intel StrataFlash. 182 More info at 183 <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>. 184 185config MTD_PXA2XX 186 tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards" 187 depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT 188 help 189 This provides a driver for the NOR flash attached to a PXA2xx chip. 190 191config MTD_SCx200_DOCFLASH 192 tristate "Flash device mapped with DOCCS on NatSemi SCx200" 193 depends on SCx200 && MTD_CFI 194 help 195 Enable support for a flash chip mapped using the DOCCS signal on a 196 National Semiconductor SCx200 processor. 197 198 If you don't know what to do here, say N. 199 200 If compiled as a module, it will be called scx200_docflash. 201 202config MTD_AMD76XROM 203 tristate "BIOS flash chip on AMD76x southbridge" 204 depends on X86 && MTD_JEDECPROBE 205 help 206 Support for treating the BIOS flash chip on AMD76x motherboards 207 as an MTD device - with this you can reprogram your BIOS. 208 209 BE VERY CAREFUL. 210 211config MTD_ICHXROM 212 tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5" 213 depends on X86 && MTD_JEDECPROBE 214 help 215 Support for treating the BIOS flash chip on ICHX motherboards 216 as an MTD device - with this you can reprogram your BIOS. 217 218 BE VERY CAREFUL. 219 220config MTD_ESB2ROM 221 tristate "BIOS flash chip on Intel ESB Controller Hub 2" 222 depends on X86 && MTD_JEDECPROBE && PCI 223 help 224 Support for treating the BIOS flash chip on ESB2 motherboards 225 as an MTD device - with this you can reprogram your BIOS. 226 227 BE VERY CAREFUL. 228 229config MTD_CK804XROM 230 tristate "BIOS flash chip on Nvidia CK804" 231 depends on X86 && MTD_JEDECPROBE && PCI 232 help 233 Support for treating the BIOS flash chip on nvidia motherboards 234 as an MTD device - with this you can reprogram your BIOS. 235 236 BE VERY CAREFUL. 237 238config MTD_SCB2_FLASH 239 tristate "BIOS flash chip on Intel SCB2 boards" 240 depends on X86 && MTD_JEDECPROBE && PCI 241 help 242 Support for treating the BIOS flash chip on Intel SCB2 boards 243 as an MTD device - with this you can reprogram your BIOS. 244 245 BE VERY CAREFUL. 246 247config MTD_TSUNAMI 248 tristate "Flash chips on Tsunami TIG bus" 249 depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS 250 help 251 Support for the flash chip on Tsunami TIG bus. 252 253config MTD_NETtel 254 tristate "CFI flash device on SnapGear/SecureEdge" 255 depends on X86 && MTD_JEDECPROBE 256 help 257 Support for flash chips on NETtel/SecureEdge/SnapGear boards. 258 259config MTD_LANTIQ 260 tristate "Lantiq SoC NOR support" 261 depends on LANTIQ 262 help 263 Support for NOR flash attached to the Lantiq SoC's External Bus Unit. 264 265config MTD_L440GX 266 tristate "BIOS flash chip on Intel L440GX boards" 267 depends on X86 && MTD_JEDECPROBE 268 help 269 Support for treating the BIOS flash chip on Intel L440GX motherboards 270 as an MTD device - with this you can reprogram your BIOS. 271 272 BE VERY CAREFUL. 273 274config MTD_CFI_FLAGADM 275 tristate "CFI Flash device mapping on FlagaDM" 276 depends on PPC_8xx && MTD_CFI 277 help 278 Mapping for the Flaga digital module. If you don't have one, ignore 279 this setting. 280 281config MTD_SOLUTIONENGINE 282 tristate "CFI Flash device mapped on Hitachi SolutionEngine" 283 depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS 284 help 285 This enables access to the flash chips on the Hitachi SolutionEngine and 286 similar boards. Say 'Y' if you are building a kernel for such a board. 287 288config MTD_SA1100 289 tristate "CFI Flash device mapped on StrongARM SA11x0" 290 depends on MTD_CFI && ARCH_SA1100 291 help 292 This enables access to the flash chips on most platforms based on 293 the SA1100 and SA1110, including the Assabet and the Compaq iPAQ. 294 If you have such a board, say 'Y'. 295 296config MTD_DC21285 297 tristate "CFI Flash device mapped on DC21285 Footbridge" 298 depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS 299 help 300 This provides a driver for the flash accessed using Intel's 301 21285 bridge used with Intel's StrongARM processors. More info at 302 <http://www.intel.com/design/bridge/docs/21285_documentation.htm>. 303 304config MTD_IXP4XX 305 tristate "CFI Flash device mapped on Intel IXP4xx based systems" 306 depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX 307 help 308 This enables MTD access to flash devices on platforms based 309 on Intel's IXP4xx family of network processors such as the 310 IXDP425 and Coyote. If you have an IXP4xx based board and 311 would like to use the flash chips on it, say 'Y'. 312 313config MTD_IMPA7 314 tristate "JEDEC Flash device mapped on impA7" 315 depends on ARM && MTD_JEDECPROBE 316 help 317 This enables access to the NOR Flash on the impA7 board of 318 implementa GmbH. If you have such a board, say 'Y' here. 319 320# This needs CFI or JEDEC, depending on the cards found. 321config MTD_PCI 322 tristate "PCI MTD driver" 323 depends on PCI && MTD_COMPLEX_MAPPINGS 324 help 325 Mapping for accessing flash devices on add-in cards like the Intel XScale 326 IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode 327 (please see the manual for the link settings). 328 329 If you are not sure, say N. 330 331config MTD_PCMCIA 332 tristate "PCMCIA MTD driver" 333 depends on PCMCIA && MTD_COMPLEX_MAPPINGS 334 help 335 Map driver for accessing PCMCIA linear flash memory cards. These 336 cards are usually around 4-16MiB in size. This does not include 337 Compact Flash cards which are treated as IDE devices. 338 339config MTD_PCMCIA_ANONYMOUS 340 bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards" 341 depends on MTD_PCMCIA 342 help 343 If this option is enabled, PCMCIA cards which do not report 344 anything about themselves are assumed to be MTD cards. 345 346 If unsure, say N. 347 348config MTD_UCLINUX 349 bool "Generic uClinux RAM/ROM filesystem support" 350 depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE) 351 help 352 Map driver to support image based filesystems for uClinux. 353 354config MTD_INTEL_VR_NOR 355 tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0" 356 depends on PCI 357 help 358 Map driver for a NOR flash bank located on the Expansion Bus of the 359 Intel Vermilion Range chipset. 360 361config MTD_RBTX4939 362 tristate "Map driver for RBTX4939 board" 363 depends on TOSHIBA_RBTX4939 && MTD_CFI && MTD_COMPLEX_MAPPINGS 364 help 365 Map driver for NOR flash chips on RBTX4939 board. 366 367config MTD_PLATRAM 368 tristate "Map driver for platform device RAM (mtd-ram)" 369 select MTD_RAM 370 help 371 Map driver for RAM areas described via the platform device 372 system. 373 374 This selection automatically selects the map_ram driver. 375 376config MTD_VMU 377 tristate "Map driver for Dreamcast VMU" 378 depends on MAPLE 379 help 380 This driver enables access to the Dreamcast Visual Memory Unit (VMU). 381 382 Most Dreamcast users will want to say Y here. 383 384 To build this as a module select M here, the module will be called 385 vmu-flash. 386 387config MTD_PISMO 388 tristate "MTD discovery driver for PISMO modules" 389 depends on I2C 390 depends on ARCH_VERSATILE 391 help 392 This driver allows for discovery of PISMO modules - see 393 <http://www.pismoworld.org/>. These are small modules containing 394 up to five memory devices (eg, SRAM, flash, DOC) described by an 395 I2C EEPROM. 396 397 This driver does not create any MTD maps itself; instead it 398 creates MTD physmap and MTD SRAM platform devices. If you 399 enable this option, you should consider enabling MTD_PHYSMAP 400 and/or MTD_PLATRAM according to the devices on your module. 401 402 When built as a module, it will be called pismo.ko 403 404endmenu 405