diff options
author | Olaya, Margarita <magi.olaya@ti.com> | 2010-12-10 22:11:44 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-12-14 06:12:11 -0500 |
commit | d88429a695a4a9ec66e90068956bbccb25d4ac6d (patch) | |
tree | c3f1460d15e9bade29d82bea42c9995398ef94e1 /include/sound/soc-dapm.h | |
parent | 5a7743edac3d720a52e721229938d21d40f045ce (diff) |
ASoC: dapm: Add output driver widget
In some cases it was not possible to follow the appropiate power
ON/OFF sequence like in cases where the PGA needs to be enabled
before the driver and disabled before the PGA for pop reduction.
Add a widget to support output driver (speaker, haptic, vibra, etc)
drivers where power ON/OFF ordering is important.
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/sound/soc-dapm.h')
-rw-r--r-- | include/sound/soc-dapm.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h index 041e98b493b7..2f76a51bbaac 100644 --- a/include/sound/soc-dapm.h +++ b/include/sound/soc-dapm.h | |||
@@ -71,6 +71,10 @@ | |||
71 | wcontrols, wncontrols) \ | 71 | wcontrols, wncontrols) \ |
72 | { .id = snd_soc_dapm_pga, .name = wname, .reg = wreg, .shift = wshift, \ | 72 | { .id = snd_soc_dapm_pga, .name = wname, .reg = wreg, .shift = wshift, \ |
73 | .invert = winvert, .kcontrols = wcontrols, .num_kcontrols = wncontrols} | 73 | .invert = winvert, .kcontrols = wcontrols, .num_kcontrols = wncontrols} |
74 | #define SND_SOC_DAPM_OUT_DRV(wname, wreg, wshift, winvert,\ | ||
75 | wcontrols, wncontrols) \ | ||
76 | { .id = snd_soc_dapm_out_drv, .name = wname, .reg = wreg, .shift = wshift, \ | ||
77 | .invert = winvert, .kcontrols = wcontrols, .num_kcontrols = wncontrols} | ||
74 | #define SND_SOC_DAPM_MIXER(wname, wreg, wshift, winvert, \ | 78 | #define SND_SOC_DAPM_MIXER(wname, wreg, wshift, winvert, \ |
75 | wcontrols, wncontrols)\ | 79 | wcontrols, wncontrols)\ |
76 | { .id = snd_soc_dapm_mixer, .name = wname, .reg = wreg, .shift = wshift, \ | 80 | { .id = snd_soc_dapm_mixer, .name = wname, .reg = wreg, .shift = wshift, \ |
@@ -115,6 +119,11 @@ | |||
115 | { .id = snd_soc_dapm_pga, .name = wname, .reg = wreg, .shift = wshift, \ | 119 | { .id = snd_soc_dapm_pga, .name = wname, .reg = wreg, .shift = wshift, \ |
116 | .invert = winvert, .kcontrols = wcontrols, .num_kcontrols = wncontrols, \ | 120 | .invert = winvert, .kcontrols = wcontrols, .num_kcontrols = wncontrols, \ |
117 | .event = wevent, .event_flags = wflags} | 121 | .event = wevent, .event_flags = wflags} |
122 | #define SND_SOC_DAPM_OUT_DRV_E(wname, wreg, wshift, winvert, wcontrols, \ | ||
123 | wncontrols, wevent, wflags) \ | ||
124 | { .id = snd_soc_dapm_out_drv, .name = wname, .reg = wreg, .shift = wshift, \ | ||
125 | .invert = winvert, .kcontrols = wcontrols, .num_kcontrols = wncontrols, \ | ||
126 | .event = wevent, .event_flags = wflags} | ||
118 | #define SND_SOC_DAPM_MIXER_E(wname, wreg, wshift, winvert, wcontrols, \ | 127 | #define SND_SOC_DAPM_MIXER_E(wname, wreg, wshift, winvert, wcontrols, \ |
119 | wncontrols, wevent, wflags) \ | 128 | wncontrols, wevent, wflags) \ |
120 | { .id = snd_soc_dapm_mixer, .name = wname, .reg = wreg, .shift = wshift, \ | 129 | { .id = snd_soc_dapm_mixer, .name = wname, .reg = wreg, .shift = wshift, \ |
@@ -368,6 +377,7 @@ enum snd_soc_dapm_type { | |||
368 | snd_soc_dapm_mixer, /* mixes several analog signals together */ | 377 | snd_soc_dapm_mixer, /* mixes several analog signals together */ |
369 | snd_soc_dapm_mixer_named_ctl, /* mixer with named controls */ | 378 | snd_soc_dapm_mixer_named_ctl, /* mixer with named controls */ |
370 | snd_soc_dapm_pga, /* programmable gain/attenuation (volume) */ | 379 | snd_soc_dapm_pga, /* programmable gain/attenuation (volume) */ |
380 | snd_soc_dapm_out_drv, /* output driver */ | ||
371 | snd_soc_dapm_adc, /* analog to digital converter */ | 381 | snd_soc_dapm_adc, /* analog to digital converter */ |
372 | snd_soc_dapm_dac, /* digital to analog converter */ | 382 | snd_soc_dapm_dac, /* digital to analog converter */ |
373 | snd_soc_dapm_micbias, /* microphone bias (power) */ | 383 | snd_soc_dapm_micbias, /* microphone bias (power) */ |