aboutsummaryrefslogtreecommitdiff
path: root/tas5825m-module/dts.patch
blob: 6bfddcb15603cd2cb337276aac75515264ff98fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
--- bcm2837-rpi-3-b-plus.orig.dts
+++ bcm2837-rpi-3-b-plus.rpi-amp.dts
@@ -368,6 +368,12 @@
 				brcm,pins = < 0x04 0x05 0x07 0x08 0x09 0x0a 0x0b >;
 				brcm,function = < 0x04 >;
 			};
+
+			i2s_alt0: i2s_alt0 {
+				brcm,pins = <18 19 20 21>;
+				brcm,function = < 0x04 >;
+			};
+
 		};
 
 		serial@7e201000 {
@@ -401,13 +407,16 @@
 			bus-width = < 0x04 >;
 		};
 
-		i2s@7e203000 {
+		i2s0: i2s@7e203000 {
+			#sound-dai-cells= <0>;
 			compatible = "brcm,bcm2835-i2s";
 			reg = < 0x7e203000 0x24 >;
 			clocks = < 0x04 0x1f >;
 			dmas = < 0x0c 0x02 0x0c 0x03 >;
 			dma-names = "tx\0rx";
-			status = "disabled";
+			status = "okay";
+			pinctrl-names = "default";
+			pinctrl-0 = <&i2s_alt0>;
 		};
 
 		spi@7e204000 {
@@ -582,6 +591,13 @@
 			pinctrl-names = "default";
 			pinctrl-0 = < 0x16 >;
 			clock-frequency = < 0x186a0 >;
+
+			tas5825m: tas5825m@4c {
+				compatible = "ti,tas5825m";
+				reg = < 0x4c >;
+				pdn-gpios = < 0x18 0x1b 0x01 >;
+				#sound-dai-cells = < 0x00 >;
+			};
 		};
 
 		i2c@7e805000 {
@@ -823,4 +839,20 @@
 		reset-gpios = < 0x0b 0x01 0x01 >;
 		phandle = < 0x15 >;
 	};
+
+	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>;
+		};
+	};
 };