openwrt/target/linux/bcm27xx/patches-6.6/950-0990-dts-bcm2712-Add-blpubkey-nvram-node.patch
Álvaro Fernández Rojas 8c405cdccc bcm27xx: add 6.6 kernel patches
The patches were generated from the RPi repo with the following command:
git format-patch v6.6.34..rpi-6.1.y

Some patches needed rebasing and, as usual, the applied and reverted, wireless
drivers, Github workflows, READMEs and defconfigs patches were removed.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-06-18 18:52:49 +02:00

67 lines
2.1 KiB
Diff

From ed09e6e753d9e6a5e31493d52c17bad4263144a5 Mon Sep 17 00:00:00 2001
From: Tim Gover <tim.gover@raspberrypi.com>
Date: Tue, 26 Mar 2024 17:08:58 +0000
Subject: [PATCH 0990/1085] dts: bcm2712: Add blpubkey nvram node
The RPi5 firmware also supports exporting the customer
public key stored in flash via device-tree. Define the
node so that the firmware can populate it.
Signed-off-by: Tim Gover <tim.gover@raspberrypi.com>
---
arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts | 1 +
arch/arm/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi | 1 +
arch/arm/boot/dts/broadcom/bcm2712-rpi.dtsi | 14 +++++++++++++-
3 files changed, 15 insertions(+), 1 deletion(-)
--- a/arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts
+++ b/arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts
@@ -744,6 +744,7 @@ spi10_cs_pins: &spi10_cs_gpio1 {};
/ {
aliases: aliases {
blconfig = &blconfig;
+ blpubkey = &blpubkey;
bluetooth = &bluetooth;
console = &uart10;
ethernet0 = &rp1_eth;
--- a/arch/arm/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
@@ -745,6 +745,7 @@ spi10_cs_pins: &spi10_cs_gpio1 {};
/ {
aliases: aliases {
blconfig = &blconfig;
+ blpubkey = &blpubkey;
bluetooth = &bluetooth;
console = &uart10;
ethernet0 = &rp1_eth;
--- a/arch/arm/boot/dts/broadcom/bcm2712-rpi.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm2712-rpi.dtsi
@@ -102,7 +102,7 @@ pciex4: &pcie2 { };
&rmem {
/*
- * RPi4's co-processor will copy the board's bootloader configuration
+ * RPi5'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.
*/
@@ -111,6 +111,18 @@ pciex4: &pcie2 { };
#address-cells = <1>;
#size-cells = <1>;
reg = <0x0 0x0 0x0>;
+ no-map;
+ status = "disabled";
+ };
+ /*
+ * RPi5 will copy the binary public key blob (if present) from the bootloader
+ * into memory for use by the OS.
+ */
+ blpubkey: nvram@1 {
+ compatible = "raspberrypi,bootloader-public-key", "nvmem-rmem";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0x0 0x0 0x0>;
no-map;
status = "disabled";
};