asoc: pineapple: add support for wsa881x codec
add support for wsa881x codec in pineapple machine driver. Change-Id: Ie4b12facfd27ead1b57d10ea72029a32584dde94 Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
Este cometimento está contido em:
@@ -151,14 +151,16 @@ SND_SOC_DAILINK_DEFS(rx_dma_rx0,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "rx_macro_rx1"),
|
||||
COMP_CODEC("wcd937x_codec", "wcd937x_cdc"),
|
||||
COMP_CODEC("wcd939x_codec", "wcd939x_cdc")),
|
||||
COMP_CODEC("wcd939x_codec", "wcd939x_cdc"),
|
||||
COMP_CODEC("wsa-codec0", "wsa_rx0")),
|
||||
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(rx_dma_rx1,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "rx_macro_rx2"),
|
||||
COMP_CODEC("wcd937x_codec", "wcd937x_cdc"),
|
||||
COMP_CODEC("wcd939x_codec", "wcd939x_cdc")),
|
||||
COMP_CODEC("wcd939x_codec", "wcd939x_cdc"),
|
||||
COMP_CODEC("wsa-codec0", "wsa_rx0")),
|
||||
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(rx_dma_rx2,
|
||||
|
@@ -105,6 +105,7 @@ static void *def_wcd_mbhc_cal(void);
|
||||
|
||||
static int msm_rx_tx_codec_init(struct snd_soc_pcm_runtime*);
|
||||
static int msm_int_wsa_init(struct snd_soc_pcm_runtime*);
|
||||
static int msm_int_wsa881x_init(struct snd_soc_pcm_runtime *);
|
||||
static int msm_int_wsa884x_init(struct snd_soc_pcm_runtime*);
|
||||
static int msm_int_wsa883x_init(struct snd_soc_pcm_runtime*);
|
||||
static int msm_int_wsa2_init(struct snd_soc_pcm_runtime *);
|
||||
@@ -890,6 +891,7 @@ static struct snd_soc_dai_link msm_rx_tx_cdc_dma_be_dai_links[] = {
|
||||
.ignore_suspend = 1,
|
||||
.ops = &msm_common_be_ops,
|
||||
SND_SOC_DAILINK_REG(rx_dma_rx1),
|
||||
.init = &msm_int_wsa881x_init,
|
||||
},
|
||||
{
|
||||
.name = LPASS_BE_RX_CDC_DMA_RX_2,
|
||||
@@ -1851,6 +1853,19 @@ static int msm_int_wsa884x_init(struct snd_soc_pcm_runtime *rtd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int msm_int_wsa881x_init(struct snd_soc_pcm_runtime *rtd)
|
||||
{
|
||||
struct msm_asoc_mach_data *pdata =
|
||||
snd_soc_card_get_drvdata(rtd->card);
|
||||
|
||||
if (pdata->wsa_max_devs == 0)
|
||||
pr_info("%s: WSA is not enabled\n", __func__);
|
||||
|
||||
msm_common_dai_link_init(rtd);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
static int msm_int_wsa_init(struct snd_soc_pcm_runtime *rtd)
|
||||
{
|
||||
if (strstr(rtd->card->name, "wsa883x"))
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador