summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: ASoC: DaVinci: davinci-i2s clean upTroy Kisky2008-12-201-48/+37
| | | | | | | Just at little cleanup of davinci_i2s_set_dai_fmt Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ALSA: ASoC: DaVinci: davinci-i2s add comments to explain polarityTroy Kisky2008-12-201-0/+36
| | | | | | | Document the current polarity choices. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ALSA: ASoC: DaVinci: davinvi-evm, make requests explicitTroy Kisky2008-12-201-2/+4
| | | | | | | | Add constants with a value of 0 to show more explicitly what is being requested. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'fix/asoc' into topic/asocTakashi Iwai2008-12-191-1/+1
|\
| * ALSA: Fix a Oops bug in omap soc driver.Stanley Miao2008-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | There will be a Oops or frequent underrun messages when playing music with omap soc driver, this is because a data region is incorretly sized, other data region will be overwriten when writing to this data region. Signed-off-by: Stanley Miao <stanley.miao@windriver.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ASoC: Add WM8350 AudioPlus codec driverMark Brown2008-12-184-0/+1609
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The WM8350 is an integrated audio and power management subsystem which provides a single-chip solution for portable audio and multimedia systems. The integrated audio CODEC provides all the necessary functions for high-quality stereo recording and playback. Programmable on-chip amplifiers allow for the direct connection of headphones and microphones with a minimum of external components. A programmable low-noise bias voltage is available to feed one or more electret microphones. Additional audio features include programmable high-pass filter in the ADC input path. This driver was originally written by Liam Girdwood with further updates from me. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Complain if we fail to create DAPM controlsMark Brown2008-12-181-1/+5
| | | | | | | | | | | | | | This should never happen and it's helpful to identify the specific control that failed when it does happen. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Ease merge difficulties from new architecturesMark Brown2008-12-182-7/+15
| | | | | | | | | | | | | | | | Rather than listing lots of architectures per line in Kconfig and Makefile, causing merge conflicts all the time, have one per line in alphabetical order. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: switch davinci DPRINTK to pr_debug()Alexander Beregalov2008-12-141-12/+6
| | | | | | | | | | Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: hands-free start-up sequence.Stanley.Miao2008-12-112-4/+36
| | | | | | | | | | | | | | | | A special start-up sequence is required to reduce the pop-noise of Class D amplifier when enable hands-free on TWL4030. Signed-off-by: Stanley.Miao <stanley.miao@windriver.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix variable name for Blackfin I2S DAIMark Brown2008-12-111-2/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ALSA: ASoC - Fix DAI registration in s3c2443-ac97.cTakashi Iwai2008-12-111-2/+4
| | | | | | | | | | | | | | | | | | | | Fixed the registration of dais in s3c2443-ac97.c. sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_init': sound/soc/s3c24xx/s3c2443-ac97.c:401: warning: passing argument 1 of 'snd_soc_register_dai' from incompatible pointer type sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_exit': sound/soc/s3c24xx/s3c2443-ac97.c:407: warning: passing argument 1 of 'snd_soc_unregister_dai' from incompatible pointer type Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ASoC: Stop WM8903 SYSCLK when suspendingMark Brown2008-12-101-3/+6
| | | | | | | | | | | | This will save some additional power. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert WM8903 driver to register at I2C probe timeMark Brown2008-12-102-138/+97
| | | | | | | | | | | | | | | | The driver now registers the codec and DAI when probed as an I2C device. Also convert the driver to use a single dynamic allocation to simplify error handling. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert WM8900 to do more work at I2C probe timeMark Brown2008-12-102-85/+81
| | | | | | | | | | | | | | | | | | | | | | Redo the instantiation of the WM8900 to do most of the initialisation work when the I2C driver probes rather than when the ASoC device is instantiated, registering the codec with the ASoC core when done. Also move all dynamic allocations into a single kmalloc() to simplify error handling and rename the I2C driver to make output more sensible. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add codec registration APIMark Brown2008-12-101-0/+43
| | | | | | | | | | | | | | | | | | Another part of the backporting of Liam's ASoC v2 work. Using this is more complicated than the other registration types since currently the codec is instantiated during the probe of the ASoC device so we can't currently readily wait for the codec to register. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Change the name for the DACsPeter Ujfalusi2008-12-101-8/+8
| | | | | | | | | | | | | | | | | | To avoid confusion the names for the DACs changed: DACL1 -> DAC Left1 ... Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Small cleanupPeter Ujfalusi2008-12-101-6/+3
| | | | | | | | | | | | | | | | The mux switch related texts fits to on line, no need to wrap them. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Add missing Carkit outputPeter Ujfalusi2008-12-101-0/+2
| | | | | | | | | | | | | | SND_SOC_DAPM_OUTPUT definition for carkitL/R was missing. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Work around warnings from some build environmentsMark Brown2008-12-101-0/+2
| | | | | | | | | | | | | | | | | | BUG() should be marked as not returning but for at least some configurations (including some widely deployed compilers) that's either not happening or being forgotten by the compiler. Add some extra return statements to the affected paths. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ALSA: ASoC - Fix symbol conflicts in omac-mcbsp.cTakashi Iwai2008-12-101-4/+4
| | | | | | | | | | | | | | | | Add snd_ prefix to avoid the conflict of symbols in omac-mcbsp.c: sound/soc/omap/omap-mcbsp.c:503: error: static declaration of 'omap_mcbsp_init' follows non-static declaration arch/arm/plat-omap/include/mach/mcbsp.h:373: error: previous declaration of 'omap_mcbsp_init' was here Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ASoC - Fix wrong section typesTakashi Iwai2008-12-1041-41/+41
| | | | | | | | | | | | The module init entries should be __init instead of __devinit. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ASoC - Fix module init entry for twl4030.cTakashi Iwai2008-12-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | Fixed the function name of module init entry for twl4030.c, which conflicted with the existing hardware init function: sound/soc/codecs/twl4030.c:1278: error: conflicting types for 'twl4030_init' sound/soc/codecs/twl4030.c:1187: error: previous definition of 'twl4030_init' was here Also fixed the section type of init function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ASoC: Fix typos in Atmel module registrationMark Brown2008-12-092-3/+4
| | | | | | | | | | | | I wish I had boards which work with unmodified kernels :/ Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert WM8900 to allow registration by machine codeMark Brown2008-12-091-77/+20
| | | | | | | | | | | | | | | | This makes use of the support for delayed DAI registration to allow the WM8900 I2C device to be registered by general platform/architecture code rather than as part of the ASoC device probe. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Wait for non-AC97 codec DAIs before instantiatingMark Brown2008-12-091-1/+26
| | | | | | | | | | | | | | This will allow codec drivers to be refactored to allow them to be registered out of line with the ASoC device registration. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Initial framework for dynamic card instantiationMark Brown2008-12-091-20/+79
| | | | | | | | | | | | | | | | | | Use the lists of platforms, platform DAIs and cards to check to see that everything has registered. Since relationships are still specified by direct references to the structures in the drivers and the drivers all register everything at modprobe there should be no practical effect yet. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Register non-AC97 codec DAIsMark Brown2008-12-0921-4/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently this is done at module probe time since ASoC ties in codec device probe to the instantiation of the entire ASoC device. Subsequent patches will refactor the codec drivers to handle probing separately. Note that the core does not yet use this information. AC97 is special since the codec is controlled over the AC97 link but we want to give the machine driver a chance to set up the system before trying to instantiate since it may need to do configuration before the AC97 link will operate Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Register platform driversMark Brown2008-12-0911-1/+114
| | | | | | | | | | | | | | | | | | This is done at modprobe time, mirroring current behaviour, except for mpc5200_psc_i2s where we do registration at the same time as we register with soc-of-simple. Since the core currently ignores registration this has no practical impact. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add platform registration APIMark Brown2008-12-091-0/+38
| | | | | | | | | | | | | | | | ASoC v2 allows platform drivers to instantiate independantly of the overall ASoC card. This API allows drivers to notify the core when they are registered. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Register platform DAIsMark Brown2008-12-0916-3/+172
| | | | | | | | | | | | | | | | | | | | | | Register all platform DAIs with the core. In line with current behaviour this is done at module probe time rather than when the devices are probed (since currently that only happens as the entire ASoC card is registered except for those drivers that currently implement some kind of hotplug). Since the core currently ignores DAI registration this has no practical effect. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add DAI registration APIMark Brown2008-12-091-0/+83
| | | | | | | | | | | | | | | | Add API calls to register and unregister DAIs with the core. Currently these APIs are ineffective. Since multiple DAIs for a given device are a common case bulk variants are provided. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add card registration APIMark Brown2008-12-091-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | ASoC v2 allows cards, codecs and platforms to instantiate separately, with the overall ASoC device only being instantiated once all the required components have registered. As part of backporting Liam's work introduce an initial version of the card registration functions. At present these do nothing active and are internal only, they will be exposed to machine drivers after further backporting. Adding this now allows the datastructures used for dynamic card instantiation to be built up gradually. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Do not alter the Headset output volume on power-up/downPeter Ujfalusi2008-12-091-10/+2
| | | | | | | | | | | | | | | | | | | | | | There is a separate gain control for the Headset output already. Do not reset the gain to 0 dB at power up. In power-down, there is no need to set the Headset output gain to power-down mode, since if the CODECPDZ is in powered off this setting has no effect. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: DAPM mapping of the Handsfree outputsPeter Ujfalusi2008-12-091-0/+41
| | | | | | | | | | | | | | Adds DAPM muxing, routing for the Handsfree outputs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: DAPM mapping of the Carkit outputsPeter Ujfalusi2008-12-091-0/+37
| | | | | | | | | | | | | | Adds DAPM muxing, routing for the Carkit outputs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: DAPM mapping of the Headset outputsPeter Ujfalusi2008-12-091-0/+39
| | | | | | | | | | | | | | Adds DAPM muxing, routing for the Headset outputs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: DAPM mapping of the PreDriv outputsPeter Ujfalusi2008-12-091-0/+45
| | | | | | | | | | | | | | Adds DAPM muxing, routing for the PreDrive outputs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: DAPM mapping of the Earpiece outputPeter Ujfalusi2008-12-091-0/+27
| | | | | | | | | | | | | | Adds DAPM muxing, routing for the Earpiece output. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Add DAPM event handler for output MUX selectionPeter Ujfalusi2008-12-091-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DAPM event handler is set to filter out invalid MUX settings for certain outputs. Earpiece: - 0 = Off - 1 = DACL1 - 2 = DACL2 - 3 = *** Invalid *** - 4 = DACR1 PreDriveL/R: - 0 = Off/Off - 1 = DACL1/DACR1 - 2 = DACL2/DACR2 - 3 = *** Invalid/Invalid *** - 4 = DACR2/DACL2 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Add Analog PGA control switch to DAPMPeter Ujfalusi2008-12-091-2/+23
| | | | | | | | | | | | | | | | | | Add all four APGA switch to DAPM routing and widgets. Add user control for DA enable for all APGA as normal control. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Correct DAPM_DAC with power controlPeter Ujfalusi2008-12-091-4/+11
| | | | | | | | | | | | | | Add all four DACs to dapm_widgets with power switch. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: tlv320aic3x: control additions and cleanupsDaniel Mack2008-12-051-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | - split "Line Playback Switch" into "LineL Playback Switch" and "LineR Playback Switch" - split "Line PGA Bypass Playback Volume" into "LineL Left PGA Bypass Playback Volume" and "LineR Right PGA Bypass Playback Volume" - split "Line Line2 Bypass Playback Volume" into "LineL Line2 Bypass Playback Volume" and "LineR Line2 Bypass Playback Volume" - Added "HP Right PGA Bypass Playback Volume" Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add support for OMAP3 PandoraGrazvydas Ignotas2008-12-053-0/+321
| | | | | | | | | | | | | | This patch adds basic support for OMAP3 Pandora. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove platform device from DAI suspend and resume operationsMark Brown2008-12-0311-49/+29
| | | | | | | | | | | | | | None of the DAIs use it except s3c2412-i2s which only uses it for dev_() printouts. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove device from platform suspend and resume operationsMark Brown2008-12-032-6/+4
| | | | | | | | | | | | | | None of the platforms are actually using the SoC device so remove it (only atmel actually has a suspend method). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Push debugfs files out of the snd_soc_device structureMark Brown2008-12-031-32/+41
| | | | | | | | | | | | | | | | | | | | This is in preparation for the removal of struct snd_soc_device. The pop time configuration should really be a property of the card not the codec but since DAPM currently uses the codec rather than the card using the codec is fine for now. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: tlv320aic3x: headset/button press supportDaniel Mack2008-12-032-3/+74
| | | | | | | | | | | | | | | | | | | | | | - Add aic3x_set_headset_detection() function to define the headset detection mode for tlv32aic3x chips - added aic3x_button_pressed() - Read from the real-time registers in aic3x_headset_detected() to query headset presence without an occured interrupt Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix WM8903 right mixer bypass pathMark Brown2008-12-031-4/+4
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Add input selection and gain controlsGrazvydas Ignotas2008-12-032-3/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TWL4030 codec device has two ADCs. Both of them can have several inputs routed to them, but TRM says that only one source can be selected for every ADC, even though every source has a dedicated bit in the registers. This patch adds input source controls. It modifies default register values to have no inputs selected and ADCs disabled. When some input is selected, control handlers enable apropriate input amplifier and ADC. If a microphone is selected, bias power is automatically enabled. When some input is deselected, unused chip parts are disabled. Microphone and line input recording tested on OMAP3 pandora board. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud