Commit ecfb1adf authored by Mark Brown's avatar Mark Brown

ASoC: Add basic widgets for WM8915 Speyside

Provide widgets for the basic widgets connected directly to the WM8915
on Speyside - the headphones, speaker, digital and analogue microphones.
For the outputs this is just documentation, for the inputs this ensures
that the relevant microphone biases are enabled when they are in use.
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarJassi Brar <jassisinghbrar@gmail.com>
Acked-by: default avatarLiam Girdwood <lrg@ti.com>
parent 9b8dc66f
...@@ -63,10 +63,38 @@ static struct snd_soc_dai_link speyside_dai[] = { ...@@ -63,10 +63,38 @@ static struct snd_soc_dai_link speyside_dai[] = {
}, },
}; };
static struct snd_soc_dapm_widget widgets[] = {
SND_SOC_DAPM_HP("Headphone", NULL),
SND_SOC_DAPM_SPK("Main Speaker", NULL),
SND_SOC_DAPM_MIC("Main AMIC", NULL),
SND_SOC_DAPM_MIC("Main DMIC", NULL),
};
static struct snd_soc_dapm_route audio_paths[] = {
{ "IN1LP", NULL, "MICB2" },
{ "MICB2", NULL, "Main AMIC" },
{ "DMIC1DAT", NULL, "MICB1" },
{ "DMIC2DAT", NULL, "MICB1" },
{ "MICB1", NULL, "Main DMIC" },
{ "Headphone", NULL, "HPOUT1L" },
{ "Headphone", NULL, "HPOUT1R" },
{ "Main Speaker", NULL, "SPKDAT" },
};
static struct snd_soc_card speyside = { static struct snd_soc_card speyside = {
.name = "Speyside", .name = "Speyside",
.dai_link = speyside_dai, .dai_link = speyside_dai,
.num_links = ARRAY_SIZE(speyside_dai), .num_links = ARRAY_SIZE(speyside_dai),
.dapm_widgets = widgets,
.num_dapm_widgets = ARRAY_SIZE(widgets),
.dapm_routes = audio_paths,
.num_dapm_routes = ARRAY_SIZE(audio_paths),
}; };
static __devinit int speyside_probe(struct platform_device *pdev) static __devinit int speyside_probe(struct platform_device *pdev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment