From 6c7d3ba292c648c9075eb0b82278a844bb1ff953 Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Wed, 3 Dec 2025 17:19:35 +0100 Subject: [PATCH] boot/fit: print all configuration node compatibles Fit conf node may have a compatible property[1] which stores the compatible of the first blob in the fdt property of the node. This can be used to automatically select the proper conf node based on the compatible from the running U-Boot (matching the former's compatible with the latter)[2]. This brings the ability to mkimage/dumpimage to print the compatibles of the configuration node(s). U-Boot CLI commands such as iminfo also see this addition to their output. [1] https://fitspec.osfw.foundation/#optional-properties compatible paragraph [2] https://fitspec.osfw.foundation/#select-a-configuration-to-boot Signed-off-by: Quentin Schulz --- boot/image-fit.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/boot/image-fit.c b/boot/image-fit.c index c42b22ab02b..cc7a4bb44dc 100644 --- a/boot/image-fit.c +++ b/boot/image-fit.c @@ -323,6 +323,17 @@ static void fit_conf_print(const void *fit, int noffset, const char *p) printf("%s\n", uname); } + for (fdt_index = 0; + uname = fdt_stringlist_get(fit, noffset, FIT_COMPAT_PROP, + fdt_index, NULL), uname; + fdt_index++) { + if (fdt_index == 0) + printf("%s Compatible: ", p); + else + printf("%s ", p); + printf("%s\n", uname); + } + uname = fdt_getprop(fit, noffset, FIT_FPGA_PROP, NULL); if (uname) printf("%s FPGA: %s\n", p, uname);