Merge branch '2022-08-04-Kconfig-migrations'
[platform/kernel/u-boot.git] / drivers / mtd / Kconfig
index 707359d..fcdb450 100644 (file)
@@ -1,6 +1,15 @@
 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
@@ -13,9 +22,65 @@ config MTD_NOR_FLASH
        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 MTD
+       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
@@ -24,33 +89,139 @@ config CFI_FLASH
          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_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 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 ALTERA_QSPI
        bool "Altera Generic Quad SPI Controller"
-       depends on MTD
+       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 && 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
+       bool "Renesas RCar Gen3 RPC HyperFlash driver"
+       depends on RCAR_GEN3 && DM_MTD
        help
-         This enables access to Hyperflash memory through the Renesas
+         This enables access to HyperFlash memory through the Renesas
          RCar Gen3 RPC controller.
 
-endmenu
+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_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