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