diff options
author | Tom Rini <trini@konsulko.com> | 2023-12-13 16:02:38 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-12-13 18:39:06 -0500 |
commit | 86f623dcf89c6037b34788650c42b02b501e6d27 (patch) | |
tree | 504c8045e6505a08fa4a2ae6355a220d2d9dd98b /include/fdt_support.h | |
parent | 9565771076c2d4b0193f1741b3990695ac33c1f3 (diff) | |
parent | 229c4da6ca183b91f2ad928ecec47e073bce1b1a (diff) |
Merge tag 'dm-next-13dec23' of https://gitlab.denx.de/u-boot/custodians/u-boot-dm into next
minor improvements to test, acpi
updates for new PyPl release
Diffstat (limited to 'include/fdt_support.h')
-rw-r--r-- | include/fdt_support.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/fdt_support.h b/include/fdt_support.h index feda0d99740..25600d62f29 100644 --- a/include/fdt_support.h +++ b/include/fdt_support.h @@ -55,7 +55,17 @@ int fdt_chosen(void *fdt); /** * Add initrd information to the FDT before booting the OS. * - * @param fdt FDT address in memory + * Adds linux,initrd-start and linux,initrd-end properties to the /chosen node, + * creating it if necessary. + * + * A memory reservation for the ramdisk is added to the FDT, or an existing one + * (with matching @initrd_start) updated. + * + * If @initrd_start == @initrd_end this function does nothing and returns 0. + * + * @fdt: Pointer to FDT in memory + * @initrd_start: Start of ramdisk + * @initrd_end: End of ramdisk * Return: 0 if ok, or -FDT_ERR_... on error */ int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end); @@ -232,13 +242,23 @@ int ft_system_setup(void *blob, struct bd_info *bd); void set_working_fdt_addr(ulong addr); /** - * shrink down the given blob to minimum size + some extrasize if required + * fdt_shrink_to_minimum() - shrink FDT while allowing for some margin + * + * Shrink down the given blob to 'minimum' size + some extrasize. + * + * The new size is enough to hold the existing contents plus @extrasize bytes, + * plus 5 memory reservations. Also, the end of the FDT is aligned to a 4KB + * boundary, so it might end up up to 4KB larger than needed. + * + * If there is an existing memory reservation for @blob in the FDT, it is + * updated for the new size. * * @param blob FDT blob to update * @param extrasize additional bytes needed * Return: 0 if ok, or -FDT_ERR_... on error */ int fdt_shrink_to_minimum(void *blob, uint extrasize); + int fdt_increase_size(void *fdt, int add_len); int fdt_delete_disabled_nodes(void *blob); |