]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
stm32mp: allow calling optee_get_reserved_memory() from U-Boot
authorSughosh Ganu <sughosh.ganu@linaro.org>
Mon, 26 Aug 2024 11:59:38 +0000 (17:29 +0530)
committerTom Rini <trini@konsulko.com>
Tue, 3 Sep 2024 20:08:50 +0000 (14:08 -0600)
The optee_get_reserved_memory() function returns the OP-TEE base
address and size. The function gets these values from the
FDT. Currently, this function is defined only to be called in the SPL
phase. Move this function to a place where it can be invoked from the
main U-Boot phase, where it will be used to compute the ram_top
address.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
arch/arm/mach-stm32mp/dram_init.c
arch/arm/mach-stm32mp/include/mach/stm32mp.h [new file with mode: 0644]
arch/arm/mach-stm32mp/stm32mp1/spl.c

index e8b0a38be12d0880d19327b633e0d602e0459729..286791be2ebda7dc4fbf6bb351cf50ed4b5e31f2 100644 (file)
 #include <ram.h>
 #include <asm/global_data.h>
 #include <asm/system.h>
+#include <mach/stm32mp.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
+int optee_get_reserved_memory(u32 *start, u32 *size)
+{
+       fdt_addr_t fdt_mem_size;
+       fdt_addr_t fdt_start;
+       ofnode node;
+
+       node = ofnode_path("/reserved-memory/optee");
+       if (!ofnode_valid(node))
+               return -ENOENT;
+
+       fdt_start = ofnode_get_addr_size(node, "reg", &fdt_mem_size);
+       *start = fdt_start;
+       *size = fdt_mem_size;
+       return (fdt_start < 0) ? fdt_start : 0;
+}
+
 int dram_init(void)
 {
        struct ram_info ram;
diff --git a/arch/arm/mach-stm32mp/include/mach/stm32mp.h b/arch/arm/mach-stm32mp/include/mach/stm32mp.h
new file mode 100644 (file)
index 0000000..506a425
--- /dev/null
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
+/*
+ * Copyright (C) 2024, STMicroelectronics - All Rights Reserved
+ */
+
+#ifndef __MACH_STM32MP_H_
+#define __MACH_STM32MP_H_
+
+int optee_get_reserved_memory(u32 *start, u32 *size);
+
+#endif
index 6eae5c2f557792b3aade6fb9614c2d7b97867875..9c4fafbf478ba58a08ec93d58719cf1dc579a61c 100644 (file)
@@ -18,6 +18,7 @@
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <mach/tzc.h>
+#include <mach/stm32mp.h>
 #include <linux/libfdt.h>
 
 u32 spl_boot_device(void)
@@ -110,22 +111,6 @@ uint32_t stm32mp_get_dram_size(void)
        return ram.size;
 }
 
-static int optee_get_reserved_memory(uint32_t *start, uint32_t *size)
-{
-       fdt_addr_t fdt_mem_size;
-       fdt_addr_t fdt_start;
-       ofnode node;
-
-       node = ofnode_path("/reserved-memory/optee");
-       if (!ofnode_valid(node))
-               return -ENOENT;
-
-       fdt_start = ofnode_get_addr_size(node, "reg", &fdt_mem_size);
-       *start = fdt_start;
-       *size = fdt_mem_size;
-       return (fdt_start < 0) ? fdt_start : 0;
-}
-
 #define CFG_SHMEM_SIZE                 0x200000
 #define STM32_TZC_NSID_ALL             0xffff
 #define STM32_TZC_FILTER_ALL           3