aboutsummaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorHeiko Stübner <heiko@sntech.de>2017-02-18 19:46:26 +0100
committerSimon Glass <sjg@chromium.org>2017-03-16 16:03:44 -0600
commitaade077e431b584980a0418c0e464f6ef31c5c20 (patch)
treeb5693f1f7110f937a66e91cfaa9e632e013dce18 /arch/arm
parent1d845947a3f834654f4164bda6faf7fff7e61476 (diff)
downloadu-boot-aade077e431b584980a0418c0e464f6ef31c5c20.zip
u-boot-aade077e431b584980a0418c0e464f6ef31c5c20.tar.gz
u-boot-aade077e431b584980a0418c0e464f6ef31c5c20.tar.bz2
rockchip: Move bootrom-related declarations to a header
So far spl-boards have declared the back_to_brom() function as simple extern in the files themself. That doesn't scale well if every boards defines this on its own. Therefore move the declarations to a bootrom header. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Tested-by: Kever Yang <kever.yang@rock-chips.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/include/asm/arch-rockchip/bootrom.h22
-rw-r--r--arch/arm/mach-rockchip/rk3036-board-spl.c3
-rw-r--r--arch/arm/mach-rockchip/rk3288-board-spl.c3
3 files changed, 25 insertions, 3 deletions
diff --git a/arch/arm/include/asm/arch-rockchip/bootrom.h b/arch/arm/include/asm/arch-rockchip/bootrom.h
new file mode 100644
index 0000000..79fb1a0
--- /dev/null
+++ b/arch/arm/include/asm/arch-rockchip/bootrom.h
@@ -0,0 +1,22 @@
+/*
+ * (C) Copyright 2017 Heiko Stuebner <heiko@sntech.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0
+ */
+
+#ifndef _ASM_ARCH_BOOTROM_H
+#define _ASM_ARCH_BOOTROM_H
+
+/*
+ * Saved Stack pointer address.
+ * Access might be needed in some special cases.
+ */
+extern u32 SAVE_SP_ADDR;
+
+/*
+ * Hand control back to the bootrom to load another
+ * boot stage.
+ */
+extern void back_to_bootrom(void);
+
+#endif
diff --git a/arch/arm/mach-rockchip/rk3036-board-spl.c b/arch/arm/mach-rockchip/rk3036-board-spl.c
index 8015481..0522d65 100644
--- a/arch/arm/mach-rockchip/rk3036-board-spl.c
+++ b/arch/arm/mach-rockchip/rk3036-board-spl.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <debug_uart.h>
#include <asm/io.h>
+#include <asm/arch/bootrom.h>
#include <asm/arch/grf_rk3036.h>
#include <asm/arch/hardware.h>
#include <asm/arch/sdram_rk3036.h>
@@ -20,8 +21,6 @@ static struct rk3036_grf * const grf = (void *)GRF_BASE;
#define DEBUG_UART_BASE 0x20068000
-extern void back_to_bootrom(void);
-
void board_init_f(ulong dummy)
{
#ifdef EARLY_DEBUG
diff --git a/arch/arm/mach-rockchip/rk3288-board-spl.c b/arch/arm/mach-rockchip/rk3288-board-spl.c
index 3713c13..74f3379 100644
--- a/arch/arm/mach-rockchip/rk3288-board-spl.c
+++ b/arch/arm/mach-rockchip/rk3288-board-spl.c
@@ -14,6 +14,7 @@
#include <spl.h>
#include <asm/gpio.h>
#include <asm/io.h>
+#include <asm/arch/bootrom.h>
#include <asm/arch/clock.h>
#include <asm/arch/hardware.h>
#include <asm/arch/periph.h>
@@ -155,7 +156,7 @@ static int configure_emmc(struct udevice *pinctrl)
return 0;
}
#endif
-extern void back_to_bootrom(void);
+
void board_init_f(ulong dummy)
{
struct udevice *pinctrl;