All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali@kernel.org>
To: "Jaehoon Chung" <jh80.chung@samsung.com>,
	"Peng Fan" <peng.fan@nxp.com>, "Marek Behún" <kabel@kernel.org>
Cc: Sinan Akman <sinan@writeme.com>, u-boot@lists.denx.de
Subject: [PATCH v3 3/3] mmc: fsl_esdhc_spl: Add support for builds without CONFIG_SYS_MMC_U_BOOT_OFFS
Date: Fri,  5 Aug 2022 22:09:41 +0200	[thread overview]
Message-ID: <20220805200941.22101-3-pali@kernel.org> (raw)
In-Reply-To: <20220805200941.22101-1-pali@kernel.org>

When fixed offset via CONFIG_SYS_MMC_U_BOOT_OFFS is not specified then
expects that U-Boot proper is placed immediately after SPL without any
additional padding.

This allows to generate smaller SPL+U-Boot final binary as it is not
required to specify fixed offset to U-Boot proper at SPL compile time.

In this case offset to U-Boot proper is calculated at SPL compile time in
linker script.

Signed-off-by: Pali Rohár <pali@kernel.org>
---
 arch/powerpc/cpu/mpc85xx/u-boot-spl.lds | 10 ++++++++++
 drivers/mmc/fsl_esdhc_spl.c             |  8 ++++++++
 2 files changed, 18 insertions(+)

diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
index 89df4b5f6f07..f775f6bc4d06 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
@@ -62,6 +62,13 @@ SECTIONS
 	__init_begin = .;
 	__init_end = .;
 	_end = .;
+
+#ifdef CONFIG_SYS_MPC85XX_NO_RESETVEC
+#if defined(CONFIG_SDCARD) && !defined(CONFIG_SYS_MMC_U_BOOT_OFFS)
+	mmc_u_boot_offs = .;
+#endif
+#endif
+
 #ifdef CONFIG_SPL_SKIP_RELOCATE
 	. = ALIGN(4);
 	__bss_start = .;
@@ -94,6 +101,9 @@ SECTIONS
 	.resetvec IMAGE_TEXT_BASE + RESET_VECTOR_OFFSET : {
 		KEEP(*(.resetvec))
 	} = 0xffff
+#if defined(CONFIG_SDCARD) && !defined(CONFIG_SYS_MMC_U_BOOT_OFFS)
+	mmc_u_boot_offs = .;
+#endif
 #endif
 
 #ifndef CONFIG_SPL_SKIP_RELOCATE
diff --git a/drivers/mmc/fsl_esdhc_spl.c b/drivers/mmc/fsl_esdhc_spl.c
index dd6d5fa81ea6..aa00d7e2014d 100644
--- a/drivers/mmc/fsl_esdhc_spl.c
+++ b/drivers/mmc/fsl_esdhc_spl.c
@@ -9,6 +9,10 @@
 #include <mmc.h>
 #include <malloc.h>
 
+#ifndef CONFIG_SYS_MMC_U_BOOT_OFFS
+extern uchar mmc_u_boot_offs[];
+#endif
+
 /*
  * The environment variables are written to just after the u-boot image
  * on SDCard, so we must read the MBR to get the start address and code
@@ -149,7 +153,11 @@ again:
 		val = *(tmp_buf + blk_off + ESDHC_BOOT_IMAGE_ADDR + i);
 		offset = (offset << 8) + val;
 	}
+#ifndef CONFIG_SYS_MMC_U_BOOT_OFFS
+	offset += (ulong)&mmc_u_boot_offs - CONFIG_SPL_TEXT_BASE;
+#else
 	offset += CONFIG_SYS_MMC_U_BOOT_OFFS;
+#endif
 #endif
 	/*
 	* Load U-Boot image from mmc into RAM
-- 
2.20.1


  parent reply	other threads:[~2022-08-05 20:10 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-11 18:33 [PATCH 1/3] mmc: fsl_esdhc_spl: Add support for loading proper U-Boot from unaligned location Pali Rohár
2022-05-11 18:33 ` [PATCH 2/3] mmc: fsl_esdhc_spl: Add support for builds without CONFIG_SYS_MMC_U_BOOT_OFFS Pali Rohár
2022-05-11 18:33 ` [PATCH 3/3] powerpc: mpc85xx: Fix loading U-Boot proper from SD card in SPL Pali Rohár
2022-06-20  6:00 ` [PATCH 1/3] mmc: fsl_esdhc_spl: Add support for loading proper U-Boot from unaligned location Peng Fan (OSS)
2022-06-20 10:54   ` [PATCH v2] " Pali Rohár
2022-06-23 13:31     ` Pali Rohár
2022-06-28 18:14       ` Pali Rohár
2022-07-13 23:50         ` Pali Rohár
2022-07-23  9:42           ` Pali Rohár
     [not found]     ` <CGME20220726082955epcas1p2be5900d205e7ebadaf673b91df633725@epcas1p2.samsung.com>
2022-07-26  8:29       ` Jaehoon Chung
2022-08-05 20:09 ` [PATCH v3 1/3] " Pali Rohár
2022-08-05 20:09   ` [PATCH v3 2/3] powerpc: mpc85xx: Fix loading U-Boot proper from SD card in SPL Pali Rohár
2022-08-05 20:09   ` Pali Rohár [this message]
2022-08-11  5:48     ` [PATCH v3 3/3] mmc: fsl_esdhc_spl: Add support for builds without CONFIG_SYS_MMC_U_BOOT_OFFS jh80.chung

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220805200941.22101-3-pali@kernel.org \
    --to=pali@kernel.org \
    --cc=jh80.chung@samsung.com \
    --cc=kabel@kernel.org \
    --cc=peng.fan@nxp.com \
    --cc=sinan@writeme.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.