summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: max9768: add driver for max9768 amplifierWolfram Sang2012-01-303-0/+259
| | | | | | | | Add a driver supporting the volume control and the mute pin. Shdn pin and DAPM are not taken care of yet. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm2200: Remove trailing whitespaceMark Brown2012-01-291-339/+339
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Enable idle_bias_offMark Brown2012-01-271-0/+1
| | | | | | | The WM8962 has ground referenced and class D outputs so can happily go down to BIAS_OFF without a large startup time. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Set idle_bias_off flag in snd_soc_codec_driverAxel Lin2012-01-2711-16/+11
| | | | | | | | | Since commit 33c5f969 "ASoC: Allow idle_bias_off to be specified in CODEC drivers", now we can set idle_bias_off flag in struct snd_soc_codec_driver for devices can unconditionally support idle_bias_off. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8994: Report any low impedance accessory as a headphoneMark Brown2012-01-261-1/+1
| | | | | | | | Report any accessory with a low impedance as a headphone, previously anything other than a short or microphone would not be reported at all. The most likely reason is a microphone with incorrect polarity. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8996: Handle failures to determine accessory polarityMark Brown2012-01-261-12/+26
| | | | | | | | If we get an indeterminate impedance with both headset polarities then give up and report the accessory as a headphone rather than continually retrying. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm5100: Use pm_runtime for powerdown managmentMark Brown2012-01-261-60/+56
| | | | | | | | | | Using pm_runtime to decide if the device should go into full power down has the dual advantage of allowing easier integration with non-DAPM reasons to power on the device (like the FLL) and allowing userspace to control the final power down which is useful for tuning retention of DSP firmware. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm5100: Convert to devm_regulator_bulk_get()Mark Brown2012-01-261-8/+4
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: dapm: Ignore isolated signal generators for power purposesMark Brown2012-01-261-1/+5
| | | | | | | A signal generator has no power control itself and so shouldn't cause a power up of the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: dapm: Drop runtime PM references asynchronouslyMark Brown2012-01-261-1/+1
| | | | | | | We don't really care if any action is taken immediately so let the PM core defer things if it wants to. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm2200: Add WM2200 CODEC driverMark Brown2012-01-264-0/+5965
| | | | | | | | The WM2200 is a low power mobile CODEC with enhanced Wolfson myZone Ambient Noise Cancellation (ANC) intended for mobile telephony applications. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm5100: Move regulator supplies over to DAPM infrastructureMark Brown2012-01-261-121/+10
| | | | | | Saves a nice block of code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Provide REGULATOR_SUPPLY widget typeMark Brown2012-01-261-2/+49
| | | | | | | | | | | | | | Modern devices allow systems to enable and disable individual supplies on the device, allowing additional power saving by switching off regulators which power portions of the device which are not currently in use. Add a new SND_SOC_DAPM_REGULATOR_SUPPLY widget type factoring out the code for managing such widgets from individual drivers. The widget name will be used as the supply name when requesting the regulator from the regulator API. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* ASoC: soc-pcm: msbits constraint: Drop 8 and 16 bit sample sizesPeter Ujfalusi2012-01-251-1/+1
| | | | | | | | As per discussion we can safely ignore the 8 and 16 bit sample sizes when applying the msbits constraint. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Optimise power consumption for IN4 DC measurement usageMark Brown2012-01-241-0/+18
| | | | | | | | | | When the hardware is configured with one or both of the IN4 inputs used for DC measurement (with no DC blocking capacitor connected) then we can improve power consumption slightly in idle modes by applying a register write sequence. Provide platform data to enable this, implemented using a regmap patch. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm5100: Fix warnings from recent patchesMark Brown2012-01-241-2/+1
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Convert the WM5100 revision A updates to a regmap patchMark Brown2012-01-241-29/+17
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm5100: Fix mismerge of IRQ freesMark Brown2012-01-241-4/+0
| | | | | | We only want them at the device level, not at the CODEC level. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Convert WM8731 to direct regmap API usageMark Brown2012-01-241-23/+86
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add __devinit/__devexit annotations at necessary placesAxel Lin2012-01-232-3/+3
| | | | | | | | | | | | | Fix below build warning when CONFIG_HOTPLUG is not set. CC sound/soc/codecs/alc5623.o sound/soc/codecs/alc5623.c:1062: warning: ‘alc5623_i2c_remove’ defined but not used CC sound/soc/codecs/alc5632.o sound/soc/codecs/alc5632.c:1112: warning: ‘alc5632_i2c_remove’ defined but not used Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: sgtl5000: It's sgtl5000 not sgtl500Mark Brown2012-01-231-4/+4
| | | | | Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: sgtl5000: Convert to table based DAPM and control initFabio Estevam2012-01-221-10/+7
| | | | | | | Convert to table based DAPM and control init. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8988: Convert to devm_kzalloc()Mark Brown2012-01-211-8/+5
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8988: Convert to table based DAPM and control initMark Brown2012-01-211-8/+8
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8985: Convert to direct regmap API usageMark Brown2012-01-211-76/+177
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8985 Don't directly reference the cache data structureMark Brown2012-01-211-5/+4
| | | | | | In preparation for conversion to regmap. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8985: Use standard cache sync implementationMark Brown2012-01-211-20/+1
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8985: Convert to table based DAPM and control initMark Brown2012-01-211-16/+8
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8985: Convert to devm_kzalloc()Mark Brown2012-01-211-8/+2
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Add external amplifier controls for Visstrim_M10.Javier Martin2012-01-211-0/+80
| | | | | | | | | Visstrim_M10 has an external class D amplifier. This patch provides support for controlling the 4 possible gain levels and per channel muting. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix build of tlv320dac33Mark Brown2012-01-211-1/+2
| | | | | | | The problem was introduced due to the obscure formatting some of the older drivers use. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Use regmap update bits operation for drivers using regmapMark Brown2012-01-213-20/+33
| | | | | | | | | If a driver is using regmap directly ensure that we're coherent with non-ASoC register updates by using the regmap API directly to do our read/modify/write cycles. This will bypass the ASoC cache but drivers using regmap directly should not be using the ASoC cache. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Don't tell applications about msbits unless we're ignoring inputMark Brown2012-01-211-3/+5
| | | | | | | On the off chance that an application both pays attention and gets confused. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Push WM5100 interrupt request into I2C probeMark Brown2012-01-201-58/+63
| | | | | | | This is more what the device model wants us to do and will allow use by non-audio functions before the audio part of the device has come up. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Make WM5100 interrupt path use regmap directlyMark Brown2012-01-201-80/+108
| | | | | | | | This will allow us to move the interrupt allocation out of the ASoC part of the driver and simplifies the locking by removing any reliance in the bulk of the interrupt path on the big CODEC lock. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove redundant set_bias_level() from WM5100 remove()Mark Brown2012-01-201-1/+0
| | | | | | The framework should bring the device down before it calls the driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: omap-mcpdm: Set 24msbits constraintPeter Ujfalusi2012-01-201-0/+2
| | | | | | | | | McPDM internal FIFO is 24 bit wide. From the 32 bit sample 8 bit is discarded. Let application know about this via msbits constraint. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: omap-dmic: Use core to set the msbits constraintPeter Ujfalusi2012-01-201-4/+3
| | | | | | | Core can set the msbits constraint in behalf of the dai. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: twl4030: Use core to set the msbits constraintPeter Ujfalusi2012-01-201-3/+4
| | | | | | | Core can set the msbits constraint in behalf of the dai. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: tlv320dac33: Use core to set the msbits constraintPeter Ujfalusi2012-01-201-2/+1
| | | | | | | Core can set the msbits constraint in behalf of the dai. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: sgtl5000: Print revision number in hexFabio Estevam2012-01-201-1/+1
| | | | | | | | | | Throughout the sgtl5000 driver source code and also in the sgtl5000 datasheet the revision code is shown in hexadecimal. Print it hex format, for consistency. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Say we can't read WM5100 ID registerMark Brown2012-01-201-1/+1
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: When releasing WM5100 put /RESET into resetMark Brown2012-01-201-2/+2
| | | | | | | Reset is active low, make sure we leave it asserted when release the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: 24 bits are significant on wm_hubs DAIsMark Brown2012-01-202-1/+9
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Make WM8993 I2C usage unconditionalMark Brown2012-01-201-6/+0
| | | | | | The WM8993 only supports I2C so don't ifdef the I2C support in the driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Implement basic WM8993 interrupt supportMark Brown2012-01-201-9/+85
| | | | | | | | If an interrupt is supplied then use it for thermal warning and FLL lock notifications. When using the interrupt raise the timeout for the FLL lock substantially to reduce the chances of spurious warnings. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: 24 bits are significant on the WM8996 audio interfacesMark Brown2012-01-201-0/+4
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Allow drivers to specify how many bits are significant on a DAIMark Brown2012-01-201-0/+36
| | | | | | | | | | | | | | | | | | | Most devices accept data in formats that don't correspond directly to their internal format. ALSA allows us to set a msbits constraint which tells userspace about this in case it finds it useful (for example, in order to avoid wasting effort dithering bits that will be ignored when raising the sample size of data) so provide a mechanism for drivers to specify the number of bits that are actually significant on a DAI and add the appropriate constraints along with all the others. This is done slightly awkwardly as the constraint is specified per sample size - we loop over every possible sample size, including ones that the device doesn't support and including ones that have fewer bits than are actually used, but this is harmless as the upper layers do the right thing in these cases. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* ASoC: Add WM8962 DAC and ADC L/R swap supportMark Brown2012-01-201-0/+2
| | | | | | Simple switches since there's no per-channel control. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8983: Remove useless snd_kcontrolDimitris Papastamos2012-01-201-5/+0
| | | | | | | This must be a leftover from a previous driver. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud