]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
boot/fit: print all configuration node compatibles
authorQuentin Schulz <quentin.schulz@cherry.de>
Wed, 3 Dec 2025 16:19:35 +0000 (17:19 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 16 Dec 2025 17:39:38 +0000 (11:39 -0600)
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 <quentin.schulz@cherry.de>
boot/image-fit.c

index c42b22ab02b5a001ae747d882172283c5deebe53..cc7a4bb44dc655db560db8189479467404de6b47 100644 (file)
@@ -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);