diff options
author | Xu Ziyuan <xzy.xu@rock-chips.com> | 2016-07-12 19:09:49 +0800 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2016-07-25 20:44:18 -0600 |
commit | b47ea79219f1de43fa21456c6c60c8390b8755d2 (patch) | |
tree | 7639d25c4dba2ed0fc87bd153111ba33a1dc2fa7 /arch/arm/mach-rockchip/rk3036 | |
parent | 4579720412744dd13266a3505bb38ce2da819b4f (diff) | |
download | u-boot-b47ea79219f1de43fa21456c6c60c8390b8755d2.tar.gz u-boot-b47ea79219f1de43fa21456c6c60c8390b8755d2.tar.xz u-boot-b47ea79219f1de43fa21456c6c60c8390b8755d2.zip |
rockchip: add option to change method of loading u-boot
If we would like to boot from SD card, we have to implement mmc driver
in SPL stage, and get a slightly large SPL binary. Rockchip SoC's
bootrom code has the ability to load spl and u-boot, then boot.
If CONFIG_ROCKCHIP_SPL_BACK_TO_BROM is enabled, the spl will return to
bootrom in board_init_f(), then bootrom loads u-boot binary.
Loading sequence after rework:
bootrom ==> spl ==> bootrom ==> u-boot
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Acked-by: Simon Glass <sjg@chromium.org>
Fixed up spelling of U-Boot, boorom, opinion->option, Rochchip:
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/arm/mach-rockchip/rk3036')
-rw-r--r-- | arch/arm/mach-rockchip/rk3036/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/rk3036/save_boot_param.S | 32 |
2 files changed, 0 insertions, 33 deletions
diff --git a/arch/arm/mach-rockchip/rk3036/Makefile b/arch/arm/mach-rockchip/rk3036/Makefile index 97d299d6cc..6095777b8f 100644 --- a/arch/arm/mach-rockchip/rk3036/Makefile +++ b/arch/arm/mach-rockchip/rk3036/Makefile @@ -10,4 +10,3 @@ obj-y += syscon_rk3036.o endif obj-y += sdram_rk3036.o -obj-y += save_boot_param.o diff --git a/arch/arm/mach-rockchip/rk3036/save_boot_param.S b/arch/arm/mach-rockchip/rk3036/save_boot_param.S deleted file mode 100644 index 778ec83c2c..0000000000 --- a/arch/arm/mach-rockchip/rk3036/save_boot_param.S +++ /dev/null @@ -1,32 +0,0 @@ -/* - * (C) Copyright 2015 Google, Inc - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <linux/linkage.h> - -.globl SAVE_SP_ADDR -SAVE_SP_ADDR: - .word 0 - -/* - * void save_boot_params - * - * Save sp, lr, r1~r12 - */ -ENTRY(save_boot_params) - push {r1-r12, lr} - ldr r0, =SAVE_SP_ADDR - str sp, [r0] - b save_boot_params_ret @ back to my caller -ENDPROC(save_boot_params) - - -.globl back_to_bootrom -ENTRY(back_to_bootrom) - ldr r0, =SAVE_SP_ADDR - ldr sp, [r0] - mov r0, #0 - pop {r1-r12, pc} -ENDPROC(back_to_bootrom) |