configs: Migrate CONFIG_SYS_MAX_FLASH_BANKS 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 SYS_MTDPARTS_RUNTIME
26         bool "Allow MTDPARTS to be configured at runtime"
27         depends on MTD
28         help
29           This option allows to call the function board_mtdparts_default to
30           dynamically build the variables mtdids and mtdparts at runtime.
31
32 config FLASH_CFI_DRIVER
33         bool "Enable CFI Flash driver"
34         select USE_SYS_MAX_FLASH_BANKS
35         help
36           The Common Flash Interface specification was developed by Intel,
37           AMD and other flash manufactures. It provides a universal method
38           for probing the capabilities of flash devices. If you wish to
39           support any device that is CFI-compliant, you need to enable this
40           option. Visit <http://www.amd.com/products/nvd/overview/cfi.html>
41           for more information on CFI.
42
43 config CFI_FLASH
44         bool "Enable Driver Model for CFI Flash driver"
45         depends on DM_MTD
46         select FLASH_CFI_DRIVER
47         help
48           The Common Flash Interface specification was developed by Intel,
49           AMD and other flash manufactures. It provides a universal method
50           for probing the capabilities of flash devices. If you wish to
51           support any device that is CFI-compliant, you need to enable this
52           option. Visit <http://www.amd.com/products/nvd/overview/cfi.html>
53           for more information on CFI.
54
55 config SYS_FLASH_USE_BUFFER_WRITE
56         bool "Enable buffered writes to flash"
57         depends on FLASH_CFI_DRIVER
58         help
59           Use buffered writes to flash.
60
61 config FLASH_CFI_MTD
62         bool "Enable CFI MTD driver"
63         depends on FLASH_CFI_DRIVER
64         help
65           This option enables the building of the cfi_mtd driver
66           in the drivers directory. The driver exports CFI flash
67           to the MTD layer.
68
69 config SYS_FLASH_PROTECTION
70         bool "Use hardware flash protection"
71         depends on FLASH_CFI_DRIVER
72         help
73           If defined, hardware flash sectors protection is used
74           instead of U-Boot software protection.
75
76 config SYS_FLASH_CFI
77         bool "Define extra elements in CFI for flash geometry"
78         depends on FLASH_CFI_DRIVER
79         help
80           Define if the flash driver uses extra elements in the
81           common flash structure for storing flash geometry.
82
83 config ALTERA_QSPI
84         bool "Altera Generic Quad SPI Controller"
85         depends on DM_MTD
86         select USE_SYS_MAX_FLASH_BANKS
87         help
88           This enables access to Altera EPCQ/EPCS flash chips using the
89           Altera Generic Quad SPI Controller. The controller converts SPI
90           NOR flash to parallel flash interface. Please find details on the
91           "Embedded Peripherals IP User Guide" of Altera.
92
93 config FLASH_PIC32
94         bool "Microchip PIC32 Flash driver"
95         depends on MACH_PIC32 && DM_MTD
96         select USE_SYS_MAX_FLASH_BANKS
97         help
98           This enables access to Microchip PIC32 internal non-CFI flash
99           chips through PIC32 Non-Volatile-Memory Controller.
100
101 config RENESAS_RPC_HF
102         bool "Renesas RCar Gen3 RPC HyperFlash driver"
103         depends on RCAR_GEN3 && DM_MTD
104         help
105           This enables access to HyperFlash memory through the Renesas
106           RCar Gen3 RPC controller.
107
108 config HBMC_AM654
109         bool "HyperBus controller driver for AM65x SoC"
110         depends on SYSCON
111         help
112          This is the driver for HyperBus controller on TI's AM65x and
113          other SoCs
114
115 config STM32_FLASH
116         bool "STM32 MCU Flash driver"
117         depends on ARCH_STM32
118         select USE_SYS_MAX_FLASH_BANKS
119         help
120          This is the driver of embedded flash for some STMicroelectronics
121          STM32 MCU.
122
123 config USE_SYS_MAX_FLASH_BANKS
124         bool "Enable Max number of Flash memory banks"
125         help
126           When this option is enabled, the CONFIG_SYS_MAX_FLASH_BANKS
127           will be defined.
128
129 config SYS_MAX_FLASH_BANKS
130         int "Max number of Flash memory banks"
131         depends on USE_SYS_MAX_FLASH_BANKS
132         default 1
133         help
134          Max number of Flash memory banks using by the MTD framework, in the
135          flash CFI driver and in some other driver to define the flash_info
136          struct declaration.
137
138 config SYS_MAX_FLASH_BANKS_DETECT
139         bool "Detection of flash banks number in CFI driver"
140         depends on CFI_FLASH && FLASH_CFI_DRIVER
141         help
142          This enables detection of number of flash banks in CFI driver,
143          to reduce the effective number of flash bank, between 0 and
144          CONFIG_SYS_MAX_FLASH_BANKS
145
146 source "drivers/mtd/nand/Kconfig"
147
148 config SYS_NAND_MAX_CHIPS
149         int "NAND max chips"
150         depends on MTD_RAW_NAND || CMD_ONENAND || TARGET_S5PC210_UNIVERSAL || \
151                 SPL_OMAP3_ID_NAND
152         default 1
153         help
154           The maximum number of NAND chips per device to be supported.
155
156 source "drivers/mtd/spi/Kconfig"
157
158 source "drivers/mtd/ubi/Kconfig"
159
160 endmenu