xref: /rk3399_rockchip-uboot/drivers/mtd/nand/raw/Kconfig (revision c6de2aae290151e042ec480accafecb4e77fd4fd)
1cfcc706cSMiquel Raynal
2cfcc706cSMiquel Raynalmenuconfig NAND
353bde89bSMiquel Raynal	bool "Raw NAND Device Support"
4cfcc706cSMiquel Raynalif NAND
5cfcc706cSMiquel Raynal
6cfcc706cSMiquel Raynalconfig SYS_NAND_SELF_INIT
7cfcc706cSMiquel Raynal	bool
8cfcc706cSMiquel Raynal	help
9cfcc706cSMiquel Raynal	  This option, if enabled, provides more flexible and linux-like
10cfcc706cSMiquel Raynal	  NAND initialization process.
11cfcc706cSMiquel Raynal
1250c9e2f7SStefan Agnerconfig SYS_NAND_DRIVER_ECC_LAYOUT
1350c9e2f7SStefan Agner	bool
1450c9e2f7SStefan Agner	help
1550c9e2f7SStefan Agner	  Omit standard ECC layouts to safe space. Select this if your driver
1650c9e2f7SStefan Agner	  is known to provide its own ECC layout.
1750c9e2f7SStefan Agner
18cfcc706cSMiquel Raynalconfig NAND_ATMEL
19cfcc706cSMiquel Raynal	bool "Support Atmel NAND controller"
20cfcc706cSMiquel Raynal	imply SYS_NAND_USE_FLASH_BBT
21cfcc706cSMiquel Raynal	help
22cfcc706cSMiquel Raynal	  Enable this driver for NAND flash platforms using an Atmel NAND
23cfcc706cSMiquel Raynal	  controller.
24cfcc706cSMiquel Raynal
25*c6de2aaeSDerald D. Woodsif NAND_ATMEL
26*c6de2aaeSDerald D. Woods
27*c6de2aaeSDerald D. Woodsconfig ATMEL_NAND_HWECC
28*c6de2aaeSDerald D. Woods	bool "Atmel Hardware ECC"
29*c6de2aaeSDerald D. Woods	default n
30*c6de2aaeSDerald D. Woods
31*c6de2aaeSDerald D. Woodsconfig ATMEL_NAND_HW_PMECC
32*c6de2aaeSDerald D. Woods	bool "Atmel Programmable Multibit ECC (PMECC)"
33*c6de2aaeSDerald D. Woods	select ATMEL_NAND_HWECC
34*c6de2aaeSDerald D. Woods	default n
35*c6de2aaeSDerald D. Woods	help
36*c6de2aaeSDerald D. Woods	  The Programmable Multibit ECC (PMECC) controller is a programmable
37*c6de2aaeSDerald D. Woods	  binary BCH(Bose, Chaudhuri and Hocquenghem) encoder and decoder.
38*c6de2aaeSDerald D. Woods
39*c6de2aaeSDerald D. Woodsconfig PMECC_CAP
40*c6de2aaeSDerald D. Woods	int "PMECC Correctable ECC Bits"
41*c6de2aaeSDerald D. Woods	depends on ATMEL_NAND_HW_PMECC
42*c6de2aaeSDerald D. Woods	default 2
43*c6de2aaeSDerald D. Woods	help
44*c6de2aaeSDerald D. Woods	  Correctable ECC bits, can be 2, 4, 8, 12, and 24.
45*c6de2aaeSDerald D. Woods
46*c6de2aaeSDerald D. Woodsconfig PMECC_SECTOR_SIZE
47*c6de2aaeSDerald D. Woods	int "PMECC Sector Size"
48*c6de2aaeSDerald D. Woods	depends on ATMEL_NAND_HW_PMECC
49*c6de2aaeSDerald D. Woods	default 512
50*c6de2aaeSDerald D. Woods	help
51*c6de2aaeSDerald D. Woods	  Sector size, in bytes, can be 512 or 1024.
52*c6de2aaeSDerald D. Woods
53*c6de2aaeSDerald D. Woodsconfig SPL_GENERATE_ATMEL_PMECC_HEADER
54*c6de2aaeSDerald D. Woods	bool "Atmel PMECC Header Generation"
55*c6de2aaeSDerald D. Woods	select ATMEL_NAND_HWECC
56*c6de2aaeSDerald D. Woods	select ATMEL_NAND_HW_PMECC
57*c6de2aaeSDerald D. Woods	default n
58*c6de2aaeSDerald D. Woods	help
59*c6de2aaeSDerald D. Woods	  Generate Programmable Multibit ECC (PMECC) header for SPL image.
60*c6de2aaeSDerald D. Woods
61*c6de2aaeSDerald D. Woodsendif
62*c6de2aaeSDerald D. Woods
63cfcc706cSMiquel Raynalconfig NAND_DAVINCI
64cfcc706cSMiquel Raynal	bool "Support TI Davinci NAND controller"
65cfcc706cSMiquel Raynal	help
66cfcc706cSMiquel Raynal	  Enable this driver for NAND flash controllers available in TI Davinci
67cfcc706cSMiquel Raynal	  and Keystone2 platforms
68cfcc706cSMiquel Raynal
69cfcc706cSMiquel Raynalconfig NAND_DENALI
70cfcc706cSMiquel Raynal	bool
71cfcc706cSMiquel Raynal	select SYS_NAND_SELF_INIT
72cfcc706cSMiquel Raynal	imply CMD_NAND
73cfcc706cSMiquel Raynal
74cfcc706cSMiquel Raynalconfig NAND_DENALI_DT
75cfcc706cSMiquel Raynal	bool "Support Denali NAND controller as a DT device"
76cfcc706cSMiquel Raynal	select NAND_DENALI
77cfcc706cSMiquel Raynal	depends on OF_CONTROL && DM
78cfcc706cSMiquel Raynal	help
79cfcc706cSMiquel Raynal	  Enable the driver for NAND flash on platforms using a Denali NAND
80cfcc706cSMiquel Raynal	  controller as a DT device.
81cfcc706cSMiquel Raynal
82cfcc706cSMiquel Raynalconfig NAND_DENALI_SPARE_AREA_SKIP_BYTES
83cfcc706cSMiquel Raynal	int "Number of bytes skipped in OOB area"
84cfcc706cSMiquel Raynal	depends on NAND_DENALI
85cfcc706cSMiquel Raynal	range 0 63
86cfcc706cSMiquel Raynal	help
87cfcc706cSMiquel Raynal	  This option specifies the number of bytes to skip from the beginning
88cfcc706cSMiquel Raynal	  of OOB area before last ECC sector data starts.  This is potentially
89cfcc706cSMiquel Raynal	  used to preserve the bad block marker in the OOB area.
90cfcc706cSMiquel Raynal
91cfcc706cSMiquel Raynalconfig NAND_LPC32XX_SLC
92cfcc706cSMiquel Raynal	bool "Support LPC32XX_SLC controller"
93cfcc706cSMiquel Raynal	help
94cfcc706cSMiquel Raynal	  Enable the LPC32XX SLC NAND controller.
95cfcc706cSMiquel Raynal
96cfcc706cSMiquel Raynalconfig NAND_OMAP_GPMC
97cfcc706cSMiquel Raynal	bool "Support OMAP GPMC NAND controller"
98cfcc706cSMiquel Raynal	depends on ARCH_OMAP2PLUS
99cfcc706cSMiquel Raynal	help
100cfcc706cSMiquel Raynal	  Enables omap_gpmc.c driver for OMAPx and AMxxxx platforms.
101cfcc706cSMiquel Raynal	  GPMC controller is used for parallel NAND flash devices, and can
102cfcc706cSMiquel Raynal	  do ECC calculation (not ECC error detection) for HAM1, BCH4, BCH8
103cfcc706cSMiquel Raynal	  and BCH16 ECC algorithms.
104cfcc706cSMiquel Raynal
105cfcc706cSMiquel Raynalconfig NAND_OMAP_GPMC_PREFETCH
106cfcc706cSMiquel Raynal	bool "Enable GPMC Prefetch"
107cfcc706cSMiquel Raynal	depends on NAND_OMAP_GPMC
108cfcc706cSMiquel Raynal	default y
109cfcc706cSMiquel Raynal	help
110cfcc706cSMiquel Raynal	  On OMAP platforms that use the GPMC controller
111cfcc706cSMiquel Raynal	  (CONFIG_NAND_OMAP_GPMC_PREFETCH), this options enables the code that
112cfcc706cSMiquel Raynal	  uses the prefetch mode to speed up read operations.
113cfcc706cSMiquel Raynal
114cfcc706cSMiquel Raynalconfig NAND_OMAP_ELM
115cfcc706cSMiquel Raynal	bool "Enable ELM driver for OMAPxx and AMxx platforms."
116cfcc706cSMiquel Raynal	depends on NAND_OMAP_GPMC && !OMAP34XX
117cfcc706cSMiquel Raynal	help
118cfcc706cSMiquel Raynal	  ELM controller is used for ECC error detection (not ECC calculation)
119cfcc706cSMiquel Raynal	  of BCH4, BCH8 and BCH16 ECC algorithms.
120cfcc706cSMiquel Raynal	  Some legacy platforms like OMAP3xx do not have in-built ELM h/w engine,
121cfcc706cSMiquel Raynal	  thus such SoC platforms need to depend on software library for ECC error
122cfcc706cSMiquel Raynal	  detection. However ECC calculation on such plaforms would still be
123cfcc706cSMiquel Raynal	  done by GPMC controller.
124cfcc706cSMiquel Raynal
125cfcc706cSMiquel Raynalconfig NAND_VF610_NFC
126cfcc706cSMiquel Raynal	bool "Support for Freescale NFC for VF610"
127cfcc706cSMiquel Raynal	select SYS_NAND_SELF_INIT
12850c9e2f7SStefan Agner	select SYS_NAND_DRIVER_ECC_LAYOUT
129cfcc706cSMiquel Raynal	imply CMD_NAND
130cfcc706cSMiquel Raynal	help
131cfcc706cSMiquel Raynal	  Enables support for NAND Flash Controller on some Freescale
132cfcc706cSMiquel Raynal	  processors like the VF610, MCF54418 or Kinetis K70.
133cfcc706cSMiquel Raynal	  The driver supports a maximum 2k page size. The driver
134cfcc706cSMiquel Raynal	  currently does not support hardware ECC.
135cfcc706cSMiquel Raynal
136b6a0fedbSLukasz Majewskiif NAND_VF610_NFC
137b6a0fedbSLukasz Majewski
138b6a0fedbSLukasz Majewskiconfig NAND_VF610_NFC_DT
139b6a0fedbSLukasz Majewski        bool "Support Vybrid's vf610 NAND controller as a DT device"
140b6a0fedbSLukasz Majewski        depends on OF_CONTROL && MTD
141b6a0fedbSLukasz Majewski        help
142b6a0fedbSLukasz Majewski          Enable the driver for Vybrid's vf610 NAND flash on platforms
143b6a0fedbSLukasz Majewski	  using device tree.
144b6a0fedbSLukasz Majewski
145cfcc706cSMiquel Raynalchoice
146cfcc706cSMiquel Raynal	prompt "Hardware ECC strength"
147cfcc706cSMiquel Raynal	depends on NAND_VF610_NFC
148cfcc706cSMiquel Raynal	default SYS_NAND_VF610_NFC_45_ECC_BYTES
149cfcc706cSMiquel Raynal	help
150cfcc706cSMiquel Raynal	  Select the ECC strength used in the hardware BCH ECC block.
151cfcc706cSMiquel Raynal
152cfcc706cSMiquel Raynalconfig SYS_NAND_VF610_NFC_45_ECC_BYTES
153cfcc706cSMiquel Raynal	bool "24-error correction (45 ECC bytes)"
154cfcc706cSMiquel Raynal
155cfcc706cSMiquel Raynalconfig SYS_NAND_VF610_NFC_60_ECC_BYTES
156cfcc706cSMiquel Raynal	bool "32-error correction (60 ECC bytes)"
157cfcc706cSMiquel Raynal
158cfcc706cSMiquel Raynalendchoice
159cfcc706cSMiquel Raynal
160b6a0fedbSLukasz Majewskiendif
161b6a0fedbSLukasz Majewski
162cfcc706cSMiquel Raynalconfig NAND_PXA3XX
163cfcc706cSMiquel Raynal	bool "Support for NAND on PXA3xx and Armada 370/XP/38x"
164cfcc706cSMiquel Raynal	select SYS_NAND_SELF_INIT
165cfcc706cSMiquel Raynal	imply CMD_NAND
166cfcc706cSMiquel Raynal	help
167cfcc706cSMiquel Raynal	  This enables the driver for the NAND flash device found on
168cfcc706cSMiquel Raynal	  PXA3xx processors (NFCv1) and also on Armada 370/XP (NFCv2).
169cfcc706cSMiquel Raynal
170cfcc706cSMiquel Raynalconfig NAND_SUNXI
171cfcc706cSMiquel Raynal	bool "Support for NAND on Allwinner SoCs"
172cfcc706cSMiquel Raynal	default ARCH_SUNXI
173cfcc706cSMiquel Raynal	depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUN8I
174cfcc706cSMiquel Raynal	select SYS_NAND_SELF_INIT
175cfcc706cSMiquel Raynal	select SYS_NAND_U_BOOT_LOCATIONS
176cfcc706cSMiquel Raynal	select SPL_NAND_SUPPORT
177cfcc706cSMiquel Raynal	imply CMD_NAND
178cfcc706cSMiquel Raynal	---help---
179cfcc706cSMiquel Raynal	Enable support for NAND. This option enables the standard and
180cfcc706cSMiquel Raynal	SPL drivers.
181cfcc706cSMiquel Raynal	The SPL driver only supports reading from the NAND using DMA
182cfcc706cSMiquel Raynal	transfers.
183cfcc706cSMiquel Raynal
184cfcc706cSMiquel Raynalif NAND_SUNXI
185cfcc706cSMiquel Raynal
186cfcc706cSMiquel Raynalconfig NAND_SUNXI_SPL_ECC_STRENGTH
187cfcc706cSMiquel Raynal	int "Allwinner NAND SPL ECC Strength"
188cfcc706cSMiquel Raynal	default 64
189cfcc706cSMiquel Raynal
190cfcc706cSMiquel Raynalconfig NAND_SUNXI_SPL_ECC_SIZE
191cfcc706cSMiquel Raynal	int "Allwinner NAND SPL ECC Step Size"
192cfcc706cSMiquel Raynal	default 1024
193cfcc706cSMiquel Raynal
194cfcc706cSMiquel Raynalconfig NAND_SUNXI_SPL_USABLE_PAGE_SIZE
195cfcc706cSMiquel Raynal	int "Allwinner NAND SPL Usable Page Size"
196cfcc706cSMiquel Raynal	default 1024
197cfcc706cSMiquel Raynal
198cfcc706cSMiquel Raynalendif
199cfcc706cSMiquel Raynal
200cfcc706cSMiquel Raynalconfig NAND_ARASAN
201cfcc706cSMiquel Raynal	bool "Configure Arasan Nand"
202cfcc706cSMiquel Raynal	select SYS_NAND_SELF_INIT
203cfcc706cSMiquel Raynal	imply CMD_NAND
204cfcc706cSMiquel Raynal	help
205cfcc706cSMiquel Raynal	  This enables Nand driver support for Arasan nand flash
206cfcc706cSMiquel Raynal	  controller. This uses the hardware ECC for read and
207cfcc706cSMiquel Raynal	  write operations.
208cfcc706cSMiquel Raynal
209cfcc706cSMiquel Raynalconfig NAND_MXC
210cfcc706cSMiquel Raynal	bool "MXC NAND support"
211cfcc706cSMiquel Raynal	depends on CPU_ARM926EJS || CPU_ARM1136 || MX5
212cfcc706cSMiquel Raynal	imply CMD_NAND
213cfcc706cSMiquel Raynal	help
214cfcc706cSMiquel Raynal	  This enables the NAND driver for the NAND flash controller on the
215cfcc706cSMiquel Raynal	  i.MX27 / i.MX31 / i.MX5 rocessors.
216cfcc706cSMiquel Raynal
217cfcc706cSMiquel Raynalconfig NAND_MXS
218cfcc706cSMiquel Raynal	bool "MXS NAND support"
219cfcc706cSMiquel Raynal	depends on MX23 || MX28 || MX6 || MX7
220cfcc706cSMiquel Raynal	select SYS_NAND_SELF_INIT
221cfcc706cSMiquel Raynal	imply CMD_NAND
222cfcc706cSMiquel Raynal	select APBH_DMA
223cfcc706cSMiquel Raynal	select APBH_DMA_BURST if ARCH_MX6 || ARCH_MX7
224cfcc706cSMiquel Raynal	select APBH_DMA_BURST8 if ARCH_MX6 || ARCH_MX7
225cfcc706cSMiquel Raynal	help
226cfcc706cSMiquel Raynal	  This enables NAND driver for the NAND flash controller on the
227cfcc706cSMiquel Raynal	  MXS processors.
228cfcc706cSMiquel Raynal
229cfcc706cSMiquel Raynalif NAND_MXS
230cfcc706cSMiquel Raynal
231cfcc706cSMiquel Raynalconfig NAND_MXS_DT
232cfcc706cSMiquel Raynal	bool "Support MXS NAND controller as a DT device"
233cfcc706cSMiquel Raynal	depends on OF_CONTROL && MTD
234cfcc706cSMiquel Raynal	help
235cfcc706cSMiquel Raynal	  Enable the driver for MXS NAND flash on platforms using
236cfcc706cSMiquel Raynal	  device tree.
237cfcc706cSMiquel Raynal
238cfcc706cSMiquel Raynalconfig NAND_MXS_USE_MINIMUM_ECC
239cfcc706cSMiquel Raynal	bool "Use minimum ECC strength supported by the controller"
240cfcc706cSMiquel Raynal	default false
241cfcc706cSMiquel Raynal
242cfcc706cSMiquel Raynalendif
243cfcc706cSMiquel Raynal
244cfcc706cSMiquel Raynalconfig NAND_ZYNQ
245cfcc706cSMiquel Raynal	bool "Support for Zynq Nand controller"
246cfcc706cSMiquel Raynal	select SYS_NAND_SELF_INIT
247cfcc706cSMiquel Raynal	imply CMD_NAND
248cfcc706cSMiquel Raynal	help
249cfcc706cSMiquel Raynal	  This enables Nand driver support for Nand flash controller
250cfcc706cSMiquel Raynal	  found on Zynq SoC.
251cfcc706cSMiquel Raynal
252cfcc706cSMiquel Raynalconfig NAND_ZYNQ_USE_BOOTLOADER1_TIMINGS
253cfcc706cSMiquel Raynal	bool "Enable use of 1st stage bootloader timing for NAND"
254cfcc706cSMiquel Raynal	depends on NAND_ZYNQ
255cfcc706cSMiquel Raynal	help
256cfcc706cSMiquel Raynal	  This flag prevent U-boot reconfigure NAND flash controller and reuse
257cfcc706cSMiquel Raynal	  the NAND timing from 1st stage bootloader.
258cfcc706cSMiquel Raynal
259cfcc706cSMiquel Raynalcomment "Generic NAND options"
260cfcc706cSMiquel Raynal
261cfcc706cSMiquel Raynalconfig SYS_NAND_BLOCK_SIZE
262cfcc706cSMiquel Raynal	hex "NAND chip eraseblock size"
263cfcc706cSMiquel Raynal	depends on ARCH_SUNXI
264cfcc706cSMiquel Raynal	help
265cfcc706cSMiquel Raynal	  Number of data bytes in one eraseblock for the NAND chip on the
266cfcc706cSMiquel Raynal	  board. This is the multiple of NAND_PAGE_SIZE and the number of
267cfcc706cSMiquel Raynal	  pages.
268cfcc706cSMiquel Raynal
269cfcc706cSMiquel Raynalconfig SYS_NAND_PAGE_SIZE
270cfcc706cSMiquel Raynal	hex "NAND chip page size"
271cfcc706cSMiquel Raynal	depends on ARCH_SUNXI
272cfcc706cSMiquel Raynal	help
273cfcc706cSMiquel Raynal	  Number of data bytes in one page for the NAND chip on the
274cfcc706cSMiquel Raynal	  board, not including the OOB area.
275cfcc706cSMiquel Raynal
276cfcc706cSMiquel Raynalconfig SYS_NAND_OOBSIZE
277cfcc706cSMiquel Raynal	hex "NAND chip OOB size"
278cfcc706cSMiquel Raynal	depends on ARCH_SUNXI
279cfcc706cSMiquel Raynal	help
280cfcc706cSMiquel Raynal	  Number of bytes in the Out-Of-Band area for the NAND chip on
281cfcc706cSMiquel Raynal	  the board.
282cfcc706cSMiquel Raynal
283cfcc706cSMiquel Raynal# Enhance depends when converting drivers to Kconfig which use this config
284cfcc706cSMiquel Raynal# option (mxc_nand, ndfc, omap_gpmc).
285cfcc706cSMiquel Raynalconfig SYS_NAND_BUSWIDTH_16BIT
286cfcc706cSMiquel Raynal	bool "Use 16-bit NAND interface"
287cfcc706cSMiquel Raynal	depends on NAND_VF610_NFC || NAND_OMAP_GPMC || NAND_MXC || ARCH_DAVINCI
288cfcc706cSMiquel Raynal	help
289cfcc706cSMiquel Raynal	  Indicates that NAND device has 16-bit wide data-bus. In absence of this
290cfcc706cSMiquel Raynal	  config, bus-width of NAND device is assumed to be either 8-bit and later
291cfcc706cSMiquel Raynal	  determined by reading ONFI params.
292cfcc706cSMiquel Raynal	  Above config is useful when NAND device's bus-width information cannot
293cfcc706cSMiquel Raynal	  be determined from on-chip ONFI params, like in following scenarios:
294cfcc706cSMiquel Raynal	  - SPL boot does not support reading of ONFI parameters. This is done to
295cfcc706cSMiquel Raynal	    keep SPL code foot-print small.
296cfcc706cSMiquel Raynal	  - In current U-Boot flow using nand_init(), driver initialization
297cfcc706cSMiquel Raynal	    happens in board_nand_init() which is called before any device probe
298cfcc706cSMiquel Raynal	    (nand_scan_ident + nand_scan_tail), thus device's ONFI parameters are
299cfcc706cSMiquel Raynal	    not available while configuring controller. So a static CONFIG_NAND_xx
300cfcc706cSMiquel Raynal	    is needed to know the device's bus-width in advance.
301cfcc706cSMiquel Raynal
302cfcc706cSMiquel Raynalif SPL
303cfcc706cSMiquel Raynal
304cfcc706cSMiquel Raynalconfig SYS_NAND_U_BOOT_LOCATIONS
305cfcc706cSMiquel Raynal	bool "Define U-boot binaries locations in NAND"
306cfcc706cSMiquel Raynal	help
307cfcc706cSMiquel Raynal	Enable CONFIG_SYS_NAND_U_BOOT_OFFS though Kconfig.
308cfcc706cSMiquel Raynal	This option should not be enabled when compiling U-boot for boards
309cfcc706cSMiquel Raynal	defining CONFIG_SYS_NAND_U_BOOT_OFFS in their include/configs/<board>.h
310cfcc706cSMiquel Raynal	file.
311cfcc706cSMiquel Raynal
312cfcc706cSMiquel Raynalconfig SYS_NAND_U_BOOT_OFFS
313cfcc706cSMiquel Raynal	hex "Location in NAND to read U-Boot from"
314cfcc706cSMiquel Raynal	default 0x800000 if NAND_SUNXI
315cfcc706cSMiquel Raynal	depends on SYS_NAND_U_BOOT_LOCATIONS
316cfcc706cSMiquel Raynal	help
317cfcc706cSMiquel Raynal	Set the offset from the start of the nand where u-boot should be
318cfcc706cSMiquel Raynal	loaded from.
319cfcc706cSMiquel Raynal
320cfcc706cSMiquel Raynalconfig SYS_NAND_U_BOOT_OFFS_REDUND
321cfcc706cSMiquel Raynal	hex "Location in NAND to read U-Boot from"
322cfcc706cSMiquel Raynal	default SYS_NAND_U_BOOT_OFFS
323cfcc706cSMiquel Raynal	depends on SYS_NAND_U_BOOT_LOCATIONS
324cfcc706cSMiquel Raynal	help
325cfcc706cSMiquel Raynal	Set the offset from the start of the nand where the redundant u-boot
326cfcc706cSMiquel Raynal	should be loaded from.
327cfcc706cSMiquel Raynal
328cfcc706cSMiquel Raynalconfig SPL_NAND_AM33XX_BCH
329cfcc706cSMiquel Raynal	bool "Enables SPL-NAND driver which supports ELM based"
330cfcc706cSMiquel Raynal	depends on NAND_OMAP_GPMC && !OMAP34XX
331cfcc706cSMiquel Raynal	default y
332cfcc706cSMiquel Raynal        help
333cfcc706cSMiquel Raynal	  Hardware ECC correction. This is useful for platforms which have ELM
334cfcc706cSMiquel Raynal	  hardware engine and use NAND boot mode.
335cfcc706cSMiquel Raynal	  Some legacy platforms like OMAP3xx do not have in-built ELM h/w engine,
336cfcc706cSMiquel Raynal	  so those platforms should use CONFIG_SPL_NAND_SIMPLE for enabling
337cfcc706cSMiquel Raynal          SPL-NAND driver with software ECC correction support.
338cfcc706cSMiquel Raynal
339cfcc706cSMiquel Raynalconfig SPL_NAND_DENALI
340cfcc706cSMiquel Raynal	bool "Support Denali NAND controller for SPL"
341cfcc706cSMiquel Raynal	help
342cfcc706cSMiquel Raynal	  This is a small implementation of the Denali NAND controller
343cfcc706cSMiquel Raynal	  for use on SPL.
344cfcc706cSMiquel Raynal
345cfcc706cSMiquel Raynalconfig SPL_NAND_SIMPLE
346cfcc706cSMiquel Raynal	bool "Use simple SPL NAND driver"
347cfcc706cSMiquel Raynal	depends on !SPL_NAND_AM33XX_BCH
348cfcc706cSMiquel Raynal	help
349cfcc706cSMiquel Raynal	  Support for NAND boot using simple NAND drivers that
350cfcc706cSMiquel Raynal	  expose the cmd_ctrl() interface.
351cfcc706cSMiquel Raynalendif
352cfcc706cSMiquel Raynal
353cfcc706cSMiquel Raynalendif   # if NAND
354