diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/image.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/include/image.h b/include/image.h index d7d6a3fe5b8..92efec0f04b 100644 --- a/include/image.h +++ b/include/image.h @@ -1206,6 +1206,47 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp); */ int fit_check_format(const void *fit, ulong size); +/** + * fit_conf_find_compat() - find most compatible configuration + * @fit: pointer to the FIT format image header + * @fdt: pointer to the device tree to compare against + * + * Attempts to find the configuration whose fdt is the most compatible with the + * passed in device tree + * + * Example:: + * + * / o image-tree + * |-o images + * | |-o fdt-1 + * | |-o fdt-2 + * | + * |-o configurations + * |-o config-1 + * | |-fdt = fdt-1 + * | + * |-o config-2 + * |-fdt = fdt-2 + * + * / o U-Boot fdt + * |-compatible = "foo,bar", "bim,bam" + * + * / o kernel fdt1 + * |-compatible = "foo,bar", + * + * / o kernel fdt2 + * |-compatible = "bim,bam", "baz,biz" + * + * Configuration 1 would be picked because the first string in U-Boot's + * compatible list, "foo,bar", matches a compatible string in the root of fdt1. + * "bim,bam" in fdt2 matches the second string which isn't as good as fdt1. + * + * As an optimization, the compatible property from the FDT's root node can be + * copied into the configuration node in the FIT image. This is required to + * match configurations with compressed FDTs. + * + * Returns: offset to the configuration to use if one was found, -1 otherwise + */ int fit_conf_find_compat(const void *fit, const void *fdt); /** |
