1menu "MTD Support" 2 3config MTD_PARTITIONS 4 bool 5 6config MTD 7 bool "Enable MTD layer" 8 help 9 Enable the MTD stack, necessary to interact with NAND, NOR, 10 SPI-NOR, SPI-NAND, OneNAND, etc. 11 12config DM_MTD 13 bool "Enable Driver Model for MTD drivers" 14 depends on DM 15 help 16 Enable driver model for Memory Technology Devices (MTD), such as 17 flash, RAM and similar chips, often used for solid state file 18 systems on embedded devices. 19 20config MTD_NOR_FLASH 21 bool "Enable parallel NOR flash support" 22 help 23 Enable support for parallel NOR flash. 24 25config MTD_CONCAT 26 bool "Enable MTD device concatenation" 27 depends on MTD 28 help 29 Enable support for concatenating multiple physical MTD devices 30 into a single logical device. The larger logical device can then 31 be partitioned. 32 33config SYS_MTDPARTS_RUNTIME 34 bool "Allow MTDPARTS to be configured at runtime" 35 depends on MTD 36 help 37 This option allows to call the function board_mtdparts_default to 38 dynamically build the variables mtdids and mtdparts at runtime. 39 40config FLASH_CFI_DRIVER 41 bool "Enable CFI Flash driver" 42 select USE_SYS_MAX_FLASH_BANKS 43 help 44 The Common Flash Interface specification was developed by Intel, 45 AMD and other flash manufactures. It provides a universal method 46 for probing the capabilities of flash devices. If you wish to 47 support any device that is CFI-compliant, you need to enable this 48 option. Visit <http://www.amd.com/products/nvd/overview/cfi.html> 49 for more information on CFI. 50 51choice 52 prompt "Data-width of the flash device" 53 depends on FLASH_CFI_DRIVER 54 default SYS_FLASH_CFI_WIDTH_8BIT 55 56config SYS_FLASH_CFI_WIDTH_8BIT 57 bool "Data-width of the device is 8-bit" 58 59config SYS_FLASH_CFI_WIDTH_16BIT 60 bool "Data-width of the device is 16-bit" 61 62config SYS_FLASH_CFI_WIDTH_32BIT 63 bool "Data-width of the device is 32-bit" 64 65config SYS_FLASH_CFI_WIDTH_64BIT 66 bool "Data-width of the device is 64-bit" 67 68endchoice 69 70config SYS_FLASH_CFI_WIDTH 71 hex 72 depends on FLASH_CFI_DRIVER 73 default 0x1 if SYS_FLASH_CFI_WIDTH_8BIT 74 default 0x2 if SYS_FLASH_CFI_WIDTH_16BIT 75 default 0x4 if SYS_FLASH_CFI_WIDTH_32BIT 76 default 0x8 if SYS_FLASH_CFI_WIDTH_64BIT 77 help 78 This must be kept in sync with the table in include/flash.h 79 80config FLASH_SHOW_PROGRESS 81 int "Print out a countdown durinng writes" 82 depends on FLASH_CFI_DRIVER 83 default 45 84 help 85 If set to a non-zero value, print out countdown digits and dots. 86 Recommended value: 45 (9..1) for 80 column displays, 15 (3..1) for 40 87 column displays. 88 89config CFI_FLASH 90 bool "Enable Driver Model for CFI Flash driver" 91 depends on DM_MTD 92 select FLASH_CFI_DRIVER 93 help 94 The Common Flash Interface specification was developed by Intel, 95 AMD and other flash manufactures. It provides a universal method 96 for probing the capabilities of flash devices. If you wish to 97 support any device that is CFI-compliant, you need to enable this 98 option. Visit <http://www.amd.com/products/nvd/overview/cfi.html> 99 for more information on CFI. 100 101config CFI_FLASH_USE_WEAK_ACCESSORS 102 bool "Allow read/write functions to be overridden" 103 depends on FLASH_CFI_DRIVER 104 help 105 Enable this option to allow for the flash_{read,write}{8,16,32,64} 106 functions to be overridden by the platform. 107 108config SYS_CFI_FLASH_STATUS_POLL 109 bool "Poll status on AMD flash chips" 110 depends on FLASH_CFI_DRIVER 111 112config SYS_FLASH_USE_BUFFER_WRITE 113 bool "Enable buffered writes to flash" 114 depends on FLASH_CFI_DRIVER 115 help 116 Use buffered writes to flash. 117 118config SYS_FLASH_EMPTY_INFO 119 bool "Enable displaying empty sectors in flash info" 120 depends on FLASH_CFI_DRIVER 121 122config FLASH_SPANSION_S29WS_N 123 bool "Non-standard s29ws-n MirrorBit flash" 124 depends on FLASH_CFI_DRIVER 125 help 126 Enable this if the s29ws-n MirrorBit flash has non-standard addresses 127 for buffered write commands. 128 129config FLASH_CFI_MTD 130 bool "Enable CFI MTD driver" 131 depends on FLASH_CFI_DRIVER 132 help 133 This option enables the building of the cfi_mtd driver 134 in the drivers directory. The driver exports CFI flash 135 to the MTD layer. 136 137config SYS_FLASH_PROTECTION 138 bool "Use hardware flash protection" 139 depends on FLASH_CFI_DRIVER 140 help 141 If defined, hardware flash sectors protection is used 142 instead of U-Boot software protection. 143 144config SYS_FLASH_CFI 145 bool "Define extra elements in CFI for flash geometry" 146 depends on FLASH_CFI_DRIVER 147 help 148 Define if the flash driver uses extra elements in the 149 common flash structure for storing flash geometry. 150 151config SYS_FLASH_QUIET_TEST 152 bool "Disable printing a warning about not recognizing some flash banks" 153 depends on FLASH_CFI_DRIVER 154 help 155 If this option is enabled, the common CFI flash doesn't print it's 156 warning upon not recognized FLASH banks. This is useful, if some of 157 the configured banks are only optionally available. 158 159config SYS_FLASH_CHECKSUM 160 bool "Compute and print flash CRC if 'flashchecksum' is set in the environment" 161 depends on MTD_NOR_FLASH 162 help 163 If the variable flashchecksum is set in the environment, perform a CRC 164 of the flash and print the value to console. 165 166config FLASH_VERIFY 167 bool "Compare writes to NOR flash with source location" 168 depends on MTD_NOR_FLASH 169 help 170 If enabled, the content of the flash (destination) is compared 171 against the source after the write operation. An error message will 172 be printed when the contents are not identical. Please note that 173 this option is useless in nearly all cases, since such flash 174 programming errors usually are detected earlier while 175 unprotecting/erasing/programming. Please only enable this option if 176 you really know what you are doing. 177 178config ALTERA_QSPI 179 bool "Altera Generic Quad SPI Controller" 180 depends on DM_MTD 181 select USE_SYS_MAX_FLASH_BANKS 182 help 183 This enables access to Altera EPCQ/EPCS flash chips using the 184 Altera Generic Quad SPI Controller. The controller converts SPI 185 NOR flash to parallel flash interface. Please find details on the 186 "Embedded Peripherals IP User Guide" of Altera. 187 188config RENESAS_RPC_HF 189 bool "Renesas RCar Gen3 RPC HyperFlash driver" 190 depends on RCAR_GEN3 && DM_MTD 191 help 192 This enables access to HyperFlash memory through the Renesas 193 RCar Gen3 RPC controller. 194 195config HBMC_AM654 196 bool "HyperBus controller driver for AM65x SoC" 197 depends on SYSCON 198 help 199 This is the driver for HyperBus controller on TI's AM65x and 200 other SoCs 201 202config STM32_FLASH 203 bool "STM32 MCU Flash driver" 204 depends on ARCH_STM32 205 select USE_SYS_MAX_FLASH_BANKS 206 help 207 This is the driver of embedded flash for some STMicroelectronics 208 STM32 MCU. 209 210config SYS_MAX_FLASH_SECT 211 int "Maximumm number of sectors on a flash chip" 212 depends on MTD_NOR_FLASH || FLASH_CFI_DRIVER 213 default 512 214 215config SAMSUNG_ONENAND 216 bool "Samsung OneNAND driver support" 217 218config USE_SYS_MAX_FLASH_BANKS 219 bool "Enable Max number of Flash memory banks" 220 help 221 When this option is enabled, the CONFIG_SYS_MAX_FLASH_BANKS 222 will be defined. 223 224config SYS_MAX_FLASH_BANKS 225 int "Max number of Flash memory banks" 226 depends on USE_SYS_MAX_FLASH_BANKS 227 default 1 228 help 229 Max number of Flash memory banks using by the MTD framework, in the 230 flash CFI driver and in some other driver to define the flash_info 231 struct declaration. 232 233config SYS_MAX_FLASH_BANKS_DETECT 234 bool "Detection of flash banks number in CFI driver" 235 depends on CFI_FLASH && FLASH_CFI_DRIVER 236 help 237 This enables detection of number of flash banks in CFI driver, 238 to reduce the effective number of flash bank, between 0 and 239 CONFIG_SYS_MAX_FLASH_BANKS 240 241source "drivers/mtd/nand/Kconfig" 242 243config SYS_NAND_MAX_OOBFREE 244 int "Maximum number of free OOB regions supported" 245 depends on SAMSUNG_ONENAND || MTD_RAW_NAND 246 range 2 32 247 default 32 248 help 249 Set the maximum number of free OOB regions supported. Useful for 250 reducing image size, especially with SPL. 251 252config SYS_NAND_MAX_ECCPOS 253 int "Maximum number of ECC bytes supported" 254 depends on SAMSUNG_ONENAND || MTD_RAW_NAND 255 range 48 2147483647 256 default 680 257 help 258 Set the maximum number of ECC bytes supported. Useful for reducing 259 image size, especially with SPL. 260 261config SYS_NAND_MAX_CHIPS 262 int "NAND max chips" 263 depends on MTD_RAW_NAND || CMD_ONENAND || TARGET_S5PC210_UNIVERSAL || \ 264 SPL_OMAP3_ID_NAND 265 default 1 266 help 267 The maximum number of NAND chips per device to be supported. 268 269source "drivers/mtd/spi/Kconfig" 270 271source "drivers/mtd/ubi/Kconfig" 272 273source "drivers/mtd/nvmxip/Kconfig" 274 275endmenu 276