summaryrefslogtreecommitdiff
path: root/board/renesas
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut+renesas@gmail.com>2018-02-16 03:33:27 +0300
committerMarek Vasut <marex@denx.de>2018-02-16 18:43:11 +0300
commit7ee37d0e0c06730f99926bdb05781bc0111c0161 (patch)
treed56bd58b1e4eecfd0d0896fc4d10b9d7f57c6b7d /board/renesas
parent8a8d3000053615d2d29d729eda60b6ea2003095c (diff)
downloadu-boot-7ee37d0e0c06730f99926bdb05781bc0111c0161.tar.xz
ARM: rmobile: Convert Porter to SPL
Due to size limitations of the MERAM, switch U-Boot to SPL. The SPL is loaded by the SPI_LOADER into MERAM and then loads U-Boot proper into DRAM. This way U-Boot can freely grow in size in DRAM, as there is plenty of it. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> --- NOTE: To update U-Boot, first install u-boot.img to 0x140000 in SPI NOR, then use the Minimon to flash u-boot-spl.srec using ls,2,e6304000. To generate u-boot-spl.srec, use objcopy: arm-linux-gnueabi-objcopy -O srec spl/u-boot-spl u-boot-spl.srec
Diffstat (limited to 'board/renesas')
-rw-r--r--board/renesas/porter/porter.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/board/renesas/porter/porter.c b/board/renesas/porter/porter.c
index 86dea8bfa7..bd0080d210 100644
--- a/board/renesas/porter/porter.c
+++ b/board/renesas/porter/porter.c
@@ -115,3 +115,25 @@ void reset_cpu(ulong addr)
val |= 0x02;
i2c_write(CONFIG_SYS_I2C_POWERIC_ADDR, 0x13, 1, &val, 1);
}
+
+#ifdef CONFIG_SPL_BUILD
+#include <spl.h>
+void board_init_f(ulong dummy)
+{
+ board_early_init_f();
+}
+
+void spl_board_init(void)
+{
+ /* UART clocks enabled and gd valid - init serial console */
+ preloader_console_init();
+}
+
+void board_boot_order(u32 *spl_boot_list)
+{
+ /* Boot from SPI NOR with YMODEM UART fallback. */
+ spl_boot_list[0] = BOOT_DEVICE_SPI;
+ spl_boot_list[1] = BOOT_DEVICE_UART;
+ spl_boot_list[2] = BOOT_DEVICE_NONE;
+}
+#endif