blob: 67126d96af89f71dbe4a33127a2907e202d74236 [file] [log] [blame]
Bin Meng6b697752018-09-26 06:55:06 -07001menu "RISC-V architecture"
Rick Chen64d4ead2017-12-26 13:55:52 +08002 depends on RISCV
3
4config SYS_ARCH
5 default "riscv"
6
7choice
8 prompt "Target select"
9 optional
10
Randolph6c9c5ba2023-09-25 17:24:51 +080011config TARGET_ANDES_AE350
12 bool "Support Andes ae350"
Rick Chen64d4ead2017-12-26 13:55:52 +080013
Padmarao Begari4216f342019-05-28 15:47:51 +053014config TARGET_MICROCHIP_ICICLE
15 bool "Support Microchip PolarFire-SoC Icicle Board"
16
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050017config TARGET_OPENPITON_RISCV64
18 bool "Support RISC-V cores on OpenPiton SoC"
19
Bin Meng8a8694d2018-09-26 06:55:21 -070020config TARGET_QEMU_VIRT
21 bool "Support QEMU Virt Board"
22
Bin Menge9ead4a2021-03-17 11:10:58 +080023config TARGET_SIFIVE_UNLEASHED
24 bool "Support SiFive Unleashed Board"
Anup Patel7a167f22019-02-25 08:15:19 +000025
Green Wan2e5da522021-05-27 06:52:13 -070026config TARGET_SIFIVE_UNMATCHED
27 bool "Support SiFive Unmatched Board"
Tom Rini3ef67ae2021-08-26 11:47:59 -040028 select SYS_CACHE_SHIFT_6
Green Wan2e5da522021-05-27 06:52:13 -070029
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050030config TARGET_SIPEED_MAIX
31 bool "Support Sipeed Maix Board"
32 select SYS_CACHE_SHIFT_6
33
Yanhong Wang38678792023-03-29 11:42:20 +080034config TARGET_STARFIVE_VISIONFIVE2
35 bool "Support StarFive VisionFive2 Board"
Heinrich Schuchardt03a885b2023-09-07 13:21:28 +020036 select BOARD_LATE_INIT
Yanhong Wang38678792023-03-29 11:42:20 +080037
Yixun Lan5dfa9012023-07-08 19:24:32 +080038config TARGET_TH1520_LPI4A
39 bool "Support Sipeed's TH1520 Lichee PI 4A Board"
40 select SYS_CACHE_SHIFT_6
41
Michal Simek962c10a2023-11-06 12:56:47 +010042config TARGET_XILINX_MBV
43 bool "Support AMD/Xilinx MicroBlaze V"
44
Rick Chen64d4ead2017-12-26 13:55:52 +080045endchoice
46
Trevor Woernerba64b8b2019-05-03 09:40:59 -040047config SYS_ICACHE_OFF
48 bool "Do not enable icache"
Trevor Woernerba64b8b2019-05-03 09:40:59 -040049 help
50 Do not enable instruction cache in U-Boot.
51
Trevor Woerner43ec7e02019-05-03 09:41:00 -040052config SPL_SYS_ICACHE_OFF
53 bool "Do not enable icache in SPL"
54 depends on SPL
55 default SYS_ICACHE_OFF
56 help
57 Do not enable instruction cache in SPL.
58
Trevor Woernerba64b8b2019-05-03 09:40:59 -040059config SYS_DCACHE_OFF
60 bool "Do not enable dcache"
Trevor Woernerba64b8b2019-05-03 09:40:59 -040061 help
62 Do not enable data cache in U-Boot.
63
Trevor Woerner43ec7e02019-05-03 09:41:00 -040064config SPL_SYS_DCACHE_OFF
65 bool "Do not enable dcache in SPL"
66 depends on SPL
67 default SYS_DCACHE_OFF
68 help
69 Do not enable data cache in SPL.
70
Shengyu Qud1a32542023-08-09 21:11:31 +080071config SPL_ZERO_MEM_BEFORE_USE
72 bool "Zero memory before use"
73 depends on SPL
Shengyu Qud1a32542023-08-09 21:11:31 +080074 help
75 Zero stack/GD/malloc area in SPL before using them, this is needed for
76 Sifive core devices that uses L2 cache to store SPL.
77
Rick Chen842d5802018-11-07 09:34:06 +080078# board-specific options below
Leo Yu-Chi Liang249ce732023-02-14 20:42:49 +080079source "board/AndesTech/ae350/Kconfig"
Bin Meng8a8694d2018-09-26 06:55:21 -070080source "board/emulation/qemu-riscv/Kconfig"
Padmarao Begari4216f342019-05-28 15:47:51 +053081source "board/microchip/mpfs_icicle/Kconfig"
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050082source "board/openpiton/riscv64/Kconfig"
Bin Menge9ead4a2021-03-17 11:10:58 +080083source "board/sifive/unleashed/Kconfig"
Green Wan2e5da522021-05-27 06:52:13 -070084source "board/sifive/unmatched/Kconfig"
Sean Andersonedc32ab2020-06-24 06:41:25 -040085source "board/sipeed/maix/Kconfig"
Yanhong Wang38678792023-03-29 11:42:20 +080086source "board/starfive/visionfive2/Kconfig"
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050087source "board/thead/th1520_lpi4a/Kconfig"
Michal Simek962c10a2023-11-06 12:56:47 +010088source "board/xilinx/mbv/Kconfig"
Rick Chen64d4ead2017-12-26 13:55:52 +080089
Rick Chen842d5802018-11-07 09:34:06 +080090# platform-specific options below
Leo Yu-Chi Liang249ce732023-02-14 20:42:49 +080091source "arch/riscv/cpu/andesv5/Kconfig"
Pragnesh Patel25269c02020-05-29 11:33:34 +053092source "arch/riscv/cpu/fu540/Kconfig"
Green Wan7f337432021-05-27 06:52:07 -070093source "arch/riscv/cpu/fu740/Kconfig"
Anup Patel1240cd62019-02-25 08:14:10 +000094source "arch/riscv/cpu/generic/Kconfig"
Yanhong Wang38678792023-03-29 11:42:20 +080095source "arch/riscv/cpu/jh7110/Kconfig"
Rick Chen842d5802018-11-07 09:34:06 +080096
97# architecture-specific options below
98
Rick Chen64d4ead2017-12-26 13:55:52 +080099choice
Lukas Auer54ebfe72018-11-22 11:26:12 +0100100 prompt "Base ISA"
101 default ARCH_RV32I
Rick Chen64d4ead2017-12-26 13:55:52 +0800102
Lukas Auer54ebfe72018-11-22 11:26:12 +0100103config ARCH_RV32I
104 bool "RV32I"
Rick Chen64d4ead2017-12-26 13:55:52 +0800105 select 32BIT
106 help
Lukas Auer54ebfe72018-11-22 11:26:12 +0100107 Choose this option to target the RV32I base integer instruction set.
Rick Chen64d4ead2017-12-26 13:55:52 +0800108
Lukas Auer54ebfe72018-11-22 11:26:12 +0100109config ARCH_RV64I
110 bool "RV64I"
Rick Chen64d4ead2017-12-26 13:55:52 +0800111 select 64BIT
Lukas Auer7ab1df02018-11-22 11:26:13 +0100112 select PHYS_64BIT
Rick Chen64d4ead2017-12-26 13:55:52 +0800113 help
Lukas Auer54ebfe72018-11-22 11:26:12 +0100114 Choose this option to target the RV64I base integer instruction set.
Rick Chen64d4ead2017-12-26 13:55:52 +0800115
116endchoice
117
Lukas Auerecc5d832018-12-12 06:12:23 -0800118choice
119 prompt "Code Model"
120 default CMODEL_MEDLOW
121
122config CMODEL_MEDLOW
123 bool "medium low code model"
124 help
125 U-Boot and its statically defined symbols must lie within a single 2 GiB
126 address range and must lie between absolute addresses -2 GiB and +2 GiB.
127
128config CMODEL_MEDANY
129 bool "medium any code model"
130 help
131 U-Boot and its statically defined symbols must be within any single 2 GiB
132 address range.
133
134endchoice
135
Anup Patel27881772018-12-12 06:12:29 -0800136choice
137 prompt "Run Mode"
138 default RISCV_MMODE
139
140config RISCV_MMODE
141 bool "Machine"
142 help
143 Choose this option to build U-Boot for RISC-V M-Mode.
144
145config RISCV_SMODE
146 bool "Supervisor"
Heinrich Schuchardt20964b62023-09-23 01:35:26 +0200147 imply DEBUG_UART
Anup Patel27881772018-12-12 06:12:29 -0800148 help
149 Choose this option to build U-Boot for RISC-V S-Mode.
150
151endchoice
152
Lukas Auer61346592019-08-21 21:14:43 +0200153choice
154 prompt "SPL Run Mode"
155 default SPL_RISCV_MMODE
156 depends on SPL
157
158config SPL_RISCV_MMODE
159 bool "Machine"
160 help
161 Choose this option to build U-Boot SPL for RISC-V M-Mode.
162
163config SPL_RISCV_SMODE
164 bool "Supervisor"
165 help
166 Choose this option to build U-Boot SPL for RISC-V S-Mode.
167
168endchoice
169
Lukas Auer002012f2018-11-22 11:26:14 +0100170config RISCV_ISA_C
171 bool "Emit compressed instructions"
172 default y
173 help
174 Adds "C" to the ISA subsets that the toolchain is allowed to emit
175 when building U-Boot, which results in compressed instructions in the
176 U-Boot binary.
177
Heinrich Schuchardtc66c9502022-10-12 14:59:51 +0200178config RISCV_ISA_F
179 bool "Standard extension for Single-Precision Floating Point"
180 default y
181 help
182 Adds "F" to the ISA string passed to the compiler.
183
184config RISCV_ISA_D
185 bool "Standard extension for Double-Precision Floating Point"
186 depends on RISCV_ISA_F
187 default y
188 help
189 Adds "D" to the ISA string passed to the compiler and changes the
190 riscv32 ABI from ilp32 to ilp32d and the riscv64 ABI from lp64 to
191 lp64d.
192
Yu Chien Peter Lin60814cb2023-08-09 18:49:30 +0800193config RISCV_ISA_ZBB
194 bool "Zbb extension support for bit manipulation instructions"
195 help
196 Adds ZBB extension (basic bit manipulation) to the ISA subsets
197 that the toolchain is allowed to emit when building U-Boot.
198 The Zbb extension provides instructions to accelerate a number
199 of bit-specific operations (count bit population, sign extending,
200 bitrotation, etc) and enables optimized string routines.
201
202menu "Use assembly optimized implementation of string routines"
203
204config USE_ARCH_STRLEN
205 bool "Use an assembly optimized implementation of strlen"
206 default y
207 depends on RISCV_ISA_ZBB
208 help
209 Enable the generation of an optimized version of strlen using
210 Zbb extension.
211
212config SPL_USE_ARCH_STRLEN
213 bool "Use an assembly optimized implementation of strlen for SPL"
214 default y if USE_ARCH_STRLEN
215 depends on RISCV_ISA_ZBB
216 depends on SPL
217 help
218 Enable the generation of an optimized version of strlen using
219 Zbb extension.
220
221config TPL_USE_ARCH_STRLEN
222 bool "Use an assembly optimized implementation of strlen for TPL"
223 default y if USE_ARCH_STRLEN
224 depends on RISCV_ISA_ZBB
225 depends on TPL
226 help
227 Enable the generation of an optimized version of strlen using
228 Zbb extension.
229
230config USE_ARCH_STRCMP
231 bool "Use an assembly optimized implementation of strcmp"
232 default y
233 depends on RISCV_ISA_ZBB
234 help
235 Enable the generation of an optimized version of strcmp using
236 Zbb extension.
237
238config SPL_USE_ARCH_STRCMP
239 bool "Use an assembly optimized implementation of strcmp for SPL"
240 default y if USE_ARCH_STRCMP
241 depends on RISCV_ISA_ZBB
242 depends on SPL
243 help
244 Enable the generation of an optimized version of strcmp using
245 Zbb extension.
246
247config TPL_USE_ARCH_STRCMP
248 bool "Use an assembly optimized implementation of strcmp for TPL"
249 default y if USE_ARCH_STRCMP
250 depends on RISCV_ISA_ZBB
251 depends on TPL
252 help
253 Enable the generation of an optimized version of strcmp using
254 Zbb extension.
255
256config USE_ARCH_STRNCMP
257 bool "Use an assembly optimized implementation of strncmp"
258 default y
259 depends on RISCV_ISA_ZBB
260 help
261 Enable the generation of an optimized version of strncmp using
262 Zbb extension.
263
264config SPL_USE_ARCH_STRNCMP
265 bool "Use an assembly optimized implementation of strncmp for SPL"
266 default y if USE_ARCH_STRNCMP
267 depends on RISCV_ISA_ZBB
268 depends on SPL
269 help
270 Enable the generation of an optimized version of strncmp using
271 Zbb extension.
272
273config TPL_USE_ARCH_STRNCMP
274 bool "Use an assembly optimized implementation of strncmp for TPL"
275 default y if USE_ARCH_STRNCMP
276 depends on RISCV_ISA_ZBB
277 depends on TPL
278 help
279 Enable the generation of an optimized version of strncmp using
280 Zbb extension.
281
282endmenu
283
Lukas Auer002012f2018-11-22 11:26:14 +0100284config RISCV_ISA_A
285 def_bool y
286
Rick Chen64d4ead2017-12-26 13:55:52 +0800287config 32BIT
288 bool
289
290config 64BIT
291 bool
292
Padmarao Begaria235d432021-01-15 08:20:35 +0530293config DMA_ADDR_T_64BIT
294 bool
295 default y if 64BIT
296
Bin Mengb5f03722023-06-21 23:11:46 +0800297config RISCV_ACLINT
Bin Mengb6ee5e12018-12-12 06:12:30 -0800298 bool
Bin Meng614b1d82021-05-11 20:04:12 +0800299 depends on RISCV_MMODE
Bin Meng08b8d262023-06-21 23:11:45 +0800300 select REGMAP
301 select SYSCON
Bin Meng614b1d82021-05-11 20:04:12 +0800302 help
Bin Mengb5f03722023-06-21 23:11:46 +0800303 The RISC-V ACLINT block holds memory-mapped control and status registers
Bin Meng614b1d82021-05-11 20:04:12 +0800304 associated with software and timer interrupts.
305
Bin Mengb5f03722023-06-21 23:11:46 +0800306config SPL_RISCV_ACLINT
Bin Meng614b1d82021-05-11 20:04:12 +0800307 bool
308 depends on SPL_RISCV_MMODE
Bin Meng08b8d262023-06-21 23:11:45 +0800309 select SPL_REGMAP
310 select SPL_SYSCON
Bin Mengb6ee5e12018-12-12 06:12:30 -0800311 help
Bin Mengb5f03722023-06-21 23:11:46 +0800312 The RISC-V ACLINT block holds memory-mapped control and status registers
Bin Mengb6ee5e12018-12-12 06:12:30 -0800313 associated with software and timer interrupts.
314
Zong Lic39544c2021-09-01 15:01:41 +0800315config SIFIVE_CACHE
316 bool
317 help
318 This enables the operations to configure SiFive cache
319
Yu Chien Peter Lin739cd6f2022-10-25 23:03:50 +0800320config ANDES_PLICSW
Rick Chen6df4ed02019-04-02 15:56:39 +0800321 bool
Lukas Auer61346592019-08-21 21:14:43 +0200322 depends on RISCV_MMODE || SPL_RISCV_MMODE
Rick Chen6df4ed02019-04-02 15:56:39 +0800323 select REGMAP
324 select SYSCON
Lukas Auer61346592019-08-21 21:14:43 +0200325 select SPL_REGMAP if SPL
326 select SPL_SYSCON if SPL
Rick Chen6df4ed02019-04-02 15:56:39 +0800327 help
Yu Chien Peter Lin739cd6f2022-10-25 23:03:50 +0800328 The Andes PLICSW block holds memory-mapped claim and pending
329 registers associated with software interrupt.
Rick Chen6df4ed02019-04-02 15:56:39 +0800330
Lukas Auer83d573d2019-03-17 19:28:32 +0100331config SMP
332 bool "Symmetric Multi-Processing"
Bin Meng49975222020-04-16 08:09:31 -0700333 depends on SBI_V01 || !RISCV_SMODE
Lukas Auer83d573d2019-03-17 19:28:32 +0100334 help
335 This enables support for systems with more than one CPU. If
336 you say N here, U-Boot will run on single and multiprocessor
337 machines, but will use only one CPU of a multiprocessor
338 machine. If you say Y here, U-Boot will run on many, but not
339 all, single processor machines.
340
Bin Mengb161f902020-04-16 08:09:30 -0700341config SPL_SMP
342 bool "Symmetric Multi-Processing in SPL"
343 depends on SPL && SPL_RISCV_MMODE
344 default y
345 help
346 This enables support for systems with more than one CPU in SPL.
347 If you say N here, U-Boot SPL will run on single and multiprocessor
348 machines, but will use only one CPU of a multiprocessor
349 machine. If you say Y here, U-Boot SPL will run on many, but not
350 all, single processor machines.
351
Lukas Auer83d573d2019-03-17 19:28:32 +0100352config NR_CPUS
353 int "Maximum number of CPUs (2-32)"
354 range 2 32
Bin Mengb161f902020-04-16 08:09:30 -0700355 depends on SMP || SPL_SMP
Lukas Auer83d573d2019-03-17 19:28:32 +0100356 default 8
357 help
358 On multiprocessor machines, U-Boot sets up a stack for each CPU.
359 Stack memory is pre-allocated. U-Boot must therefore know the
360 maximum number of CPUs that may be present.
361
Bin Mengee3bcd02020-03-09 19:35:28 -0700362config SBI
363 bool
364 default y if RISCV_SMODE || SPL_RISCV_SMODE
365
Bin Menga75325e2020-04-16 08:09:32 -0700366choice
367 prompt "SBI support"
Bin Meng3aecc4b2020-04-16 08:09:33 -0700368 default SBI_V02
Bin Menga75325e2020-04-16 08:09:32 -0700369
Bin Meng887d8092020-03-09 19:35:30 -0700370config SBI_V01
371 bool "SBI v0.1 support"
Bin Meng887d8092020-03-09 19:35:30 -0700372 depends on SBI
373 help
374 This config allows kernel to use SBI v0.1 APIs. This will be
375 deprecated in future once legacy M-mode software are no longer in use.
376
Bin Menga75325e2020-04-16 08:09:32 -0700377config SBI_V02
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100378 bool "SBI v0.2 or later support"
Bin Menga75325e2020-04-16 08:09:32 -0700379 depends on SBI
380 help
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100381 The SBI specification introduced the concept of extensions in version
382 v0.2. With this configuration option U-Boot can detect and use SBI
383 extensions. With the HSM extension introduced in SBI 0.2, only a
384 single hart needs to boot and enter the operating system. The booting
385 hart can bring up secondary harts one by one afterwards.
Bin Menga75325e2020-04-16 08:09:32 -0700386
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100387 Choose this option if OpenSBI release v0.7 or above is used together
Bin Menga75325e2020-04-16 08:09:32 -0700388 with U-Boot.
389
390endchoice
391
Lukas Auere79178b2019-03-17 19:28:34 +0100392config SBI_IPI
393 bool
Bin Mengee3bcd02020-03-09 19:35:28 -0700394 depends on SBI
Lukas Auer61346592019-08-21 21:14:43 +0200395 default y if RISCV_SMODE || SPL_RISCV_SMODE
Lukas Auere79178b2019-03-17 19:28:34 +0100396 depends on SMP
397
Rick Chene5e6c362019-04-30 13:49:33 +0800398config XIP
399 bool "XIP mode"
400 help
401 XIP (eXecute In Place) is a method for executing code directly
402 from a NOR flash memory without copying the code to ram.
403 Say yes here if U-Boot boots from flash directly.
404
Nikita Shubin7e5e0292022-09-02 11:47:39 +0300405config SPL_XIP
406 bool "Enable XIP mode for SPL"
407 help
408 If SPL starts in read-only memory (XIP for example) then we shouldn't
409 rely on lock variables (for example hart_lottery and available_harts_lock),
410 this affects only SPL, other stages should proceed as non-XIP.
411
Rick Chen9c4d5c12022-09-21 14:34:54 +0800412config AVAILABLE_HARTS
413 bool "Send IPI by available harts"
414 default y
415 help
416 By default, IPI sending mechanism will depend on available_harts.
417 If disable this, it will send IPI by CPUs node numbers of device tree.
418
Sean Andersone8b46a12019-12-25 00:27:44 -0500419config SHOW_REGS
420 bool "Show registers on unhandled exception"
421
Sean Anderson7f4b6662020-06-24 06:41:19 -0400422config RISCV_PRIV_1_9
423 bool "Use version 1.9 of the RISC-V priviledged specification"
424 help
425 Older versions of the RISC-V priviledged specification had
426 separate counter enable CSRs for each privilege mode. Writing
427 to the unified mcounteren CSR on a processor implementing the
428 old specification will result in an illegal instruction
429 exception. In addition to counter CSR changes, the way virtual
430 memory is configured was also changed.
431
Lukas Auera3596652019-03-17 19:28:37 +0100432config STACK_SIZE_SHIFT
433 int
Lukas Auer03813702019-10-20 20:53:47 +0200434 default 14
Lukas Auera3596652019-03-17 19:28:37 +0100435
Bin Meng2bdcd052020-06-25 18:16:08 -0700436config OF_BOARD_FIXUP
Sean Anderson584a5ee2020-09-05 09:22:11 -0400437 default y if OF_SEPARATE && RISCV_SMODE
Bin Meng2bdcd052020-06-25 18:16:08 -0700438
Bin Mengce64bd32021-05-13 16:46:18 +0800439menu "Use assembly optimized implementation of memory routines"
440
Heinrich Schuchardt23caf662021-03-27 12:37:04 +0100441config USE_ARCH_MEMCPY
442 bool "Use an assembly optimized implementation of memcpy"
443 default y
444 help
445 Enable the generation of an optimized version of memcpy.
446 Such an implementation may be faster under some conditions
447 but may increase the binary size.
448
449config SPL_USE_ARCH_MEMCPY
450 bool "Use an assembly optimized implementation of memcpy for SPL"
451 default y if USE_ARCH_MEMCPY
452 depends on SPL
453 help
454 Enable the generation of an optimized version of memcpy.
455 Such an implementation may be faster under some conditions
456 but may increase the binary size.
457
458config TPL_USE_ARCH_MEMCPY
459 bool "Use an assembly optimized implementation of memcpy for TPL"
460 default y if USE_ARCH_MEMCPY
461 depends on TPL
462 help
463 Enable the generation of an optimized version of memcpy.
464 Such an implementation may be faster under some conditions
465 but may increase the binary size.
466
467config USE_ARCH_MEMMOVE
468 bool "Use an assembly optimized implementation of memmove"
469 default y
470 help
471 Enable the generation of an optimized version of memmove.
472 Such an implementation may be faster under some conditions
473 but may increase the binary size.
474
475config SPL_USE_ARCH_MEMMOVE
476 bool "Use an assembly optimized implementation of memmove for SPL"
477 default y if USE_ARCH_MEMCPY
478 depends on SPL
479 help
480 Enable the generation of an optimized version of memmove.
481 Such an implementation may be faster under some conditions
482 but may increase the binary size.
483
484config TPL_USE_ARCH_MEMMOVE
485 bool "Use an assembly optimized implementation of memmove for TPL"
486 default y if USE_ARCH_MEMCPY
487 depends on TPL
488 help
489 Enable the generation of an optimized version of memmove.
490 Such an implementation may be faster under some conditions
491 but may increase the binary size.
492
493config USE_ARCH_MEMSET
494 bool "Use an assembly optimized implementation of memset"
495 default y
496 help
497 Enable the generation of an optimized version of memset.
498 Such an implementation may be faster under some conditions
499 but may increase the binary size.
500
501config SPL_USE_ARCH_MEMSET
502 bool "Use an assembly optimized implementation of memset for SPL"
503 default y if USE_ARCH_MEMSET
504 depends on SPL
505 help
506 Enable the generation of an optimized version of memset.
507 Such an implementation may be faster under some conditions
508 but may increase the binary size.
509
510config TPL_USE_ARCH_MEMSET
511 bool "Use an assembly optimized implementation of memset for TPL"
512 default y if USE_ARCH_MEMSET
513 depends on TPL
514 help
515 Enable the generation of an optimized version of memset.
516 Such an implementation may be faster under some conditions
517 but may increase the binary size.
518
Rick Chen64d4ead2017-12-26 13:55:52 +0800519endmenu
Bin Mengce64bd32021-05-13 16:46:18 +0800520
Randolphb1bc7a72023-10-12 14:35:04 +0800521config SPL_LOAD_FIT_OPENSBI_OS_BOOT
522 bool "Enable SPL (OpenSBI OS boot mode) applying linux from FIT"
523 depends on SPL_LOAD_FIT
524 help
525 Use fw_dynamic from the FIT image, and u-boot SPL will invoke it directly.
526 This is a shortcut boot flow, from u-boot SPL -> OpenSBI -> u-boot proper
527 -> linux to u-boot SPL -> OpenSBI -> linux.
528
Bin Mengce64bd32021-05-13 16:46:18 +0800529endmenu