Commit 64bb71a9 authored by Martin Blumenstingl's avatar Martin Blumenstingl
Browse files

ARM: dts: meson8m2: m8s: enable the audio outputs - WiP



The M8S board uses an Everest Semi ES7134 I2S stereo codec which is
connected to GPIOAO_8..11. SPDIF output is connected through GPIOY_3.

WIP:
- depends on previous commits (audio driver and bindings not finalized)
- doesn't seem to work?

Signed-off-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
parent eef3c482
Loading
Loading
Loading
Loading
+72 −0
Original line number Diff line number Diff line
@@ -78,6 +78,69 @@
		clock-names = "ext_clock";
	};

	sound {
		compatible = "amlogic,gx-sound-card";
		model = "M8M2-M8S";
		audio-routing = "I2S Encoder Playback", "I2S FIFO Playback",
				"SPDIF Encoder Playback", "I2S FIFO Playback",
				"SPDIF Encoder Playback", "SPDIF FIFO Playback";

		assigned-clocks = <&clkc CLKID_MPLL0>,
				  <&clkc CLKID_MPLL1>,
				  <&clkc CLKID_MPLL1>;
		assigned-clock-rates = <294912000>,
				       <270950400>,
				       <393216000>;

		dai-link-0 {
			sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
		};

		dai-link-1 {
			sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
		};

		dai-link-2 {
			sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
			dai-format = "i2s";
			mclk-fs = <256>;

			codec-0 {
				sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
			};
			codec-1 {
				sound-dai = <&stereo_i2s_codec>;
			};
		};

		dai-link-3 {
			sound-dai = <&aiu AIU_HDMI CTRL_OUT>;

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

		dai-link-4 {
			sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;

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

	stereo_i2s_codec: i2s-audio-codec {
		compatible = "everest,es7134";
		#sound-dai-cells = <0>;
	};

	spdif_dit: spdif-audio-codec {
		#sound-dai-cells = <0>;
		compatible = "linux,spdif-dit";
		sound-name-prefix = "DIT";
	};

	tv-connector {
		compatible = "composite-video-connector";

@@ -135,6 +198,15 @@
	};
};

&aiu {
	status = "okay";

	pinctrl-0 = <&i2s_am_clk_pins>, <&i2s_out_ao_clk_pins>,
		    <&i2s_out_lr_clk_pins>, <&i2s_out_ch01_ao_pins>,
		    <&spdif_out_pins>;
	pinctrl-names = "default";
};

&cec_AO {
	// TODO: is this correct?
	clocks = <&xtal_32k_out>;