arm: imx8m: add OP-TEE node
Add tee node in SoC u-boot device trees. Use a kconfig entry to specify load and entry addresses for the op-tee image in the respective defconfig. Default IMX8M_OPTEE_LOAD_ADDR is supplied. To keep it simple, the same addresses are used for each SoC as are defined in upstream tf-a (BL32_BASE) [1]. [1] https://github.com/ARM-software/arm-trusted-firmware/tree/master/plat/imx/imx8m Signed-off-by: Yannic Moog <y.moog@phytec.de>
This commit is contained in:
@@ -164,6 +164,21 @@
|
||||
};
|
||||
#endif
|
||||
|
||||
tee: tee {
|
||||
description = "OP-TEE";
|
||||
type = "tee";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
os = "tee";
|
||||
load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
|
||||
entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
|
||||
|
||||
tee-os {
|
||||
filename = "tee.bin";
|
||||
optional;
|
||||
};
|
||||
};
|
||||
|
||||
binman_fip: fip {
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
@@ -192,7 +207,7 @@
|
||||
fdt = "fdt-SEQ";
|
||||
firmware = "uboot";
|
||||
#ifndef CONFIG_ARMV8_PSCI
|
||||
loadables = "atf";
|
||||
loadables = "atf", "tee";
|
||||
#endif
|
||||
};
|
||||
};
|
||||
|
||||
@@ -240,6 +240,21 @@
|
||||
};
|
||||
#endif
|
||||
|
||||
tee: tee {
|
||||
description = "OP-TEE";
|
||||
type = "tee";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
os = "tee";
|
||||
load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
|
||||
entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
|
||||
|
||||
tee-os {
|
||||
filename = "tee.bin";
|
||||
optional;
|
||||
};
|
||||
};
|
||||
|
||||
binman_fip: fip {
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
@@ -268,7 +283,7 @@
|
||||
fdt = "fdt-SEQ";
|
||||
firmware = "uboot";
|
||||
#ifndef CONFIG_ARMV8_PSCI
|
||||
loadables = "atf";
|
||||
loadables = "atf", "tee";
|
||||
#endif
|
||||
};
|
||||
};
|
||||
|
||||
@@ -185,6 +185,21 @@
|
||||
};
|
||||
#endif
|
||||
|
||||
tee: tee {
|
||||
description = "OP-TEE";
|
||||
type = "tee";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
os = "tee";
|
||||
load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
|
||||
entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
|
||||
|
||||
tee-os {
|
||||
filename = "tee.bin";
|
||||
optional;
|
||||
};
|
||||
};
|
||||
|
||||
@fdt-SEQ {
|
||||
description = "NAME";
|
||||
type = "flat_dt";
|
||||
@@ -204,7 +219,7 @@
|
||||
fdt = "fdt-SEQ";
|
||||
firmware = "uboot";
|
||||
#ifndef CONFIG_ARMV8_PSCI
|
||||
loadables = "atf";
|
||||
loadables = "atf", "tee";
|
||||
#endif
|
||||
};
|
||||
};
|
||||
|
||||
@@ -144,6 +144,21 @@
|
||||
};
|
||||
#endif
|
||||
|
||||
tee: tee {
|
||||
description = "OP-TEE";
|
||||
type = "tee";
|
||||
arch = "arm64";
|
||||
compression = "none";
|
||||
os = "tee";
|
||||
load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
|
||||
entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
|
||||
|
||||
tee-os {
|
||||
filename = "tee.bin";
|
||||
optional;
|
||||
};
|
||||
};
|
||||
|
||||
fdt {
|
||||
compression = "none";
|
||||
description = "NAME";
|
||||
@@ -164,7 +179,7 @@
|
||||
fdt = "fdt";
|
||||
firmware = "uboot";
|
||||
#ifndef CONFIG_ARMV8_PSCI
|
||||
loadables = "atf";
|
||||
loadables = "atf", "tee";
|
||||
#endif
|
||||
};
|
||||
};
|
||||
|
||||
@@ -37,6 +37,17 @@ config SYS_HAS_ARMV8_SECURE_BASE
|
||||
If enabled, please also define the value for ARMV8_SECURE_BASE,
|
||||
for i.MX8M, it could be some address in OCRAM.
|
||||
|
||||
config IMX8M_OPTEE_LOAD_ADDR
|
||||
hex "Load address of OPTEE image"
|
||||
default 0xbe000000 if IMX8MM
|
||||
default 0xbe000000 if IMX8MN
|
||||
default 0x56000000 if IMX8MP
|
||||
default 0xfe000000 if IMX8MQ
|
||||
help
|
||||
The load and entry address for the OPTEE image. This value defaults to
|
||||
the one defined in tf-a if not provided in the board defconfig file.
|
||||
|
||||
|
||||
choice
|
||||
prompt "NXP i.MX8M board select"
|
||||
optional
|
||||
|
||||
Reference in New Issue
Block a user