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

Commit d0e85bfb 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 dailink for split a2dp support on 8909"

parents 863a7de4 7bf44165
Loading
Loading
Loading
Loading
+16 −7
Original line number Diff line number Diff line
@@ -506,6 +506,11 @@ Example:
			qcom,msm-dai-q6-dev-id = <12288>;
		};

		bt_a2dp_rx: qcom,msm-dai-q6-bt-a2dp-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <12290>;
		};

		qcom,msm-dai-q6-bt-sco-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <12289>;
@@ -745,8 +750,9 @@ Example:
				<&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>,
				<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
				<&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
				<&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>,
				<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
				<&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>;
		asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
@@ -757,11 +763,12 @@ Example:
				"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
				"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
				"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
				"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-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";
		asoc-codec = <&stub>, <&pm8916_tombak_dig>;
		asoc-codec-names = "msm-stub-codec.1", "tombak_codec";
	};
@@ -1423,6 +1430,7 @@ the flavor.
Optional properties:
- qcom,msm-afe-clk-ver: Provides detail of AFE clock API version.
- qcom,hdmi-dba-codec-rx: Boolean. specifies if HDMI DBA audio support is enabled or not.
- qcom,split-a2dp: Boolean. specifies if split a2dp audio support is enabled or not.
- qcom,prim-auxpcm-gpio-clk  : GPIO on which Primary AUXPCM clk signal is coming.
- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
- qcom,prim-auxpcm-gpio-din  : GPIO on which Primary AUXPCM DIN signal is coming.
@@ -1488,6 +1496,7 @@ Example:
		qcom,msm-afe-clk-ver = <1>;
		qcom,msm-ext-pa = "primary";
		qcom,hdmi-dba-codec-rx;
		qcom,split-a2dp;
		qcom,msm-mclk-freq = <9600000>;
		qcom,msm-mbhc-hphl-swh = <0>;
		qcom,msm-mbhc-gnd-swh = <0>;
+27 −1
Original line number Diff line number Diff line
@@ -2489,9 +2489,27 @@ static struct snd_soc_dai_link msm8952_quin_dai_link[] = {
	},
};

static struct snd_soc_dai_link msm8952_split_a2dp_dai_link[] = {
	{
		.name = LPASS_BE_INT_BT_A2DP_RX,
		.stream_name = "Internal BT-A2DP Playback",
		.cpu_dai_name = "msm-dai-q6-dev.12290",
		.platform_name = "msm-pcm-routing",
		.codec_dai_name = "msm-stub-rx",
		.codec_name = "msm-stub-codec.1",
		.no_pcm = 1,
		.dpcm_playback = 1,
		.be_id = MSM_BACKEND_DAI_INT_BT_A2DP_RX,
		.be_hw_params_fixup = msm_be_hw_params_fixup,
		.ignore_pmdown_time = 1, /* dai link has playback support */
		.ignore_suspend = 1,
	},
};

static struct snd_soc_dai_link msm8952_dai_links[
ARRAY_SIZE(msm8952_dai) +
ARRAY_SIZE(msm8952_hdmi_dba_dai_link)];
ARRAY_SIZE(msm8952_hdmi_dba_dai_link) +
ARRAY_SIZE(msm8952_split_a2dp_dai_link)];

static int msm8952_wsa881x_init(struct snd_soc_component *component)
{
@@ -2793,6 +2811,14 @@ static struct snd_soc_card *msm8952_populate_sndcard_dailinks(
				sizeof(msm8952_quin_dai_link));
		len1 += ARRAY_SIZE(msm8952_quin_dai_link);
	}
	if (of_property_read_bool(dev->of_node,
				"qcom,split-a2dp")) {
		dev_dbg(dev, "%s(): split a2dp support present\n",
				__func__);
		memcpy(dailink + len1, msm8952_split_a2dp_dai_link,
				sizeof(msm8952_split_a2dp_dai_link));
		len1 += ARRAY_SIZE(msm8952_split_a2dp_dai_link);
	}
	card->dai_link = dailink;
	card->num_links = len1;
	return card;