aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-04-12 02:09:15 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-04-13 13:01:52 -0400
commitecfb1adf5f037eaff0b678918d84a8febd9f1c3e (patch)
tree0ada4f6d3cebd89ea465b8ad1911e7d751e775d3 /sound
parent9b8dc66fbae53def2547df8c0a5cbe8924ea2b1f (diff)
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: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jassi Brar <jassisinghbrar@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/samsung/speyside.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/sound/soc/samsung/speyside.c b/sound/soc/samsung/speyside.c
index f6dcee7b218b..6ec44a354a6d 100644
--- a/sound/soc/samsung/speyside.c
+++ b/sound/soc/samsung/speyside.c
@@ -63,10 +63,38 @@ static struct snd_soc_dai_link speyside_dai[] = {
63 }, 63 },
64}; 64};
65 65
66static struct snd_soc_dapm_widget widgets[] = {
67 SND_SOC_DAPM_HP("Headphone", NULL),
68
69 SND_SOC_DAPM_SPK("Main Speaker", NULL),
70
71 SND_SOC_DAPM_MIC("Main AMIC", NULL),
72 SND_SOC_DAPM_MIC("Main DMIC", NULL),
73};
74
75static struct snd_soc_dapm_route audio_paths[] = {
76 { "IN1LP", NULL, "MICB2" },
77 { "MICB2", NULL, "Main AMIC" },
78
79 { "DMIC1DAT", NULL, "MICB1" },
80 { "DMIC2DAT", NULL, "MICB1" },
81 { "MICB1", NULL, "Main DMIC" },
82
83 { "Headphone", NULL, "HPOUT1L" },
84 { "Headphone", NULL, "HPOUT1R" },
85
86 { "Main Speaker", NULL, "SPKDAT" },
87};
88
66static struct snd_soc_card speyside = { 89static struct snd_soc_card speyside = {
67 .name = "Speyside", 90 .name = "Speyside",
68 .dai_link = speyside_dai, 91 .dai_link = speyside_dai,
69 .num_links = ARRAY_SIZE(speyside_dai), 92 .num_links = ARRAY_SIZE(speyside_dai),
93
94 .dapm_widgets = widgets,
95 .num_dapm_widgets = ARRAY_SIZE(widgets),
96 .dapm_routes = audio_paths,
97 .num_dapm_routes = ARRAY_SIZE(audio_paths),
70}; 98};
71 99
72static __devinit int speyside_probe(struct platform_device *pdev) 100static __devinit int speyside_probe(struct platform_device *pdev)