]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
chromium: Add #{address,size}-cells to /firmware 22951/head
authorBrian Norris <computersforpeace@gmail.com>
Thu, 16 Apr 2026 01:58:59 +0000 (18:58 -0700)
committerRobert Marko <robimarko@gmail.com>
Thu, 16 Apr 2026 12:18:45 +0000 (14:18 +0200)
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
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/ipq40xx/dts/qcom-ipq4019-wifi.dts
target/linux/ipq806x/dts/qcom-ipq8064-onhub.dtsi

index a93424acb00ee2ce2ff419b44fa74978a63b2522..51dc07777d319351cbe9b8560777501819e24147 100644 (file)
                stdout-path = &blsp1_uart1;
        };
 
+       firmware {
+               #address-cells = <1>;
+               #size-cells = <1>;
+       };
+
        memory {
                device_type = "memory";
                reg = <0x80000000 0x20000000>; /* 512MB */
index af8d410fdb5af23fe9bfaeeb269f7d6a529733ef..b8026ee94058f1a1f509dd0b4aed1c55e6d96945 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       firmware {
+               #address-cells = <1>;
+               #size-cells = <1>;
+       };
+
        reserved-memory {
                #address-cells = <1>;
                #size-cells = <1>;