]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
boot/fit: declare (and use) new constant for conf's compatible prop
authorQuentin Schulz <quentin.schulz@cherry.de>
Wed, 3 Dec 2025 16:19:34 +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 root
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 adds (and uses) this constant for FIT node parsing.

Note that this property may also appear in fpga image nodes[3] but that
isn't done in this commit.

[1] https://fitspec.osfw.foundation/#optional-properties compatible paragraph
[2] https://fitspec.osfw.foundation/#select-a-configuration-to-boot
[3] https://fitspec.osfw.foundation/#images-node 2.3.2 Conditionally mandatory property

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
boot/image-fit.c
include/image.h

index 0205637ed165175c756d856b46ee3ead56a01350..c42b22ab02b5a001ae747d882172283c5deebe53 100644 (file)
@@ -1756,7 +1756,7 @@ int fit_conf_find_compat(const void *fit, const void *fdt)
                        continue;
 
                /* If there's a compat property in the config node, use that. */
-               if (fdt_getprop(fit, noffset, "compatible", NULL)) {
+               if (fdt_getprop(fit, noffset, FIT_COMPAT_PROP, NULL)) {
                        fdt = fit;                /* search in FIT image */
                        compat_noffset = noffset; /* search under config node */
                } else {        /* Otherwise extract it from the kernel FDT. */
index 9a1c828416da2b9960d5405a86a6378ecef20766..8dcf0cea25f4891c0973035fd9a24abd996ce3c3 100644 (file)
@@ -1105,6 +1105,7 @@ int booti_setup(ulong image, ulong *relocated_addr, ulong *size,
 #define FIT_SCRIPT_PROP                "script"
 #define FIT_PHASE_PROP         "phase"
 #define FIT_TFA_BL31_PROP      "tfa-bl31"
+#define FIT_COMPAT_PROP                "compatible"
 
 #define FIT_MAX_HASH_LEN       HASH_MAX_DIGEST_SIZE