summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/arch-imx8/boot0.h
blob: 5ce781adb754991e107890cdb837abc82f3f11cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright 2019 NXP
 */

#if defined(CONFIG_SPL_BUILD)
	/*
	 * We use absolute address not PC relative address to jump.
	 * When running SPL on iMX8, the A core starts at address 0, a 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 may exceed 96KB.
	 * That's why we have to jump to OCRAM.
	 */

	ldr	x0, =reset
	br	x0
#else
	b	reset
#endif