File 0001-dts-overlays-Adjust-them-for-RPi5.patch of Package raspberrypi-firmware-dt

From b73602e0a32408605a9fe7b4dd29e0402b1fa8e3 Mon Sep 17 00:00:00 2001
From: "Ivan T. Ivanov" <iivanov@suse.de>
Date: Thu, 23 Oct 2025 03:30:36 +0300
Subject: [PATCH] dts: overlays: Adjust them for RPi5

- Add 64 bit size CMA overlay
  Compared to older devices RPi5 uses #size-cells=<2>.
  Create new overlay and add it to overlay_map so it
  could automagicaly loaded by the firmware.

- Add map for enabling Bluetooth on RPi5
  Bluetooth on RPi5 do not need to be enabled, but
  because we unconditionally enable-bt for all
  devices create similar overlay for RPi5 and
  add it to overlay_map.

- Add map for upstream overlay on RPi5
  Create empty upstream overlay to silence firmware warnings.
---
 arch/arm/boot/dts/overlays/Makefile           |  1 +
 arch/arm/boot/dts/overlays/cma64-overlay.dts  | 40 +++++++++++++++++++
 .../dts/overlays/enable-bt-pi5-overlay.dts    | 13 ++++++
 arch/arm/boot/dts/overlays/overlay_map.dts    | 24 +++++++++++
 arch/arm/boot/dts/overlays/upstream-pi5.dts   |  9 +++++
 .../dts/overlays/vc4-kms-v3d-pi5-overlay.dts  |  4 +-
 6 files changed, 89 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/boot/dts/overlays/cma64-overlay.dts
 create mode 100644 arch/arm/boot/dts/overlays/enable-bt-pi5-overlay.dts
 create mode 100644 arch/arm/boot/dts/overlays/upstream-pi5.dts

diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
index e142a7d..88bfdc2 100644
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -44,6 +44,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
 	cirrus-wm5102.dtbo \
 	cm-swap-i2c0.dtbo \
 	cma.dtbo \
+	cma64.dtbo \
 	crystalfontz-cfa050_pi_m.dtbo \
 	cutiepi-panel.dtbo \
 	dacberry400.dtbo \
diff --git a/arch/arm/boot/dts/overlays/cma64-overlay.dts b/arch/arm/boot/dts/overlays/cma64-overlay.dts
new file mode 100644
index 0000000..92d25d3
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/cma64-overlay.dts
@@ -0,0 +1,40 @@
+/*
+ * cma64.dts
+ */
+
+/dts-v1/;
+/plugin/;
+
+/*
+ * "cma" overlay uses  #size-cells = <1>. Raspberry Pi 5 uses #size-cells = <2>
+ */
+
+/ {
+	compatible = "brcm,bcm2712";
+
+	fragment@0 {
+		target = <&cma>;
+		frag0: __overlay__ {
+			/*
+			 * The default size when using this overlay is 256 MB
+			 * and should be kept as is for backwards
+			 * compatibility.
+			 */
+			size = <0x0 0x10000000>;
+		};
+	};
+
+	__overrides__ {
+		cma-512 = <&frag0>,"size:4=0x20000000";
+		cma-448 = <&frag0>,"size:4=0x1c000000";
+		cma-384 = <&frag0>,"size:4=0x18000000";
+		cma-320 = <&frag0>,"size:4=0x14000000";
+		cma-256 = <&frag0>,"size:4=0x10000000";
+		cma-192 = <&frag0>,"size:4=0x0C000000";
+		cma-128 = <&frag0>,"size:4=0x08000000";
+		cma-96  = <&frag0>,"size:4=0x06000000";
+		cma-64  = <&frag0>,"size:4=0x04000000";
+		cma-size = <&frag0>,"size:4"; /* in bytes, 4MB aligned */
+		cma-default = <0>,"-0";
+	};
+};
diff --git a/arch/arm/boot/dts/overlays/enable-bt-pi5-overlay.dts b/arch/arm/boot/dts/overlays/enable-bt-pi5-overlay.dts
new file mode 100644
index 0000000..21cb04d
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/enable-bt-pi5-overlay.dts
@@ -0,0 +1,13 @@
+/dts-v1/;
+/plugin/;
+
+/{
+	compatible = "brcm,bcm2712";
+
+	fragment@0 {
+		target = <&bluetooth>;
+		__overlay__ {
+			status = "okay";
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/overlays/overlay_map.dts b/arch/arm/boot/dts/overlays/overlay_map.dts
index 6fa5979..6d6c5e6 100644
--- a/arch/arm/boot/dts/overlays/overlay_map.dts
+++ b/arch/arm/boot/dts/overlays/overlay_map.dts
@@ -20,6 +20,16 @@
 		deprecated = "use i2c-sensor,bmp085";
 	};
 
+	cma {
+		bcm2835;
+		bcm2711;
+		bcm2712 = "cma64";
+	};
+
+	cma64 {
+		bcm2712;
+	};
+
 	cm-swap-i2c0 {
 		bcm2835;
 		bcm2711;
@@ -53,6 +63,15 @@
 		bcm2712;
 	};
 
+	enable-bt {
+		bcm2711;
+		bcm2712 = "enable-bt-pi5";
+	};
+
+	enable-bt-pi5 {
+		bcm2712;
+	};
+
 	hifiberry-adc8x {
 		bcm2712;
 	};
@@ -462,6 +481,7 @@
 	upstream {
 		bcm2835;
 		bcm2711 = "upstream-pi4";
+		bcm2712 = "upstream-pi5";
 	};
 
 	upstream-aux-interrupt {
@@ -472,6 +492,10 @@
 		bcm2711;
 	};
 
+	upstream-pi5 {
+		bcm2712;
+	};
+
 	vc4-fkms-v3d {
 		bcm2835;
 		bcm2711 = "vc4-fkms-v3d-pi4";
diff --git a/arch/arm/boot/dts/overlays/upstream-pi5.dts b/arch/arm/boot/dts/overlays/upstream-pi5.dts
new file mode 100644
index 0000000..e0e0a04
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/upstream-pi5.dts
@@ -0,0 +1,9 @@
+//
+
+/dts-v1/;
+/plugin/;
+
+
+/ {
+	compatible = "brcm,bcm2712";
+};
diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi5-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi5-overlay.dts
index f887818..e9504a7 100644
--- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi5-overlay.dts
+++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi5-overlay.dts
@@ -1,9 +1,9 @@
 // SPDX-License-Identifier: GPL-2.0
 
-#include "cma-overlay.dts"
+#include "cma64-overlay.dts"
 
 &frag0 {
-	size = <(64*1024*1024)>;
+	size = <0x0 (64*1024*1024)>;
 };
 
 / {
-- 
2.51.0

openSUSE Build Service is sponsored by