xref: /openbmc/linux/drivers/mtd/maps/Kconfig (revision 29c37341)
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_PMC_MSP_EVM
120	tristate "CFI Flash device mapped on PMC-Sierra MSP"
121	depends on PMC_MSP && MTD_CFI
122	help
123	  This provides a 'mapping' driver which supports the way
124	  in which user-programmable flash chips are connected on the
125	  PMC-Sierra MSP eval/demo boards.
126
127choice
128	prompt "Maximum mappable memory available for flash IO"
129	depends on MTD_PMC_MSP_EVM
130	default MSP_FLASH_MAP_LIMIT_32M
131
132config MSP_FLASH_MAP_LIMIT_32M
133	bool "32M"
134
135endchoice
136
137config MSP_FLASH_MAP_LIMIT
138	hex
139	default "0x02000000"
140	depends on MSP_FLASH_MAP_LIMIT_32M
141
142config MTD_SUN_UFLASH
143	tristate "Sun Microsystems userflash support"
144	depends on SPARC && MTD_CFI && PCI
145	help
146	  This provides a 'mapping' driver which supports the way in
147	  which user-programmable flash chips are connected on various
148	  Sun Microsystems boardsets.  This driver will require CFI support
149	  in the kernel, so if you did not enable CFI previously, do that now.
150
151config MTD_SC520CDP
152	tristate "CFI Flash device mapped on AMD SC520 CDP"
153	depends on (MELAN || COMPILE_TEST) && MTD_CFI
154	help
155	  The SC520 CDP board has two banks of CFI-compliant chips and one
156	  Dual-in-line JEDEC chip. This 'mapping' driver supports that
157	  arrangement, implementing three MTD devices.
158
159config MTD_NETSC520
160	tristate "CFI Flash device mapped on AMD NetSc520"
161	depends on (MELAN || COMPILE_TEST) && MTD_CFI
162	help
163	  This enables access routines for the flash chips on the AMD NetSc520
164	  demonstration board. If you have one of these boards and would like
165	  to use the flash chips on it, say 'Y'.
166
167config MTD_TS5500
168	tristate "JEDEC Flash device mapped on Technologic Systems TS-5500"
169	depends on TS5500 || COMPILE_TEST
170	select MTD_JEDECPROBE
171	select MTD_CFI_AMDSTD
172	help
173	  This provides a driver for the on-board flash of the Technologic
174	  System's TS-5500 board. The 2MB flash is split into 3 partitions
175	  which are accessed as separate MTD devices.
176
177	  mtd0 and mtd2 are the two BIOS drives, which use the resident
178	  flash disk (RFD) flash translation layer.
179
180	  mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL.
181
182	  Note that jumper 3 ("Write Enable Drive A") must be set
183	  otherwise detection won't succeed.
184
185config MTD_SBC_GXX
186	tristate "CFI Flash device mapped on Arcom SBC-GXx boards"
187	depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS
188	help
189	  This provides a driver for the on-board flash of Arcom Control
190	  Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX.
191	  By default the flash is split into 3 partitions which are accessed
192	  as separate MTD devices. This board utilizes Intel StrataFlash.
193	  More info at
194	  <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>.
195
196config MTD_PXA2XX
197	tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards"
198	depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT
199	help
200	  This provides a driver for the NOR flash attached to a PXA2xx chip.
201
202config MTD_SCx200_DOCFLASH
203	tristate "Flash device mapped with DOCCS on NatSemi SCx200"
204	depends on SCx200 && MTD_CFI
205	help
206	  Enable support for a flash chip mapped using the DOCCS signal on a
207	  National Semiconductor SCx200 processor.
208
209	  If you don't know what to do here, say N.
210
211	  If compiled as a module, it will be called scx200_docflash.
212
213config MTD_AMD76XROM
214	tristate "BIOS flash chip on AMD76x southbridge"
215	depends on X86 && MTD_JEDECPROBE
216	help
217	  Support for treating the BIOS flash chip on AMD76x motherboards
218	  as an MTD device - with this you can reprogram your BIOS.
219
220	  BE VERY CAREFUL.
221
222config MTD_ICHXROM
223	tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5"
224	depends on X86 && MTD_JEDECPROBE
225	help
226	  Support for treating the BIOS flash chip on ICHX motherboards
227	  as an MTD device - with this you can reprogram your BIOS.
228
229	  BE VERY CAREFUL.
230
231config MTD_ESB2ROM
232	tristate "BIOS flash chip on Intel ESB Controller Hub 2"
233	depends on X86 && MTD_JEDECPROBE && PCI
234	help
235	  Support for treating the BIOS flash chip on ESB2 motherboards
236	  as an MTD device - with this you can reprogram your BIOS.
237
238	  BE VERY CAREFUL.
239
240config MTD_CK804XROM
241	tristate "BIOS flash chip on Nvidia CK804"
242	depends on X86 && MTD_JEDECPROBE && PCI
243	help
244	  Support for treating the BIOS flash chip on nvidia motherboards
245	  as an MTD device - with this you can reprogram your BIOS.
246
247	  BE VERY CAREFUL.
248
249config MTD_SCB2_FLASH
250	tristate "BIOS flash chip on Intel SCB2 boards"
251	depends on X86 && MTD_JEDECPROBE && PCI
252	help
253	  Support for treating the BIOS flash chip on Intel SCB2 boards
254	  as an MTD device - with this you can reprogram your BIOS.
255
256	  BE VERY CAREFUL.
257
258config MTD_TSUNAMI
259	tristate "Flash chips on Tsunami TIG bus"
260	depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS
261	help
262	  Support for the flash chip on Tsunami TIG bus.
263
264config MTD_NETtel
265	tristate "CFI flash device on SnapGear/SecureEdge"
266	depends on X86 && MTD_JEDECPROBE
267	help
268	  Support for flash chips on NETtel/SecureEdge/SnapGear boards.
269
270config MTD_LANTIQ
271	tristate "Lantiq SoC NOR support"
272	depends on LANTIQ
273	help
274	  Support for NOR flash attached to the Lantiq SoC's External Bus Unit.
275
276config MTD_L440GX
277	tristate "BIOS flash chip on Intel L440GX boards"
278	depends on X86 && MTD_JEDECPROBE
279	help
280	  Support for treating the BIOS flash chip on Intel L440GX motherboards
281	  as an MTD device - with this you can reprogram your BIOS.
282
283	  BE VERY CAREFUL.
284
285config MTD_CFI_FLAGADM
286	tristate "CFI Flash device mapping on FlagaDM"
287	depends on PPC_8xx && MTD_CFI
288	help
289	  Mapping for the Flaga digital module. If you don't have one, ignore
290	  this setting.
291
292config MTD_SOLUTIONENGINE
293	tristate "CFI Flash device mapped on Hitachi SolutionEngine"
294	depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS
295	help
296	  This enables access to the flash chips on the Hitachi SolutionEngine and
297	  similar boards. Say 'Y' if you are building a kernel for such a board.
298
299config MTD_SA1100
300	tristate "CFI Flash device mapped on StrongARM SA11x0"
301	depends on MTD_CFI && ARCH_SA1100
302	help
303	  This enables access to the flash chips on most platforms based on
304	  the SA1100 and SA1110, including the Assabet and the Compaq iPAQ.
305	  If you have such a board, say 'Y'.
306
307config MTD_DC21285
308	tristate "CFI Flash device mapped on DC21285 Footbridge"
309	depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS
310	help
311	  This provides a driver for the flash accessed using Intel's
312	  21285 bridge used with Intel's StrongARM processors. More info at
313	  <https://www.intel.com/design/bridge/docs/21285_documentation.htm>.
314
315config MTD_IXP4XX
316	tristate "CFI Flash device mapped on Intel IXP4xx based systems"
317	depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX
318	help
319	  This enables MTD access to flash devices on platforms based
320	  on Intel's IXP4xx family of network processors such as the
321	  IXDP425 and Coyote. If you have an IXP4xx based board and
322	  would like to use the flash chips on it, say 'Y'.
323
324config MTD_IMPA7
325	tristate "JEDEC Flash device mapped on impA7"
326	depends on ARM && MTD_JEDECPROBE
327	help
328	  This enables access to the NOR Flash on the impA7 board of
329	  implementa GmbH. If you have such a board, say 'Y' here.
330
331# This needs CFI or JEDEC, depending on the cards found.
332config MTD_PCI
333	tristate "PCI MTD driver"
334	depends on PCI && MTD_COMPLEX_MAPPINGS
335	help
336	  Mapping for accessing flash devices on add-in cards like the Intel XScale
337	  IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode
338	  (please see the manual for the link settings).
339
340	  If you are not sure, say N.
341
342config MTD_PCMCIA
343	tristate "PCMCIA MTD driver"
344	depends on PCMCIA && MTD_COMPLEX_MAPPINGS
345	help
346	  Map driver for accessing PCMCIA linear flash memory cards. These
347	  cards are usually around 4-16MiB in size. This does not include
348	  Compact Flash cards which are treated as IDE devices.
349
350config MTD_PCMCIA_ANONYMOUS
351	bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards"
352	depends on MTD_PCMCIA
353	help
354	  If this option is enabled, PCMCIA cards which do not report
355	  anything about themselves are assumed to be MTD cards.
356
357	  If unsure, say N.
358
359config MTD_UCLINUX
360	bool "Generic uClinux RAM/ROM filesystem support"
361	depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE)
362	help
363	  Map driver to support image based filesystems for uClinux.
364
365config MTD_INTEL_VR_NOR
366	tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0"
367	depends on PCI
368	help
369	  Map driver for a NOR flash bank located on the Expansion Bus of the
370	  Intel Vermilion Range chipset.
371
372config MTD_RBTX4939
373	tristate "Map driver for RBTX4939 board"
374	depends on TOSHIBA_RBTX4939 && MTD_CFI && MTD_COMPLEX_MAPPINGS
375	help
376	  Map driver for NOR flash chips on RBTX4939 board.
377
378config MTD_PLATRAM
379	tristate "Map driver for platform device RAM (mtd-ram)"
380	select MTD_RAM
381	help
382	  Map driver for RAM areas described via the platform device
383	  system.
384
385	  This selection automatically selects the map_ram driver.
386
387config MTD_VMU
388	tristate "Map driver for Dreamcast VMU"
389	depends on MAPLE
390	help
391	  This driver enables access to the Dreamcast Visual Memory Unit (VMU).
392
393	  Most Dreamcast users will want to say Y here.
394
395	  To build this as a module select M here, the module will be called
396	  vmu-flash.
397
398config MTD_PISMO
399	tristate "MTD discovery driver for PISMO modules"
400	depends on I2C
401	depends on ARCH_VERSATILE
402	help
403	  This driver allows for discovery of PISMO modules - see
404	  <http://www.pismoworld.org/>.  These are small modules containing
405	  up to five memory devices (eg, SRAM, flash, DOC) described by an
406	  I2C EEPROM.
407
408	  This driver does not create any MTD maps itself; instead it
409	  creates MTD physmap and MTD SRAM platform devices.  If you
410	  enable this option, you should consider enabling MTD_PHYSMAP
411	  and/or MTD_PLATRAM according to the devices on your module.
412
413	  When built as a module, it will be called pismo.ko
414
415endmenu
416