summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)AuthorFilesLines
2012-07-11ASoC: STA529: fix an error messageDan Carpenter1-1/+2
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 Brown3-3/+7
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 Prchal2-0/+14
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 Prchal1-0/+25
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 Prchal1-0/+3
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 Brown1-3/+3
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 Brown2-1/+5
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 Brown1-0/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-06ASoC: arizona: Change DAPM routes for AIF clocks when we change themMark Brown1-3/+29
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-07-06ASoC: dapm: Allow routes to be deleted at runtimeMark Brown1-0/+77
Since we're now relying on DAPM for things like enabling clocks when we reparent the clocks for widgets we need to either use conditional routes (which are expensive) or remove routes at runtime. Add a route removal API to support this use case. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-07-06ASoC: dapm: Mark widgets as dirty when a route is addedMark Brown1-0/+4
If we add a new route at runtime then we'll need to recheck the connections to the affected widgets. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-07-06ASoC: dpcm: Allow FE to be opened without valid BE routes.Liam Girdwood1-3/+1
Some userspace will open a PCM device and then configure mixers for routing before triggering. This patch allows userspace to do this sequence. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-06ASoC: twl6040: fix spelling mistakeSimon Wilson1-1/+1
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-06ASoC: pcm: Clean up logging in soc_new_pcm()Liam Girdwood1-4/+4
Use dev_ style logging throughout soc_new_pcm() 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 Brown1-2/+5
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 Brown1-1/+29
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 Brown1-6/+24
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-05ASoC: imx-mc13783: Add audmux settings for mx27pdkFabio Estevam1-16/+33
mx27pdk board also has a mc13783 codec. Add support for it and do a run-time machine type check to perform the correct audiomux settings. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-05ASoC: fsl: remove unneeded AUDMUX register setting from imx-sgtl5000Hui Wang1-2/+1
If we don't set IMX_AUDMUX_V2_PTCR_TCLKDIR in the AUDMUX PTCR register (means Tx clock pin is input), we don't need to set IMX_AUDMUX_V2_PTCR_TCSEL as well. Since both i.MX35, i.MX51 and i.MX6 datasheet says "When Tx clock pin set as an input, the TCSEL settings are ignored". Signed-off-by: Hui Wang <jason77.wang@gmail.com> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: arizona: Be more forgiving in BCLK selectionMark Brown1-1/+2
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 Brown3-0/+118
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 Brown1-6/+6
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: dwc: Staticise non-exported i2s_start()Mark Brown1-1/+2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: SPEAr spdif_out: Add spdif out supportVipin Kumar2-0/+468
This patch implements the spdif out driver for ST peripheral. This peripheral implements IEC60958 standard 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-07-04ASoC: STA529: Add support for STA529 Audio CodecRajeev Kumar3-0/+447
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 Prchal1-1/+3
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 Prchal1-1/+18
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 Brown1-37/+0
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: core: Try to use regmap if the driver doesn't set up any I/OMark Brown1-0/+4
Since most new drivers are expected to use regmap and since frequently the only thing we need to do in the CODEC probe function is configure the I/O try to initialise the register I/O using regmap if the driver hasn't done so after probe(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-07-03ASoC: wm8962: Log AIF configuration requested by hw_params()Mark Brown1-0/+3
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-03ASoC: tegra: use dmaengine based dma driverLaxman Dewangan3-1/+119
Use the dmaengine based Tegra APB DMA driver for data transfer between SPI fifo and memory in place of legacy Tegra APB DMA. Because generic soc-dmaengine-pcm uses the DMAs API based on dmaengine, using the exported APIs provided by this generic driver. The new driver is selected if legacy driver is not selected and new dma driver is enabled through config file. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Tested-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-03ASoC: dapm: Remove incomplete stereo codeBenoît Thébaudeau1-10/+12
Stereo is not yet supported by dapm widgets, so remove stereo code from snd_soc_dapm_get_volsw(), and warn if stereo controls are detected. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-03ASoC: smdk_wm8994: Convert to use snd_soc_register_card()Sachin Kamat1-13/+23
Current method for machine driver to register with the ASoC core is to use snd_soc_register_card() instead of creating a "soc-audio" platform device. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Sangbeom Kim <sbkim73@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-29ASoC: dapm: Fix snd_soc_dapm_put_volsw() connectBenoît Thébaudeau1-7/+1
snd_soc_dapm_put_volsw() sets connect incorrectly in the case max > 1 with invert. In that case, the raw disconnect value should be max, which corresponds to the userspace value 0. This use case currently does not appear upstream, but it could break SOC_DAPM_SINGLE() or SOC_DAPM_SINGLE_TLV() elsewhere or in the future. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-29ASoC: spdif: Build separate RX and TX objectsMark Brown1-2/+3
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 Kumar2-1/+68
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-28ASoC: dwc: Add missing __iomem annotationsMark Brown1-2/+2
Otherwise sparse gets very upset with us. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-27ASoC: wm5102: Remove unused platform data headerMark Brown1-1/+0
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-25ASoC: dwc: Bodge around continuing absence of clock API stubsMark Brown1-0/+1
The patches for stubbing out the generic clock API still haven't been applied so we need to either add ifdefs here or add a dependency until someone decides to actually apply them. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-25ASoC: wm8996: Move register default configuration to I2C probeMark Brown1-151/+180
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 Brown1-18/+13
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 Brown1-21/+20
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 Brown1-56/+55
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 Brown1-61/+51
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 Brown1-27/+3
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 Brown20-159/+227
Linux 3.5-rc4 contains some bug fixes which overlap with new features.
2012-06-25ASoC: dmaengine_pcm: fix typo in commentUwe Kleine-König1-1/+1
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-23ASoC: wm5102: Initial driverMark Brown4-0/+897
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 Brown4-0/+937
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: io: Don't dereference regmap if we failed to get oneMark Brown1-4/+7
Avoids a crash in invalid configurations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>