Hi Quentin, On 2025-04-09 12:02, Quentin Schulz wrote: > Hi Jonas, Simon, > > On 3/29/25 4:06 PM, Jonas Karlman wrote: >> From: Simon Glass <[email protected]> >> >> Provide a compatible string in the config nodes that U-Boot can use to >> help decide which configuration to use. >> > > Can you tell us more about this?
I think the VBE can use this to determine what config/fdt would be used in a multi-dtb FIT image. This also sparked an idea to use this compatible for board selection in SPL instead of the description (fdtfile) field. I have started to play around with a board_fit_config_compatible_match() a few patches in at [1], e.g.: - WIP: boot: fit: add board_fit_config_compatible_match() - WIP: rockchip: implement fit config compatible match for boards [1] https://source.denx.de/u-boot/contributors/kwiboo/u-boot/-/commits/for-next That could also be used for having board specific TPL+SPL and use a single multi-dtb FIT with U-Boot proper and multiple fdt/config nodes, one for each board. > > I don't think mkimage -l/dumpimage -l actually provide that information > and the docs are sparse as to what "so that things work correctly with > FIT's configuration-matching algortihm." means. > > Looking a bit into tools/binman/ftest.py it seems like it's a way to > expose the DT compatible property from within the first entry in `fdt` > array property (a DTB) into the configuration node in the fit image. > > I think it'd make sense to update dumpimage/mkimage/etc... to dump that > information as well? I think so too, I know there are a few load/entry addresses for some image type that is also not shown by dumpimage. This is something that can be improved in a different series. For FIT you can always use: dtc -I dtb -O dts u-boot.itb [...] configurations { default = "config-1"; config-1 { compatible = "radxa,e20c\0rockchip,rk3528"; loadables = "u-boot\0atf-2\0atf-3"; firmware = "atf-1"; fdt = "fdt-1"; description = "rockchip/rk3528-radxa-e20c.dtb"; }; config-2 { compatible = "radxa,rock-2a\0rockchip,rk3528"; loadables = "u-boot\0atf-2\0atf-3"; firmware = "atf-1"; fdt = "fdt-2"; description = "rockchip/rk3528-rock-2a.dtb"; }; config-3 { compatible = "radxa,rock-2f\0rockchip,rk3528"; loadables = "u-boot\0atf-2\0atf-3"; firmware = "atf-1"; fdt = "fdt-3"; description = "rockchip/rk3528-rock-2f.dtb"; }; }; [...] Regards, Jonas > > Reviewed-by: Quentin Schulz <[email protected]> > > Thanks! > Quentin

