[PATCH RFC 1/6] arm: dts: imx8m: add fit optee node
Yannic Moog
Y.Moog at phytec.de
Fri Oct 25 14:26:41 CEST 2024
On Thu, 2024-10-24 at 08:32 -0700, Tim Harvey wrote:
> On Thu, Oct 24, 2024 at 12:04 AM Yannic Moog <y.moog at phytec.de>
> wrote:
> >
> > Add tee node in SoC u-boot device trees. Each board adds their
> > specific
> > load and entry addresses for the op-tee image in the respective
> > board-u-boot.dtsi file.
> >
> > Signed-off-by: Yannic Moog <y.moog at phytec.de>
> > ---
> > arch/arm/dts/imx8mm-u-boot.dtsi | 15 ++++++++++++++-
> > arch/arm/dts/imx8mn-u-boot.dtsi | 15 ++++++++++++++-
> > arch/arm/dts/imx8mp-u-boot.dtsi | 15 ++++++++++++++-
> > 3 files changed, 42 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-
> > u-boot.dtsi
> > index d31bc822532..e7a6800b771 100644
> > --- a/arch/arm/dts/imx8mm-u-boot.dtsi
> > +++ b/arch/arm/dts/imx8mm-u-boot.dtsi
> > @@ -164,6 +164,19 @@
> > };
> > #endif
> >
> > + tee: tee {
> > + description = "OP-
> > TEE";
> > + type = "tee";
> > + arch = "arm64";
> > + compression =
> > "none";
> > + os = "tee";
> > +
> > + tee-os {
> > + filename =
> > "tee.bin";
> > + optional;
> > + };
> > + };
> > +
> > binman_fip: fip {
> > arch = "arm64";
> > compression =
> > "none";
> > @@ -192,7 +205,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..bcb88f0a507 100644
> > --- a/arch/arm/dts/imx8mn-u-boot.dtsi
> > +++ b/arch/arm/dts/imx8mn-u-boot.dtsi
> > @@ -235,6 +235,19 @@
> > };
> > #endif
> >
> > + tee: tee {
> > + description = "OP-
> > TEE";
> > + type = "tee";
> > + arch = "arm64";
> > + compression =
> > "none";
> > + os = "tee";
> > +
> > + tee-os {
> > + filename =
> > "tee.bin";
> > + optional;
> > + };
> > + };
> > +
> > binman_fip: fip {
> > arch = "arm64";
> > compression =
> > "none";
> > @@ -263,7 +276,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..7a9c616fb1a 100644
> > --- a/arch/arm/dts/imx8mp-u-boot.dtsi
> > +++ b/arch/arm/dts/imx8mp-u-boot.dtsi
> > @@ -185,6 +185,19 @@
> > };
> > #endif
> >
> > + tee: tee {
> > + description = "OP-
> > TEE";
> > + type = "tee";
> > + arch = "arm64";
> > + compression =
> > "none";
> > + os = "tee";
> > +
> > + tee-os {
> > + filename =
> > "tee.bin";
> > + optional;
> > + };
> > + };
> > +
> > @fdt-SEQ {
> > description =
> > "NAME";
> > type = "flat_dt";
> > @@ -204,7 +217,7 @@
> > fdt = "fdt-SEQ";
> > firmware = "uboot";
> > #ifndef CONFIG_ARMV8_PSCI
> > - loadables = "atf";
> > + loadables = "atf",
> > "tee";
> > #endif
> > };
> > };
> >
> > --
> > 2.43.0
> >
Hi Tim,
>
> Hi Yannic,
>
> I've attempted something like this in the past [1] but I added the
> load address and made it a Kconfig. It never made it in due to
> something happening in CI that I never had a chance to get back to.
>
> What happens with the binman step if you don't have an overlay that
> specifies load/entry?
afaik binman does not handle such a case, i.e. there will be no
entry/load prop in the resulting binary. The tee node itself, however,
is present. That is why spl crashes at runtime; because it cannot find
the 'load' symbol for the tee node/blob.
Yannic
>
> Best Regards,
>
> Tim
> [1]
> https://patchwork.ozlabs.org/project/uboot/patch/20230622173006.3921891-1-tharvey@gateworks.com/
More information about the U-Boot
mailing list