summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: TWL4030: DAPM mapping of the Carkit outputsPeter Ujfalusi2008-12-091-0/+37
| | | | | | | Adds DAPM muxing, routing for the Carkit outputs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: DAPM mapping of the Headset outputsPeter Ujfalusi2008-12-091-0/+39
| | | | | | | Adds DAPM muxing, routing for the Headset outputs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: DAPM mapping of the PreDriv outputsPeter Ujfalusi2008-12-091-0/+45
| | | | | | | Adds DAPM muxing, routing for the PreDrive outputs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: DAPM mapping of the Earpiece outputPeter Ujfalusi2008-12-091-0/+27
| | | | | | | Adds DAPM muxing, routing for the Earpiece output. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add DAPM event handler for output MUX selectionPeter Ujfalusi2008-12-091-0/+24
| | | | | | | | | | | | | | | | | | | | | DAPM event handler is set to filter out invalid MUX settings for certain outputs. Earpiece: - 0 = Off - 1 = DACL1 - 2 = DACL2 - 3 = *** Invalid *** - 4 = DACR1 PreDriveL/R: - 0 = Off/Off - 1 = DACL1/DACR1 - 2 = DACL2/DACR2 - 3 = *** Invalid/Invalid *** - 4 = DACR2/DACL2 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add Analog PGA control switch to DAPMPeter Ujfalusi2008-12-091-2/+23
| | | | | | | | | Add all four APGA switch to DAPM routing and widgets. Add user control for DA enable for all APGA as normal control. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Correct DAPM_DAC with power controlPeter Ujfalusi2008-12-091-4/+11
| | | | | | | Add all four DACs to dapm_widgets with power switch. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: tlv320aic3x: control additions and cleanupsDaniel Mack2008-12-051-5/+13
| | | | | | | | | | | | | - split "Line Playback Switch" into "LineL Playback Switch" and "LineR Playback Switch" - split "Line PGA Bypass Playback Volume" into "LineL Left PGA Bypass Playback Volume" and "LineR Right PGA Bypass Playback Volume" - split "Line Line2 Bypass Playback Volume" into "LineL Line2 Bypass Playback Volume" and "LineR Line2 Bypass Playback Volume" - Added "HP Right PGA Bypass Playback Volume" Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: tlv320aic3x: headset/button press supportDaniel Mack2008-12-032-3/+74
| | | | | | | | | | | - Add aic3x_set_headset_detection() function to define the headset detection mode for tlv32aic3x chips - added aic3x_button_pressed() - Read from the real-time registers in aic3x_headset_detected() to query headset presence without an occured interrupt Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix WM8903 right mixer bypass pathMark Brown2008-12-031-4/+4
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add input selection and gain controlsGrazvydas Ignotas2008-12-032-3/+190
| | | | | | | | | | | | | | | | | | | The TWL4030 codec device has two ADCs. Both of them can have several inputs routed to them, but TRM says that only one source can be selected for every ADC, even though every source has a dedicated bit in the registers. This patch adds input source controls. It modifies default register values to have no inputs selected and ADCs disabled. When some input is selected, control handlers enable apropriate input amplifier and ADC. If a microphone is selected, bias power is automatically enabled. When some input is deselected, unused chip parts are disabled. Microphone and line input recording tested on OMAP3 pandora board. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Don't free static data in WM9713Mark Brown2008-12-011-1/+0
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add volume controls for outputsPeter Ujfalusi2008-12-011-0/+21
| | | | | | | | All outputs have dedicated gain controls except the HandsFree output. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Change the common playback volume controlsPeter Ujfalusi2008-12-011-8/+29
| | | | | | | | | | | | | | | Add Playback volume controls for all four DACs. All four paths has three levels of volume controls: Digital Fine gain, Digital Coarse gain, Analog gain. The controls are named to reflect their connection to the DACs. Per DAC volume can be performed, if needed: amixer sset 'DAC1 Analog' 5,10 DACL1 analog gain to 5 DACR1 analog gain to 10 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Change the capture volume control to TLVPeter Ujfalusi2008-12-011-3/+11
| | | | | | | | The digital Capture gain control has a range: 0 to 31 dB in 1 dB steps. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove in-code changelog from AD73311 driverMark Brown2008-12-011-3/+0
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Rename snd_soc_register_card() to snd_soc_init_card()Mark Brown2008-12-0125-25/+25
| | | | | | | | | | Currently ASoC card initialisation is completed by a function called snd_soc_register_card(). As part of the work to allow independant registration of cards, codecs and machines in ASoC v2 a new function of the same name has been added so rename the existing function to facilitate the merge of v2. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Revert "ALSA: soc - Fix compile warnings in wm8903.c"Takashi Iwai2008-12-011-2/+2
| | | | | | | | | This reverts commit 9171e5e6a20a9cd4992ff9c7cbee13c6fdf7b0b1. I can't reproduce the compile warnings any more. The warnings might be some weird cross-compiling set up. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: soc - Fix compile warnings in wm8903.cTakashi Iwai2008-12-011-2/+2
| | | | | | | | Hide annoying uninitialized warnings: sound/soc/codecs/wm8903.c:382: warning: ‘reg’ may be used uninitialized in this function sound/soc/codecs/wm8903.c:383: warning: ‘shift’ may be used uninitialized in this function Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: Allow more routing features for tlv320aic3xDaniel Mack2008-11-262-30/+78
| | | | | | | | | | | | | | | | | This patch enables more routing functions for tlv320aic3x codecs. It is now possible to - control the volume of the PGA bypass path for the HPL, HPR, HPLCOM and HPRCOM outputs individually - route right line1 input to the left ADC channel - route left line1 input to the right ADC channel - route right mic3 input to left DAC channel - route left mic3 input to right DAC channel - route left line1 input to right line1 output - route right line1 input to left line1 output Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Flag AD1980 as an AC97 interfaceMark Brown2008-11-241-0/+1
| | | | | | | Special handling is required for suspend and resume of AC97 codecs due to the control path going over the data bus. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove DAI type informationMark Brown2008-11-244-4/+3
| | | | | | | | | | | DAI type information is only ever used within ASoC in order to special case AC97 and for diagnostic purposes. Since modern CPUs and codecs support multi function DAIs which can be configured for several modes it is more trouble than it's worth to maintain anything other than a flag identifying AC97 DAIs so remove the type field and replace it with an ac97_control flag. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add helper function for output gain controlsPeter Ujfalusi2008-11-241-0/+157
| | | | | | | | | | | | | | Some of the gain controls in TWL (mostly those which are associated with the outputs) are implemented in an interesting way: 0x0 : Power down (mute) 0x1 : 6dB 0x2 : 0 dB 0x3 : -6 dB Inverting not going to help with these. Custom volsw and volsw_2r get/put functions to handle these gains. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add CGAIN volume controlPeter Ujfalusi2008-11-241-0/+10
| | | | | | | | | Add CGAIN (Coarse gain control) to TWL4030 codec. The range of the CGAIN is: 0 dB to 12 dB in 6 dB steps. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Change the Master volume control to TLVPeter Ujfalusi2008-11-241-2/+9
| | | | | | | | TWL4030 FGAIN volume control has a range: -62 to 0 dB in 1 dB steps, 0 in the FGAIN means mute. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Disable soft-volumePeter Ujfalusi2008-11-241-1/+1
| | | | | | | | | | | | | | | | | | Keep Soft-volume disabled for now, since if it is enabled the FGAIN volume controls are not working in the current configuration: CODEC_MODE:OPT_MODE = 1 OPTION:ARXR2_EN = 1 OPTION:ARXL2_EN = 1 OPTION:ARXR1_EN = 0 OPTION:ARXL1_VRX_EN = 0 RX_PATH_SEL:RXL1_SEL = 0x0 (or 0x1) RX_PATH_SEL:RXR1_SEL = 0x0 (or 0x1) After the patch, FGAIN volume control works. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Use supplied DAI for WM9713 rather than substreamMark Brown2008-11-241-12/+4
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Improve error reporting for AC97 reset failuresMark Brown2008-11-213-3/+3
| | | | | | | Print something a bit more verbose to help make errors a little more obvious. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Merge snd_soc_ops into snd_soc_dai_opsMark Brown2008-11-2122-110/+101
| | | | | | | | | | | | | Liam Girdwood's ASoC v2 work avoids having two different ops structures for DAIs by merging the members of struct snd_soc_ops into struct snd_soc_dai_ops, allowing per DAI configuration for everything. Backport this change. This paves the way for future work allowing any combination of DAIs to be connected rather than having fixed purpose CODEC and CPU DAIs and only allowing CODEC<->CPU interconnections. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: ssm2602: Update supported stream formatsKarl Beldan2008-11-211-2/+5
| | | | | Signed-off-by: Karl Beldan <karl.beldan@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: ssm2602: Fix priv substreams refsKarl Beldan2008-11-211-0/+18
| | | | | | | | | | | | | | | Clean up our record of the active streams in shutdown(), fixing subsequent failures of snd_pcm_hw_constraints_complete after closure of a stream. NOTE: - The ssm2602 allows pairs of non-matching PB/REC rates. - This is a fix for less evil: The logic is flawed (e.g. the slave might startup before the master's rate and sample_bits are set). Signed-off-by: Karl Beldan <karl.beldan@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add PCM3008 ALSA SoC driverHugo Villeneuve2008-11-194-0/+232
| | | | | | | | | | | | The PCM3008 is a 16-bit stereo audio codec. It accepts left-justified format for ADC, and right-justified format for DAC. Independent power-down modes for ADC and DAC are provided, as well as a digital de-emphasis filter (4 modes). [Merged Makefile & Kconfig, changed asm/gpio.h to linux/gpio.h -- broonie] Signed-off-by: Hugo Villeneuve <hugo@hugovil.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Move uda134x_codec.h to uda134x.hMark Brown2008-11-182-1/+1
| | | | | | For consistency with other ASoC codec drivers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: AD1980 codec: add multi-channel function supportCliff Cai2008-11-181-4/+15
| | | | | | | | | We added multi-channel function to this codec driver and Blackfin ASoC driver as well. It was tested on Blackfin hardware. Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Build tlv320aic23 cleanlyMark Brown2008-11-171-4/+9
| | | | | | | Also merge down a couple of last minute style changes that got lost in the shuffle. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Manage VMID mode for WM8990Mark Brown2008-11-171-0/+11
| | | | | | | A small additional power saving can be achieved for the WM8990 by maintaining VMID using a 2*250k divider when in standby mode. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Enable WM8990 ADC clocking workaroundMark Brown2008-11-172-4/+6
| | | | | | | Enable a hardware workaround which avoids problems with the clocking of the ADCs in certain configurations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Allow writes to uncached registers in WM8990Mark Brown2008-11-171-3/+3
| | | | | | | Only fully documented registers are cached in the WM8990 but additional registers exist. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: UDA134x codec driverChristian Pellegrin2008-11-175-0/+795
| | | | | Signed-off-by: Christian Pellegrin <chripell@fsfe.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix for master playback/capture volume range for TWL4030 codecPeter Ujfalusi2008-11-171-2/+2
| | | | | | | | | | | FGAIN for playback is in range of 0-0x3f, while for capture GAIN it is in the range of 0-0x1f. The original value of 128 (0x7f) would modify the CGAIN also for playback. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add WM8728 codec driverMark Brown2008-11-144-0/+610
| | | | | | | The WM8728 is a high performance stereo DAC designed for applications such as DVD, home theatre and digital TV. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix supported sample rates of TWL4030 audio codecJarkko Nikula2008-11-131-1/+1
| | | | | | | | | | TWL4030 currently supports rates between 8 kHz and 48 kHz and sets the codec mode register accordingly in twl4030_hw_params. Expose this info so that ASoC can match other rates than 44.1 kHz or 48 kHz as well. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TLV320AIC23B Support more sample ratesTroy Kisky2008-11-071-45/+177
| | | | | | | | | Add support for more sample rates, different crystals and split playback/capture rates. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Arun KS <arunks@mistralsolutions.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ALSA: ASoC: TWL4030 codec - fix 256*Fs clockGrazvydas Ignotas2008-11-061-2/+2
| | | | | | | | | | | According to TRM, 256*Fs clock output should be enabled when TWL4030 is in slave mode, not master. This allows sound to work on OMAP3 Pandora, which uses 256*Fs clock. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Acked-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ALSA: ASoC codec: remove unused #include <version.h>Huang Weiyi2008-11-041-1/+0
| | | | | | | | | | | The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. sound/soc/codecs/ad73311.c This patch removes the said #include <version.h>. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/fix/asoc' into topic/asocTakashi Iwai2008-10-311-1/+1
|\
| * ALSA: ASoC: Fix WM9713 ALC Decay Time nameMark Brown2008-10-301-1/+1
| | | | | | | | | | | | | | The control had an extra space at the end of the name. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ASoC: Add support for TWL4030 audio codecSteve Sakoman2008-10-314-0/+857
| | | | | | | | | | Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ALSA: ASoC - Fix a typo in KconfigTakashi Iwai2008-10-301-1/+1
| | | | | | | | | | | | | | The last change to Kconfig ca53fb24dd21bff32c4b41b2be1035a1adfc0135 added a wrong item SND_SOC_AC97, which must be SND_SOC_AC97_CODEC. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ASoC: Disable automatic volume control in the CS4270 sound driverTimur Tabi2008-10-301-0/+13
| | | | | | | | | | | | | | | | | | Disable the automatic volume control feature of the CS4270 audio codec. This feature, which is enabled by default, causes volume change commands to be delayed. Sometimes the volume change happens after playback is started. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud