aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-05-05ASoC: TWL4030: Add VIBRA outputPeter Ujfalusi
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-05ASoC: IMote2 ASoC SupportJonathan Cameron
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-05ASoC: TWL4030: Add voice digital loopback: sidetoneLopez Cruz, Misael
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-05ASoC: TWL4030: Add VDL analog bypassLopez Cruz, Misael
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-02ASoC: Remove unused DAI format definesMark Brown
The defines for TDM and synchronous clocks are not used - they are mostly a legacy of the automatic clocking configuration. TDM will require configuration of the number of timeslots and which ones to use so can't be fit into the DAI format and synchronous mode is handled by symmetric_rates (and needs to be done by constraints rather than when the DAI format is being configured). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-05-02ASoC: Use a shared define for AC97 CODEC data formatsMark Brown
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-04-30ASoC: Use platform device resource for S3C64xx IISv2Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Staticise txctrl and rxctrl for S3C IISv2Mark Brown
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-30ASoC: Display S3C IISv2 mode and MS errors by defaultMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Display the clock rate used as the basis for rate calculationMark Brown
Aids debugging. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Allow use of resource from the platform device for S3C IISv2Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Fix boot warnings from S3C IISv2Mark Brown
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-30ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bitMark Brown
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-30ASoC: Make S3C64xx clock export function to return struct clkMark Brown
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-30ASoC: Check for supported CPUs when building s3c-i2s-v2Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-30ASoC: Fix error message formatting in s3c64xx-i2s driverMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-28Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-28ASoC: TWL4030: Fix gain control for earpiece amplifierJoonyoung Shim
The gain control for earpiece amplifier uses 0dB ~ 12dB according to the TRM, but the present code is implemented to -6dB ~ 6dB. 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-04-27ASoC: Staticise TLV values in WM8940Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-27ASoC: Set the MPC5200 i2s driver to BROKEN status.Jon Smirl
Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC: Fix logic in WM8350 master clocking checkMark Brown
We need to check only if the WM8350 is master and only when starting the stream so if either is not true then we can skip the check. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC: cs4270: add Master Playback SwitchDaniel Mack
This adds a new control named 'Master Playback Switch' for cs4270 codecs. It is implemented using the new SOC_DOUBLE_EXT macro to catch the put function and store the information about manually set mute controls from userspace. When a manual mute is set, we don't want the soc core to un-mute the outputs. Renamed cs4270_mute() to cs4270_dai_mute() to avoid confusion. 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-04-27ASoC: cs4270: fix Master Capture Switch polarityDaniel Mack
The control modifies the MUTE register, hence the polarity must be inverted. 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-04-27ASoC WM8940 DriverJonathan Cameron
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC: Use our registration function for S3C64xxMark Brown
Make sure we get the DAI operations initialised. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC: s3c-i2s-v2 diagnostic improvementsMark Brown
Say what invalid values we're seeing when we see an invalid value and ensure that errors are displayed by default. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC: Include WM8350 register definitions in CODEC headerMark Brown
It's expected behaviour for the CODEC header to provide them but the WM8350 doesn't due to having all the registers together under drivers/mfd. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-27ASoC: Enforce symmetric rates for S3C64xx I2S interfaceMark Brown
There is only one LRCLK pin on each interface. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-24ASoC: S3C2412: Failing to get the I2S clock is an errorMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-24ASoC: Fix S3C64xx IIS device registration and support both portsMark Brown
The S3C64xx IIS code had a number of problems with device registration. The hardware has two IIS ports of which the driver supported only one at once via a single exported DAI, attempting to identify the DAI to use based on the dev->id of the ASoC platform device. As well as limiting the driver to only supporting one IIS port at once this also meant that the ID of the soc-audio device (or in future the card device) had to match the IIS ID. Fix both problems by converting the driver to register the DAIs based on probing of platform devices registered by the arch/arm code, using those platform devices to interact with the clock API. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-24ASoC: add SOC_DOUBLE_EXT macroDaniel Mack
Add a macro for double controls with special callback functions. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-24ASoC: Beagle: Add support for 4 channelPeter Ujfalusi
This patch adds support for the four channel TDM mode on Beagle board. Depending on the channel count, the interface needs to be configured differently (I2S for stereo DSP_A for four channels) Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-23ASoC: TWL4030: Add 4 channel TDM supportPeter Ujfalusi
Support for 4 channel TDM (SND_SOC_DAIFMT_DSP_A) for twl4030 codec. The channel allocations are: Playback: TDM i2s TWL RX Channel 1 Left SDRL2 Channel 3 Right SDRR2 Channel 2 -- SDRL1 Channel 4 -- SDRR1 Capture: TDM i2s TWL TX Channel 1 Left TXL1 Channel 3 Right TXR1 Channel 2 -- TXL2 Channel 4 -- TXR2 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-23ASoC: OMAP: Add 4 channel support to mcbspPeter Ujfalusi
Add 4 channel support to omap-mcbsp. This mode is going to be used by the twl4030 codec, when it is configured in Option1 mode. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-23Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-23ASoC: s3c-i2s-v2 needs to declare a license for modular buildsMark Brown
It relies on EXPORT_SYMBOL_GPL() symbols. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-23ASoC: change stereo/mono to 32-bit/16-bit for pxa-sspEric Miao
The original idea came from pHilipp, and this makes the code looks more consistent. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-23Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-23Merge commit 'takashi/fix/asoc' into for-2.6.30Mark Brown
2009-04-23ASoC: simplify the SSP DMA parameters settings by run-time generationEric Miao
The SSP DMA parameters can actually be easily generated at run-time since they are almost similar except for the FIFO width and direction. Another benefit is the re-use of information from 'struct ssp_device', like SSDR physical FIFO address and DRCMR register index for both directions. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Reviewed-by: pHilipp Zabel <philipp.zabel@gmail.com>
2009-04-23ASoC: TWL4030: Add VDL path supportJoonyoung Shim
Add DAPMs for VDL(Voice Down Link) path. To support VDL path, we have to change DAPMs of outputs(Earpiece, PreDrive Left/Right, Headset Left/Right, Carkit Left/Right) from mux to mixer. 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-04-23ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991Takashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-22ASoC: Implement WM8903 digital sidetone supportMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Remove redundant rate constraint for WM8903Mark Brown
This is now handled by symmetric_rates. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Actively manage the DC servo for WM8903Mark Brown
Save a little extra power by enabling the DC servo offset correction for the output channels only when the relevant channels are enabled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Optimise configuration of WM8903 DC servoMark Brown
Modify the default startup sequence in the chip to set the DC servo dither level for optimal performance. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Support CLK_DSP in WM8903Mark Brown
CLK_DSP provides a master clock for the DAC and ADC related functionality on the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Use DAPM supply widget for WM8903 charge pumpMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-22ASoC: Add power supply widget to DAPMMark Brown
Many modern CODECs have shared resources on chip which must be enabled for portions of the chip to work but which can be disabled at other times in order to achieve power savings. Examples of such resources include power supplies and some internal clocks. Since these widgets are dependencies for the audio path but do not carry audio signals they require slightly different handling to most widgets - they do not contribute to the audio path and so should not be counted as either inputs or outputs during path walks. Cases where one supply provides a supply for another will require additional work. There is also room for more optimisation of the graph walking to avoid repeated checks for the same thing. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>