Commit Graph

13823 Commits

Author SHA1 Message Date
Mark Brown 1bd202e4c7 Merge remote-tracking branch 'asoc/topic/davinci' into asoc-next 2012-12-10 00:22:07 +09:00
Mark Brown 57769541b4 Merge remote-tracking branch 'asoc/topic/da9055' into asoc-next 2012-12-10 00:22:06 +09:00
Mark Brown ac0d9c9001 Merge remote-tracking branch 'asoc/topic/da7210' into asoc-next 2012-12-10 00:22:05 +09:00
Mark Brown f20eca1c06 Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next 2012-12-10 00:22:04 +09:00
Mark Brown 93ac820df5 Merge remote-tracking branch 'asoc/topic/atmel' into asoc-next 2012-12-10 00:22:02 +09:00
Mark Brown daa5ab9e0d Merge remote-tracking branch 'asoc/topic/arizona' into asoc-next 2012-12-10 00:22:00 +09:00
Mark Brown c006062652 Merge remote-tracking branch 'asoc/topic/ak4642' into asoc-next 2012-12-10 00:21:58 +09:00
Mark Brown 67fc455cc0 Merge remote-tracking branch 'asoc/topic/ak4535' into asoc-next 2012-12-10 00:21:58 +09:00
Mark Brown c3b07b0773 Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-next 2012-12-10 00:21:56 +09:00
Mark Brown 4e5a4b128a Merge remote-tracking branch 'asoc/topic/adsp' into asoc-next 2012-12-10 00:21:45 +09:00
Mark Brown deb6779fc5 Merge remote-tracking branch 'asoc/topic/ab8500' into asoc-next 2012-12-10 00:21:42 +09:00
Mark Brown 339425f47d Merge remote-tracking branch 'asoc/fix/omap' into asoc-next 2012-12-10 00:21:41 +09:00
Mark Brown a1abfa86d0 ASoC: wm5110: Enable volume ramp control
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-09 12:50:05 +09:00
Mark Brown dfc075cb66 ASoC: wm5102: Enable volume ramp control
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-09 12:35:01 +09:00
Mark Brown e853a00f5f ASoC: arizona: Add volume ramp controls
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-09 12:34:53 +09:00
Daniel Mack 1b3bc060fb ASoC: McASP: implement a way to force BCLK/LRCLK ratios
Depending on the Codec, the the BCLK/LRCLK ratio might not be freely
chosen by the CPU DAI.

For example, some Codec might want to be supplied with 32-bit samples
for both its channels regardless of the actual audio word size the CPU
sends. In such cases, the rest of the bits on the data lines must be
padded with zeros:

          _______________________________
LRCLK    /                               \
      --'                                 `---------- .....

BCLK  ||||||||||||||||||||||||||||||||||||||||||||||| .....

DATA  ____||||||||||||||||_________________|||||||||| .....

          |<--  data  -->|<--   pads  --> |

This patch adds a new clock divider to configure the BCLK/LRCLK ratio.
If the machine code uses that divider, the driver uses the specified
value, instead of deriving that information from the audio word size.

Otherwise, the original behaviour is retained.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07 14:47:10 +09:00
Daniel Mack ba764b3def ASoC: McASP: calculate values for channel size
Change davinci_config_channel_size() to derive the values for XSSZ and
XROT in DAVINCI_MCASP_[RT]XFMT_REG from the configured word length
rather than hard-coding them in a switch/case block.

Also, by directly passing the word length to
davinci_config_channel_size(), we can get rid of the
DAVINCI_AUDIO_WORD_* enum.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07 14:47:01 +09:00
Daniel Mack d0c6c482f6 ASoC: McASP: remove unused variables
codec_fmt and sample_rate variables are unused in both snd_platform_data
and davinci_audio_dev, so drop them.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07 14:46:56 +09:00
Mark Brown c8d35a6a3e ASoC: arizona: Log the clock we're setting the DAI to use
Useful for diagnostics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07 12:53:12 +09:00
Mark Brown 0c778e8633 ASoC: arizona: Store the DAI clock ID when setting
So the code to suppress duplicate changes is effective.

Reported-by: Kyung Kwee Ryu <Kyung-Kwee.Ryu@wolfsonmicro.comyu@wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07 12:53:09 +09:00
Mark Brown 09871a942a ASoC: arizona: Make FLL lock timeout very high
Provide robustness against low quality FLL sync clocks by increasing the
timeout for lock to an absurdly high point; we should never get anywhere
near hitting the timeout in a real system unless it is failing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06 16:52:36 +09:00
Mark Brown d4d1eaaca0 ASoC: wm5110: Add LHPF coefficient configuration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06 00:29:39 +09:00
Mark Brown 56fd4608ed ASoC: wm5110: Add EQ coefficient configuration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06 00:29:31 +09:00
Mark Brown 2aeffd406e ASoC: wm5102: Make EQ coefficents configurable
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06 00:29:15 +09:00
Peter Ujfalusi 5f02ee5680 ASoC: zoom2: Remove HS mux GPIO handling to avoid kernel crash due to BUG_ON()
The machine driver try to use GPIO15 of twl4030 for HS MUX which supposed to
select between TWL's HSOL/R and tlv320aic3254's HPL/R.
The TWL's GPIO allocated dynamically so the (OMAP_MAX_GPIO_LINES + 15) is no
longer valid GPIO number causing a kernel crash due to BUG_ON()
Also the current machine driver supports only TWL audio currently: there is
no need to control the GPIO.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 17:51:59 +09:00
Sachin Kamat ff7dc6af13 ASoC: da7210: Remove unnecessary regmap_exit call
Use of devm_regmap_init_spi does not require an explicit
regmap_exit call.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 17:24:51 +09:00
Mark Brown f055c8f0fe ASoC: wm5102: Add support for configuring LHPF coefficients
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 14:41:04 +09:00
Mark Brown dd49e2c8b9 ASoC: adsp: Set DSP clock rate to SYSCLK rate
For simplicity always run the DSP at the SYSCLK rate.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:09:23 +09:00
Mark Brown 10a2b662c4 ASoC: adsp: Keep ADSP2 memory powered off when not in use
Turn off the ADSP memory when we aren't using it, saving a small amount of
power.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:09:20 +09:00
Bo Shen 3951e4aae2 ASoC: atmel-pcm: dma support based on pcm dmaengine
Specify overrun bit in interrupt mask
Add dmaengine specific routines

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
[voice.shen@atmel.com: adapt to soc dmaengine framework]
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:29:19 +09:00
Bo Shen 92dfa61986 ASoC: atmel-pcm: split into two file
This patch is split original atmel-pcm.c into new atmel-pcm.c and
atmel-pcm-pdc.c two files. The new atmel-pcm.c is the share routine
while will be used for pdc or dma transfer.

Using SND_ATMEL_SOC_PDC to select using PDC for audio transfer

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:27:44 +09:00
Mark Brown e436cadd65 ASoC: wm5102: Correct base address for Y region
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:23:47 +09:00
Mark Brown 25c6fdb040 ASoC: arizona: Add parentheses
Some compiler versions complain.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-29 15:18:29 +00:00
Mark Brown a7f9be7ec5 ASoC: wm_adsp: Set the core enable as well as start bit for ADSP2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 20:29:20 +00:00
Peter Ujfalusi 1c08e7e3b2 ASoC: omap-abe-twl6040: Use "ti,jack-detection" DT property as boolean
Handle the jack detection inforamtion as bool from devicetree.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 19:13:18 +00:00
Mark Brown cac27cff06 ASoC: wm5102: Enable DVFS support for the DSP
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:46:12 +00:00
Mark Brown 0644128556 Merge branch 'topic/adsp' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-arizona 2012-11-28 17:45:57 +00:00
Sachin Kamat 4e75955d8f ASoC: da7210: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:43:02 +00:00
Sachin Kamat 77d19b10a4 ASoC: ak4535: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:41:54 +00:00
Mark Brown 973838a030 ASoC: wm_adsp: Enable DVFS for ADSP2
Some ADSP devices can make use of DVFS to optimise power consumption
depending on the operating frequency of the DSP core. Implement
support for this in the generic ADSP code.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:36:23 +00:00
Mark Brown 2f76e6855f ASoC: wm5110: Implement haptics support
Provide a haptics widget for use by the haptics driver and expose the DAPM
context for it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 13:44:00 +00:00
Mark Brown 3f41e3d2e8 ASoC: wm5102: Implement haptics support
Provide a haptics widget for use by the haptics driver and expose the DAPM
context for it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 13:43:57 +00:00
Mark Brown 50fcfe45d7 ASoC: arizona: Record FLL setting when disabling
Otherwise we skip reenables.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 13:42:39 +00:00
Tony Lindgren e650794ae8 ASoC: OMAP: mcbsp fixes for enabling ARM multiplatform support
We cannot include any plat or mach headers for the multiplatform
support.

Fix the issue by defining local mcbsp_omap1().

Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:42:19 +00:00
Lothar Waßmann f2818d07af ASoC: fsl: fix miscompilation of snd-soc-imx-pcm
Hi Mark,

thanks your insisting on a better description for the patch, I found a
more appropriate solution for the problem:

Compiling the SoC Audio driver for Freescale i.MX as a module
(CONFIG_SND_SOC_IMX_PCM=m) results in a non-functional sound driver
indicated by the error message:
| imx-sgtl5000 sound.1: platform imx-pcm-audio not registered
| imx-sgtl5000 sound.1: snd_soc_register_card failed (-517)
| platform sound.1: Driver imx-sgtl5000 requests probe deferral
instead of the message:
| imx-sgtl5000 sound.1:  sgtl5000 <-> 63fcc000.ssi mapping ok
that is to be expected upon loading the snd-soc-imx-pcm.ko module.

The build log reveals, that the file imx-pcm-dma.o (or imx-pcm-fiq.o
depending on the kernel configuration), which should be linked
together with imx-pcm.o into snd-imx-pcm.ko, is not being compiled in
this case.

The make rules for these files shows that the target object imx-pcm.o
is assigned to the variable snd-soc-imx-pcm-y while
imx-pcm-{dma,fiq}.o are added to to
snd-soc-imx-pcm-$(CONFIG_SND_SOC_IMX_PCM_DMA) and
snd-soc-imx-pcm-$(CONFIG_SND_SOC_IMX_PCM_FIQ) which resolve to
snd-soc-imx-pcm-m in this case.

According to Documentation/kbuild/modules.txt:
|When the module is built from multiple sources, an additional line is
|needed listing the files:
|
|        <module_name>-y := <src1>.o <src2>.o ...
Thus the type of the config variables CONFIG_SND_SOC_IMX_PCM_DMA and
CONFIG_SND_SOC_IMX_PCM_FIQ should be 'bool' instead of 'tristate' to
resolve to 'y' when selected.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:37:35 +00:00
Lothar Waßmann cf7d0f09ba ASoC: mxs-saif: export mxs_saif_put_mclk,mxs_saif_get_mclk
Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:37:35 +00:00
Lothar Waßmann 20dd9e5ed6 ASoC: fsl: fix miscompilation of snd-soc-imx-pcm
Due to a broken make rule, sound/soc/fsl/imx-pcm-dma.c or
sound/soc/fsl/imx-pcm-fiq.c (whatever is selected via Kconfig) will
not be compiled into imx-pcm.o when building as module, i.e.:
CONFIG_SND_SOC_IMX_PCM=m
CONFIG_SND_SOC_IMX_PCM_DMA=m
resulting in a non-functional sound driver.

This gives the error messages:
| imx-sgtl5000 sound.1: platform imx-pcm-audio not registered
| imx-sgtl5000 sound.1: snd_soc_register_card failed (-517)
| platform sound.1: Driver imx-sgtl5000 requests probe deferral
when loading the driver instead of what's to be expected:
| imx-sgtl5000 sound.1:  sgtl5000 <-> 63fcc000.ssi mapping ok

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:36:36 +00:00
Mark Brown 1cbe4bcae3 ASoC: arizona: Suppress noop FLL updates
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:30:56 +00:00
Mark Brown ba6b047ab9 ASoC: wm5102: Add missing routes for ASRC inputs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:30:25 +00:00
Mark Brown 38113360f0 ASoC: arizona: Support higher clock rates
Some devices support higher clock rates, allow users to select these.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 10:36:34 +00:00