u-boot/drivers/mtd/Kconfig

212 lines
6 KiB
Text
Raw Normal View History

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.
flash: complete CONFIG_SYS_NO_FLASH move with renaming We repeated partial moves for CONFIG_SYS_NO_FLASH, but this is not completed. Finish this work by the tool. During this move, let's rename it to CONFIG_MTD_NOR_FLASH. Actually, we have more instances of "#ifndef CONFIG_SYS_NO_FLASH" than those of "#ifdef CONFIG_SYS_NO_FLASH". Flipping the logic will make the code more readable. Besides, negative meaning symbols do not fit in obj-$(CONFIG_...) style Makefiles. This commit was created as follows: [1] Edit "default n" to "default y" in the config entry in common/Kconfig. [2] Run "tools/moveconfig.py -y -r HEAD SYS_NO_FLASH" [3] Rename the instances in defconfigs by the following: find . -path './configs/*_defconfig' | xargs sed -i \ -e '/CONFIG_SYS_NO_FLASH=y/d' \ -e 's/# CONFIG_SYS_NO_FLASH is not set/CONFIG_MTD_NOR_FLASH=y/' [4] Change the conditionals by the following: find . -name '*.[ch]' | xargs sed -i \ -e 's/ifndef CONFIG_SYS_NO_FLASH/ifdef CONFIG_MTD_NOR_FLASH/' \ -e 's/ifdef CONFIG_SYS_NO_FLASH/ifndef CONFIG_MTD_NOR_FLASH/' \ -e 's/!defined(CONFIG_SYS_NO_FLASH)/defined(CONFIG_MTD_NOR_FLASH)/' \ -e 's/defined(CONFIG_SYS_NO_FLASH)/!defined(CONFIG_MTD_NOR_FLASH)/' [5] Modify the following manually - Rename the rest of instances - Remove the description from README - Create the new Kconfig entry in drivers/mtd/Kconfig - Remove the old Kconfig entry from common/Kconfig - Remove the garbage comments from include/configs/*.h Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-02-11 13:43:54 +00:00
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_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 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 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