[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210112142342.7290-4-nsaenzjulienne@suse.de>
Date: Tue, 12 Jan 2021 15:23:40 +0100
From: Nicolas Saenz Julienne <nsaenzjulienne@...e.de>
To: srinivas.kandagatla@...aro.org, linux-kernel@...r.kernel.org,
Rob Herring <robh+dt@...nel.org>,
Nicolas Saenz Julienne <nsaenzjulienne@...e.de>
Cc: linux-arm-kernel@...ts.infradead.org, linux@...linux.org.uk,
catalin.marinas@....com, will@...nel.org,
devicetree@...r.kernel.org, linux-rpi-kernel@...ts.infradead.org,
bcm-kernel-feedback-list@...adcom.com, tim.gover@...pberrypi.com,
phil@...pberrypi.com
Subject: [PATCH v3 3/5] 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@...e.de>
Tested-by: Tim Gover <tim.gover@...pberrypi.com>
[1] https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
---
Changes since v1:
- Introduce compatible string
- Change alias name to something more explicit
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
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 @@ aliases {
emmc2bus = &emmc2bus;
ethernet0 = &genet;
pcie0 = &pcie0;
+ blconfig = &blconfig;
};
leds {
@@ -218,6 +219,22 @@ &pwm1 {
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>;
--
2.29.2
Powered by blists - more mailing lists