Merge branch '2022-03-03-Kconfig-migrations' into next
[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 CFI_FLASH_USE_WEAK_ACCESSORS
56         bool "Allow read/write functions to be overridden"
57         depends on FLASH_CFI_DRIVER
58         help
59           Enable this option to allow for the flash_{read,write}{8,16,32,64}
60           functions to be overridden by the platform.
61
62 config SYS_FLASH_USE_BUFFER_WRITE
63         bool "Enable buffered writes to flash"
64         depends on FLASH_CFI_DRIVER
65         help
66           Use buffered writes to flash.
67
68 config FLASH_CFI_MTD
69         bool "Enable CFI MTD driver"
70         depends on FLASH_CFI_DRIVER
71         help
72           This option enables the building of the cfi_mtd driver
73           in the drivers directory. The driver exports CFI flash
74           to the MTD layer.
75
76 config SYS_FLASH_PROTECTION
77         bool "Use hardware flash protection"
78         depends on FLASH_CFI_DRIVER
79         help
80           If defined, hardware flash sectors protection is used
81           instead of U-Boot software protection.
82
83 config SYS_FLASH_CFI
84         bool "Define extra elements in CFI for flash geometry"
85         depends on FLASH_CFI_DRIVER
86         help
87           Define if the flash driver uses extra elements in the
88           common flash structure for storing flash geometry.
89
90 config ALTERA_QSPI
91         bool "Altera Generic Quad SPI Controller"
92         depends on DM_MTD
93         select USE_SYS_MAX_FLASH_BANKS
94         help
95           This enables access to Altera EPCQ/EPCS flash chips using the
96           Altera Generic Quad SPI Controller. The controller converts SPI
97           NOR flash to parallel flash interface. Please find details on the
98           "Embedded Peripherals IP User Guide" of Altera.
99
100 config FLASH_PIC32
101         bool "Microchip PIC32 Flash driver"
102         depends on MACH_PIC32 && DM_MTD
103         select USE_SYS_MAX_FLASH_BANKS
104         help
105           This enables access to Microchip PIC32 internal non-CFI flash
106           chips through PIC32 Non-Volatile-Memory Controller.
107
108 config RENESAS_RPC_HF
109         bool "Renesas RCar Gen3 RPC HyperFlash driver"
110         depends on RCAR_GEN3 && DM_MTD
111         help
112           This enables access to HyperFlash memory through the Renesas
113           RCar Gen3 RPC controller.
114
115 config HBMC_AM654
116         bool "HyperBus controller driver for AM65x SoC"
117         depends on SYSCON
118         help
119          This is the driver for HyperBus controller on TI's AM65x and
120          other SoCs
121
122 config STM32_FLASH
123         bool "STM32 MCU Flash driver"
124         depends on ARCH_STM32
125         select USE_SYS_MAX_FLASH_BANKS
126         help
127          This is the driver of embedded flash for some STMicroelectronics
128          STM32 MCU.
129
130 config USE_SYS_MAX_FLASH_BANKS
131         bool "Enable Max number of Flash memory banks"
132         help
133           When this option is enabled, the CONFIG_SYS_MAX_FLASH_BANKS
134           will be defined.
135
136 config SYS_MAX_FLASH_BANKS
137         int "Max number of Flash memory banks"
138         depends on USE_SYS_MAX_FLASH_BANKS
139         default 1
140         help
141          Max number of Flash memory banks using by the MTD framework, in the
142          flash CFI driver and in some other driver to define the flash_info
143          struct declaration.
144
145 config SYS_MAX_FLASH_BANKS_DETECT
146         bool "Detection of flash banks number in CFI driver"
147         depends on CFI_FLASH && FLASH_CFI_DRIVER
148         help
149          This enables detection of number of flash banks in CFI driver,
150          to reduce the effective number of flash bank, between 0 and
151          CONFIG_SYS_MAX_FLASH_BANKS
152
153 source "drivers/mtd/nand/Kconfig"
154
155 config SYS_NAND_MAX_CHIPS
156         int "NAND max chips"
157         depends on MTD_RAW_NAND || CMD_ONENAND || TARGET_S5PC210_UNIVERSAL || \
158                 SPL_OMAP3_ID_NAND
159         default 1
160         help
161           The maximum number of NAND chips per device to be supported.
162
163 source "drivers/mtd/spi/Kconfig"
164
165 source "drivers/mtd/ubi/Kconfig"
166
167 endmenu