blob: 2d71067e453ff2f0ab1bd6e858940f8d05e09fb5 [file] [log] [blame]
Martin Roth19081102024-02-16 10:31:30 -07001## SPDX-License-Identifier: GPL-2.0-only
2
Stefan Reinauera48ca842015-04-04 01:58:28 +02003config ARCH_ARM64
4 bool
Stefan Reinauera48ca842015-04-04 01:58:28 +02005
Furquan Shaikh2af76f42014-04-28 16:39:40 -07006config ARCH_BOOTBLOCK_ARM64
7 bool
Furquan Shaikh2af76f42014-04-28 16:39:40 -07008 select ARCH_ARM64
9
Stefan Reinauer77b16552015-01-14 19:51:47 +010010config ARCH_VERSTAGE_ARM64
11 bool
Arthur Heymans792098c2019-02-10 16:42:36 +010012 select ARCH_ARM64
Stefan Reinauer77b16552015-01-14 19:51:47 +010013
Furquan Shaikh2af76f42014-04-28 16:39:40 -070014config ARCH_ROMSTAGE_ARM64
15 bool
Arthur Heymans792098c2019-02-10 16:42:36 +010016 select ARCH_ARM64
Furquan Shaikh2af76f42014-04-28 16:39:40 -070017
18config ARCH_RAMSTAGE_ARM64
19 bool
Arthur Heymans792098c2019-02-10 16:42:36 +010020 select ARCH_ARM64
Furquan Shaikh2af76f42014-04-28 16:39:40 -070021
Patrick Georgi0bb83462019-11-22 20:58:58 +010022source "src/arch/arm64/armv8/Kconfig"
Julius Werner404df442015-05-07 16:59:31 -070023
Arthur Heymans792098c2019-02-10 16:42:36 +010024if ARCH_ARM64
25
David Milosevic41ba1122023-04-27 02:12:31 +020026config ARM64_CURRENT_EL
27 int
28 default 3
29 range 1 3
30 help
31 The exception level on which coreboot is started. Accepted
32 values are: 1 (EL1), 2 (EL2) and 3 (EL3). This option can be
33 used to restrict access to available control registers in case
34 prior firmware already dropped to a lower exception level. By default,
35 coreboot is the first firmware that runs on the system and should thus
36 always run on EL3. This option is only provided for edge-case platforms
37 that require running a different firmware before coreboot which drops
38 to a lower exception level.
39
T Michael Turney3775f1c2018-04-24 10:15:46 -070040config ARM64_USE_ARCH_TIMER
41 bool
42 default n
43
Julius Werner745a75f2015-05-11 16:45:56 -070044config ARM64_USE_ARM_TRUSTED_FIRMWARE
45 bool
46 default n
David Milosevic41ba1122023-04-27 02:12:31 +020047 depends on ARCH_RAMSTAGE_ARM64 && ARM64_CURRENT_EL = 3
Furquan Shaikha384c282015-05-28 12:13:51 -070048
Patrick Rudolphd308ed32018-07-20 09:08:42 +020049config ARM64_BL31_EXTERNAL_FILE
50 string "Path to external BL31.ELF (leave empty to build from source)"
51 depends on ARM64_USE_ARM_TRUSTED_FIRMWARE
52 help
53 The blob to use instead of building the Arm Trusted Firmware
54 from tree. It is discouraged as compatibility with out-of-tree
55 blobs may break anytime.
56
Furquan Shaikha384c282015-05-28 12:13:51 -070057config ARM64_USE_SECURE_OS
58 bool
59 default n
60 depends on ARM64_USE_ARM_TRUSTED_FIRMWARE
61
62config ARM64_SECURE_OS_FILE
63 string "Secure OS binary file"
Furquan Shaikh67246f42015-06-01 14:14:01 -070064 depends on ARM64_USE_SECURE_OS
Furquan Shaikha384c282015-05-28 12:13:51 -070065 help
66 Secure OS binary file.
Julius Werner4bfa29e2015-08-20 14:36:34 -070067
68config ARM64_A53_ERRATUM_843419
69 bool
70 default n
71 help
72 Some early Cortex-A53 revisions had a hardware bug that results in
73 incorrect address calculations in rare cases. This option enables a
74 linker workaround to avoid those cases if your toolchain supports it.
75 Should be selected automatically by SoCs that are affected.
Arthur Heymans792098c2019-02-10 16:42:36 +010076
77endif # if ARCH_ARM64