aboutsummaryrefslogtreecommitdiff
path: root/include/image.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-11-18 14:05:09 -0700
committerTom Rini <trini@konsulko.com>2023-12-13 11:51:24 -0500
commitba5e3f7f7825169d95a17cc4929143f522e82868 (patch)
treec57552b53a29e0b31a727d14bff46c3f28bedb16 /include/image.h
parent972d524893e4635ff1ac4286a870cda2dd3fc301 (diff)
downloadu-boot-ba5e3f7f7825169d95a17cc4929143f522e82868.zip
u-boot-ba5e3f7f7825169d95a17cc4929143f522e82868.tar.gz
u-boot-ba5e3f7f7825169d95a17cc4929143f522e82868.tar.bz2
bootm: Pass image buffer to boot_get_fdt()
Rather than having boot_get_fdt() calculate this, move the calculation into the caller. This removes the access to argv[0] in this function, so we can later refactor it to just accept argv[2] instead of the whole argv[]. Move the function comment to the header file and fix the u8 argument, while we are here. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'include/image.h')
-rw-r--r--include/image.h31
1 files changed, 28 insertions, 3 deletions
diff --git a/include/image.h b/include/image.h
index 3e48ad5..a4555f2 100644
--- a/include/image.h
+++ b/include/image.h
@@ -808,9 +808,34 @@ int image_locate_script(void *buf, int size, const char *fit_uname,
int fit_get_node_from_config(struct bootm_headers *images,
const char *prop_name, ulong addr);
-int boot_get_fdt(int flag, int argc, char *const argv[], uint8_t arch,
- struct bootm_headers *images,
- char **of_flat_tree, ulong *of_size);
+/**
+ * boot_get_fdt() - locate FDT devicetree to use for booting
+ *
+ * @buf: Pointer to image
+ * @argc: command argument count
+ * @argv: command argument list
+ * @arch: architecture (IH_ARCH_...)
+ * @images: pointer to the bootm images structure
+ * @of_flat_tree: pointer to a char* variable, will hold fdt start address
+ * @of_size: pointer to a ulong variable, will hold fdt length
+ *
+ * boot_get_fdt() is responsible for finding a valid flat device tree image.
+ * Currently supported are the following FDT sources:
+ * - multicomponent kernel/ramdisk/FDT image,
+ * - commandline provided address of decicated FDT image.
+ *
+ * Return:
+ * 0, if fdt image was found and valid, or skipped
+ * of_flat_tree and of_size are set to fdt start address and length if
+ * fdt image is found and valid
+ *
+ * 1, if fdt image is found but corrupted
+ * of_flat_tree and of_size are set to 0 if no fdt exists
+ */
+int boot_get_fdt(void *buf, int flag, int argc, char *const argv[], uint arch,
+ struct bootm_headers *images, char **of_flat_tree,
+ ulong *of_size);
+
void boot_fdt_add_mem_rsv_regions(struct lmb *lmb, void *fdt_blob);
int boot_relocate_fdt(struct lmb *lmb, char **of_flat_tree, ulong *of_size);