From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ziyuan Xu Date: Sun, 12 Jun 2016 13:50:31 +0800 Subject: [U-Boot] [PATCH] rockchip: rk3288: Change method of loading u-boot In-Reply-To: References: Message-ID: <575CF827.3050104@rock-chips.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 2016?06?12? 13:46, Eddie Cai wrote: > Why not move arch/arm/mach-rockchip/rk3036/save_boot_param.S to > arch/arm/mach-rockchip/save_boot_param.S. Then use it directly? > > 2016-06-12 12:29 GMT+08:00 Eddie Cai : Okay, it's make sense to me. >> Hi >> >> 2016-06-12 11:56 GMT+08:00 Ziyuan Xu : >>> If we would like to boot from SD card, we have to implement mmc driver >>> in SPL stage, and get a slightly larger spl binrary. RK3288's bootrom >>> code has the ability to load spl and u-boot. This patch tasks maskrom to >>> load u-boot. >>> >>> Loading sequence after rework: >>> bootrom ==> spl ==> bootrom ==> u-boot >>> >>> Signed-off-by: Ziyuan Xu >>> --- >>> arch/arm/mach-rockchip/rk3288/save_boot_param.S | 32 +++++++++++++++++++++++++ >>> 1 file changed, 32 insertions(+) >>> create mode 100644 arch/arm/mach-rockchip/rk3288/save_boot_param.S >>> >>> diff --git a/arch/arm/mach-rockchip/rk3288/save_boot_param.S b/arch/arm/mach-rockchip/rk3288/save_boot_param.S >>> new file mode 100644 >>> index 0000000..778ec83 >>> --- /dev/null >>> +++ b/arch/arm/mach-rockchip/rk3288/save_boot_param.S >>> @@ -0,0 +1,32 @@ >>> +/* >>> + * (C) Copyright 2015 Google, Inc >> Should be "Copyright 2016 Rockchip Electronics Co., Ltd" Fix it next patch. BTW, I'm sorry that I forget to add other changes, please ignore this patch, I will re-send other one. >>> + * >>> + * SPDX-License-Identifier: GPL-2.0+ >>> + */ >>> + >>> +#include >>> + >>> +.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) >>> -- >>> 1.9.1 >>> >>> >>> >> >> >> -- >> Eddie > > >