blob: 6c26f91f16695ef8996311d088efb6d5c601163f [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
Kongyang Liub64fc0e2024-01-28 15:05:25 +080017config TARGET_MILKV_DUO
18 bool "Support Milk-v Duo Board"
19
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050020config TARGET_OPENPITON_RISCV64
21 bool "Support RISC-V cores on OpenPiton SoC"
22
Bin Meng8a8694d2018-09-26 06:55:21 -070023config TARGET_QEMU_VIRT
24 bool "Support QEMU Virt Board"
25
Bin Menge9ead4a2021-03-17 11:10:58 +080026config TARGET_SIFIVE_UNLEASHED
27 bool "Support SiFive Unleashed Board"
Anup Patel7a167f22019-02-25 08:15:19 +000028
Green Wan2e5da522021-05-27 06:52:13 -070029config TARGET_SIFIVE_UNMATCHED
30 bool "Support SiFive Unmatched Board"
Tom Rini3ef67ae2021-08-26 11:47:59 -040031 select SYS_CACHE_SHIFT_6
Green Wan2e5da522021-05-27 06:52:13 -070032
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050033config TARGET_SIPEED_MAIX
34 bool "Support Sipeed Maix Board"
35 select SYS_CACHE_SHIFT_6
36
Yanhong Wang38678792023-03-29 11:42:20 +080037config TARGET_STARFIVE_VISIONFIVE2
38 bool "Support StarFive VisionFive2 Board"
Heinrich Schuchardt03a885b2023-09-07 13:21:28 +020039 select BOARD_LATE_INIT
Yanhong Wang38678792023-03-29 11:42:20 +080040
Yixun Lan5dfa9012023-07-08 19:24:32 +080041config TARGET_TH1520_LPI4A
42 bool "Support Sipeed's TH1520 Lichee PI 4A Board"
43 select SYS_CACHE_SHIFT_6
44
Michal Simek962c10a2023-11-06 12:56:47 +010045config TARGET_XILINX_MBV
46 bool "Support AMD/Xilinx MicroBlaze V"
47
Rick Chen64d4ead2017-12-26 13:55:52 +080048endchoice
49
Trevor Woernerba64b8b2019-05-03 09:40:59 -040050config SYS_ICACHE_OFF
51 bool "Do not enable icache"
Trevor Woernerba64b8b2019-05-03 09:40:59 -040052 help
53 Do not enable instruction cache in U-Boot.
54
Trevor Woerner43ec7e02019-05-03 09:41:00 -040055config SPL_SYS_ICACHE_OFF
56 bool "Do not enable icache in SPL"
57 depends on SPL
58 default SYS_ICACHE_OFF
59 help
60 Do not enable instruction cache in SPL.
61
Trevor Woernerba64b8b2019-05-03 09:40:59 -040062config SYS_DCACHE_OFF
63 bool "Do not enable dcache"
Trevor Woernerba64b8b2019-05-03 09:40:59 -040064 help
65 Do not enable data cache in U-Boot.
66
Trevor Woerner43ec7e02019-05-03 09:41:00 -040067config SPL_SYS_DCACHE_OFF
68 bool "Do not enable dcache in SPL"
69 depends on SPL
70 default SYS_DCACHE_OFF
71 help
72 Do not enable data cache in SPL.
73
Shengyu Qud1a32542023-08-09 21:11:31 +080074config SPL_ZERO_MEM_BEFORE_USE
75 bool "Zero memory before use"
76 depends on SPL
Shengyu Qud1a32542023-08-09 21:11:31 +080077 help
78 Zero stack/GD/malloc area in SPL before using them, this is needed for
79 Sifive core devices that uses L2 cache to store SPL.
80
Rick Chen842d5802018-11-07 09:34:06 +080081# board-specific options below
Leo Yu-Chi Liang249ce732023-02-14 20:42:49 +080082source "board/AndesTech/ae350/Kconfig"
Bin Meng8a8694d2018-09-26 06:55:21 -070083source "board/emulation/qemu-riscv/Kconfig"
Padmarao Begari4216f342019-05-28 15:47:51 +053084source "board/microchip/mpfs_icicle/Kconfig"
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050085source "board/openpiton/riscv64/Kconfig"
Bin Menge9ead4a2021-03-17 11:10:58 +080086source "board/sifive/unleashed/Kconfig"
Green Wan2e5da522021-05-27 06:52:13 -070087source "board/sifive/unmatched/Kconfig"
Sean Andersonedc32ab2020-06-24 06:41:25 -040088source "board/sipeed/maix/Kconfig"
Kongyang Liub64fc0e2024-01-28 15:05:25 +080089source "board/sophgo/milkv_duo/Kconfig"
Yanhong Wang38678792023-03-29 11:42:20 +080090source "board/starfive/visionfive2/Kconfig"
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050091source "board/thead/th1520_lpi4a/Kconfig"
Michal Simek962c10a2023-11-06 12:56:47 +010092source "board/xilinx/mbv/Kconfig"
Rick Chen64d4ead2017-12-26 13:55:52 +080093
Rick Chen842d5802018-11-07 09:34:06 +080094# platform-specific options below
Leo Yu-Chi Liang249ce732023-02-14 20:42:49 +080095source "arch/riscv/cpu/andesv5/Kconfig"
Pragnesh Patel25269c02020-05-29 11:33:34 +053096source "arch/riscv/cpu/fu540/Kconfig"
Green Wan7f337432021-05-27 06:52:07 -070097source "arch/riscv/cpu/fu740/Kconfig"
Anup Patel1240cd62019-02-25 08:14:10 +000098source "arch/riscv/cpu/generic/Kconfig"
Yanhong Wang38678792023-03-29 11:42:20 +080099source "arch/riscv/cpu/jh7110/Kconfig"
Rick Chen842d5802018-11-07 09:34:06 +0800100
101# architecture-specific options below
102
Rick Chen64d4ead2017-12-26 13:55:52 +0800103choice
Lukas Auer54ebfe72018-11-22 11:26:12 +0100104 prompt "Base ISA"
105 default ARCH_RV32I
Rick Chen64d4ead2017-12-26 13:55:52 +0800106
Lukas Auer54ebfe72018-11-22 11:26:12 +0100107config ARCH_RV32I
108 bool "RV32I"
Rick Chen64d4ead2017-12-26 13:55:52 +0800109 select 32BIT
110 help
Lukas Auer54ebfe72018-11-22 11:26:12 +0100111 Choose this option to target the RV32I base integer instruction set.
Rick Chen64d4ead2017-12-26 13:55:52 +0800112
Lukas Auer54ebfe72018-11-22 11:26:12 +0100113config ARCH_RV64I
114 bool "RV64I"
Rick Chen64d4ead2017-12-26 13:55:52 +0800115 select 64BIT
Lukas Auer7ab1df02018-11-22 11:26:13 +0100116 select PHYS_64BIT
Rick Chen64d4ead2017-12-26 13:55:52 +0800117 help
Lukas Auer54ebfe72018-11-22 11:26:12 +0100118 Choose this option to target the RV64I base integer instruction set.
Rick Chen64d4ead2017-12-26 13:55:52 +0800119
120endchoice
121
Lukas Auerecc5d832018-12-12 06:12:23 -0800122choice
123 prompt "Code Model"
124 default CMODEL_MEDLOW
125
126config CMODEL_MEDLOW
127 bool "medium low code model"
128 help
129 U-Boot and its statically defined symbols must lie within a single 2 GiB
130 address range and must lie between absolute addresses -2 GiB and +2 GiB.
131
132config CMODEL_MEDANY
133 bool "medium any code model"
134 help
135 U-Boot and its statically defined symbols must be within any single 2 GiB
136 address range.
137
138endchoice
139
Anup Patel27881772018-12-12 06:12:29 -0800140choice
141 prompt "Run Mode"
142 default RISCV_MMODE
143
144config RISCV_MMODE
145 bool "Machine"
146 help
147 Choose this option to build U-Boot for RISC-V M-Mode.
148
149config RISCV_SMODE
150 bool "Supervisor"
Heinrich Schuchardt20964b62023-09-23 01:35:26 +0200151 imply DEBUG_UART
Anup Patel27881772018-12-12 06:12:29 -0800152 help
153 Choose this option to build U-Boot for RISC-V S-Mode.
154
155endchoice
156
Lukas Auer61346592019-08-21 21:14:43 +0200157choice
158 prompt "SPL Run Mode"
159 default SPL_RISCV_MMODE
160 depends on SPL
161
162config SPL_RISCV_MMODE
163 bool "Machine"
164 help
165 Choose this option to build U-Boot SPL for RISC-V M-Mode.
166
167config SPL_RISCV_SMODE
168 bool "Supervisor"
169 help
170 Choose this option to build U-Boot SPL for RISC-V S-Mode.
171
172endchoice
173
Lukas Auer002012f2018-11-22 11:26:14 +0100174config RISCV_ISA_C
175 bool "Emit compressed instructions"
176 default y
177 help
178 Adds "C" to the ISA subsets that the toolchain is allowed to emit
179 when building U-Boot, which results in compressed instructions in the
180 U-Boot binary.
181
Heinrich Schuchardtc66c9502022-10-12 14:59:51 +0200182config RISCV_ISA_F
183 bool "Standard extension for Single-Precision Floating Point"
184 default y
185 help
186 Adds "F" to the ISA string passed to the compiler.
187
188config RISCV_ISA_D
189 bool "Standard extension for Double-Precision Floating Point"
190 depends on RISCV_ISA_F
191 default y
192 help
193 Adds "D" to the ISA string passed to the compiler and changes the
194 riscv32 ABI from ilp32 to ilp32d and the riscv64 ABI from lp64 to
195 lp64d.
196
Yu Chien Peter Lin60814cb2023-08-09 18:49:30 +0800197config RISCV_ISA_ZBB
198 bool "Zbb extension support for bit manipulation instructions"
199 help
200 Adds ZBB extension (basic bit manipulation) to the ISA subsets
201 that the toolchain is allowed to emit when building U-Boot.
202 The Zbb extension provides instructions to accelerate a number
203 of bit-specific operations (count bit population, sign extending,
204 bitrotation, etc) and enables optimized string routines.
205
206menu "Use assembly optimized implementation of string routines"
207
208config USE_ARCH_STRLEN
209 bool "Use an assembly optimized implementation of strlen"
210 default y
211 depends on RISCV_ISA_ZBB
212 help
213 Enable the generation of an optimized version of strlen using
214 Zbb extension.
215
216config SPL_USE_ARCH_STRLEN
217 bool "Use an assembly optimized implementation of strlen for SPL"
218 default y if USE_ARCH_STRLEN
219 depends on RISCV_ISA_ZBB
220 depends on SPL
221 help
222 Enable the generation of an optimized version of strlen using
223 Zbb extension.
224
225config TPL_USE_ARCH_STRLEN
226 bool "Use an assembly optimized implementation of strlen for TPL"
227 default y if USE_ARCH_STRLEN
228 depends on RISCV_ISA_ZBB
229 depends on TPL
230 help
231 Enable the generation of an optimized version of strlen using
232 Zbb extension.
233
234config USE_ARCH_STRCMP
235 bool "Use an assembly optimized implementation of strcmp"
236 default y
237 depends on RISCV_ISA_ZBB
238 help
239 Enable the generation of an optimized version of strcmp using
240 Zbb extension.
241
242config SPL_USE_ARCH_STRCMP
243 bool "Use an assembly optimized implementation of strcmp for SPL"
244 default y if USE_ARCH_STRCMP
245 depends on RISCV_ISA_ZBB
246 depends on SPL
247 help
248 Enable the generation of an optimized version of strcmp using
249 Zbb extension.
250
251config TPL_USE_ARCH_STRCMP
252 bool "Use an assembly optimized implementation of strcmp for TPL"
253 default y if USE_ARCH_STRCMP
254 depends on RISCV_ISA_ZBB
255 depends on TPL
256 help
257 Enable the generation of an optimized version of strcmp using
258 Zbb extension.
259
260config USE_ARCH_STRNCMP
261 bool "Use an assembly optimized implementation of strncmp"
262 default y
263 depends on RISCV_ISA_ZBB
264 help
265 Enable the generation of an optimized version of strncmp using
266 Zbb extension.
267
268config SPL_USE_ARCH_STRNCMP
269 bool "Use an assembly optimized implementation of strncmp for SPL"
270 default y if USE_ARCH_STRNCMP
271 depends on RISCV_ISA_ZBB
272 depends on SPL
273 help
274 Enable the generation of an optimized version of strncmp using
275 Zbb extension.
276
277config TPL_USE_ARCH_STRNCMP
278 bool "Use an assembly optimized implementation of strncmp for TPL"
279 default y if USE_ARCH_STRNCMP
280 depends on RISCV_ISA_ZBB
281 depends on TPL
282 help
283 Enable the generation of an optimized version of strncmp using
284 Zbb extension.
285
286endmenu
287
Lukas Auer002012f2018-11-22 11:26:14 +0100288config RISCV_ISA_A
289 def_bool y
290
Padmarao Begaria235d432021-01-15 08:20:35 +0530291config DMA_ADDR_T_64BIT
292 bool
293 default y if 64BIT
294
Bin Mengb5f03722023-06-21 23:11:46 +0800295config RISCV_ACLINT
Bin Mengb6ee5e12018-12-12 06:12:30 -0800296 bool
Bin Meng614b1d82021-05-11 20:04:12 +0800297 depends on RISCV_MMODE
Bin Meng08b8d262023-06-21 23:11:45 +0800298 select REGMAP
299 select SYSCON
Bin Meng614b1d82021-05-11 20:04:12 +0800300 help
Bin Mengb5f03722023-06-21 23:11:46 +0800301 The RISC-V ACLINT block holds memory-mapped control and status registers
Bin Meng614b1d82021-05-11 20:04:12 +0800302 associated with software and timer interrupts.
303
Bin Mengb5f03722023-06-21 23:11:46 +0800304config SPL_RISCV_ACLINT
Bin Meng614b1d82021-05-11 20:04:12 +0800305 bool
306 depends on SPL_RISCV_MMODE
Bin Meng08b8d262023-06-21 23:11:45 +0800307 select SPL_REGMAP
308 select SPL_SYSCON
Bin Mengb6ee5e12018-12-12 06:12:30 -0800309 help
Bin Mengb5f03722023-06-21 23:11:46 +0800310 The RISC-V ACLINT block holds memory-mapped control and status registers
Bin Mengb6ee5e12018-12-12 06:12:30 -0800311 associated with software and timer interrupts.
312
Zong Lic39544c2021-09-01 15:01:41 +0800313config SIFIVE_CACHE
314 bool
315 help
316 This enables the operations to configure SiFive cache
317
Yu Chien Peter Lin739cd6f2022-10-25 23:03:50 +0800318config ANDES_PLICSW
Rick Chen6df4ed02019-04-02 15:56:39 +0800319 bool
Lukas Auer61346592019-08-21 21:14:43 +0200320 depends on RISCV_MMODE || SPL_RISCV_MMODE
Rick Chen6df4ed02019-04-02 15:56:39 +0800321 select REGMAP
322 select SYSCON
Lukas Auer61346592019-08-21 21:14:43 +0200323 select SPL_REGMAP if SPL
324 select SPL_SYSCON if SPL
Rick Chen6df4ed02019-04-02 15:56:39 +0800325 help
Yu Chien Peter Lin739cd6f2022-10-25 23:03:50 +0800326 The Andes PLICSW block holds memory-mapped claim and pending
327 registers associated with software interrupt.
Rick Chen6df4ed02019-04-02 15:56:39 +0800328
Lukas Auer83d573d2019-03-17 19:28:32 +0100329config SMP
330 bool "Symmetric Multi-Processing"
Bin Meng49975222020-04-16 08:09:31 -0700331 depends on SBI_V01 || !RISCV_SMODE
Lukas Auer83d573d2019-03-17 19:28:32 +0100332 help
333 This enables support for systems with more than one CPU. If
334 you say N here, U-Boot will run on single and multiprocessor
335 machines, but will use only one CPU of a multiprocessor
336 machine. If you say Y here, U-Boot will run on many, but not
337 all, single processor machines.
338
Bin Mengb161f902020-04-16 08:09:30 -0700339config SPL_SMP
340 bool "Symmetric Multi-Processing in SPL"
341 depends on SPL && SPL_RISCV_MMODE
342 default y
343 help
344 This enables support for systems with more than one CPU in SPL.
345 If you say N here, U-Boot SPL will run on single and multiprocessor
346 machines, but will use only one CPU of a multiprocessor
347 machine. If you say Y here, U-Boot SPL will run on many, but not
348 all, single processor machines.
349
Lukas Auer83d573d2019-03-17 19:28:32 +0100350config NR_CPUS
351 int "Maximum number of CPUs (2-32)"
352 range 2 32
Bin Mengb161f902020-04-16 08:09:30 -0700353 depends on SMP || SPL_SMP
Lukas Auer83d573d2019-03-17 19:28:32 +0100354 default 8
355 help
356 On multiprocessor machines, U-Boot sets up a stack for each CPU.
357 Stack memory is pre-allocated. U-Boot must therefore know the
358 maximum number of CPUs that may be present.
359
Bin Mengee3bcd02020-03-09 19:35:28 -0700360config SBI
361 bool
362 default y if RISCV_SMODE || SPL_RISCV_SMODE
363
Bin Menga75325e2020-04-16 08:09:32 -0700364choice
365 prompt "SBI support"
Bin Meng3aecc4b2020-04-16 08:09:33 -0700366 default SBI_V02
Bin Menga75325e2020-04-16 08:09:32 -0700367
Bin Meng887d8092020-03-09 19:35:30 -0700368config SBI_V01
369 bool "SBI v0.1 support"
Bin Meng887d8092020-03-09 19:35:30 -0700370 depends on SBI
371 help
372 This config allows kernel to use SBI v0.1 APIs. This will be
373 deprecated in future once legacy M-mode software are no longer in use.
374
Bin Menga75325e2020-04-16 08:09:32 -0700375config SBI_V02
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100376 bool "SBI v0.2 or later support"
Bin Menga75325e2020-04-16 08:09:32 -0700377 depends on SBI
378 help
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100379 The SBI specification introduced the concept of extensions in version
380 v0.2. With this configuration option U-Boot can detect and use SBI
381 extensions. With the HSM extension introduced in SBI 0.2, only a
382 single hart needs to boot and enter the operating system. The booting
383 hart can bring up secondary harts one by one afterwards.
Bin Menga75325e2020-04-16 08:09:32 -0700384
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100385 Choose this option if OpenSBI release v0.7 or above is used together
Bin Menga75325e2020-04-16 08:09:32 -0700386 with U-Boot.
387
388endchoice
389
Lukas Auere79178b2019-03-17 19:28:34 +0100390config SBI_IPI
391 bool
Bin Mengee3bcd02020-03-09 19:35:28 -0700392 depends on SBI
Lukas Auer61346592019-08-21 21:14:43 +0200393 default y if RISCV_SMODE || SPL_RISCV_SMODE
Lukas Auere79178b2019-03-17 19:28:34 +0100394 depends on SMP
395
Rick Chene5e6c362019-04-30 13:49:33 +0800396config XIP
397 bool "XIP mode"
398 help
399 XIP (eXecute In Place) is a method for executing code directly
400 from a NOR flash memory without copying the code to ram.
401 Say yes here if U-Boot boots from flash directly.
402
Nikita Shubin7e5e0292022-09-02 11:47:39 +0300403config SPL_XIP
404 bool "Enable XIP mode for SPL"
405 help
406 If SPL starts in read-only memory (XIP for example) then we shouldn't
407 rely on lock variables (for example hart_lottery and available_harts_lock),
408 this affects only SPL, other stages should proceed as non-XIP.
409
Rick Chen9c4d5c12022-09-21 14:34:54 +0800410config AVAILABLE_HARTS
411 bool "Send IPI by available harts"
412 default y
413 help
414 By default, IPI sending mechanism will depend on available_harts.
415 If disable this, it will send IPI by CPUs node numbers of device tree.
416
Sean Andersone8b46a12019-12-25 00:27:44 -0500417config SHOW_REGS
418 bool "Show registers on unhandled exception"
419
Sean Anderson7f4b6662020-06-24 06:41:19 -0400420config RISCV_PRIV_1_9
421 bool "Use version 1.9 of the RISC-V priviledged specification"
422 help
423 Older versions of the RISC-V priviledged specification had
424 separate counter enable CSRs for each privilege mode. Writing
425 to the unified mcounteren CSR on a processor implementing the
426 old specification will result in an illegal instruction
427 exception. In addition to counter CSR changes, the way virtual
428 memory is configured was also changed.
429
Lukas Auera3596652019-03-17 19:28:37 +0100430config STACK_SIZE_SHIFT
431 int
Lukas Auer03813702019-10-20 20:53:47 +0200432 default 14
Lukas Auera3596652019-03-17 19:28:37 +0100433
Bin Meng2bdcd052020-06-25 18:16:08 -0700434config OF_BOARD_FIXUP
Sean Anderson584a5ee2020-09-05 09:22:11 -0400435 default y if OF_SEPARATE && RISCV_SMODE
Bin Meng2bdcd052020-06-25 18:16:08 -0700436
Bin Mengce64bd32021-05-13 16:46:18 +0800437menu "Use assembly optimized implementation of memory routines"
438
Heinrich Schuchardt23caf662021-03-27 12:37:04 +0100439config USE_ARCH_MEMCPY
440 bool "Use an assembly optimized implementation of memcpy"
441 default y
442 help
443 Enable the generation of an optimized version of memcpy.
444 Such an implementation may be faster under some conditions
445 but may increase the binary size.
446
447config SPL_USE_ARCH_MEMCPY
448 bool "Use an assembly optimized implementation of memcpy for SPL"
449 default y if USE_ARCH_MEMCPY
450 depends on SPL
451 help
452 Enable the generation of an optimized version of memcpy.
453 Such an implementation may be faster under some conditions
454 but may increase the binary size.
455
456config TPL_USE_ARCH_MEMCPY
457 bool "Use an assembly optimized implementation of memcpy for TPL"
458 default y if USE_ARCH_MEMCPY
459 depends on TPL
460 help
461 Enable the generation of an optimized version of memcpy.
462 Such an implementation may be faster under some conditions
463 but may increase the binary size.
464
465config USE_ARCH_MEMMOVE
466 bool "Use an assembly optimized implementation of memmove"
467 default y
468 help
469 Enable the generation of an optimized version of memmove.
470 Such an implementation may be faster under some conditions
471 but may increase the binary size.
472
473config SPL_USE_ARCH_MEMMOVE
474 bool "Use an assembly optimized implementation of memmove for SPL"
475 default y if USE_ARCH_MEMCPY
476 depends on SPL
477 help
478 Enable the generation of an optimized version of memmove.
479 Such an implementation may be faster under some conditions
480 but may increase the binary size.
481
482config TPL_USE_ARCH_MEMMOVE
483 bool "Use an assembly optimized implementation of memmove for TPL"
484 default y if USE_ARCH_MEMCPY
485 depends on TPL
486 help
487 Enable the generation of an optimized version of memmove.
488 Such an implementation may be faster under some conditions
489 but may increase the binary size.
490
491config USE_ARCH_MEMSET
492 bool "Use an assembly optimized implementation of memset"
493 default y
494 help
495 Enable the generation of an optimized version of memset.
496 Such an implementation may be faster under some conditions
497 but may increase the binary size.
498
499config SPL_USE_ARCH_MEMSET
500 bool "Use an assembly optimized implementation of memset for SPL"
501 default y if USE_ARCH_MEMSET
502 depends on SPL
503 help
504 Enable the generation of an optimized version of memset.
505 Such an implementation may be faster under some conditions
506 but may increase the binary size.
507
508config TPL_USE_ARCH_MEMSET
509 bool "Use an assembly optimized implementation of memset for TPL"
510 default y if USE_ARCH_MEMSET
511 depends on TPL
512 help
513 Enable the generation of an optimized version of memset.
514 Such an implementation may be faster under some conditions
515 but may increase the binary size.
516
Rick Chen64d4ead2017-12-26 13:55:52 +0800517endmenu
Bin Mengce64bd32021-05-13 16:46:18 +0800518
Randolphb1bc7a72023-10-12 14:35:04 +0800519config SPL_LOAD_FIT_OPENSBI_OS_BOOT
520 bool "Enable SPL (OpenSBI OS boot mode) applying linux from FIT"
521 depends on SPL_LOAD_FIT
522 help
523 Use fw_dynamic from the FIT image, and u-boot SPL will invoke it directly.
524 This is a shortcut boot flow, from u-boot SPL -> OpenSBI -> u-boot proper
525 -> linux to u-boot SPL -> OpenSBI -> linux.
526
Bin Mengce64bd32021-05-13 16:46:18 +0800527endmenu