From 56183ca609aa72a075d96d23eebe3df7fbaf53cd Mon Sep 17 00:00:00 2001 From: Yu Chien Peter Lin Date: Wed, 24 Jul 2024 23:00:54 +0800 Subject: lib: utils: fdt_domain: Use consistent device-tree address when next-arg1 is missing The diagram shown below illustrates the boot-flow involving OP-TEE OS initialization. (1)-----------+ | U-Boot SPL | +------------+ | v (2)-------------------------------------------------------------+ | OpenSBI (fw_dynamic) | | (4)------------------------+ | | | optee dispatcher driver | | +-----------------+-------^---------|-------+------------------+ M-mode | | | ---------+--[trusted domain]---+----.----+--[untrusted domain]------- S-mode | (coldboot domain) | | | v | | v (3)---------------------------+ |(5)----------------------------+ | OP-TEE OS | | | U-Boot | +----------------------------+ | +-----------------------------+ | | | v |(6)----------------------------+ | | Linux | | +-----------------------------+ As OP-TEE OS has device-tree node fixups that need to be passed through to the next boot stages, e.g. the reserved memory node: reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; optee_core@f1000000 { no-map; reg = <0x0 0xf1000000 // OP-TEE OS base address 0x0 0x01000000>; }; <...> }; Instead of using 0x0 as the default value, allow identical next-arg1 to be used by non-coldboot domain (i.e., untrusted domain) when the property is not provided. Also, update the description of next-arg1 property in the document. Signed-off-by: Yu Chien Peter Lin Reviewed-by: Alvin Chang Reviewed-by: Anup Patel --- docs/domain_support.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/domain_support.md b/docs/domain_support.md index b34e43a..1a40068 100644 --- a/docs/domain_support.md +++ b/docs/domain_support.md @@ -180,9 +180,7 @@ The DT properties of a domain instance DT node are as follows: boot HART of the domain instance. * **next-arg1** (Optional) - The 64 bit next booting stage arg1 for the domain instance. If this DT property is not available and coldboot HART - is not assigned to the domain instance then **0x0** is used as default - value. If this DT property is not available and coldboot HART is assigned - to the domain instance then **next booting stage arg1 of coldboot HART** + is not assigned to the domain instance then **next booting stage arg1 of coldboot HART** is used as default value. * **next-addr** (Optional) - The 64 bit next booting stage address for the domain instance. If this DT property is not available and coldboot HART -- cgit v1.1