aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorJavier Martin <javier.martin@vista-silicon.com>2012-01-11 07:21:05 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-01-20 08:58:28 -0500
commita6b44f1636f244c97eacb43720414ff356e17c6e (patch)
tree6a05580c535b0e250b9314d3549d410048c479f0 /sound
parent44fb864b8f696d3e8328b294e6515ad45aecfeb0 (diff)
ASoC: Route Mic Bias in Visstrim_M10 board.
Visstrim_M10 board uses an external microphone that can be enabled/disabled by the user Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/imx/mx27vis-aic32x4.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/sound/soc/imx/mx27vis-aic32x4.c b/sound/soc/imx/mx27vis-aic32x4.c
index 3c2eed9094d5..d37e23cfc94d 100644
--- a/sound/soc/imx/mx27vis-aic32x4.c
+++ b/sound/soc/imx/mx27vis-aic32x4.c
@@ -74,6 +74,24 @@ static struct snd_soc_ops mx27vis_aic32x4_snd_ops = {
74 .hw_params = mx27vis_aic32x4_hw_params, 74 .hw_params = mx27vis_aic32x4_hw_params,
75}; 75};
76 76
77static const struct snd_kcontrol_new mx27vis_aic32x4_controls[] = {
78 SOC_DAPM_PIN_SWITCH("External Mic"),
79};
80
81static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
82 SND_SOC_DAPM_MIC("External Mic", NULL),
83};
84
85static const struct snd_soc_dapm_route aic32x4_dapm_routes[] = {
86 {"Mic Bias", NULL, "External Mic"},
87 {"IN1_R", NULL, "Mic Bias"},
88 {"IN2_R", NULL, "Mic Bias"},
89 {"IN3_R", NULL, "Mic Bias"},
90 {"IN1_L", NULL, "Mic Bias"},
91 {"IN2_L", NULL, "Mic Bias"},
92 {"IN3_L", NULL, "Mic Bias"},
93};
94
77static struct snd_soc_dai_link mx27vis_aic32x4_dai = { 95static struct snd_soc_dai_link mx27vis_aic32x4_dai = {
78 .name = "tlv320aic32x4", 96 .name = "tlv320aic32x4",
79 .stream_name = "TLV320AIC32X4", 97 .stream_name = "TLV320AIC32X4",
@@ -89,6 +107,12 @@ static struct snd_soc_card mx27vis_aic32x4 = {
89 .owner = THIS_MODULE, 107 .owner = THIS_MODULE,
90 .dai_link = &mx27vis_aic32x4_dai, 108 .dai_link = &mx27vis_aic32x4_dai,
91 .num_links = 1, 109 .num_links = 1,
110 .controls = mx27vis_aic32x4_controls,
111 .num_controls = ARRAY_SIZE(mx27vis_aic32x4_controls),
112 .dapm_widgets = aic32x4_dapm_widgets,
113 .num_dapm_widgets = ARRAY_SIZE(aic32x4_dapm_widgets),
114 .dapm_routes = aic32x4_dapm_routes,
115 .num_dapm_routes = ARRAY_SIZE(aic32x4_dapm_routes),
92}; 116};
93 117
94static struct platform_device *mx27vis_aic32x4_snd_device; 118static struct platform_device *mx27vis_aic32x4_snd_device;