From 6c5efcf09c40d37f72692fdbdf6d461abede20f1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Mon, 3 Feb 2020 17:03:29 +0000
Subject: [PATCH] ARM: dts: Move audio node under the vchiq parent

VCHIQ kernel clients are now instantiated as platform drivers rather
than using DT, but the children of the vchiq device can optionally be
given a sub-node of the vchiq parent for configuration and to disable
them.

Move the existing audio node beneath the vchiq parent, to prevent
multiple instantiation and unpleasant warnings. Note that the node
name has to match the module name - "bcm2835_audio".

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
 arch/arm/boot/dts/bcm270x-rpi.dtsi | 16 +++++++++-------
 arch/arm/boot/dts/bcm2711-rpi.dtsi | 14 ++++++++++++++
 2 files changed, 23 insertions(+), 7 deletions(-)

--- a/arch/arm/boot/dts/bcm270x-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm270x-rpi.dtsi
@@ -70,13 +70,6 @@
 			status = "okay";
 		};
 
-		/* Onboard audio */
-		audio: audio {
-			compatible = "brcm,bcm2835-audio";
-			brcm,pwm-channels = <8>;
-			status = "disabled";
-		};
-
 		/* External sound card */
 		sound: sound {
 			status = "disabled";
@@ -137,3 +130,12 @@
 &vec {
 	status = "disabled";
 };
+
+&vchiq {
+	/* Onboard audio */
+	audio: bcm2835_audio {
+		compatible = "brcm,bcm2835-audio";
+		brcm,pwm-channels = <8>;
+		status = "disabled";
+	};
+};
--- a/arch/arm/boot/dts/bcm2711-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2711-rpi.dtsi
@@ -55,6 +55,8 @@
 		compatible = "brcm,bcm2835-vc4";
 		status = "disabled";
 	};
+
+	/delete-node/ audio;
 };
 
 &scb {
@@ -160,6 +162,18 @@
 	};
 };
 
+&vchiq {
+	/* Onboard audio
+	 * This node is replicated because the original from bcm270x-rpi.dtsi
+	 * was deleted when the vchiq node was deleted above.
+	 */
+	audio: bcm2835_audio {
+		compatible = "brcm,bcm2835-audio";
+		brcm,pwm-channels = <8>;
+		status = "disabled";
+	};
+};
+
 &dma {
 	/* The VPU firmware uses DMA channel 11 for VCHIQ */
 	brcm,dma-channel-mask = <0x1f5>;
