[3/6] ARM: dts: bcm2711: Add reserved memory template to hold firmware configuration
diff mbox series

Message ID 20201215155627.2513-4-nsaenzjulienne@suse.de
State New, archived
Headers show
Series
  • Expose RPi4'd bootloader configuration
Related show

Commit Message

Nicolas Saenz Julienne Dec. 15, 2020, 3:56 p.m. UTC
RPi4's co-processor will copy the board's bootloader configuration into
memory for the OS to consume. 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.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
 arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Rob Herring Dec. 15, 2020, 8:27 p.m. UTC | #1
On Tue, Dec 15, 2020 at 9:56 AM Nicolas Saenz Julienne
<nsaenzjulienne@suse.de> wrote:
>
> RPi4's co-processor will copy the board's bootloader configuration into
> memory for the OS to consume. 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.
>
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> ---
>  arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 14 ++++++++++++++
>  1 file changed, 14 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..c58e58e8ce39 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;
> +               eeprom = &eeprom;

I don't see the need for this...

>         };
>
>         leds {
> @@ -218,6 +219,19 @@ &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.
> +        */
> +       eeprom: eeprom@0 {

But it's not an eeprom. It's just memory with some format to the contents.

> +               reg = <0x0 0x0 0x0>;
> +               no-map;
> +               status = "disabled";
> +       };
> +};
> +
>  /* SDHCI is used to control the SDIO for wireless */
>  &sdhci {
>         #address-cells = <1>;
> --
> 2.29.2
>

Patch
diff mbox series

diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
index 403bacf986eb..c58e58e8ce39 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;
+		eeprom = &eeprom;
 	};
 
 	leds {
@@ -218,6 +219,19 @@  &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.
+	 */
+	eeprom: eeprom@0 {
+		reg = <0x0 0x0 0x0>;
+		no-map;
+		status = "disabled";
+	};
+};
+
 /* SDHCI is used to control the SDIO for wireless */
 &sdhci {
 	#address-cells = <1>;