Loading Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +16 −7 Original line number Diff line number Diff line Loading @@ -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>; Loading Loading @@ -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", Loading @@ -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"; }; Loading Loading @@ -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. Loading Loading @@ -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>; Loading sound/soc/msm/msm8952.c +27 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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; Loading Loading
Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +16 −7 Original line number Diff line number Diff line Loading @@ -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>; Loading Loading @@ -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", Loading @@ -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"; }; Loading Loading @@ -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. Loading Loading @@ -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>; Loading
sound/soc/msm/msm8952.c +27 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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; Loading