| 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 | |
| 6 | config 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 | |
| 12 | config 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 | |
| 26 | config 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 | |
| 37 | config 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 | |
| 47 | config 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 | |
| 59 | config 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 | |
| 69 | config 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 | |
| 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 | |
| 88 | config 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 | |
| 99 | config 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 | |
| 109 | config 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 | |
| 118 | config 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 | |
| 127 | config 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 | |
| 138 | config 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 | |
| 144 | config 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 | |
| 155 | config 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 | |
| 164 | config 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 | |
| 173 | config 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 | |
| 182 | config 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 | |
| 191 | config 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 | |
| 200 | config 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 | |
| 206 | config 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 | |
| 212 | config 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 | |
| 221 | config 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 | |
| 228 | config 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 | |
| 235 | config 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 | |
| 243 | config 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. |
| 252 | config 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 | |
| 262 | config 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 | |
| 270 | config 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 | |
| 279 | config 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 | |
| 285 | config 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 | |
| 294 | config 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 | |
| 305 | config 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 | |
| 322 | endmenu |