All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot]  [PATCH 2/2] imx8qm/qxp: Set SPL TEXT base to OCRAM base
@ 2019-10-14 12:40 sbabic at denx.de
  0 siblings, 0 replies; 3+ messages in thread
From: sbabic at denx.de @ 2019-10-14 12:40 UTC (permalink / raw)
  To: u-boot

> Modify the SPL TEXT base from OCRAM alias to OCRAM base 0x100000, so
> we can use full OCRAM not limit to 96KB
> Signed-off-by: Ye Li <ye.li@nxp.com>
> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [U-Boot] [PATCH 1/2] imx8: Jump from alias to OCRAM address at SPL init
@ 2019-07-12  9:33 Ye Li
  2019-07-12  9:33 ` [U-Boot] [PATCH 2/2] imx8qm/qxp: Set SPL TEXT base to OCRAM base Ye Li
  0 siblings, 1 reply; 3+ messages in thread
From: Ye Li @ 2019-07-12  9:33 UTC (permalink / raw)
  To: u-boot

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.li@nxp.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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-10-14 12:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-14 12:40 [U-Boot] [PATCH 2/2] imx8qm/qxp: Set SPL TEXT base to OCRAM base sbabic at denx.de
  -- strict thread matches above, loose matches on Subject: below --
2019-07-12  9:33 [U-Boot] [PATCH 1/2] imx8: Jump from alias to OCRAM address at SPL init Ye Li
2019-07-12  9:33 ` [U-Boot] [PATCH 2/2] imx8qm/qxp: Set SPL TEXT base to OCRAM base Ye Li
2019-07-12 11:11   ` Oleksandr Suvorov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.