board: cssi: Add CPU board CMPCPRO
[platform/kernel/u-boot.git] / drivers / mtd / Kconfig
1 menu "MTD Support"
2
3 config MTD_PARTITIONS
4         bool
5
6 config 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
12 config 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
20 config MTD_NOR_FLASH
21         bool "Enable parallel NOR flash support"
22         help
23           Enable support for parallel NOR flash.
24
25 config 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
33 config 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
40 config 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
51 choice
52         prompt "Data-width of the flash device"
53         depends on FLASH_CFI_DRIVER
54         default SYS_FLASH_CFI_WIDTH_8BIT
55
56 config SYS_FLASH_CFI_WIDTH_8BIT
57         bool "Data-width of the device is 8-bit"
58
59 config SYS_FLASH_CFI_WIDTH_16BIT
60         bool "Data-width of the device is 16-bit"
61
62 config SYS_FLASH_CFI_WIDTH_32BIT
63         bool "Data-width of the device is 32-bit"
64
65 config SYS_FLASH_CFI_WIDTH_64BIT
66         bool "Data-width of the device is 64-bit"
67
68 endchoice
69
70 config 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
80 config 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
89 config 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
101 config 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
108 config SYS_CFI_FLASH_STATUS_POLL
109         bool "Poll status on AMD flash chips"
110         depends on FLASH_CFI_DRIVER
111
112 config 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
118 config SYS_FLASH_EMPTY_INFO
119         bool "Enable displaying empty sectors in flash info"
120         depends on FLASH_CFI_DRIVER
121
122 config 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
129 config 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
137 config 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
144 config 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
151 config 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
159 config 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
166 config 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
178 config 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
188 config 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
195 config 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
202 config 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
210 config 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
215 config SAMSUNG_ONENAND
216         bool "Samsung OneNAND driver support"
217
218 config 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
224 config 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
233 config 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
241 source "drivers/mtd/nand/Kconfig"
242
243 config 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
252 config 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
261 config 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
269 source "drivers/mtd/spi/Kconfig"
270
271 source "drivers/mtd/ubi/Kconfig"
272
273 endmenu