blob: af5050b21bbd1982f86dc484d3fe1f8cb4ff9259 [file] [log] [blame]
## SPDX-License-Identifier: GPL-2.0-only
config ARCH_ARM64
bool
config ARCH_BOOTBLOCK_ARM64
bool
select ARCH_ARM64
config ARCH_VERSTAGE_ARM64
bool
select ARCH_ARM64
config ARCH_ROMSTAGE_ARM64
bool
select ARCH_ARM64
config ARCH_RAMSTAGE_ARM64
bool
select ARCH_ARM64
source "src/arch/arm64/armv8/Kconfig"
if ARCH_ARM64
config ARM64_CURRENT_EL
int
default 3
range 1 3
help
The exception level on which coreboot is started. Accepted
values are: 1 (EL1), 2 (EL2) and 3 (EL3). This option can be
used to restrict access to available control registers in case
prior firmware already dropped to a lower exception level. By default,
coreboot is the first firmware that runs on the system and should thus
always run on EL3. This option is only provided for edge-case platforms
that require running a different firmware before coreboot which drops
to a lower exception level.
config ARM64_USE_ARCH_TIMER
bool
default n
config ARM64_USE_ARM_TRUSTED_FIRMWARE
bool
default n
depends on ARCH_RAMSTAGE_ARM64 && ARM64_CURRENT_EL = 3
config ARM64_BL31_OPTEE_WITH_SMC
bool "Build OP-TEE dispatcher for BL31 and allow loading via an SMC"
default n
depends on ARM64_USE_ARM_TRUSTED_FIRMWARE
help
This option adds support for building the OP-TEE Secure Payload Dispatcher
(SPD) for BL31, and allows loading the OP-TEE image via a Secure Monitor Call
(SMC).
config ARM64_BL31_EXTERNAL_FILE
string "Path to external BL31.ELF (leave empty to build from source)"
depends on ARM64_USE_ARM_TRUSTED_FIRMWARE
help
The blob to use instead of building the Arm Trusted Firmware
from tree. It is discouraged as compatibility with out-of-tree
blobs may break anytime.
config ARM64_USE_SECURE_OS
bool
default n
depends on ARM64_USE_ARM_TRUSTED_FIRMWARE
config ARM64_SECURE_OS_FILE
string "Secure OS binary file"
depends on ARM64_USE_SECURE_OS
help
Secure OS binary file.
config ARM64_A53_ERRATUM_843419
bool
default n
help
Some early Cortex-A53 revisions had a hardware bug that results in
incorrect address calculations in rare cases. This option enables a
linker workaround to avoid those cases if your toolchain supports it.
Should be selected automatically by SoCs that are affected.
endif # if ARCH_ARM64