From: Peng Fan <peng....@nxp.com>

Pass spl_image and bootdev to board_return_bootrom.
i.MX8MN needs the args to let ROM to load images

Signed-off-by: Peng Fan <peng....@nxp.com>
---
 arch/arm/mach-rockchip/rk3288-board-tpl.c | 5 ++++-
 arch/arm/mach-rockchip/rk3368-board-tpl.c | 5 ++++-
 arch/arm/mach-rockchip/rk3399-board-spl.c | 5 ++++-
 arch/arm/mach-rockchip/rk3399-board-tpl.c | 5 ++++-
 common/spl/spl_bootrom.c                  | 7 ++++---
 include/spl.h                             | 3 ++-
 6 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/arch/arm/mach-rockchip/rk3288-board-tpl.c 
b/arch/arm/mach-rockchip/rk3288-board-tpl.c
index 787129bbae..8d04b248c3 100644
--- a/arch/arm/mach-rockchip/rk3288-board-tpl.c
+++ b/arch/arm/mach-rockchip/rk3288-board-tpl.c
@@ -53,9 +53,12 @@ void board_init_f(ulong dummy)
        }
 }
 
-void board_return_to_bootrom(void)
+int board_return_to_bootrom(struct spl_image_info *spl_image,
+                           struct spl_boot_device *bootdev)
 {
        back_to_bootrom(BROM_BOOT_NEXTSTAGE);
+
+       return 0;
 }
 
 u32 spl_boot_device(void)
diff --git a/arch/arm/mach-rockchip/rk3368-board-tpl.c 
b/arch/arm/mach-rockchip/rk3368-board-tpl.c
index dc65a021c8..a407818efd 100644
--- a/arch/arm/mach-rockchip/rk3368-board-tpl.c
+++ b/arch/arm/mach-rockchip/rk3368-board-tpl.c
@@ -112,9 +112,12 @@ void board_init_f(ulong dummy)
        }
 }
 
-void board_return_to_bootrom(void)
+int board_return_to_bootrom(struct spl_image_info *spl_image,
+                           struct spl_boot_device *bootdev)
 {
        back_to_bootrom(BROM_BOOT_NEXTSTAGE);
+
+       return 0;
 }
 
 u32 spl_boot_device(void)
diff --git a/arch/arm/mach-rockchip/rk3399-board-spl.c 
b/arch/arm/mach-rockchip/rk3399-board-spl.c
index 800ca80022..bb35c2f7e9 100644
--- a/arch/arm/mach-rockchip/rk3399-board-spl.c
+++ b/arch/arm/mach-rockchip/rk3399-board-spl.c
@@ -20,9 +20,12 @@
 #include <asm/arch-rockchip/sys_proto.h>
 #include <dm/pinctrl.h>
 
-void board_return_to_bootrom(void)
+int board_return_to_bootrom(struct spl_image_info *spl_image,
+                           struct spl_boot_device *bootdev)
 {
        back_to_bootrom(BROM_BOOT_NEXTSTAGE);
+
+       return 0;
 }
 
 static const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
diff --git a/arch/arm/mach-rockchip/rk3399-board-tpl.c 
b/arch/arm/mach-rockchip/rk3399-board-tpl.c
index 86d3ffe97c..5e8984ef79 100644
--- a/arch/arm/mach-rockchip/rk3399-board-tpl.c
+++ b/arch/arm/mach-rockchip/rk3399-board-tpl.c
@@ -63,9 +63,12 @@ void board_init_f(ulong dummy)
        }
 }
 
-void board_return_to_bootrom(void)
+int board_return_to_bootrom(struct spl_image_info *spl_image,
+                           struct spl_boot_device *bootdev)
 {
        back_to_bootrom(BROM_BOOT_NEXTSTAGE);
+
+       return 0;
 }
 
 u32 spl_boot_device(void)
diff --git a/common/spl/spl_bootrom.c b/common/spl/spl_bootrom.c
index 076f5d8d93..0eefd39a51 100644
--- a/common/spl/spl_bootrom.c
+++ b/common/spl/spl_bootrom.c
@@ -6,8 +6,10 @@
 #include <common.h>
 #include <spl.h>
 
-__weak void board_return_to_bootrom(void)
+__weak int board_return_to_bootrom(struct spl_image_info *spl_image,
+                                  struct spl_boot_device *bootdev)
 {
+       return 0;
 }
 
 static int spl_return_to_bootrom(struct spl_image_info *spl_image,
@@ -19,8 +21,7 @@ static int spl_return_to_bootrom(struct spl_image_info 
*spl_image,
         * the ROM), it will implement board_return_to_bootrom() and
         * should not return from it.
         */
-       board_return_to_bootrom();
-       return false;
+       return board_return_to_bootrom(spl_image, bootdev);
 }
 
 SPL_LOAD_IMAGE_METHOD("BOOTROM", 0, BOOT_DEVICE_BOOTROM, 
spl_return_to_bootrom);
diff --git a/include/spl.h b/include/spl.h
index a9aaef345f..abcb6d8013 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -356,7 +356,8 @@ void spl_optee_entry(void *arg0, void *arg1, void *arg2, 
void *arg3);
  * stage wants to return to the ROM code to continue booting, boards
  * can implement 'board_return_to_bootrom'.
  */
-void board_return_to_bootrom(void);
+int board_return_to_bootrom(struct spl_image_info *spl_image,
+                           struct spl_boot_device *bootdev);
 
 /**
  * board_spl_fit_post_load - allow process images after loading finished
-- 
2.16.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to