summaryrefslogtreecommitdiff
path: root/sound/soc
AgeCommit message (Collapse)Author
2009-05-14Merge branch 'pxa2xx-i2s' into for-2.6.31Mark Brown
2009-05-14ASoC: pxa2xx-i2s: Fix suspend/resumeKarl Beldan
pxa2xx_i2s_resume is : - unconditionnaly setting SACR0_ENB - unsetting SACR0_ENB in saved SACR0 pxa_i2s.sacr0 fix these. In pxa2xx_i2s_{resume,suspend}, save/restore registers even when !dai->active. Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14ASoC: pxa2xx-i2s: Fix inappropriate release of i2s clockKarl Beldan
i2s_clk is 'put' for no reason in pxa2xx_i2s_shutdown. Now we 'get' i2s_clk at probe and 'put' it at driver removal or when probe fails. Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14ASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separatelyKarl Beldan
- hw_params enables both RPL and REC functions each time : Enable the appropriate function in pxa2xx_i2s_trigger. - pxa2xx_i2s_shutdown disables i2s anytime one of RPL or REC function is off : Turn it off only when both functions are off. Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14ASoC: pxa2xx-i2s: Proper hw initializationKarl Beldan
Make sure we are in a know good state at end of probe : Reset FIFO logic and registers, and make sure REC and RPL functions along with FIFO service are disabled (SACR0_RST enables REC and RPL). Resetting loses current settings so remove reset from stream startup. Now reset occurs only at probe. Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14ASoC: Added OMAP3 EVM support in ASoC.Anuj Aggarwal
Resending the patch after fixing the minor issues. Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-13ASoC: pxa2xx-i2s: Proper initializationKarl Beldan
Reset FIFO logic and registers, and make sure REC and RPL functions along with FIFO service are disabled at probe. Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-12Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-05-12ASoC: TWL4030: change DAPM for analog microphone selectionJoonyoung Shim
The inputs of the twl4030 codec can be mixed, so we will use the mixer DAPM for the analog microphone registers(0x05, 0x06), but if we enable more than one input at the same time, the input impedance of the input amplifier will be reduced. 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-05-12ASoC: Enforce symmetric rates for PXA2xx I2SMark Brown
There is a single I2S_SYNC pin on the chip. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-12ASoC: em-x270: make the driver support also eXeda and CM-X300 machinesMike Rapoport
Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-11ASoC: remove driver_data direct access of struct deviceRoel Kluin
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-11ASoC: soc-core: fix crash when removing not instantiated cardMike Rapoport
If the card was not instantiated in snd_soc_instantiate_card, calling soc-remove will crash because some of codec, cpu_dai and card .remove methods are called twice. Fix this by returning from soc_remove immediately. Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-09ASoC: Fix up CODEC DAI formats for big endian CPUsMark Brown
ASoC uses the standard ALSA data format definitions to specify the wire format used between the CPU and CODEC. Since the ALSA data formats all include the endianess of the data but this information is not relevant by the time the data has been encoded onto the serial link to the CODEC this means that either all the CODEC drivers need to declare both big and little endian variants or the core needs to fix up the format constraints specified by CODEC drivers. For now take the latter approach - this will need to be revisited if any CODECs are endianness dependant. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-08ASoC: AFEB9260 driverSergey Lapin
ASoC driver for AT91SAM9260-based AFEB9260 board Signed-off-by: Sergey Lapin <slapin@ossfans.org> 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-05Merge commit 'takashi/topic/asoc' 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: IMote2 ASoC SupportJonathan Cameron
This patch adds the ASoC side of the board support for the Crossbow IMB400 daughter board. Thanks to Crossbow for considerable assistance. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> 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-04Merge branch 'fix/asoc' into topic/asocTakashi Iwai
2009-05-04ASoC: Remove BROKEN from mpc5200 kconfigTakashi Iwai
The regression was fixed by commit 3e5b50165fd0be080044586f43fcdd460ed27610, so no need to mark this driver as BROKEN. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-04Merge branch 'fix/pcm-jiffies-check' into fix/asocTakashi Iwai
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-30ASoC: Use platform device resource for S3C64xx IISv2Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Staticise txctrl and rxctrl for S3C IISv2Mark Brown
They aren't used by anything external and aren't prototyped; if any users appear they can be exported again for them. Also report what modes we have a problem with when we encounter invalid mode configurations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Display S3C IISv2 mode and MS errors by defaultMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Display the clock rate used as the basis for rate calculationMark Brown
Aids debugging. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Allow use of resource from the platform device for S3C IISv2Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Fix boot warnings from S3C IISv2Mark Brown
On startup we try to make sure that the port is quiesced but if the port is already stopped then this will generate a warning about the RX/TX mode configuration. Configure the mode before doing the teardown to suppress these warnings. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bitMark Brown
The data format configuration for S3C64xx IISv2 is completely different to that for S3C24xx. Instead of a single bit configuration in bit 0 of IISMOD we have format selection in bits 13 and 14 and bit clock rate selection in bits 1 and 2. While we're here add support for 24 bit samples in S3C64xx. At some point it may be desirable to expose the bit clock rate selection to users but given the limited configuration options that may not be required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Make S3C64xx clock export function to return struct clkMark Brown
This makes the interface usable with the s3c-iis-v2 rate calculator and consistent with S3C2412. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Check for supported CPUs when building s3c-i2s-v2Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Fix error message formatting in s3c64xx-i2s driverMark Brown
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-28ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some driversTakashi Iwai
Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers that really don't give the precise pointer value. Signed-off-by: Takashi Iwai <tiwai@suse.de>
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: Set the MPC5200 i2s driver to BROKEN status.Jon Smirl
Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
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: Use our registration function for S3C64xxMark Brown
Make sure we get the DAI operations initialised. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>