On Fri, 12 Jul 2019 at 12:34, Ye Li <ye...@nxp.com> wrote: > > When running SPL on iMX8, the A core starts at address 0 > which is a alias to OCRAM 0x100000. > 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. > So to fix the problem, we will change SPL linker address to OCRAM > address 0x100000. And then jump to the absolute address not the PC relative > address for entering OCRAM. > > Signed-off-by: Ye Li <ye...@nxp.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvo...@toradex.com> > --- > arch/arm/Kconfig | 1 + > arch/arm/include/asm/arch-imx8/boot0.h | 21 +++++++++++++++++++++ > 2 files changed, 22 insertions(+) > create mode 100644 arch/arm/include/asm/arch-imx8/boot0.h > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 01ff57c..6ea21b7 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -755,6 +755,7 @@ config ARCH_IMX8 > select ARM64 > select DM > select OF_CONTROL > + select ENABLE_ARM_SOC_BOOT0_HOOK > > config ARCH_IMX8M > bool "NXP i.MX8M platform" > diff --git a/arch/arm/include/asm/arch-imx8/boot0.h > b/arch/arm/include/asm/arch-imx8/boot0.h > new file mode 100644 > index 0000000..5ce781a > --- /dev/null > +++ b/arch/arm/include/asm/arch-imx8/boot0.h > @@ -0,0 +1,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 > -- > 2.7.4 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot -- Best regards Oleksandr Suvorov Toradex AG Altsagenstrasse 5 | 6048 Horw/Luzern | Switzerland | T: +41 41 500 4800 (main line) _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot