From: Quentin Schulz <quentin.sch...@cherry.de>

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.sch...@cherry.de>
---
 boot/image-fit.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/boot/image-fit.c b/boot/image-fit.c
index 
52dbd7e96180da306da7f1516e8a3ab18a51ea33..4a3656c97a2c4ef8ca85177b08e3447baeed1877
 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);

-- 
2.49.0

Reply via email to