summaryrefslogtreecommitdiffstats
path: root/sound/soc
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: fix compilation breakage in sound/soc/sh/fsi.cGuennadi Liakhovetski2010-02-031-23/+17
| | | | | | | | | | | ctrl_outl() has become void at some point, which breaks compilation of fsi.c. Make writing functions void, as their output is anyway not evaluated, and use __raw_writel and __raw_readl instead of deprecated ctrl_outl and ctrl_inl respectively. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: fix PXA SSP port resumeDaniel Mack2010-02-021-5/+7
| | | | | | | | | | | | Unconditionally save the register states when suspending and restore them again at resume time. Register contents were not preserved over suspend, and hence the driver takes false assumptions about them. The clock must be enabled to access the register block. Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix continuation line formatsJoe Perches2010-02-021-2/+1
| | | | | | | | | String constants that are continued on subsequent lines with \ are not good. Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix BCLK calculation of WM8994Joonyoung Shim2010-02-021-5/+2
| | | | | | | | This fixes BCLK calculation and removes unnecessary check code. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix WM8994 dependencyMark Brown2010-02-021-1/+1
| | | | | | | The dependency on MFD_WM8994 rather than I2C went awry. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Add WM8994 CODEC driverMark Brown2010-02-014-0/+3902
| | | | | | | | | | | The WM8994 is a highly integrated ultra-low power hi-fi audio subsystem designed for smartphones and other portable devices rich in multimedia features. It provides advanced digital mixing facilities enabling low power high quality interconnection of CPU, baseband and other audio sources through flexible digital and analogue routing, and integrates a class W headphone driver and stereo class D speaker drivers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Activate DCS correction for WM8993Mark Brown2010-02-011-1/+2
| | | | | | | Use a two code correction for optimal performance. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Improved wm_hubs headphone handlingMark Brown2010-02-013-26/+130
| | | | | | | | | | | | | | | Perform DC servo offset calibration using a series update sequence rather than startup update sequence, tuning the configuration of the WM8993 DC servo to make best use of this. Also introduce currently unused data allowing us to correct for any systematic errors in the DC servo calibration results and an alternative startup path for the headphone output which performs better with some chip revisions. The alternative setup sequence is enabled for WM8993. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Fix continuation line formatsJoe Perches2010-02-013-10/+4
| | | | | | | | | String constants that are continued on subsequent lines with \ are not good. Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: improve MCLKDIV calculation in wm8978, when OPCLK is not usedGuennadi Liakhovetski2010-02-011-37/+78
| | | | | | | | | | | In case, if OPCLK is not used, and PLL is used for driving the codec, the choice of PLL output frequency could result in a needlessly imprecise system clock frequency. Use an iterative process to select a precise configuration. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: clean up wm8974 and wm8978 clock divider handlingGuennadi Liakhovetski2010-01-295-41/+9
| | | | | | | | | | | | wm8974 and wm8978 codec drivers control DAC and ADC oversampling rates in their .set_clkdiv() methods, which is wrong, because these are simple boolean switches and not clock dividers. Move these bits to sound controls. Also remove manual configuration of the MCLK divider in wm8978, since it is configured automatically. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'for-2.6.33' into for-2.6.34Mark Brown2010-01-292-2/+2
|\
| * ASoC: AM3517: ASoC driver not getting compiledAnuj Aggarwal2010-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | Commit 761c9d45 (ASoC: Fix build of OMAP sound drivers) changes CONFIG_MACH_OMAP3517EVM -> CONFIG_SND_OMAP_SOC_OMAP3517EVM in the Makefile. Whereas the config option defined in Kconfig is SND_OMAP_SOC_AM3517EVM. Because of this, ASoC driver for AM3517 was not getting compiled. Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: AIC23: Fixing writes to non-existing registers in resume functionAnuj Aggarwal2010-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | Commit e9ff5eb2 (Fixing infinite loop in resume path) uses wrong AIC23 register in resume function because of which register writes happen on some non-existing registers. Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: remove bogus SLEEP mode from wm8978 driverGuennadi Liakhovetski2010-01-291-5/+0
| | | | | | | | | | | | | | | | | | | | Tests showed, that bit 6 of the WM8978_POWER_MANAGEMENT_2 register of wm8978 affects codec clocks. Being useless for suspend / resume, it cannot be used in bias-level control either. Remove this bit handling. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: add support for the sh7722 Migo-R boardGuennadi Liakhovetski2010-01-293-0/+232
| | | | | | | | | | | | | | | | | | | | Add support for audio on sh7722-based Migo-R boards, using SIU and wm8978 codec, recording via external microphone and playback via headphones are implemented. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AC97: SMDK-WM9713: Convert notes from cset to ssetJassi Brar2010-01-291-16/+7
| | | | | | | | | | | | | | | | | | It's more robust when references are provided in control names rather than numid. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Set codec->dev for AC97 devicesMark Brown2010-01-281-0/+1
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Add TLV information and additional volumes to WM9713Mark Brown2010-01-281-16/+44
| | | | | | | | | | | | | | | | Also renames a few things to make volumes and switches match up in alsamixer. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Remove version display from WM9713Mark Brown2010-01-281-4/+0
| | | | | | | | | | | | | | | | The version isn't being updated or used, the kernel revision tracking is enough. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: TWL4030: Modify codec default settingsPeter Ujfalusi2010-01-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the legacy default register configuration, which left some internal components on. Now we have either DAPM, or other ways to control these bits, so there is no need to enable them by default. The affected parts: Disable ADCL and ADCR Disable ARXL2 and ARXR2 analog PGA (playback) Disable APLL by default Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: fsi: Add spin lock operation for accessing shared areaKuninori Morimoto2010-01-281-3/+26
| | | | | | | | | | | | | | | | | | fsi_master_xxx function should be protected by spin lock, because it are used from both FSI-A and FSI-B. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: add a WM8978 codec driverGuennadi Liakhovetski2010-01-274-0/+1219
| | | | | | | | | | | | | | | | | | | | | | The WM8978 codec from Wolfson Microelectronics is very similar to wm8974, but is stereo and also has some differences in pin configuration and internal signal routing. This driver is based on wm8974 and takes the differences into account. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Note jumper settings for smdk_wm9713 driver on SMDK6410Mark Brown2010-01-271-0/+6
| | | | | | | | | | | | | | | | The board supports both GPIO sets for the AC97 bus and the analogue outputs can be switched between this and the WM8580 so add some comments saying what the setup the standard kernel expects is. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AC97: S3C2443: Remove unused driverJassi Brar2010-01-274-462/+0
| | | | | | | | | | | | | | | | | | Since, we have generic AC97 controller driver and all the machines have moved to that, there is no need for old s3c2443-ac97.c to exist. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AC97: LN2440SBC: Switch to s3c-ac97.cJassi Brar2010-01-272-6/+5
| | | | | | | | | | | | | | | | Switch to use s3c-ac97.c AC97 controller driver. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AC97: SMDK2443: Switch to s3c-ac97.cJassi Brar2010-01-272-3/+5
| | | | | | | | | | | | | | | | Switch to use s3c-ac97.c AC97 controller driver. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AC97: SMDK: Add wm9713 machine driverJassi Brar2010-01-273-0/+107
| | | | | | | | | | | | | | | | | | This patch adds the common machine driver for SMDKs that have a WM9713 codec attched to the AC97 controller. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AC97: S3C: Add controller driverJassi Brar2010-01-274-2/+548
| | | | | | | | | | | | | | | | Add the AC97 controller driver for Samsung SoCs that have one. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: ad1938: use soc-cache framework for codec registers accessBarry Song2010-01-272-128/+144
| | | | | | | | | | | | Signed-off-by: Barry Song <Barry.Song@analog.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: ad1836: use soc-cache framework for codec registers accessBarry Song2010-01-272-69/+90
| | | | | | | | | | | | Signed-off-by: Barry Song <Barry.Song@analog.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: DaVinci: Fix stream restart errorChaithrika U S2010-01-261-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Sometimes after a suspend-resume cycle, the ALSA application restarts the stream when resume fails and McASP fails to work as the clock is not enabled. This patch corrects this bug. Testes on TI DA850/OMAP-L138 EVM. Signed-off-by: Chaithrika U S <chaithrika@ti.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.33' into for-2.6.34Mark Brown2010-01-251-1/+2
|\ \ | |/
| * ASoC: fix a memory-leak in wm8903Guennadi Liakhovetski2010-01-251-1/+2
| | | | | | | | | | | | | | | | | | Remember to free the temporary register-cache. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* | ASoC: ad1836: reset and restore clock control mode in suspend/resume entryBarry Song2010-01-252-0/+33
| | | | | | | | | | | | | | | | | | | | | | tests show frequent suspend/resume(frequent poweroff/on ad1836 internal components) maybe make ad1836 clock mode wrong sometimes after wakeup. This patch reset/restore ad1836 clock mode while executing PM, then ad1836 can always resume to right clock status. Signed-off-by: Barry Song <21cnbao@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: add DAI and platform / DMA drivers for SH SIUGuennadi Liakhovetski2010-01-255-0/+1664
| | | | | | | | | | | | | | | | | | | | Several SuperH platforms, including sh7722, sh7343, sh7354, sh7367 include a Sound Interface Unit (SIU). This patch adds DAI and platform / DMA drivers for this interface. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Use BIAS_OFF when idle for wm_hubs devicesMark Brown2010-01-211-0/+6
| | | | | | | | | | | | | | This provides a small power saving when audio is inactive. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Support turning off bias when the CODEC is idleMark Brown2010-01-211-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently ASoC always maintains the bias of the CODEC while the system is active. With older mobile CODECs this is required since the outputs are referenced to a non-zero voltage and enabling or disabling this voltage without audible pops or clicks in the output takes too long to do when starting or stopping audio. As a result of features such as ground referenced outputs and class D speaker drivers current generation devices are able to power on and off much more quickly without these system level issues so provide a new flag idle_bias_off in snd_soc_codec which will cause the core to turn off the CODEC bias. The distinction between STANDBY and OFF is still maintained. This is partly for consistency but also allows for potential future extensions such as per-machine overrides or deferring the bias removal. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Remove console DAPM debug codeMark Brown2010-01-211-77/+3
| | | | | | | | | | | | | | | | | | The same information is now visible via debugfs and with large modern devices dumping everything to the console can be very resource intensive, causing more harm than good. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: tlv320dac33: Burst mode BCLK divider configurationPeter Ujfalusi2010-01-201-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Add possibility to configure the burst mode BCLK divider through platform data structure. The BCLK divider changes the actual speed of the serial bus in burst mode, which is faster than the sampling frequency of the running stream. In this way platforms can experiment with the optimal burst speed without the need to modify the codec driver itself. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: tlv320dac33: BCLK divider fixPeter Ujfalusi2010-01-201-5/+6
| | | | | | | | | | | | | | | | | | | | | | The BCLK divider was not configured in case of mode7. This leads to unpredictable behavior when switching between FIFO modes. Configure the BCLK divider depending on the fifo_mode (FIFO is in use, or FIFO bypass). Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: tlv320dac33: Correct the prefill number of samplesPeter Ujfalusi2010-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | Set the prefill number of samples as the same as the lower threshold in mode7. In this way the codec will read the same amount of data on startup and during the running playback. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'mxc-audio' into for-2.6.34Mark Brown2010-01-1711-1950/+1597
|\ \ | | | | | | | | | | | | | | | Conflicts: arch/arm/plat-mxc/Makefile (dual add) sound/soc/imx/mx27vis_wm8974.c (API updates & removal)
| * | ASoC: Mark new i.MX drivers as BROKEN until arch/arm mergedMark Brown2010-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | Currently they don't build due to cross tree dependencies, they will be reenabled once the arch/arm side has merged. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Remove old i.MX driver codeMark Brown2010-01-175-1929/+0
| | | | | | | | | | | | | | | | | | | | | This has been superceeded by Sascha's new driver but was not removed in the patch series due to cutdowns for review. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: i.MX SSI driver does not yet support master modeMark Brown2010-01-171-8/+4
| | | | | | | | | | | | | | | | | | The clocks for the SSI block need handling before this can work. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Convert new i.MX SSI driver to use static DAI arrayMark Brown2010-01-172-22/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While dynamically allocated DAIs are the way forward the core doesn't yet support anything except matching with a pointer to the actual DAI so convert to doing that so that machine drivers don't have to jump through hoops to register themselves. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Javier Martin <javier.martin@vista-silicon.com>
| * | ASoC: Fix i.MX audio build for i.MX3xMark Brown2010-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Don't unconditionally include the i.MX2x DMA driver, the arch/arm functions it uses aren't available for i.MX3x. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Javier Martin <javier.martin@vista-silicon.com>
| * | ASoC: Add a new imx-ssi sound driverSascha Hauer2010-01-176-20/+1602
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old driver has the number of SSI units in the system hardcoded, does not make use of the device model and works only on i.MX21/27. This driver replaces it. It works in DMA mode on i.MX21/27 and using an FIQ handler on other systems. It also supports AC97 mode of the SSI units. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Javier Martin <javier.martin@vista-silicon.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: support more sample rates on raumfeld devicesDaniel Mack2010-01-151-21/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for sample rates other than 44100Khz on raumfeld audio devices. At startup time, call snd_soc_dai_set_sysclk() with 0 as 'freq' argument so it offers all the sample rates. Later, the function is called again to give proper constraints. Use the external audio clock generator to provide double data rate clocks as the PXA's internal baud generator does anything but what's described in the datasheets. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud