-
Notifications
You must be signed in to change notification settings - Fork 3
/
pipad-i2s-soundcard-overlay.dts
121 lines (109 loc) · 3.6 KB
/
pipad-i2s-soundcard-overlay.dts
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2835";
fragment@0 {
target = <&gpio>;
__overlay__ {
amp_enable: amp_enable {
brcm,pins = <17>;
brcm,function = <1>;
brcm,pull = <1>;
};
};
};
fragment@1 {
target-path = "/";
__overlay__ {
vcc30: fixedregulator@1 {
regulator-boot-on;
compatible = "regulator-fixed";
regulator-name = "soundcard30";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
gpio = <&gpio 22 0>;
startup-delay-us = <70000>;
enable-active-high;
vin-supply = <&vdd_3v3_reg>;
};
vcc18: fixedregulator@2 {
regulator-boot-on;
compatible = "regulator-fixed";
regulator-name = "soundcard18";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&gpio 22 0>;
startup-delay-us = <70000>;
enable-active-high;
vin-supply = <&vdd_3v3_reg>;
};
amp: analog-amplifier {
compatible = "simple-audio-amplifier";
enable-gpios = <&gpio 17 0>;
VCC-supply = <&vdd_3v3_reg>;
};
};
};
fragment@2 {
target = <&i2c1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
tlv320aic3104: tlv320aic3104@24 {
// #address-cells = <1>;
// #size-cells = <0>;
status = "okay";
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic3104";
reg = <0x18>;
reset-gpios = <&gpio 27 0>;
ai3x-ocmv = <0>;
// AVDD-supply = <&vcc30>;
// DRVDD-supply = <&vcc30>;
// DVDD-supply = <&vcc18>;
// IOVDD-supply = <&vdd_3v3_reg>;
};
};
};
fragment@3 {
target = <&i2s>;
__overlay__ {
status = "okay";
};
};
fragment@4 {
target = <&sound>;
__overlay__ {
compatible = "simple-audio-card";
i2s_controller = <&i2s>;
status = "okay";
simple-audio-card,name = "pipad";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
simple-audio-card,widgets =
"Microphone", "Microphone Jack",
"Microphone", "Internal Microphone",
"Headphone", "Headphone Jack",
"Line", "Line Out",
"Speaker", "Internal Speaker";
simple-audio-card,routing =
"Line Out", "HPLCOM",
"Line Out", "HPRCOM",
"Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT",
"Microphone Jack", "MIC2L",
"Internal Microphone", "LINE1L",
"Internal Speaker", "LLOUT",
"Internal Speaker", "RLOUT";
simple-audio-card,aux-devs = <&>;
dailink0_master: simple-audio-card,cpu {
sound-dai = <&i2s>;
};
simple-audio-card,codec {
sound-dai = <&tlv320aic3104>;
system-clock-frequency = <12288000>;
};
};
};
};