mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-12 06:06:15 +09:00
![Simon Glass](/assets/img/avatar_default.png)
At present if the return to bootrom fails (e.g. because you are not using the Rockchip's bootrom's pointer table in MMC) then the board prints SPL message and hangs. Print a message first if we can, to help in understanding what happened when it hangs. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Heiko Stuebner <heiko@sntech.de> Acked-by: Heiko Stuebner <heiko@sntech.de>
33 lines
534 B
ArmAsm
33 lines
534 B
ArmAsm
/*
|
|
* (C) Copyright 2016 Rockchip Electronics Co., Ltd
|
|
*
|
|
* 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_s
|
|
ENTRY(_back_to_bootrom_s)
|
|
ldr r0, =SAVE_SP_ADDR
|
|
ldr sp, [r0]
|
|
mov r0, #0
|
|
pop {r1-r12, pc}
|
|
ENDPROC(_back_to_bootrom_s)
|