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