1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvaldsmenu "Mapping drivers for chip access" 31da177e4SLinus Torvalds depends on MTD!=n 49310da0bSRichard Weinberger depends on HAS_IOMEM 51da177e4SLinus Torvalds 61da177e4SLinus Torvaldsconfig MTD_COMPLEX_MAPPINGS 71da177e4SLinus Torvalds bool "Support non-linear mappings of flash chips" 81da177e4SLinus Torvalds help 91da177e4SLinus Torvalds This causes the chip drivers to allow for complicated 101da177e4SLinus Torvalds paged mappings of flash chips. 111da177e4SLinus Torvalds 121da177e4SLinus Torvaldsconfig MTD_PHYSMAP 13d8140830SAlexey Korolev tristate "Flash device in physical memory map" 14d4197009SChris Packham depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_RAM || MTD_LPDDR 151da177e4SLinus Torvalds help 1679b9cd58STakashi YOSHII This provides a 'mapping' driver which allows the NOR Flash and 1779b9cd58STakashi YOSHII ROM driver code to communicate with chips which are mapped 1879b9cd58STakashi YOSHII physically into the CPU's memory. You will need to configure 1979b9cd58STakashi YOSHII the physical address and size of the flash chips on your 2079b9cd58STakashi YOSHII particular board as well as the bus width, either statically 211da177e4SLinus Torvalds with config options or at run-time. 221da177e4SLinus Torvalds 2341bdf960SMike Frysinger To compile this driver as a module, choose M here: the 2441bdf960SMike Frysinger module will be called physmap. 2541bdf960SMike Frysinger 26dcb3e137SMike Frysingerconfig MTD_PHYSMAP_COMPAT 27dcb3e137SMike Frysinger bool "Physmap compat support" 28dcb3e137SMike Frysinger depends on MTD_PHYSMAP 29dcb3e137SMike Frysinger default n 30dcb3e137SMike Frysinger help 31dcb3e137SMike Frysinger Setup a simple mapping via the Kconfig options. Normally the 32dcb3e137SMike Frysinger physmap configuration options are done via your board's 33dcb3e137SMike Frysinger resource file. 34dcb3e137SMike Frysinger 35dcb3e137SMike Frysinger If unsure, say N here. 36dcb3e137SMike Frysinger 371da177e4SLinus Torvaldsconfig MTD_PHYSMAP_START 381da177e4SLinus Torvalds hex "Physical start address of flash mapping" 39dcb3e137SMike Frysinger depends on MTD_PHYSMAP_COMPAT 401da177e4SLinus Torvalds default "0x8000000" 411da177e4SLinus Torvalds help 421da177e4SLinus Torvalds This is the physical memory location at which the flash chips 431da177e4SLinus Torvalds are mapped on your particular target board. Refer to the 441da177e4SLinus Torvalds memory map which should hopefully be in the documentation for 451da177e4SLinus Torvalds your board. 461da177e4SLinus Torvalds 471da177e4SLinus Torvaldsconfig MTD_PHYSMAP_LEN 481da177e4SLinus Torvalds hex "Physical length of flash mapping" 49dcb3e137SMike Frysinger depends on MTD_PHYSMAP_COMPAT 5073566edfSLennert Buytenhek default "0" 511da177e4SLinus Torvalds help 521da177e4SLinus Torvalds This is the total length of the mapping of the flash chips on 531da177e4SLinus Torvalds your particular board. If there is space, or aliases, in the 541da177e4SLinus Torvalds physical memory map between the chips, this could be larger 551da177e4SLinus Torvalds than the total amount of flash present. Refer to the memory 561da177e4SLinus Torvalds map which should hopefully be in the documentation for your 571da177e4SLinus Torvalds board. 581da177e4SLinus Torvalds 591da177e4SLinus Torvaldsconfig MTD_PHYSMAP_BANKWIDTH 601da177e4SLinus Torvalds int "Bank width in octets" 61dcb3e137SMike Frysinger depends on MTD_PHYSMAP_COMPAT 621da177e4SLinus Torvalds default "2" 631da177e4SLinus Torvalds help 641da177e4SLinus Torvalds This is the total width of the data bus of the flash devices 651da177e4SLinus Torvalds in octets. For example, if you have a data bus width of 32 6601dd2fbfSMatt LaPlante bits, you would set the bus width octet value to 4. This is 671da177e4SLinus Torvalds used internally by the CFI drivers. 681da177e4SLinus Torvalds 69a2c2fe4bSVitaly Woolconfig MTD_PHYSMAP_OF 70642b1e8dSBoris Brezillon bool "Memory device in physical memory map based on OF description" 71642b1e8dSBoris Brezillon depends on OF && MTD_PHYSMAP 72a2c2fe4bSVitaly Wool help 73670b46aaSPhilippe De Muyter This provides a 'mapping' driver which allows the NOR Flash, ROM 74670b46aaSPhilippe De Muyter and RAM driver code to communicate with chips which are mapped 75a2c2fe4bSVitaly Wool physically into the CPU's memory. The mapping description here is 76a2c2fe4bSVitaly Wool taken from OF device tree. 77a2c2fe4bSVitaly Wool 786ca15cfaSBoris Brezillonconfig MTD_PHYSMAP_VERSATILE 7956ff337eSLinus Walleij bool "ARM Versatile OF-based physical memory map handling" 80b0afd44bSLinus Walleij depends on MTD_PHYSMAP_OF 81b0afd44bSLinus Walleij depends on MFD_SYSCON 828f2c0062SLinus Walleij default y if (ARCH_INTEGRATOR || ARCH_VERSATILE || ARCH_REALVIEW) 83b0afd44bSLinus Walleij help 84b0afd44bSLinus Walleij This provides some extra DT physmap parsing for the ARM Versatile 85b0afd44bSLinus Walleij platforms, basically to add a VPP (write protection) callback so 86b0afd44bSLinus Walleij the flash can be taken out of write protection. 87b0afd44bSLinus Walleij 886ca15cfaSBoris Brezillonconfig MTD_PHYSMAP_GEMINI 8956ff337eSLinus Walleij bool "Cortina Gemini OF-based physical memory map handling" 9056ff337eSLinus Walleij depends on MTD_PHYSMAP_OF 9156ff337eSLinus Walleij depends on MFD_SYSCON 929d3b5086SLinus Walleij select MTD_COMPLEX_MAPPINGS 9356ff337eSLinus Walleij default ARCH_GEMINI 9456ff337eSLinus Walleij help 9556ff337eSLinus Walleij This provides some extra DT physmap parsing for the Gemini 9656ff337eSLinus Walleij platforms, some detection and setting up parallel mode on the 9756ff337eSLinus Walleij external interface. 9856ff337eSLinus Walleij 992aba2f2aSLinus Walleijconfig MTD_PHYSMAP_IXP4XX 1002aba2f2aSLinus Walleij bool "Intel IXP4xx OF-based physical memory map handling" 1012aba2f2aSLinus Walleij depends on MTD_PHYSMAP_OF 1022aba2f2aSLinus Walleij depends on ARM 1032aba2f2aSLinus Walleij select MTD_COMPLEX_MAPPINGS 1042aba2f2aSLinus Walleij default ARCH_IXP4XX 1052aba2f2aSLinus Walleij help 1062aba2f2aSLinus Walleij This provides some extra DT physmap parsing for the Intel IXP4xx 1072aba2f2aSLinus Walleij platforms, some elaborate endianness handling in particular. 1082aba2f2aSLinus Walleij 109ba32ce95SBoris Brezillonconfig MTD_PHYSMAP_GPIO_ADDR 110ba32ce95SBoris Brezillon bool "GPIO-assisted Flash Chip Support" 111ba32ce95SBoris Brezillon depends on MTD_PHYSMAP 112ba32ce95SBoris Brezillon depends on GPIOLIB || COMPILE_TEST 113ba32ce95SBoris Brezillon depends on MTD_COMPLEX_MAPPINGS 114ba32ce95SBoris Brezillon help 115ba32ce95SBoris Brezillon Extend the physmap driver to allow flashes to be partially 116ba32ce95SBoris Brezillon physically addressed and assisted by GPIOs. 117ba32ce95SBoris Brezillon 1181da177e4SLinus Torvaldsconfig MTD_SUN_UFLASH 1191da177e4SLinus Torvalds tristate "Sun Microsystems userflash support" 120e0e5de00SAl Viro depends on SPARC && MTD_CFI && PCI 1211da177e4SLinus Torvalds help 1221da177e4SLinus Torvalds This provides a 'mapping' driver which supports the way in 1231da177e4SLinus Torvalds which user-programmable flash chips are connected on various 1241da177e4SLinus Torvalds Sun Microsystems boardsets. This driver will require CFI support 1251da177e4SLinus Torvalds in the kernel, so if you did not enable CFI previously, do that now. 1261da177e4SLinus Torvalds 1271da177e4SLinus Torvaldsconfig MTD_SBC_GXX 1281da177e4SLinus Torvalds tristate "CFI Flash device mapped on Arcom SBC-GXx boards" 1296a8a98b2SJamie Iles depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS 1301da177e4SLinus Torvalds help 1311da177e4SLinus Torvalds This provides a driver for the on-board flash of Arcom Control 1321da177e4SLinus Torvalds Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX. 1331da177e4SLinus Torvalds By default the flash is split into 3 partitions which are accessed 1341da177e4SLinus Torvalds as separate MTD devices. This board utilizes Intel StrataFlash. 1351da177e4SLinus Torvalds More info at 1361da177e4SLinus Torvalds <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>. 1371da177e4SLinus Torvalds 138e644f7d6STodd Poynorconfig MTD_PXA2XX 139e644f7d6STodd Poynor tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards" 140e644f7d6STodd Poynor depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT 141cbec19aeSNico Pitre help 142e644f7d6STodd Poynor This provides a driver for the NOR flash attached to a PXA2xx chip. 143cbec19aeSNico Pitre 1441da177e4SLinus Torvaldsconfig MTD_SCx200_DOCFLASH 1451da177e4SLinus Torvalds tristate "Flash device mapped with DOCCS on NatSemi SCx200" 146f6c11c18SJamie Iles depends on SCx200 && MTD_CFI 1471da177e4SLinus Torvalds help 1481da177e4SLinus Torvalds Enable support for a flash chip mapped using the DOCCS signal on a 1491da177e4SLinus Torvalds National Semiconductor SCx200 processor. 1501da177e4SLinus Torvalds 1511da177e4SLinus Torvalds If you don't know what to do here, say N. 1521da177e4SLinus Torvalds 1531da177e4SLinus Torvalds If compiled as a module, it will be called scx200_docflash. 1541da177e4SLinus Torvalds 1551da177e4SLinus Torvaldsconfig MTD_AMD76XROM 1561da177e4SLinus Torvalds tristate "BIOS flash chip on AMD76x southbridge" 1571da177e4SLinus Torvalds depends on X86 && MTD_JEDECPROBE 1581da177e4SLinus Torvalds help 1591da177e4SLinus Torvalds Support for treating the BIOS flash chip on AMD76x motherboards 1601da177e4SLinus Torvalds as an MTD device - with this you can reprogram your BIOS. 1611da177e4SLinus Torvalds 1621da177e4SLinus Torvalds BE VERY CAREFUL. 1631da177e4SLinus Torvalds 1641da177e4SLinus Torvaldsconfig MTD_ICHXROM 1651da177e4SLinus Torvalds tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5" 1661da177e4SLinus Torvalds depends on X86 && MTD_JEDECPROBE 1671da177e4SLinus Torvalds help 1681da177e4SLinus Torvalds Support for treating the BIOS flash chip on ICHX motherboards 1691da177e4SLinus Torvalds as an MTD device - with this you can reprogram your BIOS. 1701da177e4SLinus Torvalds 1711da177e4SLinus Torvalds BE VERY CAREFUL. 1721da177e4SLinus Torvalds 17329175778SLew Glendenningconfig MTD_ESB2ROM 17429175778SLew Glendenning tristate "BIOS flash chip on Intel ESB Controller Hub 2" 175dffbc42bSRandy Dunlap depends on X86 && MTD_JEDECPROBE && PCI 17629175778SLew Glendenning help 17729175778SLew Glendenning Support for treating the BIOS flash chip on ESB2 motherboards 17829175778SLew Glendenning as an MTD device - with this you can reprogram your BIOS. 17929175778SLew Glendenning 18029175778SLew Glendenning BE VERY CAREFUL. 18129175778SLew Glendenning 18290afffc8SDave Olsenconfig MTD_CK804XROM 18390afffc8SDave Olsen tristate "BIOS flash chip on Nvidia CK804" 184862c93b9Sakpm@osdl.org depends on X86 && MTD_JEDECPROBE && PCI 18590afffc8SDave Olsen help 18690afffc8SDave Olsen Support for treating the BIOS flash chip on nvidia motherboards 18790afffc8SDave Olsen as an MTD device - with this you can reprogram your BIOS. 18890afffc8SDave Olsen 18990afffc8SDave Olsen BE VERY CAREFUL. 19090afffc8SDave Olsen 1911da177e4SLinus Torvaldsconfig MTD_SCB2_FLASH 1921da177e4SLinus Torvalds tristate "BIOS flash chip on Intel SCB2 boards" 19347d0505bSRandy Dunlap depends on X86 && MTD_JEDECPROBE && PCI 1941da177e4SLinus Torvalds help 1951da177e4SLinus Torvalds Support for treating the BIOS flash chip on Intel SCB2 boards 1961da177e4SLinus Torvalds as an MTD device - with this you can reprogram your BIOS. 1971da177e4SLinus Torvalds 1981da177e4SLinus Torvalds BE VERY CAREFUL. 1991da177e4SLinus Torvalds 2001da177e4SLinus Torvaldsconfig MTD_TSUNAMI 2011da177e4SLinus Torvalds tristate "Flash chips on Tsunami TIG bus" 2021da177e4SLinus Torvalds depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS 2031da177e4SLinus Torvalds help 2041da177e4SLinus Torvalds Support for the flash chip on Tsunami TIG bus. 2051da177e4SLinus Torvalds 2063c544739SJohn Crispinconfig MTD_LANTIQ 2073c544739SJohn Crispin tristate "Lantiq SoC NOR support" 2083c544739SJohn Crispin depends on LANTIQ 2093c544739SJohn Crispin help 2103c544739SJohn Crispin Support for NOR flash attached to the Lantiq SoC's External Bus Unit. 2113c544739SJohn Crispin 2121da177e4SLinus Torvaldsconfig MTD_L440GX 2131da177e4SLinus Torvalds tristate "BIOS flash chip on Intel L440GX boards" 2141da177e4SLinus Torvalds depends on X86 && MTD_JEDECPROBE 2151da177e4SLinus Torvalds help 2161da177e4SLinus Torvalds Support for treating the BIOS flash chip on Intel L440GX motherboards 2171da177e4SLinus Torvalds as an MTD device - with this you can reprogram your BIOS. 2181da177e4SLinus Torvalds 2191da177e4SLinus Torvalds BE VERY CAREFUL. 2201da177e4SLinus Torvalds 2211da177e4SLinus Torvaldsconfig MTD_CFI_FLAGADM 2221da177e4SLinus Torvalds tristate "CFI Flash device mapping on FlagaDM" 223318157abSChristophe Leroy depends on PPC_8xx && MTD_CFI 2241da177e4SLinus Torvalds help 2251da177e4SLinus Torvalds Mapping for the Flaga digital module. If you don't have one, ignore 2261da177e4SLinus Torvalds this setting. 2271da177e4SLinus Torvalds 2281da177e4SLinus Torvaldsconfig MTD_SOLUTIONENGINE 2291da177e4SLinus Torvalds tristate "CFI Flash device mapped on Hitachi SolutionEngine" 2307a6f4395SBrian Norris depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS 2311da177e4SLinus Torvalds help 2321da177e4SLinus Torvalds This enables access to the flash chips on the Hitachi SolutionEngine and 2331da177e4SLinus Torvalds similar boards. Say 'Y' if you are building a kernel for such a board. 2341da177e4SLinus Torvalds 2351da177e4SLinus Torvaldsconfig MTD_SA1100 2361da177e4SLinus Torvalds tristate "CFI Flash device mapped on StrongARM SA11x0" 2372fe2e24eSJamie Iles depends on MTD_CFI && ARCH_SA1100 2381da177e4SLinus Torvalds help 2391da177e4SLinus Torvalds This enables access to the flash chips on most platforms based on 2401da177e4SLinus Torvalds the SA1100 and SA1110, including the Assabet and the Compaq iPAQ. 2411da177e4SLinus Torvalds If you have such a board, say 'Y'. 2421da177e4SLinus Torvalds 2431da177e4SLinus Torvaldsconfig MTD_DC21285 2441da177e4SLinus Torvalds tristate "CFI Flash device mapped on DC21285 Footbridge" 24501ac742dSSean Young depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS 2461da177e4SLinus Torvalds help 2471da177e4SLinus Torvalds This provides a driver for the flash accessed using Intel's 2481da177e4SLinus Torvalds 21285 bridge used with Intel's StrongARM processors. More info at 249c13ac555SAlexander A. Klimov <https://www.intel.com/design/bridge/docs/21285_documentation.htm>. 2501da177e4SLinus Torvalds 2511da177e4SLinus Torvalds# This needs CFI or JEDEC, depending on the cards found. 2521da177e4SLinus Torvaldsconfig MTD_PCI 2531da177e4SLinus Torvalds tristate "PCI MTD driver" 254ec98c681SJan Engelhardt depends on PCI && MTD_COMPLEX_MAPPINGS 2551da177e4SLinus Torvalds help 2561da177e4SLinus Torvalds Mapping for accessing flash devices on add-in cards like the Intel XScale 2571da177e4SLinus Torvalds IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode 2581da177e4SLinus Torvalds (please see the manual for the link settings). 2591da177e4SLinus Torvalds 2601da177e4SLinus Torvalds If you are not sure, say N. 2611da177e4SLinus Torvalds 2621da177e4SLinus Torvaldsconfig MTD_PCMCIA 2631da177e4SLinus Torvalds tristate "PCMCIA MTD driver" 264f6763c98SAlexander Kurz depends on PCMCIA && MTD_COMPLEX_MAPPINGS 2651da177e4SLinus Torvalds help 2661da177e4SLinus Torvalds Map driver for accessing PCMCIA linear flash memory cards. These 2671da177e4SLinus Torvalds cards are usually around 4-16MiB in size. This does not include 2681da177e4SLinus Torvalds Compact Flash cards which are treated as IDE devices. 2691da177e4SLinus Torvalds 27011d28a30SDominik Brodowskiconfig MTD_PCMCIA_ANONYMOUS 27111d28a30SDominik Brodowski bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards" 27211d28a30SDominik Brodowski depends on MTD_PCMCIA 27311d28a30SDominik Brodowski help 27411d28a30SDominik Brodowski If this option is enabled, PCMCIA cards which do not report 27511d28a30SDominik Brodowski anything about themselves are assumed to be MTD cards. 27611d28a30SDominik Brodowski 27711d28a30SDominik Brodowski If unsure, say N. 27811d28a30SDominik Brodowski 279*2b533e77SMiquel Raynalconfig MTD_UCLINUX 280*2b533e77SMiquel Raynal bool "Generic uClinux RAM/ROM filesystem support" 281*2b533e77SMiquel Raynal depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE) 282*2b533e77SMiquel Raynal help 283*2b533e77SMiquel Raynal Map driver to support image based filesystems for uClinux. 284*2b533e77SMiquel Raynal 28599f2a8aeSBen Dooksconfig MTD_PLATRAM 2863c45e00aSThomas Gleixner tristate "Map driver for platform device RAM (mtd-ram)" 28799f2a8aeSBen Dooks select MTD_RAM 28899f2a8aeSBen Dooks help 28999f2a8aeSBen Dooks Map driver for RAM areas described via the platform device 29099f2a8aeSBen Dooks system. 29199f2a8aeSBen Dooks 29299f2a8aeSBen Dooks This selection automatically selects the map_ram driver. 29399f2a8aeSBen Dooks 29447a72688SAdrian McMenaminconfig MTD_VMU 29547a72688SAdrian McMenamin tristate "Map driver for Dreamcast VMU" 29647a72688SAdrian McMenamin depends on MAPLE 29747a72688SAdrian McMenamin help 29847a72688SAdrian McMenamin This driver enables access to the Dreamcast Visual Memory Unit (VMU). 2991da177e4SLinus Torvalds 30047a72688SAdrian McMenamin Most Dreamcast users will want to say Y here. 30147a72688SAdrian McMenamin 30247a72688SAdrian McMenamin To build this as a module select M here, the module will be called 30347a72688SAdrian McMenamin vmu-flash. 30447a72688SAdrian McMenamin 305f6a8c609SRussell King - ARM Linuxconfig MTD_PISMO 306f6a8c609SRussell King - ARM Linux tristate "MTD discovery driver for PISMO modules" 307f6a8c609SRussell King - ARM Linux depends on I2C 308f6a8c609SRussell King - ARM Linux depends on ARCH_VERSATILE 309f6a8c609SRussell King - ARM Linux help 310f6a8c609SRussell King - ARM Linux This driver allows for discovery of PISMO modules - see 311f6a8c609SRussell King - ARM Linux <http://www.pismoworld.org/>. These are small modules containing 312f6a8c609SRussell King - ARM Linux up to five memory devices (eg, SRAM, flash, DOC) described by an 313f6a8c609SRussell King - ARM Linux I2C EEPROM. 314f6a8c609SRussell King - ARM Linux 315f6a8c609SRussell King - ARM Linux This driver does not create any MTD maps itself; instead it 316f6a8c609SRussell King - ARM Linux creates MTD physmap and MTD SRAM platform devices. If you 317f6a8c609SRussell King - ARM Linux enable this option, you should consider enabling MTD_PHYSMAP 318f6a8c609SRussell King - ARM Linux and/or MTD_PLATRAM according to the devices on your module. 319f6a8c609SRussell King - ARM Linux 320f6a8c609SRussell King - ARM Linux When built as a module, it will be called pismo.ko 321f6a8c609SRussell King - ARM Linux 32247a72688SAdrian McMenaminendmenu 323