menu "MTD Support"

config MTD
	bool "Enable Driver Model for MTD drivers"
	depends on DM
	help
	  Enable driver model for Memory Technology Devices (MTD), such as
	  flash, RAM and similar chips, often used for solid state file
	  systems on embedded devices.

config MTD_NOR_FLASH
	bool "Enable parallel NOR flash support"
	help
	  Enable support for parallel NOR flash.

config MTD_DEVICE
	bool "Enable MTD Device for NAND and ONENAND devices"
	help
	  Adds the MTD device infrastructure from the Linux kernel.
	  Needed for mtdparts command support.

config MTD_PARTITIONS
	bool "Add MTD Partioning infrastructure"
	help
	  Adds the MTD partitioning infrastructure from the Linux
	  kernel. Needed for UBI support.

config CFI_FLASH
	bool "Enable Driver Model for CFI Flash driver"
	depends on MTD
	help
	  The Common Flash Interface specification was developed by Intel,
	  AMD and other flash manufactures. It provides a universal method
	  for probing the capabilities of flash devices. If you wish to
	  support any device that is CFI-compliant, you need to enable this
	  option. Visit <http://www.amd.com/products/nvd/overview/cfi.html>
	  for more information on CFI.

config ALTERA_QSPI
	bool "Altera Generic Quad SPI Controller"
	depends on MTD
	help
	  This enables access to Altera EPCQ/EPCS flash chips using the
	  Altera Generic Quad SPI Controller. The controller converts SPI
	  NOR flash to parallel flash interface. Please find details on the
	  "Embedded Peripherals IP User Guide" of Altera.

config FLASH_PIC32
	bool "Microchip PIC32 Flash driver"
	depends on MACH_PIC32 && MTD
	help
	  This enables access to Microchip PIC32 internal non-CFI flash
	  chips through PIC32 Non-Volatile-Memory Controller.

config RENESAS_RPC_HF
	bool "Renesas RCar Gen3 RPC Hyperflash driver"
	depends on RCAR_GEN3 && MTD
	help
	  This enables access to Hyperflash memory through the Renesas
	  RCar Gen3 RPC controller.

endmenu

source "drivers/mtd/nand/Kconfig"

source "drivers/mtd/spi/Kconfig"

source "drivers/mtd/ubi/Kconfig"
