aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-08-13 13:25:41 -0400
committerMark Brown <broonie@linaro.org>2013-08-15 06:35:09 -0400
commitb9281f99e30f795f28f6ea216289900b6e870d01 (patch)
tree6ab801f0d750ec3867e0f9680157fab2ad52e8b0
parent16695971bec3b8b2398f7ab8dfa4c5a22bfcf95d (diff)
ASoC: pcm1681: Add DAPM support
Provide DAPM for the device, ensuring operation with DAPM required by the core and making it easier to hook up external hardware to it. Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r--sound/soc/codecs/pcm1681.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/sound/soc/codecs/pcm1681.c b/sound/soc/codecs/pcm1681.c
index 51b18662e6aa..651ce0923675 100644
--- a/sound/soc/codecs/pcm1681.c
+++ b/sound/soc/codecs/pcm1681.c
@@ -206,6 +206,28 @@ static const struct snd_soc_dai_ops pcm1681_dai_ops = {
206 .digital_mute = pcm1681_digital_mute, 206 .digital_mute = pcm1681_digital_mute,
207}; 207};
208 208
209static const struct snd_soc_dapm_widget pcm1681_dapm_widgets[] = {
210SND_SOC_DAPM_OUTPUT("VOUT1"),
211SND_SOC_DAPM_OUTPUT("VOUT2"),
212SND_SOC_DAPM_OUTPUT("VOUT3"),
213SND_SOC_DAPM_OUTPUT("VOUT4"),
214SND_SOC_DAPM_OUTPUT("VOUT5"),
215SND_SOC_DAPM_OUTPUT("VOUT6"),
216SND_SOC_DAPM_OUTPUT("VOUT7"),
217SND_SOC_DAPM_OUTPUT("VOUT8"),
218};
219
220static const struct snd_soc_dapm_route pcm1681_dapm_routes[] = {
221 { "VOUT1", NULL, "Playback" },
222 { "VOUT2", NULL, "Playback" },
223 { "VOUT3", NULL, "Playback" },
224 { "VOUT4", NULL, "Playback" },
225 { "VOUT5", NULL, "Playback" },
226 { "VOUT6", NULL, "Playback" },
227 { "VOUT7", NULL, "Playback" },
228 { "VOUT8", NULL, "Playback" },
229};
230
209static const DECLARE_TLV_DB_SCALE(pcm1681_dac_tlv, -6350, 50, 1); 231static const DECLARE_TLV_DB_SCALE(pcm1681_dac_tlv, -6350, 50, 1);
210 232
211static const struct snd_kcontrol_new pcm1681_controls[] = { 233static const struct snd_kcontrol_new pcm1681_controls[] = {
@@ -258,6 +280,10 @@ static const struct regmap_config pcm1681_regmap = {
258static struct snd_soc_codec_driver soc_codec_dev_pcm1681 = { 280static struct snd_soc_codec_driver soc_codec_dev_pcm1681 = {
259 .controls = pcm1681_controls, 281 .controls = pcm1681_controls,
260 .num_controls = ARRAY_SIZE(pcm1681_controls), 282 .num_controls = ARRAY_SIZE(pcm1681_controls),
283 .dapm_widgets = pcm1681_dapm_widgets,
284 .num_dapm_widgets = ARRAY_SIZE(pcm1681_dapm_widgets),
285 .dapm_routes = pcm1681_dapm_routes,
286 .num_dapm_routes = ARRAY_SIZE(pcm1681_dapm_routes),
261}; 287};
262 288
263static const struct i2c_device_id pcm1681_i2c_id[] = { 289static const struct i2c_device_id pcm1681_i2c_id[] = {