summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Norris2026-04-16 01:58:59 +0000
committerRobert Marko2026-04-16 19:17:00 +0000
commitb36e1168b0bb65f49de5c424e4a125bed1feb52f (patch)
treeaefcc6b8d021e8ff1657320e150cbe17c07d855b
parent12e56ac8d4bc056768c962796f55531a6da2b4cf (diff)
downloadopenwrt-b36e1168b0bb65f49de5c424e4a125bed1feb52f.tar.gz
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>
-rw-r--r--target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-wifi.dts5
-rw-r--r--target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi5
2 files changed, 10 insertions, 0 deletions
diff --git a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-wifi.dts b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-wifi.dts
index a93424acb0..51dc07777d 100644
--- a/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-wifi.dts
+++ b/target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-wifi.dts
@@ -31,6 +31,11 @@
stdout-path = &blsp1_uart1;
};
+ firmware {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+
memory {
device_type = "memory";
reg = <0x80000000 0x20000000>; /* 512MB */
diff --git a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi
index af8d410fdb..b8026ee940 100644
--- a/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi
+++ b/target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi
@@ -20,6 +20,11 @@
stdout-path = "serial0:115200n8";
};
+ firmware {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;