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