HomeFreeBSD

loader: fdt: Try to load every possible DTB from u-boot

Description

loader: fdt: Try to load every possible DTB from u-boot

U-Boot setup a few variables :

  • fdt_addr which is the board static dtb (most of the time loaded before u-boot or coming from some hardware like a ROM)
  • fdt_addr_r which is a location in RAM that holds the DTB loaded by u-boot or before u-boot

In the case of u-boot + rpi firmware the DTB is loaded in RAM but the location
still end up in the fdt_addr variable and the fdt_addr_r variable exist.

Change the behavior so we test that a DTB exists for every possible variable :

  • fdt_addr_r is checked first as if u-boot needed to modify it the correct DTB will live there.
  • fdt_addr is checked second as if we run on a hardware with DTB in ROM it means that we what/need to run that
  • fdtaddr looks like a FreeBSD-ism but since I'm not sure leave it.

Reviewed by: gonzo
Differential Revision: https://reviews.freebsd.org/D16101

Details

Provenance
manuAuthored on
Reviewer
gonzo
Differential Revision
D16101: loader: fdt: Try to load every possible DTB from u-boot
Parents
rS335932: - Fix a double unlock in inp_block_unblock_source() and
Branches
Unknown
Tags
Unknown