summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8962.c
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: wm8962: Unconditionally wait for the FLL to lockMark Brown2012-12-241-14/+12Star
| | | | | | | | If the FLL is being shut down we will exit early so there is no need to check here and in fact we're checking the wrong thing anyway. Reported-by: Graeme Gregory <gg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Convert to devm_input_allocate_device()Mark Brown2012-12-241-3/+1Star
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Add device tree supportFabio Estevam2012-12-241-0/+7
| | | | | | | Add device tree support. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: codecs: remove __dev* attributesBill Pemberton2012-12-091-4/+4
| | | | | | | | | | | CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Use devm_regmap_init_i2c()Sachin Kamat2012-12-021-11/+6Star
| | | | | | | | devm_regmap_init_i2c() is device managed and makes error handling and code cleanup simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Use devm_regulator_bulk_getSachin Kamat2012-11-281-5/+2Star
| | | | | | | | devm_regulator_bulk_get() is device managed and makes error handling and code cleanup simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Don't duplicate bias level management in resumeMark Brown2012-08-091-15/+0Star
| | | | | | | The core will bring the bias level up for us since we use idle_bias_off, duplicating this may be harmful. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Allow VMID time to fully rampMark Brown2012-07-311-0/+3
| | | | | | | Required for reliable power up from cold. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
* ASoC: wm8962: Redo early init of the part on resumeMark Brown2012-07-121-0/+3
| | | | | | | | | Ensure robust startup of the part by going through the reset procedure prior to resyncing the full register cache, avoiding potential intermittent faults in some designs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
* ASoC: wm8962: Log AIF configuration requested by hw_params()Mark Brown2012-07-031-0/+3
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: codecs: Refresh copyrights for Wolfson driversMark Brown2012-06-031-1/+1
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: codecs: Remove rtd->codec usage from CODEC driversMark Brown2012-04-041-2/+1Star
| | | | | | | | | | In order to support CODEC<->CODEC links remove the assumption that there is only a single CODEC on a DAI link by removing the use of the CODEC pointer in the rtd from the CODEC drivers. They are already being passed their DAI whenever they are passed an rtd and can get the CODEC from there. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Add HPF coefficient configuration supportMark Brown2012-04-011-0/+1
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Add HD Bass and VSS coefficient configurationMark Brown2012-04-011-0/+2
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Add Dynamic Range Control supportMark Brown2012-04-011-0/+3
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Add Direct-Form 1 filter supportMark Brown2012-04-011-0/+3
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Add 3D enhancement supportMark Brown2012-04-011-0/+3
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Implement DSP2 configuration initialisationMark Brown2012-04-011-1/+2
| | | | | | | We can simply use the register cache code to synchronise the current configuration down to the device when bringing up the DSP. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'topic/asoc' into for-linusTakashi Iwai2012-03-181-1338/+803Star
|\
| * ASoC: wm8962: Remove defaults for volatile registersMark Brown2012-03-061-14/+3Star
| | | | | | | | | | | | Save a little RAM. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Remove unneeded pm_runtime_set_active()Mark Brown2012-03-061-1/+0Star
| | | | | | | | | | | | The default pm_runtime status is enabled which is what we want. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Run the headphone in class G mode when sidetone is enabledMark Brown2012-03-021-0/+2
| | | | | | | | | | | | Class W mode with sidetone is not fully supported. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Remove register default for PLL2Mark Brown2012-03-011-2/+0Star
| | | | | | | | | | | | The initial value can be changed depending on system configuration. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Convert interrupt handler to direct regmap usageMark Brown2012-02-231-20/+39
| | | | | | | | | | | | Avoids potential locking issues with anything that needs the CODEC lock. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Remove mistakenly committed debug loggingMark Brown2012-02-231-4/+0Star
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Convert to module_i2c_driver()Mark Brown2012-02-171-11/+1Star
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Convert to runtime PM for bias off managementMark Brown2012-02-171-41/+72
| | | | | | | | | | | | | | This allows userspace control of final power off, allowing policy decisions for register configuration retention. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Don't automatically enable and disable FLLMark Brown2012-02-171-66/+6Star
| | | | | | | | | | | | | | Only enable and disable the FLL when explicitly told to, supporting some additional use cases and making the driver behaviour more standard. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Clean up register dump cruftMark Brown2012-02-171-9/+0Star
| | | | | | | | | | | | No longer needed with regmap. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Add new SYSCLK ratios for new device revisionsMark Brown2012-02-171-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Log the selected SYSCLK ratioMark Brown2012-02-171-0/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Only configure BCLK in hw_params when audio is activeMark Brown2012-02-171-1/+2
| | | | | | | | | | | | Otherwise we might not have a sensible clocking setup ready. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm8962: Update the clocking when setting system clockMark Brown2012-02-171-0/+2
| | | | | | | | | | | | | | Make sure we update for any changes in cases where we reconfigure while live (eg, for analogue bypass). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Show device id in the debug messageAxel Lin2012-02-161-1/+1
| | | | | | | | | | | | | | | | Show the id we read when the id mismatch is detected. This is useful for debugging. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * Merge tag 'v3.3-rc3' as we've got several bugfixes in there which areMark Brown2012-02-091-4/+4
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | colliding annoyingly with development. Linux 3.3-rc3 .. the number of the half-beast? Conflicts: sound/soc/codecs/wm5100.c sound/soc/codecs/wm8994.c
| * | ASoC: wm8962: Support mono playback and recordMark Brown2012-02-081-2/+5
| | | | | | | | | | | | | | | | | | | | | Make sure we generate enough BCLKs for I2S style modes by always having a minimum of two channels worth of clocks for the BCLK. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: core: Add support for DAI and machine kcontrols.Liam Girdwood2012-02-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently ASoC can only add kcontrols using codec and platform component device handles. It's also desirable to add kcontrols for DAIs (i.e. McBSP) and for SoC card machine drivers too. This allows the kcontrol to have a direct handle to the parent ASoC component DAI/SoC Card/Platform/Codec device and hence easily get it's private data. This change makes snd_soc_add_controls() static and wraps it in the folowing calls (card and dai are new) :- snd_soc_add_card_controls() snd_soc_add_codec_controls() snd_soc_add_dai_controls() snd_soc_add_platform_controls() This patch also does a lot of small mechanical changes in individual codec drivers to replace snd_soc_add_controls() with snd_soc_add_codec_controls(). It also updates the McBSP DAI driver to use snd_soc_add_dai_controls(). Finally, it updates the existing machine drivers that register controls to either :- 1) Use snd_soc_add_card_controls() where no direct codec control is required. 2) Use snd_soc_add_codec_controls() where there is direct codec control. In the case of 1) above we also update the machine drivers to get the correct component data pointers from the kcontrol (rather than getting the machine pointer via the codec pointer). Signed-off-by: Liam Girdwood <lrg@ti.com> 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: 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: 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: Convert WM8962 register access map to modern styleMark Brown2012-01-201-1155/+648Star
| | | | | | | | | | | | | | | | | | | | | Much more compact, both in terms of source and especially in terms of RAM used at runtime. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Make WM8962 I2C usage unconditionalMark Brown2012-01-201-13/+1Star
| | | | | | | | | | | | | | | | | | We only support I2C so no need to ifdef. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: wm8962: Fix sidetone enumeration textsMark Brown2012-02-141-1/+1
| |/ |/| | | | | | | | | | | The sidetone enumeration texts have left and right swapped. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
* | ASoC: wm8962: Fix word length configurationSusan Gao2012-02-011-3/+3
| | | | | | | | | | | | Signed-off-by: Susan Gao <sgao@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
* | ASoC: wm8962: Mark register cache as dirty when regulators are disabledMark Brown2012-01-251-1/+1
|/ | | | | | Otherwise we won't resync later. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Fix return value of wm8962_gpio_direction_out()Axel Lin2012-01-021-3/+7
| | | | | | | | We can't just pass back the return value of snd_soc_update_bits() as it will be 1 if a bit changed rather than zero. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Enable ASoC register map dump for some regmap CODECsMark Brown2011-12-301-0/+9
| | | | | | | It's still useful to be able to poke around in the register map at runtime. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Make WM8962 beep a signal generatorMark Brown2011-12-021-1/+1
| | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* ASoC: Convert WM8962 to devm_kzalloc()Mark Brown2011-11-271-5/+4Star
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove unneeded platform_device.h inclusions from CODECsMark Brown2011-11-271-1/+0Star
| | | | | | They've not been needed for a long time if they were ever required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>