Commit 67d141c1 authored by Jerome Brunet's avatar Jerome Brunet Committed by Kevin Hilman

arm64: dts: meson: odroid-n2: add jack audio output support

Add support for audio on jack socket of the odroid-n2
Signed-off-by: default avatarJerome Brunet <jbrunet@baylibre.com>
Signed-off-by: default avatarKevin Hilman <khilman@baylibre.com>
Reviewed-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20200701094556.194498-3-jbrunet@baylibre.com
parent a7a80474
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "meson-g12b-s922x.dtsi" #include "meson-g12b-s922x.dtsi"
#include <dt-bindings/input/input.h> #include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/meson-g12a-gpio.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> #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
/ { / {
...@@ -20,6 +21,14 @@ aliases { ...@@ -20,6 +21,14 @@ aliases {
ethernet0 = &ethmac; ethernet0 = &ethmac;
}; };
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 { chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
...@@ -209,16 +218,26 @@ hdmi_connector_in: endpoint { ...@@ -209,16 +218,26 @@ hdmi_connector_in: endpoint {
sound { sound {
compatible = "amlogic,axg-sound-card"; compatible = "amlogic,axg-sound-card";
model = "G12B-ODROID-N2"; model = "G12B-ODROID-N2";
audio-aux-devs = <&tdmout_b>, <&tdmin_a>, <&tdmin_b>, audio-widgets = "Line", "Lineout";
<&tdmin_c>, <&tdmin_lb>; 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", audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
"TDMOUT_B IN 1", "FRDDR_B OUT 1", "TDMOUT_B IN 1", "FRDDR_B OUT 1",
"TDMOUT_B IN 2", "FRDDR_C 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_A IN 4", "TDM_B Loopback",
"TDMIN_B IN 4", "TDM_B Loopback", "TDMIN_B IN 4", "TDM_B Loopback",
"TDMIN_C IN 4", "TDM_B Loopback", "TDMIN_C IN 4", "TDM_B Loopback",
"TDMIN_LB IN 1", "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_A IN 0", "TDMIN_A OUT",
"TODDR_B IN 0", "TDMIN_A OUT", "TODDR_B IN 0", "TDMIN_A OUT",
"TODDR_C IN 0", "TDMIN_A OUT", "TODDR_C IN 0", "TDMIN_A OUT",
...@@ -230,7 +249,11 @@ sound { ...@@ -230,7 +249,11 @@ sound {
"TODDR_C IN 2", "TDMIN_C OUT", "TODDR_C IN 2", "TDMIN_C OUT",
"TODDR_A IN 6", "TDMIN_LB OUT", "TODDR_A IN 6", "TDMIN_LB OUT",
"TODDR_B IN 6", "TDMIN_LB OUT", "TODDR_B IN 6", "TDMIN_LB OUT",
"TODDR_C 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>, assigned-clocks = <&clkc CLKID_MPLL2>,
<&clkc CLKID_MPLL0>, <&clkc CLKID_MPLL0>,
...@@ -275,22 +298,56 @@ dai-link-6 { ...@@ -275,22 +298,56 @@ dai-link-6 {
dai-tdm-slot-tx-mask-3 = <1 1>; dai-tdm-slot-tx-mask-3 = <1 1>;
mclk-fs = <256>; mclk-fs = <256>;
codec { codec-0 {
sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
}; };
codec-1 {
sound-dai = <&toacodec TOACODEC_IN_B>;
};
}; };
/* hdmi glue */ /* i2s jack output interface */
dai-link-7 { 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-8 {
sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
codec { codec {
sound-dai = <&hdmi_tx>; 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 { &arb {
status = "okay"; status = "okay";
}; };
...@@ -505,6 +562,10 @@ &tdmif_b { ...@@ -505,6 +562,10 @@ &tdmif_b {
status = "okay"; status = "okay";
}; };
&tdmif_c {
status = "okay";
};
&tdmin_a { &tdmin_a {
status = "okay"; status = "okay";
}; };
...@@ -525,6 +586,14 @@ &tdmout_b { ...@@ -525,6 +586,14 @@ &tdmout_b {
status = "okay"; status = "okay";
}; };
&tdmout_c {
status = "okay";
};
&toacodec {
status = "okay";
};
&tohdmitx { &tohdmitx {
status = "okay"; status = "okay";
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment