This series has some updates for the TI K3 architecture. We add support for bootstrapping boards via USB DFU. This has been sent earlier, this time booting from eMMC is added as well. On K3 SoCs we need a bunch of images after the first stage has been loaded: OP-TEE, ti-dm firmware, TF-A binary and finally a barebox binary. Until now these are expected as distinct images on the SD cards FAT partition. This is impractical for booting from eMMC boot partitions and also DFU boot, so this series adds support for handling a FIP image containing these binaries. Also some misc patches like enabling the 32k crystal needed for accurate RTC frequency Sascha Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- Changes in v2: - Improve existing FIP code and use it instead of open coding parsing the FIP image - add defconfig file for k3-r5 - Cleanup the board entry functions for the K3 Boards - Link to v1: https://lore.kernel.org/r/20250205-k3-emmc-v1-0-06679246be41@xxxxxxxxxxxxxx --- Sascha Hauer (20): ARM: k3: Add function to enable 32k crystal ARM: k3: add function to detect eMMC boot ARM: k3: do not mount /boot when booting from eMMC fip: drop typedefs fip: use linux list implementation fip: use uuid_equal() and uuid_is_null() fiptool: do not typedef structs fip: add fip_ prefix fip: add fip_image_open() ARM: k3: r5: add USB DFU and eMMC boot support ARM: am625-sk: enable 32k crystal mci: am654: parse generic mmc node properties ARM: k3: limit eMMC frequency to 26MHz ARM: k3: add eMMC barebox update handler ARM: am625-sk: put environment on eMMC when booting from it serial: omap: Use ttyS as Linux console name ARM: k3: remove beagleplay FIT image ARM: am625-sk: cleanup board entry ARM: beagleplay: cleanup board entry ARM: k3: Add k3-r5_defconfig Documentation/boards/ti-k3.rst | 47 +++++++ arch/arm/boards/am625-sk/Makefile | 2 +- arch/arm/boards/am625-sk/board.c | 35 +++++ arch/arm/boards/am625-sk/entry.S | 29 ---- arch/arm/boards/am625-sk/lowlevel.c | 13 +- arch/arm/boards/beagleplay/Makefile | 1 - arch/arm/boards/beagleplay/entry.S | 29 ---- arch/arm/boards/beagleplay/lowlevel.c | 18 +-- arch/arm/configs/k3-r5_defconfig | 43 ++++++ arch/arm/dts/k3-am625-beagleplay.dts | 4 + arch/arm/dts/k3-am625-sk.dts | 19 +++ arch/arm/mach-k3/Kconfig | 1 + arch/arm/mach-k3/Makefile | 1 + arch/arm/mach-k3/bbu.c | 77 +++++++++++ arch/arm/mach-k3/common.c | 36 +++++ arch/arm/mach-k3/r5.c | 232 +++++++++++++++++++++++++++----- commands/fiptool.c | 126 +++++++++--------- drivers/mci/am654-sdhci.c | 1 + drivers/serial/serial_ns16550.c | 4 +- images/Makefile.k3 | 4 - images/k3-am625-beagleplay.its | 29 ---- include/fiptool.h | 50 ++++--- include/mach/k3/common.h | 22 ++++ lib/fip.c | 242 ++++++++++++++++++++++++++-------- 24 files changed, 781 insertions(+), 284 deletions(-) --- base-commit: ac5af75a4067dd3f795ca982c3edeb75012f7a98 change-id: 20250205-k3-emmc-eaa3df9f3ffd Best regards, -- Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>