From: Heiko Schocher <hs@nabladev.com>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Heiko Schocher <hs@nabladev.com>,
Adrian Freihofer <adrian.freihofer@siemens.com>,
Dmitrii Merkurev <dimorinny@google.com>,
Fabio Estevam <festevam@gmail.com>,
Marek Vasut <marek.vasut+renesas@mailbox.org>,
Mattijs Korpershoek <mkorpershoek@kernel.org>,
"NXP i.MX U-Boot Team" <uboot-imx@nxp.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Stefano Babic <sbabic@nabladev.com>,
Tom Rini <trini@konsulko.com>
Subject: [PATCH v3 0/2] fastboot: mmc: fix bootloader offset
Date: Tue, 17 Feb 2026 11:36:02 +0100 [thread overview]
Message-ID: <20260217103604.71029-1-hs@nabladev.com> (raw)
Not for all SoCs the bootloader start at offset 0x0,
in a hardware partition of an emmc. So we need the possibility to
set the correct offset, where bootloader starts.
Example:
imx8qxp revision C0 emmc Partition layout
| eMMC block / partition | Offset | Size | Purpose |
| ---------------------- | ---------- | ----- | ------------------------------ |
| /dev/mmcblk0boot0 | 0x0 | 2MB | imx-boot-container A |
| | 0x00220000 | 128kB | secure boot signature rootfs A |
| /dev/mmcblk0boot1 | 0x0 | 2MB | imx-boot-container B |
| | 0x00200000 | 8kB | U-Boot env 0 |
| | 0x00202000 | 8kB | U-Boot env 1 |
| | 0x00220000 | 128kB | secure boot signature rootfs B |
imx8qxp rev B0 emmc Partition layout
| eMMC block / partition | Offset | Size | Purpose |
| ---------------------- | ---------- | ----- | ------------------------------ |
| /dev/mmcblk0boot0 | 0x00008000 | 2MB | imx-boot-container A |
| | 0x00220000 | 128kB | secure boot signature rootfs A |
| /dev/mmcblk0boot1 | 0x0 | 8kB | U-Boot env 0 |
| | 0x00002000 | 8kB | U-Boot env 1 |
| | 0x00008000 | 2MB | imx-boot-container B |
If we flash now the bootloader image flash.bin on a B0 revision with
uuu FB: flash bootloader flash.bin
we overwrite the environment and board does not boot at all, as offset
is wrong.
To prevent any API change in the above command we propose
the following implementation from this series:
We add a new weak function fb_mmc_get_boot_offset() in drivers/fastboot/fb_block.c
which returns 0 and call this function instead of passing 0 for
the offset where offset is used/passed.
In SoC specific code (currently for IMX8QXP only) we implement this function
that it returns on B0 SoCs the 32k offset and on other SoC revisions the
offset 0.
This is tested on B0 and C0 based boards from siemens.
This patch should have no effect for other SoCs.
Changes in v3:
reworked the logic as Peng suggested, so newer SoC
revisions will also start from offset 0x0
Changes in v2:
- added Reviewed-by from Mattijs
- Used the commit message as Peng suggested (with a small
checkpatch fix:
WARNING: 'writting' may be misspelled - perhaps 'writing'?
- rebased to mainline
b99da05e153 - (tag: v2026.04-rc2, origin/master, origin/HEAD) Prepare v2026.04-rc2
- added Reviewed-by from Mattijs
Adrian Freihofer (2):
fastboot: mmc: make boot partition offset configurable
arch: imx8qxp: Override weak fb_mmc_get_boot_offset function
arch/arm/mach-imx/imx8/cpu.c | 21 +++++++++++++++++++++
drivers/fastboot/fb_block.c | 15 +++++++++++----
2 files changed, 32 insertions(+), 4 deletions(-)
--
2.20.1
base-commit: b99da05e1538b8fa153322da82917af2aa27e1d6
next reply other threads:[~2026-02-17 10:36 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-17 10:36 Heiko Schocher [this message]
2026-02-17 10:36 ` [PATCH v3 1/2] fastboot: mmc: make boot partition offset configurable Heiko Schocher
2026-02-17 10:36 ` [PATCH v3 2/2] arch: imx8qxp: Override weak fb_mmc_get_boot_offset function Heiko Schocher
2026-02-17 12:46 ` Mattijs Korpershoek
2026-02-17 18:55 ` Fabio Estevam
2026-02-19 10:28 ` [PATCH v3 0/2] fastboot: mmc: fix bootloader offset Mattijs Korpershoek
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=20260217103604.71029-1-hs@nabladev.com \
--to=hs@nabladev.com \
--cc=adrian.freihofer@siemens.com \
--cc=dimorinny@google.com \
--cc=festevam@gmail.com \
--cc=marek.vasut+renesas@mailbox.org \
--cc=mkorpershoek@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=sbabic@nabladev.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=uboot-imx@nxp.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox