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