Commit Graph

5186 Commits

Author SHA1 Message Date
Takashi Iwai
5f592bb99b Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc 2009-05-15 10:30:21 +02:00
Mark Brown
81a4275bff Merge branch 'for-2.6.30' into for-2.6.31 2009-05-15 08:59:52 +01:00
David Brownell
f492ec9f02 ASoC: DaVinci EVM board support buildfixes
This is a build fix, resyncing the DaVinci EVM ASoC board code
with the version in the DaVinci tree.  That resync includes
support for the DM355 EVM, although that board isn't yet in
mainline.

(NOTE:  also includes a bugfix to the platform_add_resources
call, recently sent by Chaithrika U S <chaithrika@ti.com> but
not yet merged into the DaVinci tree.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-15 08:59:07 +01:00
David Brownell
a62114cb90 ASoC: DaVinci I2S updates
This resyncs the DaVinci I2S code with the version in the DaVinci
tree.  The behavioral change uses updated clock interfaces which
recently merged to mainline.  Two other changes include adding a
comment on the ASP/McBSP/McASP confusion, and dropping pdev->id in
order to support more boards than just the DM644x EVM.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-15 08:58:58 +01:00
David Brownell
82075af6cb ASoC: davinci-pcm buildfixes
This is a buildfix for the DaVinci PCM code, resyncing it with
the version in the DaVinci tree.  The notable change is using
current EDMA interfaces, which recently merged to mainline.
(The older interfaces never made it into mainline.)

NOTE:  open issue, the DMA should be to/from SRAM; see chip
errata for more info.  The artifacts are extremely easy to
hear on DM355 hardware (not yet supported in mainline), but
don't seem as audible on DM6446 hardwaare (which does have
mainline support).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-15 08:58:05 +01:00
Marek Vasut
63c26baa2a ASoC: Support AC97 link off by default on WM9712
The WM9712 can be configured by resistor strapping GPIO4 to behave like
the WM9713 and default to leaving the AC97 link disabled after cold
reset until a warm reset occurs.  In this configuration we need to issue
a warm reset after cold to bring the link up so do so.  The warm reset
will be harmless on systems that don't need it.

[Changelog rewritten to document the reasoning. -- broonie]

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14 20:52:46 +01:00
Mark Brown
c13cb78ace Merge branch 'pxa2xx-i2s' into for-2.6.31 2009-05-14 20:35:51 +01:00
Karl Beldan
916465a841 ASoC: pxa2xx-i2s: Fix suspend/resume
pxa2xx_i2s_resume is :
 - unconditionnaly setting SACR0_ENB
 - unsetting SACR0_ENB in saved SACR0 pxa_i2s.sacr0
fix these.

In pxa2xx_i2s_{resume,suspend}, save/restore registers even
when !dai->active.

Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14 20:35:32 +01:00
Karl Beldan
9bc04fd167 ASoC: pxa2xx-i2s: Fix inappropriate release of i2s clock
i2s_clk is 'put' for no reason in pxa2xx_i2s_shutdown.
Now we 'get' i2s_clk at probe and 'put' it at driver removal or when
probe fails.

Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14 20:35:31 +01:00
Karl Beldan
34555c1077 ASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separately
- hw_params enables both RPL and REC functions each time : Enable the
	appropriate function in pxa2xx_i2s_trigger.
- pxa2xx_i2s_shutdown disables i2s anytime one of RPL or REC function is
	off : Turn it off only when both functions are off.

Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14 20:35:23 +01:00
Karl Beldan
b243b77c70 ASoC: pxa2xx-i2s: Proper hw initialization
Make sure we are in a know good state at end of probe :
Reset FIFO logic and registers, and make sure REC and RPL functions
along with FIFO service are disabled (SACR0_RST enables REC and RPL).

Resetting loses current settings so remove reset from stream startup.
Now reset occurs only at probe.

Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14 20:34:40 +01:00
Anuj Aggarwal
14610ce711 ASoC: Added OMAP3 EVM support in ASoC.
Resending the patch after fixing the minor issues.

Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-14 12:47:26 +01:00
Karl Beldan
8c10dc4f54 ASoC: pxa2xx-i2s: Proper initialization
Reset FIFO logic and registers, and make sure REC and RPL functions along
with FIFO service are disabled at probe.

Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-13 19:16:00 +01:00
Takashi Iwai
dd4a416442 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc 2009-05-12 12:32:07 +02:00
Takashi Iwai
ddc4097b77 Merge branch 'topic/drvdata-fix' into topic/asoc 2009-05-12 11:57:09 +02:00
Mark Brown
13e2c86c20 Merge branch 'for-2.6.30' into for-2.6.31 2009-05-12 10:53:33 +01:00
Joonyoung Shim
97b8096dc9 ASoC: TWL4030: change DAPM for analog microphone selection
The inputs of the twl4030 codec can be mixed, so we will use the mixer
DAPM for the analog microphone registers(0x05, 0x06), but if we enable
more than one input at the same time, the input impedance of the input
amplifier will be reduced.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-12 10:53:22 +01:00
Mark Brown
7de0a0aee5 ASoC: Enforce symmetric rates for PXA2xx I2S
There is a single I2S_SYNC pin on the chip.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-12 10:53:22 +01:00
Mike Rapoport
eaaa532883 ASoC: em-x270: make the driver support also eXeda and CM-X300 machines
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-12 10:53:22 +01:00
Greg Kroah-Hartman
ae31c1fbdb sound: remove driver_data direct access of struct device
In the near future, the driver core is going to not allow direct access
to the driver_data pointer in struct device.  Instead, the functions
dev_get_drvdata() and dev_set_drvdata() should be used.  These functions
have been around since the beginning, so are backwards compatible with
all older kernel versions.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-12 09:20:54 +02:00
Roel Kluin
31cb31f76e ASoC: remove driver_data direct access of struct device
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-11 22:09:22 +01:00
Mike Rapoport
1ffafeb556 pxa2xx-ac97: fix reset gpio mode setting
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Acked-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-11 19:01:51 +01:00
Mike Rapoport
914dc18255 ASoC: soc-core: fix crash when removing not instantiated card
If the card was not instantiated in snd_soc_instantiate_card, calling
soc-remove will crash because some of codec, cpu_dai and card .remove
methods are called twice.
Fix this by returning from soc_remove immediately.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-11 19:01:51 +01:00
Mark Brown
151ab22cf7 ASoC: Fix up CODEC DAI formats for big endian CPUs
ASoC uses the standard ALSA data format definitions to specify the wire
format used between the CPU and CODEC. Since the ALSA data formats all
include the endianess of the data but this information is not relevant
by the time the data has been encoded onto the serial link to the CODEC
this means that either all the CODEC drivers need to declare both big and
little endian variants or the core needs to fix up the format constraints
specified by CODEC drivers.

For now take the latter approach - this will need to be revisited if any
CODECs are endianness dependant.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-09 16:35:21 +01:00
Sergey Lapin
b4df0a6c9d ASoC: AFEB9260 driver
ASoC driver for AT91SAM9260-based AFEB9260 board

Signed-off-by: Sergey Lapin <slapin@ossfans.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-08 19:14:34 +01:00
Peter Ujfalusi
c198d81181 ASoC: TWL4030: Fix typo in twl4030_codec_mute function
Copy-paste error: TWL4030_PRECKL_GAIN >> TWL4030_PRECKR_GAIN
It has not caused problems, since
TWL4030_PRECKL_GAIN == TWL4030_PRECKR_GAIN == 0x30

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-08 12:00:12 +01:00
Daniel Mack
5e7c034425 ASoC: cs4270: add power management support
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-07 09:00:27 +01:00
Daniel Mack
80ab8817bf ASoC: cs4270: introduce CS4270_I2C_INCR
Replace the magic 0x80 value with a suitable macro definition.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05 19:16:41 +01:00
Mark Brown
b290750172 Merge branch 'for-2.6.30' into for-2.6.31 2009-05-05 10:13:01 +01:00
Mark Brown
f3831a592f Merge commit 'takashi/topic/asoc' into for-2.6.31 2009-05-05 10:12:55 +01:00
Peter Ujfalusi
376f7839b7 ASoC: TWL4030: Add VIBRA output
This patch adds support for the VIBRA output on TWL4030 codec.
The VIBRA output can be driven with audio data or with
local vibrator driver.
Add the needed DAPM elements and routes for the VIBRA output and
controls for the VIBRA driver configuration.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05 10:12:45 +01:00
Jonathan Cameron
a195b51bc5 ASoC: IMote2 ASoC Support
This patch adds the ASoC side of the board support for the Crossbow
IMB400 daughter board.

Thanks to Crossbow for considerable assistance.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05 10:12:36 +01:00
Lopez Cruz, Misael
ee8f6894f3 ASoC: TWL4030: Add voice digital loopback: sidetone
This patch add voice digital loopback (sidetone) to the twl4030
driver. It mixes voice uplink attenuated (by sidetone gain) with
voice downlink when the codec is working in option2 (voice/audio
mode).

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05 10:12:20 +01:00
Lopez Cruz, Misael
fcd274a345 ASoC: TWL4030: Add VDL analog bypass
This patch adds voice downlink analog bypass switch. It follows
the same approach as in other analog bypass switches.
DAC switch is moved from 'DAC Voice' to 'Analog Voice Playback Mixer',
that will also allow voice DAC to be powered in digital voice
loopback (sidetone).

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-05 10:12:14 +01:00
Jinyoung Park
97a775c49c ASoC: Fix errors in WM8990
The mis-typing exist in dapm controller definitions and dapm route definitions,
so happen mis-matched error when snd_soc_dapm_add_routes().

Cc: stable@kernel.org
Signed-off-by: Jinyoung Park <parkjy@mtekvision.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
2009-05-05 09:56:49 +01:00
Takashi Iwai
5d7ee52f1c Merge branch 'fix/misc' into for-linus
* fix/misc:
  ALSA: indigo-express: add missing 64KHz flags
2009-05-04 16:06:58 +02:00
Takashi Iwai
8560b9321f Merge branch 'fix/asoc' into topic/asoc 2009-05-04 16:05:23 +02:00
Takashi Iwai
6574612fbb ASoC: Remove BROKEN from mpc5200 kconfig
The regression was fixed by commit
3e5b50165f, so no need to mark this
driver as BROKEN.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-04 16:03:21 +02:00
Takashi Iwai
3a20ac2c52 Merge branch 'fix/pcm-jiffies-check' into fix/asoc 2009-05-04 16:00:16 +02:00
Mark Brown
33f503c96c ASoC: Use a shared define for AC97 CODEC data formats
The AC97 wire format is completely fixed so CODECs don't have any choice
about the formats they accept but controllers accept a variety of data
formats and render them down onto the bus.  Have a shared define so all
the CODEC drivers will interoperate with any of our controller drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-02 12:32:09 +01:00
Mark Brown
71437552f2 ASoC: Use platform device resource for S3C64xx IISv2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30 14:08:01 +01:00
Mark Brown
abbc824669 ASoC: Staticise txctrl and rxctrl for S3C IISv2
They aren't used by anything external and aren't prototyped; if any
users appear they can be exported again for them.

Also report what modes we have a problem with when we encounter invalid
mode configurations.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30 13:30:43 +01:00
Mark Brown
38e43c81a0 ASoC: Display S3C IISv2 mode and MS errors by default
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30 13:30:43 +01:00
Mark Brown
af3ea7bdc7 ASoC: Display the clock rate used as the basis for rate calculation
Aids debugging.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30 13:30:42 +01:00
Mark Brown
c86bde5406 ASoC: Allow use of resource from the platform device for S3C IISv2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30 13:30:42 +01:00
Mark Brown
07736d4805 ASoC: Fix boot warnings from S3C IISv2
On startup we try to make sure that the port is quiesced but if the
port is already stopped then this will generate a warning about the
RX/TX mode configuration. Configure the mode before doing the teardown
to suppress these warnings.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30 13:30:35 +01:00
Mark Brown
553b1dd58c ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bit
The data format configuration for S3C64xx IISv2 is completely different
to that for S3C24xx. Instead of a single bit configuration in bit 0 of
IISMOD we have format selection in bits 13 and 14 and bit clock rate
selection in bits 1 and 2. While we're here add support for 24 bit
samples in S3C64xx.

At some point it may be desirable to expose the bit clock rate selection
to users but given the limited configuration options that may not be
required.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30 13:26:34 +01:00
Mark Brown
51438449e7 ASoC: Make S3C64xx clock export function to return struct clk
This makes the interface usable with the s3c-iis-v2 rate calculator
and consistent with S3C2412.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30 13:24:45 +01:00
Mark Brown
8a0f62b842 ASoC: Check for supported CPUs when building s3c-i2s-v2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30 13:24:34 +01:00
Mark Brown
09aa60df92 ASoC: Fix error message formatting in s3c64xx-i2s driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30 13:24:24 +01:00