Single kernel, FDT blob and OPTEE-OS
Example FIT image description file demonstrating the usage of the bootm command to launch OPTEE-OS before starting Linux kernel on STM32MP13xx.
/dts-v1/;
/ {
description = "Simple image with single Linux kernel and FDT blob";
#address-cells = <1>;
images {
kernel {
description = "Vanilla Linux kernel";
data = /incbin/("./arch/arm/boot/zImage");
type = "kernel";
arch = "arm";
os = "linux";
compression = "none";
load = <0xc0008000>;
entry = <0xc0008000>;
hash-1 {
algo = "crc32";
};
hash-2 {
algo = "sha256";
};
};
fdt-1 {
description = "Flattened Device Tree blob";
data = /incbin/("./arch/arm/boot/dts/st/stm32mp135f-dhcor-dhsbc.dtb");
type = "flat_dt";
arch = "arm";
compression = "none";
hash-1 {
algo = "crc32";
};
hash-2 {
algo = "sha256";
};
};
/* Bundled OPTEE-OS */
tee-1 {
description = "OP-TEE";
data = /incbin/("/path/to/optee_os/out/arm-plat-stm32mp1/core/tee-raw.bin");
type = "tee";
arch = "arm";
compression = "none";
os = "tee";
load = <0xde000000>;
entry = <0xde000000>;
hash-1 {
algo = "crc32";
};
hash-2 {
algo = "sha256";
};
};
};
configurations {
default = "conf-1";
conf-1 {
description = "Boot Linux kernel with FDT blob";
kernel = "kernel";
fdt = "fdt-1";
loadables = "tee-1"; /* OPTEE-OS */
};
};
};