diff options
author | Mark Brown <broonie@linaro.org> | 2013-08-13 17:25:41 (GMT) |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-08-15 10:35:09 (GMT) |
commit | b9281f99e30f795f28f6ea216289900b6e870d01 (patch) | |
tree | 6ab801f0d750ec3867e0f9680157fab2ad52e8b0 /sound/soc/codecs/pcm1681.c | |
parent | 16695971bec3b8b2398f7ab8dfa4c5a22bfcf95d (diff) | |
download | linux-fsl-qoriq-b9281f99e30f795f28f6ea216289900b6e870d01.tar.xz |
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>
Diffstat (limited to 'sound/soc/codecs/pcm1681.c')
-rw-r--r-- | sound/soc/codecs/pcm1681.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sound/soc/codecs/pcm1681.c b/sound/soc/codecs/pcm1681.c index 51b1866..651ce09 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 = { .digital_mute = pcm1681_digital_mute, }; +static const struct snd_soc_dapm_widget pcm1681_dapm_widgets[] = { +SND_SOC_DAPM_OUTPUT("VOUT1"), +SND_SOC_DAPM_OUTPUT("VOUT2"), +SND_SOC_DAPM_OUTPUT("VOUT3"), +SND_SOC_DAPM_OUTPUT("VOUT4"), +SND_SOC_DAPM_OUTPUT("VOUT5"), +SND_SOC_DAPM_OUTPUT("VOUT6"), +SND_SOC_DAPM_OUTPUT("VOUT7"), +SND_SOC_DAPM_OUTPUT("VOUT8"), +}; + +static const struct snd_soc_dapm_route pcm1681_dapm_routes[] = { + { "VOUT1", NULL, "Playback" }, + { "VOUT2", NULL, "Playback" }, + { "VOUT3", NULL, "Playback" }, + { "VOUT4", NULL, "Playback" }, + { "VOUT5", NULL, "Playback" }, + { "VOUT6", NULL, "Playback" }, + { "VOUT7", NULL, "Playback" }, + { "VOUT8", NULL, "Playback" }, +}; + static const DECLARE_TLV_DB_SCALE(pcm1681_dac_tlv, -6350, 50, 1); static const struct snd_kcontrol_new pcm1681_controls[] = { @@ -258,6 +280,10 @@ static const struct regmap_config pcm1681_regmap = { static struct snd_soc_codec_driver soc_codec_dev_pcm1681 = { .controls = pcm1681_controls, .num_controls = ARRAY_SIZE(pcm1681_controls), + .dapm_widgets = pcm1681_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(pcm1681_dapm_widgets), + .dapm_routes = pcm1681_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(pcm1681_dapm_routes), }; static const struct i2c_device_id pcm1681_i2c_id[] = { |