forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/mtd/nand/raw/Kconfig
....@@ -1,34 +1,30 @@
1
-config MTD_NAND_ECC
1
+# SPDX-License-Identifier: GPL-2.0-only
2
+config MTD_NAND_ECC_SW_HAMMING
23 tristate
34
4
-config MTD_NAND_ECC_SMC
5
+config MTD_NAND_ECC_SW_HAMMING_SMC
56 bool "NAND ECC Smart Media byte order"
6
- depends on MTD_NAND_ECC
7
+ depends on MTD_NAND_ECC_SW_HAMMING
78 default n
89 help
910 Software ECC according to the Smart Media Specification.
1011 The original Linux implementation had byte 0 and 1 swapped.
1112
12
-
13
-menuconfig MTD_NAND
13
+menuconfig MTD_RAW_NAND
1414 tristate "Raw/Parallel NAND Device Support"
15
- depends on MTD
15
+ select MTD_NAND_CORE
1616 select MTD_NAND_ECC
17
+ select MTD_NAND_ECC_SW_HAMMING
1718 help
1819 This enables support for accessing all type of raw/parallel
1920 NAND flash devices. For further information see
2021 <http://www.linux-mtd.infradead.org/doc/nand.html>.
2122
22
-if MTD_NAND
23
+if MTD_RAW_NAND
2324
24
-config MTD_NAND_BCH
25
- tristate
26
- select BCH
27
- depends on MTD_NAND_ECC_BCH
28
- default MTD_NAND
29
-
30
-config MTD_NAND_ECC_BCH
25
+config MTD_NAND_ECC_SW_BCH
3126 bool "Support software BCH ECC"
27
+ select BCH
3228 default n
3329 help
3430 This enables support for software BCH error correction. Binary BCH
....@@ -36,15 +32,13 @@
3632 ECC codes. They are used with NAND devices requiring more than 1 bit
3733 of error correction.
3834
39
-config MTD_SM_COMMON
40
- tristate
41
- default n
35
+comment "Raw/parallel NAND flash controllers"
4236
4337 config MTD_NAND_DENALI
4438 tristate
4539
4640 config MTD_NAND_DENALI_PCI
47
- tristate "Support Denali NAND controller on Intel Moorestown"
41
+ tristate "Denali NAND controller on Intel Moorestown"
4842 select MTD_NAND_DENALI
4943 depends on PCI
5044 help
....@@ -52,31 +46,22 @@
5246 Denali NAND controller core.
5347
5448 config MTD_NAND_DENALI_DT
55
- tristate "Support Denali NAND controller as a DT device"
49
+ tristate "Denali NAND controller as a DT device"
5650 select MTD_NAND_DENALI
5751 depends on HAS_DMA && HAVE_CLK && OF
5852 help
5953 Enable the driver for NAND flash on platforms using a Denali NAND
6054 controller as a DT device.
6155
62
-config MTD_NAND_GPIO
63
- tristate "GPIO assisted NAND Flash driver"
64
- depends on GPIOLIB || COMPILE_TEST
65
- depends on HAS_IOMEM
66
- help
67
- This enables a NAND flash driver where control signals are
68
- connected to GPIO pins, and commands and data are communicated
69
- via a memory mapped interface.
70
-
7156 config MTD_NAND_AMS_DELTA
72
- tristate "NAND Flash device on Amstrad E3"
73
- depends on MACH_AMS_DELTA
57
+ tristate "Amstrad E3 NAND controller"
58
+ depends on MACH_AMS_DELTA || COMPILE_TEST
7459 default y
7560 help
7661 Support for NAND flash on Amstrad E3 (Delta).
7762
7863 config MTD_NAND_OMAP2
79
- tristate "NAND Flash device on OMAP2, OMAP3, OMAP4 and Keystone"
64
+ tristate "OMAP2, OMAP3, OMAP4 and Keystone NAND controller"
8065 depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
8166 depends on HAS_IOMEM
8267 help
....@@ -98,18 +83,6 @@
9883 config MTD_NAND_OMAP_BCH_BUILD
9984 def_tristate MTD_NAND_OMAP2 && MTD_NAND_OMAP_BCH
10085
101
-config MTD_NAND_RICOH
102
- tristate "Ricoh xD card reader"
103
- default n
104
- depends on PCI
105
- select MTD_SM_COMMON
106
- help
107
- Enable support for Ricoh R5C852 xD card reader
108
- You also need to enable ether
109
- NAND SSFDC (SmartMedia) read only translation layer' or new
110
- expermental, readwrite
111
- 'SmartMedia/xD new translation layer'
112
-
11386 config MTD_NAND_AU1550
11487 tristate "Au1550/1200 NAND support"
11588 depends on MIPS_ALCHEMY
....@@ -117,8 +90,15 @@
11790 This enables the driver for the NAND flash controller on the
11891 AMD/Alchemy 1550 SOC.
11992
93
+config MTD_NAND_NDFC
94
+ tristate "IBM/MCC 4xx NAND controller"
95
+ depends on 4xx
96
+ select MTD_NAND_ECC_SW_HAMMING_SMC
97
+ help
98
+ NDFC Nand Flash Controllers are integrated in IBM/AMCC's 4xx SoCs
99
+
120100 config MTD_NAND_S3C2410
121
- tristate "NAND Flash support for Samsung S3C SoCs"
101
+ tristate "Samsung S3C NAND controller"
122102 depends on ARCH_S3C24XX || ARCH_S3C64XX
123103 help
124104 This enables the NAND flash controller on the S3C24xx and S3C64xx
....@@ -128,17 +108,10 @@
128108 must advertise a platform_device for the driver to attach.
129109
130110 config MTD_NAND_S3C2410_DEBUG
131
- bool "Samsung S3C NAND driver debug"
111
+ bool "Samsung S3C NAND controller debug"
132112 depends on MTD_NAND_S3C2410
133113 help
134114 Enable debugging of the S3C NAND driver
135
-
136
-config MTD_NAND_NDFC
137
- tristate "NDFC NanD Flash Controller"
138
- depends on 4xx
139
- select MTD_NAND_ECC_SMC
140
- help
141
- NDFC Nand Flash Controllers are integrated in IBM/AMCC's 4xx SoCs
142115
143116 config MTD_NAND_S3C2410_CLKSTOP
144117 bool "Samsung S3C NAND IDLE clock stop"
....@@ -151,11 +124,379 @@
151124 approximately 5mA of power when there is nothing happening.
152125
153126 config MTD_NAND_TANGO
154
- tristate "NAND Flash support for Tango chips"
127
+ tristate "Tango NAND controller"
155128 depends on ARCH_TANGO || COMPILE_TEST
156129 depends on HAS_IOMEM
157130 help
158131 Enables the NAND Flash controller on Tango chips.
132
+
133
+config MTD_NAND_SHARPSL
134
+ tristate "Sharp SL Series (C7xx + others) NAND controller"
135
+ depends on ARCH_PXA || COMPILE_TEST
136
+ depends on HAS_IOMEM
137
+
138
+config MTD_NAND_CAFE
139
+ tristate "OLPC CAFÉ NAND controller"
140
+ depends on PCI
141
+ select REED_SOLOMON
142
+ select REED_SOLOMON_DEC16
143
+ help
144
+ Use NAND flash attached to the CAFÉ chip designed for the OLPC
145
+ laptop.
146
+
147
+config MTD_NAND_CS553X
148
+ tristate "CS5535/CS5536 (AMD Geode companion) NAND controller"
149
+ depends on X86_32
150
+ depends on !UML && HAS_IOMEM
151
+ help
152
+ The CS553x companion chips for the AMD Geode processor
153
+ include NAND flash controllers with built-in hardware ECC
154
+ capabilities; enabling this option will allow you to use
155
+ these. The driver will check the MSRs to verify that the
156
+ controller is enabled for NAND, and currently requires that
157
+ the controller be in MMIO mode.
158
+
159
+ If you say "m", the module will be called cs553x_nand.
160
+
161
+config MTD_NAND_ATMEL
162
+ tristate "Atmel AT91 NAND Flash/SmartMedia NAND controller"
163
+ depends on ARCH_AT91 || COMPILE_TEST
164
+ depends on HAS_IOMEM
165
+ select GENERIC_ALLOCATOR
166
+ select MFD_ATMEL_SMC
167
+ help
168
+ Enables support for NAND Flash / Smart Media Card interface
169
+ on Atmel AT91 processors.
170
+
171
+config MTD_NAND_ORION
172
+ tristate "Marvell Orion NAND controller"
173
+ depends on PLAT_ORION
174
+ help
175
+ This enables the NAND flash controller on Orion machines.
176
+
177
+ No board specific support is done by this driver, each board
178
+ must advertise a platform_device for the driver to attach.
179
+
180
+config MTD_NAND_MARVELL
181
+ tristate "Marvell EBU NAND controller"
182
+ depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \
183
+ COMPILE_TEST
184
+ depends on HAS_IOMEM
185
+ help
186
+ This enables the NAND flash controller driver for Marvell boards,
187
+ including:
188
+ - PXA3xx processors (NFCv1)
189
+ - 32-bit Armada platforms (XP, 37x, 38x, 39x) (NFCv2)
190
+ - 64-bit Aramda platforms (7k, 8k) (NFCv2)
191
+
192
+config MTD_NAND_SLC_LPC32XX
193
+ tristate "NXP LPC32xx SLC NAND controller"
194
+ depends on ARCH_LPC32XX || COMPILE_TEST
195
+ depends on HAS_IOMEM
196
+ help
197
+ Enables support for NXP's LPC32XX SLC (i.e. for Single Level Cell
198
+ chips) NAND controller. This is the default for the PHYTEC 3250
199
+ reference board which contains a NAND256R3A2CZA6 chip.
200
+
201
+ Please check the actual NAND chip connected and its support
202
+ by the SLC NAND controller.
203
+
204
+config MTD_NAND_MLC_LPC32XX
205
+ tristate "NXP LPC32xx MLC NAND controller"
206
+ depends on ARCH_LPC32XX || COMPILE_TEST
207
+ depends on HAS_IOMEM
208
+ help
209
+ Uses the LPC32XX MLC (i.e. for Multi Level Cell chips) NAND
210
+ controller. This is the default for the WORK92105 controller
211
+ board.
212
+
213
+ Please check the actual NAND chip connected and its support
214
+ by the MLC NAND controller.
215
+
216
+config MTD_NAND_PASEMI
217
+ tristate "PA Semi PWRficient NAND controller"
218
+ depends on PPC_PASEMI
219
+ help
220
+ Enables support for NAND Flash interface on PA Semi PWRficient
221
+ based boards
222
+
223
+config MTD_NAND_TMIO
224
+ tristate "Toshiba Mobile IO NAND controller"
225
+ depends on MFD_TMIO
226
+ help
227
+ Support for NAND flash connected to a Toshiba Mobile IO
228
+ Controller in some PDAs, including the Sharp SL6000x.
229
+
230
+config MTD_NAND_BRCMNAND
231
+ tristate "Broadcom STB NAND controller"
232
+ depends on ARM || ARM64 || MIPS || COMPILE_TEST
233
+ depends on HAS_IOMEM
234
+ help
235
+ Enables the Broadcom NAND controller driver. The controller was
236
+ originally designed for Set-Top Box but is used on various BCM7xxx,
237
+ BCM3xxx, BCM63xxx, iProc/Cygnus and more.
238
+
239
+config MTD_NAND_BCM47XXNFLASH
240
+ tristate "BCM4706 BCMA NAND controller"
241
+ depends on BCMA_NFLASH
242
+ depends on BCMA
243
+ help
244
+ BCMA bus can have various flash memories attached, they are
245
+ registered by bcma as platform devices. This enables driver for
246
+ NAND flash memories. For now only BCM4706 is supported.
247
+
248
+config MTD_NAND_OXNAS
249
+ tristate "Oxford Semiconductor NAND controller"
250
+ depends on ARCH_OXNAS || COMPILE_TEST
251
+ depends on HAS_IOMEM
252
+ help
253
+ This enables the NAND flash controller on Oxford Semiconductor SoCs.
254
+
255
+config MTD_NAND_MPC5121_NFC
256
+ tristate "MPC5121 NAND controller"
257
+ depends on PPC_MPC512x
258
+ help
259
+ This enables the driver for the NAND flash controller on the
260
+ MPC5121 SoC.
261
+
262
+config MTD_NAND_GPMI_NAND
263
+ tristate "Freescale GPMI NAND controller"
264
+ depends on MXS_DMA
265
+ help
266
+ Enables NAND Flash support for IMX23, IMX28 or IMX6.
267
+ The GPMI controller is very powerful, with the help of BCH
268
+ module, it can do the hardware ECC. The GPMI supports several
269
+ NAND flashs at the same time.
270
+
271
+config MTD_NAND_FSL_ELBC
272
+ tristate "Freescale eLBC NAND controller"
273
+ depends on FSL_SOC
274
+ select FSL_LBC
275
+ help
276
+ Various Freescale chips, including the 8313, include a NAND Flash
277
+ Controller Module with built-in hardware ECC capabilities.
278
+ Enabling this option will enable you to use this to control
279
+ external NAND devices.
280
+
281
+config MTD_NAND_FSL_IFC
282
+ tristate "Freescale IFC NAND controller"
283
+ depends on FSL_SOC || ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST
284
+ depends on HAS_IOMEM
285
+ select FSL_IFC
286
+ select MEMORY
287
+ help
288
+ Various Freescale chips e.g P1010, include a NAND Flash machine
289
+ with built-in hardware ECC capabilities.
290
+ Enabling this option will enable you to use this to control
291
+ external NAND devices.
292
+
293
+config MTD_NAND_FSL_UPM
294
+ tristate "Freescale UPM NAND controller"
295
+ depends on PPC_83xx || PPC_85xx
296
+ select FSL_LBC
297
+ help
298
+ Enables support for NAND Flash chips wired onto Freescale PowerPC
299
+ processor localbus with User-Programmable Machine support.
300
+
301
+config MTD_NAND_VF610_NFC
302
+ tristate "Freescale VF610/MPC5125 NAND controller"
303
+ depends on (SOC_VF610 || COMPILE_TEST)
304
+ depends on HAS_IOMEM
305
+ help
306
+ Enables support for NAND Flash Controller on some Freescale
307
+ processors like the VF610, MPC5125, MCF54418 or Kinetis K70.
308
+ The driver supports a maximum 2k page size. With 2k pages and
309
+ 64 bytes or more of OOB, hardware ECC with up to 32-bit error
310
+ correction is supported. Hardware ECC is only enabled through
311
+ device tree.
312
+
313
+config MTD_NAND_MXC
314
+ tristate "Freescale MXC NAND controller"
315
+ depends on ARCH_MXC || COMPILE_TEST
316
+ depends on HAS_IOMEM
317
+ help
318
+ This enables the driver for the NAND flash controller on the
319
+ MXC processors.
320
+
321
+config MTD_NAND_SH_FLCTL
322
+ tristate "Renesas SuperH FLCTL NAND controller"
323
+ depends on SUPERH || COMPILE_TEST
324
+ depends on HAS_IOMEM
325
+ help
326
+ Several Renesas SuperH CPU has FLCTL. This option enables support
327
+ for NAND Flash using FLCTL.
328
+
329
+config MTD_NAND_DAVINCI
330
+ tristate "DaVinci/Keystone NAND controller"
331
+ depends on ARCH_DAVINCI || (ARCH_KEYSTONE && TI_AEMIF) || COMPILE_TEST
332
+ depends on HAS_IOMEM
333
+ help
334
+ Enable the driver for NAND flash chips on Texas Instruments
335
+ DaVinci/Keystone processors.
336
+
337
+config MTD_NAND_TXX9NDFMC
338
+ tristate "TXx9 NAND controller"
339
+ depends on SOC_TX4938 || SOC_TX4939 || COMPILE_TEST
340
+ depends on HAS_IOMEM
341
+ help
342
+ This enables the NAND flash controller on the TXx9 SoCs.
343
+
344
+config MTD_NAND_SOCRATES
345
+ tristate "Socrates NAND controller"
346
+ depends on SOCRATES
347
+ help
348
+ Enables support for NAND Flash chips wired onto Socrates board.
349
+
350
+source "drivers/mtd/nand/raw/ingenic/Kconfig"
351
+
352
+config MTD_NAND_FSMC
353
+ tristate "ST Micros FSMC NAND controller"
354
+ depends on OF && HAS_IOMEM
355
+ depends on PLAT_SPEAR || ARCH_NOMADIK || ARCH_U8500 || MACH_U300 || \
356
+ COMPILE_TEST
357
+ help
358
+ Enables support for NAND Flash chips on the ST Microelectronics
359
+ Flexible Static Memory Controller (FSMC)
360
+
361
+config MTD_NAND_XWAY
362
+ bool "Lantiq XWAY NAND controller"
363
+ depends on LANTIQ && SOC_TYPE_XWAY
364
+ help
365
+ Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached
366
+ to the External Bus Unit (EBU).
367
+
368
+config MTD_NAND_SUNXI
369
+ tristate "Allwinner NAND controller"
370
+ depends on ARCH_SUNXI || COMPILE_TEST
371
+ depends on HAS_IOMEM
372
+ help
373
+ Enables support for NAND Flash chips on Allwinner SoCs.
374
+
375
+config MTD_NAND_HISI504
376
+ tristate "Hisilicon Hip04 NAND controller"
377
+ depends on ARCH_HISI || COMPILE_TEST
378
+ depends on HAS_IOMEM
379
+ help
380
+ Enables support for NAND controller on Hisilicon SoC Hip04.
381
+
382
+config MTD_NAND_QCOM
383
+ tristate "QCOM NAND controller"
384
+ depends on ARCH_QCOM || COMPILE_TEST
385
+ depends on HAS_IOMEM
386
+ help
387
+ Enables support for NAND flash chips on SoCs containing the EBI2 NAND
388
+ controller. This controller is found on IPQ806x SoC.
389
+
390
+config MTD_NAND_MTK
391
+ tristate "MTK NAND controller"
392
+ depends on ARCH_MEDIATEK || COMPILE_TEST
393
+ depends on HAS_IOMEM
394
+ help
395
+ Enables support for NAND controller on MTK SoCs.
396
+ This controller is found on mt27xx, mt81xx, mt65xx SoCs.
397
+
398
+config MTD_NAND_MXIC
399
+ tristate "Macronix raw NAND controller"
400
+ depends on HAS_IOMEM || COMPILE_TEST
401
+ help
402
+ This selects the Macronix raw NAND controller driver.
403
+
404
+config MTD_NAND_TEGRA
405
+ tristate "NVIDIA Tegra NAND controller"
406
+ depends on ARCH_TEGRA || COMPILE_TEST
407
+ depends on HAS_IOMEM
408
+ help
409
+ Enables support for NAND flash controller on NVIDIA Tegra SoC.
410
+ The driver has been developed and tested on a Tegra 2 SoC. DMA
411
+ support, raw read/write page as well as HW ECC read/write page
412
+ is supported. Extra OOB bytes when using HW ECC are currently
413
+ not supported.
414
+
415
+config MTD_NAND_STM32_FMC2
416
+ tristate "Support for NAND controller on STM32MP SoCs"
417
+ depends on MACH_STM32MP157 || COMPILE_TEST
418
+ select MFD_SYSCON
419
+ help
420
+ Enables support for NAND Flash chips on SoCs containing the FMC2
421
+ NAND controller. This controller is found on STM32MP SoCs.
422
+ The controller supports a maximum 8k page size and supports
423
+ a maximum 8-bit correction error per sector of 512 bytes.
424
+
425
+config MTD_NAND_MESON
426
+ tristate "Support for NAND controller on Amlogic's Meson SoCs"
427
+ depends on ARCH_MESON || COMPILE_TEST
428
+ select MFD_SYSCON
429
+ help
430
+ Enables support for NAND controller on Amlogic's Meson SoCs.
431
+ This controller is found on Meson SoCs.
432
+
433
+config MTD_NAND_GPIO
434
+ tristate "GPIO assisted NAND controller"
435
+ depends on GPIOLIB || COMPILE_TEST
436
+ depends on HAS_IOMEM
437
+ help
438
+ This enables a NAND flash driver where control signals are
439
+ connected to GPIO pins, and commands and data are communicated
440
+ via a memory mapped interface.
441
+
442
+config MTD_NAND_PLATFORM
443
+ tristate "Generic NAND controller"
444
+ depends on HAS_IOMEM
445
+ help
446
+ This implements a generic NAND driver for on-SOC platform
447
+ devices. You will need to provide platform-specific functions
448
+ via platform_data.
449
+
450
+config MTD_NAND_CADENCE
451
+ tristate "Support Cadence NAND (HPNFC) controller"
452
+ depends on (OF || COMPILE_TEST) && HAS_IOMEM
453
+ help
454
+ Enable the driver for NAND flash on platforms using a Cadence NAND
455
+ controller.
456
+
457
+config MTD_NAND_ARASAN
458
+ tristate "Support for Arasan NAND flash controller"
459
+ depends on HAS_IOMEM && HAS_DMA
460
+ select BCH
461
+ help
462
+ Enables the driver for the Arasan NAND flash controller on
463
+ Zynq Ultrascale+ MPSoC.
464
+
465
+config MTD_NAND_ROCKCHIP
466
+ tristate "Rockchip NAND controller"
467
+ depends on ARCH_ROCKCHIP && HAS_IOMEM
468
+ help
469
+ Enables support for NAND controller on Rockchip SoCs.
470
+ There are four different versions of NAND FLASH Controllers,
471
+ including:
472
+ NFC v600: RK2928, RK3066, RK3188
473
+ NFC v622: RK3036, RK3128
474
+ NFC v800: RK3308, RV1108
475
+ NFC v900: PX30, RK3326
476
+
477
+comment "Misc"
478
+
479
+config MTD_SM_COMMON
480
+ tristate
481
+ default n
482
+
483
+config MTD_NAND_NANDSIM
484
+ tristate "Support for NAND Flash Simulator"
485
+ help
486
+ The simulator may simulate various NAND flash chips for the
487
+ MTD nand layer.
488
+
489
+config MTD_NAND_RICOH
490
+ tristate "Ricoh xD card reader"
491
+ default n
492
+ depends on PCI
493
+ select MTD_SM_COMMON
494
+ help
495
+ Enable support for Ricoh R5C852 xD card reader
496
+ You also need to enable ether
497
+ NAND SSFDC (SmartMedia) read only translation layer' or new
498
+ expermental, readwrite
499
+ 'SmartMedia/xD new translation layer'
159500
160501 config MTD_NAND_DISKONCHIP
161502 tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation)"
....@@ -227,352 +568,4 @@
227568 load time (assuming you build diskonchip as a module) with the module
228569 parameter "inftl_bbt_write=1".
229570
230
-config MTD_NAND_DOCG4
231
- tristate "Support for DiskOnChip G4"
232
- depends on HAS_IOMEM
233
- select BCH
234
- select BITREVERSE
235
- help
236
- Support for diskonchip G4 nand flash, found in various smartphones and
237
- PDAs, among them the Palm Treo680, HTC Prophet and Wizard, Toshiba
238
- Portege G900, Asus P526, and O2 XDA Zinc.
239
-
240
- With this driver you will be able to use UBI and create a ubifs on the
241
- device, so you may wish to consider enabling UBI and UBIFS as well.
242
-
243
- These devices ship with the Mys/Sandisk SAFTL formatting, for which
244
- there is currently no mtd parser, so you may want to use command line
245
- partitioning to segregate write-protected blocks. On the Treo680, the
246
- first five erase blocks (256KiB each) are write-protected, followed
247
- by the block containing the saftl partition table. This is probably
248
- typical.
249
-
250
-config MTD_NAND_SHARPSL
251
- tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
252
- depends on ARCH_PXA || COMPILE_TEST
253
- depends on HAS_IOMEM
254
-
255
-config MTD_NAND_CAFE
256
- tristate "NAND support for OLPC CAFÉ chip"
257
- depends on PCI
258
- select REED_SOLOMON
259
- select REED_SOLOMON_DEC16
260
- help
261
- Use NAND flash attached to the CAFÉ chip designed for the OLPC
262
- laptop.
263
-
264
-config MTD_NAND_CS553X
265
- tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)"
266
- depends on X86_32
267
- depends on !UML && HAS_IOMEM
268
- help
269
- The CS553x companion chips for the AMD Geode processor
270
- include NAND flash controllers with built-in hardware ECC
271
- capabilities; enabling this option will allow you to use
272
- these. The driver will check the MSRs to verify that the
273
- controller is enabled for NAND, and currently requires that
274
- the controller be in MMIO mode.
275
-
276
- If you say "m", the module will be called cs553x_nand.
277
-
278
-config MTD_NAND_ATMEL
279
- tristate "Support for NAND Flash / SmartMedia on AT91"
280
- depends on ARCH_AT91 || COMPILE_TEST
281
- depends on HAS_IOMEM
282
- select GENERIC_ALLOCATOR
283
- select MFD_ATMEL_SMC
284
- help
285
- Enables support for NAND Flash / Smart Media Card interface
286
- on Atmel AT91 processors.
287
-
288
-config MTD_NAND_MARVELL
289
- tristate "NAND controller support on Marvell boards"
290
- depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \
291
- COMPILE_TEST
292
- depends on HAS_IOMEM
293
- help
294
- This enables the NAND flash controller driver for Marvell boards,
295
- including:
296
- - PXA3xx processors (NFCv1)
297
- - 32-bit Armada platforms (XP, 37x, 38x, 39x) (NFCv2)
298
- - 64-bit Aramda platforms (7k, 8k) (NFCv2)
299
-
300
-config MTD_NAND_SLC_LPC32XX
301
- tristate "NXP LPC32xx SLC Controller"
302
- depends on ARCH_LPC32XX || COMPILE_TEST
303
- depends on HAS_IOMEM
304
- help
305
- Enables support for NXP's LPC32XX SLC (i.e. for Single Level Cell
306
- chips) NAND controller. This is the default for the PHYTEC 3250
307
- reference board which contains a NAND256R3A2CZA6 chip.
308
-
309
- Please check the actual NAND chip connected and its support
310
- by the SLC NAND controller.
311
-
312
-config MTD_NAND_MLC_LPC32XX
313
- tristate "NXP LPC32xx MLC Controller"
314
- depends on ARCH_LPC32XX || COMPILE_TEST
315
- depends on HAS_IOMEM
316
- help
317
- Uses the LPC32XX MLC (i.e. for Multi Level Cell chips) NAND
318
- controller. This is the default for the WORK92105 controller
319
- board.
320
-
321
- Please check the actual NAND chip connected and its support
322
- by the MLC NAND controller.
323
-
324
-config MTD_NAND_CM_X270
325
- tristate "Support for NAND Flash on CM-X270 modules"
326
- depends on MACH_ARMCORE
327
-
328
-config MTD_NAND_PASEMI
329
- tristate "NAND support for PA Semi PWRficient"
330
- depends on PPC_PASEMI
331
- help
332
- Enables support for NAND Flash interface on PA Semi PWRficient
333
- based boards
334
-
335
-config MTD_NAND_TMIO
336
- tristate "NAND Flash device on Toshiba Mobile IO Controller"
337
- depends on MFD_TMIO
338
- help
339
- Support for NAND flash connected to a Toshiba Mobile IO
340
- Controller in some PDAs, including the Sharp SL6000x.
341
-
342
-config MTD_NAND_NANDSIM
343
- tristate "Support for NAND Flash Simulator"
344
- help
345
- The simulator may simulate various NAND flash chips for the
346
- MTD nand layer.
347
-
348
-config MTD_NAND_GPMI_NAND
349
- tristate "GPMI NAND Flash Controller driver"
350
- depends on MXS_DMA
351
- help
352
- Enables NAND Flash support for IMX23, IMX28 or IMX6.
353
- The GPMI controller is very powerful, with the help of BCH
354
- module, it can do the hardware ECC. The GPMI supports several
355
- NAND flashs at the same time.
356
-
357
-config MTD_NAND_BRCMNAND
358
- tristate "Broadcom STB NAND controller"
359
- depends on ARM || ARM64 || MIPS || COMPILE_TEST
360
- depends on HAS_IOMEM
361
- help
362
- Enables the Broadcom NAND controller driver. The controller was
363
- originally designed for Set-Top Box but is used on various BCM7xxx,
364
- BCM3xxx, BCM63xxx, iProc/Cygnus and more.
365
-
366
-config MTD_NAND_BCM47XXNFLASH
367
- tristate "Support for NAND flash on BCM4706 BCMA bus"
368
- depends on BCMA_NFLASH
369
- depends on BCMA
370
- help
371
- BCMA bus can have various flash memories attached, they are
372
- registered by bcma as platform devices. This enables driver for
373
- NAND flash memories. For now only BCM4706 is supported.
374
-
375
-config MTD_NAND_PLATFORM
376
- tristate "Support for generic platform NAND driver"
377
- depends on HAS_IOMEM
378
- help
379
- This implements a generic NAND driver for on-SOC platform
380
- devices. You will need to provide platform-specific functions
381
- via platform_data.
382
-
383
-config MTD_NAND_ORION
384
- tristate "NAND Flash support for Marvell Orion SoC"
385
- depends on PLAT_ORION
386
- help
387
- This enables the NAND flash controller on Orion machines.
388
-
389
- No board specific support is done by this driver, each board
390
- must advertise a platform_device for the driver to attach.
391
-
392
-config MTD_NAND_OXNAS
393
- tristate "NAND Flash support for Oxford Semiconductor SoC"
394
- depends on ARCH_OXNAS || COMPILE_TEST
395
- depends on HAS_IOMEM
396
- help
397
- This enables the NAND flash controller on Oxford Semiconductor SoCs.
398
-
399
-config MTD_NAND_FSL_ELBC
400
- tristate "NAND support for Freescale eLBC controllers"
401
- depends on FSL_SOC
402
- select FSL_LBC
403
- help
404
- Various Freescale chips, including the 8313, include a NAND Flash
405
- Controller Module with built-in hardware ECC capabilities.
406
- Enabling this option will enable you to use this to control
407
- external NAND devices.
408
-
409
-config MTD_NAND_FSL_IFC
410
- tristate "NAND support for Freescale IFC controller"
411
- depends on FSL_SOC || ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST
412
- depends on HAS_IOMEM
413
- select FSL_IFC
414
- select MEMORY
415
- help
416
- Various Freescale chips e.g P1010, include a NAND Flash machine
417
- with built-in hardware ECC capabilities.
418
- Enabling this option will enable you to use this to control
419
- external NAND devices.
420
-
421
-config MTD_NAND_FSL_UPM
422
- tristate "Support for NAND on Freescale UPM"
423
- depends on PPC_83xx || PPC_85xx
424
- select FSL_LBC
425
- help
426
- Enables support for NAND Flash chips wired onto Freescale PowerPC
427
- processor localbus with User-Programmable Machine support.
428
-
429
-config MTD_NAND_MPC5121_NFC
430
- tristate "MPC5121 built-in NAND Flash Controller support"
431
- depends on PPC_MPC512x
432
- help
433
- This enables the driver for the NAND flash controller on the
434
- MPC5121 SoC.
435
-
436
-config MTD_NAND_VF610_NFC
437
- tristate "Support for Freescale NFC for VF610/MPC5125"
438
- depends on (SOC_VF610 || COMPILE_TEST)
439
- depends on HAS_IOMEM
440
- help
441
- Enables support for NAND Flash Controller on some Freescale
442
- processors like the VF610, MPC5125, MCF54418 or Kinetis K70.
443
- The driver supports a maximum 2k page size. With 2k pages and
444
- 64 bytes or more of OOB, hardware ECC with up to 32-bit error
445
- correction is supported. Hardware ECC is only enabled through
446
- device tree.
447
-
448
-config MTD_NAND_MXC
449
- tristate "MXC NAND support"
450
- depends on ARCH_MXC || COMPILE_TEST
451
- depends on HAS_IOMEM
452
- help
453
- This enables the driver for the NAND flash controller on the
454
- MXC processors.
455
-
456
-config MTD_NAND_SH_FLCTL
457
- tristate "Support for NAND on Renesas SuperH FLCTL"
458
- depends on SUPERH || COMPILE_TEST
459
- depends on HAS_IOMEM
460
- help
461
- Several Renesas SuperH CPU has FLCTL. This option enables support
462
- for NAND Flash using FLCTL.
463
-
464
-config MTD_NAND_DAVINCI
465
- tristate "Support NAND on DaVinci/Keystone SoC"
466
- depends on ARCH_DAVINCI || (ARCH_KEYSTONE && TI_AEMIF) || COMPILE_TEST
467
- depends on HAS_IOMEM
468
- help
469
- Enable the driver for NAND flash chips on Texas Instruments
470
- DaVinci/Keystone processors.
471
-
472
-config MTD_NAND_TXX9NDFMC
473
- tristate "NAND Flash support for TXx9 SoC"
474
- depends on SOC_TX4938 || SOC_TX4939 || COMPILE_TEST
475
- depends on HAS_IOMEM
476
- help
477
- This enables the NAND flash controller on the TXx9 SoCs.
478
-
479
-config MTD_NAND_SOCRATES
480
- tristate "Support for NAND on Socrates board"
481
- depends on SOCRATES
482
- help
483
- Enables support for NAND Flash chips wired onto Socrates board.
484
-
485
-config MTD_NAND_NUC900
486
- tristate "Support for NAND on Nuvoton NUC9xx/w90p910 evaluation boards."
487
- depends on ARCH_W90X900 || COMPILE_TEST
488
- depends on HAS_IOMEM
489
- help
490
- This enables the driver for the NAND Flash on evaluation board based
491
- on w90p910 / NUC9xx.
492
-
493
-config MTD_NAND_JZ4740
494
- tristate "Support for JZ4740 SoC NAND controller"
495
- depends on MACH_JZ4740 || COMPILE_TEST
496
- depends on HAS_IOMEM
497
- help
498
- Enables support for NAND Flash on JZ4740 SoC based boards.
499
-
500
-config MTD_NAND_JZ4780
501
- tristate "Support for NAND on JZ4780 SoC"
502
- depends on JZ4780_NEMC
503
- help
504
- Enables support for NAND Flash connected to the NEMC on JZ4780 SoC
505
- based boards, using the BCH controller for hardware error correction.
506
-
507
-config MTD_NAND_FSMC
508
- tristate "Support for NAND on ST Micros FSMC"
509
- depends on OF && HAS_IOMEM
510
- depends on PLAT_SPEAR || ARCH_NOMADIK || ARCH_U8500 || MACH_U300 || \
511
- COMPILE_TEST
512
- help
513
- Enables support for NAND Flash chips on the ST Microelectronics
514
- Flexible Static Memory Controller (FSMC)
515
-
516
-config MTD_NAND_XWAY
517
- bool "Support for NAND on Lantiq XWAY SoC"
518
- depends on LANTIQ && SOC_TYPE_XWAY
519
- help
520
- Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached
521
- to the External Bus Unit (EBU).
522
-
523
-config MTD_NAND_SUNXI
524
- tristate "Support for NAND on Allwinner SoCs"
525
- depends on ARCH_SUNXI || COMPILE_TEST
526
- depends on HAS_IOMEM
527
- help
528
- Enables support for NAND Flash chips on Allwinner SoCs.
529
-
530
-config MTD_NAND_HISI504
531
- tristate "Support for NAND controller on Hisilicon SoC Hip04"
532
- depends on ARCH_HISI || COMPILE_TEST
533
- depends on HAS_IOMEM
534
- help
535
- Enables support for NAND controller on Hisilicon SoC Hip04.
536
-
537
-config MTD_NAND_QCOM
538
- tristate "Support for NAND on QCOM SoCs"
539
- depends on ARCH_QCOM || COMPILE_TEST
540
- depends on HAS_IOMEM
541
- help
542
- Enables support for NAND flash chips on SoCs containing the EBI2 NAND
543
- controller. This controller is found on IPQ806x SoC.
544
-
545
-config MTD_NAND_MTK
546
- tristate "Support for NAND controller on MTK SoCs"
547
- depends on ARCH_MEDIATEK || COMPILE_TEST
548
- depends on HAS_IOMEM
549
- help
550
- Enables support for NAND controller on MTK SoCs.
551
- This controller is found on mt27xx, mt81xx, mt65xx SoCs.
552
-
553
-config MTD_NAND_TEGRA
554
- tristate "Support for NAND controller on NVIDIA Tegra"
555
- depends on ARCH_TEGRA || COMPILE_TEST
556
- depends on HAS_IOMEM
557
- help
558
- Enables support for NAND flash controller on NVIDIA Tegra SoC.
559
- The driver has been developed and tested on a Tegra 2 SoC. DMA
560
- support, raw read/write page as well as HW ECC read/write page
561
- is supported. Extra OOB bytes when using HW ECC are currently
562
- not supported.
563
-
564
-config MTD_NAND_ROCKCHIP_V6
565
- tristate "Support for NAND controller V6 on Rockchip SoC"
566
- depends on ARCH_ROCKCHIP
567
- help
568
- Enables support for NAND controller V6 on Rockchip SoC.
569
-
570
-config MTD_NAND_ROCKCHIP_V9
571
- tristate "Support for NAND controller V9 on Rockchip SoC"
572
- default n
573
- depends on ARCH_ROCKCHIP
574
- help
575
- Enables support for NAND controller V9 on Rockchip
576
- SoC(RK3326,RKPX30).
577
-
578
-endif # MTD_NAND
571
+endif # MTD_RAW_NAND