1menu "Mapping drivers for chip access"
2	depends on MTD!=n
3	depends on HAS_IOMEM
4
5config MTD_COMPLEX_MAPPINGS
6	bool "Support non-linear mappings of flash chips"
7	help
8	  This causes the chip drivers to allow for complicated
9	  paged mappings of flash chips.
10
11config MTD_PHYSMAP
12	tristate "Flash device in physical memory map"
13	depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_LPDDR
14	help
15	  This provides a 'mapping' driver which allows the NOR Flash and
16	  ROM driver code to communicate with chips which are mapped
17	  physically into the CPU's memory. You will need to configure
18	  the physical address and size of the flash chips on your
19	  particular board as well as the bus width, either statically
20	  with config options or at run-time.
21
22	  To compile this driver as a module, choose M here: the
23	  module will be called physmap.
24
25config MTD_PHYSMAP_COMPAT
26	bool "Physmap compat support"
27	depends on MTD_PHYSMAP
28	default n
29	help
30	  Setup a simple mapping via the Kconfig options.  Normally the
31	  physmap configuration options are done via your board's
32	  resource file.
33
34	  If unsure, say N here.
35
36config MTD_PHYSMAP_START
37	hex "Physical start address of flash mapping"
38	depends on MTD_PHYSMAP_COMPAT
39	default "0x8000000"
40	help
41	  This is the physical memory location at which the flash chips
42	  are mapped on your particular target board. Refer to the
43	  memory map which should hopefully be in the documentation for
44	  your board.
45
46config MTD_PHYSMAP_LEN
47	hex "Physical length of flash mapping"
48	depends on MTD_PHYSMAP_COMPAT
49	default "0"
50	help
51	  This is the total length of the mapping of the flash chips on
52	  your particular board. If there is space, or aliases, in the
53	  physical memory map between the chips, this could be larger
54	  than the total amount of flash present. Refer to the memory
55	  map which should hopefully be in the documentation for your
56	  board.
57
58config MTD_PHYSMAP_BANKWIDTH
59	int "Bank width in octets"
60	depends on MTD_PHYSMAP_COMPAT
61	default "2"
62	help
63	  This is the total width of the data bus of the flash devices
64	  in octets. For example, if you have a data bus width of 32
65	  bits, you would set the bus width octet value to 4. This is
66	  used internally by the CFI drivers.
67
68config MTD_PHYSMAP_OF
69	tristate "Memory device in physical memory map based on OF description"
70	depends on OF && (MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_RAM)
71	help
72	  This provides a 'mapping' driver which allows the NOR Flash, ROM
73	  and RAM driver code to communicate with chips which are mapped
74	  physically into the CPU's memory. The mapping description here is
75	  taken from OF device tree.
76
77config MTD_PMC_MSP_EVM
78	tristate "CFI Flash device mapped on PMC-Sierra MSP"
79	depends on PMC_MSP && MTD_CFI
80	help
81	  This provides a 'mapping' driver which supports the way
82	  in which user-programmable flash chips are connected on the
83	  PMC-Sierra MSP eval/demo boards.
84
85choice
86	prompt "Maximum mappable memory available for flash IO"
87	depends on MTD_PMC_MSP_EVM
88	default MSP_FLASH_MAP_LIMIT_32M
89
90config MSP_FLASH_MAP_LIMIT_32M
91	bool "32M"
92
93endchoice
94
95config MSP_FLASH_MAP_LIMIT
96	hex
97	default "0x02000000"
98	depends on MSP_FLASH_MAP_LIMIT_32M
99
100config MTD_SUN_UFLASH
101	tristate "Sun Microsystems userflash support"
102	depends on SPARC && MTD_CFI && PCI
103	help
104	  This provides a 'mapping' driver which supports the way in
105	  which user-programmable flash chips are connected on various
106	  Sun Microsystems boardsets.  This driver will require CFI support
107	  in the kernel, so if you did not enable CFI previously, do that now.
108
109config MTD_SC520CDP
110	tristate "CFI Flash device mapped on AMD SC520 CDP"
111	depends on (MELAN || COMPILE_TEST) && MTD_CFI
112	help
113	  The SC520 CDP board has two banks of CFI-compliant chips and one
114	  Dual-in-line JEDEC chip. This 'mapping' driver supports that
115	  arrangement, implementing three MTD devices.
116
117config MTD_NETSC520
118	tristate "CFI Flash device mapped on AMD NetSc520"
119	depends on (MELAN || COMPILE_TEST) && MTD_CFI
120	help
121	  This enables access routines for the flash chips on the AMD NetSc520
122	  demonstration board. If you have one of these boards and would like
123	  to use the flash chips on it, say 'Y'.
124
125config MTD_TS5500
126	tristate "JEDEC Flash device mapped on Technologic Systems TS-5500"
127	depends on TS5500 || COMPILE_TEST
128	select MTD_JEDECPROBE
129	select MTD_CFI_AMDSTD
130	help
131	  This provides a driver for the on-board flash of the Technologic
132	  System's TS-5500 board. The 2MB flash is split into 3 partitions
133	  which are accessed as separate MTD devices.
134
135	  mtd0 and mtd2 are the two BIOS drives, which use the resident
136	  flash disk (RFD) flash translation layer.
137
138	  mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL.
139
140	  Note that jumper 3 ("Write Enable Drive A") must be set
141	  otherwise detection won't succeed.
142
143config MTD_SBC_GXX
144	tristate "CFI Flash device mapped on Arcom SBC-GXx boards"
145	depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS
146	help
147	  This provides a driver for the on-board flash of Arcom Control
148	  Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX.
149	  By default the flash is split into 3 partitions which are accessed
150	  as separate MTD devices. This board utilizes Intel StrataFlash.
151	  More info at
152	  <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>.
153
154config MTD_PXA2XX
155	tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards"
156	depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT
157	help
158	  This provides a driver for the NOR flash attached to a PXA2xx chip.
159
160config MTD_SCx200_DOCFLASH
161	tristate "Flash device mapped with DOCCS on NatSemi SCx200"
162	depends on SCx200 && MTD_CFI
163	help
164	  Enable support for a flash chip mapped using the DOCCS signal on a
165	  National Semiconductor SCx200 processor.
166
167	  If you don't know what to do here, say N.
168
169	  If compiled as a module, it will be called scx200_docflash.
170
171config MTD_AMD76XROM
172	tristate "BIOS flash chip on AMD76x southbridge"
173	depends on X86 && MTD_JEDECPROBE
174	help
175	  Support for treating the BIOS flash chip on AMD76x motherboards
176	  as an MTD device - with this you can reprogram your BIOS.
177
178	  BE VERY CAREFUL.
179
180config MTD_ICHXROM
181	tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5"
182	depends on X86 && MTD_JEDECPROBE
183	help
184	  Support for treating the BIOS flash chip on ICHX motherboards
185	  as an MTD device - with this you can reprogram your BIOS.
186
187	  BE VERY CAREFUL.
188
189config MTD_ESB2ROM
190        tristate "BIOS flash chip on Intel ESB Controller Hub 2"
191        depends on X86 && MTD_JEDECPROBE && PCI
192        help
193          Support for treating the BIOS flash chip on ESB2 motherboards
194          as an MTD device - with this you can reprogram your BIOS.
195
196          BE VERY CAREFUL.
197
198config MTD_CK804XROM
199	tristate "BIOS flash chip on Nvidia CK804"
200	depends on X86 && MTD_JEDECPROBE && PCI
201	help
202	  Support for treating the BIOS flash chip on nvidia motherboards
203	  as an MTD device - with this you can reprogram your BIOS.
204
205	  BE VERY CAREFUL.
206
207config MTD_SCB2_FLASH
208	tristate "BIOS flash chip on Intel SCB2 boards"
209	depends on X86 && MTD_JEDECPROBE && PCI
210	help
211	  Support for treating the BIOS flash chip on Intel SCB2 boards
212	  as an MTD device - with this you can reprogram your BIOS.
213
214	  BE VERY CAREFUL.
215
216config MTD_TSUNAMI
217	tristate "Flash chips on Tsunami TIG bus"
218	depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS
219	help
220	  Support for the flash chip on Tsunami TIG bus.
221
222config MTD_NETtel
223	tristate "CFI flash device on SnapGear/SecureEdge"
224	depends on X86 && MTD_JEDECPROBE
225	help
226	  Support for flash chips on NETtel/SecureEdge/SnapGear boards.
227
228config MTD_LANTIQ
229	tristate "Lantiq SoC NOR support"
230	depends on LANTIQ
231	help
232	  Support for NOR flash attached to the Lantiq SoC's External Bus Unit.
233
234config MTD_L440GX
235	tristate "BIOS flash chip on Intel L440GX boards"
236	depends on X86 && MTD_JEDECPROBE
237	help
238	  Support for treating the BIOS flash chip on Intel L440GX motherboards
239	  as an MTD device - with this you can reprogram your BIOS.
240
241	  BE VERY CAREFUL.
242
243config MTD_CFI_FLAGADM
244	tristate "CFI Flash device mapping on FlagaDM"
245	depends on PPC_8xx && MTD_CFI
246	help
247	  Mapping for the Flaga digital module. If you don't have one, ignore
248	  this setting.
249
250config MTD_SOLUTIONENGINE
251	tristate "CFI Flash device mapped on Hitachi SolutionEngine"
252	depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS
253	help
254	  This enables access to the flash chips on the Hitachi SolutionEngine and
255	  similar boards. Say 'Y' if you are building a kernel for such a board.
256
257config MTD_SA1100
258	tristate "CFI Flash device mapped on StrongARM SA11x0"
259	depends on MTD_CFI && ARCH_SA1100
260	help
261	  This enables access to the flash chips on most platforms based on
262	  the SA1100 and SA1110, including the Assabet and the Compaq iPAQ.
263	  If you have such a board, say 'Y'.
264
265config MTD_DC21285
266	tristate "CFI Flash device mapped on DC21285 Footbridge"
267	depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS
268	help
269	  This provides a driver for the flash accessed using Intel's
270	  21285 bridge used with Intel's StrongARM processors. More info at
271	  <http://www.intel.com/design/bridge/docs/21285_documentation.htm>.
272
273config MTD_IXP4XX
274	tristate "CFI Flash device mapped on Intel IXP4xx based systems"
275	depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX
276	help
277	  This enables MTD access to flash devices on platforms based
278	  on Intel's IXP4xx family of network processors such as the
279	  IXDP425 and Coyote. If you have an IXP4xx based board and
280	  would like to use the flash chips on it, say 'Y'.
281
282config MTD_IMPA7
283	tristate "JEDEC Flash device mapped on impA7"
284	depends on ARM && MTD_JEDECPROBE
285	help
286	  This enables access to the NOR Flash on the impA7 board of
287	  implementa GmbH. If you have such a board, say 'Y' here.
288
289# This needs CFI or JEDEC, depending on the cards found.
290config MTD_PCI
291	tristate "PCI MTD driver"
292	depends on PCI && MTD_COMPLEX_MAPPINGS
293	help
294	  Mapping for accessing flash devices on add-in cards like the Intel XScale
295	  IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode
296	  (please see the manual for the link settings).
297
298	  If you are not sure, say N.
299
300config MTD_PCMCIA
301	tristate "PCMCIA MTD driver"
302	depends on PCMCIA && MTD_COMPLEX_MAPPINGS
303	help
304	  Map driver for accessing PCMCIA linear flash memory cards. These
305	  cards are usually around 4-16MiB in size. This does not include
306	  Compact Flash cards which are treated as IDE devices.
307
308config MTD_PCMCIA_ANONYMOUS
309	bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards"
310	depends on MTD_PCMCIA
311	help
312	  If this option is enabled, PCMCIA cards which do not report
313	  anything about themselves are assumed to be MTD cards.
314
315	  If unsure, say N.
316
317config MTD_BFIN_ASYNC
318	tristate "Blackfin BF533-STAMP Flash Chip Support"
319	depends on BFIN533_STAMP && MTD_CFI && MTD_COMPLEX_MAPPINGS
320	default y
321	help
322	  Map driver which allows for simultaneous utilization of
323	  ethernet and CFI parallel flash.
324
325	  If compiled as a module, it will be called bfin-async-flash.
326
327config MTD_GPIO_ADDR
328	tristate "GPIO-assisted Flash Chip Support"
329	depends on GPIOLIB
330	depends on MTD_COMPLEX_MAPPINGS
331	help
332	  Map driver which allows flashes to be partially physically addressed
333	  and assisted by GPIOs.
334
335	  If compiled as a module, it will be called gpio-addr-flash.
336
337config MTD_UCLINUX
338	bool "Generic uClinux RAM/ROM filesystem support"
339	depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE)
340	help
341	  Map driver to support image based filesystems for uClinux.
342
343config MTD_INTEL_VR_NOR
344	tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0"
345	depends on PCI
346	help
347	  Map driver for a NOR flash bank located on the Expansion Bus of the
348	  Intel Vermilion Range chipset.
349
350config MTD_RBTX4939
351	tristate "Map driver for RBTX4939 board"
352	depends on TOSHIBA_RBTX4939 && MTD_CFI && MTD_COMPLEX_MAPPINGS
353	help
354	  Map driver for NOR flash chips on RBTX4939 board.
355
356config MTD_PLATRAM
357	tristate "Map driver for platform device RAM (mtd-ram)"
358	select MTD_RAM
359	help
360	  Map driver for RAM areas described via the platform device
361	  system.
362
363	  This selection automatically selects the map_ram driver.
364
365config MTD_VMU
366	tristate "Map driver for Dreamcast VMU"
367	depends on MAPLE
368	help
369	  This driver enables access to the Dreamcast Visual Memory Unit (VMU).
370
371	  Most Dreamcast users will want to say Y here.
372
373	  To build this as a module select M here, the module will be called
374	  vmu-flash.
375
376config MTD_PISMO
377	tristate "MTD discovery driver for PISMO modules"
378	depends on I2C
379	depends on ARCH_VERSATILE
380	help
381	  This driver allows for discovery of PISMO modules - see
382	  <http://www.pismoworld.org/>.  These are small modules containing
383	  up to five memory devices (eg, SRAM, flash, DOC) described by an
384	  I2C EEPROM.
385
386	  This driver does not create any MTD maps itself; instead it
387	  creates MTD physmap and MTD SRAM platform devices.  If you
388	  enable this option, you should consider enabling MTD_PHYSMAP
389	  and/or MTD_PLATRAM according to the devices on your module.
390
391	  When built as a module, it will be called pismo.ko
392
393config MTD_LATCH_ADDR
394        tristate "Latch-assisted Flash Chip Support"
395        depends on MTD_COMPLEX_MAPPINGS
396        help
397          Map driver which allows flashes to be partially physically addressed
398          and have the upper address lines set by a board specific code.
399
400          If compiled as a module, it will be called latch-addr-flash.
401
402endmenu
403