xref: /linux/drivers/mtd/maps/Kconfig (revision 67f8bc848ee31831336bd478e57d2f993551902e)
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