summaryrefslogtreecommitdiff
path: root/sound/soc/codecs
AgeCommit message (Collapse)Author
2012-07-30Merge tag 'mfd-3.6-1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 Pull MFD bits from Samuel Ortiz: "We have support for a few new drivers: - Samsung s2mps11 - Wolfson Microelectronics wm5102 and wm5110 - Marvell 88PM800 and 88PM805 - TI twl6041 We also have our regular driver improvements: - Device tree and IRQ domain support for STE AB8500 - Regmap and devm_* API conversion for TI tps6586x - Device tree support for Samsung max77686 - devm_* API conversion for STE AB3100 Besides that, quite a lot of fixing and cleanup for mc13xxx, tps65910, tps65090, da9052 and twl-core." Fix up mostly trivial conflicts, with the exception of drivers/usb/host/ehci-omap.c in particular, which had some re-organization of the reset sequence (commit 1a49e2ac9651: "EHCI: centralize controller initialization") that clashed with commit 2761a6394516 ("mfd: USB: Fix the omap-usb EHCI ULPI PHY reset fix issues"). In particular, commit 2761a6394516 moved the usb_add_hcd() to the *middle* of the reset sequence, which clashes fairly badly with the reset sequence re-organization (although it could have been done inside the new omap_ehci_init() function). I left that part of commit 2761a6394516 just undone. * tag 'mfd-3.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (110 commits) mfd: Ensure AB8500 platform data is passed through db8500-prcmu to MFD Core mfd: Arizone core should select MFD_CORE mfd: Fix arizona-irq.c build by selecting REGMAP_IRQ mfd: Add debug trace on entering and leaving arizone runtime suspend mfd: Correct tps65090 cell names mfd: Remove gpio support from tps6586x core driver ARM: tegra: defconfig: Enable tps6586x gpio gpio: tps6586x: Add gpio support through platform driver mfd: Cache tps6586x register through regmap mfd: Use regmap for tps6586x register access. mfd: Use devm managed resources for tps6586x input: Add onkey support for 88PM80X PMIC mfd: Add support for twl6041 mfd: Fix twl6040 revision information mfd: Matches should be NULL when populate anatop child devices input: ab8500-ponkey: Create AB8500 domain IRQ mapping mfd: Add missing out of memory check for pcf50633 Documentation: Describe the AB8500 Device Tree bindings mfd: Add tps65910 32-kHz-crystal-input init mfd: Drop modifying mc13xxx driver's id_table in probe ...
2012-07-25mfd: Fix twl6040 revision informationPeter Ujfalusi
twl6040 ES1.1 and ES1.2 have the same revid (0x01). ES1.3 of twl6040 REVID is 0x02. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-07-19Merge tag 'asoc-3.6' of ↵Takashi Iwai
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for 3.6 This has been a pretty quiet release - very little activity in framework terms, mostly just a few new drivers and updates: - Added the ability to add and remove DAPM paths dynamically, mostly for reparenting on clock changes. - New machine drivers for Marvell Brownstone, ST-Ericsson Ux500 reference platform and ttc-dkp. - New CPU drivers for Blackfin BF6xx SPORTs in I2S mode, Marvell MMP, Synopsis Designware I2S controllers, and SPEAr DMA and S/PDIF - New CODEC drivers for Dialog DA732x, ST STA529, ST-Ericsson AB8500, TI Isabelle and Wolfson Microelectronics WM5102 and WM5110
2012-07-18ASoC: wm8994: Update micdet for irqdomain conversionMark Brown
The conversion of the core driver to irqdomains means that we don't need and irq_base to have working interrupts so use wm8994_request_irq() to deal with looking up the interrupt number for the micdet IRQ. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-12ASoC: wm8962: Redo early init of the part on resumeMark Brown
Ensure robust startup of the part by going through the reset procedure prior to resyncing the full register cache, avoiding potential intermittent faults in some designs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-07-11ASoC: wm5110: Add audio CODEC driverMark Brown
The WM5110 is a highly integrated low power audio subsystem for smartphones, tablets and other portable audio devices. It combines an advanced DSP feature set with a flexible, high performance audio hub CODEC. This patch adds the audio CODEC driver for the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-11ASoC: STA529: fix an error messageDan Carpenter
GCC complains that "ret" is uninitialized here. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-By: Rajeev Kumar <rajeev-dlh.kumar@st.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-10ASoC: arizona: Support variable FLL VCO multipliersMark Brown
Some Arizona chips have a higher frequency for the FLL VCO, support this in the common code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-10ASoC: tlv320aic3x: add input clock selectionJiri Prchal
This patch adds input selection of main codec clock - from what pin. Both registers set same value since codec uses clock divider or pll at one time. Signed-off-by: Jiri Prchal <jiri.prchal@aksignal.cz> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-10ASoC: tlv320aic3x: add AGC settingsJiri Prchal
This patch adds AGC target level and times settings for TLV320AIC3x. Enums uses small arrays of two channels left and right since it uses different registers. Signed-off-by: Jiri Prchal <jiri.prchal@aksignal.cz> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-09ASoC: tlv320aic3x: add deemphasis switchJiri Prchal
This patch adds missing deemphasis switch. Signed-off-by: Jiri Prchal <jiri.prchal@aksignal.cz> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-09ASoC: wm5102: Fix cut'n'paste for digital volume registersMark Brown
The analogue PGA shifts were used; this makes no practical difference as the values are the same. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-09ASoC: arizona: Add IN4 to the mixer tablesMark Brown
Some devices have four input structures rather than three. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-09ASoC: arizona: Export dai_opsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-06ASoC: arizona: Change DAPM routes for AIF clocks when we change themMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-07-06ASoC: twl6040: fix spelling mistakeSimon Wilson
Fix spelling mistake in "High-Performance" option of twl6040 power mode. Signed-off-by: Simon Wilson <simonwilson@google.com> Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-05ASoC: wm1250-ev1: Flag all supported rates in the DAIMark Brown
Not previously noticed due to normal usage being with CODEC<->CODEC links. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-05ASoC: wm5102: Allow routing through the ASRCsMark Brown
This enables common telephony use cases. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-05ASoC: arizona: Enable ASYNCCLK domain for audio interfacesMark Brown
If an audio interface is configured to use ASYNCCLK then update the asynchronous sample rate rather than one of our primary sample rates. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: arizona: Be more forgiving in BCLK selectionMark Brown
Allow any BCLK which can be divided down to generate LRCLK, not just the lowest possible BCLK to clock out the samples. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: arizona: Implement AIF clock configurationMark Brown
Allow the user to select which of the system clocks each AIF is referenced to and constran the DAI to the set of frequencies which can be generated from that clock. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: arizona: Rename current rates tables to bclk_ratesMark Brown
They're the rates for the BCLK, not for the sample rate, so rename so that we don't confuse ourselves. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: STA529: Add support for STA529 Audio CodecRajeev Kumar
The STA529 is a digital stereo class-D audio amplifier. It includes an audio DSP, an ST proprietary high-efficiency class-D driver and CMOS power output stage. It is intended for high-efficiency digital-to-power-audio conversion for portable applications. Signed-off-by: Rajeev Kumar <rajeev-dlh.kumar@st.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: tlv320aic3x: extending registers cacheJiri Prchal
Adds missing register default values to cache. Signed-off-by: Jiri Prchal <jiri.prchal@aksignal.cz> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: tlv320aic3x: add missing registers and bitsJiri Prchal
Adds register and bit shift definitions in header file. Changes are for TLV320AIC310x based on data sheet. Signed-off-by: Jiri Prchal <jiri.prchal@aksignal.cz> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-03ASoC: wm8994: Don't suspend accessory detectionMark Brown
Leave it up to the machine driver to disable accessory detection if desired, the common pattern is to have accessory detection be a wake source. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-03ASoC: wm8962: Log AIF configuration requested by hw_params()Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-29ASoC: tlv320aic3x: Fix codec pll configure bugHebbar, Gururaja
In sound/soc/codecs/tlv320aic3x.c data = snd_soc_read(codec, AIC3X_PLL_PROGA_REG); snd_soc_write(codec, AIC3X_PLL_PROGA_REG, data | (pll_p << PLLP_SHIFT)); In the above code, pll-p value is OR'ed with previous value without clearing it. Bug is not seen if pll-p value doesn't change across Sampling frequency. However on some platforms (like AM335x EVM-SK), pll-p may have different values across different sampling frequencies. In such case, above code configures the pll with a wrong value. Because of this bug, when a audio stream is played with pll value different from previous stream, audio is heard as differently(like its stretched). Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-06-29ASoC: wm2200: Add missing BCLK rateMark Brown
Without this very high BCLKs will be configured incorrectly. Reported-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-06-29ASoC: spdif: Build separate RX and TX objectsMark Brown
Otherwise we fail to link when building as modules due to multiple init/exit functions. Reported-by: Fengguang Wu <wfg@linux.intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-28ASoC: spdif_receiver: Add support for spdif in Audio CodecVipin Kumar
This patch adds the support for spdif in audio codec. Signed-off-by: vipin Kumar <vipin.kumar@st.com> Signed-off-by: Rajeev Kumar <rajeev-dlh.kumar@st.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-27ASoC: wm5102: Remove unused platform data headerMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-25ASoC: wm8994: remove duplicate codeJaroslav Kysela
It seems that the code duplication was added at a merge operation. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-06-25ASoC: wm8996: Move register default configuration to I2C probeMark Brown
This gets the registers set up as early as possible, mainly useful for the GPIOs to ensure that they're in the correct mode. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-25ASoC: wm8996: Inline wm8996_reset() and optimise cache-only usageMark Brown
There is only one caller and this allows us to cleanly leave the CODEC with the internal LDO powered down which is the default state we're looking for and means that we can robustly disable the register cache only when we either disable the LDO or power down the external regulators. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-25ASoC: wm8996: Move regulator notifier callbacks into I2C levelMark Brown
Now that we're using regmap the cache is available here. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-25ASoC: wm8904: Move register default setup into I2C probe()Mark Brown
Get it done as early as possible, it's neater and minimises the time the pins aren't configured as requested. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-25ASoC: wm8904: Move regulator acquisition and device identification to I2CMark Brown
It's more idiomatic to have the resource allocation at this level. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-25ASoC: wm8904: Rely entirely on the core for bias level managementMark Brown
Even though the WM8904 is able to use idle_bias_off during both probe and resume we were needlessly leaving the device in standby mode. Instead power the device down as soon as we've confirmed that we can talk to it and don't manage the bias level at all over suspend and resume, the core will take us down to our minimum power level. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-25Merge tag 'v3.5-rc4' into for-3.6Mark Brown
Linux 3.5-rc4 contains some bug fixes which overlap with new features.
2012-06-23ASoC: wm5102: Initial driverMark Brown
The WM5102 is a highly-integrated low-power audio system for smartphones, tablets and other portable audio devices based on the Arizona platform. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-23ASoC: Add shared code for Wolfson Arizona class devicesMark Brown
The Wolfson Arizona series of audio hub CODECs can share a large amount of their driver code as the result of a common register map. This patch adds some of this core support, providing a basis for the initial WM5102 audio driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-23ASoC: isabelle: Staticise non-exported isabelle_daiMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-23ASoC: da732x: Staticise non-exported symbol soc_codec_dev_da732xMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-19ASoC: wm5100: Remove stubs of ASoC-level register map codeMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-17ASoC: Ux500: unlock on an error pathDan Carpenter
There is a missing mutex_unlock() here. The cleanup path also has more debug output. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-13ASoC: ml26124: Convert to devm_regmap_init_i2cAxel Lin
This fixes a leak if snd_soc_register_codec fails. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-13ASoC: Ux500: Correct license stringsOla Lilja
GPLv2 -> GPL v2 Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Ola Lilja <ola.o.lilja@stericsson.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-12ASoC: wm8903: Move register default changes to I2C probeMark Brown
Also convert to use update_bits() while we're at it. No great need to do this, it's just a bit neater to do as much as possible in the I2C probe. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Tested-by: Stephen Warren <swarren@wwwdotorg.org>
2012-06-12ASoC: wm8903: Move interrupt request to I2C probeMark Brown
There's no reason to defer requesting of the interrupt until the CODEC probe and doing so results in more work if we hit an error as we'll have registered the CODEC with the core. It's neater to acquire as many of the resources we'll need as we can in the bus probe function. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Tested-by: Stephen Warren <swarren@wwwdotorg.org>