aboutsummaryrefslogtreecommitdiff
path: root/sound/soc/codecs
AgeCommit message (Collapse)Author
2009-05-11ASoC: remove driver_data direct access of struct deviceRoel Kluin
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-08ASoC: TWL4030: Fix typo in twl4030_codec_mute functionPeter Ujfalusi
Copy-paste error: TWL4030_PRECKL_GAIN >> TWL4030_PRECKR_GAIN It has not caused problems, since TWL4030_PRECKL_GAIN == TWL4030_PRECKR_GAIN == 0x30 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-07ASoC: cs4270: add power management supportDaniel Mack
Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05ASoC: cs4270: introduce CS4270_I2C_INCRDaniel Mack
Replace the magic 0x80 value with a suitable macro definition. Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-05-05ASoC: TWL4030: Add VIBRA outputPeter Ujfalusi
This patch adds support for the VIBRA output on TWL4030 codec. The VIBRA output can be driven with audio data or with local vibrator driver. Add the needed DAPM elements and routes for the VIBRA output and controls for the VIBRA driver configuration. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05ASoC: TWL4030: Add voice digital loopback: sidetoneLopez Cruz, Misael
This patch add voice digital loopback (sidetone) to the twl4030 driver. It mixes voice uplink attenuated (by sidetone gain) with voice downlink when the codec is working in option2 (voice/audio mode). Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05ASoC: TWL4030: Add VDL analog bypassLopez Cruz, Misael
This patch adds voice downlink analog bypass switch. It follows the same approach as in other analog bypass switches. DAC switch is moved from 'DAC Voice' to 'Analog Voice Playback Mixer', that will also allow voice DAC to be powered in digital voice loopback (sidetone). Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05ASoC: Fix errors in WM8990Jinyoung Park
The mis-typing exist in dapm controller definitions and dapm route definitions, so happen mis-matched error when snd_soc_dapm_add_routes(). Cc: stable@kernel.org Signed-off-by: Jinyoung Park <parkjy@mtekvision.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
2009-05-02ASoC: Use a shared define for AC97 CODEC data formatsMark Brown
The AC97 wire format is completely fixed so CODECs don't have any choice about the formats they accept but controllers accept a variety of data formats and render them down onto the bus. Have a shared define so all the CODEC drivers will interoperate with any of our controller drivers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-28Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-28ASoC: TWL4030: Fix gain control for earpiece amplifierJoonyoung Shim
The gain control for earpiece amplifier uses 0dB ~ 12dB according to the TRM, but the present code is implemented to -6dB ~ 6dB. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC: Staticise TLV values in WM8940Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-27ASoC: Fix logic in WM8350 master clocking checkMark Brown
We need to check only if the WM8350 is master and only when starting the stream so if either is not true then we can skip the check. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC: cs4270: add Master Playback SwitchDaniel Mack
This adds a new control named 'Master Playback Switch' for cs4270 codecs. It is implemented using the new SOC_DOUBLE_EXT macro to catch the put function and store the information about manually set mute controls from userspace. When a manual mute is set, we don't want the soc core to un-mute the outputs. Renamed cs4270_mute() to cs4270_dai_mute() to avoid confusion. Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC: cs4270: fix Master Capture Switch polarityDaniel Mack
The control modifies the MUTE register, hence the polarity must be inverted. Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-By: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC WM8940 DriverJonathan Cameron
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC: Include WM8350 register definitions in CODEC headerMark Brown
It's expected behaviour for the CODEC header to provide them but the WM8350 doesn't due to having all the registers together under drivers/mfd. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-23ASoC: TWL4030: Add 4 channel TDM supportPeter Ujfalusi
Support for 4 channel TDM (SND_SOC_DAIFMT_DSP_A) for twl4030 codec. The channel allocations are: Playback: TDM i2s TWL RX Channel 1 Left SDRL2 Channel 3 Right SDRR2 Channel 2 -- SDRL1 Channel 4 -- SDRR1 Capture: TDM i2s TWL TX Channel 1 Left TXL1 Channel 3 Right TXR1 Channel 2 -- TXL2 Channel 4 -- TXR2 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-23Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-23Merge commit 'takashi/fix/asoc' into for-2.6.30Mark Brown
2009-04-23ASoC: TWL4030: Add VDL path supportJoonyoung Shim
Add DAPMs for VDL(Voice Down Link) path. To support VDL path, we have to change DAPMs of outputs(Earpiece, PreDrive Left/Right, Headset Left/Right, Carkit Left/Right) from mux to mixer. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-23ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991Takashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-22ASoC: Implement WM8903 digital sidetone supportMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Remove redundant rate constraint for WM8903Mark Brown
This is now handled by symmetric_rates. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Actively manage the DC servo for WM8903Mark Brown
Save a little extra power by enabling the DC servo offset correction for the output channels only when the relevant channels are enabled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Optimise configuration of WM8903 DC servoMark Brown
Modify the default startup sequence in the chip to set the DC servo dither level for optimal performance. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Support CLK_DSP in WM8903Mark Brown
CLK_DSP provides a master clock for the DAC and ADC related functionality on the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Use DAPM supply widget for WM8903 charge pumpMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Fix WM8580 volume update handling for large register changesMark Brown
The driver is out of sync with the core functions it is using. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-21ASoC: Fix offset of freqmode in WM8580 PLL configurationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
2009-04-20ASoC: TWL4030: Add support Voice DAIJoonyoung Shim
Add Voice DAI to support the PCM voice interface of the twl4030 codec. The PCM voice interface can be used with 8-kHz(voice narrowband) or 16-kHz(voice wideband) sampling rates, and 16bits, and mono RX and mono TX or stereo TX. The PCM voice interface has two modes - PCM mode1 : This uses the normal FS polarity and the rising edge of the clock signal. - PCM mode2 : This uses the FS polarity inverted and the falling edge of the clock signal. If the system master clock is not 26MHz or the twl4030 codec mode is not option2, the voice PCM interface is not available. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-18ASoC: Fix warning in wm9705Russell King - ARM Linux
I notice that the fixes were merged, minus one: sound/soc/codecs/wm9705.c: At top level: sound/soc/codecs/wm9705.c:445: warning: initialization from incompatible pointer type so you might find this trivial patch useful. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-17ASoC: TWL4030: Fix for the constraint handlingPeter Ujfalusi
The original implementation of the constraints were good against sane applications. If the opening sequence is: stream1_open, stream1_hw_params, stream2_open, stream2_hw_params -> the constraints are set correctly for stream2. But if the sequence is: stream1_open, stream2_open, stream2_hw_params, stream1_hw_params -> than stream2 would receive constraint rate = 0, sample_bits = 0, since the stream1 has not yet called hw_params... The command to trigger this event: gst-launch-0.10 alsasrc device=hw:0 ! alsasink device=hw:0 sync=false This patch does some 'black magic' in order to always set the correct constraints and sets it only when it is needed for the other stream. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: Request shared rates for WM8903Mark Brown
It has a shared LRCLK. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-13Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-13ASoC: Add WM8960 CODEC driverMark Brown
The WM8960 is a low power, high quality stereo codec designed for portable digital audio applications. Stereo class D speaker drivers provide 1W per channel into 8W loads. Guaranteed low leakage, excellent PSRR and pop/click suppression mechanisms enable direct battery connection for the speaker supply. The device also integrates a complete microphone interface and a stereo headphone driver. External component requirements are drastically reduced as no separate microphone, speaker or headphone amplifiers are required. Advanced on-chip digital signal processing performs automatic level control for the microphone or line input. Stereo 24-bit sigma-delta ADCs and DACs are used with low power over-sampling digital interpolation and decimation filters and a flexible digital audio interface. The master clock can be input directly or generated internally by an onboard PLL, supporting most commonly-used clocking schemes. This driver was originally written by Liam Girdwood, with substantial subsequent additions and updates for feature completeness and changes in the ASoC framework from me. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-13ASoC: Move the WM9713 voice DAC powerdown to a DAPM eventMark Brown
This ensures that we sync with the DAPM powerdown sequencing properly and don't need to bounce the power on the voice DAC so often. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-13ASoC: WM9713 requires symmetric rates on the voice DAIMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-09ASoC: tlv320aic23: add DSP_A format supportPeter Ujfalusi
Add DSP_A interface format support by setting the LRP bit in DSP mode. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-07ASoC: Add WM8988 CODEC driverMark Brown
The WM8988 is a low power, high quality stereo CODEC designed for portable digital audio applications. The device integrates complete interfaces to 2 stereo headphone or line out ports. External component requirements are drastically reduced as no separate headphone amplifiers are required. Advanced on-chip digital signal processing performs graphic equaliser, 3-D sound enhancement and automatic level control for the microphone or line input. The WM8988 can operate as a master or a slave, with various master clock frequencies including 12 or 24MHz for USB devices, or standard 256fs rates like 12.288MHz and 24.576MHz. Different audio sample rates such as 96kHz, 48kHz, 44.1kHz are generated directly from the master clock without the need for an external PLL. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-07ASoC: TWL4030: Compillation error fixPeter Ujfalusi
Fix for compillation error introduced by the constrain patch. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-06ASoC: Fix null dereference in ak4535_remove()Dan Carpenter
ak4535_remove() from sound/soc/codecs/ak4535.c calls i2c_unregister_device() with a possibly null pointer. This bug was found by smatch (http://repo.or.cz/w/smatch.git/). Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-03ASoC: TWL4030: Add actual support for 96KHz playback supportPeter Ujfalusi
Adds the needed code to be able to use 96KHz playback. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-02ASoC: Implement suspend and resume operations for WM9705Mark Brown
Without this the WM9705 driver fails badly when resuming. Tested-by: Russell King <linux@arm.linux.org.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-02ASoC: TWL4030: Add constrains for second streamPeter Ujfalusi
In case of duplex mode (capture and playback at the same time), the second stream has to have the same parameters (rate, sample size) as the already running stream. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-02ASoC: TWL4030: 96KHz playback supportPeter Ujfalusi
TWL4030 supports 96KHz sample playback, but only playback. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-19ASoC: Add FLL support for WM8400Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-18ASoC: Add separate AVDD for WM8400Mark Brown
There is an AVDD supply as well, normally one or more of the other upplies would be tied to it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>