aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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>
2009-04-22ASoC: OMAP: Add checking to detect bufferless pcmsJoonyoung Shim
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>
2009-04-22ASoC: Fix WM8580 volume update handling for large register changesMark Brown
The driver is out of sync with the core functions it is using. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-21ASoC: Fix offset of freqmode in WM8580 PLL configurationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
2009-04-20ASoC: Make the DAPM power check an operation on the widgetMark Brown
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>
2009-04-20ASoC: Factor out DAPM power checks for DACs and ADCsMark Brown
This also switches us to using a switch statement for the widget type in dapm_power_widget(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-20ASoC: Factor out generic widget power checksMark Brown
This will form a basis for further power check refactoring: the overall goal of these changes is to allow us to check power separately to applying it, allowing improvements in the power sequencing algorithms. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-20Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-20ASoC: TWL4030: Add support Voice DAIJoonyoung Shim
Add Voice DAI to support the PCM voice interface of the twl4030 codec. The PCM voice interface can be used with 8-kHz(voice narrowband) or 16-kHz(voice wideband) sampling rates, and 16bits, and mono RX and mono TX or stereo TX. The PCM voice interface has two modes - PCM mode1 : This uses the normal FS polarity and the rising edge of the clock signal. - PCM mode2 : This uses the FS polarity inverted and the falling edge of the clock signal. If the system master clock is not 26MHz or the twl4030 codec mode is not option2, the voice PCM interface is not available. 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-18ASoC: Fix warning in wm9705Russell King - ARM Linux
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>
2009-04-17ASoC: TWL4030: Fix for the constraint handlingPeter Ujfalusi
The original implementation of the constraints were good against sane applications. If the opening sequence is: stream1_open, stream1_hw_params, stream2_open, stream2_hw_params -> the constraints are set correctly for stream2. But if the sequence is: stream1_open, stream2_open, stream2_hw_params, stream1_hw_params -> than stream2 would receive constraint rate = 0, sample_bits = 0, since the stream1 has not yet called hw_params... The command to trigger this event: gst-launch-0.10 alsasrc device=hw:0 ! alsasink device=hw:0 sync=false This patch does some 'black magic' in order to always set the correct constraints and sets it only when it is needed for the other stream. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-17ASoC: OMAP: Update contact addressesJarkko Nikula
My email address is going to expire soon so update it. Adding also Peter Ujfalusi <peter.ujfalusi@nokia.com> as a second contact to OMAP core drivers since I won't have anymore access to non-public OMAP documentation in the future and Peter is working with these drivers as well. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-17ASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCRPhilipp Zabel
Those macros are just screwed as soon as CONFIG_PXA25x is enabled. This patch - changes ssp_set_scr to take an ssp_dev pointer instead of ssp_device - adds a corresponding ssp_get_scr function. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-16ASoC: OMAP: Add DSP_A mode support for mcbspPeter Ujfalusi
DSP_A mode is similar to the DSP_B, but the MSB is delayed with one bclk (appears after the FS pulse and not under it). Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: OMAP: Use single-phase for DSP modePeter Ujfalusi
Use single-phase mode for the DSP mode and keep the dual phase mode for the I2S mode. The mono (1 channel) mode already used single phase mode, now it is more cleaner. There is no need to configure the second phase, when the single phase is used. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: OMAP: Fix FS polarity in OSK5912 machine driverJarkko Nikula
Using inverted FS polarity in OSK5912 must be an error since TLV320AIC23 do not have support for inverted polarities. This is mostly due the hassle with the DSP formats in OMAP McBSP DAI and inversion on OMAP side probably just made this configuration working at some point. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: Arun KS <arunks@mistralsolutions.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driverJarkko Nikula
The DSP format wasn't still correct in OMAP McBSP DAI even after the commit bd25867a6cbe7a00ef7dbe8d9ddebc91b00b9b3f. Thanks to Peter Ujfalusi <peter.ujfalusi@nokia.com> for noticing and being part of the fix. Now the FS length definition is more clear by defining it with FWID(0). Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: Fix include build error in s3c2412-i2s.cBen Dooks
Fix accidental change of <mach/regs-gpio.h> to <plat/regs-gpio.h> in s3c2412-i2s.c Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: Fix s3c-i2s-v2.c snd_soc_dai changesBen Dooks
Fix the build error in s3c-i2s-v2.c caused by a change to the snd_soc_dai ops field. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rateBen Dooks
The definition of s3c_i2sv2_iis_calc_rate was never renamed from s3c2412_iis_calc_rate, so rename this to allow the build to work. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: Fix jive_wm8750.c build problemsBen Dooks
Fix build errors in sound/soc/s3c24xx/jive_wm8750.c from changes to ASoC. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: pxa-ssp: allow setting of dai format 0Daniel Mack
pxa_ssp_set_dai_fmt() currently has an early exit if the desired format equals the current configuration. This is correct behaviour unless this function is called with a zero value parameter for the first time. Zero is a valid value for this function, but the early exit is bogus in this case. Hence, set priv->dai_fmt to -1 in the beginning so we can configure the port. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: pHilipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: Request shared rates for WM8903Mark Brown
It has a shared LRCLK. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: Volume controls are never of boolean typeMark Brown
Some limited volume controls (mostly simple attenuations) have only two settings so the ASoC info functions misreport them as booleans. Since we currently have no better information check for " Volume" in the control name and always report any controls matching as being integer. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16ASoC: Check we have DAI ops when calling via accessor functionsMark Brown
Also make sure we're checking for the right operation while we're here. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-14Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-14Merge branch 'for-2.6.30' of ↵Takashi Iwai
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc
2009-04-13Merge branch 'for-2.6.30' into for-2.6.31Mark Brown
2009-04-13ASoC: Add WM8960 CODEC driverMark Brown
The WM8960 is a low power, high quality stereo codec designed for portable digital audio applications. Stereo class D speaker drivers provide 1W per channel into 8W loads. Guaranteed low leakage, excellent PSRR and pop/click suppression mechanisms enable direct battery connection for the speaker supply. The device also integrates a complete microphone interface and a stereo headphone driver. External component requirements are drastically reduced as no separate microphone, speaker or headphone amplifiers are required. Advanced on-chip digital signal processing performs automatic level control for the microphone or line input. Stereo 24-bit sigma-delta ADCs and DACs are used with low power over-sampling digital interpolation and decimation filters and a flexible digital audio interface. The master clock can be input directly or generated internally by an onboard PLL, supporting most commonly-used clocking schemes. This driver was originally written by Liam Girdwood, with substantial subsequent additions and updates for feature completeness and changes in the ASoC framework from me. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-13ASoC: pxa-ssp.c fix clock/frame invertDaniel Ribeiro
SCMODE(0): Data Driven (Falling), Data Sampled (Rising), Idle State (Low) SCMODE(1): Data Driven (Rising), Data Sampled (Falling), Idle State (Low) SCMODE(2): Data Driven (Rising), Data Sampled (Falling), Idle State (High) SCMODE(3): Data Driven (Falling), Data Sampled (Rising), Idle State (High) SCMODE(3) does not invert the clock polarity compared to the default SCMODE(0). This patch also adds all possible NF/IF, NB/IB combinations to the DSP_A and DSP_B modes. Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-13ASoC: Move the WM9713 voice DAC powerdown to a DAPM eventMark Brown
This ensures that we sync with the DAPM powerdown sequencing properly and don't need to bounce the power on the voice DAC so often. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-13ASoC: Support DAPM events for DACs and ADCsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>