chromium: Add #{address,size}-cells to /firmware

Commit b4d7263bc3b6 ("kernel: of: avoid some unnecessary bad cell count
warnings") backported Linux commit 6e5773d52f4a ("of/address: Fix WARN
when attempting translating non-translatable addresses"), which started
requiring #address-cells for a device's parent if we want to use the
reg resource in a device node.

Many Chromium devices use a /firmware/coreboot device node that is
patched in by the boot firmware. These structures look something like:

  # find /sys/firmware/devicetree/base/firmware/
  /sys/firmware/devicetree/base/firmware/
  /sys/firmware/devicetree/base/firmware/scm
  /sys/firmware/devicetree/base/firmware/scm/compatible
  /sys/firmware/devicetree/base/firmware/scm/name
  /sys/firmware/devicetree/base/firmware/ranges
  /sys/firmware/devicetree/base/firmware/chromeos
  /sys/firmware/devicetree/base/firmware/chromeos/fmap-offset
  /sys/firmware/devicetree/base/firmware/chromeos/compatible
  /sys/firmware/devicetree/base/firmware/chromeos/readonly-firmware-version
  /sys/firmware/devicetree/base/firmware/chromeos/nonvolatile-context-storage
  /sys/firmware/devicetree/base/firmware/chromeos/hardware-id
  /sys/firmware/devicetree/base/firmware/chromeos/firmware-type
  /sys/firmware/devicetree/base/firmware/chromeos/vboot-shared-data
  /sys/firmware/devicetree/base/firmware/chromeos/nonvolatile-context-offset
  /sys/firmware/devicetree/base/firmware/chromeos/firmware-version
  /sys/firmware/devicetree/base/firmware/chromeos/nonvolatile-context-size
  /sys/firmware/devicetree/base/firmware/chromeos/name
  /sys/firmware/devicetree/base/firmware/coreboot
  /sys/firmware/devicetree/base/firmware/coreboot/compatible
  /sys/firmware/devicetree/base/firmware/coreboot/board-id
  /sys/firmware/devicetree/base/firmware/coreboot/reg
  /sys/firmware/devicetree/base/firmware/coreboot/name
  /sys/firmware/devicetree/base/firmware/name

Notably, there is no #{address,size}-cells in /firmware.

This breaks any driver relying on a device under /firmware, such as the
coreboot_table driver.

This is technically an ill-formatted FDT, and so we might as well just
add the properties ourselves.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22951
(cherry picked from commit a94c020f385afc8158a10b1fe7451621da72e497)
Link: https://github.com/openwrt/openwrt/pull/22957
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Brian Norris 2026-04-15 18:58:59 -07:00 committed by Robert Marko
parent 12e56ac8d4
commit b36e1168b0
2 changed files with 10 additions and 0 deletions

View File

@ -31,6 +31,11 @@
stdout-path = &blsp1_uart1;
};
firmware {
#address-cells = <1>;
#size-cells = <1>;
};
memory {
device_type = "memory";
reg = <0x80000000 0x20000000>; /* 512MB */

View File

@ -20,6 +20,11 @@
stdout-path = "serial0:115200n8";
};
firmware {
#address-cells = <1>;
#size-cells = <1>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;