Commit 43ffb528 authored by Jerome Brunet's avatar Jerome Brunet Committed by Neil Armstrong

arm64: dts: meson: vim3: enable hdmi audio loopback

Enable audio capture frontends and a tdm decoder.
This makes it possible to loopback the audio played on the hdmi codec,
which is the only output interface at the moment.

Of course, one TODDR device would be enough to do that but since
the 3 FRDDRs are enabled on the playback side, let's do the same on the
capture side.
Signed-off-by: default avatarJerome Brunet <jbrunet@baylibre.com>
Reviewed-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Signed-off-by: default avatarKevin Hilman <khilman@baylibre.com>
Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20210429084253.59692-1-jbrunet@baylibre.com
parent 6efb943b
...@@ -171,11 +171,16 @@ hdmi_connector_in: endpoint { ...@@ -171,11 +171,16 @@ hdmi_connector_in: endpoint {
sound { sound {
compatible = "amlogic,axg-sound-card"; compatible = "amlogic,axg-sound-card";
model = "KHADAS-VIM3"; model = "KHADAS-VIM3";
audio-aux-devs = <&tdmout_a>; audio-aux-devs = <&tdmin_a>, <&tdmout_a>;
audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0", audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0",
"TDMOUT_A IN 1", "FRDDR_B OUT 0", "TDMOUT_A IN 1", "FRDDR_B OUT 0",
"TDMOUT_A IN 2", "FRDDR_C OUT 0", "TDMOUT_A IN 2", "FRDDR_C OUT 0",
"TDM_A Playback", "TDMOUT_A OUT"; "TDM_A Playback", "TDMOUT_A OUT",
"TDMIN_A IN 0", "TDM_A Capture",
"TDMIN_A IN 3", "TDM_A Loopback",
"TODDR_A IN 0", "TDMIN_A OUT",
"TODDR_B IN 0", "TDMIN_A OUT",
"TODDR_C IN 0", "TDMIN_A OUT";
assigned-clocks = <&clkc CLKID_MPLL2>, assigned-clocks = <&clkc CLKID_MPLL2>,
<&clkc CLKID_MPLL0>, <&clkc CLKID_MPLL0>,
...@@ -198,8 +203,20 @@ dai-link-2 { ...@@ -198,8 +203,20 @@ dai-link-2 {
sound-dai = <&frddr_c>; sound-dai = <&frddr_c>;
}; };
/* 8ch hdmi interface */
dai-link-3 { 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_a>; sound-dai = <&tdmif_a>;
dai-format = "i2s"; dai-format = "i2s";
dai-tdm-slot-tx-mask-0 = <1 1>; dai-tdm-slot-tx-mask-0 = <1 1>;
...@@ -214,7 +231,7 @@ codec { ...@@ -214,7 +231,7 @@ codec {
}; };
/* hdmi glue */ /* hdmi glue */
dai-link-4 { dai-link-7 {
sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
codec { codec {
...@@ -454,10 +471,26 @@ &tdmif_a { ...@@ -454,10 +471,26 @@ &tdmif_a {
status = "okay"; status = "okay";
}; };
&tdmin_a {
status = "okay";
};
&tdmout_a { &tdmout_a {
status = "okay"; status = "okay";
}; };
&toddr_a {
status = "okay";
};
&toddr_b {
status = "okay";
};
&toddr_c {
status = "okay";
};
&tohdmitx { &tohdmitx {
status = "okay"; status = "okay";
}; };
......
...@@ -32,6 +32,19 @@ vddcpu: regulator-vddcpu { ...@@ -32,6 +32,19 @@ vddcpu: regulator-vddcpu {
regulator-boot-on; regulator-boot-on;
regulator-always-on; regulator-always-on;
}; };
sound {
model = "G12B-KHADAS-VIM3L";
audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0",
"TDMOUT_A IN 1", "FRDDR_B OUT 0",
"TDMOUT_A IN 2", "FRDDR_C OUT 0",
"TDM_A Playback", "TDMOUT_A OUT",
"TDMIN_A IN 0", "TDM_A Capture",
"TDMIN_A IN 13", "TDM_A Loopback",
"TODDR_A IN 0", "TDMIN_A OUT",
"TODDR_B IN 0", "TDMIN_A OUT",
"TODDR_C IN 0", "TDMIN_A OUT";
};
}; };
&cpu0 { &cpu0 {
......
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