aboutsummaryrefslogtreecommitdiff
--- bcm2837-rpi-3-b-plus.orig.dts
+++ bcm2837-rpi-3-b-plus.rpi-amp.dts
@@ -94,7 +94,7 @@
 			phandle = <0x1c>;
 		};
 
-		gpio@7e200000 {
+		gpio: gpio@7e200000 {
 			compatible = "brcm,bcm2835-gpio";
 			reg = <0x7e200000 0xb4>;
 			interrupts = <0x02 0x11 0x02 0x12 0x02 0x13 0x02 0x14>;
@@ -385,6 +385,11 @@
 				brcm,function = <0x04>;
 				phandle = <0x47>;
 			};
+
+			i2s_alt0: i2s_alt0 {
+				brcm,pins = < 18 19 20 21 >;
+				brcm,function = < 0x04 >;
+			};
 		};
 
 		serial@7e201000 {
@@ -421,13 +426,16 @@
 			phandle = <0x4a>;
 		};
 
-		i2s@7e203000 {
+		i2s0: i2s@7e203000 {
+			#sound-dai-cells= <0>;
 			compatible = "brcm,bcm2835-i2s";
 			reg = <0x7e203000 0x24>;
 			clocks = <0x07 0x1f>;
-			status = "disabled";
 			dmas = <0x0c 0x02 0x0c 0x03>;
 			dma-names = "tx\0rx";
+			pinctrl-names = "default";
+			pinctrl-0 = <&i2s_alt0>;
+			status = "okay";
 			phandle = <0x4b>;
 		};
 
@@ -623,6 +631,13 @@
 			pinctrl-0 = <0x17>;
 			clock-frequency = <0x186a0>;
 			phandle = <0x57>;
+
+			tas5825m: tas5825m@4c {
+				compatible = "ti,tas5825m";
+				reg = < 0x4c >;
+				pdn-gpios = < &gpio 27 0x01 >;
+				#sound-dai-cells = < 0x00 >;
+			};
 		};
 
 		usb@7e980000 {
@@ -980,6 +995,22 @@
 		reg = <0x00 0x40000000>;
 	};
 
+	sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "tas5825m";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&dailink0_master>;
+		simple-audio-card,frame-master = <&dailink0_master>;
+ 
+		dailink0_master: simple-audio-card,cpu {
+			sound-dai = <&i2s0>;
+		};
+ 
+		simple-audio-card,codec {
+			sound-dai = <&tas5825m>;
+		};
+	};
+
 	__symbols__ {
 		rmem = "/reserved-memory";
 		cma = "/reserved-memory/linux,cma";