Manuel Lauss [Mon, 12 Jul 2010 13:14:59 +0000 (15:14 +0200)]
ASoC: au1x: fix section mismatch in psc-i2s.c
Annotate platform probe callback with __devinit instead of plain __init.
Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
arnaud.patard@rtp-net.org [Sun, 11 Jul 2010 21:28:32 +0000 (23:28 +0200)]
ASoC: kirkwood-i2s: Handle mute/unmute playback/record
The controller has mute/unmute capability and some bootloader may mute
them at boot. If it's not handled, all things will seem to be working
but no sound will come out of the speaker/headphone.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
arnaud.patard@rtp-net.org [Sun, 11 Jul 2010 21:28:31 +0000 (23:28 +0200)]
ASoC: Fix kirkwood i2s mono playback
Kirkwood controller needs to be informed if the audio stream is mono
or not. Failing to do so will result in playing at the wrong speed.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Kuninori Morimoto [Tue, 13 Jul 2010 03:13:14 +0000 (12:13 +0900)]
ASoC: fsi: Fixup for master mode
This patch add hw_params to snd_soc_dai_ops,
because board specific set_rate is needed
when FSI was used as master mode.
This patch remove fsi_clk_ctrl from fsi_dai_startup,
because clock should be disabled before set_rate.
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>
Kuninori Morimoto [Tue, 13 Jul 2010 03:13:09 +0000 (12:13 +0900)]
ASoC: fsi: Add pr_err for noticing unsupported access
This patch didn't use dev_err,
because it is difficult to get struct device here.
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>
Kuninori Morimoto [Tue, 13 Jul 2010 03:13:04 +0000 (12:13 +0900)]
ASoC: fsi: Change struct fsi_regs to fsi_core
Many registers which were grouped by category were added in FSI2.
To make easy to switch FSI/FSI2, fsi_core was added instead of fsi_regs.
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>
Kuninori Morimoto [Tue, 13 Jul 2010 03:13:00 +0000 (12:13 +0900)]
ASoC: fsi: remove noisy CR_FMT macro
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>
Kuninori Morimoto [Tue, 13 Jul 2010 03:12:53 +0000 (12:12 +0900)]
ASoC: fsi: remove un-used variable on fsi_dai_startup
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>
Kuninori Morimoto [Tue, 13 Jul 2010 09:13:19 +0000 (18:13 +0900)]
ASoC: fsi: modify format area definition on flags
There is no necessity that each bit in this area has the meaning.
This patch modify it to sequence number
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>
Joe Perches [Mon, 12 Jul 2010 20:50:27 +0000 (13:50 -0700)]
ASoC: Remove unnecessary casts of private_data
Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Joe Perches [Mon, 12 Jul 2010 20:50:26 +0000 (13:50 -0700)]
ASoC: Remove unnecessary casts of private_data
Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Tue, 13 Jul 2010 11:29:10 +0000 (12:29 +0100)]
Merge branch 'for-2.6.35' into for-2.6.36
Kuninori Morimoto [Tue, 13 Jul 2010 03:01:25 +0000 (12:01 +0900)]
ASoC: fsi: fixup wrong value setting order of TDM
channel size should be set before setting register value
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>
Kuninori Morimoto [Tue, 13 Jul 2010 03:01:15 +0000 (12:01 +0900)]
ASoC: fsi: fixup clock inversion operation
Clock inversion should be specified by each flags bit.
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>
Mark Brown [Thu, 8 Jul 2010 02:25:43 +0000 (11:25 +0900)]
ASoC: Implement WM8994 OPCLK support
The WM8994 can output a clock derived from its internal SYSCLK, called
OPCLK. The rate can be selected as a sysclk, with a division from the
SYSCLK rate specified (multiplied by 10 since a division of 5.5 is
supported) and the clock can be disabled by specifying a divisor of
zero.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 8 Jul 2010 15:12:08 +0000 (00:12 +0900)]
ASoC: Include WM8994 GPIO and interrupt registers in codec_reg
Very handy for debug.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Raffaele Recalcati [Tue, 6 Jul 2010 08:39:04 +0000 (10:39 +0200)]
ASoC: DaVinci: More accurate continuous serial clock for McBSP (I2S)
i2s_accurate_sck switch can be used to have a better approximate
sampling frequency.
The clock is an externally visible bit clock and it is named
i2s continuous serial clock (I2S_SCK).
The trade off is between more accurate clock (fast clock)
and less accurate clock (slow clock).
The waveform will be not symmetric.
Probably it is possible to get a better algorithm for calculating
the divider, trying to keep a slower clock as possible.
This patch has been developed against the
http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git
git tree and has been tested on bmx board (similar to dm365 evm, but using
uda1345 as external audio codec).
Signed-off-by: Raffaele Recalcati <raffaele.recalcati@bticino.it>
Signed-off-by: Davide Bonfanti <davide.bonfanti@bticino.it>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Acked-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Raffaele Recalcati [Tue, 6 Jul 2010 08:39:03 +0000 (10:39 +0200)]
ASoC: DaVinci: Added selection of clk input pin for McBSP
When McBSP peripheral gets the clock from an external pin,
there are three possible chooses, MCBSP_CLKX, MCBSP_CLKR
and MCBSP_CLKS.
evm-dm365 uses MCBSP_CLKR, instead in bmx board I have a different
hardware connection and I use MCBSP_CLKS, so I have added
this possibility.
This patch has been developed against the:
http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git
git tree and has been tested on bmx board (similar to dm365 evm)
Signed-off-by: Raffaele Recalcati <raffaele.recalcati@bticino.it>
Signed-off-by: Davide Bonfanti <davide.bonfanti@bticino.it>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Acked-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Raffaele Recalcati [Tue, 6 Jul 2010 08:39:02 +0000 (10:39 +0200)]
ASoC: DaVinci: Added two clocking possibilities to McBSP (I2S)
Added two clocking options for dm365 McBSP peripheral when used
with I2S timings, that are SND_SOC_DAIFMT_CBS_CFS (the cpu generates
clock and frame sync) and SND_SOC_DAIFMT_CBS_CFM (the cpu gets clock
from external pin and generates frame sync).
A slave clock management can be important when the external codec needs
the system clock and the bit clock synchronized (tested with uda1345).
This patch has been developed against the:
http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git
git tree and has been tested on bmx board (similar to dm365 evm, but using
uda1345 as external audio codec).
Signed-off-by: Raffaele Recalcati <raffaele.recalcati@bticino.it>
Signed-off-by: Davide Bonfanti <davide.bonfanti@bticino.it>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Acked-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Maurus Cuelenaere [Sun, 4 Jul 2010 13:12:11 +0000 (15:12 +0200)]
ASoC: Invert speaker enabling behaviour in SmartQ sound driver
The speaker was enabled when the headphone was plugged in, which isn't the
wanted behaviour so correct this.
Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Mon, 5 Jul 2010 14:54:51 +0000 (23:54 +0900)]
ASoC: Automatically manage ALC coefficients for WM8960
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 5 Jul 2010 04:58:16 +0000 (13:58 +0900)]
ASoC: Automatically manage DAC deemphasis rate for WM8960
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 5 Jul 2010 04:54:32 +0000 (13:54 +0900)]
ASoC: Remove current WM8960 deemphasis control
It will be replaced with automatic deemphasis rate configuration but since
we have an enumeration table in this driver this is done in a separate
commit to make the renumbering of the enumeration items clear.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 5 Jul 2010 03:09:22 +0000 (12:09 +0900)]
ASoC: Fix sorting of Makefile and Kconfig
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Maurus Cuelenaere [Sat, 3 Jul 2010 00:46:12 +0000 (02:46 +0200)]
ASoC: Add SmartQ sound driver
This adds sound support for the SmartQ board.
The hardware consists of a S3C6410 coupled with a WM8987 over I²S. The WM8750
driver is used for driving the WM8987, as they are register compatible.
Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Maurus Cuelenaere [Sat, 3 Jul 2010 00:46:10 +0000 (02:46 +0200)]
ASoC: codec: Add WM8987 device id to WM8750 driver
The WM8987 codec is register compatible with the WM8750, so just add it to the
SPI and I²C device table.
Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Kuninori Morimoto [Thu, 1 Jul 2010 05:23:45 +0000 (14:23 +0900)]
ASoC: ak4642: Add Digital Playback Volume control
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Vladimir Zapolskiy [Thu, 24 Jun 2010 13:19:25 +0000 (17:19 +0400)]
ASoC: uda134x: correct bias level setup for codecs family
For UDA1341 codec power control is managed in STATUS1 register, and
for all other codecs in DATA011 register.
Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Vladimir Zapolskiy [Thu, 24 Jun 2010 11:17:07 +0000 (15:17 +0400)]
ASoC: uda134x: add DATA011 register found in codecs family
In UDA1340, UDA1344 and UDA1345 codecs there is one more functional
register in part of DATA0 tranfser. For UDA1341 this register
coincides with EA register.
Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Wed, 30 Jun 2010 13:46:53 +0000 (14:46 +0100)]
Merge remote branch 'takashi/topic/asoc' into for-2.6.36
Eric Bénard [Sat, 19 Jun 2010 08:47:56 +0000 (10:47 +0200)]
ASoC: clean i.MX Kconfig
Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Vladimir Zapolskiy [Thu, 24 Jun 2010 13:38:51 +0000 (17:38 +0400)]
ASoC: uda134x: fix bias level setup on initialization
On initialization ADC/DAC are enabled only for UDA1341, that's why
bias_level shall be set to off explicitly, otherwise dapm is
misinformed about bias_level on startup.
Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Vladimir Zapolskiy [Thu, 24 Jun 2010 13:38:50 +0000 (17:38 +0400)]
ASoC: uda134x: replace a macro with a value in platform struct.
This change wipes out a hardcoded macro, which enables codec bias
level control. Now is_powered_on_standby value shall be used instead.
Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Thu, 24 Jun 2010 09:11:41 +0000 (11:11 +0200)]
Merge branch 'for-2.6.36' of git://git./linux/kernel/git/lrg/asoc-2.6 into topic/asoc
Jarkko Nikula [Mon, 21 Jun 2010 11:15:00 +0000 (14:15 +0300)]
ASoC: RX-51: Add basic jack detection
This patch adds GPIO jack detection to Nokia N900/RX-51. At the moment only
SND_JACK_VIDEOOUT type is reported. More types could be reported after
getting more audio features supported and necessary drivers integrated for
implementing automated accessory detection.
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>
Jarkko Nikula [Mon, 21 Jun 2010 11:14:59 +0000 (14:14 +0300)]
ASoC: RX-51: Add Jack Function kcontrol
Nokia RX-51/N900 has multifunction 4-pole audio-video jack that can be used
as headphone, headset or audio-video connector. This patch implements the
control 'Jack Function' which is used to select the desired function.
At the moment only TV-out without audio is supported.
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>
Eric Bénard [Sat, 19 Jun 2010 17:33:39 +0000 (19:33 +0200)]
codecs/tlv320aic23: fix bias management for suspend/resume
in tlv320aic23_set_bias_level, for the case SND_SOC_BIAS_ON, the
comment says "vref/mid, osc on, dac unmute" but the code doesn't
clear the corresponding bits, thus when resuming, several bits are
not cleared preventing the codec from working.
in tlv320aic23_suspend, clearing the active register is not needed
as it will be done by tlv320aic23_set_bias_level, when setting
bias to SND_SOC_BIAS_OFF
Signed-off-by: Eric Bénard <eric@eukrea.com>
Cc: broonie@opensource.wolfsonmicro.com
Cc: anuj.aggarwal@ti.com
Cc: lrg@slimlogic.co.uk
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Lars-Peter Clausen [Sat, 19 Jun 2010 14:52:51 +0000 (16:52 +0200)]
ASoC: JZ4740: Add qi_lb60 board driver
This patch adds ASoC support for the qi_lb60 board.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Mon, 21 Jun 2010 22:46:31 +0000 (00:46 +0200)]
ASoC: Add JZ4740 codec driver
This patch adds support for the JZ4740 internal codec.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Sat, 19 Jun 2010 14:50:37 +0000 (16:50 +0200)]
ASoC: Add JZ4740 ASoC support
This patch adds ASoC support for JZ4740 SoCs I2S module.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Grazvydas Ignotas [Thu, 17 Jun 2010 13:45:28 +0000 (16:45 +0300)]
ASoC: pandora: fix CLKX polarity
After mass production started it was found that several boards exhibit
noise problems during sound playback. After some investigation it was
determined that CLKX polarity is set incorrectly, and even if most boards
can tolerate the wrong setting, there are some that don't.
Fix polarity setup in the board file. As the clock settings for input and
output now match, merge in and out functions and structures to simplify
code.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Sun, 20 Jun 2010 13:05:46 +0000 (14:05 +0100)]
ASoC: Fix sorting of DA7210 entries in Kconfig
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Stuart Longland [Fri, 18 Jun 2010 02:56:10 +0000 (12:56 +1000)]
ASoC: Fix overflow bug in SOC_DOUBLE_R_SX_TLV
When SX_TLV widgets are read, if the gain is set to a value below 0dB,
the mixer control is erroniously read as being at maximum volume.
The value read out of the CODEC register is never sign-extended, and
when the minimum value is subtracted (read; added, since the minimum is
negative) the result is a number greater than the maximum allowed value
for the control, and hence it saturates.
Solution: Mask the result so that it "wraps around", emulating
sign-extension.
Signed-off-by: Stuart Longland <redhatter@gentoo.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Eric Bénard [Thu, 17 Jun 2010 13:44:01 +0000 (15:44 +0200)]
ASoC: eukrea-tlv320: add support for our i.MX25 board
* tdm slot has to be configured to get sound working on i.MX25
Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Peter Huewe [Tue, 15 Jun 2010 15:38:55 +0000 (17:38 +0200)]
ASoC: Fix I2C dependency for SND_FSI_AK4642 and SND_FSI_DA7210
The config option SND_FSI_AK4642 selects SND_SOC_AK4642 which in turn
enables the compilation of ak4642.c - however this codec uses I2C to
communicate with the HW.
Same applies to DA7210.
Consequently when I2C is not set, the compilation fails [1]
This patch fixes this issues, by adding a depencdency on the related HW-
controller.
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Tue, 15 Jun 2010 14:14:31 +0000 (15:14 +0100)]
ASoC: Pay attention to write errors in volsw_2r_sx
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Tue, 15 Jun 2010 14:14:00 +0000 (15:14 +0100)]
ASoC: Default WM2000 ANC and speaker to enabled
The most useful configuration for the WM2000 is to enable the ANC so turn
that on by default, and since we're not reflecting chip default state also
enable the speaker output by default.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Tue, 15 Jun 2010 10:55:35 +0000 (11:55 +0100)]
Merge branch 'for-2.6.35' into for-2.6.36
Sudhakar Rajashekhara [Fri, 11 Jun 2010 13:54:51 +0000 (19:24 +0530)]
ASoC: DaVinci: Fix McASP hardware FIFO configuration
On DA830/OMAP-L137 and DA850/OMAP-L138 SoCs, the McASP peripheral
has FIFO support. This FIFO provides additional data buffering. It
also provides tolerance to variation in host/DMA controller response
times. More details of the FIFO operation can be found at
http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=sprufm1&fileType=pdf
Existing sequence of steps for audio playback/capture are:
a. DMA configuration
b. McASP configuration (configures and enables FIFO)
c. Start DMA
d. Start McASP (enables FIFO)
During McASP configuration, while FIFO was being configured, FIFO
was being enabled in davinci_hw_common_param() function of
sound/soc/davinci/davinci-mcasp.c file. This generated a transmit
DMA event, which gets serviced when DMA is started.
https://patchwork.kernel.org/patch/84611/ patch clears the DMA
events before starting DMA, which is the right thing to do. But
this resulted in a state where DMA was waiting for an event from
McASP (after step c above), but the event which was already there,
has got cleared (because of step b above).
The fix is not to enable the FIFO during McASP configuration as
FIFO was being enabled as part of McASP start.
Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Kuninori Morimoto [Tue, 15 Jun 2010 01:33:26 +0000 (10:33 +0900)]
ASoC: header cleanup for da7210
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>
Kuninori Morimoto [Tue, 15 Jun 2010 01:33:20 +0000 (10:33 +0900)]
ASoC: header cleanup for ak4642
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>
Kuninori Morimoto [Tue, 15 Jun 2010 01:33:14 +0000 (10:33 +0900)]
ASoC: header cleanup for FSI-DA7210
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>
Kuninori Morimoto [Tue, 15 Jun 2010 01:33:09 +0000 (10:33 +0900)]
ASoC: header cleanup for FSI-AK4642
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>
Kuninori Morimoto [Tue, 15 Jun 2010 01:33:01 +0000 (10:33 +0900)]
ASoC: header cleanup for FSI
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>
Grant Likely [Thu, 10 Jun 2010 23:54:13 +0000 (17:54 -0600)]
ASoC: Remove unused header from MPC5200 PSC driver
The header contains an extern that isn't used by anything. Remove.
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Wan ZongShun [Thu, 10 Jun 2010 02:40:40 +0000 (10:40 +0800)]
ASoC: NUC900: patch for fix build error
This patch is to change 'auido.h' to 'audio.h' for
fixing nuc900 alsa driver build error.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Ryan Mallon [Tue, 8 Jun 2010 10:01:12 +0000 (22:01 +1200)]
ASoC: EP93xx: Add Snapper CL15 i2s audio support
Add support for i2s audio on Bluewater Systems Snapper CL15 module
Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Wed, 9 Jun 2010 10:15:10 +0000 (11:15 +0100)]
Merge branch 'ep93xx' into for-2.6.36
Trivial add/add fixup required in the clock table.
Conflicts:
arch/arm/mach-ep93xx/clock.c
Ryan Mallon [Tue, 8 Jun 2010 10:01:10 +0000 (22:01 +1200)]
EP93xx: Add i2s core support
Add core support for EP93xx i2s audio
Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Mon, 7 Jun 2010 16:38:56 +0000 (18:38 +0200)]
Merge branch 'for-2.6.36' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc
Wan ZongShun [Wed, 2 Jun 2010 08:03:39 +0000 (16:03 +0800)]
ASoC: patch for the useless 'break' removal in kirkwood
This patch to remove the 'break;', when the 'switch' jumps to
the 'default' branch, the 'return -EINVAL' will be return with
a error number, so the 'break;' code never be run, it is unuseful
and should be removed here.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Wan ZongShun [Mon, 7 Jun 2010 13:03:40 +0000 (15:03 +0200)]
ASoC: atmel: trivial code cleanup
Remove break after return, it is not needed.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Ryan Mallon [Fri, 4 Jun 2010 05:11:24 +0000 (17:11 +1200)]
ASoC: ep93xx i2s audio driver
Add ep93xx i2s audio driver
Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Peter Ujfalusi [Mon, 7 Jun 2010 07:50:39 +0000 (10:50 +0300)]
ASoC: tlv320dac33: Add support for changing upper threshold
Upper threshold is used in mode7 of DAC33.
Instead of hard wired UTHR, add control to change the upper threshold
value.
Changing upper threshold is not allowed when the playback is already
running, since wrongly timed change in the UTHR can cause problems
with the codec.
With this control the length of the burst in mode7 can be changed.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Eric Bénard [Thu, 27 May 2010 08:58:55 +0000 (10:58 +0200)]
ASoC: imx: add eukrea-tlv320
Add the necessary files to support the TLV320AIC23B wired in I2S
on our i.MX platforms.
Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Eric Bénard [Thu, 27 May 2010 08:58:54 +0000 (10:58 +0200)]
ASoC: imx-ssi.c: add new choices to platform configuration
* introduce 3 new flags to allow a more detailed configuration
of the SSI link :
IMX_SSI_NET : enable Network Mode
IMX_SSI_SYN : enable Synchronous Mode
IMX_SSI_USE_I2S_SLAVE : enable I2S Slave Mode
* new platform can use these settings without breaking actual
platforms.
Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Wan ZongShun [Wed, 2 Jun 2010 16:54:59 +0000 (00:54 +0800)]
ASoC: s3c: patch for the unnecessary variable 'state' removal
The variable 'state' of structure 's3c_ac97_info' seems no use here,
so this patch is to remove the unnecessary variable.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Wan ZongShun [Wed, 2 Jun 2010 16:28:46 +0000 (00:28 +0800)]
ASoC: atmel: patch for the unnecessary variable removal
The variable 'periods' of structure 'atmel_runtime_data'
seems no use in whole atmel alsa driver,so I make a patch
to remove the unnecessary variable.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Wan ZongShun [Tue, 1 Jun 2010 07:16:20 +0000 (15:16 +0800)]
ASoC: use resource_size for au1x
Use the resource_size function instead of manually calculating the
resource size.This patch can reduce the chance of introducing off-by-one
errors.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Acked-by: Manuel Lauss <manuel.lauss@googlemail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Peter Ujfalusi [Thu, 3 Jun 2010 04:39:36 +0000 (07:39 +0300)]
ASoC: omap-mcbsp: Place correct constraints for streams
OMAP McBSP FIFO is word structured:
McBSP2 has 1024 + 256 = 1280 word long buffer,
McBSP1,3,4,5 has 128 word long buffer
This means, that the size of the FIFO
depends on the McBSP word size configuration.
For example on McBSP3:
16bit samples: size is 128 * 2 = 256 bytes
32bit samples: size is 128 * 4 = 512 bytes
It is simpler to place constraint for buffer and period based on channels.
McBSP3 as example again (16 or 32 bit samples):
1 channel (mono): size is 128 frames (128 words)
2 channels (stereo): size is 128 / 2 = 64 frames (2 * 64 words)
4 channels: size is 128 / 4 = 32 frames (4 * 32 words)
Use the second method to place hw_rule on buffer size, and in threshold
mode to period size.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolsfonmicro.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Thu, 3 Jun 2010 04:39:35 +0000 (07:39 +0300)]
ASoC: omap-mcbsp: Save, and use wlen for threshold configuration
Save the word length configuration of McBSP, and use that information
to calculate, and configure the threshold in McBSP.
Previously the calculation was only correct when the stream had 16bit
audio.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolsfonmicro.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Thu, 3 Jun 2010 04:39:34 +0000 (07:39 +0300)]
OMAP3: McBSP: Use the port's buffer_size when calculating tx delay
Sicne the platform data's buffer_size now holds the full size
of the FIFO, there is no longer need to handle the ports
differently.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolsfonmicro.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Thu, 3 Jun 2010 04:39:33 +0000 (07:39 +0300)]
OMAP3: McBSP: Change the way how the FIFO is handled
Use the actual FIFO size in words as buffer_size on OMAP3.
Change the threshold configuration to use 1 based numbering, when
specifying the allowed threshold maximum or the McBSP threshold value.
Set the default maximum threshold to (buffer_size - 0x10) intialy.
>From users of McBSP, now it is expected to use this method.
Asking for threshold 1 means that the value written to threshold registers
are going to be 0, which means 1 word threshold.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolsfonmicro.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Thu, 3 Jun 2010 04:39:32 +0000 (07:39 +0300)]
OMAP: McBSP: Function to query the FIFO size
Users of McBSP can use the omap_mcbsp_get_fifo_size function to query
the size of the McBSP FIFO.
The function will return the FIFO size in words (the HW maximum).
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolsfonmicro.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Wan ZongShun [Wed, 2 Jun 2010 10:49:53 +0000 (18:49 +0800)]
ASoC: s6000: use resource_size for {request/release}_mem_region and ioremap
The size calculation is end - start + 1. But,sometimes, the '1' can
be forgotten carelessly, witch will have potential risk, so use resource_size
for {request/release}_mem_region and ioremap here should be good habit.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Acked-by: Daniel Glöckner <dg@emlix.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Wed, 2 Jun 2010 12:17:44 +0000 (14:17 +0200)]
Merge branch 'for-2.6.35' of git://git./linux/kernel/git/broonie/sound-2.6 into fix/asoc
Mark Brown [Wed, 2 Jun 2010 10:47:24 +0000 (11:47 +0100)]
Merge branch 'for-2.6.35' into for-2.6.36
Wan ZongShun [Wed, 2 Jun 2010 05:57:01 +0000 (13:57 +0800)]
ASoC: nuc900: patch for modifing the ac97 delays to minimum
This patch is to modify the ac97 delays to minimum, all these 1000 micro
seconds delays seem over spec for the AC97 interface.
I deleted some unnecessary delays here and changed the AC97 cold and warm reset
delays from 1000us to 100us.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Wan ZongShun [Wed, 2 Jun 2010 06:05:14 +0000 (14:05 +0800)]
ASoC: nuc900: fix a typo and rename the header file
Fix a '#include "nuc900-audio.h' typo, I think it should be 'audio'.
At the same time, this patch renames the 'nuc900-auido.h' file to
'nuc900-audio.h'.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Wan ZongShun [Wed, 2 Jun 2010 06:02:33 +0000 (14:02 +0800)]
ASoC: nuc900: fix a wait loop bug
The current implement meant ACTL_ACCON was only accessed once when read or write
proceeding, which is not right, if so,we have to wait the 'timeout=0x10000' to end
every times.
We need to polling the bit AC_R_FINISH and AC_W_FINISH of ACTL_ACCON
register to identify whether read or write is finished or not,so I make
the patch to fix the issue.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Wan ZongShun [Wed, 2 Jun 2010 05:54:25 +0000 (13:54 +0800)]
ASoC: nuc900: patch for SUBSTREAM_TYPE', 'PCM_TX' and 'PCM_RX' removal
This patch is to remove the 'SUBSTREAM_TYPE','PCM_TX' and 'PCM_RX' definition.
There is no need to redefine SNDRV_PCM_STREAM_PLAYBACK as PCM_TX,
the SUBSTREAM_TYPE(substream) can be deleted too, the playback or record can be
judged by 'if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)' directly rather
than 'if (PCM_TX == stype)', which makes the codes easy to read.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sascha Hauer [Mon, 31 May 2010 12:19:50 +0000 (14:19 +0200)]
ASoC: MX31ads sound support should depend on MACH_MX31ADS_WM1133_EV1
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Sascha Hauer [Mon, 31 May 2010 08:49:54 +0000 (10:49 +0200)]
ASoC: Add missing Kconfig entry for Phytec boards
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Mon, 31 May 2010 16:13:20 +0000 (18:13 +0200)]
Merge branch 'for-2.6.36' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc
Takashi Iwai [Mon, 31 May 2010 16:12:41 +0000 (18:12 +0200)]
Merge branch 'for-2.6.36' of git://git./linux/kernel/git/lrg/asoc-2.6 into topic/asoc
Mark Brown [Mon, 31 May 2010 12:47:26 +0000 (13:47 +0100)]
ASoC: Fix S/PDIF build
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
apatard@mandriva.com [Mon, 31 May 2010 11:49:15 +0000 (13:49 +0200)]
ASoC: kirkwood: Add audio support to openrd client platforms
This patch is adding support for openrd client platforms. It's using
the cs42l51 codec and has one mic and one speaker plugs.
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
apatard@mandriva.com [Mon, 31 May 2010 11:49:14 +0000 (13:49 +0200)]
ASoC: kirkwood: Add i2s support
This patch enables support for the i2s controller available on kirkwood
platforms
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
apatard@mandriva.com [Mon, 31 May 2010 11:49:13 +0000 (13:49 +0200)]
openrd-client: initialise audio
This patch is reponsible for enabling audio on the openrd client board
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
apatard@mandriva.com [Mon, 31 May 2010 11:49:12 +0000 (13:49 +0200)]
orion/kirkwood: add audio functions.
This patch add audio related definitions and functions
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
apatard@mandriva.com [Thu, 27 May 2010 12:57:41 +0000 (14:57 +0200)]
ASoC: Add driver for cs42l51
This patch is adding a ASoC driver for the cs42l51 from Cirrus Logic.
Master mode and spi mode are not supported.
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.ul>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
apatard@mandriva.com [Thu, 27 May 2010 12:57:40 +0000 (14:57 +0200)]
ASoC: Add SND_SOC_DAPM_PRE_POST_PMD event
Some systems codecs need to configure some registers before and after
powering down some of their part. As a convenience add a macro for that.
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Seungwhan Youn [Thu, 27 May 2010 09:13:48 +0000 (18:13 +0900)]
ASoC: spdif: Add codec driver to use spdif stand-alone
This patch adds spdif dummy codec driver for using spdif-dit as
a stand-alone. Until this, spdif-dit can be used only with other
codecs like tlv320aci3x in davinci platform.
Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Peter Ujfalusi [Wed, 26 May 2010 08:38:21 +0000 (11:38 +0300)]
ASoC: TWL4030: Add functionalty to reset the registers
Machine driver can instruct the codec driver to reset the
chip registers to their default values at probe time.
If machine driver does not provide setup data, then the
registers are going to be reseted to their defaults, to
be safe.
If the developer on the platform confirms that the register
reset is not needed, than it can be skipped, saving ~20ms
time in probe.
As safety measure do the register reset at remove time also.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Wed, 26 May 2010 08:38:20 +0000 (11:38 +0300)]
ASoC: TWL4030: Use BIAS_OFF instead of BIAS_STANDBY, when not in use
Restructure the codec power code in order to be able to hit
off when the codec is not in use.
Since the audio registers are accessible while the codec is powered
down, there is no need for additional safety mechanism.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Wed, 26 May 2010 08:38:19 +0000 (11:38 +0300)]
ASoC: TWL4030: Correct the ARXR2_APGA_CTL chip default
It seams at least on twl5031 that the ARXR2_APGA_CTL register
does not have the same default value as it is written in
the TRM.
Since the codec part of the PM chip has not been actually
changed according to TI, assuming, that all version has
the same problem, so writing there the TRM value.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Wed, 26 May 2010 08:38:18 +0000 (11:38 +0300)]
ASoC: TWL4030: Helper to check chip default registers
Since the twl4030 codec driver supports different version
of the PM chip, a helper function can come handy, which
can check the driver's default versus the chip values.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Wed, 26 May 2010 08:38:17 +0000 (11:38 +0300)]
ASoC: TWL4030: Optimize the power up sequence
Since the reg cache now contains the chip default values
for all registers (REG_OPTION is reset to it's default
within this patch), there is no longer need to rewrite
_all_ registers.
Initialize only few selected registers.
According to the latest information, the offset cancellation
need to be done only once, when the codec is powered on, so
there is no need for the power up wrapper.
Move all chip initialization code under chip_init, and do
it when the codec is initialized.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Wed, 26 May 2010 08:38:16 +0000 (11:38 +0300)]
ASoC: TWL4030: Make offset cancellation path configurable
Add means for machine drivers to select the path for offset
cancellation.
Reset the reg cache value to the chip reset value at the
same time.
Machine drivers can specify which path need to be used for
offset cancellation via the twl4030_setup.offset_cncl_path.
For paths use the defines from
include/linux/mfd/twl4030-codec.h:
TWL4030_OFFSET_CNCL_SEL_*
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Wed, 26 May 2010 08:38:15 +0000 (11:38 +0300)]
ASoC: TWL4030: Remove wrapper for power down
There is no need for the power down wrapper.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>