summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: Use a shared define for AC97 CODEC data formatsMark Brown2009-05-026-12/+15
| | | | | | | | | 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>
* ASoC: Use platform device resource for S3C64xx IISv2Mark Brown2009-04-301-2/+1
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Staticise txctrl and rxctrl for S3C IISv2Mark Brown2009-04-301-8/+12
| | | | | | | | | | 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>
* ASoC: Display S3C IISv2 mode and MS errors by defaultMark Brown2009-04-301-2/+2
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Display the clock rate used as the basis for rate calculationMark Brown2009-04-301-0/+2
| | | | | | Aids debugging. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Allow use of resource from the platform device for S3C IISv2Mark Brown2009-04-301-0/+18
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix boot warnings from S3C IISv2Mark Brown2009-04-301-1/+6
| | | | | | | | | 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>
* ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bitMark Brown2009-04-302-2/+23
| | | | | | | | | | | | | | 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>
* ASoC: Make S3C64xx clock export function to return struct clkMark Brown2009-04-302-5/+6
| | | | | | | 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>
* ASoC: Check for supported CPUs when building s3c-i2s-v2Mark Brown2009-04-301-0/+14
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix error message formatting in s3c64xx-i2s driverMark Brown2009-04-301-1/+1
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'for-2.6.30' into for-2.6.31Mark Brown2009-04-281-1/+7
|\
| * ASoC: TWL4030: Fix gain control for earpiece amplifierJoonyoung Shim2009-04-281-1/+7
| | | | | | | | | | | | | | | | | | 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>
* | ASoC: Staticise TLV values in WM8940Mark Brown2009-04-271-11/+11
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.30' into for-2.6.31Mark Brown2009-04-272-2/+2
|\|
| * ASoC: Set the MPC5200 i2s driver to BROKEN status.Jon Smirl2009-04-271-1/+1
| | | | | | | | | | | | 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>
| * ASoC: Fix logic in WM8350 master clocking checkMark Brown2009-04-271-1/+1
| | | | | | | | | | | | | | 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>
* | ASoC: cs4270: add Master Playback SwitchDaniel Mack2009-04-271-5/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ASoC: cs4270: fix Master Capture Switch polarityDaniel Mack2009-04-271-1/+1
| | | | | | | | | | | | | | | | | | 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>
* | ASoC WM8940 DriverJonathan Cameron2009-04-274-0/+1065
| | | | | | | | | | Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Use our registration function for S3C64xxMark Brown2009-04-272-13/+7
| | | | | | | | | | | | Make sure we get the DAI operations initialised. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: s3c-i2s-v2 diagnostic improvementsMark Brown2009-04-271-6/+12
| | | | | | | | | | | | | | 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>
* | ASoC: Include WM8350 register definitions in CODEC headerMark Brown2009-04-271-0/+1
| | | | | | | | | | | | | | 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>
* | ASoC: Enforce symmetric rates for S3C64xx I2S interfaceMark Brown2009-04-271-0/+2
| | | | | | | | | | | | There is only one LRCLK pin on each interface. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: S3C2412: Failing to get the I2S clock is an errorMark Brown2009-04-241-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix S3C64xx IIS device registration and support both portsMark Brown2009-04-242-50/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ASoC: add SOC_DOUBLE_EXT macroDaniel Mack2009-04-241-0/+8
| | | | | | | | | | | | | | 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>
* | ASoC: Beagle: Add support for 4 channelPeter Ujfalusi2009-04-241-8/+18
| | | | | | | | | | | | | | | | | | | | | | 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>
* | ASoC: TWL4030: Add 4 channel TDM supportPeter Ujfalusi2009-04-232-2/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ASoC: OMAP: Add 4 channel support to mcbspPeter Ujfalusi2009-04-231-2/+3
| | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'for-2.6.30' into for-2.6.31Mark Brown2009-04-231-1/+2
|\|
| * ASoC: s3c-i2s-v2 needs to declare a license for modular buildsMark Brown2009-04-231-1/+2
| | | | | | | | | | | | It relies on EXPORT_SYMBOL_GPL() symbols. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: change stereo/mono to 32-bit/16-bit for pxa-sspEric Miao2009-04-231-3/+3
| | | | | | | | | | | | | | | | 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>
* | Merge branch 'for-2.6.30' into for-2.6.31Mark Brown2009-04-233-8/+11
|\|
| * Merge commit 'takashi/fix/asoc' into for-2.6.30Mark Brown2009-04-231-1/+0
| |\
| | * ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991Takashi Iwai2009-04-231-1/+0
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ASoC: Fix WM8580 volume update handling for large register changesMark Brown2009-04-221-5/+9
| | | | | | | | | | | | | | | | | | The driver is out of sync with the core functions it is using. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Fix offset of freqmode in WM8580 PLL configurationMark Brown2009-04-211-1/+1
| |/ | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: Fix warning in wm9705Russell King - ARM Linux2009-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | I notice that the fixes were merged, minus one: sound/soc/codecs/wm9705.c: At top level: sound/soc/codecs/wm9705.c:445: warning: initialization from incompatible pointer type so you might find this trivial patch useful. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: simplify the SSP DMA parameters settings by run-time generationEric Miao2009-04-231-160/+43
| | | | | | | | | | | | | | | | | | | | | | 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>
* | ASoC: TWL4030: Add VDL path supportJoonyoung Shim2009-04-231-130/+126
| | | | | | | | | | | | | | | | | | | | 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>
* | ASoC: Implement WM8903 digital sidetone supportMark Brown2009-04-221-0/+30
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove redundant rate constraint for WM8903Mark Brown2009-04-221-8/+2
| | | | | | | | | | | | This is now handled by symmetric_rates. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Actively manage the DC servo for WM8903Mark Brown2009-04-221-0/+14
| | | | | | | | | | | | | | 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>
* | ASoC: Optimise configuration of WM8903 DC servoMark Brown2009-04-221-0/+5
| | | | | | | | | | | | | | 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>
* | ASoC: Support CLK_DSP in WM8903Mark Brown2009-04-221-0/+6
| | | | | | | | | | | | | | 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>
* | ASoC: Use DAPM supply widget for WM8903 charge pumpMark Brown2009-04-221-33/+20
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add power supply widget to DAPMMark Brown2009-04-223-6/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ASoC: OMAP: Add checking to detect bufferless pcmsJoonyoung Shim2009-04-221-1/+8
| | | | | | | | | | | | | | | | Add checking in hw_params and prepare to detect bufferless pcms(i.e. BT <--> codec). Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Make the DAPM power check an operation on the widgetMark Brown2009-04-202-14/+15
| | | | | | | | | | | | | | | | Rather than having switch statements at point of use make the DAPM power check a member of the widget structure and set it when we instantiate the widget. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>