spl: atf: call bl31_entry function before jump to u-boot
authorJaehoon Chung <jh80.chung@samsung.com>
Mon, 16 Sep 2019 01:09:02 +0000 (10:09 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Thu, 10 Oct 2019 04:38:42 +0000 (13:38 +0900)
Call bl31_entry function before jump to u-boot in board_init_r.
This patch is added because of Dignsys's ATF patches.
In future, if find generic solution with fit-images node, will be
reverted.

Change-Id: I2a506207674aed8180d542a659d389c479d13b63
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
common/spl/spl.c
common/spl/spl_atf.c
include/spl.h

index 082fa2b..71ed283 100644 (file)
@@ -687,6 +687,13 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
                debug("Failed to stash bootstage: err=%d\n", ret);
 #endif
 
+       /* FIXME: This is workaround to use ATF for Tizen
+        * If find generic solution to use ATF, will remove this code.
+        * It has dependent with Dignsys's patch.
+        */
+       if (IS_ENABLED(CONFIG_SPL_ATF))
+               bl31_entry(CONFIG_SPL_ATF_TEXT_BASE, CONFIG_SYS_TEXT_BASE, NULL);
+
        debug("loaded - jumping to U-Boot...\n");
        spl_board_prepare_for_boot();
        jump_to_image_no_args(&spl_image);
index b8caf25..11def8c 100644 (file)
@@ -86,7 +86,7 @@ static inline void raw_write_daif(unsigned int daif)
 
 typedef void (*atf_entry_t)(struct bl31_params *params, void *plat_params);
 
-static void bl31_entry(uintptr_t bl31_entry, uintptr_t bl33_entry,
+void bl31_entry(uintptr_t bl31_entry, uintptr_t bl33_entry,
                       uintptr_t fdt_addr)
 {
        struct bl31_params *bl31_params;
index e4640f3..8cc2ab1 100644 (file)
@@ -415,4 +415,6 @@ void spl_perform_fixups(struct spl_image_info *spl_image);
  */
 struct image_header *spl_get_load_buffer(ssize_t offset, size_t size);
 
+void bl31_entry(uintptr_t bl31_entry, uintptr_t bl33_entry,
+                      uintptr_t fdt_addr);
 #endif