Skip to content

Commit

Permalink
arm64: dts: meson: odroid-n2: add jack audio output support
Browse files Browse the repository at this point in the history
Add support for audio on jack socket of the odroid-n2

Signed-off-by: Jerome Brunet <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
Reviewed-by: Neil Armstrong <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
  • Loading branch information
jbrun3t authored and khilman committed Jul 29, 2020
1 parent a7a8047 commit 67d141c
Showing 1 changed file with 74 additions and 5 deletions.
79 changes: 74 additions & 5 deletions arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
Original file line number Diff line number Diff line change
Expand Up @@ -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>

/ {
Expand All @@ -20,6 +21,14 @@
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 {
stdout-path = "serial0:115200n8";
};
Expand Down Expand Up @@ -209,16 +218,26 @@
sound {
compatible = "amlogic,axg-sound-card";
model = "G12B-ODROID-N2";
audio-aux-devs = <&tdmout_b>, <&tdmin_a>, <&tdmin_b>,
<&tdmin_c>, <&tdmin_lb>;
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",
"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",
Expand All @@ -230,7 +249,11 @@
"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";
"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>,
Expand Down Expand Up @@ -275,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>;
};
};

/* hdmi glue */
/* 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-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";
};
Expand Down Expand Up @@ -505,6 +562,10 @@
status = "okay";
};

&tdmif_c {
status = "okay";
};

&tdmin_a {
status = "okay";
};
Expand All @@ -525,6 +586,14 @@
status = "okay";
};

&tdmout_c {
status = "okay";
};

&toacodec {
status = "okay";
};

&tohdmitx {
status = "okay";
};
Expand Down

0 comments on commit 67d141c

Please sign in to comment.