[PATCH 1/7] arm64: dts: rockchip: Add #{address,size}-cells to Chromium-based /firmware
Chen-Yu Tsai
wenst at chromium.org
Tue Apr 28 21:17:42 PDT 2026
On Wed, Apr 29, 2026 at 1:12 PM Brian Norris <briannorris at chromium.org> wrote:
>
> Chromium/Depthcharge bootloaders may dynamically add a few device nodes
> to a system's DTB under a /firmware node. A typical DT looks something
> like the following:
>
> ## From a RK3399 Gru/Kevin Chromebook:
> # find /sys/firmware/devicetree/base/firmware
> /sys/firmware/devicetree/base/firmware
> /sys/firmware/devicetree/base/firmware/coreboot
> /sys/firmware/devicetree/base/firmware/coreboot/ram-code
> /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/chromeos
> /sys/firmware/devicetree/base/firmware/chromeos/readonly-firmware-version
> /sys/firmware/devicetree/base/firmware/chromeos/active-ec-firmware
> /sys/firmware/devicetree/base/firmware/chromeos/firmware-version
> /sys/firmware/devicetree/base/firmware/chromeos/nonvolatile-context-storage
> /sys/firmware/devicetree/base/firmware/chromeos/vboot-shared-data
> /sys/firmware/devicetree/base/firmware/chromeos/nonvolatile-context-size
> /sys/firmware/devicetree/base/firmware/chromeos/nonvolatile-context-offset
> /sys/firmware/devicetree/base/firmware/chromeos/hardware-id
> /sys/firmware/devicetree/base/firmware/chromeos/compatible
> /sys/firmware/devicetree/base/firmware/chromeos/firmware-type
> /sys/firmware/devicetree/base/firmware/chromeos/fmap-offset
> /sys/firmware/devicetree/base/firmware/chromeos/name
> /sys/firmware/devicetree/base/firmware/ranges
> /sys/firmware/devicetree/base/firmware/name
>
> The /firmware node has an empty 'ranges', but does not have
> address/size-cells.
>
> Commit 6e5773d52f4a ("of/address: Fix WARN when attempting translating
> non-translatable addresses") started requiring #address-cells for a
> device's parent if we want to use the reg resource in a device node.
> This leads to errors like the following:
>
> [ 7.763870] coreboot_table firmware:coreboot: probe with driver coreboot_table failed with error -22
>
> Add appropriate #{address,size}-cells to work around the problem.
>
> Note that Google has also patched the Depthcharge bootloader source to
> add {address,size}-cells [1], but bootloader updates are typically
> delivered only via Google OS updates. Not all users install Google
> software updates, and even if they do, Google may not produce updated
> binaries for all/older devices.
>
> [1] https://lore.kernel.org/all/20241209092809.GA3246424@google.com/
> https://crrev.com/c/6051580 ("coreboot: Insert #address-cells and
> #size-cells for firmware node")
>
> Closes: https://lore.kernel.org/all/aeKlYzTiL0OB1y3g@google.com/
> Fixes: 6e5773d52f4a ("of/address: Fix WARN when attempting translating non-translatable addresses")
> Signed-off-by: Brian Norris <briannorris at chromium.org>
Reviewed-by: Chen-Yu Tsai <wenst at chromium.org>
More information about the Linux-rockchip
mailing list