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

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

Merge "ASoC: msm: add machine driver for BG codec"

parents f7d4246f 79255eb0
Loading
Loading
Loading
Loading
+97 −0
Original line number Diff line number Diff line
@@ -2064,6 +2064,103 @@ Example:
		qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight";
	};

* MSM8909 BG ASoC Machine driver

Required properties:
- compatible : "qcom,msm-bg-audio-codec"
- qcom,model : The user-visible name of this sound card.
- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
	mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs,
	this would list all the 2^N combinations.
- pinctrl-names : The combinations of gpio sets from above that are supported in
	the flavor. This can be sometimes same as qcom,pinctrl-names i.e with 2^N
	combinations or will have less incase if some combination is not supported.
- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
- qcom,audio-routing : A list of the connections between audio components.
	Each entry is a pair of strings, the first being the connection's sink,
	the second being the connection's source.

Optional properties:
- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
- 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 given
	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 {
		status = "disabled";
		compatible = "qcom,msm-bg-audio-codec";
		qcom,model = "msm-bg-snd-card";
		reg = <0x7702000 0x4>,
		      <0x7702004 0x4>,
		      <0x7702008 0x4>,
		      <0x770200c 0x4>;
		reg-names = "csr_gp_io_mux_mic_ctl",
			    "csr_gp_io_mux_spkr_ctl",
			    "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel",
			    "csr_gp_io_lpaif_sec_pcm_sec_mode_muxsel";
		qcom,msm-snd-card-id = <0>;
		qcom,msm-ext-pa = "primary";
		qcom,tdm-audio-intf;
		qcom,msm-afe-clk-ver = <1>;
		asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
				<&loopback>, <&compress>, <&hostless>,
				<&afe>, <&lsm>, <&routing>, <&lpa>,
				<&voice_svc>;
		asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
				      "msm-pcm-dsp.2", "msm-voip-dsp",
				      "msm-pcm-voice", "msm-pcm-loopback",
				      "msm-compress-dsp", "msm-pcm-hostless",
				      "msm-pcm-afe", "msm-lsm-client",
				      "msm-pcm-routing", "msm-pcm-lpa",
				      "msm-voice-svc";
		asoc-cpu = <&dai_pri_auxpcm>,
				<&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>,
				<&dai_mi2s3>, <&dai_mi2s5>, <&dai_mi2s6>,
				<&bt_sco_rx>, <&bt_sco_tx>, <&bt_a2dp_rx>,
				<&int_fm_rx>, <&int_fm_tx>, <&afe_pcm_rx>,
				<&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
				<&incall_record_rx>, <&incall_record_tx>,
				<&incall_music_rx>, <&incall_music_2_rx>,
				<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
				<&dai_pri_tdm_rx_1>, <&dai_pri_tdm_tx_1>,
				<&dai_pri_tdm_rx_2>, <&dai_pri_tdm_tx_2>,
				<&dai_pri_tdm_rx_3>, <&dai_pri_tdm_tx_3>;
		asoc-cpu-names = "msm-dai-q6-auxpcm.1",
				"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
				"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
				"msm-dai-q6-mi2s.5", "msm-dai-q6-mi2s.6",
				"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
				"msm-dai-q6-dev.12290", "msm-dai-q6-dev.12292",
				"msm-dai-q6-dev.12293", "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-dev.32770", "msm-dai-q6-tdm.36864",
				"msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36866",
				"msm-dai-q6-tdm.36867", "msm-dai-q6-tdm.36868",
				"msm-dai-q6-tdm.36869", "msm-dai-q6-tdm.36870",
				"msm-dai-q6-tdm.36871";
		asoc-codec = <&stub_codec>;
		asoc-codec-names = "msm-stub-codec.1";
	};



* MDM9607 ASoC Machine driver

Required properties:
+2 −0
Original line number Diff line number Diff line
@@ -273,6 +273,8 @@ config SND_SOC_MSM8909
	select SND_SOC_WCD9335
        select SND_SOC_CPE
	select SND_HWDEP
	select MSM_BG_GLINK
	select MSM_BG_CODEC
	select QTI_PP
	help
	 To add support for SoC audio on MSM8909 boards.
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ snd-soc-mdm9607-objs := mdm9607.o
obj-$(CONFIG_SND_SOC_MDM9607) += snd-soc-mdm9607.o

# for MSM 8909 sound card driver
snd-soc-msm8909-objs := msm8952.o msm-audio-pinctrl.o apq8009-i2s-ext-codec.o
snd-soc-msm8909-objs := msm8952.o msm-audio-pinctrl.o apq8009-i2s-ext-codec.o msm_bg.o
obj-$(CONFIG_SND_SOC_MSM8909) += snd-soc-msm8909.o

# for MDM9640 sound card driver

sound/soc/msm/msm_bg.c

0 → 100644
+2223 −0

File added.

Preview size limit exceeded, changes collapsed.