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:
Patrick Lai
2012-01-22 22:00:45 -08:00
parent 98009d81e1
commit e66c31a738
2 changed files with 28 additions and 0 deletions

View File

@@ -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)

View File

@@ -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"},