summaryrefslogtreecommitdiff
path: root/tools/u_boot_pylib/test_util.py
diff options
context:
space:
mode:
authorMauro Salvini <m.salvini@koansoftware.com>2021-05-12 14:39:45 +0200
committerPeter Robinson <pbrobinson@gmail.com>2025-04-16 11:00:49 +0100
commit564d99d0723e338792df6897dc7407df2cf6196d (patch)
tree096f75e969d070ac6b1d1087956984f2ce0d383c /tools/u_boot_pylib/test_util.py
parent0270806ffea732bd0835c14892740a9b82703788 (diff)
rpi: always set fdt_addr with firmware-provided FDT address
Raspberry firmware prepares the FDT blob in memory at an address that depends on both the memory size and the blob size [1]. After commit ade243a211d6 ("rpi: passthrough of the firmware provided FDT blob") this FDT is passed to kernel through fdt_addr environment variable, handled in set_fdt_addr() function in board file. When u-boot environment is persistently saved, if a change happens in loaded FDT (e.g. for a new overlay applied), firmware produces a FDT address different from the saved one, but u-boot still use the saved one because set_fdt_addr() function does not overwrite the fdt_addr variable. So, for example, if there is a script that uses fdt commands for e.g. manipulate the bootargs, boot hangs with error libfdt fdt_check_header(): FDT_ERR_BADMAGIC Removing the fdt_addr variable in saved environment allows to boot. With this patch set_fdt_addr() function always overwrite fdt_addr value. [1] https://www.raspberrypi.org/forums//viewtopic.php?f=107&t=134018 Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com> Cc: Cédric Schieli <cschieli@gmail.com> Cc: Matthias Brugger <mbrugger@suse.com>
Diffstat (limited to 'tools/u_boot_pylib/test_util.py')
0 files changed, 0 insertions, 0 deletions