Commit b8b85d01 authored by Christian Hewitt's avatar Christian Hewitt Committed by Kevin Hilman
Browse files

arm64: dts: meson: add audio playback to khadas-vim3l



Add initial audio support limited to HDMI i2s, copying the config
from the existing VIM3 device-tree.

Signed-off-by: default avatarChristian Hewitt <christianshewitt@gmail.com>
Signed-off-by: default avatarKevin Hilman <khilman@baylibre.com>
Acked-by: default avatarJerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20200718072532.8427-3-christianshewitt@gmail.com
parent 725da67c
Loading
Loading
Loading
Loading
+88 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@

#include "meson-sm1.dtsi"
#include "meson-khadas-vim3.dtsi"
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>

/ {
	compatible = "khadas,vim3l", "amlogic,sm1";
@@ -31,6 +32,69 @@
		regulator-boot-on;
		regulator-always-on;
	};

	sound {
		compatible = "amlogic,axg-sound-card";
		model = "SM1-KHADAS-VIM3L";
		audio-aux-devs = <&tdmout_a>;
		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";

		assigned-clocks = <&clkc CLKID_MPLL2>,
				  <&clkc CLKID_MPLL0>,
				  <&clkc CLKID_MPLL1>;
		assigned-clock-parents = <0>, <0>, <0>;
		assigned-clock-rates = <294912000>,
				       <270950400>,
				       <393216000>;
		status = "okay";

		dai-link-0 {
			sound-dai = <&frddr_a>;
		};

		dai-link-1 {
			sound-dai = <&frddr_b>;
		};

		dai-link-2 {
			sound-dai = <&frddr_c>;
		};

		/* 8ch hdmi interface */
		dai-link-3 {
			sound-dai = <&tdmif_a>;
			dai-format = "i2s";
			dai-tdm-slot-tx-mask-0 = <1 1>;
			dai-tdm-slot-tx-mask-1 = <1 1>;
			dai-tdm-slot-tx-mask-2 = <1 1>;
			dai-tdm-slot-tx-mask-3 = <1 1>;
			mclk-fs = <256>;

			codec {
				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
			};
		};

		/* hdmi glue */
		dai-link-4 {
			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;

			codec {
				sound-dai = <&hdmi_tx>;
			};
		};
	};
};

&arb {
	status = "okay";
};

&clkc_audio {
	status = "okay";
};

&cpu0 {
@@ -61,6 +125,18 @@
	clock-latency = <50000>;
};

&frddr_a {
	status = "okay";
};

&frddr_b {
	status = "okay";
};

&frddr_c {
	status = "okay";
};

&pwm_AO_cd {
	pinctrl-0 = <&pwm_ao_d_e_pins>;
	pinctrl-names = "default";
@@ -93,3 +169,15 @@
	phy-names = "usb2-phy0", "usb2-phy1";
};
 */

&tdmif_a {
	status = "okay";
};

&tdmout_a {
	status = "okay";
};

&tohdmitx {
	status = "okay";
};