On Wed, 23 Oct 2019 at 09:47, Heiko Stuebner <he...@sntech.de> wrote: > > From: Heiko Stuebner <heiko.stueb...@theobroma-systems.com> > > The loading convention for optee or any other tee on arm64 is as bl32 > parameter to the trusted-firmware. So TF-A gets invoked with the TEE as > bl32 and main u-boot as bl33. Once it has done its startup TF-A jumps > into the bl32 for the TEE startup, returns to TF-A and then jumps to bl33. > > All of them get passed a devicetree as parameter and all components often > get loaded from a FIT image. > > OP-TEE will create additional nodes in that devicetree namely a firmware > node and possibly multiple reserved-memory nodes. > > While this devicetree is used in main u-boot, in most cases it won't be > the one passed to the actual kernel. Instead most boot commands will load > a new devicetree from somewhere like mass storage of the network, so if > that happens u-boot should transfer the optee nodes to that new devicetree. > > To make that happen introduce optee_copy_fdt_nodes() called from the dt > setup function in image-fdt which after checking for the optee presence > in the u-boot dt will make sure a optee node is present in the kernel dt > and transfer any reserved-memory regions it can find. > > Signed-off-by: Heiko Stuebner <heiko.stueb...@theobroma-systems.com> > Reviewed-by: Jens Wiklander <jens.wiklan...@linaro.org> > --- > changes in v2: > - don't create a new optee firmware-node, but instead copy the > compatible+method properties from the old fdt blob. > changes in v3: > - move check for pre-existing optee node into main function > If the kernel-dts already contains optee nodes, we probably > want to leave it _completely_ alone > > common/image-fdt.c | 8 +++ > include/tee/optee.h | 9 +++ > lib/optee/optee.c | 140 ++++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 157 insertions(+) >
Applied to u-boot-dm, thanks! _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot