Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6f59dc1a authored by Jerome Brunet's avatar Jerome Brunet Committed by Kevin Hilman
Browse files

arm64: dts: meson-axg: s400: add sound card



Add the sound card of the s400. With it the following interface
should be working:
 * Lineout
 * Daugther card speaker 1 (same output as lineout)
 * Linein
 * SPDIF output

Signed-off-by: default avatarJerome Brunet <jbrunet@baylibre.com>
Signed-off-by: default avatarKevin Hilman <khilman@baylibre.com>
parent a0ef1c1c
Loading
Loading
Loading
Loading
+108 −0
Original line number Original line Diff line number Diff line
@@ -204,6 +204,113 @@
		status = "okay";
		status = "okay";
		sound-name-prefix = "DIT";
		sound-name-prefix = "DIT";
	};
	};

	sound {
		compatible = "amlogic,axg-sound-card";
		model = "AXG-S400";
		audio-aux-devs = <&tdmin_a>, <&tdmin_b>,  <&tdmin_c>,
				 <&tdmin_lb>, <&tdmout_c>;
		audio-widgets = "Line", "Lineout",
				"Line", "Linein",
				"Speaker", "Speaker1 Left",
				"Speaker", "Speaker1 Right";
		audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2",
				"SPDIFOUT IN 0", "FRDDR_A OUT 3",
				"TDMOUT_C IN 1", "FRDDR_B OUT 2",
				"SPDIFOUT IN 1", "FRDDR_B OUT 3",
				"TDMOUT_C IN 2", "FRDDR_C OUT 2",
				"SPDIFOUT IN 2", "FRDDR_C OUT 3",
				"TDM_C Playback", "TDMOUT_C OUT",
				"TDMIN_A IN 2", "TDM_C Capture",
				"TDMIN_A IN 5", "TDM_C Loopback",
				"TDMIN_B IN 2", "TDM_C Capture",
				"TDMIN_B IN 5", "TDM_C Loopback",
				"TDMIN_C IN 2", "TDM_C Capture",
				"TDMIN_C IN 5", "TDM_C Loopback",
				"TDMIN_LB IN 2", "TDM_C Loopback",
				"TDMIN_LB IN 5", "TDM_C Capture",
				"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",
				"Lineout", "Lineout AOUTL",
				"Lineout", "Lineout AOUTR",
				"Speaker1 Left", "SPK1 OUT_A",
				"Speaker1 Left", "SPK1 OUT_B",
				"Speaker1 Right", "SPK1 OUT_C",
				"Speaker1 Right", "SPK1 OUT_D",
				"Linein AINL", "Linein",
				"Linein AINR", "Linein";
		assigned-clocks = <&clkc CLKID_HIFI_PLL>,
				  <&clkc CLKID_MPLL0>,
				  <&clkc CLKID_MPLL1>;
		assigned-clock-parents = <0>, <0>, <0>;
		assigned-clock-rates = <589824000>,
				       <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>;
		};

		dai-link@3 {
			sound-dai = <&toddr_a>;
		};

		dai-link@4 {
			sound-dai = <&toddr_b>;
		};

		dai-link@5 {
			sound-dai = <&toddr_c>;
		};

		dai-link@6 {
			sound-dai = <&tdmif_c>;
			dai-format = "i2s";
			dai-tdm-slot-tx-mask-2 = <1 1>;
			dai-tdm-slot-rx-mask-1 = <1 1>;
			mclk-fs = <256>;

			codec@0 {
				sound-dai = <&lineout>;
			};

			codec@1 {
				sound-dai = <&speaker_amp1>;
			};

			codec@2 {
				sound-dai = <&linein>;
			};

		};

		dai-link@7 {
			sound-dai = <&spdifout>;

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


&ethmac {
&ethmac {
@@ -272,6 +379,7 @@
		PVDD_B-supply = <&main_12v>;
		PVDD_B-supply = <&main_12v>;
		PVDD_C-supply = <&main_12v>;
		PVDD_C-supply = <&main_12v>;
		PVDD_D-supply = <&main_12v>;
		PVDD_D-supply = <&main_12v>;
		sound-name-prefix = "SPK1";
	};
	};
};
};