summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8974.c
AgeCommit message (Collapse)Author
2010-01-29ASoC: clean up wm8974 and wm8978 clock divider handlingGuennadi Liakhovetski
wm8974 and wm8978 codec drivers control DAC and ADC oversampling rates in their .set_clkdiv() methods, which is wrong, because these are simple boolean switches and not clock dividers. Move these bits to sound controls. Also remove manual configuration of the MCLK divider in wm8978, since it is configured automatically. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-12-24ASoC: fix params_rate() macro use in several codecsGuennadi Liakhovetski
Sevelar ASoC codec drivers wrongly assume, that the params_rate() macro returns one of SNDRV_PCM_RATE_* defines instead of the actual numerical sampling rate. Fix them. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
2009-12-18ASoC: wm8974: fix a wrong bit definitionGuennadi Liakhovetski
The wm8974 datasheet defines BUFIOEN as bit 2. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
2009-11-12ASoC: Remove redundant snd_soc_dapm_new_widgets() callsMark Brown
The DAPM widgets are now insntantiated by the core when creating the card so there is no need for the individual CODEC drivers to do so. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-11-03ASoC: Factor out snd_soc_init_card()Mark Brown
snd_soc_init_card() is always called as the last part of the CODEC probe function so we can factor it out into the core card setup rather than have each CODEC replicate the code to do the initialiastation. This will be required to support multiple CODECs per card. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-09-30Merge branch 'upstream/wm8974' into for-2.6.33Mark Brown
2009-09-30ASoC: Clean up WM8974 PLL configurationMark Brown
Don't use a static for WM8974 PLL factors - we don't support more than one device so it won't happen but no sense in leaving the race condition hanging around. Also, pre_div is a single bit and it's a bit simpler if we move the handling of the factor of 4 in the output into the coefficient setup. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-09-18Merge branch 'for-2.6.32' into for-2.6.33Mark Brown
2009-09-16ASoC: remove unused #include <linux/version.h>Huang Weiyi
Remove unused #include <linux/version.h>('s) in sound/soc/codecs/ad1836.c sound/soc/codecs/ad1938.c sound/soc/codecs/wm8974.c Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-09-05ASoC: Add source argument to PLL configurationMark Brown
More and more devices feature PLLs and FLLs with the ability to select between multiple input clocks. In order to better support these devices a new argument, source, has been added to the set_pll() configuration API. Using set_clkdiv() is often difficult due to the need to stop the PLL/FLL before any reconfiguration can be done. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-08-15ASoC: Factor out cache I/O from WM8974Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-07-22ASoC: Correct a bug with "ADC Inversion Switch" in wm8974 codec.javier Martin
This corrects a bug with ADC Inversion Switch in wm8974 codec. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-06-30ASoC: WM8974 DAPM cleanupsMark Brown
Also implement AUX mode control. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-06-30ASoC: WM8974 cosmetic cleanupsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-06-30ASoC: Use symmetric rates for WM8974Mark Brown
The chip has a single LRCLK. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-06-30ASoC: Add WM8974 TLV informationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-06-30ASoC: Refresh WM8974 PLL configurationMark Brown
Move away from a fixed table to runtime calculation. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-06-30ASoC: Declare 2 channels for WM8974Mark Brown
The device is a mono device but it can read two channel data and many I2S controllers only understand 2 channels. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-06-30ASoC: Refresh WM8974 bias configurationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-06-29ASoC: Remove unreferenced wm8974_add_controls()Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-23ASoC: Update WM8974 to use standard I2C device probe methodsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-23ASoC: WM8974 checkpatch cleanupsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-23ASoC: Add WM8974 CODEC driverMark Brown
The WM8974 is a low power, high quality mono CODEC designed for portable applications such as digital still cameras or digital voice recorders. This driver was originally written by Graeme Gregory and Liam Girdwood and has since been maintained by myself with some updates contributed by Brett Saunders and Javier Martin. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>