xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-rockchip/bootrom.h (revision 3513fb1ea591c4d64d1da3f20fbacd3043e27943)
1aade077eSHeiko Stübner /*
2aade077eSHeiko Stübner  * (C) Copyright 2017 Heiko Stuebner <heiko@sntech.de>
3*3513fb1eSPhilipp Tomsich  * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH
4aade077eSHeiko Stübner  *
5aade077eSHeiko Stübner  * SPDX-License-Identifier:	GPL-2.0
6aade077eSHeiko Stübner  */
7aade077eSHeiko Stübner 
8aade077eSHeiko Stübner #ifndef _ASM_ARCH_BOOTROM_H
9aade077eSHeiko Stübner #define _ASM_ARCH_BOOTROM_H
10aade077eSHeiko Stübner 
11aade077eSHeiko Stübner /*
12aade077eSHeiko Stübner  * Saved Stack pointer address.
13aade077eSHeiko Stübner  * Access might be needed in some special cases.
14aade077eSHeiko Stübner  */
15aade077eSHeiko Stübner extern u32 SAVE_SP_ADDR;
16aade077eSHeiko Stübner 
17e1bc64eeSSimon Glass /**
18*3513fb1eSPhilipp Tomsich  * back_to_bootrom() - return to bootrom (for TPL/SPL), passing a
19*3513fb1eSPhilipp Tomsich  *                     result code
20*3513fb1eSPhilipp Tomsich  *
21*3513fb1eSPhilipp Tomsich  * Transfer control back to the Rockchip BROM, restoring necessary
22*3513fb1eSPhilipp Tomsich  * register context and passing a command/result code to the BROM
23*3513fb1eSPhilipp Tomsich  * to instruct its next actions (e.g. continue boot sequence, enter
24*3513fb1eSPhilipp Tomsich  * download mode, ...).
25*3513fb1eSPhilipp Tomsich  *
26*3513fb1eSPhilipp Tomsich  * This function does not return.
27aade077eSHeiko Stübner  */
28*3513fb1eSPhilipp Tomsich enum rockchip_bootrom_cmd {
29*3513fb1eSPhilipp Tomsich 	/*
30*3513fb1eSPhilipp Tomsich 	* These can not start at 0, as 0 has a special meaning
31*3513fb1eSPhilipp Tomsich 	* for setjmp().
32*3513fb1eSPhilipp Tomsich 	*/
33*3513fb1eSPhilipp Tomsich 
34*3513fb1eSPhilipp Tomsich 	BROM_BOOT_NEXTSTAGE = 1,  /* continue boot-sequence */
35*3513fb1eSPhilipp Tomsich 	BROM_BOOT_ENTER_DNL,      /* have BROM enter download-mode */
36*3513fb1eSPhilipp Tomsich };
37*3513fb1eSPhilipp Tomsich 
38e1bc64eeSSimon Glass void back_to_bootrom(void);
39aade077eSHeiko Stübner #endif
40