hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
....@@ -8,10 +8,26 @@
88 * the pin-compatible S912 (GXM) or S905D (GXL) SoCs.
99 */
1010
11
+#include <dt-bindings/sound/meson-aiu.h>
12
+
1113 / {
1214 aliases {
1315 serial0 = &uart_AO;
1416 ethernet0 = &ethmac;
17
+ };
18
+
19
+ dio2133: analog-amplifier {
20
+ compatible = "simple-audio-amplifier";
21
+ sound-name-prefix = "AU2";
22
+ VCC-supply = <&hdmi_5v>;
23
+ enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>;
24
+ };
25
+
26
+ spdif_dit: audio-codec-0 {
27
+ #sound-dai-cells = <0>;
28
+ compatible = "linux,spdif-dit";
29
+ status = "okay";
30
+ sound-name-prefix = "DIT";
1531 };
1632
1733 chosen {
....@@ -102,6 +118,85 @@
102118 };
103119 };
104120 };
121
+
122
+ sound {
123
+ compatible = "amlogic,gx-sound-card";
124
+ model = "GX-P230-Q200";
125
+ audio-aux-devs = <&dio2133>;
126
+ audio-widgets = "Line", "Lineout";
127
+ audio-routing = "AU2 INL", "ACODEC LOLP",
128
+ "AU2 INR", "ACODEC LORP",
129
+ "AU2 INL", "ACODEC LOLN",
130
+ "AU2 INR", "ACODEC LORN",
131
+ "Lineout", "AU2 OUTL",
132
+ "Lineout", "AU2 OUTR";
133
+ assigned-clocks = <&clkc CLKID_MPLL0>,
134
+ <&clkc CLKID_MPLL1>,
135
+ <&clkc CLKID_MPLL2>;
136
+ assigned-clock-parents = <0>, <0>, <0>;
137
+ assigned-clock-rates = <294912000>,
138
+ <270950400>,
139
+ <393216000>;
140
+ status = "okay";
141
+
142
+ dai-link-0 {
143
+ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
144
+ };
145
+
146
+ dai-link-1 {
147
+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
148
+ };
149
+
150
+ dai-link-2 {
151
+ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
152
+ dai-format = "i2s";
153
+ mclk-fs = <256>;
154
+
155
+ codec-0 {
156
+ sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
157
+ };
158
+
159
+ codec-1 {
160
+ sound-dai = <&aiu AIU_ACODEC CTRL_I2S>;
161
+ };
162
+ };
163
+
164
+ dai-link-3 {
165
+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
166
+
167
+ codec-0 {
168
+ sound-dai = <&spdif_dit>;
169
+ };
170
+ };
171
+
172
+ dai-link-4 {
173
+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
174
+
175
+ codec-0 {
176
+ sound-dai = <&hdmi_tx>;
177
+ };
178
+ };
179
+
180
+ dai-link-5 {
181
+ sound-dai = <&aiu AIU_ACODEC CTRL_OUT>;
182
+
183
+ codec-0 {
184
+ sound-dai = <&acodec>;
185
+ };
186
+ };
187
+ };
188
+};
189
+
190
+&acodec {
191
+ AVDD-supply = <&vddio_ao18>;
192
+ status = "okay";
193
+};
194
+
195
+&aiu {
196
+ status = "okay";
197
+ pinctrl-0 = <&spdif_out_h_pins>;
198
+ pinctrl-names = "default";
199
+
105200 };
106201
107202 &cec_AO {
....@@ -164,10 +259,13 @@
164259
165260 bus-width = <4>;
166261 cap-sd-highspeed;
167
- max-frequency = <100000000>;
262
+ max-frequency = <50000000>;
168263
169264 non-removable;
170265 disable-wp;
266
+
267
+ /* WiFi firmware requires power to be kept while in suspend */
268
+ keep-power-in-suspend;
171269
172270 mmc-pwrseq = <&sdio_pwrseq>;
173271
....@@ -184,11 +282,10 @@
184282
185283 bus-width = <4>;
186284 cap-sd-highspeed;
187
- max-frequency = <100000000>;
285
+ max-frequency = <50000000>;
188286 disable-wp;
189287
190
- cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
191
- cd-inverted;
288
+ cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
192289
193290 vmmc-supply = <&vddao_3v3>;
194291 vqmmc-supply = <&vddio_boot>;
....@@ -221,6 +318,7 @@
221318 pinctrl-names = "default";
222319 };
223320
224
-&usb0 {
321
+&usb {
225322 status = "okay";
323
+ dr_mode = "otg";
226324 };