On Thu, Nov 7, 2024 at 2:42 AM Yannic Moog <[email protected]> wrote: > > 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. > > Signed-off-by: Yannic Moog <[email protected]> > --- > arch/arm/dts/imx8mm-u-boot.dtsi | 17 ++++++++++++++++- > arch/arm/dts/imx8mn-u-boot.dtsi | 17 ++++++++++++++++- > arch/arm/dts/imx8mp-u-boot.dtsi | 17 ++++++++++++++++- > arch/arm/mach-imx/imx8m/Kconfig | 8 ++++++++ > 4 files changed, 56 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-u-boot.dtsi > index d31bc822532..ecc2319279e 100644 > --- a/arch/arm/dts/imx8mm-u-boot.dtsi > +++ b/arch/arm/dts/imx8mm-u-boot.dtsi > @@ -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 > }; > }; > diff --git a/arch/arm/dts/imx8mn-u-boot.dtsi b/arch/arm/dts/imx8mn-u-boot.dtsi > index 6875c6d44ff..f9108cb75c7 100644 > --- a/arch/arm/dts/imx8mn-u-boot.dtsi > +++ b/arch/arm/dts/imx8mn-u-boot.dtsi > @@ -235,6 +235,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"; > @@ -263,7 +278,7 @@ > fdt = "fdt-SEQ"; > firmware = "uboot"; > #ifndef CONFIG_ARMV8_PSCI > - loadables = "atf"; > + loadables = "atf", "tee"; > #endif > }; > }; > diff --git a/arch/arm/dts/imx8mp-u-boot.dtsi b/arch/arm/dts/imx8mp-u-boot.dtsi > index 56749ccacd2..9ede98a11e4 100644 > --- a/arch/arm/dts/imx8mp-u-boot.dtsi > +++ b/arch/arm/dts/imx8mp-u-boot.dtsi > @@ -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 > }; > }; > diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig > index b254a50b091..14f14db6a35 100644 > --- a/arch/arm/mach-imx/imx8m/Kconfig > +++ b/arch/arm/mach-imx/imx8m/Kconfig > @@ -37,6 +37,14 @@ 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 0x56000000 > + help > + The load and entry address for the OPTEE image. This value defaults > to > + 0x56000000 if not provided in the board defconfig file.
I think this would need to vary based on the platform. I think the addresses may be different depending on Mini, Nano and Plus and also dependent on the available SDRAM. > + > + > choice > prompt "NXP i.MX8M board select" > optional > > -- > 2.43.0 >

