menu "MTD Support"

config MTD_PARTITIONS
	bool

config MTD
	bool "Enable MTD layer"
	help
	  Enable the MTD stack, necessary to interact with NAND, NOR,
	  SPI-NOR, SPI-NAND, OneNAND, etc.

config DM_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_CONCAT
	bool "Enable MTD device concatenation"
	depends on MTD
	help
	  Enable support for concatenating multiple physical MTD devices
	  into a single logical device. The larger logical device can then
	  be partitioned.

config SYS_MTDPARTS_RUNTIME
	bool "Allow MTDPARTS to be configured at runtime"
	depends on MTD
	help
	  This option allows to call the function board_mtdparts_default to
	  dynamically build the variables mtdids and mtdparts at runtime.

config FLASH_CFI_DRIVER
	bool "Enable CFI Flash driver"
	select USE_SYS_MAX_FLASH_BANKS
	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.

choice
	prompt "Data-width of the flash device"
	depends on FLASH_CFI_DRIVER
	default SYS_FLASH_CFI_WIDTH_8BIT

config SYS_FLASH_CFI_WIDTH_8BIT
	bool "Data-width of the device is 8-bit"

config SYS_FLASH_CFI_WIDTH_16BIT
	bool "Data-width of the device is 16-bit"

config SYS_FLASH_CFI_WIDTH_32BIT
	bool "Data-width of the device is 32-bit"

config SYS_FLASH_CFI_WIDTH_64BIT
	bool "Data-width of the device is 64-bit"

endchoice

config SYS_FLASH_CFI_WIDTH
	hex
	depends on FLASH_CFI_DRIVER
	default 0x1 if SYS_FLASH_CFI_WIDTH_8BIT
	default 0x2 if SYS_FLASH_CFI_WIDTH_16BIT
	default 0x4 if SYS_FLASH_CFI_WIDTH_32BIT
	default 0x8 if SYS_FLASH_CFI_WIDTH_64BIT
	help
	  This must be kept in sync with the table in include/flash.h

config FLASH_SHOW_PROGRESS
	int "Print out a countdown durinng writes"
	depends on FLASH_CFI_DRIVER
	default 45
	help
	  If set to a non-zero value, print out countdown digits and dots.
	  Recommended value: 45 (9..1) for 80 column displays, 15 (3..1) for 40
	  column displays.

config CFI_FLASH
	bool "Enable Driver Model for CFI Flash driver"
	depends on DM_MTD
	select FLASH_CFI_DRIVER
	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 CFI_FLASH_USE_WEAK_ACCESSORS
	bool "Allow read/write functions to be overridden"
	depends on FLASH_CFI_DRIVER
	help
	  Enable this option to allow for the flash_{read,write}{8,16,32,64}
	  functions to be overridden by the platform.

config SYS_CFI_FLASH_STATUS_POLL
	bool "Poll status on AMD flash chips"
	depends on FLASH_CFI_DRIVER

config SYS_FLASH_USE_BUFFER_WRITE
	bool "Enable buffered writes to flash"
	depends on FLASH_CFI_DRIVER
	help
	  Use buffered writes to flash.

config SYS_FLASH_EMPTY_INFO
	bool "Enable displaying empty sectors in flash info"
	depends on FLASH_CFI_DRIVER

config FLASH_SPANSION_S29WS_N
	bool "Non-standard s29ws-n MirrorBit flash"
	depends on FLASH_CFI_DRIVER
	help
	  Enable this if the s29ws-n MirrorBit flash has non-standard addresses
	  for buffered write commands.

config FLASH_CFI_MTD
	bool "Enable CFI MTD driver"
	depends on FLASH_CFI_DRIVER && MTD
	help
	  This option enables the building of the cfi_mtd driver
	  in the drivers directory. The driver exports CFI flash
	  to the MTD layer.

config SYS_FLASH_PROTECTION
	bool "Use hardware flash protection"
	depends on FLASH_CFI_DRIVER
	help
	  If defined, hardware flash sectors protection is used
	  instead of U-Boot software protection.

config SYS_FLASH_CFI
	bool "Define extra elements in CFI for flash geometry"
	depends on FLASH_CFI_DRIVER
	help
	  Define if the flash driver uses extra elements in the
	  common flash structure for storing flash geometry.

config SYS_FLASH_QUIET_TEST
	bool "Disable printing a warning about not recognizing some flash banks"
	depends on FLASH_CFI_DRIVER
	help
	  If this option is enabled, the common CFI flash doesn't print it's
	  warning upon not recognized FLASH banks. This is useful, if some of
	  the configured banks are only optionally available.

config SYS_FLASH_CHECKSUM
	bool "Compute and print flash CRC if 'flashchecksum' is set in the environment"
	depends on MTD_NOR_FLASH
	help
	  If the variable flashchecksum is set in the environment, perform a CRC
	  of the flash and print the value to console.

config FLASH_VERIFY
	bool "Compare writes to NOR flash with source location"
	depends on MTD_NOR_FLASH
	help
	  If enabled, the content of the flash (destination) is compared
	  against the source after the write operation. An error message will
	  be printed when the contents are not identical.  Please note that
	  this option is useless in nearly all cases, since such flash
	  programming errors usually are detected earlier while
	  unprotecting/erasing/programming. Please only enable this option if
	  you really know what you are doing.

config ALTERA_QSPI
	bool "Altera Generic Quad SPI Controller"
	depends on DM_MTD
	select USE_SYS_MAX_FLASH_BANKS
	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 RENESAS_RPC_HF
	bool "Renesas RCar Gen3 RPC HyperFlash driver"
	depends on RCAR_GEN3 && DM_MTD
	help
	  This enables access to HyperFlash memory through the Renesas
	  RCar Gen3 RPC controller.

config HBMC_AM654
	bool "HyperBus controller driver for AM65x SoC"
	depends on SYSCON
	help
	 This is the driver for HyperBus controller on TI's AM65x and
	 other SoCs

config STM32_FLASH
	bool "STM32 MCU Flash driver"
	depends on ARCH_STM32
	select USE_SYS_MAX_FLASH_BANKS
	help
	 This is the driver of embedded flash for some STMicroelectronics
	 STM32 MCU.

config SYS_MAX_FLASH_SECT
	int "Maximumm number of sectors on a flash chip"
	depends on MTD_NOR_FLASH || FLASH_CFI_DRIVER
	default 512

config SAMSUNG_ONENAND
	bool "Samsung OneNAND driver support"

config USE_SYS_MAX_FLASH_BANKS
	bool "Enable Max number of Flash memory banks"
	help
	  When this option is enabled, the CONFIG_SYS_MAX_FLASH_BANKS
	  will be defined.

config SYS_MAX_FLASH_BANKS
	int "Max number of Flash memory banks"
	depends on USE_SYS_MAX_FLASH_BANKS
	default 1
	help
	 Max number of Flash memory banks using by the MTD framework, in the
	 flash CFI driver and in some other driver to define the flash_info
	 struct declaration.

config SYS_MAX_FLASH_BANKS_DETECT
	bool "Detection of flash banks number in CFI driver"
	depends on CFI_FLASH && FLASH_CFI_DRIVER
	help
	 This enables detection of number of flash banks in CFI driver,
	 to reduce the effective number of flash bank, between 0 and
	 CONFIG_SYS_MAX_FLASH_BANKS

source "drivers/mtd/nand/Kconfig"

config SYS_NAND_MAX_OOBFREE
	int "Maximum number of free OOB regions supported"
	depends on SAMSUNG_ONENAND || MTD_RAW_NAND
	range 2 32
	default 32
	help
	  Set the maximum number of free OOB regions supported.  Useful for
	  reducing image size, especially with SPL.

config SYS_NAND_MAX_ECCPOS
	int "Maximum number of ECC bytes supported"
	depends on SAMSUNG_ONENAND || MTD_RAW_NAND
	range 48 2147483647
	default 680
	help
	  Set the maximum number of ECC bytes supported.  Useful for reducing
	  image size, especially with SPL.

config SYS_NAND_MAX_CHIPS
	int "NAND max chips"
	depends on MTD_RAW_NAND || CMD_ONENAND || TARGET_S5PC210_UNIVERSAL || \
		SPL_OMAP3_ID_NAND
	default 1
	help
	  The maximum number of NAND chips per device to be supported.

source "drivers/mtd/spi/Kconfig"

source "drivers/mtd/ubi/Kconfig"

source "drivers/mtd/nvmxip/Kconfig"

endmenu
