asoc: add support for Slimbus 9 port

Add support for SLIMBUS_9 Rx and Tx ports for
audio drivers.

Change-Id: If2071983ab38cb0de76c8231ec86d5c662cce2af
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
This commit is contained in:
Surendar Karka
2018-09-28 18:52:35 +05:30
committed by Gerrit - the friendly Code Review server
parent b0dd21f1a3
commit 3ef3d81d0a
3 changed files with 207 additions and 1 deletions

View File

@@ -2176,6 +2176,8 @@ static int msm_dai_q6_slim_bus_hw_params(struct snd_pcm_hw_params *params,
case SLIMBUS_7_TX:
case SLIMBUS_8_RX:
case SLIMBUS_8_TX:
case SLIMBUS_9_RX:
case SLIMBUS_9_TX:
dai_data->port_config.slim_sch.slimbus_dev_id =
AFE_SLIMBUS_DEVICE_2;
break;
@@ -2350,6 +2352,7 @@ static int msm_dai_q6_hw_params(struct snd_pcm_substream *substream,
case SLIMBUS_6_RX:
case SLIMBUS_7_RX:
case SLIMBUS_8_RX:
case SLIMBUS_9_RX:
case SLIMBUS_0_TX:
case SLIMBUS_1_TX:
case SLIMBUS_2_TX:
@@ -2359,6 +2362,7 @@ static int msm_dai_q6_hw_params(struct snd_pcm_substream *substream,
case SLIMBUS_6_TX:
case SLIMBUS_7_TX:
case SLIMBUS_8_TX:
case SLIMBUS_9_TX:
rc = msm_dai_q6_slim_bus_hw_params(params, dai,
substream->stream);
break;
@@ -2475,6 +2479,7 @@ static int msm_dai_q6_set_channel_map(struct snd_soc_dai *dai,
case SLIMBUS_6_RX:
case SLIMBUS_7_RX:
case SLIMBUS_8_RX:
case SLIMBUS_9_RX:
/*
* channel number to be between 128 and 255.
* For RX port use channel numbers
@@ -2512,6 +2517,7 @@ static int msm_dai_q6_set_channel_map(struct snd_soc_dai *dai,
case SLIMBUS_6_TX:
case SLIMBUS_7_TX:
case SLIMBUS_8_TX:
case SLIMBUS_9_TX:
/*
* channel number to be between 128 and 255.
* For TX port use channel numbers
@@ -4023,6 +4029,22 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_rx_dai[] = {
.probe = msm_dai_q6_dai_probe,
.remove = msm_dai_q6_dai_remove,
},
{
.playback = {
.stream_name = "Slimbus9 Playback",
.aif_name = "SLIMBUS_9_RX",
.rates = SNDRV_PCM_RATE_8000_384000,
.formats = DAI_FORMATS_S16_S24_S32_LE,
.channels_min = 1,
.channels_max = 8,
.rate_min = 8000,
.rate_max = 384000,
},
.ops = &msm_dai_q6_ops,
.id = SLIMBUS_9_RX,
.probe = msm_dai_q6_dai_probe,
.remove = msm_dai_q6_dai_remove,
},
};
static struct snd_soc_dai_driver msm_dai_q6_slimbus_tx_dai[] = {
@@ -4202,6 +4224,26 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_tx_dai[] = {
.probe = msm_dai_q6_dai_probe,
.remove = msm_dai_q6_dai_remove,
},
{
.capture = {
.stream_name = "Slimbus9 Capture",
.aif_name = "SLIMBUS_9_TX",
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_96000 |
SNDRV_PCM_RATE_192000,
.formats = SNDRV_PCM_FMTBIT_S16_LE |
SNDRV_PCM_FMTBIT_S24_LE |
SNDRV_PCM_FMTBIT_S32_LE,
.channels_min = 1,
.channels_max = 8,
.rate_min = 8000,
.rate_max = 192000,
},
.ops = &msm_dai_q6_ops,
.id = SLIMBUS_9_TX,
.probe = msm_dai_q6_dai_probe,
.remove = msm_dai_q6_dai_remove,
},
};
static int msm_dai_q6_mi2s_format_put(struct snd_kcontrol *kcontrol,
@@ -5484,6 +5526,9 @@ static int msm_dai_q6_dev_probe(struct platform_device *pdev)
case SLIMBUS_8_RX:
strlcpy(stream_name, "Slimbus8 Playback", sizeof(stream_name));
goto register_slim_playback;
case SLIMBUS_9_RX:
strlcpy(stream_name, "Slimbus9 Playback", sizeof(stream_name));
goto register_slim_playback;
register_slim_playback:
rc = -ENODEV;
len = strnlen(stream_name, 80);
@@ -5529,6 +5574,9 @@ register_slim_playback:
case SLIMBUS_8_TX:
strlcpy(stream_name, "Slimbus8 Capture", sizeof(stream_name));
goto register_slim_capture;
case SLIMBUS_9_TX:
strlcpy(stream_name, "Slimbus9 Capture", sizeof(stream_name));
goto register_slim_capture;
register_slim_capture:
rc = -ENODEV;
len = strnlen(stream_name, 80);

View File

@@ -639,6 +639,8 @@ struct msm_pcm_routing_bdai_data msm_bedais[MSM_BACKEND_DAI_MAX] = {
LPASS_BE_SEC_SPDIF_RX},
{ AFE_PORT_ID_SECONDARY_SPDIF_TX, 0, {0}, {0}, 0, 0, 0, 0,
LPASS_BE_SEC_SPDIF_TX},
{ SLIMBUS_9_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_9_RX},
{ SLIMBUS_9_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_9_TX},
};
/* Track ASM playback & capture sessions of DAI
@@ -6562,6 +6564,76 @@ static const struct snd_kcontrol_new slimbus_7_rx_mixer_controls[] = {
msm_routing_put_audio_mixer),
};
static const struct snd_kcontrol_new slimbus_9_rx_mixer_controls[] = {
SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia2", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia3", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA3, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia4", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA4, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia5", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia6", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA6, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia7", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA7, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia8", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia9", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA9, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia10", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia11", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA11, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia12", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA12, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia13", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA13, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia14", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA14, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia15", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA15, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia16", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("MultiMedia26", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_FRONTEND_DAI_MULTIMEDIA26, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
};
static const struct snd_kcontrol_new usb_audio_rx_mixer_controls[] = {
SOC_DOUBLE_EXT("MultiMedia1", SND_SOC_NOPM,
MSM_BACKEND_DAI_USB_RX,
@@ -9470,6 +9542,10 @@ static const struct snd_kcontrol_new mmul1_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_SPDIF_TX,
MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_TX,
MSM_FRONTEND_DAI_MULTIMEDIA1, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
};
static const struct snd_kcontrol_new mmul2_mixer_controls[] = {
@@ -9661,6 +9737,10 @@ static const struct snd_kcontrol_new mmul2_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_SPDIF_TX,
MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_TX,
MSM_FRONTEND_DAI_MULTIMEDIA2, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
};
static const struct snd_kcontrol_new mmul3_mixer_controls[] = {
@@ -10250,6 +10330,10 @@ static const struct snd_kcontrol_new mmul5_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_SPDIF_TX,
MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_TX,
MSM_FRONTEND_DAI_MULTIMEDIA5, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
};
static const struct snd_kcontrol_new mmul6_mixer_controls[] = {
@@ -10636,6 +10720,10 @@ static const struct snd_kcontrol_new mmul8_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_SPDIF_TX,
MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_TX,
MSM_FRONTEND_DAI_MULTIMEDIA8, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
};
static const struct snd_kcontrol_new mmul16_mixer_controls[] = {
@@ -10837,6 +10925,10 @@ static const struct snd_kcontrol_new mmul16_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_SPDIF_TX,
MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_TX,
MSM_FRONTEND_DAI_MULTIMEDIA16, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
};
static const struct snd_kcontrol_new mmul9_mixer_controls[] = {
@@ -11137,6 +11229,10 @@ static const struct snd_kcontrol_new mmul10_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_SPDIF_TX,
MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_TX,
MSM_FRONTEND_DAI_MULTIMEDIA10, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
};
static const struct snd_kcontrol_new mmul17_mixer_controls[] = {
SOC_DOUBLE_EXT("SLIM_0_TX", SND_SOC_NOPM,
@@ -11784,6 +11880,10 @@ static const struct snd_kcontrol_new mmul27_mixer_controls[] = {
MSM_BACKEND_DAI_SEC_SPDIF_TX,
MSM_FRONTEND_DAI_MULTIMEDIA27, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_9_TX,
MSM_FRONTEND_DAI_MULTIMEDIA27, 1, 0, msm_routing_get_audio_mixer,
msm_routing_put_audio_mixer),
};
static const struct snd_kcontrol_new mmul28_mixer_controls[] = {
@@ -13507,6 +13607,10 @@ static const struct snd_kcontrol_new int0_mi2s_rx_port_mixer_controls[] = {
MSM_BACKEND_DAI_INT0_MI2S_RX,
MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_INT0_MI2S_RX,
MSM_BACKEND_DAI_SLIMBUS_9_TX, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
};
static const struct snd_kcontrol_new int4_mi2s_rx_port_mixer_controls[] = {
@@ -13550,6 +13654,10 @@ static const struct snd_kcontrol_new int4_mi2s_rx_port_mixer_controls[] = {
MSM_BACKEND_DAI_INT4_MI2S_RX,
MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_INT4_MI2S_RX,
MSM_BACKEND_DAI_SLIMBUS_9_TX, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
};
static const struct snd_kcontrol_new wsa_cdc_dma_rx_0_port_mixer_controls[] = {
@@ -13576,6 +13684,10 @@ static const struct snd_kcontrol_new rx_cdc_dma_rx_0_port_mixer_controls[] = {
MSM_BACKEND_DAI_RX_CDC_DMA_RX_0,
MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_INT4_MI2S_RX,
MSM_BACKEND_DAI_SLIMBUS_9_TX, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
};
static const struct snd_kcontrol_new sbus_0_rx_port_mixer_controls[] = {
@@ -13665,7 +13777,11 @@ static const struct snd_kcontrol_new sbus_0_rx_port_mixer_controls[] = {
msm_routing_put_port_mixer),
SOC_DOUBLE_EXT("QUIN_MI2S_RX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_0_RX,
MSM_BACKEND_DAI_QUINARY_MI2S_RX, 1, 0, msm_routing_get_port_mixer,
MSM_BACKEND_DAI_QUINARY_MI2S_RX, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_0_RX,
MSM_BACKEND_DAI_SLIMBUS_9_TX, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
};
@@ -13859,6 +13975,10 @@ static const struct snd_kcontrol_new sbus_6_rx_port_mixer_controls[] = {
MSM_BACKEND_DAI_SLIMBUS_6_RX,
MSM_BACKEND_DAI_INT_BT_SCO_TX, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
SOC_DOUBLE_EXT("SLIM_9_TX", SND_SOC_NOPM,
MSM_BACKEND_DAI_SLIMBUS_6_RX,
MSM_BACKEND_DAI_SLIMBUS_9_TX, 1, 0, msm_routing_get_port_mixer,
msm_routing_put_port_mixer),
};
static const struct snd_kcontrol_new bt_sco_rx_port_mixer_controls[] = {
@@ -18697,6 +18817,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
SND_SOC_DAPM_AIF_OUT("SLIMBUS_8_RX", "Slimbus8 Playback", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_IN("SLIMBUS_8_TX", "Slimbus8 Capture", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_OUT("SLIMBUS_9_RX", "Slimbus9 Playback", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_IN("SLIMBUS_9_TX", "Slimbus9 Capture", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_OUT("USB_AUDIO_RX", "USB Audio Playback", 0, 0, 0, 0),
SND_SOC_DAPM_AIF_IN("USB_AUDIO_TX", "USB Audio Capture", 0, 0, 0, 0),
@@ -18757,6 +18879,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
slimbus_5_rx_mixer_controls, ARRAY_SIZE(slimbus_5_rx_mixer_controls)),
SND_SOC_DAPM_MIXER("SLIMBUS_7_RX Audio Mixer", SND_SOC_NOPM, 0, 0,
slimbus_7_rx_mixer_controls, ARRAY_SIZE(slimbus_7_rx_mixer_controls)),
SND_SOC_DAPM_MIXER("SLIMBUS_9_RX Audio Mixer", SND_SOC_NOPM, 0, 0,
slimbus_9_rx_mixer_controls, ARRAY_SIZE(slimbus_9_rx_mixer_controls)),
SND_SOC_DAPM_MIXER("HDMI Mixer", SND_SOC_NOPM, 0, 0,
hdmi_mixer_controls, ARRAY_SIZE(hdmi_mixer_controls)),
SND_SOC_DAPM_MIXER("DISPLAY_PORT Mixer", SND_SOC_NOPM, 0, 0,
@@ -19751,6 +19875,25 @@ static const struct snd_soc_dapm_route intercon[] = {
{"SLIMBUS_7_RX Audio Mixer", "MultiMedia26", "MM_DL26"},
{"SLIMBUS_7_RX", NULL, "SLIMBUS_7_RX Audio Mixer"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia1", "MM_DL1"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia2", "MM_DL2"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia3", "MM_DL3"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia4", "MM_DL4"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia5", "MM_DL5"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia6", "MM_DL6"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia7", "MM_DL7"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia8", "MM_DL8"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia9", "MM_DL9"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia10", "MM_DL10"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia11", "MM_DL11"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia12", "MM_DL12"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia13", "MM_DL13"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia14", "MM_DL14"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia15", "MM_DL15"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia16", "MM_DL16"},
{"SLIMBUS_9_RX Audio Mixer", "MultiMedia26", "MM_DL26"},
{"SLIMBUS_9_RX", NULL, "SLIMBUS_9_RX Audio Mixer"},
{"USB_AUDIO_RX Audio Mixer", "MultiMedia1", "MM_DL1"},
{"USB_AUDIO_RX Audio Mixer", "MultiMedia2", "MM_DL2"},
{"USB_AUDIO_RX Audio Mixer", "MultiMedia3", "MM_DL3"},
@@ -19780,8 +19923,10 @@ static const struct snd_soc_dapm_route intercon[] = {
{"MultiMedia1 Mixer", "SLIM_6_TX", "SLIMBUS_6_TX"},
{"MultiMedia1 Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"},
{"MultiMedia1 Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"},
{"MultiMedia1 Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"},
{"MultiMedia8 Mixer", "SLIM_6_TX", "SLIMBUS_6_TX"},
{"MultiMedia8 Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"},
{"MultiMedia8 Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"},
{"MultiMedia4 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"},
{"MultiMedia17 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"},
{"MultiMedia18 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"},
@@ -19815,7 +19960,9 @@ static const struct snd_soc_dapm_route intercon[] = {
{"MultiMedia16 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"},
{"MultiMedia5 Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"},
{"MultiMedia5 Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"},
{"MultiMedia5 Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"},
{"MultiMedia10 Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"},
{"MultiMedia10 Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"},
{"MultiMedia18 Mixer", "PRI_SPDIF_TX", "PRI_SPDIF_TX"},
{"MultiMedia18 Mixer", "SEC_SPDIF_TX", "SEC_SPDIF_TX"},
@@ -20895,6 +21042,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"MultiMedia27 Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"},
{"MultiMedia27 Mixer", "SLIM_6_TX", "SLIMBUS_6_TX"},
{"MultiMedia27 Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"},
{"MultiMedia27 Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"},
{"MultiMedia27 Mixer", "PRI_MI2S_TX", "PRI_MI2S_TX"},
{"MultiMedia27 Mixer", "SEC_MI2S_TX", "SEC_MI2S_TX"},
{"MultiMedia27 Mixer", "TERT_MI2S_TX", "TERT_MI2S_TX"},
@@ -22246,6 +22394,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"INT0_MI2S_RX Port Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"},
{"INT0_MI2S_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"},
{"INT0_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"},
{"INT0_MI2S_RX Port Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"},
{"INT0_MI2S_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"},
{"INT0_MI2S_RX", NULL, "INT0_MI2S_RX Port Mixer"},
@@ -22257,6 +22406,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"INT4_MI2S_RX Port Mixer", "INT3_MI2S_TX", "INT3_MI2S_TX"},
{"INT4_MI2S_RX Port Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"},
{"INT4_MI2S_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"},
{"INT4_MI2S_RX Port Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"},
{"INT4_MI2S_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"},
{"INT4_MI2S_RX Port Mixer", "INTERNAL_BT_SCO_TX", "INT_BT_SCO_TX"},
{"INT4_MI2S_RX", NULL, "INT4_MI2S_RX Port Mixer"},
@@ -22273,6 +22423,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"SLIMBUS_0_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"},
{"SLIMBUS_0_RX Port Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"},
{"SLIMBUS_0_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"},
{"SLIMBUS_0_RX Port Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"},
{"SLIMBUS_0_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"},
{"SLIMBUS_0_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"},
{"SLIMBUS_0_RX Port Mixer", "TERT_AUXPCM_UL_TX", "TERT_AUX_PCM_TX"},
@@ -22417,6 +22568,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"SLIMBUS_6_RX Port Mixer", "SLIM_1_TX", "SLIMBUS_1_TX"},
{"SLIMBUS_6_RX Port Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"},
{"SLIMBUS_6_RX Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"},
{"SLIMBUS_6_RX Port Mixer", "SLIM_9_TX", "SLIMBUS_9_TX"},
{"SLIMBUS_6_RX Port Mixer", "AUX_PCM_UL_TX", "AUX_PCM_TX"},
{"SLIMBUS_6_RX Port Mixer", "SEC_AUX_PCM_UL_TX", "SEC_AUX_PCM_TX"},
{"SLIMBUS_6_RX Port Mixer", "MI2S_TX", "MI2S_TX"},
@@ -22507,6 +22659,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"BE_OUT", NULL, "SLIMBUS_6_RX"},
{"BE_OUT", NULL, "SLIMBUS_7_RX"},
{"BE_OUT", NULL, "SLIMBUS_8_RX"},
{"BE_OUT", NULL, "SLIMBUS_9_RX"},
{"BE_OUT", NULL, "USB_AUDIO_RX"},
{"BE_OUT", NULL, "HDMI"},
{"BE_OUT", NULL, "DISPLAY_PORT"},
@@ -22594,6 +22747,7 @@ static const struct snd_soc_dapm_route intercon[] = {
{"SLIMBUS_6_TX", NULL, "BE_IN" },
{"SLIMBUS_7_TX", NULL, "BE_IN" },
{"SLIMBUS_8_TX", NULL, "BE_IN" },
{"SLIMBUS_9_TX", NULL, "BE_IN" },
{"USB_AUDIO_TX", NULL, "BE_IN" },
{"INT_BT_SCO_TX", NULL, "BE_IN"},
{"INT_FM_TX", NULL, "BE_IN"},

View File

@@ -170,6 +170,8 @@
#define LPASS_BE_SLIMBUS_7_TX "SLIMBUS_7_TX"
#define LPASS_BE_SLIMBUS_8_RX "SLIMBUS_8_RX"
#define LPASS_BE_SLIMBUS_8_TX "SLIMBUS_8_TX"
#define LPASS_BE_SLIMBUS_9_RX "SLIMBUS_9_RX"
#define LPASS_BE_SLIMBUS_9_TX "SLIMBUS_9_TX"
#define LPASS_BE_USB_AUDIO_RX "USB_AUDIO_RX"
#define LPASS_BE_USB_AUDIO_TX "USB_AUDIO_TX"
@@ -453,6 +455,8 @@ enum {
MSM_BACKEND_DAI_PRI_SPDIF_TX,
MSM_BACKEND_DAI_SEC_SPDIF_RX,
MSM_BACKEND_DAI_SEC_SPDIF_TX,
MSM_BACKEND_DAI_SLIMBUS_9_RX,
MSM_BACKEND_DAI_SLIMBUS_9_TX,
MSM_BACKEND_DAI_MAX,
};