Convert CONFIG_SYS_FLASH_ERASE_TOUT et al to Kconfig
[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 CFI_FLASH
81         bool "Enable Driver Model for CFI Flash driver"
82         depends on DM_MTD
83         select FLASH_CFI_DRIVER
84         help
85           The Common Flash Interface specification was developed by Intel,
86           AMD and other flash manufactures. It provides a universal method
87           for probing the capabilities of flash devices. If you wish to
88           support any device that is CFI-compliant, you need to enable this
89           option. Visit <http://www.amd.com/products/nvd/overview/cfi.html>
90           for more information on CFI.
91
92 config CFI_FLASH_USE_WEAK_ACCESSORS
93         bool "Allow read/write functions to be overridden"
94         depends on FLASH_CFI_DRIVER
95         help
96           Enable this option to allow for the flash_{read,write}{8,16,32,64}
97           functions to be overridden by the platform.
98
99 config SYS_CFI_FLASH_STATUS_POLL
100         bool "Poll status on AMD flash chips"
101         depends on FLASH_CFI_DRIVER
102
103 config SYS_FLASH_USE_BUFFER_WRITE
104         bool "Enable buffered writes to flash"
105         depends on FLASH_CFI_DRIVER
106         help
107           Use buffered writes to flash.
108
109 config SYS_FLASH_EMPTY_INFO
110         bool "Enable displaying empty sectors in flash info"
111         depends on FLASH_CFI_DRIVER
112
113 config FLASH_CFI_MTD
114         bool "Enable CFI MTD driver"
115         depends on FLASH_CFI_DRIVER
116         help
117           This option enables the building of the cfi_mtd driver
118           in the drivers directory. The driver exports CFI flash
119           to the MTD layer.
120
121 config SYS_FLASH_PROTECTION
122         bool "Use hardware flash protection"
123         depends on FLASH_CFI_DRIVER
124         help
125           If defined, hardware flash sectors protection is used
126           instead of U-Boot software protection.
127
128 config SYS_FLASH_CFI
129         bool "Define extra elements in CFI for flash geometry"
130         depends on FLASH_CFI_DRIVER
131         help
132           Define if the flash driver uses extra elements in the
133           common flash structure for storing flash geometry.
134
135 config SYS_FLASH_CHECKSUM
136         bool "Compute and print flash CRC if 'flashchecksum' is set in the environment"
137         depends on MTD_NOR_FLASH
138         help
139           If the variable flashchecksum is set in the environment, perform a CRC
140           of the flash and print the value to console.
141
142 config ALTERA_QSPI
143         bool "Altera Generic Quad SPI Controller"
144         depends on DM_MTD
145         select USE_SYS_MAX_FLASH_BANKS
146         help
147           This enables access to Altera EPCQ/EPCS flash chips using the
148           Altera Generic Quad SPI Controller. The controller converts SPI
149           NOR flash to parallel flash interface. Please find details on the
150           "Embedded Peripherals IP User Guide" of Altera.
151
152 config FLASH_PIC32
153         bool "Microchip PIC32 Flash driver"
154         depends on MACH_PIC32 && DM_MTD
155         select USE_SYS_MAX_FLASH_BANKS
156         help
157           This enables access to Microchip PIC32 internal non-CFI flash
158           chips through PIC32 Non-Volatile-Memory Controller.
159
160 config SYS_FLASH_ERASE_TOUT
161         int "Timeout in ms for performing an erase operation on the flash"
162         depends on FLASH_PIC32
163         help
164           Timeout for Flash erase operations (in ms)
165
166 config SYS_FLASH_WRITE_TOUT
167         int "Timeout in ms for performing a write operation on the flash"
168         depends on FLASH_PIC32
169         help
170           Timeout for Flash write operations (in ms)
171
172 config RENESAS_RPC_HF
173         bool "Renesas RCar Gen3 RPC HyperFlash driver"
174         depends on RCAR_GEN3 && DM_MTD
175         help
176           This enables access to HyperFlash memory through the Renesas
177           RCar Gen3 RPC controller.
178
179 config HBMC_AM654
180         bool "HyperBus controller driver for AM65x SoC"
181         depends on SYSCON
182         help
183          This is the driver for HyperBus controller on TI's AM65x and
184          other SoCs
185
186 config STM32_FLASH
187         bool "STM32 MCU Flash driver"
188         depends on ARCH_STM32
189         select USE_SYS_MAX_FLASH_BANKS
190         help
191          This is the driver of embedded flash for some STMicroelectronics
192          STM32 MCU.
193
194 config SAMSUNG_ONENAND
195         bool "Samsung OneNAND driver support"
196
197 config USE_SYS_MAX_FLASH_BANKS
198         bool "Enable Max number of Flash memory banks"
199         help
200           When this option is enabled, the CONFIG_SYS_MAX_FLASH_BANKS
201           will be defined.
202
203 config SYS_MAX_FLASH_BANKS
204         int "Max number of Flash memory banks"
205         depends on USE_SYS_MAX_FLASH_BANKS
206         default 1
207         help
208          Max number of Flash memory banks using by the MTD framework, in the
209          flash CFI driver and in some other driver to define the flash_info
210          struct declaration.
211
212 config SYS_MAX_FLASH_BANKS_DETECT
213         bool "Detection of flash banks number in CFI driver"
214         depends on CFI_FLASH && FLASH_CFI_DRIVER
215         help
216          This enables detection of number of flash banks in CFI driver,
217          to reduce the effective number of flash bank, between 0 and
218          CONFIG_SYS_MAX_FLASH_BANKS
219
220 source "drivers/mtd/nand/Kconfig"
221
222 config SYS_NAND_MAX_CHIPS
223         int "NAND max chips"
224         depends on MTD_RAW_NAND || CMD_ONENAND || TARGET_S5PC210_UNIVERSAL || \
225                 SPL_OMAP3_ID_NAND
226         default 1
227         help
228           The maximum number of NAND chips per device to be supported.
229
230 source "drivers/mtd/spi/Kconfig"
231
232 source "drivers/mtd/ubi/Kconfig"
233
234 endmenu