diff --git a/boot/optee-os/Config.in b/boot/optee-os/Config.in index 2f996cbafc..cc0044f00a 100644 --- a/boot/optee-os/Config.in +++ b/boot/optee-os/Config.in @@ -1,6 +1,6 @@ config BR2_TARGET_OPTEE_OS bool "optee_os" - depends on BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A + depends on BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A || BR2_RISCV_64 help OP-TEE OS provides the secure world boot image and the trust application development kit of the OP-TEE project. OP-TEE OS diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk index 6b04a0f5e1..8d0169448f 100644 --- a/boot/optee-os/optee-os.mk +++ b/boot/optee-os/optee-os.mk @@ -54,16 +54,26 @@ OPTEE_OS_MAKE_OPTS = \ CROSS_COMPILE_core="$(TARGET_CROSS)" \ CROSS_COMPILE_ta_arm64="$(TARGET_CROSS)" \ CROSS_COMPILE_ta_arm32="$(TARGET_CROSS)" \ + CROSS_COMPILE_ta_rv64="$(TARGET_CROSS)" \ PYTHON3="$(HOST_DIR)/bin/python3" +ifeq ($(BR2_riscv),y) +OPTEE_OS_MAKE_OPTS += \ + ARCH=riscv \ + CFG_RV64_core=y \ + CFG_USER_TA_TARGETS=ta_rv64 +else ifeq ($(BR2_aarch64),y) OPTEE_OS_MAKE_OPTS += \ + ARCH=arm \ CFG_ARM64_core=y \ CFG_USER_TA_TARGETS=ta_arm64 else OPTEE_OS_MAKE_OPTS += \ + ARCH=arm \ CFG_ARM32_core=y endif +endif # Get mandatory PLAFORM and optional PLATFORM_FLAVOR and additional # variables @@ -77,6 +87,10 @@ OPTEE_OS_MAKE_OPTS += $(call qstrip,$(BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES)) # root path otherwise the output directory path depends on the target # platform name. OPTEE_OS_BUILDDIR_OUT = out +ifeq ($(BR2_riscv),y) +OPTEE_OS_LOCAL_SDK = $(OPTEE_OS_BUILDDIR_OUT)/export-ta_rv64 +OPTEE_OS_SDK = $(STAGING_DIR)/lib/optee/export-ta_rv64 +endif ifeq ($(BR2_aarch64),y) OPTEE_OS_LOCAL_SDK = $(OPTEE_OS_BUILDDIR_OUT)/export-ta_arm64 OPTEE_OS_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm64