summaryrefslogtreecommitdiffstats
path: root/sound/soc
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: Push the codec runtime storage into the card structureMark Brown2009-01-2730-218/+218
| | | | | | | This is a further stage on the road to refactoring away the ASoC platform device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: improve I2C initialization code in CS4270 driverTimur Tabi2009-01-231-139/+113
| | | | | | | | Further improvements in the I2C initialization sequence of the CS4270 driver. All ASoC initialization is now done in the I2C probe function. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix L3 bus handling in KconfigMark Brown2009-01-232-0/+2
| | | | | | | It has no external dependencies but needs to be selected for L3 based codecs to work. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Include header file in cs4270 and wm9705Mark Brown2009-01-232-0/+4
| | | | | | | Ensures that the DAI and socdev exported by the codec match up with their exported prototype. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix spurious codec driver dependenciesMark Brown2009-01-232-6/+2
| | | | | | | | | Kbuild ignores dependency from things that are themselves selected so ASoC machine drivers need to ensure that the control bus is being built. This also avoids issues where multiple buses are supported by a given codec. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Configure SSP port PLL for ZyloniteMark Brown2009-01-231-0/+8
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove unneeded e7x0 inclusion of pxa-regs.h and hardware.hMark Brown2009-01-232-4/+0
| | | | | | | | pxa-regs.h and hardware.h are not intended for use directly in driver code and references to them have been removed in other code - remove them from the newly added e740 and e750 machine drivers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix merge with PXA treeMark Brown2009-01-231-4/+1
| | | | | | | Fix a merge issue caused by context overlap. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: remove stand-alone mode support from CS4270 codec driverTimur Tabi2009-01-232-66/+29
| | | | | | | | | | | | | The CS4270 supports stand-alone mode, where the codec is not connect to the I2C or SPI buses. Instead, input voltages configure the codec at power-on. The CS4270 ASoC device driver has partial support for this mode, but the code was never tested, and partial support doesn't help anyone. It also made the rest of the code more complicated than necessary. [Removed redundant CS4270 dependency on I2C -- broonie] Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Complete Beagleboard supportSteve Sakoman2009-01-212-0/+12
| | | | | | | | | | Commit dc06102a0c8b5aa0dd7f9a40ce241e793c252a87 in the asoc tree did not include the necessary Kconfig and Makefile changes. This patch completes the support for Beagleboard Signed-off-by: Steve Sakoman <steve@sakoman.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-01-201-12/+6
|\
| * ASoC: fix registration of the SoC card in the Freescale MPC8610 driversTimur Tabi2009-01-201-12/+6
| | | | | | | | | | | | | | | | | | The Freescale MPC8610 driver was defining two SOC card (snd_soc_card) structures, partially initializing each one, but registering only one of them with ASoC. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix WM9705 capture switch nameIan Molton2009-01-201-2/+2
| | | | | | | | | | | | | | | | This patch fixes the acpture switch name so that it better reflects its purpose. Signed-off-by: Ian Molton <iann@mnementh.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Allow Freescale MPC8610 audio drivers to be compiled as modulesTimur Tabi2009-01-202-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Change the Kconfig and Makefile options for Freescale MPC8610 audio drivers so that they can be compiled as modules, and simplify the Kconfig choices so that only the platform is selected. Also fix the naming of the driver files to conform to ALSA standards. [Removed extraneous SND_SOC dependency -- broonie] Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Staticise PCM operations tablesMark Brown2009-01-196-6/+6
| | | | | | | | | | | | | | The PCM operations tables are not exported directly but are instead included in the platform structure so should be declared static. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: fixes to caching implementationsIan Molton2009-01-199-16/+17
| | | | | | | | | | | | | | | | This patch takes fixes a number of bugs in the caching code used by several ASoC codec drivers. Mostly off-by-one fixes. Signed-off-by: Ian Molton <ian@mnementh.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: machine support for Toshiba e740 PDAIan Molton2009-01-193-0/+224
| | | | | | | | | | | | | | | | | | | | | | | | This patch provides suupport for the wm9705 AC97 codec on the Toshiba e740. Note: The e740 has a hard headphone switch that turns the speaker off and is not software detectable or controlable. Also both headphone and speaker amps share a common output enable. Signed-off-by: Ian Molton <ian@mnementh.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Implement support for CLK_POUT as MCLK on ZyloniteMark Brown2009-01-191-17/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | The Zylonite supports switching the MCLK for the WM9713 between the AC97CLK and CLK_POUT outputs of the PXA processor via switch SW15 on the board. This patch adds support for configuring the system to use CLK_POUT. Unfortunately it is not possible to read the state of SW15 from software so this feature is controlled by a module option 'clk_pout' which should be set to a non-zero value to enable the use of CLK_POUT. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Ignore output frequency for WM9713 PLLMark Brown2009-01-161-6/+4
| | | | | | | | | | | | | | | | The WM9713 driver does not support configuring the PLL output frequency so the output frequency parameter is irrelevant. Allow users to set it to zero by ignoring it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-01-161-2/+0
|\ \ | |/
| * ASoC: atmel_pcm: Remove non-existant headerBen Nizette2009-01-161-2/+0
| | | | | | | | | | | | | | | | | | <mach/hardware.h> doesn't exist on AVR32 and therefore this driver won't build on that arch. AFAICT this driver doesn't actually use the content of that header so easiest just to remove it. Signed-off-by: Ben Nizette <bn@niasdigital.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: machine driver for Toshiba e800Ian Molton2009-01-161-14/+102
| | | | | | | | | | | | | | | | | | This patch adds support for the wm9712 ac97 codec as used in the Toshiba e800 PDA. It includes support for powering up / down the external headphone and speaker amplifiers on this machine. Signed-off-by: Ian Molton <ian@mnementh.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: machine driver for Toshiba e750Ian Molton2009-01-163-0/+200
| | | | | | | | | | | | | | | | | | This patch adds support for the wm9705 ac97 codec as used in the Toshiba e750 PDA. It includes support for powering up / down the external headphone and speaker amplifiers on this machine. Signed-off-by: Ian Molton <ian@mnementh.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Driver for the WM9705 AC97 codec.Ian Molton2009-01-164-0/+431
| | | | | | | | | | | | | | | | This driver adds support for the wm9705 ac97 codec. The driver supports audio input and output. Signed-off-by: Ian Molton <ian@mnementh.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: DaVinci: Fix SFFSDR compilation error.Hugo Villeneuve2009-01-151-3/+17
| | | | | | | | | | | | | | | | Remove dependency on sffsdr_fpga_set_codec_fs() when the SFFSDR FPGA module is not selected. Signed-off-by: Hugo Villeneuve <hugo@hugovil.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'topic/asoc' into next/asocTakashi Iwai2009-01-153-3/+4
|\ \ | |/
| * ASoC: Fix the power update function for snd_soc_dapm_value_muxPeter Ujfalusi2009-01-151-1/+2
| | | | | | | | | | | | | | | | Modify the check for the mux type to also handle the snd_soc_dapm_value_mux type in a same way as the snd_soc_dapm_mux. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge branch 'topic/asoc' into for-linusTakashi Iwai2009-01-123-115/+14
| |\
| * | remove lots of double-semicolonsFernando Carrijo2009-01-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Acked-by: Theodore Ts'o <tytso@mit.edu> Acked-by: Mark Fasheh <mfasheh@suse.com> Acked-by: David S. Miller <davem@davemloft.net> Cc: James Morris <jmorris@namei.org> Acked-by: Casey Schaufler <casey@schaufler-ca.com> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-01-093-115/+14
|\ \ \ | | |/ | |/|
| * | ASoC: TWL4030: Module unloading fixPeter Ujfalusi2009-01-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Call the snd_soc_free_pcm and snd_soc_dapm_free when the codec driver is unloaded. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: TWL4030: Change the soc_value_enum back to soc_enumPeter Ujfalusi2009-01-081-5/+5
| | | | | | | | | | | | | | | | | | | | | The soc_value_enum has been merged to soc_enum. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Merge the soc_value_enum to soc_enum structPeter Ujfalusi2009-01-082-110/+7
| |/ | | | | | | | | | | | | | | | | Merge the recently introduced soc_value_enum structure to the soc_enum. The value based enums are still handled separately from the normal enum types, but with the merge some of the newly introduced functions can be removed. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: cleanup duplicated code.Ian Molton2009-01-0922-360/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many codec drivers were implementing cookie-cutter copies of the function that adds kcontrols to the codec. This patch moves this code to a common function snd_soc_add_controls() in soc-core.c and updates all drivers using copies of this function to use the new common version. [Edited to raise priority of error log message and document parameters. -- broonie] Signed-off-by: Ian Molton <ian@mnementh.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Implement WM8350 headphone jack detectionMark Brown2009-01-092-0/+124
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add jack reporting interfaceMark Brown2009-01-093-1/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a jack reporting interface to ASoC. This wraps the ALSA core jack detection functionality and provides integration with DAPM to automatically update the power state of pins based on the jack state. Since embedded platforms can have multiple detecton methods used for a single jack (eg, separate microphone and headphone detection) the report function allows specification of which bits are being updated on a given report. The expected usage is that machine drivers will create jack objects and then configure jack detection methods to update that jack. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Constify pin names for DAPM pin status APIsMark Brown2009-01-091-5/+5
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: dapm: Allow explictly named mixer controlsIan Molton2009-01-071-11/+36
|/ | | | | | | | | | This patch allows you to define the mixer paths as having the same name as the paths they represent. This is required to support codecs such as the wm9705 neatly without extra controls in the alsa mixer. Signed-off-by: Ian Molton <ian@mnementh.co.uk>
* ASoC: Fix SND_SOC_ALL_CODECS handling of dual SPI and I2C control busesMark Brown2009-01-061-5/+15
| | | | | | | | | | | | | | For codecs that have both SPI and I2C support we need to ensure that we don't try to make the codec driver built in when I2C is modular since that won't link. Do this by creating a helper variable which uses conditional defaults to pick up the correct value for all combinations. We don't need to do anything special for I2C-only codecs since a conditional select passes on the full value for a tristate. Reported-by: Ingo Molnar <mingo@elte.hu> Tested-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Use snd_soc_dapm_nc_pin() in at91sam9g20ekMark Brown2009-01-061-2/+2
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Convert the bitfield enums to VALUE_ENUM typePeter Ujfalusi2009-01-051-63/+55
| | | | | | | | | Convert the bitfield coded enums to the new VALUE_ENUM type. Remove the enum check, since the VALUE_ENUM type can handle the bitfield coding and also handles the 'holes' in the bitfield. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: New enum type: value_enumPeter Ujfalusi2009-01-052-3/+301
| | | | | | | | | | | | | This patch introduces a new enum type. In this enum type each enumerated items referred with a value. This new enum type can handle enums encoded in bitfield, or any other weird ways. twl4030 codec has several mux selection register, where the input/output mux is coded in a bitfield. With the normal enum type this type of mux can not be handled in a clean way. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Clocking fixes for davinci-evm.cDavid Brownell2009-01-051-3/+16
| | | | | | | | | | | | | | | Let's have audio playback not sound like chipmunks, 'k? :) ASP1 on the DM355 EVM uses a 27 MHz external audio clock, not the slower clock used with ASP0 on the DM6446 EVM. Also, that slower ASP0 clock on the DM6446 is 12.288 MHz, not 22.5792 MHz ... 48 KHz sample rate (x256), not a double speed 44.1 KHz sample rate (which could be done, but isn't what the board init code now sets up). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Mark non-connected TWL4030 pins for pandoraGrazvydas Ignotas2009-01-051-0/+13
| | | | | | | | | Pandora has all TWL4030 output pins floating, it uses external DAC for playback. Mark those outputs as not connected using DAPM calls. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: OMAP: Select OMAP pin multiplexing when using Nokia N810 ASoC driversJarkko Nikula2009-01-051-0/+1
| | | | | | | | | | | | | | | | N810 bootloader muxes I2S pins for OMAP2420 EAC block while N810 ASoC drivers are using McBSP block so the kernel have to change configuration runtime. Author has not seen problems using kernel pin multiplexing on N810 but very many times unworking audio after forgotten to enable it and spending 15 minutes each time to figure it out again... This change makes it easier for other users as well. If problems arise, then they are better to find and fix in OMAP pin multiplexing framework. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'fixes' of ↵Takashi Iwai2009-01-051-0/+4
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc
| * ASoC: fix davinci-sffsdr bugletDavid Brownell2009-01-051-0/+4
| | | | | | | | | | | | | | | | | | | | Minor bugfix: now that DaVinci kernels can support multiple boards, board-specific ASoC components need to verify they're running on the right board before initializing. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Clean up kerneldoc warningsMark Brown2009-01-012-27/+29
| | | | | | | | | | | | Almost all parameters that have been misnamed in the comments. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix pxa2xx-pcm checks for invalid DMA channelsStephen Ware2009-01-011-2/+2
| | | | | | | | | | | | | | | | | | Set the invalid dma channel to -1 (and check properly for it) in pxa2xx_pcm_hw_free(). Was assuming 0 is an invalid channel number but 0 is a valid pxa dma channel num. Signed-off-by: stephen <stephen.ware@eqware.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: DAPM based capture implementationPeter Ujfalusi2008-12-312-172/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds DAPM implementaion for the capture path on twlx030. TWL has two physical ADC and two digital microphone (stereo) connections. The CPU interface has four microphone channels. For simplicity the microphone channel paths are named as: TX1 (Left/Right) - when using i2s mode, only the TX1 data is valid TX2 (Left/Right) Input routing (simplified version): There is two levels of mux settings for TWL in input path: Analog input mux: ADCL <- {Off, Main mic, Headset mic, AUXL, Carkit mic} ADCR <- {Off, Sub mic, AUXR} Analog/Digital mux: TX1 Analog mode: TX1L <- ADCL TX1R <- ADCR TX1 Digital mode: TX1L <- Digimic0 (Left) TX1R <- Digimic0 (Right) TX2 Analog mode: TX2L <- ADCL TX2R <- ADCR TX2 Digital mode: TX2L <- Digimic1 (Left) TX2R <- Digimic1 (Right) The patch provides the following user controls for the capture path: Mux settings: "TX1 Capture Route": {Analog, Digimic0} "TX2 Capture Route": {Analog, Digimic1} "Analog Left Capture Route": {Off, Main Mic, Headset Mic, AUXL, Carkit Mic} "Analog Right Capture Route": {Off, Sub Mic, AUXR} Volume/Gain controls: "TX1 Digital Capture Volume": Stereo gain control for TX1 path "TX2 Digital Capture Volume": Stereo gain control for TX2 path "Analog Capture Volume": Stereo gain control for the analog path only Important things for the board files: Microphone bias: "Mic Bias 1": Bias for Main mic or for digimic0 (analog or digital path) "Mic Bias 2": Bias for Sub mic or for digimic1 (analog or digital path) "Headset Mic Bias": Bias for Headset mic When the routing configured correctly only the needed components will be powered/enabled. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud