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 default ARCH_IXP4XX 105 help 106 This provides some extra DT physmap parsing for the Intel IXP4xx 107 platforms, some elaborate endianness handling in particular. 108 109config MTD_PHYSMAP_GPIO_ADDR 110 bool "GPIO-assisted Flash Chip Support" 111 depends on MTD_PHYSMAP 112 depends on GPIOLIB || COMPILE_TEST 113 depends on MTD_COMPLEX_MAPPINGS 114 help 115 Extend the physmap driver to allow flashes to be partially 116 physically addressed and assisted by GPIOs. 117 118config MTD_SUN_UFLASH 119 tristate "Sun Microsystems userflash support" 120 depends on SPARC && MTD_CFI && PCI 121 help 122 This provides a 'mapping' driver which supports the way in 123 which user-programmable flash chips are connected on various 124 Sun Microsystems boardsets. This driver will require CFI support 125 in the kernel, so if you did not enable CFI previously, do that now. 126 127config MTD_SBC_GXX 128 tristate "CFI Flash device mapped on Arcom SBC-GXx boards" 129 depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS 130 help 131 This provides a driver for the on-board flash of Arcom Control 132 Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX. 133 By default the flash is split into 3 partitions which are accessed 134 as separate MTD devices. This board utilizes Intel StrataFlash. 135 More info at 136 <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>. 137 138config MTD_PXA2XX 139 tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards" 140 depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT 141 help 142 This provides a driver for the NOR flash attached to a PXA2xx chip. 143 144config MTD_SCx200_DOCFLASH 145 tristate "Flash device mapped with DOCCS on NatSemi SCx200" 146 depends on SCx200 && MTD_CFI 147 help 148 Enable support for a flash chip mapped using the DOCCS signal on a 149 National Semiconductor SCx200 processor. 150 151 If you don't know what to do here, say N. 152 153 If compiled as a module, it will be called scx200_docflash. 154 155config MTD_AMD76XROM 156 tristate "BIOS flash chip on AMD76x southbridge" 157 depends on X86 && MTD_JEDECPROBE 158 help 159 Support for treating the BIOS flash chip on AMD76x motherboards 160 as an MTD device - with this you can reprogram your BIOS. 161 162 BE VERY CAREFUL. 163 164config MTD_ICHXROM 165 tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5" 166 depends on X86 && MTD_JEDECPROBE 167 help 168 Support for treating the BIOS flash chip on ICHX motherboards 169 as an MTD device - with this you can reprogram your BIOS. 170 171 BE VERY CAREFUL. 172 173config MTD_ESB2ROM 174 tristate "BIOS flash chip on Intel ESB Controller Hub 2" 175 depends on X86 && MTD_JEDECPROBE && PCI 176 help 177 Support for treating the BIOS flash chip on ESB2 motherboards 178 as an MTD device - with this you can reprogram your BIOS. 179 180 BE VERY CAREFUL. 181 182config MTD_CK804XROM 183 tristate "BIOS flash chip on Nvidia CK804" 184 depends on X86 && MTD_JEDECPROBE && PCI 185 help 186 Support for treating the BIOS flash chip on nvidia motherboards 187 as an MTD device - with this you can reprogram your BIOS. 188 189 BE VERY CAREFUL. 190 191config MTD_SCB2_FLASH 192 tristate "BIOS flash chip on Intel SCB2 boards" 193 depends on X86 && MTD_JEDECPROBE && PCI 194 help 195 Support for treating the BIOS flash chip on Intel SCB2 boards 196 as an MTD device - with this you can reprogram your BIOS. 197 198 BE VERY CAREFUL. 199 200config MTD_TSUNAMI 201 tristate "Flash chips on Tsunami TIG bus" 202 depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS 203 help 204 Support for the flash chip on Tsunami TIG bus. 205 206config MTD_LANTIQ 207 tristate "Lantiq SoC NOR support" 208 depends on LANTIQ 209 help 210 Support for NOR flash attached to the Lantiq SoC's External Bus Unit. 211 212config MTD_L440GX 213 tristate "BIOS flash chip on Intel L440GX boards" 214 depends on X86 && MTD_JEDECPROBE 215 help 216 Support for treating the BIOS flash chip on Intel L440GX motherboards 217 as an MTD device - with this you can reprogram your BIOS. 218 219 BE VERY CAREFUL. 220 221config MTD_CFI_FLAGADM 222 tristate "CFI Flash device mapping on FlagaDM" 223 depends on PPC_8xx && MTD_CFI 224 help 225 Mapping for the Flaga digital module. If you don't have one, ignore 226 this setting. 227 228config MTD_SOLUTIONENGINE 229 tristate "CFI Flash device mapped on Hitachi SolutionEngine" 230 depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS 231 help 232 This enables access to the flash chips on the Hitachi SolutionEngine and 233 similar boards. Say 'Y' if you are building a kernel for such a board. 234 235config MTD_SA1100 236 tristate "CFI Flash device mapped on StrongARM SA11x0" 237 depends on MTD_CFI && ARCH_SA1100 238 help 239 This enables access to the flash chips on most platforms based on 240 the SA1100 and SA1110, including the Assabet and the Compaq iPAQ. 241 If you have such a board, say 'Y'. 242 243config MTD_DC21285 244 tristate "CFI Flash device mapped on DC21285 Footbridge" 245 depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS 246 help 247 This provides a driver for the flash accessed using Intel's 248 21285 bridge used with Intel's StrongARM processors. More info at 249 <https://www.intel.com/design/bridge/docs/21285_documentation.htm>. 250 251# This needs CFI or JEDEC, depending on the cards found. 252config MTD_PCI 253 tristate "PCI MTD driver" 254 depends on PCI && MTD_COMPLEX_MAPPINGS 255 help 256 Mapping for accessing flash devices on add-in cards like the Intel XScale 257 IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode 258 (please see the manual for the link settings). 259 260 If you are not sure, say N. 261 262config MTD_PCMCIA 263 tristate "PCMCIA MTD driver" 264 depends on PCMCIA && MTD_COMPLEX_MAPPINGS 265 help 266 Map driver for accessing PCMCIA linear flash memory cards. These 267 cards are usually around 4-16MiB in size. This does not include 268 Compact Flash cards which are treated as IDE devices. 269 270config MTD_PCMCIA_ANONYMOUS 271 bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards" 272 depends on MTD_PCMCIA 273 help 274 If this option is enabled, PCMCIA cards which do not report 275 anything about themselves are assumed to be MTD cards. 276 277 If unsure, say N. 278 279config MTD_UCLINUX 280 bool "Generic uClinux RAM/ROM filesystem support" 281 depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE) 282 help 283 Map driver to support image based filesystems for uClinux. 284 285config MTD_PLATRAM 286 tristate "Map driver for platform device RAM (mtd-ram)" 287 select MTD_RAM 288 help 289 Map driver for RAM areas described via the platform device 290 system. 291 292 This selection automatically selects the map_ram driver. 293 294config MTD_VMU 295 tristate "Map driver for Dreamcast VMU" 296 depends on MAPLE 297 help 298 This driver enables access to the Dreamcast Visual Memory Unit (VMU). 299 300 Most Dreamcast users will want to say Y here. 301 302 To build this as a module select M here, the module will be called 303 vmu-flash. 304 305config MTD_PISMO 306 tristate "MTD discovery driver for PISMO modules" 307 depends on I2C 308 depends on ARCH_VERSATILE 309 help 310 This driver allows for discovery of PISMO modules - see 311 <http://www.pismoworld.org/>. These are small modules containing 312 up to five memory devices (eg, SRAM, flash, DOC) described by an 313 I2C EEPROM. 314 315 This driver does not create any MTD maps itself; instead it 316 creates MTD physmap and MTD SRAM platform devices. If you 317 enable this option, you should consider enabling MTD_PHYSMAP 318 and/or MTD_PLATRAM according to the devices on your module. 319 320 When built as a module, it will be called pismo.ko 321 322endmenu 323