Hi Heiko, Thank you for the patch.
On Sat, Jan 24, 2026 at 06:47, Heiko Schocher <[email protected]> wrote: > 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 > | > Why can't we use raw partition descriptors for this? See: https://docs.u-boot.org/en/latest/android/fastboot.html#raw-partition-descriptors > 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. > > > 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(-) > > Azure build (series is in a bunch of siemens patches sending > now to mainline): > https://dev.azure.com/hs0298/hs/_build/results?buildId=202&view=results > > > -- > 2.20.1 > > base-commit: 547e4ff610d72169a2a8c72ffe9741046abd1b2e

