10 years agoASoC: Add GPIO support for jack reporting interface
Lopez Cruz, Misael [Tue, 3 Mar 2009 21:25:04 +0000]
ASoC: Add GPIO support for jack reporting interface

Add GPIO support to jack reporting framework in ASoC using gpiolib calls.
The gpio support exports two new functions: snd_soc_jack_add_gpios and
snd_soc_jack_free_gpios.

Client drivers using gpio feature must pass an array of jack_gpio pins
belonging to a specific jack to the snd_soc_jack_add_gpios function. The
framework will request the gpios, set the data direction and request irq.
The framework will update power status of related jack_pins when an event on
the gpio pins comes according to the reporting bits defined for each gpio.

All gpio resources allocated when adding jack_gpio pins can be released
using snd_soc_jack_free_gpios function.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: UDA1380: DATAI is slave only
Philipp Zabel [Tue, 3 Mar 2009 15:10:52 +0000]
ASoC: UDA1380: DATAI is slave only

Only allow SND_SOC_DAIFMT_CBS_CFS for the playback DAI.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Use network mode with 2 slots for 16-bit stereo in pxa-ssp/Zylonite
Philipp Zabel [Tue, 3 Mar 2009 15:10:51 +0000]
ASoC: Use network mode with 2 slots for 16-bit stereo in pxa-ssp/Zylonite

For consistency with 24-bit and 32-bit modes, don't send 16-bit stereo
in one 32-bit transfer. Use 2 slots instead on Zylonite. It should result
in exactly the same behaviour.
Now it is possible to use 16-bit single slot transfers in pxa-ssp, which
are needed for Magician to get two frame clock pulses per sample
(one for each channel).

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Tested-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: UDA1380: change decimator/interpolator register handling
Philipp Zabel [Tue, 3 Mar 2009 15:10:54 +0000]
ASoC: UDA1380: change decimator/interpolator register handling

If the UDA1380's interpolator or decimator are set to be clocked from
the WSPLL (which syncs to the WSI signal), the DAI link must be running
to change the interpolator/decimator registers (which include volume
controls and digital mute setting).

* Queue work in the alsa PCM_START .trigger to flush registers
  as soon as the link is running. This replaces the .prepare
  and .digital_mute callbacks.
* Use the SILENCE override instead of MTM for muting and remove
  its alsa control to avoid confusion.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Remove version display from the UDA1380 driver
Philipp Zabel [Tue, 3 Mar 2009 15:10:53 +0000]
ASoC: Remove version display from the UDA1380 driver

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: fix typo and removed unneeded switch case for cs4270
Daniel Mack [Sat, 28 Feb 2009 12:21:03 +0000]
ASoC: fix typo and removed unneeded switch case for cs4270

This removes a misspelled comment and got rid of superfluous switch
case.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Add SND_SOC_DAPM_PIN_SWITCH controls for exposing DAPM pins
Mark Brown [Sat, 28 Feb 2009 21:14:20 +0000]
ASoC: Add SND_SOC_DAPM_PIN_SWITCH controls for exposing DAPM pins

On some systems it is desirable for control for DAPM pins to be provided
to user space. This is the case with things like GSM modems which are
controlled primarily from user space, for example. Provide a helper which
exposes the state of a DAPM pin to user space for use in cases like this.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Add cs4270 support for slave mode configurations
Daniel Mack [Wed, 25 Feb 2009 13:37:21 +0000]
ASoC: Add cs4270 support for slave mode configurations

Added support for scenarios where the Cirrus CS4270 audio codec is slave
to the bitclk and lrclk. Mixed setups are unsupported.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Fix copyright statements on Simtec files
Ben Dooks [Sat, 28 Feb 2009 17:09:57 +0000]
ASoC: Fix copyright statements on Simtec files

Fix the copyright statements in two of the S3C24XX ASoC files
that have (c) when we require the full word.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: wm8753 - Fix build error
Takashi Iwai [Thu, 26 Feb 2009 10:29:58 +0000]
ASoC: wm8753 - Fix build error

sound/soc/codecs/wm8753.c: In function 'wm8753_probe':
sound/soc/codecs/wm8753.c:1577: error: implicit declaration of function 'wm8753_add_controls'

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

10 years agoASoC: Only write back non-default registers when resuming WM8753
Mark Brown [Sun, 22 Feb 2009 20:04:41 +0000]
ASoC: Only write back non-default registers when resuming WM8753

This will reduce the number of writes done on resume, allowing that to
complete faster (especially on systems with very slow I2C like the
current Samsung driver).

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Convert WM8753 to register via normal device probe
Mark Brown [Tue, 24 Feb 2009 23:33:12 +0000]
ASoC: Convert WM8753 to register via normal device probe

The base support for the only in-tree user, the GTA01, is out of tree
and will be updated separately.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Shuffle WM8753 device registration code
Mark Brown [Sun, 22 Feb 2009 14:39:03 +0000]
ASoC: Shuffle WM8753 device registration code

This patch should be pure code motion, separating that out from the
functional changes to move to new style device registration.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Fix Zylonite voice interface stereo configurations
Mark Brown [Mon, 23 Feb 2009 18:45:19 +0000]
ASoC: Fix Zylonite voice interface stereo configurations

We always run in the first timeslot of one.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Improve WM9713 voice DAC shutdown procedure
Mark Brown [Fri, 23 Jan 2009 14:44:54 +0000]
ASoC: Improve WM9713 voice DAC shutdown procedure

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Only unregister drivers we registered for WM8753
Mark Brown [Sun, 22 Feb 2009 14:24:00 +0000]
ASoC: Only unregister drivers we registered for WM8753

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Report I/O errors from WM8753 reset
Mark Brown [Sun, 22 Feb 2009 14:19:23 +0000]
ASoC: Report I/O errors from WM8753 reset

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Disable WM8731 line bypass by default
Mark Brown [Thu, 19 Feb 2009 14:29:49 +0000]
ASoC: Disable WM8731 line bypass by default

This avoids temporarily enabling the ouput stages during startup which
can cause audible effets in the output stages.

Reported-by: Fredrik RedgĂ„rd <rik@svep.se>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers
Mark Brown [Wed, 18 Feb 2009 21:25:40 +0000]
ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Check for errors when writing WM8731 reset register
Mark Brown [Wed, 18 Feb 2009 21:06:01 +0000]
ASoC: Check for errors when writing WM8731 reset register

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: TWL4030: Add digital loopback support
Peter Ujfalusi [Wed, 18 Feb 2009 12:39:05 +0000]
ASoC: TWL4030: Add digital loopback support

This patch adds the digital loopback/bypass support for twl4030 codec.

The digital loopback will let the digimic0 (routed in the TX1 capture path
inside of TWL4030) data to be routed back to the RX2 playback path
(I2S stereo). It can also route the analog capture date routed through the
TX1 back to RX2.

Effectively the digital loopback is routing the audio from the TX1 capture path
to the RX2 playback path.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Implement SPI device unregistration for WM8731
Mark Brown [Wed, 18 Feb 2009 12:44:40 +0000]
ASoC: Implement SPI device unregistration for WM8731

Completely untested.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Fix build for corgi and poodle
Mark Brown [Wed, 18 Feb 2009 12:34:53 +0000]
ASoC: Fix build for corgi and poodle

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Remove version display from the WM8753 driver
Mark Brown [Wed, 18 Feb 2009 11:36:44 +0000]
ASoC: Remove version display from the WM8753 driver

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Refactor WM8731 device registration
Mark Brown [Mon, 16 Feb 2009 20:49:16 +0000]
ASoC: Refactor WM8731 device registration

Move the WM8731 driver to use a more standard device registration
scheme where the device can be registered independantly of the ASoC
probe.

As a transition measure push the current manual code for registering
the WM8731 into the individual machine driver probes. This allows
separate patches to update the relevant architecture files with less
risk of merge issues.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Shuffle WM8731 SPI and I2C device registration
Mark Brown [Mon, 16 Feb 2009 19:35:43 +0000]
ASoC: Shuffle WM8731 SPI and I2C device registration

This is a pure code motion patch intended to improve reviewability of a
following patch moving WM8731 to use more standard device registration.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Rename AT91SAMG20-EK for applications
Mark Brown [Mon, 16 Feb 2009 18:00:58 +0000]
ASoC: Rename AT91SAMG20-EK for applications

This is a bit more idiomatic and makes identifying a configuration
based on the board type work better.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Actively manage MCLK for AT91SAM9G20-EK
Mark Brown [Mon, 16 Feb 2009 17:51:54 +0000]
ASoC: Actively manage MCLK for AT91SAM9G20-EK

We have software control of the MCLK for the WM8731 so save a bit of
power by actively managing it within the machine driver, enabling it
only while the codec is active.

Once ASoC supports multiple boards and doesn't require the soc-audio
device the initial clock setup should be pushed down into the arch/arm
code but for now this reduces merge issues.

Tested-by: Sedji Gaouaou <sedji.gaouaou@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Check machine type before loading on AT91SAM9G20-EK
Mark Brown [Mon, 16 Feb 2009 16:04:05 +0000]
ASoC: Check machine type before loading on AT91SAM9G20-EK

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Improve diagnostics for AT91SAM9G20-EK probe
Mark Brown [Mon, 16 Feb 2009 13:38:11 +0000]
ASoC: Improve diagnostics for AT91SAM9G20-EK probe

We should display an error by default if we fail to register.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Clean up WM8731 bias level configuration
Mark Brown [Mon, 16 Feb 2009 19:20:15 +0000]
ASoC: Clean up WM8731 bias level configuration

The WM8731 bias level configuration function was written slightly
obscurely - streamline the code a little and refresh the comments.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Remove version display from the WM8731 driver
Mark Brown [Mon, 16 Feb 2009 14:08:22 +0000]
ASoC: Remove version display from the WM8731 driver

It makes boot a bit more noisy and I never remember to update it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Fix WM8753 DAIs unregistering
Paul Fertser [Sun, 15 Feb 2009 23:49:41 +0000]
ASoC: Fix WM8753 DAIs unregistering

WM8753 uses a tricky way to switch DAIs "on the fly", for that it
registers 2 dummy DAIs and substitutes them depending on mixer control.

List element of registered dummy DAIs should be preserved to allow
unregistering of DAIs on module unload.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Fix DaVinci module unload error
Kevin Hilman [Fri, 13 Feb 2009 19:36:37 +0000]
ASoC: Fix DaVinci module unload error

Fix for the error when the audio module is unloaded.  On unregistering
the platform_device, platform_device_release will free the platform
data.If platform data is static the kernel panics when it is freed.
Instead use the platform device helper function to add data.

This change has been tested on DM644x EVM, DM644x SFFSDR and DM355 EVM.

Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoMerge branch 'for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Fri, 13 Feb 2009 14:10:35 +0000]
Merge branch 'for-2.6.30' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc

10 years agoMerge branch 'for-2.6.29' into for-2.6.30
Mark Brown [Fri, 13 Feb 2009 14:02:08 +0000]
Merge branch 'for-2.6.29' into for-2.6.30

10 years agoASoC: Only register AC97 bus if it's not done already
Mark Brown [Thu, 12 Feb 2009 19:33:19 +0000]
ASoC: Only register AC97 bus if it's not done already

ASoC supports both explicit codec drivers for AC97 devices and a simple
driver which uses the standard ALSA AC97 framework for codec support.
When used with the generic AC97 codec support that will provide the
ad hoc AC97 device for drivers like touchscreens to attach to so the
core shouldn't do so.

Reported-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: add additional controls to the CS4270 codec driver
Timur Tabi [Tue, 3 Feb 2009 17:09:32 +0000]
ASoC: add additional controls to the CS4270 codec driver

Update the CS4270 codec driver to allow applications to use the mixer to
control Digital Loopback, Soft Ramp, Zero Cross, Popguard, and Auto-Mute.
Soft Ramp, Zero Cross, and Auto-Mute are disabled by the driver when it first
initializes the hardware, but these features either don't work or interfere
with normal ALSA behavior.  However, they can now be re-enabled by an
application if desired.

Remove CONFIG_SND_SOC_CS4270_HWMUTE and always allow ASoC to control the mute
bits.  The driver previously and erroneously assumed that these bits
control only external muting circuitry, but they also control internal
muting circuitry, so they should always be used.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Fix forgotten replacements of socdev->codec
Takashi Iwai [Wed, 11 Feb 2009 07:28:04 +0000]
ASoC: Fix forgotten replacements of socdev->codec

The snd_soc_codec was moved into socdev->card, but this change wasn't
applied in some places.  Fixed now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>

10 years agoMerge branch 'for-2.6.29' into for-2.6.30
Mark Brown [Tue, 10 Feb 2009 21:37:01 +0000]
Merge branch 'for-2.6.29' into for-2.6.30

10 years agoASoC: Update SDP3430 machine driver for snd_soc_card
Lopez Cruz, Misael [Tue, 10 Feb 2009 08:05:07 +0000]
ASoC: Update SDP3430 machine driver for snd_soc_card

This patch replaces "snd_soc_machine" structure by "snd_soc_card" in
SP3430 driver. This change is needed in SDP3430 driver to reflect
changes introduced by "ASoC: Rename snd_soc_card to snd_soc_machine" patch
(875065491fba8eb13219f16c36e79a6fb4e15c68).

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: TLV320AIC3X: Add TLV information for volume controls
Jarkko Nikula [Mon, 9 Feb 2009 12:27:07 +0000]
ASoC: TLV320AIC3X: Add TLV information for volume controls

TLV320AIC3X volume controls are logarithmic. Export their dB ranges.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: TLV320AIC3X: Fix volume ranges
Jarkko Nikula [Mon, 9 Feb 2009 12:27:06 +0000]
ASoC: TLV320AIC3X: Fix volume ranges

This is a minor fix but helps to define dB ranges for volume controls.

Only DAC digital volume has full register value range from 0 to 127 but
ADC PGA gain and output stage volume controls don't.

For ADC PGA, maximum value is 119 and then it saturates to the same
gain value of 59.5 dB. For output stages, value 117 corresponds to -78.3 dB
and is muted for values 118 and above.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: pxa2xx-i2s: remove I2S pin setup
Philipp Zabel [Thu, 5 Feb 2009 16:48:21 +0000]
ASoC: pxa2xx-i2s: remove I2S pin setup

This removes the calls to pxa_gpio_mode from the pxa2xx-i2s driver.
Pin setup should be done during board init via pxa2xx_mfp_config
instead.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Acked-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agopxa/spitz: Setup I2S pins for pxa2xx-i2s
Philipp Zabel [Thu, 5 Feb 2009 16:48:20 +0000]
pxa/spitz: Setup I2S pins for pxa2xx-i2s

The spitz has a WM8750 codec connected as I2S slave but doesn't use the
PXA I2S system clock.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Acked-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agopxa/h5000: Setup I2S pins for pxa2xx-i2s
Philipp Zabel [Thu, 5 Feb 2009 16:48:19 +0000]
pxa/h5000: Setup I2S pins for pxa2xx-i2s

The iPAQ h5000 has an AK4535 codec connected as I2S slave,
PXA I2S providing SYSCLK.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Acked-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: count reaches 10001, not 10000.
Roel Kluin [Sun, 8 Feb 2009 17:17:37 +0000]
ASoC: count reaches 10001, not 10000.

With a postfix increment count reaches 10001, not 10000.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Add initial support of Mitac mioa701 device SoC.
Robert Jarzmik [Sat, 7 Feb 2009 13:01:58 +0000]
ASoC: Add initial support of Mitac mioa701 device SoC.

This machine driver enables sound functions on Mitac mio
a701 smartphone. Build upon ASoC v1, it handles :
 - rear speaker
 - front speaker
 - microphone
 - GSM

A global "Mio Mode" switch is not yet provided to cope with
audio path setup. As balance on audio chip line is no more
assured, an incorrect setup can produce a lot of heat and
even fry the battery behind the wm9713 and the speaker
amplifier.

It doesn't cope with :
 - headset jack
 - mio master mode
 - master volume control

This driver is backported from ASoc v2, and amputated from
scenario setups and master volume control.

[Minor mods for terminology in comments -- broonie]

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoMerge branch 'for-2.6.29' into for-2.6.30
Mark Brown [Fri, 6 Feb 2009 14:19:45 +0000]
Merge branch 'for-2.6.29' into for-2.6.30

10 years agoASoC: optimize init sequence of Freescale MPC8610 sound drivers
Timur Tabi [Thu, 5 Feb 2009 23:56:02 +0000]
ASoC: optimize init sequence of Freescale MPC8610 sound drivers

In the Freescale MPC8610 sound drivers, relocate all code from the _prepare
functions into the corresponding _hw_params functions.  These drivers assumed
that the sample size is known in the _prepare function and not in the
_hw_params function, but this is not true.

Move the code in fsl_dma_prepare() into fsl_dma_hw_param().  Create
fsl_ssi_hw_params() and move the code from fsl_ssi_prepare() into it.

Turn off snooping for DMA operations to/from I/O registers, since that's not
necessary.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Blackfin: drop unnecessary dma casts
Mike Frysinger [Fri, 6 Feb 2009 10:12:35 +0000]
ASoC: Blackfin: drop unnecessary dma casts

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>

10 years agoASoC: Blackfin: cleanup sport handling in ASoC Blackfin AC97 code
Mike Frysinger [Fri, 6 Feb 2009 10:12:34 +0000]
ASoC: Blackfin: cleanup sport handling in ASoC Blackfin AC97 code

- make sport number handling more dynamic as not all
  Blackfins have a linear sport map starting at 0
- indexes can be macroed away too

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: WM8990: Fix kcontrol's private value use in put callback
Jarkko Nikula [Fri, 6 Feb 2009 10:01:05 +0000]
ASoC: WM8990: Fix kcontrol's private value use in put callback

Function wm899x_outpga_put_volsw_vu misuses the kcontrol's private value
by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it
as a pointer into struct soc_mixer_control after the commit
4eaa9819dc08d7bfd1065ce530e31b18a119dcaf.

This is very similar fix than fix to TLV320AIC3X codec made by
Eero Nurkkala <ext-eero.nurkkala@nokia.com>. This fix is compile tested
only.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: TLV320AIC3X: Fix kcontrol's private value use in put callback
Eero Nurkkala [Fri, 6 Feb 2009 10:01:04 +0000]
ASoC: TLV320AIC3X: Fix kcontrol's private value use in put callback

Function snd_soc_dapm_put_volsw_aic3x misuses the kcontrol's private value
by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it
as a pointer into struct soc_mixer_control after the commit
4eaa9819dc08d7bfd1065ce530e31b18a119dcaf.

This was causing arbitrary register writes when touching the controls
defined with SOC_DAPM_SINGLE_AIC3X.

Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: pxa-ssp: fix SSP port request
Philipp Zabel [Tue, 3 Feb 2009 20:18:26 +0000]
ASoC: pxa-ssp: fix SSP port request

PXA2xx/3xx SSP ports start from 1, not 0. Thus, the probe function
requested the wrong SSP port. Correcting this unveiled another bug
where ssp_init tries to request the already-requested SSP port again.
So this patch replaces the ssp_init/exit calls with their internals
from mach-pxa/ssp.c, leaving out the redundant ssp_request and the
unneeded IRQ request. Effectively, that leaves us with not much more
than enabling/disabling the SSP clock.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: uda1380: split set_dai_fmt into _both, _playback and _capture variants
Philipp Zabel [Tue, 3 Feb 2009 16:19:40 +0000]
ASoC: uda1380: split set_dai_fmt into _both, _playback and _capture variants

This patch splits set_dai_fmt into three variants (single interface,
dual interface playback only, dual interface capture only) so that
data input and output formats can be configured separately for dual
interface setups.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Tested-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Don't unconditionally use the PLL in UDA1380
Vasily Khoruzhick [Tue, 3 Feb 2009 13:52:56 +0000]
ASoC: Don't unconditionally use the PLL in UDA1380

Without this fix driver switches to WSPLL in uda1380_pcm_prepare
even if SYSCLK was chosen (uda1380_pcm_prepare modifies UDA1380_CLK
register to disable R00_DAC_CLK before flushing reg cache)

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoMerge branch 'fix/asoc' into topic/asoc
Takashi Iwai [Tue, 3 Feb 2009 06:07:15 +0000]
Merge branch 'fix/asoc' into topic/asoc

10 years agoALSA: ASoC: email - update email addresses.
Liam Girdwood [Mon, 2 Feb 2009 22:23:22 +0000]
ALSA: ASoC: email - update email addresses.

This just updates my email address on some drivers I'd forgotten in a
previous patch.

Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

10 years agoASoC: fix message display in CS4270 codec driver
Timur Tabi [Mon, 2 Feb 2009 21:08:29 +0000]
ASoC: fix message display in CS4270 codec driver

Replace printk calls with dev_xxx calls.  Set the 'dev' field of the codec
and codec_dai structures so that these calls work.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: fix build break in CS4270 codec driver
Timur Tabi [Mon, 2 Feb 2009 20:50:45 +0000]
ASoC: fix build break in CS4270 codec driver

Fix a oversight in the CS4270 codec driver that caused a build break.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoMerge branch 'for-2.6.29' into for-2.6.30
Mark Brown [Mon, 2 Feb 2009 12:46:51 +0000]
Merge branch 'for-2.6.29' into for-2.6.30

10 years agoOMAP: ASoC: Fix spinlock misuse in omap-pcm.c
Eero Nurkkala [Mon, 2 Feb 2009 12:20:46 +0000]
OMAP: ASoC: Fix spinlock misuse in omap-pcm.c

omap_pcm_trigger is called also in interrupt context so CPU flags must
be restored when returning.

Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Update OMAP3 pandora board file
Grazvydas Ignotas [Sat, 31 Jan 2009 14:29:24 +0000]
ASoC: Update OMAP3 pandora board file

Update pandora board file for recent TWL4030 codec changes.
Also move output related snd_soc_dapm_nc_pin() calls to
omap3pandora_out_init(), where they belong.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: fix documentation in CS4270 codec driver
Timur Tabi [Fri, 30 Jan 2009 17:14:49 +0000]
ASoC: fix documentation in CS4270 codec driver

Spruce up the documentation in the CS4270 codec.  Use kerneldoc where
appropriate.  Fix incorrect comments.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: fix initialization order of the CS4270 codec driver
Timur Tabi [Thu, 29 Jan 2009 20:28:37 +0000]
ASoC: fix initialization order of the CS4270 codec driver

ASoC codec drivers typically serve two masters: the I2C bus and ASoC itself.
When a codec driver registers with ASoC, a probe function is called.  Most
codec drivers call ASoC first, and then register with the I2C bus in the ASoC
probe function.

However, in order to support multiple codecs on one board, it's easier if the
codec driver is probed via the I2C bus first.  This is because the call to
i2c_add_driver() can result in the I2C probe function being called multiple
times - once for each codec.  In the current design, the driver registers
once with ASoC, and in the ASoC probe function, it calls i2c_add_driver().
The results in the I2C probe function being called multiple times before the
driver can register with ASoC again.

The new design has the driver call i2c_add_driver() first.  In the I2C probe
function, the driver registers with ASoC.  This allows the ASoC probe function
to be called once per I2C device.

Also add code to check if the I2C probe function is called more than once,
since that is not supported with the current ASoC design.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: TWL4030: Add analog loopback support
Peter Ujfalusi [Thu, 29 Jan 2009 12:57:50 +0000]
ASoC: TWL4030: Add analog loopback support

This patch adds the analog loopback/bypass support for twl4030 codec.

Details for the implementation:
It seams that the analog loopback needs the DAC powered on on the channel,
where the loopback is selected. The switch for the DACs has been moved from
the DAPM_DAC to the "Analog XX Playback Mixer". In this way the DAC will be
powered while the audio playback is used or/and the loopback is enabled for
the channel.

The twl4030 codec powering has been reworked. Now the codec will be powered as
long as it does not receives the SND_SOC_BIAS_OFF event. The exceptions are
when the given change in the registers needs the codec power down/up cycle in
order to take effect. Otherwise the codec is on.

When the codec enters to STANDBY state and none of the loopback paths are
enabled, than the amplifiers, which are no in the DAPM path are forced to turn
off and the PLL is disabled. When playback/capture starts the disabled gains
are restored and the PLL is enabled.

When one of the loopback enabled in STANDBY mode, the disabled gains are
restored and the PLL is enabled also.

In short: the codec always goes to the lowest power state based on the
bias_level and the bypass_state.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoMerge branch 'for-2.6.29' into for-2.6.30
Mark Brown [Thu, 29 Jan 2009 13:57:59 +0000]
Merge branch 'for-2.6.29' into for-2.6.30

10 years agoASoC: OMAP: Initialize XCCR and RCCR registers in McBSP DAI driver
Misael Lopez Cruz [Thu, 29 Jan 2009 11:29:46 +0000]
ASoC: OMAP: Initialize XCCR and RCCR registers in McBSP DAI driver

This patch explicitly initializes McBSP Transmit Configuration
Control Register (XCCR) and Receive Configuration Control
Register (RCCR) to their reset values. Reset values are 26 ns
of DX delay and Transmit DMA disabled for XCCR register;
receive full cycle mode enabled and Receive DMA disabled for
RCCR register.

This patch requires a counterpart in OMAP McBSP driver before
to apply it. The required changes in McBSP were sent and approved
in linux-omap mailing list and patch is going upstream
(commit 3127f8f8595a064b3f1a1837fea2177902589ac3 from linux-omap-2.6
tree).

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
[ jarkko.nikula@nokia.com: Commit id for counterpart patch corrected ]
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Fix null string usage with WM8753 DAIs
Mark Brown [Thu, 29 Jan 2009 13:08:20 +0000]
ASoC: Fix null string usage with WM8753 DAIs

The WM8753 driver multiplexes the DAI structures it exposes to the
outside world, leaving them uninitialised until the codec probes.  Since
the DAI name is used during the registration and setup process provide a
dummy name.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoMerge branch 'topic/snd_card_new-err' into topic/asoc
Takashi Iwai [Wed, 28 Jan 2009 07:08:32 +0000]
Merge branch 'topic/snd_card_new-err' into topic/asoc

Conflicts:
sound/soc/soc-core.c

10 years agoASoC: TWL4030: Move the twl4030_power_up and _power_down function
Peter Ujfalusi [Tue, 27 Jan 2009 09:29:43 +0000]
ASoC: TWL4030: Move the twl4030_power_up and _power_down function

Move the twl4030_power_up and twl4030_power_down function
earlier to facilitate the analog bypass implementation.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: TWL4030: Physical ADC and amplifier power switch change
Peter Ujfalusi [Tue, 27 Jan 2009 09:29:42 +0000]
ASoC: TWL4030: Physical ADC and amplifier power switch change

Change the power switches for the physical ADC and for the
amplifiers for the analog capture path to map more closely
the actual path inside of the codec.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: TWL4030: Enable Headset Left anti-pop/bias ramp only if the Headset Left is...
Peter Ujfalusi [Tue, 27 Jan 2009 09:29:41 +0000]
ASoC: TWL4030: Enable Headset Left anti-pop/bias ramp only if the Headset Left is in use

The Headset Left anti-pop and bias ramp does not need to be
enabled, if the headset is not in use.
Move the code to DAPM event handler for HeadsetL.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: TWL4030: Code clean up for codec power up and down
Peter Ujfalusi [Tue, 27 Jan 2009 09:29:40 +0000]
ASoC: TWL4030: Code clean up for codec power up and down

Merge the codec up and down functions to a simple one.
Codec is powered down by default (reg_cache change).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: TWL4030: Syncronize the reg_cache for ANAMICL after the offset cancelation
Peter Ujfalusi [Tue, 27 Jan 2009 09:29:39 +0000]
ASoC: TWL4030: Syncronize the reg_cache for ANAMICL after the offset cancelation

The offset cancelation bit in ANAMICL register is self cleanig.
Make sure that the reg_cache holds the same value as the HW
register.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Push the codec runtime storage into the card structure
Mark Brown [Fri, 23 Jan 2009 22:55:23 +0000]
ASoC: Push the codec runtime storage into the card structure

This is a further stage on the road to refactoring away the ASoC
platform device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: improve I2C initialization code in CS4270 driver
Timur Tabi [Fri, 23 Jan 2009 22:31:19 +0000]
ASoC: improve I2C initialization code in CS4270 driver

Further improvements in the I2C initialization sequence of the CS4270 driver.
All ASoC initialization is now done in the I2C probe function.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Fix L3 bus handling in Kconfig
Mark Brown [Fri, 23 Jan 2009 15:34:54 +0000]
ASoC: Fix L3 bus handling in Kconfig

It has no external dependencies but needs to be selected for L3 based
codecs to work.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Include header file in cs4270 and wm9705
Mark Brown [Fri, 23 Jan 2009 15:07:45 +0000]
ASoC: Include header file in cs4270 and wm9705

Ensures that the DAI and socdev exported by the codec match up with
their exported prototype.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoMerge branch 'for-2.6.29' into for-2.6.30
Mark Brown [Fri, 23 Jan 2009 15:02:08 +0000]
Merge branch 'for-2.6.29' into for-2.6.30

10 years agoASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h
Peter Ujfalusi [Fri, 23 Jan 2009 08:08:35 +0000]
ASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h

Typo fix.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Fix spurious codec driver dependencies
Mark Brown [Fri, 23 Jan 2009 14:53:58 +0000]
ASoC: Fix spurious codec driver dependencies

Kbuild ignores dependency from things that are themselves selected so
ASoC machine drivers need to ensure that the control bus is being built.
This also avoids issues where multiple buses are supported by a given
codec.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Configure SSP port PLL for Zylonite
Mark Brown [Fri, 23 Jan 2009 11:49:45 +0000]
ASoC: Configure SSP port PLL for Zylonite

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Remove unneeded e7x0 inclusion of pxa-regs.h and hardware.h
Mark Brown [Fri, 23 Jan 2009 11:40:26 +0000]
ASoC: Remove unneeded e7x0 inclusion of pxa-regs.h and hardware.h

pxa-regs.h and hardware.h are not intended for use directly in driver
code and references to them have been removed in other code - remove
them from the newly added e740 and e750 machine drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Fix merge with PXA tree
Mark Brown [Fri, 23 Jan 2009 11:23:32 +0000]
ASoC: Fix merge with PXA tree

Fix a merge issue caused by context overlap.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: remove stand-alone mode support from CS4270 codec driver
Timur Tabi [Fri, 23 Jan 2009 00:23:39 +0000]
ASoC: remove stand-alone mode support from CS4270 codec driver

The CS4270 supports stand-alone mode, where the codec is not connect to the
I2C or SPI buses.  Instead, input voltages configure the codec at power-on.
The CS4270 ASoC device driver has partial support for this mode, but the
code was never tested, and partial support doesn't help anyone.  It also made
the rest of the code more complicated than necessary.

[Removed redundant CS4270 dependency on I2C -- broonie]

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Complete Beagleboard support
Steve Sakoman [Wed, 21 Jan 2009 07:05:27 +0000]
ASoC: Complete Beagleboard support

Commit dc06102a0c8b5aa0dd7f9a40ce241e793c252a87 in the asoc tree
did not include the necessary Kconfig and Makefile changes.  This patch
completes the support for Beagleboard

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoMerge branch 'for-2.6.29' into for-2.6.30
Mark Brown [Tue, 20 Jan 2009 20:37:19 +0000]
Merge branch 'for-2.6.29' into for-2.6.30

10 years agoASoC: Fix WM9705 capture switch name
Ian Molton [Mon, 19 Jan 2009 17:23:11 +0000]
ASoC: Fix WM9705 capture switch name

This patch fixes the acpture switch name so that it better reflects its
purpose.

Signed-off-by: Ian Molton <iann@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Allow Freescale MPC8610 audio drivers to be compiled as modules
Timur Tabi [Mon, 19 Jan 2009 17:57:46 +0000]
ASoC: Allow Freescale MPC8610 audio drivers to be compiled as modules

Change the Kconfig and Makefile options for Freescale MPC8610 audio drivers
so that they can be compiled as modules, and simplify the Kconfig choices
so that only the platform is selected.

Also fix the naming of the driver files to conform to ALSA standards.

[Removed extraneous SND_SOC dependency -- broonie]

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: fix registration of the SoC card in the Freescale MPC8610 drivers
Timur Tabi [Mon, 19 Jan 2009 23:14:24 +0000]
ASoC: fix registration of the SoC card in the Freescale MPC8610 drivers

The Freescale MPC8610 driver was defining two SOC card (snd_soc_card)
structures, partially initializing each one, but registering only one of
them with ASoC.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Staticise PCM operations tables
Mark Brown [Sat, 17 Jan 2009 19:14:26 +0000]
ASoC: Staticise PCM operations tables

The PCM operations tables are not exported directly but are instead
included in the platform structure so should be declared static.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: fixes to caching implementations
Ian Molton [Sat, 17 Jan 2009 17:44:23 +0000]
ASoC: fixes to caching implementations

This patch takes fixes a number of bugs in the caching code used by
several ASoC codec drivers. Mostly off-by-one fixes.

Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: machine support for Toshiba e740 PDA
Ian Molton [Sat, 17 Jan 2009 15:11:06 +0000]
ASoC: machine support for Toshiba e740 PDA

This patch provides suupport for the wm9705 AC97 codec on the Toshiba e740.

Note:
The e740 has a hard headphone switch that turns the speaker off and is not
software detectable or controlable. Also both headphone and speaker amps
share a common output enable.

Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Implement support for CLK_POUT as MCLK on Zylonite
Mark Brown [Fri, 16 Jan 2009 16:35:52 +0000]
ASoC: Implement support for CLK_POUT as MCLK on Zylonite

The Zylonite supports switching the MCLK for the WM9713 between the
AC97CLK and CLK_POUT outputs of the PXA processor via switch SW15 on
the board. This patch adds support for configuring the system to use
CLK_POUT.

Unfortunately it is not possible to read the state of SW15 from software
so this feature is controlled by a module option 'clk_pout' which should
be set to a non-zero value to enable the use of CLK_POUT.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: Ignore output frequency for WM9713 PLL
Mark Brown [Fri, 16 Jan 2009 16:31:03 +0000]
ASoC: Ignore output frequency for WM9713 PLL

The WM9713 driver does not support configuring the PLL output frequency
so the output frequency parameter is irrelevant. Allow users to set it
to zero by ignoring it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoMerge branch 'for-2.6.29' into for-2.6.30
Mark Brown [Fri, 16 Jan 2009 16:40:35 +0000]
Merge branch 'for-2.6.29' into for-2.6.30

10 years agoASoC: machine driver for Toshiba e800
Ian Molton [Thu, 8 Jan 2009 21:16:05 +0000]
ASoC: machine driver for Toshiba e800

This patch adds support for the wm9712 ac97 codec as used in the Toshiba e800
PDA. It includes support for powering up / down the external headphone and
speaker amplifiers on this machine.

Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

10 years agoASoC: machine driver for Toshiba e750
Ian Molton [Thu, 8 Jan 2009 21:03:55 +0000]
ASoC: machine driver for Toshiba e750

This patch adds support for the wm9705 ac97 codec as used in the Toshiba e750
PDA. It includes support for powering up / down the external headphone and
speaker amplifiers on this machine.

Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>