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