summaryrefslogtreecommitdiff
path: root/drivers/mtd/Kconfig
blob: ce74ef31d7557b77dabcfe114b4bb0f0822bffbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
menu "MTD Support"

config MTD_PARTITIONS
	bool
	select PARTITIONS

config MTD
	bool "Enable MTD layer"
	help
	  Enable the MTD stack, necessary to interact with NAND, NOR,
	  SPI-NOR, SPI-NAND, OneNAND, etc.

if MTD

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.

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"
	help
	  Enable support for concatenating multiple physical MTD devices
	  into a single logical device. The larger logical device can then
	  be partitioned.

config MTD_BLOCK
	bool "Enable block device access to MTD devices"
	depends on BLK
	default n
	help
	  Enable support for block device access to MTD devices
	  using blk_ops abstraction.

config SYS_MTDPARTS_RUNTIME
	bool "Allow MTDPARTS to be configured at runtime"
	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 FLASH_SHOW_PROGRESS
	int "Print out a countdown durinng writes"
	depends on FLASH_CFI_DRIVER
	default 45
	help
	  If set to a non-zero value, print out countdown digits and dots.
	  Recommended value: 45 (9..1) for 80 column displays, 15 (3..1) for 40
	  column displays.

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 SYS_FLASH_EMPTY_INFO
	bool "Enable displaying empty sectors in flash info"
	depends on FLASH_CFI_DRIVER

config FLASH_SPANSION_S29WS_N
	bool "Non-standard s29ws-n MirrorBit flash"
	depends on FLASH_CFI_DRIVER
	help
	  Enable this if the s29ws-n MirrorBit flash has non-standard addresses
	  for buffered write commands.

config FLASH_CFI_MTD
	bool "Enable CFI MTD driver"
	depends on FLASH_CFI_DRIVER && MTD
	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 FLASH_VERIFY
	bool "Compare writes to NOR flash with source location"
	depends on MTD_NOR_FLASH
	help
	  If enabled, the content of the flash (destination) is compared
	  against the source after the write operation. An error message will
	  be printed when the contents are not identical.  Please note that
	  this option is useless in nearly all cases, since such flash
	  programming errors usually are detected earlier while
	  unprotecting/erasing/programming. Please only enable this option if
	  you really know what you are doing.

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 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 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_OOBFREE
	int "Maximum number of free OOB regions supported"
	depends on SAMSUNG_ONENAND || MTD_RAW_NAND
	range 2 32
	default 32
	help
	  Set the maximum number of free OOB regions supported.  Useful for
	  reducing image size, especially with SPL.

config SYS_NAND_MAX_ECCPOS
	int "Maximum number of ECC bytes supported"
	depends on SAMSUNG_ONENAND || MTD_RAW_NAND
	range 48 2147483647
	default 680
	help
	  Set the maximum number of ECC bytes supported.  Useful for reducing
	  image size, especially with SPL.

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"

source "drivers/mtd/nvmxip/Kconfig"

endif

endmenu