[PATCH next v2 3/4] boot/fit: declare (and use) new constant for conf's compatible prop
Quentin Schulz
foss+uboot at 0leil.net
Wed Dec 3 17:19:34 CET 2025
From: Quentin Schulz <quentin.schulz at cherry.de>
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 at cherry.de>
---
boot/image-fit.c | 2 +-
include/image.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/boot/image-fit.c b/boot/image-fit.c
index 0205637ed16..c42b22ab02b 100644
--- a/boot/image-fit.c
+++ b/boot/image-fit.c
@@ -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. */
diff --git a/include/image.h b/include/image.h
index 9a1c828416d..8dcf0cea25f 100644
--- a/include/image.h
+++ b/include/image.h
@@ -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
--
2.52.0
More information about the U-Boot
mailing list