ASoC: msm: add AUXPCM hostless PCM support
There are use cases that require AUXPCM ports to be enabld without application processor feeding or capturing audio data. Add routing definition to enable these type of use cases on AUXPCM ports. Change-Id: If5d80df55e37f67cbab7f8b8e826a50908b87b0b Signed-off-by: Patrick Lai <plai@codeaurora.org>
This commit is contained in:
@@ -249,6 +249,28 @@ static struct snd_soc_dai_driver msm_fe_dais[] = {
|
|||||||
.ops = &msm_fe_dai_ops,
|
.ops = &msm_fe_dai_ops,
|
||||||
.name = "HDMI_HOSTLESS"
|
.name = "HDMI_HOSTLESS"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.playback = {
|
||||||
|
.stream_name = "AUXPCM Hostless Playback",
|
||||||
|
.rates = SNDRV_PCM_RATE_8000,
|
||||||
|
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 1,
|
||||||
|
.rate_min = 8000,
|
||||||
|
.rate_max = 8000,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.stream_name = "AUXPCM Hostless Capture",
|
||||||
|
.rates = SNDRV_PCM_RATE_8000,
|
||||||
|
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 1,
|
||||||
|
.rate_min = 8000,
|
||||||
|
.rate_max = 48000,
|
||||||
|
},
|
||||||
|
.ops = &msm_fe_dai_ops,
|
||||||
|
.name = "AUXPCM_HOSTLESS",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static __devinit int msm_fe_dai_dev_probe(struct platform_device *pdev)
|
static __devinit int msm_fe_dai_dev_probe(struct platform_device *pdev)
|
||||||
|
|||||||
@@ -1154,6 +1154,10 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = {
|
|||||||
SND_SOC_DAPM_AIF_OUT("INTFM_UL_HL", "INT_FM_HOSTLESS Capture",
|
SND_SOC_DAPM_AIF_OUT("INTFM_UL_HL", "INT_FM_HOSTLESS Capture",
|
||||||
0, 0, 0, 0),
|
0, 0, 0, 0),
|
||||||
SND_SOC_DAPM_AIF_IN("HDMI_DL_HL", "HDMI_HOSTLESS Playback", 0, 0, 0, 0),
|
SND_SOC_DAPM_AIF_IN("HDMI_DL_HL", "HDMI_HOSTLESS Playback", 0, 0, 0, 0),
|
||||||
|
SND_SOC_DAPM_AIF_IN("AUXPCM_DL_HL", "AUXPCM_HOSTLESS Playback",
|
||||||
|
0, 0, 0, 0),
|
||||||
|
SND_SOC_DAPM_AIF_OUT("AUXPCM_UL_HL", "AUXPCM_HOSTLESS Capture",
|
||||||
|
0, 0, 0, 0),
|
||||||
|
|
||||||
/* Backend AIF */
|
/* Backend AIF */
|
||||||
/* Stream name equals to backend dai link stream name
|
/* Stream name equals to backend dai link stream name
|
||||||
@@ -1377,6 +1381,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||||||
{"SLIM0_UL_HL", NULL, "SLIMBUS_0_TX"},
|
{"SLIM0_UL_HL", NULL, "SLIMBUS_0_TX"},
|
||||||
{"INT_FM_RX", NULL, "INTFM_DL_HL"},
|
{"INT_FM_RX", NULL, "INTFM_DL_HL"},
|
||||||
{"INTFM_UL_HL", NULL, "INT_FM_TX"},
|
{"INTFM_UL_HL", NULL, "INT_FM_TX"},
|
||||||
|
{"AUX_PCM_RX", NULL, "AUXPCM_DL_HL"},
|
||||||
|
{"AUXPCM_UL_HL", NULL, "AUX_PCM_TX"},
|
||||||
{"SLIMBUS_0_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"},
|
{"SLIMBUS_0_RX Port Mixer", "INTERNAL_FM_TX", "INT_FM_TX"},
|
||||||
{"SLIMBUS_0_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"},
|
{"SLIMBUS_0_RX Port Mixer", "SLIM_0_TX", "SLIMBUS_0_TX"},
|
||||||
{"SLIMBUS_0_RX", NULL, "SLIMBUS_0_RX Port Mixer"},
|
{"SLIMBUS_0_RX", NULL, "SLIMBUS_0_RX Port Mixer"},
|
||||||
|
|||||||
Reference in New Issue
Block a user