RITY images select a base devicetree and an ordered list of overlays through the storage, storage_dev, dtb_path, boot_dtb, fdtfile and list_dtbo environment variables. EFI boot needs the selected tree to be assembled and published through fdt_addr before the operating system is started.
The environment interface, source-discovery rules and appended-image layout form a MediaTek-specific RITY contract. The referenced data uses existing U-Boot image formats, filesystems and storage stacks. Add MediaTek support to consume that interface. It locates the selected source on GPT block partitions or on the RITY UBI/UBIFS NOR layout, loads the base DTB, applies list_dtbo in order and publishes the completed tree. Both raw and authenticated DTB and DTBO inputs are supported. Expose mtk_fdt_prepare for interactive use. Retain the dtbprobe and fdtprobe command names and positional arguments used by RITY EFI boot environments. Also provide bootembedded for legacy boot. It locates and runs the appended RITY boot script through the standard source command, leaving the legacy policy and authentication to source and bootm. The command entry points live under cmd/mediatek and are documented under doc/usage/cmd. The implementation uses existing block, MTD, UBI/UBIFS, libfdt overlay, image verification, source and bootm services. Signed-off-by: Carlo Caione <[email protected]> --- Changes in v2: - Clarify that the RITY contract is MediaTek-specific and uses existing U-Boot formats and storage stacks. - Move command entry points and command configuration under cmd/mediatek. - Add documentation for mtk_fdt_prepare, dtbprobe, fdtprobe and bootembedded. - Rebase onto commit 658fc6aee957 ("fs/squashfs: fix directory table integer overflow" series merge). - Link to v1: https://patch.msgid.link/20260828-ccaione-upstream-mtk-fdt-prepare-v1-0-bf80b489e...@baylibre.com --- Carlo Caione (3): arm: mediatek: add RITY devicetree preparation arm: mediatek: add RITY devicetree compatibility commands arm: mediatek: add bootembedded compatibility command MAINTAINERS | 3 + arch/arm/include/asm/arch-mediatek/fdt_prepare.h | 10 + arch/arm/mach-mediatek/Kconfig | 25 ++ arch/arm/mach-mediatek/Makefile | 1 + arch/arm/mach-mediatek/fdt_prepare.c | 501 +++++++++++++++++++++++ cmd/Kconfig | 1 + cmd/Makefile | 3 + cmd/mediatek/Kconfig | 31 ++ cmd/mediatek/Makefile | 4 + cmd/mediatek/bootembedded.c | 59 +++ cmd/mediatek/fdt_prepare.c | 65 +++ doc/usage/cmd/bootembedded.rst | 51 +++ doc/usage/cmd/mtk_fdt_prepare.rst | 90 ++++ 13 files changed, 844 insertions(+) --- base-commit: 658fc6aee95784139f070f9945cb3bc5da8d7d22 change-id: 20260827-ccaione-upstream-mtk-fdt-prepare-68f51a5fd2ea Best regards, -- Carlo Caione <[email protected]>
