aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0447-ARM-dts-bcm2711-Add-reserved-memory-template-to-hold.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0447-ARM-dts-bcm2711-Add-reserved-memory-template-to-hold.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0447-ARM-dts-bcm2711-Add-reserved-memory-template-to-hold.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0447-ARM-dts-bcm2711-Add-reserved-memory-template-to-hold.patch b/target/linux/bcm27xx/patches-5.10/950-0447-ARM-dts-bcm2711-Add-reserved-memory-template-to-hold.patch
new file mode 100644
index 0000000000..e671d4584a
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0447-ARM-dts-bcm2711-Add-reserved-memory-template-to-hold.patch
@@ -0,0 +1,60 @@
+From b3a070cf6fe04129d2c174e45c14b98a759e0402 Mon Sep 17 00:00:00 2001
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Date: Fri, 11 Dec 2020 12:22:01 +0100
+Subject: [PATCH] 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>
+
+[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(+)
+
+--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+@@ -24,6 +24,7 @@
+ emmc2bus = &emmc2bus;
+ ethernet0 = &genet;
+ pcie0 = &pcie0;
++ blconfig = &blconfig;
+ };
+
+ leds {
+@@ -215,6 +216,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>;