#nand
menuconfig MTK_MTD_NAND
	tristate "MediaTek Nand Support"
	depends on MTD_NAND
	help
	  NAND flash memory, a type of non-volatile storage device,
	  introduced by Toshiba in 1989. With formal commands,
	  controller can access data via devices.
	  This configuration enable Mediatek NAND controller to perform operations
	  on NAND devices of verious vendors.
	  For products choosing raw NAND as booting device,this configuration must say y.
	  Since kernel using MTD as storage device common driver,
	  this configuration depends on MTD_NAND config.
	  Please visit JEDEC sites for more information.

config MTK_MTD_NAND_INTERRUPT_SCHEME
	bool "Nand Read/Write with interrupt scheme"
	depends on MTK_MTD_NAND
	help
	  While performing page read/write to NAND device, controller use
	  DMA to send/receive data to/from device. There are two schemes to
	  wait until DMA finish its' job, polling and interrupt.
	  Using polling may quicker, but CPU resource won't be released.
	  Interrupt may suffer some software overhead, but CPU can be released.
	  This configuration is for user to chose from these two scheme.
	  Default using polling mode since DMA may not take too long.

config MTK_SLC_NAND_SUPPORT
	tristate "Mediatek SLC NAND Support"
	depends on MTK_MTD_NAND
	help
	  In electronics, a single-level cell (SLC) is a memory element capable of
	  storing a single bit of information.
	  SLC NAND flash is a flash memory technology using single levels per cell.
	  While using SLC devices as booting device, please set this configuration as
	  y to enable SLC features.

config MTK_SLC_NAND_BURNER_SUPPORT
	tristate "Mediatek SLC NAND Support Burner"
	depends on MTK_SLC_NAND_SUPPORT
	help
	  The burner using 'jump over bad block' mechanism to handle bad blocks,
	  For products choosing Burner as the device burning images to Nand Flash,
	  please set this configuration as 'y'.

config MTK_COMBO_NAND_SUPPORT
	tristate "Mediatek COMBO NAND Support"
	depends on MTK_MTD_NAND
	help
	  NAND memories are accessed much like block devices.
	  Each block consists of a number of pages.
	  Knowned that reading and programming is performed on a page basis,
	  and erasure can only be performed on a block basis.
	  Different devices have different block size and page size.
	  This configuration enables the multi devices in one load feature.

config MTK_FAT_ON_NAND
	tristate "Mediatek FAT on NAND Support"
	depends on MTK_MTD_NAND
	help
	  Enable FAT on nand feature of Mediatek NAND driver.
	  This will create a FAT partition on NAND device.
	  With this configuration turns on, user can use UMS to access native storage.
	  Without this configuration, users only use MTP to acces native storage.
	  Please see Project config for more information of this configuration.

config MTK_FACTORY_RESET_PROTECTION_SUPPORT
	bool "Mediatek FRP Support"
	depends on MTK_MTD_NAND
	help
	  FRP stands for factory reset protect.
	  This feature backup customer data after factory reset.
	  Turn on this configuration to enable data save after factory reset.
	  Enable this feature if want to open FRP.

config MTK_NAND_V2
	bool "Mediatek NAND Driver Version 2 Support"
	depends on MTK_MTD_NAND && !MTK_SLC_NAND_SUPPORT
	help
	  Enable mtk nand driver version 2.

config MTK_NAND_V3
	bool "Mediatek NAND Driver Version 3 Support"
	depends on MTK_MTD_NAND && MTK_SLC_NAND_SUPPORT
	help
	  Enable mtk nand driver version 3 which is for SLC solution.

