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