<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">From 358b2d553762030d3e7e66eb4c0bb7140d348c43 Mon Sep 17 00:00:00 2001
From: Phil Elwell &lt;phil@raspberrypi.com&gt;
Date: Thu, 11 May 2023 11:50:57 +0100
Subject: [PATCH] ARM: dts: bcm2711-rpi: Add i2s_dma4

Add an i2s_dma4 parameter to make the I2S interface use 40-bit DMA
channels, taking the opportunity to remove some duplication.

Signed-off-by: Phil Elwell &lt;phil@raspberrypi.com&gt;
---
 arch/arm/boot/dts/bcm2711-rpi-4-b.dts  | 4 ----
 arch/arm/boot/dts/bcm2711-rpi-400.dts  | 4 ----
 arch/arm/boot/dts/bcm2711-rpi-cm4.dts  | 4 ----
 arch/arm/boot/dts/bcm2711-rpi-cm4s.dts | 4 ----
 arch/arm/boot/dts/bcm2711-rpi-ds.dtsi  | 6 ++++++
 arch/arm/boot/dts/overlays/README      | 4 ++++
 6 files changed, 10 insertions(+), 16 deletions(-)

--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
@@ -414,9 +414,5 @@ cam0_reg: &amp;cam_dummy_reg {
 
 		eth_led0 = &lt;&amp;phy1&gt;,"led-modes:0";
 		eth_led1 = &lt;&amp;phy1&gt;,"led-modes:4";
-
-		sd_poll_once = &lt;&amp;emmc2&gt;, "non-removable?";
-		spi_dma4 = &lt;&amp;spi0&gt;, "dmas:0=", &lt;&amp;dma40&gt;,
-			   &lt;&amp;spi0&gt;, "dmas:8=", &lt;&amp;dma40&gt;;
 	};
 };
--- a/arch/arm/boot/dts/bcm2711-rpi-400.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-400.dts
@@ -425,9 +425,5 @@ cam0_reg: &amp;cam_dummy_reg {
 
 		eth_led0 = &lt;&amp;phy1&gt;,"led-modes:0";
 		eth_led1 = &lt;&amp;phy1&gt;,"led-modes:4";
-
-		sd_poll_once = &lt;&amp;emmc2&gt;, "non-removable?";
-		spi_dma4 = &lt;&amp;spi0&gt;, "dmas:0=", &lt;&amp;dma40&gt;,
-			   &lt;&amp;spi0&gt;, "dmas:8=", &lt;&amp;dma40&gt;;
 	};
 };
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
@@ -437,10 +437,6 @@ cam0_reg: &amp;cam1_reg {
 			&lt;&amp;ant2&gt;, "output-high?=off",
 			&lt;&amp;ant2&gt;, "output-low?=on";
 
-		sd_poll_once = &lt;&amp;emmc2&gt;, "non-removable?";
-		spi_dma4 = &lt;&amp;spi0&gt;, "dmas:0=", &lt;&amp;dma40&gt;,
-			   &lt;&amp;spi0&gt;, "dmas:8=", &lt;&amp;dma40&gt;;
-
 		cam0_reg = &lt;&amp;cam0_reg&gt;,"status";
 		cam0_reg_gpio = &lt;&amp;cam0_reg&gt;,"gpio:4",
 				  &lt;&amp;cam0_reg&gt;,"gpio:0=", &lt;&amp;gpio&gt;;
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts
@@ -290,10 +290,6 @@ cam0_reg: &amp;cam0_regulator {
 		act_led_activelow = &lt;&amp;act_led&gt;,"gpios:8";
 		act_led_trigger = &lt;&amp;act_led&gt;,"linux,default-trigger";
 
-		sd_poll_once = &lt;&amp;emmc2&gt;, "non-removable?";
-		spi_dma4 = &lt;&amp;spi0&gt;, "dmas:0=", &lt;&amp;dma40&gt;,
-			   &lt;&amp;spi0&gt;, "dmas:8=", &lt;&amp;dma40&gt;;
-
 		cam0_reg = &lt;&amp;cam0_reg&gt;,"status";
 		cam0_reg_gpio = &lt;&amp;cam0_reg&gt;,"gpio:4";
 		cam1_reg = &lt;&amp;cam1_reg&gt;,"status";
--- a/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi
+++ b/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi
@@ -12,6 +12,12 @@
 		       &lt;&amp;hdmi1&gt;,"status";
 		pcie = &lt;&amp;pcie0&gt;,"status";
 		sd = &lt;&amp;emmc2&gt;,"status";
+
+		sd_poll_once = &lt;&amp;emmc2&gt;, "non-removable?";
+		spi_dma4 = &lt;&amp;spi0&gt;, "dmas:0=", &lt;&amp;dma40&gt;,
+			   &lt;&amp;spi0&gt;, "dmas:8=", &lt;&amp;dma40&gt;;
+		i2s_dma4 = &lt;&amp;i2s&gt;, "dmas:0=", &lt;&amp;dma40&gt;,
+			   &lt;&amp;i2s&gt;, "dmas:8=", &lt;&amp;dma40&gt;;
 	};
 
 	scb: scb {
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -226,6 +226,10 @@ Params:
         i2s                     Set to "on" to enable the i2s interface
                                 (default "off")
 
+        i2s_dma4                Use to enable 40-bit DMA on the i2s interface
+                                (the assigned value doesn't matter)
+                                (2711 only)
+
         krnbt                   Set to "off" to disable autoprobing of Bluetooth
                                 driver without need of hciattach/btattach
                                 (default "on")
</pre></body></html>