summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: Add FLL support for WM8400Mark Brown2009-03-191-0/+129
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add separate AVDD for WM8400Mark Brown2009-03-181-0/+3
| | | | | | | 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>
* ASoC: Further optimise WM8400 bias configuration sequenceMark Brown2009-03-181-25/+2
| | | | | | | The active discharge does not bring sufficient benefit to justify the lengthy times involved so don't do that. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: twl4030 - Fix build errorJoonyoung Shim2009-03-161-5/+7
| | | | | | | | | | | | | | | | | | | | CC sound/soc/codecs/twl4030.o sound/soc/codecs/twl4030.c:1400: warning: braces around scalar initializer sound/soc/codecs/twl4030.c:1400: warning: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1401: error: field name not in record or union initializer sound/soc/codecs/twl4030.c:1401: error: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1401: warning: initialization from incompatible pointer type sound/soc/codecs/twl4030.c:1402: error: field name not in record or union initializer sound/soc/codecs/twl4030.c:1402: error: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1402: warning: excess elements in scalar initializer sound/soc/codecs/twl4030.c:1402: warning: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1403: error: field name not in record or union initializer sound/soc/codecs/twl4030.c:1403: error: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1403: warning: excess elements in scalar initializer sound/soc/codecs/twl4030.c:1403: warning: (near initialization for 'twl4030_dai.ops') Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls.Philipp Zabel2009-03-123-35/+11
| | | | | | | | | The drivers are basically duplicating the same code over and over. As snd_soc_cnew is going to be made static some time after the next merge window, we might as well convert them now. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Move WM8580 to normal I2C device probeMark Brown2009-03-122-173/+158
| | | | | | | Refactor the WM8580 device registration to probe via standard I2C device registration, registering the DAIs once the device has probed via I2C. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Merge dai_ops factor outMark Brown2009-03-1125-220/+295
|\ | | | | | | | | | | | | | | Merge Eric Maio's patch to merge snd_soc_dai_ops out of line. Fixed merge issues and updated drivers, plus an issue with the ops for the two s3c2443 AC97 DAIs having been merged. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: make ops a pointer in 'struct snd_soc_dai'Eric Miao2009-03-0423-211/+282
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Considering the fact that most cpu_dai or codec_dai are using a same 'snd_soc_dai_ops' for several similar interfaces, 'ops' would be better made a pointer instead, to make sharing easier and code a bit cleaner. The patch below is rather preliminary since the asoc tree is being actively developed, and this touches almost every piece of code, (and possibly many others in development need to be changed as well). Building of all codecs are OK, yet to every SoC, I didn't test that. Signed-off-by: Eric Miao <eric.miao@marvell.com> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove version display from WM8580 driverMark Brown2009-03-111-4/+0
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add initial driver for the WM8400 CODECMark Brown2009-03-114-0/+1547
| | | | | | | | | | | | | | | | | | | | | | | | The WM8400 is a highly integrated audio CODEC and power management unit intended for mobile multimedia application. This driver supports the primary audio CODEC features, including: - 1W speaker driver - Fully differential headphone output - Up to 4 differential microphone inputs Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add a driver for AK4104 S/PDIF transmitterDaniel Mack2009-03-094-0/+376
| | | | | | | | | | | | | | | | | | | | | | This adds a driver for the SPI connected AK4104 S/PDIF transmitter device. Its features are fairly simple, but as there is need to set up certain bits in the IEC958 information, this better goes into a real driver. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Mark Brown <broonie@sirena.org.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove unneeded forward reference to WM8753 SPI implementationMark Brown2009-03-081-5/+0
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: bring cs4270 feature/limitations list in syncDaniel Mack2009-03-081-8/+7
| | | | | | | | | | | | | | | | | | Removes numbers from the list of features/limitations and makes it reflect recent changes to the code. Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Blackfin: fix typo in MUTE definitionMike Frysinger2009-03-061-1/+1
| | | | | | | | | | | | | | Reported-by: Rob Maris <maris.rob@vdi.de> Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Make the HS ramp delay configurablePeter Ujfalusi2009-03-061-4/+14
| | | | | | | | | | | | | | Enum type for selecting the desired ramp delay for the headset output. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: wm8510 pll settingsJonas Andersson2009-03-041-2/+2
| | | | | | | | | | | | | | | | | | | | When setting WM8510_MCLKDIV the pll was turned off. When setting pll frequency you got twice the expected freq, because the code calculated with postscaler of 8, but the hardware divide by 4. Signed-off-by: Jonas Andersson <jonas@microbit.se> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: UDA1380: DATAI is slave onlyPhilipp Zabel2009-03-031-2/+7
| | | | | | | | | | | | | | Only allow SND_SOC_DAIFMT_CBS_CFS for the playback DAI. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: UDA1380: change decimator/interpolator register handlingPhilipp Zabel2009-03-031-54/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the UDA1380's interpolator or decimator are set to be clocked from the WSPLL (which syncs to the WSI signal), the DAI link must be running to change the interpolator/decimator registers (which include volume controls and digital mute setting). * Queue work in the alsa PCM_START .trigger to flush registers as soon as the link is running. This replaces the .prepare and .digital_mute callbacks. * Use the SILENCE override instead of MTM for muting and remove its alsa control to avoid confusion. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove version display from the UDA1380 driverPhilipp Zabel2009-03-031-4/+0
|/ | | | | Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: fix typo and removed unneeded switch case for cs4270Daniel Mack2009-03-021-3/+1
| | | | | | | | | This removes a misspelled comment and got rid of superfluous switch case. Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add cs4270 support for slave mode configurationsDaniel Mack2009-02-281-1/+23
| | | | | | | | Added support for scenarios where the Cirrus CS4270 audio codec is slave to the bitclk and lrclk. Mixed setups are unsupported. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8753 - Fix build errorTakashi Iwai2009-02-261-1/+2
| | | | | | | | sound/soc/codecs/wm8753.c: In function 'wm8753_probe': sound/soc/codecs/wm8753.c:1577: error: implicit declaration of function 'wm8753_add_controls' Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: Only write back non-default registers when resuming WM8753Mark Brown2009-02-241-0/+5
| | | | | | | | This will reduce the number of writes done on resume, allowing that to complete faster (especially on systems with very slow I2C like the current Samsung driver). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Convert WM8753 to register via normal device probeMark Brown2009-02-242-204/+171
| | | | | | | The base support for the only in-tree user, the GTA01, is out of tree and will be updated separately. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Shuffle WM8753 device registration codeMark Brown2009-02-241-104/+105
| | | | | | | This patch should be pure code motion, separating that out from the functional changes to move to new style device registration. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Improve WM9713 voice DAC shutdown procedureMark Brown2009-02-241-3/+4
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Only unregister drivers we registered for WM8753Mark Brown2009-02-221-3/+7
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Report I/O errors from WM8753 resetMark Brown2009-02-221-1/+5
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Disable WM8731 line bypass by defaultMark Brown2009-02-191-0/+4
| | | | | | | | This avoids temporarily enabling the ouput stages during startup which can cause audible effets in the output stages. Reported-by: Fredrik Redgård <rik@svep.se> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add device init/exit annotations to new-style Wolfson CODEC driversMark Brown2009-02-184-13/+13
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Check for errors when writing WM8731 reset registerMark Brown2009-02-181-1/+6
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TWL4030: Add digital loopback supportPeter Ujfalusi2009-02-181-6/+50
| | | | | | | | | | | | | | | This patch adds the digital loopback/bypass support for twl4030 codec. The digital loopback will let the digimic0 (routed in the TX1 capture path inside of TWL4030) data to be routed back to the RX2 playback path (I2S stereo). It can also route the analog capture date routed through the TX1 back to RX2. Effectively the digital loopback is routing the audio from the TX1 capture path to the RX2 playback path. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Implement SPI device unregistration for WM8731Mark Brown2009-02-181-1/+6
| | | | | | Completely untested. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove version display from the WM8753 driverMark Brown2009-02-181-4/+0
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Refactor WM8731 device registrationMark Brown2009-02-182-193/+147
| | | | | | | | | | | | | Move the WM8731 driver to use a more standard device registration scheme where the device can be registered independantly of the ASoC probe. As a transition measure push the current manual code for registering the WM8731 into the individual machine driver probes. This allows separate patches to update the relevant architecture files with less risk of merge issues. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Shuffle WM8731 SPI and I2C device registrationMark Brown2009-02-181-103/+112
| | | | | | | This is a pure code motion patch intended to improve reviewability of a following patch moving WM8731 to use more standard device registration. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Clean up WM8731 bias level configurationMark Brown2009-02-171-5/+3
| | | | | | | The WM8731 bias level configuration function was written slightly obscurely - streamline the code a little and refresh the comments. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove version display from the WM8731 driverMark Brown2009-02-171-4/+0
| | | | | | It makes boot a bit more noisy and I never remember to update it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix WM8753 DAIs unregisteringPaul Fertser2009-02-171-0/+5
| | | | | | | | | | | WM8753 uses a tricky way to switch DAIs "on the fly", for that it registers 2 dummy DAIs and substitutes them depending on mixer control. List element of registered dummy DAIs should be preserved to allow unregistering of DAIs on module unload. Signed-off-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: add additional controls to the CS4270 codec driverTimur Tabi2009-02-132-59/+40
| | | | | | | | | | | | | | | | | Update the CS4270 codec driver to allow applications to use the mixer to control Digital Loopback, Soft Ramp, Zero Cross, Popguard, and Auto-Mute. Soft Ramp, Zero Cross, and Auto-Mute are disabled by the driver when it first initializes the hardware, but these features either don't work or interfere with normal ALSA behavior. However, they can now be re-enabled by an application if desired. Remove CONFIG_SND_SOC_CS4270_HWMUTE and always allow ASoC to control the mute bits. The driver previously and erroneously assumed that these bits control only external muting circuitry, but they also control internal muting circuitry, so they should always be used. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TLV320AIC3X: Add TLV information for volume controlsJarkko Nikula2009-02-091-41/+73
| | | | | | | TLV320AIC3X volume controls are logarithmic. Export their dB ranges. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: TLV320AIC3X: Fix volume rangesJarkko Nikula2009-02-091-19/+19
| | | | | | | | | | | | | | This is a minor fix but helps to define dB ranges for volume controls. Only DAC digital volume has full register value range from 0 to 127 but ADC PGA gain and output stage volume controls don't. For ADC PGA, maximum value is 119 and then it saturates to the same gain value of 59.5 dB. For output stages, value 117 corresponds to -78.3 dB and is muted for values 118 and above. Signed-off-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-02-062-5/+10
|\
| * ASoC: WM8990: Fix kcontrol's private value use in put callbackJarkko Nikula2009-02-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Function wm899x_outpga_put_volsw_vu misuses the kcontrol's private value by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it as a pointer into struct soc_mixer_control after the commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf. This is very similar fix than fix to TLV320AIC3X codec made by Eero Nurkkala <ext-eero.nurkkala@nokia.com>. This fix is compile tested only. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Cc: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: TLV320AIC3X: Fix kcontrol's private value use in put callbackEero Nurkkala2009-02-061-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Function snd_soc_dapm_put_volsw_aic3x misuses the kcontrol's private value by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it as a pointer into struct soc_mixer_control after the commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf. This was causing arbitrary register writes when touching the controls defined with SOC_DAPM_SINGLE_AIC3X. Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: uda1380: split set_dai_fmt into _both, _playback and _capture variantsPhilipp Zabel2009-02-041-7/+61
| | | | | | | | | | | | | | | | | | | | | | This patch splits set_dai_fmt into three variants (single interface, dual interface playback only, dual interface capture only) so that data input and output formats can be configured separately for dual interface setups. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Tested-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Don't unconditionally use the PLL in UDA1380Vasily Khoruzhick2009-02-031-2/+2
| | | | | | | | | | | | | | | | | | Without this fix driver switches to WSPLL in uda1380_pcm_prepare even if SYSCLK was chosen (uda1380_pcm_prepare modifies UDA1380_CLK register to disable R00_DAC_CLK before flushing reg cache) Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'fix/asoc' into topic/asocTakashi Iwai2009-02-032-3/+2
|\ \ | |/
| * ALSA: ASoC: email - update email addresses.Liam Girdwood2009-02-032-3/+2
| | | | | | | | | | | | | | | | This just updates my email address on some drivers I'd forgotten in a previous patch. Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ASoC: fix message display in CS4270 codec driverTimur Tabi2009-02-021-27/+39
| | | | | | | | | | | | | | | | Replace printk calls with dev_xxx calls. Set the 'dev' field of the codec and codec_dai structures so that these calls work. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud