summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: tlv320aic3x: Move regulator management from i2c to soc domainJarkko Nikula2010-09-201-50/+50
| | | | | | | | | | It will be easier to keep regulator enable/disable calls in sync when dynamic regulator management is added if regulator management is moved from aic3x_i2c_probe/_remove to aic3x_probe/_remove. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* Merge remote branch 'asoc/for-2.6.37' into for-2.6.37Liam Girdwood2010-09-201-148/+115
|\
| * ASoC: tlv320aic3x: Complete the soc-cache conversionJarkko Nikula2010-09-151-16/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Complete the phasing out of aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and aic3x_write calls. This patch uses in aic3x_read the codec->hw_read that points to a function implemented by soc-cache. Only use for aic3x_read is if wanting to read volatile bits from those registers that has both read-only and read/write bits. All other cases should use snd_soc_read. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * ASoC: tlv320aic3x: Switch to soc-cache helpersJarkko Nikula2010-09-151-37/+9
| | | | | | | | | | | | | | | | | | | | | | | | Continue phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and aic3x_write calls. This patch takes the soc-cache in use and removes aic3x_read_reg_cache and aic3x_write. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * ASoC: tlv320aic3x: Use snd_soc_read and snd_soc_writeJarkko Nikula2010-09-151-96/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | Start phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and aic3x_write calls in order to switch to soc-cache helpers. This patch replaces aic3x_read_reg_cache and aic3x_write with snd_soc_read and snd_soc_write. This is basically null-op since .read and .write in soc_codec_dev_aic3x points to aic3x_read_reg_cache and aic3x_write. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: tlv320aic3x: Add virtual output pin DetectionJarkko Nikula2010-09-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose of this virtual Detection pin is to keep codec bias on whenever the GPIO or jack detection features are needed. Jack detection needs a mic bias so machine drivers can construct a following route for instance for keeping the path and codec bias on: "Input Jack" -> "Mic Bias xV" -> "Detection" -> detection block inside codec. For the GPIO the machine driver can force the pin on with snd_soc_dapm_force_enable_pin. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37Liam Girdwood2010-09-2032-48/+2286
|\ \ | |/ |/|
| * ASoC: da7210: code clean upKuninori Morimoto2010-09-161-9/+9
| | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: ak4642: code clean upKuninori Morimoto2010-09-161-11/+11
| | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: WM8985: Initial driverDimitris Papastamos2010-09-154-0/+2246
| | | | | | | | | | | | | | | | | | | | The WM8985 is a low power, high quality, feature-rich stereo CODEC designed for portable multimedia applications that require low power consumption and high quality audio. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Change my mail addressArnaud Patard (Rtp)2010-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | Like other coworkers, I'm about leave Mandriva/Edge-It so I'm changing my mail address to use my personal one. Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Arnaud Patard <apatard@mandriva.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFFJarkko Nikula2010-09-158-9/+0
| | | | | | | | | | | | | | | | | | This assignment is done by the snd_soc_register_codec so there is no need to redo it in probe function of a codec driver. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Fix off-by-one bug in WM8962 register cache size configurationDimitris Papastamos2010-09-111-1/+1
| | | | | | | | | | | | | | | | | | This is a simple off-by-one bug, the size of the register cache is incorrectly set to the maximum register index. Fix it by adding one. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Fix incorrect register cache size configurationDimitris Papastamos2010-09-1017-17/+17
| | | | | | | | | | | | | | | | | | | | | | The reg_cache_size is the number of elements in the register cache, not the size of the cache itself. This is not a problem if the size of each element of the cache is 1 byte but it matters in any other case. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: ad1980 - set reg_cache_default to ad1980_regAxel Lin2010-09-101-0/+1
| | | | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: WL1273 FM Radio: Eliminate unnecessary error return value.Matti J. Aaltonen2010-09-111-0/+3
| | | | | | | | | | | | | | | | | | | | With this change it's not a error to call wl1273_set_audio_route when the codec is active if the new routing value is the same as the current active setting. Signed-off-by: Matti J. Aaltonen <matti.j.aaltonen@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: tlv320aic3x: Optimize PLL programming in aic3x_set_bias_levelJarkko Nikula2010-09-111-4/+6
|/ | | | | | | | | There is only need to enable/disable once the PLL when the bias is going between on, prepare, standby and off states. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: UDA1380: Add delay between power on and resetVasily Khoruzhick2010-09-081-0/+1
| | | | | | Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove export of CS4270 DAIMark Brown2010-09-071-1/+0
| | | | | | | | Not needed with multi-component. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Timur Tabi <timur@freescale.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Staticise WM9712 DAI listMark Brown2010-09-061-1/+1
| | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Fix cut'n'paste comment in WM8994Mark Brown2010-09-061-1/+1
| | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* Merge branch 'for-2.6.37' of ↵Mark Brown2010-09-062-276/+307
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into for-2.6.37
| * ASoC: tlv320aic3x: Fix null pointer dereference when pdata is not setJarkko Nikula2010-09-061-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | Null pointer dereference will occur from *setup = pdata->setup if pdata is not set. Fix this by moving assignments from pdata inside non-null case. Thanks to Jiri Slaby <jirislaby@gmail.com> for noticing. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Cc: Jiri Slaby <jirislaby@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * ASoC: tlv320aic3x: Sanitize output controlsJarkko Nikula2010-08-281-38/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently output controls are not uniform. Some routes are adjusted by mono controls that don't match to associated mixer switch, many routes are not covered at all and stereo controls have following variants: - L-to-L & R-to-R - R-to-L & R-to-R - L-to-L & R-to-L This patch attempts to fix these issues. First, for the convenience, only direct L-to-L, R-to-R and [L | R]-to-Mono routes are controlled by the stereo controls. This logic is also used with the output pin mute controls so all of them except mono output are controlled by stereo switches. Then rest of the swapped L-to-R and R-to-L routes are controlled by the mono controls that map to mixer switches with a same name. Mixers can then associate these switches and volumes together. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * ASoC: tlv320aic3x: Reimplement output mixersJarkko Nikula2010-08-282-207/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turned out that the output mixers and their routes were misdefined: They are not mixing output pins to internal signals but opposite. This has worked for direct left-to-left and right-to-right routes since for those there are complete routes. For swapped left-to-right and right-to-left routes this is not working since there are no routes defined between them. Another consequence is that those misdefined mixers are incorrectly routed to several output pins leading unnecessary pin powerings even if there is no route active to them. Fix these by reimplementing the output mixers and routes as they are in hardware. For completeness add also a few missing links between internal signals and outputs. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * ASoC: tlv320aic3x: Sort output pin control registers in header fileJarkko Nikula2010-08-281-22/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Each output pin has 7 consecutive control registers in tlv320aic3x register map. First 6 of them control the signal mixing and one is for output level and power control. Sort these registers as they are sorted clearly in hardware, it makes also definitions more readable and easier to pinpoint missing register definitions. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * ASoC: tlv320aic3x: Fix remaining output pin switch namesJarkko Nikula2010-08-281-3/+3
| | | | | | | | | | | | | | | | | | | | Bit 3 in output pin_CTRL register mutes the whole output pin not just the route from DAC so remove misleading DAC from control name. Currently only "Line[L | R] Playback Switch" were correct. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37Liam Girdwood2010-08-239-14/+1694
| |\
| * | ASoC: Fix tlv320aic3x GPIO initializationJarkko Nikula2010-08-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aic3x_init does a soft reset first and thus TLV320AIC3x GPIO setup must be done after doing the basic init. Before multi-component the init was done at i2c probe time and GPIO setup at soc probe time. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: wm8753, remove dead codeJiri Slaby2010-09-061-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | There is adangling code in wm8753_probe which is never executed. Remove it. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Acked-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: ak4642: Revive ak4642_snd_controlsKuninori Morimoto2010-09-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch revive ak4642_snd_controls which was removed on f0fba2ad1b6b53d5360125c41953b7afcd6deff0 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Added a missing 32-bit PCM format, to the wm8994 codec.Ian Lartey2010-09-011-1/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Implement WM8994 DAC data source muxesMark Brown2010-09-011-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow selection of the channel used for input to the AIFnDAC signals. This isn't integrated into DAPM since we treat the data as a single mono channel until just beyond this selection so it ends up having no visible effect on the routing. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: OpenRD Client : Fix naming breakage due to multicomponent supportArnaud Patard (Rtp)2010-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | multicomponent support added/changed some device name but added some typos, breaking existing OpenRD Client support. Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: uda1380: make driver more powersave-friendlyVasily Khoruzhick2010-08-311-40/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable some codec modules in standby mode, completely disable codec in off mode to save some power. Fix suspend/resume: mark mixer regs as dirty on resume to restore mixer values, otherwise driver produces no sound (master is muted by default). Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Acked-by: Marek Vasut <marek.vasut@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: ad1980: remove unneeded function declarationUwe Kleine-König2010-08-281-5/+0
| | | | | | | | | | | | | | | | | | Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Complete supported clock ratios and rate constraints for wm8741Ian Lartey2010-08-281-51/+124
| | | | | | | | | | | | | | | | | | Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Make codec dai naming for WM8741 consistentIan Lartey2010-08-231-1/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Add build infrastructure for WL1273Mark Brown2010-08-232-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | The Makefile and Kconfig updates for WL1273 appear to have been mising from the patch posted, add them. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: Log WM8994 separate ADC LRCLKs every time we configureMark Brown2010-08-231-4/+8
| |/ |/| | | | | | | | | | | | | This makes it that little bit easier to spot the diagnostics in the logs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | Merge branch 'for-2.6.37' of ↵Mark Brown2010-08-202-0/+626
|\ \ | |/ | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into for-2.6.37
| * ASoC: TI WL1273 FM Radio Codec.Matti J. Aaltonen2010-08-202-0/+626
| | | | | | | | | | | | | | | | This is an ALSA codec for the Texas Instruments WL1273 FM Radio. Signed-off-by: Matti J. Aaltonen <matti.j.aaltonen@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Add support for tlv320aic3007 to tlv320aic3x codec.Randolph Chung2010-08-202-10/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the tlv320aic3007 codec to the tlv320aic3x driver. The tlv320aic3007 is similar to the aic31, but has an additional class-D speaker amp. The speaker amp control register overlaps with the mono output register of other codecs in this family, so we add logic to identify the actual codec being registered to set things up accordingly. Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Use a more adequate name for the CX20442 codec DAIJanusz Krzysztofik2010-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | In the process of unification of codec DAI names while implementing multi-component, the CX20442 codec DAI has been renamed to "cx20442-hifi". This new name seems not adequate for a 8kHz voice codec. Use a better name, "cx20442-voice", as suggested by Liam Girdwood. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Configure symmetric rates for tlv320aic3xRandolph Chung2010-08-191-0/+1
| | | | | | | | | | | | | | | | | | The tlv320aic3x codec driver only supports symmetric rates for capture/ playback. Set the flag in the DAI accordingly. Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: add 88pm860x codec driverHaojian Zhuang2010-08-184-0/+1589
| | | | | | | | | | | | | | | | | | Add 88PM860x codec driver. 88PM860x codec supports two interfaces. And it also supports headset/mic/hook/short detection. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Support non-crystal master clocks for WM8731Mark Brown2010-08-182-3/+32
|/ | | | | | | | | | | | | | Instead of unconditionally enabling the crystal oscillator on the WM8731 only enable it when explicitly selected via set_sysclk(), allowing machine drivers to specify that they drive a clock into MCLK alone. This avoids any conflicts between the oscillator and the external MCLK source and saves power for systems which do not need the oscillator. This should also deliver a small power saving on systems using the crystal since the oscillator will only be enabled when the ADC or DAC is active. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Remove unused WM8974 private dataMark Brown2010-08-171-1/+0
| | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Fix argument ordering for snd_soc_update_bits() in WM8580Mark Brown2010-08-161-1/+1
| | | | | | Reported-by: Seungwhan Youn <claude.youn@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Fix WM8580 CLKSEL mask selectionMark Brown2010-08-161-2/+2
| | | | | | | | The RX and TX directions were inverted. Reported-by: Seungwhan Youn <claude.youn@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
OpenPOWER on IntegriCloud