Commit ca932481 authored by Davidson K's avatar Davidson K
Browse files

feat(tc0): add support for trusted services



This patch adds support for the crypto and secure storage secure
partitions for the Total Compute platform.  These secure partitions
have to be managed by Hafnium executing at S-EL2

Change-Id: I2df690e3a99bf6bf50e2710994a905914a07026e
Signed-off-by: default avatarDavidson K <davidson.kumaresan@arm.com>
parent 6794378d
......@@ -521,6 +521,10 @@ ifneq (${SPD},none)
ifeq ($(findstring optee_sp,$(ARM_SPMC_MANIFEST_DTS)),optee_sp)
DTC_CPPFLAGS += -DOPTEE_SP_FW_CONFIG
endif
ifeq ($(TS_SP_FW_CONFIG),1)
DTC_CPPFLAGS += -DTS_SP_FW_CONFIG
endif
else
# All other SPDs in spd directory
SPD_DIR := spd
......
......@@ -104,6 +104,9 @@ Arm Platform Build Options
device tree. This flag is defined only when ``ARM_SPMC_MANIFEST_DTS`` manifest
file name contains pattern optee_sp.
- ``TS_SP_FW_CONFIG``: DTC build flag to include Trusted Services (Crypto and
secure-storage) as SP in tb_fw_config device tree.
- ``ARM_GPT_SUPPORT``: Enable GPT parser to get the entry address and length of
the various partitions present in the GPT image. This support is available
only for the BL2 component, and it is disabled by default.
......
......@@ -27,8 +27,28 @@
debug_name = "op-tee";
load_address = <0xfd280000>;
vcpu_count = <8>;
mem_size = <30928896>; /* 32MB TZC DRAM - SPMC region */
#ifdef TS_SP_FW_CONFIG
mem_size = <26738688>; /* 25MB TZC DRAM */
#else
mem_size = <30928896>; /* 29MB TZC DRAM */
#endif
};
#ifdef TS_SP_FW_CONFIG
vm2 {
is_ffa_partition;
debug_name = "secure-storage";
load_address = <0xfee00000>;
vcpu_count = <1>;
mem_size = <2097152>; /* 2MB TZC DRAM */
};
vm3 {
is_ffa_partition;
debug_name = "crypto";
load_address = <0xfec00000>;
vcpu_count = <1>;
mem_size = <2097152>; /* 2MB TZC DRAM */
};
#endif
};
cpus {
......
/*
* Copyright (c) 2020, Arm Limited. All rights reserved.
* Copyright (c) 2020-2021, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
......@@ -27,6 +27,16 @@
secure-partitions {
compatible = "arm,sp";
#ifdef TS_SP_FW_CONFIG
secure-storage {
uuid = "dc1eef48-b17a-4ccf-ac8b-dfcff7711b14";
load-address = <0xfee00000>;
};
crypto {
uuid = "d9df52d5-16a2-4bb2-9aa4-d26d3b84e8c0";
load-address = <0xfec00000>;
};
#endif
#if OPTEE_SP_FW_CONFIG
op-tee {
uuid = <0x486178e0 0xe7f811e3 0xbc5e0002 0xa5d5c51b>;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment