aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
Commit message (Collapse)AuthorAge
* ASoC: Fix WM835x Out4 capture enumerationMark Brown2009-09-07
| | | | | | | | It's the 8th enum of a zero indexed array. This is why I don't let new drivers use these arrays of enums... Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* ASoC: Fully specify DC servo bits to update in wm_hubsMark Brown2009-09-02
| | | | | | | Avoids potential issues if we read back unexpected values during a read/modify/write cycle. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Debugged improper setting of PLL fields in WM8580 driverjassi brar2009-09-01
| | | | | | | | | | Bug was caught while trying to use WM8580 as I2S master on SMDK. Symptoms were lesser LRCLK read by CRO(41.02 instead of 44.1 KHz) Solved by referring to WM8580A manual and setting mask value correctly and making the code to not touch 'reserved' bits of PLL4 register. Signed-off-by: Jassi <jassi.brar@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Don't reconfigure WM8350 FLL if not neededMark Brown2009-08-26
| | | | | | | If the requested FLL configuration is the one we're currently running in it's at best pointless to reconfigure the FLL. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Make platform data optional for TLV320AIC3xMark Brown2009-08-26
| | | | | | | | Now that we don't need the I2C address for the device the platform data is redundant so allow it to be omitted. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Tested-by: Chaithrika U S <chaithrika@ti.com>
* Merge branch 'topic/digital-mixing' into for-2.6.32Mark Brown2009-08-24
|\
| * ASoC: WM8993 digital mixing supportMark Brown2009-08-18
| | | | | | | | | | | | | | | | The WM8993 provides digital sidetone paths and also allows each channel on the audio interface to be routed separtately to the DACs and ADCs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove unneeded inclusion of linux/regulator/consumer.hTakashi Iwai2009-08-24
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ASoC: free socdev if init_card() fails in wm9705_soc_probe()Roel Kluin2009-08-23
| | | | | | | | | | | | | | Free socdev if snd_soc_init_card() fails. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add ak4642/ak4643 codec supportKuninori Morimoto2009-08-21
| | | | | | | | | | | | | | | | | | This is very simple driver for ALSA It supprt headphone output and stereo input only This patch is tested by ms7724se Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: tlv320aic3x: Change to use device modelBen Dooks2009-08-21
| | | | | | | | | | | | | | | | | | | | | | | | The tlv320aic3x driver managed its own i2c device, instead of an extant one created by the board support code. Change the code to make it so that the driver binds to an extant (in this case i2c) device. Add explict tlv320aic33 as well as tlv320aic3x to the supported device table and remove the old driver bindings from the users of this code. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove duplicate ADC/DAC widgets from wm_hubs.cMark Brown2009-08-18
| | | | | | | | | | | | | | These need to be in the CODEC since the DAIs supported by the CODECs aren't static. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Implement TDM configuration for WM8993Mark Brown2009-08-17
| | | | | | | | | | | | | | Note that the number of slots used internally is specified in terms of stereo slots while the external API works with mono slots. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix WM8993 MCLK configuration for high frequency MCLKsMark Brown2009-08-17
|/ | | | | | | | When used without the PLL we were accidentally clearing the MCLK/2 divider, resulting in a double rate SYSCLK when the divider should have been used. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: UDA134X: Fix mistaken mute/unmute codeShine Liu2009-08-17
| | | | | | | | | | There is a mistake in current uda134x_mute function: mute_reg has been changed in line 162 or line 164, so uda134x_write should write "mute_reg" but not "mute_reg & ~(1<<2)" to UDA134X_DATA010. Signed-off-by: Shine Liu <shinel@foxmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Factor out cache I/O from WM8974Mark Brown2009-08-15
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'wm8974-upstream' into for-2.6.32Mark Brown2009-08-15
|\
| * ASoC: Correct a bug with "ADC Inversion Switch" in wm8974 codec.javier Martin2009-07-21
| | | | | | | | | | | | | | 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>
| * ASoC: WM8974 DAPM cleanupsMark Brown2009-06-30
| | | | | | | | | | | | Also implement AUX mode control. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: WM8974 cosmetic cleanupsMark Brown2009-06-30
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Use symmetric rates for WM8974Mark Brown2009-06-30
| | | | | | | | | | | | The chip has a single LRCLK. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Add WM8974 TLV informationMark Brown2009-06-30
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Refresh WM8974 PLL configurationMark Brown2009-06-30
| | | | | | | | | | | | Move away from a fixed table to runtime calculation. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Declare 2 channels for WM8974Mark Brown2009-06-30
| | | | | | | | | | | | | | 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>
| * ASoC: Refresh WM8974 bias configurationMark Brown2009-06-30
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Remove unreferenced wm8974_add_controls()Mark Brown2009-06-29
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Update WM8974 to use standard I2C device probe methodsMark Brown2009-05-23
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: WM8974 checkpatch cleanupsMark Brown2009-05-23
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Add WM8974 CODEC driverMark Brown2009-05-23
| | | | | | | | | | | | | | | | | | | | | | 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>
* | ASoC: delete -spi suffix in ad1938 and free private data while registers failBarry Song2009-08-14
| | | | | | | | | | Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Fix for capture mixer stringsPeter Ujfalusi2009-08-14
| | | | | | | | | | | | | | | | | | Change the strings related to capture in order to be interpreted correctly by alsamixer and possible other UI based mixer applications. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Factor out shared code from WM8993Mark Brown2009-08-13
| | | | | | | | | | | | | | | | | | The WM8993 analogue control is shared with other devices in the same product line. Since this is a very substantial proportion of the driver move the definitions of these controls into a new wm_hubs module which allows them to be shared between the two. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Minor cleanups to AD1938 driverMark Brown2009-08-13
| | | | | | | | | | | | | | - Build in SND_SOC_ALL_CODECS. - Remove null suspend/resume stuff. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | new ad1836 codec driver based on asocBarry Song2009-08-13
| | | | | | | | | | | | | | | | | | There has been an ad1836 driver in sound/blackfin based on traditional alsa. The new driver is based on asoc. The architecture of ad1836 codec driver is very much like ad1938. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Introduce PGAs for outputsPeter Ujfalusi2009-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Dynamically control and control only the needed output amplifier muting/un-muting. The original code was muting and un-muting the following output amplifiers: Earpiece PreDrivL/R, CarkitL/R at the same time regardless which pin is actually in use at the given moment. Move these as separate PGA so only the needed amplifier will be touched. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: add output/input widgets in ad1938 to make dac/adc dynamic PM workBarry Song2009-08-13
| | | | | | | | | | | | | | | | | | | | | | | | According to the function dapm_dac_check_power() in sound/soc/soc-dapm.c, dac power can't be on/off stand-alone without any output widget as sink. And according to dapm_adc_check_power(), adc power can't be on/off stand-alone without any input widget as source. So we can't only define some stand-alone SND_SOC_DAPM_DAC/SND_SOC_DAPM_ADC to hope their power can be managed dynamically. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Update AD1938 for new TDM slot APIMark Brown2009-08-12
| | | | | | | | | | | | It's only actually paying attention to the slot count anyway. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Update WM9081 for tdm_slot() API changeMark Brown2009-08-11
| | | | | | | | | | | | | | | | | | | | Store the TDM slot width then if it's set use that rather than the sample size to calculate BCLK. Leave imposing constraints to the core (which should do this but doesn't yet) or machine driver. Also allow 0 TDM slots to be configure (for use when disabling TDM). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge commit 'a5479e389e989acfeca9c32eeb0083d086202280' into for-2.6.32Mark Brown2009-08-11
|\ \
| * | ASoC: change set_tdm_slot api to allow slot_width override.Daniel Ribeiro2009-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend set_tdm_slot to allow the user to arbitrarily set the frame width and active TX/RX slots. Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.c still doesn't handle the slot_width override. While being there, correct an incorrect use of SlotsPerFrm(7) use in bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) ). (this series is meant for Mark's for-2.6.32 branch) Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Drop unneeded declaration of removed wm8731 SPI write functionMark Brown2009-08-10
| | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Convert WM8776 to use factored out register cache codeMark Brown2009-08-08
| | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | Merge branch 'reg-cache' into for-2.6.32Mark Brown2009-08-07
|\ \ \ | |/ / |/| |
| * | ASoC: Factor out 7 bit register 9 bit data SPI writeMark Brown2009-08-03
| | | | | | | | | | | | | | | | | | | | | This converts all the Wolfson drivers using this format (the only devices that do) except WM8753 to use it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODECsMark Brown2009-08-03
| | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Add I/O control bus information to factored out cache setupMark Brown2009-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While writes tend to be able to use a fairly bus independant format to do the writes reads are all bus specific. To allow us to factor out this code include the bus type as a parameter when setting up the cache. Initially just use this to factor out hw_write_t for I2C. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | Merge branch 'tlv320aic3x' into reg-cacheMark Brown2009-07-10
| |\ \
| | * | ASoC: Remove use of hw_read from TLV320AIC3x driverMark Brown2009-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TLV320AIC3x driver is currently the only user of the CODEC hw_read operation and is jumping through some hoops in order to do so. In order to support future refactoring to make the hw_read operation more usable unwrap the usage in this driver to avoid its use. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: Factor out WM8580 register cache codeMark Brown2009-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Note the slightly tricky cache usage in the volume update function due to the requirement for a separate write for the VU bit. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: Begin to factor out register cache I/O functionsMark Brown2009-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of CODECs share the same register data formats and therefore replicate the code to manage access to and caching of the register map. In order to reduce code duplication centralised versions of this code will be introduced with drivers able to configure the use of the common code by calling the new snd_soc_codec_set_cache_io() API call during startup. As an initial user the 7 bit address/9 bit data format used by many Wolfson devices is supported for write only CODECs and the drivers with straightforward register cache implementations are converted to use it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>