summaryrefslogtreecommitdiff
path: root/include/spl.h
diff options
context:
space:
mode:
authorMichael Walle <michael@walle.cc>2020-11-18 19:45:58 +0300
committerTom Rini <trini@konsulko.com>2020-12-05 00:09:06 +0300
commit7b866825cd354a358eff8f62207701771e0511bd (patch)
tree07a7d376e9770b502bb350fe727717dc86e39809 /include/spl.h
parent553825c1090c9f6968e81a0d40d0a3f42202fc6b (diff)
downloadu-boot-7b866825cd354a358eff8f62207701771e0511bd.tar.xz
spl: atf: add support for LOAD_IMAGE_V2
Newer platforms use the LOAD_IMAGE_V2 parameter passing method. Add support for it. Signed-off-by: Michael Walle <michael@walle.cc>
Diffstat (limited to 'include/spl.h')
-rw-r--r--include/spl.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/spl.h b/include/spl.h
index fd928377f0..374a295fa3 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -564,6 +564,41 @@ struct bl31_params *bl2_plat_get_bl31_params(uintptr_t bl32_entry,
struct bl31_params *bl2_plat_get_bl31_params_default(uintptr_t bl32_entry,
uintptr_t bl33_entry,
uintptr_t fdt_addr);
+
+/**
+ * bl2_plat_get_bl31_params_v2() - return params for bl31
+ * @bl32_entry: address of BL32 executable (secure)
+ * @bl33_entry: address of BL33 executable (non secure)
+ * @fdt_addr: address of Flat Device Tree
+ *
+ * This function does the same as bl2_plat_get_bl31_params() except that is is
+ * used for the new LOAD_IMAGE_V2 option, which uses a slightly different
+ * method to pass the parameters.
+ *
+ * Return: bl31 params structure pointer
+ */
+struct bl_params *bl2_plat_get_bl31_params_v2(uintptr_t bl32_entry,
+ uintptr_t bl33_entry,
+ uintptr_t fdt_addr);
+
+/**
+ * bl2_plat_get_bl31_params_v2_default() - prepare params for bl31.
+ * @bl32_entry: address of BL32 executable (secure)
+ * @bl33_entry: address of BL33 executable (non secure)
+ * @fdt_addr: address of Flat Device Tree
+ *
+ * This is the default implementation of bl2_plat_get_bl31_params_v2(). It
+ * prepares the linked list of the bl31 params, populates the image types and
+ * set the entry points for bl32 and bl33 (if available).
+ *
+ * NOTE: The memory is statically allocated, thus this function should be
+ * called only once. All subsequent calls will overwrite any changes.
+ *
+ * Return: bl31 params structure pointer
+ */
+struct bl_params *bl2_plat_get_bl31_params_v2_default(uintptr_t bl32_entry,
+ uintptr_t bl33_entry,
+ uintptr_t fdt_addr);
/**
* spl_optee_entry - entry function for optee
*