On Tue Jul 21, 2026 at 2:38 AM CEST, David Lechner wrote: > On 7/18/26 11:16 AM, Carlo Caione wrote:
[...] >> diff --git a/MAINTAINERS b/MAINTAINERS >> index e5b2a2e373c..116a7fe3423 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -421,6 +421,7 @@ F: arch/arm/dts/mt* >> F: arch/arm/mach-mediatek/ >> F: arch/arm/include/asm/arch-mediatek/ >> F: board/mediatek/ >> +F: doc/board/mediatek/ > > This is no longer needed since [1]. > > [1]: > https://lore.kernel.org/u-boot/[email protected]/ > > I can fix up when applying if nothing else comes up. TIL. I'll fix it in V2 that I have to send anyway. >> +The MediaTek Genio 700 EVK is based on the MT8390 product, which uses the >> +MT8188 SoC. The board is configured with > > This doesn't sound right. It is based on MT8390 SoC. It is DT compatible with > MT8188, but I don't think that is worth mentioning here. Agree, I'll remove it. >> +``mt8390_genio_700_evk_defconfig``. >> + >> +Boot chain >> +---------- >> + >> +The normal eMMC boot chain is:: >> + >> + BootROM >> + -> external DDR loader > > What does "external" mean in this context? Proprietary? It means that that it is built outside U-Boot and yes, it contains proprietary code that we cannot redistribute here. >> +``ddr-loader.bin`` >> + The MediaTek DDR loader for the board. The input may be shorter than >> + ``0x4b000`` bytes; binman pads it with zeroes to the offset reserved >> before >> + SPL. It must have been built with ``SPL_OFFSET=0x4b000``, > > Inconsistent formatting. Should be ... > > ``SPL`` > It must ... > > ? I don't think I follow. The phrase is '... before SPL', SPL is not an external binary file, it should not be on its own line. >> + ``SPL_SIZE=CONFIG_SPL_MAX_SIZE`` and an SPL destination and entry address >> + matching ``CONFIG_SPL_TEXT_BASE``. >> + >> +``BL31`` > > Why is this BL31 instead of TF-A? Because BL31 is compiled (it is) TF-A, they are basically the same thing. Is this a nomenclature problem? >> + The path to the TF-A BL31 binary built for MT8188/MT8390. It is loaded >> and >> + entered at ``0x54601000``. >> + >> +``TEE`` >> + The path to the OP-TEE binary. A standard OP-TEE v1 ``tee.bin`` image is >> + supported. The FIT loads it at ``0x431fffe4`` and enters it at >> + ``0x43200000``. >> + >> +These binaries must match the board memory layout and its firmware security >> +policy. Place ``ddr-loader.bin`` in a directory which can be passed to >> binman >> +with ``BINMAN_INDIRS``. >> + >> +Building >> +-------- >> + >> +For example, with the DDR loader in ``/path/to/firmware/ddr-loader.bin``:: >> + >> + $ export CROSS_COMPILE=aarch64-linux-gnu- >> + $ export BL31=/path/to/bl31.bin >> + $ export TEE=/path/to/tee.bin >> + $ make O=build TEE="$TEE" mt8390_genio_700_evk_defconfig > > Isn't it redundant to have TEE="$TEE" since it was exported above? It is, thanks for spotting. >> + $ make O=build BINMAN_INDIRS=/path/to/firmware \ >> + BL31="$BL31" TEE="$TEE" > > Same here for BL31 and TEE. Indeed. >> + >> + $ make O=build mt8390_genio_700_evk_defconfig >> + $ make O=build u-boot.bin spl/u-boot-spl.bin > > Do we really need O=build in all of the examples? We don't, I'll remove it. >> +The standalone binaries from such a build remain usable, but the packaged >> +images contain fake external blobs and must not be deployed. > > How is it usable if it can't be deployed? I use it for testing mainly, I'll remove it. >> +Using Genio Tools >> +~~~~~~~~~~~~~~~~~ > > Probably deserves an external link on where to get genio-tools and pre-build > images. I'll add a link for the genio-tools. About the pre-build images there is no place the user can download them from (for now), they are currently compiled as part of the yocto image / distro. Thanks, -- Carlo Caione
