|
@@ -9680,6 +9680,14 @@ static int msm_dai_q6_cdc_dma_set_channel_map(struct snd_soc_dai *dai,
|
|
|
switch (dai->id) {
|
|
|
case AFE_PORT_ID_WSA_CODEC_DMA_RX_0:
|
|
|
case AFE_PORT_ID_WSA_CODEC_DMA_RX_1:
|
|
|
+ case AFE_PORT_ID_RX_CODEC_DMA_RX_0:
|
|
|
+ case AFE_PORT_ID_RX_CODEC_DMA_RX_1:
|
|
|
+ case AFE_PORT_ID_RX_CODEC_DMA_RX_2:
|
|
|
+ case AFE_PORT_ID_RX_CODEC_DMA_RX_3:
|
|
|
+ case AFE_PORT_ID_RX_CODEC_DMA_RX_4:
|
|
|
+ case AFE_PORT_ID_RX_CODEC_DMA_RX_5:
|
|
|
+ case AFE_PORT_ID_RX_CODEC_DMA_RX_6:
|
|
|
+ case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
|
|
|
if (!rx_ch_mask) {
|
|
|
dev_err(dai->dev, "%s: invalid rx ch mask\n", __func__);
|
|
|
return -EINVAL;
|
|
@@ -9697,6 +9705,12 @@ static int msm_dai_q6_cdc_dma_set_channel_map(struct snd_soc_dai *dai,
|
|
|
case AFE_PORT_ID_WSA_CODEC_DMA_TX_2:
|
|
|
case AFE_PORT_ID_VA_CODEC_DMA_TX_0:
|
|
|
case AFE_PORT_ID_VA_CODEC_DMA_TX_1:
|
|
|
+ case AFE_PORT_ID_TX_CODEC_DMA_TX_0:
|
|
|
+ case AFE_PORT_ID_TX_CODEC_DMA_TX_1:
|
|
|
+ case AFE_PORT_ID_TX_CODEC_DMA_TX_2:
|
|
|
+ case AFE_PORT_ID_TX_CODEC_DMA_TX_3:
|
|
|
+ case AFE_PORT_ID_TX_CODEC_DMA_TX_4:
|
|
|
+ case AFE_PORT_ID_TX_CODEC_DMA_TX_5:
|
|
|
if (!tx_ch_mask) {
|
|
|
dev_err(dai->dev, "%s: invalid tx ch mask\n", __func__);
|
|
|
return -EINVAL;
|
|
@@ -10006,7 +10020,355 @@ static struct snd_soc_dai_driver msm_dai_q6_cdc_dma_dai[] = {
|
|
|
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
},
|
|
|
-
|
|
|
+ {
|
|
|
+ .playback = {
|
|
|
+ .stream_name = "RX CDC DMA0 Playback",
|
|
|
+ .aif_name = "RX_CDC_DMA_RX_0",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
|
|
+ SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
|
|
+ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
|
|
+ SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 2,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_RX_CODEC_DMA_RX_0,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .capture = {
|
|
|
+ .stream_name = "TX CDC DMA0 Capture",
|
|
|
+ .aif_name = "TX_CDC_DMA_TX_0",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 |
|
|
|
+ SNDRV_PCM_RATE_16000 |
|
|
|
+ SNDRV_PCM_RATE_32000 |
|
|
|
+ SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_96000 |
|
|
|
+ SNDRV_PCM_RATE_192000 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 3,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_TX_CODEC_DMA_TX_0,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .playback = {
|
|
|
+ .stream_name = "RX CDC DMA1 Playback",
|
|
|
+ .aif_name = "RX_CDC_DMA_RX_1",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
|
|
+ SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
|
|
+ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
|
|
+ SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 2,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_RX_CODEC_DMA_RX_1,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .capture = {
|
|
|
+ .stream_name = "TX CDC DMA1 Capture",
|
|
|
+ .aif_name = "TX_CDC_DMA_TX_1",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 |
|
|
|
+ SNDRV_PCM_RATE_16000 |
|
|
|
+ SNDRV_PCM_RATE_32000 |
|
|
|
+ SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_96000 |
|
|
|
+ SNDRV_PCM_RATE_192000 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 3,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_TX_CODEC_DMA_TX_1,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .playback = {
|
|
|
+ .stream_name = "RX CDC DMA2 Playback",
|
|
|
+ .aif_name = "RX_CDC_DMA_RX_2",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
|
|
+ SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
|
|
+ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
|
|
+ SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 1,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_RX_CODEC_DMA_RX_2,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .capture = {
|
|
|
+ .stream_name = "TX CDC DMA2 Capture",
|
|
|
+ .aif_name = "TX_CDC_DMA_TX_2",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 |
|
|
|
+ SNDRV_PCM_RATE_16000 |
|
|
|
+ SNDRV_PCM_RATE_32000 |
|
|
|
+ SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_96000 |
|
|
|
+ SNDRV_PCM_RATE_192000 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 4,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_TX_CODEC_DMA_TX_2,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ }, {
|
|
|
+ .playback = {
|
|
|
+ .stream_name = "RX CDC DMA3 Playback",
|
|
|
+ .aif_name = "RX_CDC_DMA_RX_3",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
|
|
+ SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
|
|
+ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
|
|
+ SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 1,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_RX_CODEC_DMA_RX_3,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .capture = {
|
|
|
+ .stream_name = "TX CDC DMA3 Capture",
|
|
|
+ .aif_name = "TX_CDC_DMA_TX_3",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 |
|
|
|
+ SNDRV_PCM_RATE_16000 |
|
|
|
+ SNDRV_PCM_RATE_32000 |
|
|
|
+ SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_96000 |
|
|
|
+ SNDRV_PCM_RATE_192000 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 8,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_TX_CODEC_DMA_TX_3,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .playback = {
|
|
|
+ .stream_name = "RX CDC DMA4 Playback",
|
|
|
+ .aif_name = "RX_CDC_DMA_RX_4",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
|
|
+ SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
|
|
+ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
|
|
+ SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 6,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_RX_CODEC_DMA_RX_4,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .capture = {
|
|
|
+ .stream_name = "TX CDC DMA4 Capture",
|
|
|
+ .aif_name = "TX_CDC_DMA_TX_4",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 |
|
|
|
+ SNDRV_PCM_RATE_16000 |
|
|
|
+ SNDRV_PCM_RATE_32000 |
|
|
|
+ SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_96000 |
|
|
|
+ SNDRV_PCM_RATE_192000 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 8,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_TX_CODEC_DMA_TX_4,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .playback = {
|
|
|
+ .stream_name = "RX CDC DMA5 Playback",
|
|
|
+ .aif_name = "RX_CDC_DMA_RX_5",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
|
|
+ SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
|
|
+ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
|
|
+ SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 1,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_RX_CODEC_DMA_RX_5,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .capture = {
|
|
|
+ .stream_name = "TX CDC DMA5 Capture",
|
|
|
+ .aif_name = "TX_CDC_DMA_TX_5",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 |
|
|
|
+ SNDRV_PCM_RATE_16000 |
|
|
|
+ SNDRV_PCM_RATE_32000 |
|
|
|
+ SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_96000 |
|
|
|
+ SNDRV_PCM_RATE_192000 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 4,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_TX_CODEC_DMA_TX_5,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .playback = {
|
|
|
+ .stream_name = "RX CDC DMA6 Playback",
|
|
|
+ .aif_name = "RX_CDC_DMA_RX_6",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
|
|
+ SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
|
|
+ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
|
|
+ SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 4,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_RX_CODEC_DMA_RX_6,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .playback = {
|
|
|
+ .stream_name = "RX CDC DMA7 Playback",
|
|
|
+ .aif_name = "RX_CDC_DMA_RX_7",
|
|
|
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
|
|
+ SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
|
|
+ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
|
|
+ SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
|
|
+ SNDRV_PCM_RATE_384000,
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S24_3LE |
|
|
|
+ SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
+ .channels_min = 1,
|
|
|
+ .channels_max = 2,
|
|
|
+ .rate_min = 8000,
|
|
|
+ .rate_max = 384000,
|
|
|
+ },
|
|
|
+ .ops = &msm_dai_q6_cdc_dma_ops,
|
|
|
+ .id = AFE_PORT_ID_RX_CODEC_DMA_RX_7,
|
|
|
+ .probe = msm_dai_q6_dai_cdc_dma_probe,
|
|
|
+ .remove = msm_dai_q6_dai_cdc_dma_remove,
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
static const struct snd_soc_component_driver msm_q6_cdc_dma_dai_component = {
|