blob: 4088267dd111d5bf453746984131c0529673a5f9 [file] [log] [blame]
Thomas Choud8587992015-11-07 14:20:31 +08001menu "MTD Support"
2
Miquel Raynal4048a5c2018-08-16 17:30:18 +02003config MTD_PARTITIONS
4 bool
5
Miquel Raynal888f1842019-10-03 19:50:05 +02006config MTD
7 bool "Enable MTD layer"
8 help
Heinrich Schuchardt5558af12020-09-17 18:07:44 +02009 Enable the MTD stack, necessary to interact with NAND, NOR,
10 SPI-NOR, SPI-NAND, OneNAND, etc.
Miquel Raynal888f1842019-10-03 19:50:05 +020011
Miquel Raynal1de770d2019-10-03 19:50:04 +020012config DM_MTD
Thomas Choud8587992015-11-07 14:20:31 +080013 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
Masahiro Yamadae856bdc2017-02-11 22:43:54 +090020config MTD_NOR_FLASH
21 bool "Enable parallel NOR flash support"
22 help
23 Enable support for parallel NOR flash.
24
Chris Packham54a54a62022-05-03 21:24:57 +120025config 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
Patrick Delaunayc39e19a2020-02-26 10:28:42 +010033config 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
Adam Ford2fe88d42018-10-14 15:10:50 -050040config FLASH_CFI_DRIVER
41 bool "Enable CFI Flash driver"
Patrick Delaunay0f9595b2022-01-04 14:24:00 +010042 select USE_SYS_MAX_FLASH_BANKS
Adam Ford2fe88d42018-10-14 15:10:50 -050043 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
Thomas Chouf1056912015-11-07 14:31:08 +080051config CFI_FLASH
52 bool "Enable Driver Model for CFI Flash driver"
Miquel Raynal1de770d2019-10-03 19:50:04 +020053 depends on DM_MTD
Bin Meng8fff9e32021-08-07 13:00:00 +080054 select FLASH_CFI_DRIVER
Thomas Chouf1056912015-11-07 14:31:08 +080055 help
56 The Common Flash Interface specification was developed by Intel,
57 AMD and other flash manufactures. It provides a universal method
58 for probing the capabilities of flash devices. If you wish to
59 support any device that is CFI-compliant, you need to enable this
60 option. Visit <http://www.amd.com/products/nvd/overview/cfi.html>
61 for more information on CFI.
62
Tom Rini819b4772022-02-25 11:19:52 -050063config CFI_FLASH_USE_WEAK_ACCESSORS
64 bool "Allow read/write functions to be overridden"
65 depends on FLASH_CFI_DRIVER
66 help
67 Enable this option to allow for the flash_{read,write}{8,16,32,64}
68 functions to be overridden by the platform.
69
Adam Ford2fe88d42018-10-14 15:10:50 -050070config SYS_FLASH_USE_BUFFER_WRITE
71 bool "Enable buffered writes to flash"
72 depends on FLASH_CFI_DRIVER
73 help
74 Use buffered writes to flash.
75
76config FLASH_CFI_MTD
77 bool "Enable CFI MTD driver"
78 depends on FLASH_CFI_DRIVER
79 help
80 This option enables the building of the cfi_mtd driver
81 in the drivers directory. The driver exports CFI flash
82 to the MTD layer.
83
84config SYS_FLASH_PROTECTION
85 bool "Use hardware flash protection"
86 depends on FLASH_CFI_DRIVER
87 help
88 If defined, hardware flash sectors protection is used
89 instead of U-Boot software protection.
90
91config SYS_FLASH_CFI
92 bool "Define extra elements in CFI for flash geometry"
93 depends on FLASH_CFI_DRIVER
94 help
95 Define if the flash driver uses extra elements in the
96 common flash structure for storing flash geometry.
97
Thomas Chou38a0f362015-11-09 14:56:02 +080098config ALTERA_QSPI
99 bool "Altera Generic Quad SPI Controller"
Miquel Raynal1de770d2019-10-03 19:50:04 +0200100 depends on DM_MTD
Patrick Delaunay0f9595b2022-01-04 14:24:00 +0100101 select USE_SYS_MAX_FLASH_BANKS
Thomas Chou38a0f362015-11-09 14:56:02 +0800102 help
103 This enables access to Altera EPCQ/EPCS flash chips using the
104 Altera Generic Quad SPI Controller. The controller converts SPI
105 NOR flash to parallel flash interface. Please find details on the
106 "Embedded Peripherals IP User Guide" of Altera.
107
Purna Chandra Mandal5c990452016-03-18 18:36:08 +0530108config FLASH_PIC32
109 bool "Microchip PIC32 Flash driver"
Miquel Raynal1de770d2019-10-03 19:50:04 +0200110 depends on MACH_PIC32 && DM_MTD
Patrick Delaunay0f9595b2022-01-04 14:24:00 +0100111 select USE_SYS_MAX_FLASH_BANKS
Purna Chandra Mandal5c990452016-03-18 18:36:08 +0530112 help
113 This enables access to Microchip PIC32 internal non-CFI flash
114 chips through PIC32 Non-Volatile-Memory Controller.
115
Marek Vasuta405a552017-08-19 23:24:08 +0200116config RENESAS_RPC_HF
Heinrich Schuchardt5558af12020-09-17 18:07:44 +0200117 bool "Renesas RCar Gen3 RPC HyperFlash driver"
Miquel Raynal1de770d2019-10-03 19:50:04 +0200118 depends on RCAR_GEN3 && DM_MTD
Marek Vasuta405a552017-08-19 23:24:08 +0200119 help
Heinrich Schuchardt5558af12020-09-17 18:07:44 +0200120 This enables access to HyperFlash memory through the Renesas
Marek Vasuta405a552017-08-19 23:24:08 +0200121 RCar Gen3 RPC controller.
122
Vignesh Raghavendrac2dfd0a2019-10-23 13:30:01 +0530123config HBMC_AM654
124 bool "HyperBus controller driver for AM65x SoC"
125 depends on SYSCON
126 help
127 This is the driver for HyperBus controller on TI's AM65x and
128 other SoCs
129
Patrick Delaunaycc30ea52021-10-04 11:05:52 +0200130config STM32_FLASH
131 bool "STM32 MCU Flash driver"
132 depends on ARCH_STM32
Patrick Delaunay0f9595b2022-01-04 14:24:00 +0100133 select USE_SYS_MAX_FLASH_BANKS
Patrick Delaunaycc30ea52021-10-04 11:05:52 +0200134 help
135 This is the driver of embedded flash for some STMicroelectronics
136 STM32 MCU.
137
Patrick Delaunay0f9595b2022-01-04 14:24:00 +0100138config USE_SYS_MAX_FLASH_BANKS
139 bool "Enable Max number of Flash memory banks"
140 help
141 When this option is enabled, the CONFIG_SYS_MAX_FLASH_BANKS
142 will be defined.
143
144config SYS_MAX_FLASH_BANKS
145 int "Max number of Flash memory banks"
146 depends on USE_SYS_MAX_FLASH_BANKS
147 default 1
148 help
149 Max number of Flash memory banks using by the MTD framework, in the
150 flash CFI driver and in some other driver to define the flash_info
151 struct declaration.
152
153config SYS_MAX_FLASH_BANKS_DETECT
154 bool "Detection of flash banks number in CFI driver"
155 depends on CFI_FLASH && FLASH_CFI_DRIVER
156 help
157 This enables detection of number of flash banks in CFI driver,
158 to reduce the effective number of flash bank, between 0 and
159 CONFIG_SYS_MAX_FLASH_BANKS
160
Masahiro Yamada4b0abf92014-10-03 19:21:03 +0900161source "drivers/mtd/nand/Kconfig"
Simon Glassf94a1be2015-02-05 21:41:35 -0700162
Tom Rinib2e25af2021-09-22 14:50:36 -0400163config SYS_NAND_MAX_CHIPS
164 int "NAND max chips"
165 depends on MTD_RAW_NAND || CMD_ONENAND || TARGET_S5PC210_UNIVERSAL || \
166 SPL_OMAP3_ID_NAND
167 default 1
168 help
169 The maximum number of NAND chips per device to be supported.
170
Simon Glassf94a1be2015-02-05 21:41:35 -0700171source "drivers/mtd/spi/Kconfig"
Heiko Schocher8f2fe0c2016-09-21 07:58:19 +0200172
173source "drivers/mtd/ubi/Kconfig"
Miquel Raynalce9bdc82018-08-16 17:30:06 +0200174
175endmenu