]> git.sur5r.net Git - u-boot/blob - arch/arm/include/asm/arch-rockchip/boot0.h
arm: boot0 hook: move boot0 hook before '_start'
[u-boot] / arch / arm / include / asm / arch-rockchip / boot0.h
1 /*
2  * Copyright 2017 Theobroma Systems Design und Consulting GmbH
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 /*
8  * Execution starts on the instruction following this 4-byte header
9  * (containing the magic 'RK33').
10  *
11  * To make life easier for everyone, we build the SPL binary with
12  * space for this 4-byte header already included in the binary.
13  */
14
15 #ifdef CONFIG_SPL_BUILD
16         /*
17          * We need to add 4 bytes of space for the 'RK33' at the
18          * beginning of the executable.  However, as we want to keep
19          * this generic and make it applicable to builds that are like
20          * the RK3368 (TPL needs this, SPL doesn't) or the RK3399 (no
21          * TPL, but extra space needed in the SPL), we simply repeat
22          * the 'b reset' with the expectation that the first one will
23          * be overwritten, if this is the first stage contained in the
24          * final image created with mkimage)...
25          */
26         b reset  /* may be overwritten --- should be 'nop' or a 'b reset' */
27 #endif
28         b reset
29
30 #if defined(CONFIG_ROCKCHIP_RK3399) && defined(CONFIG_SPL_BUILD)
31         .space CONFIG_ROCKCHIP_SPL_RESERVE_IRAM /* space for the ATF data */
32 #endif