|
@@ -9,6 +9,7 @@
|
|
|
#include "meson-g12b-s922x.dtsi"
|
|
|
#include <dt-bindings/input/input.h>
|
|
|
#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
|
|
+#include <dt-bindings/sound/meson-g12a-toacodec.h>
|
|
|
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
|
|
|
|
|
/ {
|
|
@@ -20,6 +21,14 @@
|
|
|
ethernet0 = ðmac;
|
|
|
};
|
|
|
|
|
|
+ dioo2133: audio-amplifier-0 {
|
|
|
+ compatible = "simple-audio-amplifier";
|
|
|
+ enable-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
|
|
|
+ VCC-supply = <&vcc_5v>;
|
|
|
+ sound-name-prefix = "U19";
|
|
|
+ status = "okay";
|
|
|
+ };
|
|
|
+
|
|
|
chosen {
|
|
|
stdout-path = "serial0:115200n8";
|
|
|
};
|
|
@@ -209,11 +218,42 @@
|
|
|
sound {
|
|
|
compatible = "amlogic,axg-sound-card";
|
|
|
model = "G12B-ODROID-N2";
|
|
|
- audio-aux-devs = <&tdmout_b>;
|
|
|
+ audio-widgets = "Line", "Lineout";
|
|
|
+ audio-aux-devs = <&tdmout_b>, <&tdmout_c>, <&tdmin_a>,
|
|
|
+ <&tdmin_b>, <&tdmin_c>, <&tdmin_lb>,
|
|
|
+ <&dioo2133>;
|
|
|
audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
|
|
|
"TDMOUT_B IN 1", "FRDDR_B OUT 1",
|
|
|
"TDMOUT_B IN 2", "FRDDR_C OUT 1",
|
|
|
- "TDM_B Playback", "TDMOUT_B OUT";
|
|
|
+ "TDM_B Playback", "TDMOUT_B OUT",
|
|
|
+ "TDMOUT_C IN 0", "FRDDR_A OUT 2",
|
|
|
+ "TDMOUT_C IN 1", "FRDDR_B OUT 2",
|
|
|
+ "TDMOUT_C IN 2", "FRDDR_C OUT 2",
|
|
|
+ "TDM_C Playback", "TDMOUT_C OUT",
|
|
|
+ "TDMIN_A IN 4", "TDM_B Loopback",
|
|
|
+ "TDMIN_B IN 4", "TDM_B Loopback",
|
|
|
+ "TDMIN_C IN 4", "TDM_B Loopback",
|
|
|
+ "TDMIN_LB IN 1", "TDM_B Loopback",
|
|
|
+ "TDMIN_A IN 5", "TDM_C Loopback",
|
|
|
+ "TDMIN_B IN 5", "TDM_C Loopback",
|
|
|
+ "TDMIN_C IN 5", "TDM_C Loopback",
|
|
|
+ "TDMIN_LB IN 2", "TDM_C Loopback",
|
|
|
+ "TODDR_A IN 0", "TDMIN_A OUT",
|
|
|
+ "TODDR_B IN 0", "TDMIN_A OUT",
|
|
|
+ "TODDR_C IN 0", "TDMIN_A OUT",
|
|
|
+ "TODDR_A IN 1", "TDMIN_B OUT",
|
|
|
+ "TODDR_B IN 1", "TDMIN_B OUT",
|
|
|
+ "TODDR_C IN 1", "TDMIN_B OUT",
|
|
|
+ "TODDR_A IN 2", "TDMIN_C OUT",
|
|
|
+ "TODDR_B IN 2", "TDMIN_C OUT",
|
|
|
+ "TODDR_C IN 2", "TDMIN_C OUT",
|
|
|
+ "TODDR_A IN 6", "TDMIN_LB OUT",
|
|
|
+ "TODDR_B IN 6", "TDMIN_LB OUT",
|
|
|
+ "TODDR_C IN 6", "TDMIN_LB OUT",
|
|
|
+ "U19 INL", "ACODEC LOLP",
|
|
|
+ "U19 INR", "ACODEC LORP",
|
|
|
+ "Lineout", "U19 OUTL",
|
|
|
+ "Lineout", "U19 OUTR";
|
|
|
|
|
|
assigned-clocks = <&clkc CLKID_MPLL2>,
|
|
|
<&clkc CLKID_MPLL0>,
|
|
@@ -236,8 +276,20 @@
|
|
|
sound-dai = <&frddr_c>;
|
|
|
};
|
|
|
|
|
|
- /* 8ch hdmi interface */
|
|
|
dai-link-3 {
|
|
|
+ sound-dai = <&toddr_a>;
|
|
|
+ };
|
|
|
+
|
|
|
+ dai-link-4 {
|
|
|
+ sound-dai = <&toddr_b>;
|
|
|
+ };
|
|
|
+
|
|
|
+ dai-link-5 {
|
|
|
+ sound-dai = <&toddr_c>;
|
|
|
+ };
|
|
|
+
|
|
|
+ /* 8ch hdmi interface */
|
|
|
+ dai-link-6 {
|
|
|
sound-dai = <&tdmif_b>;
|
|
|
dai-format = "i2s";
|
|
|
dai-tdm-slot-tx-mask-0 = <1 1>;
|
|
@@ -246,22 +298,56 @@
|
|
|
dai-tdm-slot-tx-mask-3 = <1 1>;
|
|
|
mclk-fs = <256>;
|
|
|
|
|
|
- codec {
|
|
|
+ codec-0 {
|
|
|
sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
|
|
|
};
|
|
|
+
|
|
|
+ codec-1 {
|
|
|
+ sound-dai = <&toacodec TOACODEC_IN_B>;
|
|
|
+ };
|
|
|
+ };
|
|
|
+
|
|
|
+ /* i2s jack output interface */
|
|
|
+ dai-link-7 {
|
|
|
+ sound-dai = <&tdmif_c>;
|
|
|
+ dai-format = "i2s";
|
|
|
+ dai-tdm-slot-tx-mask-0 = <1 1>;
|
|
|
+ mclk-fs = <256>;
|
|
|
+
|
|
|
+ codec-0 {
|
|
|
+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_C>;
|
|
|
+ };
|
|
|
+
|
|
|
+ codec-1 {
|
|
|
+ sound-dai = <&toacodec TOACODEC_IN_C>;
|
|
|
+ };
|
|
|
};
|
|
|
|
|
|
/* hdmi glue */
|
|
|
- dai-link-4 {
|
|
|
+ dai-link-8 {
|
|
|
sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
|
|
|
|
|
|
codec {
|
|
|
sound-dai = <&hdmi_tx>;
|
|
|
};
|
|
|
};
|
|
|
+
|
|
|
+ /* acodec glue */
|
|
|
+ dai-link-9 {
|
|
|
+ sound-dai = <&toacodec TOACODEC_OUT>;
|
|
|
+
|
|
|
+ codec {
|
|
|
+ sound-dai = <&acodec>;
|
|
|
+ };
|
|
|
+ };
|
|
|
};
|
|
|
};
|
|
|
|
|
|
+&acodec {
|
|
|
+ AVDD-supply = <&vddao_1v8>;
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
&arb {
|
|
|
status = "okay";
|
|
|
};
|
|
@@ -476,14 +562,54 @@
|
|
|
status = "okay";
|
|
|
};
|
|
|
|
|
|
+&tdmif_c {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
+&tdmin_a {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
+&tdmin_b {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
+&tdmin_c {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
+&tdmin_lb {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
&tdmout_b {
|
|
|
status = "okay";
|
|
|
};
|
|
|
|
|
|
+&tdmout_c {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
+&toacodec {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
&tohdmitx {
|
|
|
status = "okay";
|
|
|
};
|
|
|
|
|
|
+&toddr_a {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
+&toddr_b {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
+&toddr_c {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
&uart_AO {
|
|
|
status = "okay";
|
|
|
pinctrl-0 = <&uart_ao_a_pins>;
|