diff options
author | Nicolas Saenz Julienne <nsaenzjulienne@suse.de> | 2021-01-12 17:23:40 +0300 |
---|---|---|
committer | Nicolas Saenz Julienne <nsaenzjulienne@suse.de> | 2021-01-25 23:49:41 +0300 |
commit | 6b4233f70a914d932a8156950bf9114ba6a06f6c (patch) | |
tree | 3e0876c4398a7c2b5cf411a389a8b726f41f4399 | |
parent | fcb985a0642ee169c6cf4d2322873f853d50abb2 (diff) | |
download | linux-6b4233f70a914d932a8156950bf9114ba6a06f6c.tar.xz |
ARM: dts: bcm2711: Add reserved memory template to hold firmware configuration
RPi4's co-processor will copy the board's bootloader[1] configuration
into memory for the OS to consume. Specifically, for the bootloader
configuration and upgrade user-space routines to query it through
nvmem's sysfs interface.
Introduce a reserved-memory area template for the co-processor to edit
before booting the system so as for Linux not to overwrite that memory
and to expose it as an nvmem device.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Tested-by: Tim Gover <tim.gover@raspberrypi.com>
Link: https://lore.kernel.org/r/e8ca9365-a1f2-1f9d-377c-13bf97883cce@linaro.org
[1] https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
-rw-r--r-- | arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts index 403bacf986eb..3b4ab947492a 100644 --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts @@ -25,6 +25,7 @@ emmc2bus = &emmc2bus; ethernet0 = &genet; pcie0 = &pcie0; + blconfig = &blconfig; }; leds { @@ -218,6 +219,22 @@ status = "okay"; }; +&rmem { + /* + * RPi4's co-processor will copy the board's bootloader configuration + * into memory for the OS to consume. It'll also update this node with + * its placement information. + */ + blconfig: nvram@0 { + compatible = "raspberrypi,bootloader-config", "nvmem-rmem"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x0 0x0 0x0>; + no-map; + status = "disabled"; + }; +}; + /* SDHCI is used to control the SDIO for wireless */ &sdhci { #address-cells = <1>; |