diff options
author | Vladimir Zapolskiy <vzapolskiy@gmail.com> | 2010-04-26 06:56:57 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-04-26 10:28:18 -0400 |
commit | b28528a124d0235d84e6c9b3edeedd70f8767740 (patch) | |
tree | dd8563b1d613bfc8027df6dbfcb6f544d9aa072b /sound/soc/codecs | |
parent | 5e5e2bef287b96ab29d2d93e89ecf0888323d7bf (diff) |
ASoC: UDA134X: Add UDA1345 CODEC support
This patch adds support for Philips UDA1345 CODEC. The CODEC has only
volume control, de-emphasis, mute, DC filtering and power control features.
Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs')
-rw-r--r-- | sound/soc/codecs/uda134x.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/soc/codecs/uda134x.c b/sound/soc/codecs/uda134x.c index 20deaca8e107..2f4d7287fa3c 100644 --- a/sound/soc/codecs/uda134x.c +++ b/sound/soc/codecs/uda134x.c | |||
@@ -431,6 +431,14 @@ SOC_ENUM("PCM Playback De-emphasis", uda134x_mixer_enum[1]), | |||
431 | SOC_SINGLE("DC Filter Enable Switch", UDA134X_STATUS0, 0, 1, 0), | 431 | SOC_SINGLE("DC Filter Enable Switch", UDA134X_STATUS0, 0, 1, 0), |
432 | }; | 432 | }; |
433 | 433 | ||
434 | static const struct snd_kcontrol_new uda1345_snd_controls[] = { | ||
435 | SOC_SINGLE("Master Playback Volume", UDA134X_DATA000, 0, 0x3F, 1), | ||
436 | |||
437 | SOC_ENUM("PCM Playback De-emphasis", uda134x_mixer_enum[1]), | ||
438 | |||
439 | SOC_SINGLE("DC Filter Enable Switch", UDA134X_STATUS0, 0, 1, 0), | ||
440 | }; | ||
441 | |||
434 | static struct snd_soc_dai_ops uda134x_dai_ops = { | 442 | static struct snd_soc_dai_ops uda134x_dai_ops = { |
435 | .startup = uda134x_startup, | 443 | .startup = uda134x_startup, |
436 | .shutdown = uda134x_shutdown, | 444 | .shutdown = uda134x_shutdown, |
@@ -486,6 +494,7 @@ static int uda134x_soc_probe(struct platform_device *pdev) | |||
486 | case UDA134X_UDA1340: | 494 | case UDA134X_UDA1340: |
487 | case UDA134X_UDA1341: | 495 | case UDA134X_UDA1341: |
488 | case UDA134X_UDA1344: | 496 | case UDA134X_UDA1344: |
497 | case UDA134X_UDA1345: | ||
489 | break; | 498 | break; |
490 | default: | 499 | default: |
491 | printk(KERN_ERR "UDA134X SoC codec: " | 500 | printk(KERN_ERR "UDA134X SoC codec: " |
@@ -551,6 +560,10 @@ static int uda134x_soc_probe(struct platform_device *pdev) | |||
551 | ret = snd_soc_add_controls(codec, uda1341_snd_controls, | 560 | ret = snd_soc_add_controls(codec, uda1341_snd_controls, |
552 | ARRAY_SIZE(uda1341_snd_controls)); | 561 | ARRAY_SIZE(uda1341_snd_controls)); |
553 | break; | 562 | break; |
563 | case UDA134X_UDA1345: | ||
564 | ret = snd_soc_add_controls(codec, uda1345_snd_controls, | ||
565 | ARRAY_SIZE(uda1345_snd_controls)); | ||
566 | break; | ||
554 | default: | 567 | default: |
555 | printk(KERN_ERR "%s unknown codec type: %d", | 568 | printk(KERN_ERR "%s unknown codec type: %d", |
556 | __func__, pd->model); | 569 | __func__, pd->model); |