summaryrefslogtreecommitdiff
path: root/sound/soc/codecs
AgeCommit message (Collapse)Author
2014-02-11ASoC: cs42l51: Convert to direct regmap API usageMark Brown
As part of phasing out the ASoC level register I/O code (which is now just a thin wrapper around regmap anyway) convert the cs42l51 driver to use the regmap API directly. We now no longer initialise the cache from hardware at startup, the regmap caches are smart enough to understand which registers are actually cached and read on demand. This should have no visible effect on the system. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Brian Austin <brian.austin@cirrus.com>
2014-02-11ASoC: cs42l51: Don't log if we fail to allocate memoryMark Brown
The VM subsystem already logs quite loudly if we run out of memory so don't bother here. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Brian Austin <brian.austin@cirrus.com>
2014-02-11ASoC: cs42l51: add Device Tree binding to cs42l51Thomas Petazzoni
This commit adds a trivial Device Tree binding to the I2C-based cs42l51 sound codec, so that it can be used from Device Tree based platforms. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-27Merge remote-tracking branches 'asoc/fix/arizona', 'asoc/fix/fsl', ↵Mark Brown
'asoc/fix/omap', 'asoc/fix/samsung', 'asoc/fix/simple', 'asoc/fix/tlv320aic32x4' and 'asoc/fix/wm5100' into asoc-linus
2014-01-27ASoC: tlv320aic32x4: Fix MICPGA input configurationMarkus Pargmann
Currently the Negative Terminal Input Routing Configuration is only set when there is a special routing configuration. If we don't use one of the inputs IN1 or IN2 as negative terminal input, the PGA and recording does not work. This patch adds a route from CM1L/CM1R to the PGA as negative input by default. With this configuration the PGA can amplify all input signals and line-in/mic works again. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-27ASoC: tlv320aic32x4: Fix mono playbackMarkus Pargmann
Playback of a mono stream should output the same stream on both channels. At the moment only the left analog signal is valid, the right one is just noise. This patch maps the left digital channel onto both DACs when receiving a mono stream. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-23ASoC: wm5100: Export wm5100_detectSachin Kamat
Export the symbol so that it is accessible to modules. Fixes the following error: ERROR: "wm5100_detect" [sound/soc/samsung/snd-soc-lowland.ko] undefined! Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-21ASoC: wm5110: Extend SYSCLK patch file for rev DCharles Keepax
Latest evaluation of the the device has given some patch file additions for improved performance. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2014-01-16Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/atmel', ↵Mark Brown
'asoc/topic/bcm2835', 'asoc/topic/docs', 'asoc/topic/fsl', 'asoc/topic/generic', 'asoc/topic/kirkwood', 'asoc/topic/mc13783', 'asoc/topic/mxs', 'asoc/topic/nuc900', 'asoc/topic/sai', 'asoc/topic/sh', 'asoc/topic/ssm2602', 'asoc/topic/tlv320aic3x', 'asoc/topic/twl4030', 'asoc/topic/ux500', 'asoc/topic/width' and 'asoc/topic/x86' into for-tiwai
2014-01-16Merge remote-tracking branch 'asoc/topic/arizona' into for-tiwaiMark Brown
2014-01-16Merge remote-tracking branches 'asoc/fix/adau1701' and ↵Mark Brown
'asoc/fix/tlv320aic32x4' into for-tiwai
2014-01-15ASoC: tlv320aic32x4: Fix regmap range_minMarkus Pargmann
range_min is the lowest address in the virtual register range. This is the first register with address 0, not the first register of page 1. Currently all writes to page 1 are mapped to page 0, so the codec fails to operate. Fixes: 4d208ca429ad (ASoC: tlv320aic32x4: Convert to direct regmap API usage) Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org (v3.13 if the fix misses -final)
2014-01-13ASoC: codec: tlv320aic32x4: Fix regmap range configMarkus Pargmann
This codec driver fails to probe because it has a higher regmap range_max value than max_register. This patch sets the range_max to the max_register value as described in the for struct regmap_range_cfg: "@range_max: Address of the highest register in virtual range." Fixes: 4d208ca429ad (ASoC: tlv320aic32x4: Convert to direct regmap API usage) Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org (v3.13 if the fix misses -final)
2014-01-13ASoC: max9850: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: max98095: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: max98090: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: max98088: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: isabelle: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: da9055: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: da732x: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: da7213: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: da7210: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: cs42l51: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: alc5632: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-13ASoC: alc5623: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-10ASoC: wm5110: Add controls for headphone short circuit protectionCharles Keepax
Add controls to enable/disable the headphone short circuit protection of the headphone outputs. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-10Merge tag 'v3.13-rc3' into asoc-arizonaMark Brown
Linux 3.13-rc3
2014-01-09ASoC: adav80x: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2014-01-09ASoC: adau1701: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2014-01-09ASoC: adau1373: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2014-01-09ASoC: ad193x: Use params_width() rather than memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2014-01-09ASoC: ad1836: Use params_width() rather than explicit memory formatMark Brown
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2014-01-09ASoC: wm_adsp: Mark wm_adsp2_boot_work as staticCharles Keepax
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: wm_adsp: Start DSP booting earlier in the DAPM processCharles Keepax
Move the start of booting the DSP to earlier in the DAPM process, and move the final starting of the DSP to later in the DAPM process. This allows us to overlap some of the processing with other components of the system being brought up. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: wm_adsp: Factor out ADSP2 boot proceedureCharles Keepax
Move the ADSP2 boot proceedure into a work structure in preparation for running it asynchronously with the reset of the audio path bring up. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: ssm2602: add 16kHz sampling rate supportAndreas Pretzsch
SSM260x also supports 16kHz with external master clocks of 12.000MHz, 12.288MHz and 18.432MHz. Add matching coefficients, update constraints and announced rates. Signed-off-by: Andreas Pretzsch <apr@cn-eng.de> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: twl4030: Pass the twl4030_priv directly to twl4030_can_write_to_chip()Peter Ujfalusi
To avoid another lookup for the twl4030_priv in there. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: twl4030: Move the ctl cache update local to twl4030_write() functionPeter Ujfalusi
There's no other users of this functionality, the code can be moved inside of twl4030_write. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: twl4030: Parameter alignment fixes (for code consistency)Peter Ujfalusi
Over time the multi line alignment got messed up. Correct them in one go so the code will look consistent. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: twl4030: Remove local reg cachePeter Ujfalusi
Depend on the regmap reg cache implementation for register caching done in the twl-core driver. The local register cache can be removed and we can keep only shadow copies of certain ctl registers for pop noise reduction. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: twl4030: Introduce local ctl register cachePeter Ujfalusi
Few registers need to be cached in the codec driver level. These registers should only be written when the path is active to avoid pop noise on the given path. This patch adds an array which covers the range where the sensitive registers are located and uppon loadinf the driver the ctl cache will be initialized. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: twl4030: Remove reset registers functionalityPeter Ujfalusi
The register states now tracked by the regmap implementation in the core which makes the reset registers functionality 'redundant' since we know the state of the registers now all the time. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: twl4030: Remove check defaults functionalityPeter Ujfalusi
No need to keep the check defaults functionality anymore. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: twl4030: Separate write condition checking from I/O functionPeter Ujfalusi
Simplifies the code a bit and prepares it to the removal of local caching. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-08ASoC: adau1701: Fix ADAU1701_SEROCTL_WORD_LEN_16 constantLars-Peter Clausen
The driver defines ADAU1701_SEROCTL_WORD_LEN_16 as 0x10 while it should be b10, so 0x2. This patch fixes it. Reported-by: Magnus Reftel <magnus.reftel@lockless.no> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2014-01-06ASoC: mc13783: trivial: Cleanup moduleAlexander Shiyan
This is a trivial cleanup: remove useless variable mc13xxx and extra spaces. No functional changes. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-06ASoC: mc13783: Drop fixed ADC & DAC ports usageAlexander Shiyan
There are no users of this driver without pdata, so stop using constant assignment of ADC and DAC ports. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-06ASoC: mc13783: Use core error messages if registration failsAlexander Shiyan
Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-06ASoC: mc13783: Use module_platform_driver_probe()Alexander Shiyan
mc13783-codec is probed only by MC13XXX MFD core driver so use module_platform_driver_probe(). Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-01-02Merge remote-tracking branches 'asoc/topic/ad1836', 'asoc/topic/ad193x', ↵Mark Brown
'asoc/topic/adav80x', 'asoc/topic/adsp', 'asoc/topic/ak4641', 'asoc/topic/ak4642', 'asoc/topic/arizona', 'asoc/topic/atmel', 'asoc/topic/au1x', 'asoc/topic/axi', 'asoc/topic/bcm2835', 'asoc/topic/blackfin', 'asoc/topic/cs4271', 'asoc/topic/cs42l52', 'asoc/topic/da7210', 'asoc/topic/davinci', 'asoc/topic/ep93xx', 'asoc/topic/fsl', 'asoc/topic/fsl-mxs', 'asoc/topic/generic', 'asoc/topic/hdmi', 'asoc/topic/jack', 'asoc/topic/jz4740', 'asoc/topic/max98090', 'asoc/topic/mxs', 'asoc/topic/omap', 'asoc/topic/pxa', 'asoc/topic/rcar', 'asoc/topic/s6000', 'asoc/topic/sai', 'asoc/topic/samsung', 'asoc/topic/sgtl5000', 'asoc/topic/spear', 'asoc/topic/ssm2518', 'asoc/topic/ssm2602', 'asoc/topic/tegra', 'asoc/topic/tlv320aic3x', 'asoc/topic/twl6040', 'asoc/topic/txx9', 'asoc/topic/uda1380', 'asoc/topic/width', 'asoc/topic/wm8510', 'asoc/topic/wm8523', 'asoc/topic/wm8580', 'asoc/topic/wm8711', 'asoc/topic/wm8728', 'asoc/topic/wm8731', 'asoc/topic/wm8741', 'asoc/topic/wm8750', 'asoc/topic/wm8753', 'asoc/topic/wm8776', 'asoc/topic/wm8804', 'asoc/topic/wm8900', 'asoc/topic/wm8901', 'asoc/topic/wm8940', 'asoc/topic/wm8962', 'asoc/topic/wm8974', 'asoc/topic/wm8985', 'asoc/topic/wm8988', 'asoc/topic/wm8990', 'asoc/topic/wm8991', 'asoc/topic/wm8994', 'asoc/topic/wm8995', 'asoc/topic/wm9081' and 'asoc/topic/x86' into asoc-next