|
9 | 9 | #include "meson-g12b-s922x.dtsi"
|
10 | 10 | #include <dt-bindings/input/input.h>
|
11 | 11 | #include <dt-bindings/gpio/meson-g12a-gpio.h>
|
| 12 | +#include <dt-bindings/sound/meson-g12a-toacodec.h> |
12 | 13 | #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
13 | 14 |
|
14 | 15 | / {
|
|
20 | 21 | ethernet0 = ðmac;
|
21 | 22 | };
|
22 | 23 |
|
| 24 | + dioo2133: audio-amplifier-0 { |
| 25 | + compatible = "simple-audio-amplifier"; |
| 26 | + enable-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; |
| 27 | + VCC-supply = <&vcc_5v>; |
| 28 | + sound-name-prefix = "U19"; |
| 29 | + status = "okay"; |
| 30 | + }; |
| 31 | + |
23 | 32 | chosen {
|
24 | 33 | stdout-path = "serial0:115200n8";
|
25 | 34 | };
|
|
209 | 218 | sound {
|
210 | 219 | compatible = "amlogic,axg-sound-card";
|
211 | 220 | model = "G12B-ODROID-N2";
|
212 |
| - audio-aux-devs = <&tdmout_b>; |
| 221 | + audio-widgets = "Line", "Lineout"; |
| 222 | + audio-aux-devs = <&tdmout_b>, <&tdmout_c>, <&tdmin_a>, |
| 223 | + <&tdmin_b>, <&tdmin_c>, <&tdmin_lb>, |
| 224 | + <&dioo2133>; |
213 | 225 | audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
|
214 | 226 | "TDMOUT_B IN 1", "FRDDR_B OUT 1",
|
215 | 227 | "TDMOUT_B IN 2", "FRDDR_C OUT 1",
|
216 |
| - "TDM_B Playback", "TDMOUT_B OUT"; |
| 228 | + "TDM_B Playback", "TDMOUT_B OUT", |
| 229 | + "TDMOUT_C IN 0", "FRDDR_A OUT 2", |
| 230 | + "TDMOUT_C IN 1", "FRDDR_B OUT 2", |
| 231 | + "TDMOUT_C IN 2", "FRDDR_C OUT 2", |
| 232 | + "TDM_C Playback", "TDMOUT_C OUT", |
| 233 | + "TDMIN_A IN 4", "TDM_B Loopback", |
| 234 | + "TDMIN_B IN 4", "TDM_B Loopback", |
| 235 | + "TDMIN_C IN 4", "TDM_B Loopback", |
| 236 | + "TDMIN_LB IN 1", "TDM_B Loopback", |
| 237 | + "TDMIN_A IN 5", "TDM_C Loopback", |
| 238 | + "TDMIN_B IN 5", "TDM_C Loopback", |
| 239 | + "TDMIN_C IN 5", "TDM_C Loopback", |
| 240 | + "TDMIN_LB IN 2", "TDM_C Loopback", |
| 241 | + "TODDR_A IN 0", "TDMIN_A OUT", |
| 242 | + "TODDR_B IN 0", "TDMIN_A OUT", |
| 243 | + "TODDR_C IN 0", "TDMIN_A OUT", |
| 244 | + "TODDR_A IN 1", "TDMIN_B OUT", |
| 245 | + "TODDR_B IN 1", "TDMIN_B OUT", |
| 246 | + "TODDR_C IN 1", "TDMIN_B OUT", |
| 247 | + "TODDR_A IN 2", "TDMIN_C OUT", |
| 248 | + "TODDR_B IN 2", "TDMIN_C OUT", |
| 249 | + "TODDR_C IN 2", "TDMIN_C OUT", |
| 250 | + "TODDR_A IN 6", "TDMIN_LB OUT", |
| 251 | + "TODDR_B IN 6", "TDMIN_LB OUT", |
| 252 | + "TODDR_C IN 6", "TDMIN_LB OUT", |
| 253 | + "U19 INL", "ACODEC LOLP", |
| 254 | + "U19 INR", "ACODEC LORP", |
| 255 | + "Lineout", "U19 OUTL", |
| 256 | + "Lineout", "U19 OUTR"; |
217 | 257 |
|
218 | 258 | assigned-clocks = <&clkc CLKID_MPLL2>,
|
219 | 259 | <&clkc CLKID_MPLL0>,
|
|
236 | 276 | sound-dai = <&frddr_c>;
|
237 | 277 | };
|
238 | 278 |
|
239 |
| - /* 8ch hdmi interface */ |
240 | 279 | dai-link-3 {
|
| 280 | + sound-dai = <&toddr_a>; |
| 281 | + }; |
| 282 | + |
| 283 | + dai-link-4 { |
| 284 | + sound-dai = <&toddr_b>; |
| 285 | + }; |
| 286 | + |
| 287 | + dai-link-5 { |
| 288 | + sound-dai = <&toddr_c>; |
| 289 | + }; |
| 290 | + |
| 291 | + /* 8ch hdmi interface */ |
| 292 | + dai-link-6 { |
241 | 293 | sound-dai = <&tdmif_b>;
|
242 | 294 | dai-format = "i2s";
|
243 | 295 | dai-tdm-slot-tx-mask-0 = <1 1>;
|
|
246 | 298 | dai-tdm-slot-tx-mask-3 = <1 1>;
|
247 | 299 | mclk-fs = <256>;
|
248 | 300 |
|
249 |
| - codec { |
| 301 | + codec-0 { |
250 | 302 | sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
|
251 | 303 | };
|
| 304 | + |
| 305 | + codec-1 { |
| 306 | + sound-dai = <&toacodec TOACODEC_IN_B>; |
| 307 | + }; |
| 308 | + }; |
| 309 | + |
| 310 | + /* i2s jack output interface */ |
| 311 | + dai-link-7 { |
| 312 | + sound-dai = <&tdmif_c>; |
| 313 | + dai-format = "i2s"; |
| 314 | + dai-tdm-slot-tx-mask-0 = <1 1>; |
| 315 | + mclk-fs = <256>; |
| 316 | + |
| 317 | + codec-0 { |
| 318 | + sound-dai = <&tohdmitx TOHDMITX_I2S_IN_C>; |
| 319 | + }; |
| 320 | + |
| 321 | + codec-1 { |
| 322 | + sound-dai = <&toacodec TOACODEC_IN_C>; |
| 323 | + }; |
252 | 324 | };
|
253 | 325 |
|
254 | 326 | /* hdmi glue */
|
255 |
| - dai-link-4 { |
| 327 | + dai-link-8 { |
256 | 328 | sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
|
257 | 329 |
|
258 | 330 | codec {
|
259 | 331 | sound-dai = <&hdmi_tx>;
|
260 | 332 | };
|
261 | 333 | };
|
| 334 | + |
| 335 | + /* acodec glue */ |
| 336 | + dai-link-9 { |
| 337 | + sound-dai = <&toacodec TOACODEC_OUT>; |
| 338 | + |
| 339 | + codec { |
| 340 | + sound-dai = <&acodec>; |
| 341 | + }; |
| 342 | + }; |
262 | 343 | };
|
263 | 344 | };
|
264 | 345 |
|
| 346 | +&acodec { |
| 347 | + AVDD-supply = <&vddao_1v8>; |
| 348 | + status = "okay"; |
| 349 | +}; |
| 350 | + |
265 | 351 | &arb {
|
266 | 352 | status = "okay";
|
267 | 353 | };
|
|
476 | 562 | status = "okay";
|
477 | 563 | };
|
478 | 564 |
|
| 565 | +&tdmif_c { |
| 566 | + status = "okay"; |
| 567 | +}; |
| 568 | + |
| 569 | +&tdmin_a { |
| 570 | + status = "okay"; |
| 571 | +}; |
| 572 | + |
| 573 | +&tdmin_b { |
| 574 | + status = "okay"; |
| 575 | +}; |
| 576 | + |
| 577 | +&tdmin_c { |
| 578 | + status = "okay"; |
| 579 | +}; |
| 580 | + |
| 581 | +&tdmin_lb { |
| 582 | + status = "okay"; |
| 583 | +}; |
| 584 | + |
479 | 585 | &tdmout_b {
|
480 | 586 | status = "okay";
|
481 | 587 | };
|
482 | 588 |
|
| 589 | +&tdmout_c { |
| 590 | + status = "okay"; |
| 591 | +}; |
| 592 | + |
| 593 | +&toacodec { |
| 594 | + status = "okay"; |
| 595 | +}; |
| 596 | + |
483 | 597 | &tohdmitx {
|
484 | 598 | status = "okay";
|
485 | 599 | };
|
486 | 600 |
|
| 601 | +&toddr_a { |
| 602 | + status = "okay"; |
| 603 | +}; |
| 604 | + |
| 605 | +&toddr_b { |
| 606 | + status = "okay"; |
| 607 | +}; |
| 608 | + |
| 609 | +&toddr_c { |
| 610 | + status = "okay"; |
| 611 | +}; |
| 612 | + |
487 | 613 | &uart_AO {
|
488 | 614 | status = "okay";
|
489 | 615 | pinctrl-0 = <&uart_ao_a_pins>;
|
|
0 commit comments