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