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

Commit e46593a0 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: Add support for audio in SA415M CCARD"

parents 651d1d4a 2d521c8d
Loading
Loading
Loading
Loading
+71 −0
Original line number Diff line number Diff line
@@ -2587,6 +2587,77 @@ Example:
				"msm-dai-q6-auxpcm.2";
	};

* SDX ASoC Auto Machine driver

Required properties:
- compatible : "qcom,sdx-asoc-snd-auto"
- qcom,model : The user-visible name of this sound card.
- qcom,prim_mi2s_aux_master : Handle to prim_master pinctrl configurations
- qcom,prim_mi2s_aux_slave : Handle to prim_slave pinctrl configurations
- qcom,sec_mi2s_aux_master : Handle to sec_master pinctrl configurations
- qcom,sec_mi2s_aux_slave : Handle to sec_slave pinctrl configurations
- asoc-platform: This is phandle list containing the references to platform device
		nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
		the platform names should match to that of the phandle order
		given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
		that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
		cpu dai names should match to that of the phandle order give
		in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
		where the id (%d) field represents the back-end AFE port id that
		this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
		nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
		codec dai names should match to that of the phandle order given
		in "asoc-codec".

Example:

	sound-auto {
		compatible = "qcom,sdx-asoc-snd-auto";
		qcom,model = "sdx-auto-i2s-snd-card";
		qcom,prim_mi2s_aux_master = <&prim_master>;
		qcom,prim_mi2s_aux_slave = <&prim_slave>;
		qcom,sec_mi2s_aux_master = <&sec_master>;
		qcom,sec_mi2s_aux_slave = <&sec_slave>;

		asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
				<&loopback>, <&hostless>, <&afe>, <&routing>,
				<&pcm_dtmf>, <&host_pcm>, <&compress>;
		asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
				"msm-voip-dsp", "msm-pcm-voice",
				"msm-pcm-loopback", "msm-pcm-hostless",
				"msm-pcm-afe", "msm-pcm-routing",
				"msm-pcm-dtmf", "msm-voice-host-pcm",
				"msm-compress-dsp";
		asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&mi2s_sec>,
				<&dtmf_tx>,
				<&rx_capture_tx>, <&rx_playback_rx>,
				<&tx_capture_tx>, <&tx_playback_rx>,
				<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
				<&afe_proxy_tx>, <&incall_record_rx>,
				<&incall_record_tx>, <&incall_music_rx>,
				<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
				<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
				<&dai_sec_auxpcm>;
		asoc-cpu-names = "msm-dai-q6-auxpcm.1",
				"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
				"msm-dai-stub-dev.4", "msm-dai-stub-dev.5",
				"msm-dai-stub-dev.6", "msm-dai-stub-dev.7",
				"msm-dai-stub-dev.8", "msm-dai-q6-dev.224",
				"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
				"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
				"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
				"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
				"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
				"msm-dai-q6-auxpcm.2";
		asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>;
		asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1";
	};

* APQ8096 Automotive ASoC Machine driver

Required properties:
+80 −0
Original line number Diff line number Diff line
@@ -37,6 +37,17 @@
	reg = <0x86400000 0x9300000>;
};

&i2c_3 {
	tlv320aic3x_codec: tlv320aic3x@18 {
		compatible = "ti,tlv320aic3x";
		reg = <0x18>;
		gpio-reset = <&tlmm 86 0>;
		reset-inverted;
		AVDD-supply = <&codec_vreg>;
		IOVDD-supply = <&codec_vreg>;
	};
};

&i2c_4 {
	asm330@6a {
		reg = <0x6b>;
@@ -59,6 +70,10 @@
	status = "disabled";
};

&clock_audio_up {
	status = "disabled";
};

&smb138x {
	status = "disabled";
};
@@ -70,3 +85,68 @@
&vreg_wlan {
	gpio = <&tlmm 81 GPIO_ACTIVE_HIGH>;
};

&soc {
	snd_tlv3x: sound-auto {
		compatible = "qcom,sdx-asoc-snd-auto";
		qcom,model = "sdx-auto-i2s-snd-card";
		qcom,prim_mi2s_aux_master = <&prim_master>;
		qcom,prim_mi2s_aux_slave = <&prim_slave>;
		qcom,sec_mi2s_aux_master = <&sec_master>;
		qcom,sec_mi2s_aux_slave = <&sec_slave>;

		pinctrl-names = "default";
		pinctrl-0 = <&a2b_cdc_sel_default>, <&i2s_mclk_active>;

		asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
				<&loopback>, <&hostless>, <&afe>, <&routing>,
				<&pcm_dtmf>, <&host_pcm>, <&compress>;
		asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
				"msm-voip-dsp", "msm-pcm-voice",
				"msm-pcm-loopback", "msm-pcm-hostless",
				"msm-pcm-afe", "msm-pcm-routing",
				"msm-pcm-dtmf", "msm-voice-host-pcm",
				"msm-compress-dsp";
		asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&mi2s_sec>,
				<&dtmf_tx>,
				<&rx_capture_tx>, <&rx_playback_rx>,
				<&tx_capture_tx>, <&tx_playback_rx>,
				<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
				<&afe_proxy_tx>, <&incall_record_rx>,
				<&incall_record_tx>, <&incall_music_rx>,
				<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
				<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
				<&dai_sec_auxpcm>;
		asoc-cpu-names = "msm-dai-q6-auxpcm.1",
				"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
				"msm-dai-stub-dev.4", "msm-dai-stub-dev.5",
				"msm-dai-stub-dev.6", "msm-dai-stub-dev.7",
				"msm-dai-stub-dev.8", "msm-dai-q6-dev.224",
				"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
				"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
				"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
				"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
				"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
				"msm-dai-q6-auxpcm.2";
		asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>;
		asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1";
	};

	codec_vreg: regulator-codec-tlv320aic3x {
		compatible = "regulator-fixed";
		regulator-name = "codec_vreg";
		startup-delay-us = <100>;
		gpio = <&tlmm 23 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};
};

&pmxpoorwills_gpios {
	a2b_cdc_sel {
		a2b_cdc_sel_default: a2b_cdc_sel_default {
			pins = "gpio1";
			power-source = <1>;
			output-high;
		};
	};
};