stm32mp: fix name of optee reserved memory node

In OP-TEE, the "optee_core@" node is reserved, appended in non secure
device tree (see mark_tzdram_as_reserved() function under CFG_DT) so
this name must be checked in optee_get_reserved_memory().
We keep the check on /reserved-memory/optee@ node to have backward
compatibility with STMT32Image booting, when the reserved node is
already present in U-Boot or SPL device tree with name "optee@".

This patch solves a boot issue on board with OP-TEE for U-Boot
compiled with stm32mp15_defconfig and without secure configuration
device tree (stm32mp157c-dk2.dts for example).

Fixes: 5fe9e0deab ("stm32mp: allow calling optee_get_reserved_memory()
from U-Boot")
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
This commit is contained in:
Patrick Delaunay
2024-10-11 17:31:51 +02:00
parent 4ce39923ee
commit f10fc277dc

View File

@@ -25,8 +25,11 @@ int optee_get_reserved_memory(u32 *start, u32 *size)
ofnode node; ofnode node;
node = ofnode_path("/reserved-memory/optee"); node = ofnode_path("/reserved-memory/optee");
if (!ofnode_valid(node)) {
node = ofnode_path("/reserved-memory/optee_core");
if (!ofnode_valid(node)) if (!ofnode_valid(node))
return -ENOENT; return -ENOENT;
}
fdt_start = ofnode_get_addr_size(node, "reg", &fdt_mem_size); fdt_start = ofnode_get_addr_size(node, "reg", &fdt_mem_size);
*start = fdt_start; *start = fdt_start;