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