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
70
71
72
73
74
75
76
77
78
|
--- bcm2837-rpi-3-b-plus.orig.dts
+++ bcm2837-rpi-3-b-plus.rpi-amp.dts
@@ -89,7 +89,7 @@
phandle = < 0x1c >;
};
- gpio@7e200000 {
+ gpio: gpio@7e200000 {
compatible = "brcm,bcm2835-gpio";
reg = < 0x7e200000 0xb4 >;
interrupts = < 0x02 0x11 0x02 0x12 0x02 0x13 0x02 0x14 >;
@@ -344,6 +344,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 {
@@ -377,13 +383,16 @@
bus-width = < 0x04 >;
};
- i2s@7e203000 {
+ i2s0: i2s@7e203000 {
+ #sound-dai-cells= <0>;
compatible = "brcm,bcm2835-i2s";
reg = < 0x7e203000 0x24 >;
clocks = < 0x06 0x1f >;
- status = "disabled";
dmas = < 0x0b 0x02 0x0b 0x03 >;
dma-names = "tx\0rx";
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s_alt0>;
};
spi@7e204000 {
@@ -538,6 +547,13 @@
pinctrl-names = "default";
pinctrl-0 = < 0x15 >;
clock-frequency = < 0x186a0 >;
+
+ tas5825m: tas5825m@4c {
+ compatible = "ti,tas5825m";
+ reg = < 0x4c >;
+ pdn-gpios = < &gpio 27 0x01 >;
+ #sound-dai-cells = < 0x00 >;
+ };
};
vec@7e806000 {
@@ -837,4 +853,20 @@
reset-gpios = < 0x0a 0x01 0x01 >;
phandle = < 0x14 >;
};
+
+ 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>;
+ };
+ };
};
|