blob: 588ebe9119b98cfba3ff3c8b1bcdac1061656828 [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
Patrick Delaunayc39e19a2020-02-26 10:28:42 +010025config 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
Adam Ford2fe88d42018-10-14 15:10:50 -050032config FLASH_CFI_DRIVER
33 bool "Enable CFI Flash driver"
Patrick Delaunay0f9595b2022-01-04 14:24:00 +010034 select USE_SYS_MAX_FLASH_BANKS
Adam Ford2fe88d42018-10-14 15:10:50 -050035 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
Thomas Chouf1056912015-11-07 14:31:08 +080043config CFI_FLASH
44 bool "Enable Driver Model for CFI Flash driver"
Miquel Raynal1de770d2019-10-03 19:50:04 +020045 depends on DM_MTD
Bin Meng8fff9e32021-08-07 13:00:00 +080046 select FLASH_CFI_DRIVER
Thomas Chouf1056912015-11-07 14:31:08 +080047 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
Tom Rini819b4772022-02-25 11:19:52 -050055config 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
Adam Ford2fe88d42018-10-14 15:10:50 -050062config 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
68config 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
76config 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
83config 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
Thomas Chou38a0f362015-11-09 14:56:02 +080090config ALTERA_QSPI
91 bool "Altera Generic Quad SPI Controller"
Miquel Raynal1de770d2019-10-03 19:50:04 +020092 depends on DM_MTD
Patrick Delaunay0f9595b2022-01-04 14:24:00 +010093 select USE_SYS_MAX_FLASH_BANKS
Thomas Chou38a0f362015-11-09 14:56:02 +080094 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
Purna Chandra Mandal5c990452016-03-18 18:36:08 +0530100config FLASH_PIC32
101 bool "Microchip PIC32 Flash driver"
Miquel Raynal1de770d2019-10-03 19:50:04 +0200102 depends on MACH_PIC32 && DM_MTD
Patrick Delaunay0f9595b2022-01-04 14:24:00 +0100103 select USE_SYS_MAX_FLASH_BANKS
Purna Chandra Mandal5c990452016-03-18 18:36:08 +0530104 help
105 This enables access to Microchip PIC32 internal non-CFI flash
106 chips through PIC32 Non-Volatile-Memory Controller.
107
Marek Vasuta405a552017-08-19 23:24:08 +0200108config RENESAS_RPC_HF
Heinrich Schuchardt5558af12020-09-17 18:07:44 +0200109 bool "Renesas RCar Gen3 RPC HyperFlash driver"
Miquel Raynal1de770d2019-10-03 19:50:04 +0200110 depends on RCAR_GEN3 && DM_MTD
Marek Vasuta405a552017-08-19 23:24:08 +0200111 help
Heinrich Schuchardt5558af12020-09-17 18:07:44 +0200112 This enables access to HyperFlash memory through the Renesas
Marek Vasuta405a552017-08-19 23:24:08 +0200113 RCar Gen3 RPC controller.
114
Vignesh Raghavendrac2dfd0a2019-10-23 13:30:01 +0530115config 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
Patrick Delaunaycc30ea52021-10-04 11:05:52 +0200122config STM32_FLASH
123 bool "STM32 MCU Flash driver"
124 depends on ARCH_STM32
Patrick Delaunay0f9595b2022-01-04 14:24:00 +0100125 select USE_SYS_MAX_FLASH_BANKS
Patrick Delaunaycc30ea52021-10-04 11:05:52 +0200126 help
127 This is the driver of embedded flash for some STMicroelectronics
128 STM32 MCU.
129
Patrick Delaunay0f9595b2022-01-04 14:24:00 +0100130config 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
136config 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
145config 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
Masahiro Yamada4b0abf92014-10-03 19:21:03 +0900153source "drivers/mtd/nand/Kconfig"
Simon Glassf94a1be2015-02-05 21:41:35 -0700154
Tom Rinib2e25af2021-09-22 14:50:36 -0400155config 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
Simon Glassf94a1be2015-02-05 21:41:35 -0700163source "drivers/mtd/spi/Kconfig"
Heiko Schocher8f2fe0c2016-09-21 07:58:19 +0200164
165source "drivers/mtd/ubi/Kconfig"
Miquel Raynalce9bdc82018-08-16 17:30:06 +0200166
167endmenu