mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
imx8: save args passed from ATF
We use information from ATF to know whether OP-TEE is running or not. So save args passed from ATF. Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
parent
01cacf9682
commit
fefe051335
3 changed files with 38 additions and 1 deletions
|
@ -16,6 +16,7 @@ struct pass_over_info_t {
|
|||
u32 g_ap_mu;
|
||||
};
|
||||
|
||||
extern unsigned long boot_pointer[];
|
||||
void build_info(void);
|
||||
enum boot_device get_boot_device(void);
|
||||
int print_bootinfo(void);
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-y += cpu.o iomux.o misc.o
|
||||
obj-y += cpu.o iomux.o misc.o lowlevel_init.o
|
||||
obj-$(CONFIG_OF_SYSTEM_SETUP) += fdt.o
|
||||
|
||||
ifdef CONFIG_SPL_BUILD
|
||||
|
|
36
arch/arm/mach-imx/imx8/lowlevel_init.S
Normal file
36
arch/arm/mach-imx/imx8/lowlevel_init.S
Normal file
|
@ -0,0 +1,36 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright 2019 NXP
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
.align 8
|
||||
.global boot_pointer
|
||||
boot_pointer:
|
||||
.space 32
|
||||
|
||||
/*
|
||||
* Routine: save_boot_params (called after reset from start.S)
|
||||
*/
|
||||
|
||||
.global save_boot_params
|
||||
save_boot_params:
|
||||
/* The firmware provided ATAG/FDT address can be found in r2/x0 */
|
||||
adr x0, boot_pointer
|
||||
stp x1, x2, [x0], #16
|
||||
stp x3, x4, [x0], #16
|
||||
|
||||
/*
|
||||
* We use absolute address not PC relative address for return.
|
||||
* When running SPL on iMX8, the A core starts at address 0,
|
||||
* an alias to OCRAM 0x100000, our linker address for SPL is
|
||||
* from 0x100000. So using absolute address can jump to the OCRAM
|
||||
* address from the alias. The alias only map first 96KB of OCRAM,
|
||||
* so this require the SPL size can't beyond 96KB.
|
||||
* But when using SPL DM, the size increase significantly and
|
||||
* always beyonds 96KB. That's why we have to jump to OCRAM.
|
||||
* Normal u-boot also runs into this codes, but there is no impact.
|
||||
*/
|
||||
ldr x1, =save_boot_params_ret
|
||||
br x1
|
Loading…
Add table
Reference in a new issue