asoc: pineapple: add bt fm slimbus BE support
add bt fm slimbus BackEnd support. Change-Id: I0a2631a32530e9d089095caf50d2435c647781ff Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
This commit is contained in:
@@ -33,6 +33,12 @@ SND_SOC_DAILINK_DEFS(slimbus_7_tx,
|
||||
"btfm_bt_sco_slim_tx")),
|
||||
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(slimbus_8_tx,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC("btfmslim_slave",
|
||||
"btfm_fm_slim_tx")),
|
||||
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(btfm_0_rx,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC("btfmcodec_dev",
|
||||
|
@@ -613,6 +613,42 @@ static struct snd_soc_dai_link msm_wcn_be_dai_links[] = {
|
||||
SND_SOC_DAILINK_REG(slimbus_7_tx),
|
||||
},
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_link msm_wcn_btfm_be_dai_links[] = {
|
||||
{
|
||||
.name = LPASS_BE_SLIMBUS_7_RX,
|
||||
.stream_name = LPASS_BE_SLIMBUS_7_RX,
|
||||
.playback_only = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.init = &msm_wcn_init,
|
||||
.ops = &msm_common_be_ops,
|
||||
/* dai link has playback support */
|
||||
.ignore_pmdown_time = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(slimbus_7_rx),
|
||||
},
|
||||
{
|
||||
.name = LPASS_BE_SLIMBUS_7_TX,
|
||||
.stream_name = LPASS_BE_SLIMBUS_7_TX,
|
||||
.capture_only = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ops = &msm_common_be_ops,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(slimbus_7_tx),
|
||||
},
|
||||
{
|
||||
.name = LPASS_BE_SLIMBUS_8_TX,
|
||||
.stream_name = LPASS_BE_SLIMBUS_8_TX,
|
||||
.capture_only = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ops = &msm_common_be_ops,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(slimbus_8_tx),
|
||||
},
|
||||
};
|
||||
#else
|
||||
static struct snd_soc_dai_link msm_wcn_be_dai_links[] = {
|
||||
{
|
||||
@@ -1274,7 +1310,7 @@ static struct snd_soc_dai_link msm_pineapple_dai_links[
|
||||
ARRAY_SIZE(msm_va_cdc_dma_be_dai_links) +
|
||||
ARRAY_SIZE(ext_disp_be_dai_link) +
|
||||
ARRAY_SIZE(msm_common_be_dai_links) +
|
||||
ARRAY_SIZE(msm_wcn_be_dai_links) +
|
||||
ARRAY_SIZE(msm_wcn_btfm_be_dai_links) +
|
||||
ARRAY_SIZE(msm_mi2s_dai_links) +
|
||||
ARRAY_SIZE(msm_tdm_dai_links)];
|
||||
|
||||
@@ -1613,6 +1649,16 @@ static struct snd_soc_card *populate_snd_card_dailinks(struct device *dev, int w
|
||||
msm_wcn_be_dai_links,
|
||||
sizeof(msm_wcn_be_dai_links));
|
||||
total_links += ARRAY_SIZE(msm_wcn_be_dai_links);
|
||||
} else {
|
||||
rc = of_property_read_u32(dev->of_node, "qcom,wcn-btfm", &val);
|
||||
if (!rc && val) {
|
||||
dev_dbg(dev, "%s(): WCN BT FM support present\n",
|
||||
__func__);
|
||||
memcpy(msm_pineapple_dai_links + total_links,
|
||||
msm_wcn_btfm_be_dai_links,
|
||||
sizeof(msm_wcn_btfm_be_dai_links));
|
||||
total_links += ARRAY_SIZE(msm_wcn_btfm_be_dai_links);
|
||||
}
|
||||
}
|
||||
|
||||
dailink = msm_pineapple_dai_links;
|
||||
|
Reference in New Issue
Block a user