GitHub/moto-9609/android_kernel_motorola_exynos9610.git
14 years agoASoC: Unconditionally enable WM8994 AIF1ADC TDM mode
Mark Brown [Tue, 20 Jul 2010 09:13:14 +0000 (10:13 +0100)]
ASoC: Unconditionally enable WM8994 AIF1ADC TDM mode

AIF1ADC TDM mode has no effect other than causing the ADCDAT line to
be tristated rather than driven low on clock cycles where there is no
data to be transmitted. If the clock cycle is idle then there should
be no devices using the data so tristating should have no adverse
effects.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: davinci: let platform data define edma queue numbers
Sekhar Nori [Mon, 19 Jul 2010 07:01:16 +0000 (12:31 +0530)]
ASoC: davinci: let platform data define edma queue numbers

Currently the EDMA queue to be used by for servicing ASP through
internal RAM is fixed to EDMAQ_0 and that to service internal RAM
from external RAM is fixed to EDMAQ_1.

This may not be the desirable configuration on all platforms. For
example, on DM365, queue 0 has large fifo size and is more suitable
for video transfers. Having audio and video transfers on the same
queue may lead to starvation on audio side.

platform data as defined currently passes a queue number to the driver
but that remains unused inside the driver.

Fix this by defining one queue each for ASP and RAM transfers in the
platform data and using it inside the driver.

Since EDMAQ_0 maps to 0, thats the queue that will be used if
the asp queue number is not initialized. None of the platforms
currently utilize ping-pong transfers through internal RAM so that
functionality remains unchanged too.

This patch has been tested on DM644x and OMAP-L138 EVMs.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC:Support Samsung SoC(S5P) in I2Sv2
Chanwoo Choi [Tue, 20 Jul 2010 05:28:30 +0000 (14:28 +0900)]
ASoC:Support Samsung SoC(S5P) in I2Sv2

This patch modify I2Sv2 driver to support Samsung SoC(S5PV210).

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'for-2.6.35' into for-2.6.36
Mark Brown [Tue, 20 Jul 2010 08:52:25 +0000 (09:52 +0100)]
Merge branch 'for-2.6.35' into for-2.6.36

14 years agoASoC: Select wm_hubs automatically for WM8994
Chanwoo Choi [Tue, 20 Jul 2010 05:28:33 +0000 (14:28 +0900)]
ASoC: Select wm_hubs automatically for WM8994

Otherwise all machine drivers need to do so.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Implement WM8994 AIF1ADC2 paths
Mark Brown [Mon, 19 Jul 2010 13:02:34 +0000 (14:02 +0100)]
ASoC: Implement WM8994 AIF1ADC2 paths

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Explicitly disable DC servo on WM hubs headphone powerdown
Mark Brown [Mon, 10 May 2010 20:06:14 +0000 (21:06 +0100)]
ASoC: Explicitly disable DC servo on WM hubs headphone powerdown

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: eukrea-tlv320: add support for cpuimx35sd
Eric Bénard [Mon, 19 Jul 2010 08:40:32 +0000 (10:40 +0200)]
ASoC: eukrea-tlv320: add support for cpuimx35sd

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>
14 years agoASoC: imx: check kzalloc() result and fix memory leak
Kulikov Vasiliy [Fri, 16 Jul 2010 16:16:54 +0000 (20:16 +0400)]
ASoC: imx: check kzalloc() result and fix memory leak

If kzalloc() fails we must exit with -ENOMEM. Also we must free
allocated runtime->private_data on error as it would be lost on next
call to snd_imx_open().

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: imx: check kzalloc() result and fix memory leak
Kulikov Vasiliy [Fri, 16 Jul 2010 16:16:34 +0000 (20:16 +0400)]
ASoC: imx: check kzalloc() result and fix memory leak

If kzalloc() fails we must exit with -ENOMEM. Also we must free
allocated runtime->private_data on error as it would be lost on next
call to snd_imx_open().

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: davinci: check kzalloc() result (typo)
Kulikov Vasiliy [Fri, 16 Jul 2010 16:16:17 +0000 (20:16 +0400)]
ASoC: davinci: check kzalloc() result (typo)

The code checks 'davinci_vc' after kzalloc() and do not checks
'davinci_vcif_dev' that kzalloc() result is assigned to. It seems that
it is a typo (autocompletion?).

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: fsi: Add specified ID for soc-audio
Kuninori Morimoto [Fri, 16 Jul 2010 10:51:06 +0000 (19:51 +0900)]
ASoC: fsi: Add specified ID for soc-audio

Specified ID is necessary, when some codecs are used with 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>
14 years agoMerge branch 'for-2.6.35' into for-2.6.36
Mark Brown [Sat, 17 Jul 2010 18:45:43 +0000 (19:45 +0100)]
Merge branch 'for-2.6.35' into for-2.6.36

14 years agoASoC: Remove duplicate AUX definition from WM8776
Mark Brown [Sat, 17 Jul 2010 13:20:17 +0000 (14:20 +0100)]
ASoC: Remove duplicate AUX definition from WM8776

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: stable@kernel.org
14 years agoASoC: Handle read failures in codec_reg
Mark Brown [Wed, 14 Jul 2010 15:14:33 +0000 (16:14 +0100)]
ASoC: Handle read failures in codec_reg

When a device is powered down volatile registers can't be read so
attempts to display codec_reg will show error values, and obviously
it is also possible for there to be hardware errors too. Check for
errors from reads and display them more clearly when formatting
codec_reg.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge branch 'for-2.6.35' into for-2.6.36
Mark Brown [Wed, 14 Jul 2010 19:12:57 +0000 (20:12 +0100)]
Merge branch 'for-2.6.35' into for-2.6.36

14 years agoASoC:: remove a redundant snd_soc_unregister_codec call in wm8988_register
Axel Lin [Wed, 14 Jul 2010 11:06:07 +0000 (19:06 +0800)]
ASoC:: remove a redundant snd_soc_unregister_codec call in wm8988_register

snd_soc_unregister_codec is called twice if snd_soc_register_dai fail.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: wm8727: add a missing return in wm8727_platform_probe
Axel Lin [Wed, 14 Jul 2010 10:57:31 +0000 (18:57 +0800)]
ASoC: wm8727: add a missing return in wm8727_platform_probe

otherwise the error path will always be executed.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: au1x: fix section mismatch in psc-i2s.c
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>
14 years agoASoC: kirkwood-i2s: Handle mute/unmute playback/record
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>
14 years agoASoC: Fix kirkwood i2s mono playback
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>
14 years agoASoC: fsi: Fixup for master mode
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>
14 years agoASoC: fsi: Add pr_err for noticing unsupported access
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>
14 years agoASoC: fsi: Change struct fsi_regs to fsi_core
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>
14 years agoASoC: fsi: remove noisy CR_FMT macro
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>
14 years agoASoC: fsi: remove un-used variable on fsi_dai_startup
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>
14 years agoASoC: fsi: modify format area definition on flags
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>
14 years agoASoC: Remove unnecessary casts of private_data
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>
14 years agoASoC: Remove unnecessary casts of private_data
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>
14 years agoMerge branch 'for-2.6.35' into for-2.6.36
Mark Brown [Tue, 13 Jul 2010 11:29:10 +0000 (12:29 +0100)]
Merge branch 'for-2.6.35' into for-2.6.36

14 years agoASoC: fsi: fixup wrong value setting order of TDM
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>
14 years agoASoC: fsi: fixup clock inversion operation
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>
14 years agoASoC: Implement WM8994 OPCLK support
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>
14 years agoASoC: Include WM8994 GPIO and interrupt registers in codec_reg
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>
14 years agoASoC: DaVinci: More accurate continuous serial clock for McBSP (I2S)
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>
14 years agoASoC: DaVinci: Added selection of clk input pin for McBSP
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>
14 years agoASoC: DaVinci: Added two clocking possibilities to McBSP (I2S)
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>
14 years agoASoC: Invert speaker enabling behaviour in SmartQ sound driver
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>
14 years agoASoC: Automatically manage ALC coefficients for WM8960
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>
14 years agoASoC: Automatically manage DAC deemphasis rate for WM8960
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>
14 years agoASoC: Remove current WM8960 deemphasis control
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>
14 years agoASoC: Fix sorting of Makefile and Kconfig
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>
14 years agoASoC: Add SmartQ sound driver
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>
14 years agoASoC: codec: Add WM8987 device id to WM8750 driver
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>
14 years agoASoC: ak4642: Add Digital Playback Volume control
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>
14 years agoASoC: uda134x: correct bias level setup for codecs family
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>
14 years agoASoC: uda134x: add DATA011 register found in codecs family
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>
14 years agoMerge remote branch 'takashi/topic/asoc' into for-2.6.36
Mark Brown [Wed, 30 Jun 2010 13:46:53 +0000 (14:46 +0100)]
Merge remote branch 'takashi/topic/asoc' into for-2.6.36

14 years agoASoC: clean i.MX Kconfig
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>
14 years agoASoC: uda134x: fix bias level setup on initialization
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>
14 years agoASoC: uda134x: replace a macro with a value in platform struct.
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>
14 years agoMerge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
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

14 years agoASoC: RX-51: Add basic jack detection
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>
14 years agoASoC: RX-51: Add Jack Function kcontrol
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>
14 years agocodecs/tlv320aic23: fix bias management for suspend/resume
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>
14 years agoASoC: JZ4740: Add qi_lb60 board driver
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>
14 years agoASoC: Add JZ4740 codec driver
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>
14 years agoASoC: Add JZ4740 ASoC support
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>
14 years agoASoC: pandora: fix CLKX polarity
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>
14 years agoASoC: Fix sorting of DA7210 entries in Kconfig
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>
14 years agoASoC: Fix overflow bug in SOC_DOUBLE_R_SX_TLV
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>
14 years agoASoC: eukrea-tlv320: add support for our i.MX25 board
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>
14 years agoASoC: Fix I2C dependency for SND_FSI_AK4642 and SND_FSI_DA7210
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>
14 years agoASoC: Pay attention to write errors in volsw_2r_sx
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>
14 years agoASoC: Default WM2000 ANC and speaker to enabled
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>
14 years agoMerge branch 'for-2.6.35' into for-2.6.36
Mark Brown [Tue, 15 Jun 2010 10:55:35 +0000 (11:55 +0100)]
Merge branch 'for-2.6.35' into for-2.6.36

14 years agoASoC: DaVinci: Fix McASP hardware FIFO configuration
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>
14 years agoASoC: header cleanup for da7210
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>
14 years agoASoC: header cleanup for ak4642
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>
14 years agoASoC: header cleanup for FSI-DA7210
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>
14 years agoASoC: header cleanup for FSI-AK4642
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>
14 years agoASoC: header cleanup for FSI
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>
14 years agoASoC: Remove unused header from MPC5200 PSC driver
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>
14 years agoASoC: NUC900: patch for fix build error
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>
14 years agoASoC: EP93xx: Add Snapper CL15 i2s audio support
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>
14 years agoMerge branch 'ep93xx' into for-2.6.36
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

14 years agoEP93xx: Add i2s core support
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>
14 years agoMerge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
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

14 years agoASoC: patch for the useless 'break' removal in kirkwood
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>
14 years agoASoC: atmel: trivial code cleanup
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>
14 years agoASoC: ep93xx i2s audio driver
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>
14 years agoASoC: tlv320dac33: Add support for changing upper threshold
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>
14 years agoASoC: imx: add eukrea-tlv320
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>
14 years agoASoC: imx-ssi.c: add new choices to platform configuration
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>
14 years agoASoC: s3c: patch for the unnecessary variable 'state' removal
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>
14 years agoASoC: atmel: patch for the unnecessary variable removal
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>
14 years agoASoC: use resource_size for au1x
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>
14 years agoASoC: omap-mcbsp: Place correct constraints for streams
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>
14 years agoASoC: omap-mcbsp: Save, and use wlen for threshold configuration
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>
14 years agoOMAP3: McBSP: Use the port's buffer_size when calculating tx delay
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>
14 years agoOMAP3: McBSP: Change the way how the FIFO is handled
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>
14 years agoOMAP: McBSP: Function to query the FIFO size
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>
14 years agoASoC: s6000: use resource_size for {request/release}_mem_region and ioremap
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>
14 years agoMerge branch 'for-2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
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

14 years agoMerge branch 'for-2.6.35' into for-2.6.36
Mark Brown [Wed, 2 Jun 2010 10:47:24 +0000 (11:47 +0100)]
Merge branch 'for-2.6.35' into for-2.6.36

14 years agoASoC: nuc900: patch for modifing the ac97 delays to minimum
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>
14 years agoASoC: nuc900: fix a typo and rename the header file
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>
14 years agoASoC: nuc900: fix a wait loop bug
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>
14 years agoASoC: nuc900: patch for SUBSTREAM_TYPE', 'PCM_TX' and 'PCM_RX' removal
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>
14 years agoASoC: MX31ads sound support should depend on MACH_MX31ADS_WM1133_EV1
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>