Commit Graph

129650 Commits

Author SHA1 Message Date
Mark Brown
85fab7802a ASoC: Fix Zylonite for non-networked SSP mode
This also simplifies the code a bit.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-14 11:38:16 +00:00
Mark Brown
0ce36c5f7f ASoC: Fix non-networked I2S mode for PXA SSP
Two issues are fixed here:

 - I2S transmits the left frame with the clock low but I don't seem to
   get LRCLK out without SFRMDLY being set so invert SFRMP and set a
   delay.
 - I2S has a clock cycle prior to the first data byte in each channel
   so we need to delay the data by one cycle.

Tested-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-14 11:37:46 +00:00
Daniel Mack
72d7466468 ASoC: switch PXA SSP driver from network mode to PSP
This switches the pxa ssp port usage from network mode to PSP mode.
Removed some comments and checks for configured TDM channels.
A special case is added to support configuration where BCLK = 64fs. We
need to do some black magic in this case which doesn't look nice but
there is unfortunately no other option than that.

Diagnosed-by: Tim Ruetz <tim@caiaq.de>
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-13 13:23:34 +00:00
Lopez Cruz, Misael
77dd7e17b8 ASoC: Move headset jack registration to device initialization for SDP3430
Move headset jack registration to the codec/machine specific
initialization. Having the jack registration in machine init
causes that the jack device gets initialized but not registered
since the sound card is registered before the jack. Moving jack
registration to device initialization will register the jack
device along with all other devices associated to the card when
the card is registed. As a consequence of jack device registered
properly, the jack is detected as an input device.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-13 12:08:53 +00:00
Philipp Zabel
eb5f6d753e ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls.
The drivers are basically duplicating the same code over and over.
As snd_soc_cnew is going to be made static some time after the next
merge window, we might as well convert them now.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-12 15:43:30 +00:00
Mark Brown
6f7cb44ba1 ASoC: Move WM8580 to normal I2C device probe
Refactor the WM8580 device registration to probe via standard I2C device
registration, registering the DAIs once the device has probed via I2C.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-12 15:43:24 +00:00
Mark Brown
2a9f0ba7a9 Merge branch 's3c-iis-header' into for-2.6.30 2009-03-11 18:30:48 +00:00
Mark Brown
603b6fd5b8 [ARM] Revert futher extraneous changes from the S3C header move
Can't see any immediate need for these; build tested.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-11 18:28:24 +00:00
Mark Brown
65ec1cd1e2 ASoC: Merge dai_ops factor out
Merge Eric Maio's patch to merge snd_soc_dai_ops out of line.  Fixed
merge issues and updated drivers, plus an issue with the ops for the two
s3c2443 AC97 DAIs having been merged.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-11 16:51:31 +00:00
Mark Brown
5314adc361 ASoC: Fix formats for s3c24xx-i2s register prints
The register values are all u32 so don't need the long format.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-11 16:28:29 +00:00
Mark Brown
02b7cbc399 ASoC: Remove version display from WM8580 driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-11 14:40:41 +00:00
Mark Brown
aaf1e176fa ASoC: Add initial driver for the WM8400 CODEC
The WM8400 is a highly integrated audio CODEC and power management unit
intended for mobile multimedia application.  This driver supports the
primary audio CODEC features, including:

 - 1W speaker driver
 - Fully differential headphone output
 - Up to 4 differential microphone inputs

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-11 13:49:46 +00:00
David Brownell
5706d50132 ASoC: buildfix for OSK
Buildfix:

  CC      sound/soc/omap/osk5912.o
  sound/soc/omap/osk5912.c: In function 'osk_soc_init':
  sound/soc/omap/osk5912.c:189: error: implicit declaration of function 'clk_get_usecount'
  make[3]: *** [sound/soc/omap/osk5912.o] Error 1

There's no such (standard) clock interface.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-11 12:49:28 +00:00
Mark Brown
3c08138400 Merge branch 's3c-iis-header' into for-2.6.30
Conflicts:
	arch/arm/mach-shark/include/mach/io.h
2009-03-11 11:12:48 +00:00
Mark Brown
a2b03461cb [ARM] Revert extraneous changes from the S3C audio header move
These changes were included in the S3C audio header move but are not
directly related to it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-11 11:10:19 +00:00
Mark Brown
f455dfb106 ASoC: Fix up merge with the ARM tree
The same change has been made with the final lines in slightly differnet
orders.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-10 19:51:07 +00:00
Daniel Mack
cbf1146d5e ASoC: don't touch pxa-ssp registers when stream is running
In pxa_ssp_set_dai_fmt(), check whether there is anything to do at all.
If there would be but the SSP port is in use already, bail out.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-10 19:44:04 +00:00
Hugo Villeneuve
090cec81ae ALSA: ASoC: Davinci: Updated sffsdr_hw_params() function to new format
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-10 15:42:48 +00:00
Hugo Villeneuve
14cbba89ae ALSA: ASoC: Davinci: Replaced DAI format RIGHT_J by DSP_B for SFFSDR
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-10 15:42:48 +00:00
Mark Brown
b3d7e3c99d Merge commit 'takashi/topic/asoc' into for-2.6.30 2009-03-10 15:42:03 +00:00
Ben Dooks
eac8473972 ASoC: Fix Samsung S3C2412_IISMOD_SDF_{MSB,LSB} definitions
The definitions of S3C2412_IISMOD_SDF_MSB and S3C2412_IISMOD_SDF_LSB
are incorrect, being the same S3C2412_IISMOD_SDF_IIS which is the
only correct one in this series.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-09 18:28:17 +00:00
Mark Brown
6b849bcff0 ASoC: Convert PXA AC97 driver to probe with the platform device
This will break any boards that don't register the AC97 controller
device due to using ASoC.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-09 18:19:01 +00:00
Takashi Iwai
0a4e1c9069 Merge branch 'for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc 2009-03-09 12:05:21 +01:00
Daniel Mack
a381934e5f ASoC: Add a driver for AK4104 S/PDIF transmitter
This adds a driver for the SPI connected AK4104 S/PDIF transmitter
device. Its features are fairly simple, but as there is need to set up
certain bits in the IEC958 information, this better goes into a real
driver.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Mark Brown <broonie@sirena.org.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-09 10:46:17 +00:00
Takashi Iwai
f271fa28fb ASoC: Fix Kconfig dependency of CONFIG_SND_S3C24XX_SOC_JIVE_WM8750
Remove a non-existing Kconfig CONFIG_SND_SOC_WM8750_SPI.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-09 00:52:17 +01:00
Mark Brown
055a49b0c9 ASoC: Remove unneeded forward reference to WM8753 SPI implementation
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-08 20:43:33 +00:00
Daniel Mack
b191f63c4f ASoC: bring cs4270 feature/limitations list in sync
Removes numbers from the list of features/limitations and makes it
reflect recent changes to the code.

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-03-08 18:27:36 +00:00
Timur Tabi
3a638ff272 ASoC: Improve pause/unpause performance in Freescale 8610 drivers
Add support for true pause and unpause.  Without this, mplayer will drop some
audio (less than one second, but still noticeable) when pausing playback.

Remove support for PM suspend and resume from the trigger function, since the
driver doesn't support PM anyway.

Optimize the delay after starting capture.  Instead of delaying 1ms, the driver
now polls the hardware.  The new delay is shorter by over 90% yet still
effective.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-07 11:01:49 +00:00
Hugo Villeneuve
96deff6baf ASoC: Davinci: Fix incorrect machine type for SFFSDR board
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-07 11:01:40 +00:00
Mark Brown
b52a5195ef ASoC: Fix logging severity for some S3C error messages
Upgrade the severity of some failure messages from debug level so
they're displayed by default.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 18:13:43 +00:00
Mark Brown
ee7d476714 ASoC: Re-remove hand-rolled pr_debug() macros
The recent set of S3C64xx patches re-added a lot of uses of DBG() that
had previously been removed - revert this so the standard pr_debug()
macro is used.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 18:04:34 +00:00
Mark Brown
26bd7b496c ASoC: Staticise workqueue function for GPIO jack detection
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:19 +00:00
Mike Frysinger
67a9c573b5 ASoC: Blackfin: fix typo in MUTE definition
Reported-by: Rob Maris <maris.rob@vdi.de>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:18 +00:00
Mike Frysinger
3465d93a12 ASoC: Blackfin: move gpio_err behind the define that is only user of it
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:17 +00:00
Lopez Cruz, Misael
de0b988828 ASoC: Add headset jack detection for SDP3430 machine driver
Add headset jack detection for SDP3430 boards using SoC jack
reporting interface. Headset detection on SDP3430 board is
achieved through TWL4030 GPIO_2 pin.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:17 +00:00
Timur Tabi
a454dad19e ASoC: add support for SSI asynchronous mode to the Freescale SSI drivers
Add a new device tree property for the SSI node: "fsl,ssi-asynchronous".  If
defined, the SSI is programmed into asynchronous mode, otherwise it is
programmed into synchronous mode.  In asynchronous mode, pin SRCK must be
connected to the same clock source as STFS, and pin SRFS must be connected to
the same signal as STFS.  Asynchronous mode allows playback and capture to
use different sample sizes.  It also technically allows different sample rates,
but the driver does not support that.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:16 +00:00
Mark Brown
499d8f4a52 ASoC: Update Kconfig for Samsung CPUs to reflect S3C64xx support
We now support the 64xx series as well as the 24xx series - make sure
people using Kconfig know this.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:15 +00:00
Mark Brown
07495f3e5a ASoC: Fix memory allocation for snd_soc_dapm_switch names
snd_soc_dapm_switch ends up ends up in dapm_new_mixer() (since a switch
is a special case of a mixer with only one input) but this wasn't
correctly handled in the code.

Also fix the coding style for the switch below while we're here.

Reported-by: Joonyoung Shim <dofmind@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:14 +00:00
Daniel Mack
b0c5033f02 ASoC: add two more bitfields for PXA SSP
Add two more bitfields for the PSP register. As they seem to exist
for PXA3xx only, define them conditionally.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:13 +00:00
Mark Brown
42aa3418eb ASoC: Factor out DAPM widget power check into separate function
Essentially simple code motion to facilitate refactoring of the power
decisions.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:13 +00:00
Daniel Mack
20a41eac4f ASoC: Fix name of register bit in pxa-ssp
A bit in PXA's SSCR0 register was erroneously named ADC but its name is
in fact ACS (audio clock select).

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:12 +00:00
Peter Ujfalusi
89492be886 ASoC: TWL4030: Make the HS ramp delay configurable
Enum type for selecting the desired ramp delay for the headset output.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:11 +00:00
Mark Brown
a1b3eaeb14 ASoC: Refresh JIVE driver
Remove uneeded startup callback and use snd_soc_dapm_nc_pin()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:10 +00:00
Ben Dooks
c36623a754 ASoC: Select DMA if I2S is configured
Select the relevant DMA implementation when the
sound driver is selected.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:09 +00:00
Ben Dooks
f8cf8176c7 ASoC: Add s3c64xx-i2s support
Add the initial code to support the S3C64XX I2S hardware using the
s3c-i2s-v2 core code.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:08 +00:00
Ben Dooks
dc85447b19 ASoC: Split s3c2412-i2s.c into core and SoC specific parts
The S3C2412 I2S (IIS) interface is replicated on further Samsung SoC
parts in a broadly compatible way, so split the common code out into
a core called s3c-i2s-v2.[ch] so that the newer SoCs such as the
S3C6410 can make use of it.

As such, all the original s3c2412 functions are currently being left
with their original names, and will be renamed later in the series.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:08 +00:00
Ben Dooks
3093e48c48 ASoC: Add JIVE audio support
Add support for the Jive's WM8750 codec attached via the S3C2412 IIS.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:07 +00:00
Lopez Cruz, Misael
979c036e09 ASoC: Add DAPM machine widgets to SDP3430 driver
Add DAPM machine domain widgets to SDP3430 machine driver.
Interconnection:
* Ext Mic: MAINMIC, SUBMIC
* Ext Spk: HFL, HFR
* Headset Jack: HSMIC, HSOL, HSOR

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-06 13:37:06 +00:00
Mark Brown
4f5b31c3f2 Merge commit 's3c-iis-header' into HEAD 2009-03-06 13:36:44 +00:00
Ben Dooks
899e6cf5e6 S3C: Move <mach/audio.h> to <plat/audio.h>
The <mach/audio.h> file needs to be common to both ARCH_S3C2410 and
ARCH_S3C64XX as they share common driver code, so move it to <plat/audio.h>.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-03-05 12:01:00 +00:00