|
@@ -645,7 +645,81 @@ static struct snd_soc_dai_link msm_va_cdc_dma_be_dai_links[] = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
+/*
|
|
|
+ * I2S interface pinctrl mapping
|
|
|
+ * ------------------------------------
|
|
|
+ * Primary - pri_mi2s
|
|
|
+ * Secondary - lpi_i2s3
|
|
|
+ * Tertiary - tert_mi2s
|
|
|
+ * Quaternary - quat_mi2s (lpi_i2s0)
|
|
|
+ * Quinary - lpi_i2s1
|
|
|
+ * Senary - lpi_i2s2
|
|
|
+ * ------------------------------------
|
|
|
+ */
|
|
|
static struct snd_soc_dai_link msm_mi2s_dai_links[] = {
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_PRI_MI2S_RX,
|
|
|
+ .stream_name = LPASS_BE_PRI_MI2S_RX,
|
|
|
+ .playback_only = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .ops = &msm_common_be_ops,
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ SND_SOC_DAILINK_REG(pri_mi2s_rx),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_PRI_MI2S_TX,
|
|
|
+ .stream_name = LPASS_BE_PRI_MI2S_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(pri_mi2s_tx),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_SEC_MI2S_RX,
|
|
|
+ .stream_name = LPASS_BE_SEC_MI2S_RX,
|
|
|
+ .playback_only = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .ops = &msm_common_be_ops,
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ SND_SOC_DAILINK_REG(sec_mi2s_rx),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_SEC_MI2S_TX,
|
|
|
+ .stream_name = LPASS_BE_SEC_MI2S_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(sec_mi2s_tx),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_TERT_MI2S_RX,
|
|
|
+ .stream_name = LPASS_BE_TERT_MI2S_RX,
|
|
|
+ .playback_only = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .ops = &msm_common_be_ops,
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ SND_SOC_DAILINK_REG(tert_mi2s_rx),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_TERT_MI2S_TX,
|
|
|
+ .stream_name = LPASS_BE_TERT_MI2S_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(tert_mi2s_tx),
|
|
|
+ },
|
|
|
{
|
|
|
.name = LPASS_BE_QUAT_MI2S_RX,
|
|
|
.stream_name = LPASS_BE_QUAT_MI2S_RX,
|
|
@@ -667,6 +741,48 @@ static struct snd_soc_dai_link msm_mi2s_dai_links[] = {
|
|
|
.ignore_suspend = 1,
|
|
|
SND_SOC_DAILINK_REG(quat_mi2s_tx),
|
|
|
},
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_QUIN_MI2S_RX,
|
|
|
+ .stream_name = LPASS_BE_QUIN_MI2S_RX,
|
|
|
+ .playback_only = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .ops = &msm_common_be_ops,
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ SND_SOC_DAILINK_REG(quin_mi2s_rx),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_QUIN_MI2S_TX,
|
|
|
+ .stream_name = LPASS_BE_QUIN_MI2S_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(quin_mi2s_tx),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_SEN_MI2S_RX,
|
|
|
+ .stream_name = LPASS_BE_SEN_MI2S_RX,
|
|
|
+ .playback_only = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .ops = &msm_common_be_ops,
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ SND_SOC_DAILINK_REG(sen_mi2s_rx),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_SEN_MI2S_TX,
|
|
|
+ .stream_name = LPASS_BE_SEN_MI2S_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(sen_mi2s_tx),
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
static struct snd_soc_dai_link msm_tdm_dai_links[] = {
|
|
@@ -691,6 +807,111 @@ static struct snd_soc_dai_link msm_tdm_dai_links[] = {
|
|
|
.ignore_suspend = 1,
|
|
|
SND_SOC_DAILINK_REG(pri_tdm_tx_0),
|
|
|
},
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_SEC_TDM_RX_0,
|
|
|
+ .stream_name = LPASS_BE_SEC_TDM_RX_0,
|
|
|
+ .playback_only = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .ops = &msm_common_be_ops,
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ SND_SOC_DAILINK_REG(sec_tdm_rx_0),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_SEC_TDM_TX_0,
|
|
|
+ .stream_name = LPASS_BE_SEC_TDM_TX_0,
|
|
|
+ .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(sec_tdm_tx_0),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_TERT_TDM_RX_0,
|
|
|
+ .stream_name = LPASS_BE_TERT_TDM_RX_0,
|
|
|
+ .playback_only = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .ops = &msm_common_be_ops,
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ SND_SOC_DAILINK_REG(tert_tdm_rx_0),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_TERT_TDM_TX_0,
|
|
|
+ .stream_name = LPASS_BE_TERT_TDM_TX_0,
|
|
|
+ .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(tert_tdm_tx_0),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_QUAT_TDM_RX_0,
|
|
|
+ .stream_name = LPASS_BE_QUAT_TDM_RX_0,
|
|
|
+ .playback_only = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .ops = &msm_common_be_ops,
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ SND_SOC_DAILINK_REG(quat_tdm_rx_0),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_QUAT_TDM_TX_0,
|
|
|
+ .stream_name = LPASS_BE_QUAT_TDM_TX_0,
|
|
|
+ .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(quat_tdm_tx_0),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_QUIN_TDM_RX_0,
|
|
|
+ .stream_name = LPASS_BE_QUIN_TDM_RX_0,
|
|
|
+ .playback_only = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .ops = &msm_common_be_ops,
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ SND_SOC_DAILINK_REG(quin_tdm_rx_0),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_QUIN_TDM_TX_0,
|
|
|
+ .stream_name = LPASS_BE_QUIN_TDM_TX_0,
|
|
|
+ .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(quin_tdm_tx_0),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_SEN_TDM_RX_0,
|
|
|
+ .stream_name = LPASS_BE_SEN_TDM_RX_0,
|
|
|
+ .playback_only = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .ops = &msm_common_be_ops,
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ SND_SOC_DAILINK_REG(sen_tdm_rx_0),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = LPASS_BE_SEN_TDM_TX_0,
|
|
|
+ .stream_name = LPASS_BE_SEN_TDM_TX_0,
|
|
|
+ .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(sen_tdm_tx_0),
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
static struct snd_soc_dai_link msm_waipio_dai_links[
|