Convert CONFIG_SYS_FLASH_CFI_WIDTH to Kconfig
[platform/kernel/u-boot.git] / drivers / mtd / Kconfig
index 415ab4e..c3f5455 100644 (file)
@@ -1 +1,204 @@
+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 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_FLASH_USE_BUFFER_WRITE
+       bool "Enable buffered writes to flash"
+       depends on FLASH_CFI_DRIVER
+       help
+         Use buffered writes to flash.
+
+config FLASH_CFI_MTD
+       bool "Enable CFI MTD driver"
+       depends on FLASH_CFI_DRIVER
+       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 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 FLASH_PIC32
+       bool "Microchip PIC32 Flash driver"
+       depends on MACH_PIC32 && DM_MTD
+       select USE_SYS_MAX_FLASH_BANKS
+       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 && 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 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_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"
+
+endmenu