summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-3.2' into for-3.3Mark Brown2011-11-088-32/+65
|\ | | | | | | | | Conflicts: sound/soc/codecs/wm8940.c
| * ASoC: Ensure we get an impedence reported for WM8958 jack detectMark Brown2011-11-041-11/+26
| | | | | | | | | | | | | | | | | | Occasionally we may see an accessory reported before we have a stable impedance for the accessory. If this happens then reread the status in order to ensure that the handler can take the appropriate action for the status change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Don't use wm8994->control_data when requesting IRQsMark Brown2011-11-041-2/+2
| | | | | | | | | | | | | | | | The field is no longer initialised so this will crash if running on wm8958. Reported-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Don't use wm8994->control_data in wm8994_readable_register()Mark Brown2011-11-041-1/+1
| | | | | | | | | | | | | | | | | | The field is no longer initialised so this will crash if running on wm8958. Reported-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: Ensure we always delay for WM8962 FLL when starting from SYSCLKMark Brown2011-11-011-9/+8
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: Ensure the WM8962 oscillator and PLLs start up disabledMark Brown2011-11-011-0/+5
| | | | | | | | | | | | | | | | Since there is no current software control for these they would otherwise be left enabled, consuming power. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: Ensure WM8962 PLL registers are resetMark Brown2011-11-011-1/+7
| | | | | | | | | | | | | | | | The WM8962 has a separate software reset for the PLL registers. Ensure that these are reset also on startup. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: Fix return value of wm5100_gpio_direction_out()Mark Brown2011-10-311-4/+8
| | | | | | | | | | | | | | We can't just pass back the return value of snd_soc_update_bits() as it will be 1 if a bit changed rather than zero. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: WM8904: Set `invert' bit for Capture SwitchHong Xu2011-10-311-1/+1
| | | | | | | | | | | | | | | | | | Set `invert' bit for Capture Switch. Otherwise analogue is muted when Capture Switch is ON. Signed-off-by: Hong Xu <hong.xu@atmel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: Leave input audio data bit length settings untouched in wm8711_set_dai_fmtAxel Lin2011-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | Current implementation in wm8711_set_dai_fmt always clear BIT[3:2] (the Input Audio Data Bit Length Select) of WM8711_IFACE(07h) register. Input Audio Data Bit Length Select bits are set by wm8711_hw_params, we should leave BIT[3:2] untouched in wm8711_set_dai_fmt. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: wm8711: Fix wrong mask for setting input audio data bit length selectAxel Lin2011-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | The Input Audio Data Bit Length Select is controlled by BIT[3:2] of WM8711_IFACE(07h) register. Current code incorrectly masks BIT[1:0] which is for Audio Data Format Select. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: tlv320aic3x: Clear BIT_CLK_MASTER and WORD_CLK_MASTER bits for for ↵Axel Lin2011-10-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | slave mode According to the datasheet: Page0 / Register8: Audio Serial Data interface Control Register A BIT 7: Bit Clock Directional Control 0: Bit clock is an input (slave mode) 1: Bit clock is an output (master mode) BIT 6: Word Clock Directional Control 0: Word clock is an input (slave mode) 1: Word clock is an output (master mode) Current code sets BIT_CLK_MASTER and WORD_CLK_MASTER bits for master mode, but does not clear these bits for slave mode. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: tlv320aic23: Clear TLV320AIC23_MS_MASTER bit for slave modeAxel Lin2011-10-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the datasheet: Digital Audio Interface Format (07h) register: BIT6: Master/slave mode 0: Slave 1: Master Current code sets TLV320AIC23_MS_MASTER bit for master mode, but does not clear it for slave mode. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8940: Fix mask for setting BCLKDIVAxel Lin2011-10-271-1/+1
| | | | | | | | | | | | | | | | | | According to the datasheet: BCLK is controlled by BIT[4:2] of WM8940_CLOCK(06h) register. Signed-off-by: Chris Paulson-Ellis <chris@edesix.com> Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8940: Properly set codec->dapm.bias_levelAxel Lin2011-10-271-0/+2
| | | | | | | | | | | | | | Reported-by: Chris Paulson-Ellis <chris@edesix.com> Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
* | ASoC: Disable thermal shutdown when not using speakers in wm_hubsMark Brown2011-11-041-0/+3
| | | | | | | | | | | | | | | | | | | | The thermal shutdown support in wm_hubs devices is tied to the speaker drivers (which are the only high power subsystems within the device). Ensure minimal current usage when the thermal shutdown support is not required by disabling the circuit when the speaker drivers are powered down. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Manage thermal shutdown for WM8962Mark Brown2011-11-041-0/+8
| | | | | | | | | | | | | | Disable the thermal shutdown circuits for headphone and speaker when the relevant outputs are not enabled in order to save current in idle modes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Only enable thermal shutdown when required on WM9081Mark Brown2011-11-041-0/+2
| | | | | | | | | | | | | | The WM9081 thermal shutdown is only effective when the speaker output is enabled so disable it when that is not in use for a small current saving. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix sort of jz4740 in MakefileMark Brown2011-11-021-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Sort LM4857 with the CODECs in the MakefileMark Brown2011-11-021-2/+2
| | | | | | | | | | | | | | | | | | Having a separate list for amps is a little confusing now the official driver model for them is the same as for other CODECs so let's sort them into the CODEC list, but only do this for those that are actual CODEC drivers so it's easier to remember which ones need updating. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Disable MICBIAS and SYSCLK when stopping WM8962 accessory detectionMark Brown2011-11-011-0/+3
| | | | | | | | | | | | | | They aren't needed any more. If machines need them for other purposes then further changes will be required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: WM8962 accessory detection requires MICBIASMark Brown2011-11-011-1/+3
| | | | | | | | | | | | | | | | Force MICBIAS on as well as SYSCLK as the WM8962 accessory detection can't function without both. No point in making machine drivers manually enable it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Enable SYSCLK last when enabling WM8962 mic detectionMark Brown2011-11-011-0/+3
| | | | | | | | | | | | Ensure everything is set up before we start detecting. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Start WM8962 FLL if SYSCLK is enabledMark Brown2011-11-011-0/+4
| | | | | | | | | | | | | | | | Since we have code to automatically manage the start and stop of the FLL based on the SYSCLK widget if SYSCLK is already enabled and the FLL is configured then we need to start it up. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8400 MICBIAS to a supply widgetMark Brown2011-10-311-2/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8900 MICBIAS to a supply widgetMark Brown2011-10-311-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8904 MICBIAS to a supply widgetMark Brown2011-10-311-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8960 MICBIAS to a supply widgetMark Brown2011-10-311-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8961 MICBIAS to a supply widgetMark Brown2011-10-311-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8974 MICBIAS to a supply widgetMark Brown2011-10-311-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8983 MICBIAS to a supply widgetMark Brown2011-10-311-1/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8985 MICBIAS to a supply widgetMark Brown2011-10-311-1/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8988 MICBIAS to a supply widgetMark Brown2011-10-311-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8990 MICBIAS to a supply widgetMark Brown2011-10-311-2/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8991 MICBIAS to a supply widgetMark Brown2011-10-311-2/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8995 MICBIASes to supply widgetsMark Brown2011-10-311-2/+4
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: tlv320aic3x: Use snd_soc_update_bits for read-modify-writeAxel Lin2011-10-271-27/+14
| | | | | | | | | | | | | | | | | | Use snd_soc_update_bits for read-modify-write register access instead of open-coding it using snd_soc_read and snd_soc_write Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: wm8940: Fix a typo for the mask of setting WM8940_BCLKDIVAxel Lin2011-10-241-1/+1
| | | | | | | | | | | | | | | | The registers are 16 bits, thus remove an extra F for the mask. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: wm8940: Fix setting PLL Output clock division ratioAxel Lin2011-10-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | According to the datasheet: The PLL Output clock division ratio is controlled by BIT[5:4] of WM8940_GPIO register(08h). Current code read/write the WM8940_ADDCNTRL(07h) register which is wrong. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: wm8996: Avoid a redundant i2c_get_clientdata call in wm8996_i2c_removeAxel Lin2011-10-241-1/+1
| | | | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: wm8400: Fix setting Fout clock divider for FLL Control 4Axel Lin2011-10-241-1/+1
|/ | | | | | | | | What we want here is to clear the WM8400_FLL_OUTDIV_MASK bits then OR with factors.outdiv. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: max98095: Convert codec->hw_write to snd_soc_writeAxel Lin2011-10-221-7/+6
| | | | | | | | | | | | | | codec->hw_write is broken now, convert codec->hw_write to snd_soc_write. The hardware has 2 banks of registers sharing a section in I2C register space. The 1st bank is the primary one and is cached. The 2nd bank is for loading coefficients only and they do not need cache. These coefficients registers are therefore direct writes. Thus we set cache_bypass flag to deal with this before calling snd_soc_write. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: sgtl5000: Fix wrong mask in some snd_soc_update_bits callsAxel Lin2011-10-221-6/+6
| | | | | | | | | Ensure all mask bits are clear before setting new value. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Dong Aisheng <b29396@freescale.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8996: Fix wrong mask for setting WM8996_AIF_CLOCKING_2Axel Lin2011-10-221-1/+1
| | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* ASoC: da7210: Add support for line out and DACAshish Chavan2011-10-221-0/+96
| | | | | | | | | | | DA7210 has three line outputs. OUT1 Left, OUT1 Right and OUT2 (mono). This patch adds support for gain controls for these three line outs. It also adds support for overall DAC gain control. Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com> Signed-off-by: David Dajun Chen <dchen@diasemi.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: da7210: Add support for DAPMAshish Chavan2011-10-221-24/+121
| | | | | | | | | | This patch adds support for DAPM covering all inputs and outputs as well as ADC and DAC. Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com> Signed-off-by: David Dajun Chen <dchen@diasemi.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Use SGTL5000_LINREG_VDDD_MASK instead of hardcoded mask valueAxel Lin2011-10-211-3/+3
| | | | | | | | | | We have defined SGTL5000_LINREG_VDDD_MASK in sgtl5000.h, use it instead of hardcoded (0x1 << 4) - 1 for the mask. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Set sgtl5000->ldo in ldo_regulator_registerAxel Lin2011-10-211-0/+2
| | | | | | | | | | Otherwise calling ldo_regulator_remove() does not unregister regulator and free memories. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8996: Use SND_SOC_DAPM_AIF_OUT for AIF2 CaptureAxel Lin2011-10-201-2/+2
| | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 CaptureAxel Lin2011-10-201-1/+1
| | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
OpenPOWER on IntegriCloud