aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8994.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'korg/linux-3.0.y' into cm-13.0rogersb112015-11-101-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: crypto/algapi.c drivers/gpu/drm/i915/i915_debugfs.c drivers/gpu/drm/i915/intel_display.c drivers/video/fbmem.c include/linux/nls.h kernel/cgroup.c kernel/signal.c kernel/timeconst.pl net/ipv4/ping.c Change-Id: I1f532925d1743df74d66bcdd6fc92f05c72ee0dd
| * ASoC: wm8994: missing break in wm8994_aif3_hw_params()Dan Carpenter2013-05-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | commit 4495e46fe18f198366961bb2b324a694ef8a9b44 upstream. The missing break here means that we always return early and the function is a no-op. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | smdk4412: update sound soc and codecsmarkcs2014-04-281-194/+126
| | | | | | | | | | | | Includes updated kernel source from i9305 Change-Id: I91ae18b30d02de037701250c46a457d035da56e1
* | Add support for Note 8 (N5100 and N5110)sbrissen2013-11-111-1/+91
| | | | | | | | Change-Id: I6c9798682f9f6349b37cb452353bd0c0e6958401
* | smdk4412: bulk update from i9300 update 9Daniel Hillenbrand2013-06-041-1/+1
| | | | | | | | Change-Id: Icd3e7b601f3f4c8b3dcf053fed5819fb7caf5296
* | Merge remote-tracking branch 'kernelorg/linux-3.0.y' into 3_0_64Andrew Dodd2013-02-271-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/Kconfig arch/arm/include/asm/hwcap.h arch/arm/kernel/smp.c arch/arm/plat-samsung/adc.c drivers/gpu/drm/i915/i915_reg.h drivers/gpu/drm/i915/intel_drv.h drivers/mmc/core/sd.c drivers/net/tun.c drivers/net/usb/usbnet.c drivers/regulator/max8997.c drivers/usb/core/hub.c drivers/usb/host/xhci.h drivers/usb/serial/qcserial.c fs/jbd2/transaction.c include/linux/migrate.h kernel/sys.c kernel/time/timekeeping.c lib/genalloc.c mm/memory-failure.c mm/memory_hotplug.c mm/mempolicy.c mm/page_alloc.c mm/vmalloc.c mm/vmscan.c mm/vmstat.c scripts/Kbuild.include Change-Id: I91e2d85c07320c7ccfc04cf98a448e89bed6ade6
| * ASoC: wm8994: Ensure there are enough BCLKs for four channelsMark Brown2012-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | commit b8edf3e5522735c8ce78b81845f7a1a2d4a08626 upstream. Otherwise if someone tries to use all four channels on AIF1 with the device in master mode we won't be able to clock out all the data. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | merge opensource jb u5codeworkx2012-09-221-82/+19
| | | | | | | | Change-Id: I1aaec157aa196f3448eff8636134fce89a814cf2
* | samsung update 1codeworkx2012-06-021-213/+1409
|/
* ASoC: Don't use wm8994->control_data in wm8994_readable_register()Mark Brown2011-11-211-1/+1
| | | | | | | | | | | | commit 8eeea521d9d0fa6afd62df8c6e6566ee946117fa upstream. The field is no longer initialised so this will crash if running on wm8958. Reported-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 CaptureAxel Lin2011-11-111-1/+1
| | | | | | | | | | commit 35024f4922f7b271e7529673413889aa3d51c5fc upstream. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* ASoC: Correct WM8994 MICBIAS supply widget hookupMark Brown2011-07-171-3/+4
| | | | | | | | | | | | The WM8994 and WM8958 series of devices have two MICBIAS supplies rather than one, the current widget actually manages the microphone detection control register bit (which is managed separately by the relevant API). Fix this, hooking the relevant supplies up to the MICBIAS1 and MICBIAS2 widgets. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* ASoC: Fix shift in WM8958 accessory detection default implementationMark Brown2011-07-151-1/+1
| | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* ASoC: Ensure we delay long enough for WM8994 FLL to lock when startingMark Brown2011-07-041-0/+2
| | | | | | | | This delay is very conservative. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Cc: stable@kernel.org
* ASoC: Fix wrong data type access in a few codec driversJarkko Nikula2011-05-161-2/+4
| | | | | | | | | | | | | Commit fafd217 ("ASoC: Store a list of widgets in a DAPM mux/mixer kcontrol") changed the control private data type that is passed to snd_soc_cnew when creating dapm mixer and mux controls. Commit did not update a few codec drivers that are using their own put callbacks and thus are accessing a wrong data type. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Tested-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Disable WM8994/58 microphone detection over suspendMark Brown2011-05-111-0/+25
| | | | | | | | | | It will be non-functional with the basises and clocks off anyway, if the system needs microphone detection enabled over suspend then it should be causing the CODEC to ignore suspend using the APIs for that to prevent the biases being disabled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* Merge branch 'for-2.6.39' into for-2.6.40Mark Brown2011-04-071-0/+16
|\
| * ASoC: Set left channel volume update bits for WM8994Mark Brown2011-04-071-0/+16
| | | | | | | | | | | | Ensures that we apply volume updates that don't affect the right channel. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add WM8958 enhanced EQ supportMark Brown2011-03-221-0/+2
| | | | | | | | | | | | | | | | DSP2 in the WM8958 can be used to support an upgraded EQ for use in demanding applications. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: Add WM8958 VSS supportMark Brown2011-03-221-0/+2
| | | | | | | | | | | | | | | | | | | | With appropriate firmware the WM8958 can support Virtual Surround Sound or VSS, widening the stereo audio image for improved user experience. Enable support for this mode of operation when the appropriate firmware can be loaded at runtime. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: Support download of WM8958 MBC firmwareMark Brown2011-03-221-0/+4
| | | | | | | | | | | | | | | | | | | | Allow userspace to supply an update to the ROM firmware. The firmware request is non-blocking so userspace can load the firmware at its leisure without delaying startup, the driver will begin using the firmware the next time MBC is started after it has been supplied. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: Mark WM8958 DSP2 registers readableMark Brown2011-03-181-0/+12
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Handle startup sequencing of WM8958 DSP2 with deferred clockingMark Brown2011-03-181-0/+3
| | | | | | | | | | | | | | | | The DSP2 startup requires that the clock be enable so if we've deferred clock startup we need to defer DSP2 startup Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Factor WM8958 DSP2 handling into separate fileMark Brown2011-03-181-302/+3
| | | | | | | | | | | | | | | | | | | | | | DSP2 on the WM8958 has a default ROM which provides a multi-band compressor for enhanced performance on mobile devices but can also support runtime download of alternative firmware. In preparation for more exploiting this functionality refactor the code to split the handling of DSP2 into a separate file. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Treat WM8958 revision A as WM8994 revision DMark Brown2011-03-181-10/+26
|/ | | | | | | The first WM8958 revision requires similar treatment. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* Merge branch 'for-2.6.38' into for-2.6.39Mark Brown2011-03-101-1/+9
|\
| * ASoC: Ensure WM8958 gets all WM8994 late revision widgetsMark Brown2011-03-091-0/+8
| | | | | | | | | | | | | | | | | | Without this fix the driver won't instantiate properly on relevant devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Cc: stable@kernel.org
| * ASoC: Fix typo in late revision WM8994 DAC2R nameMark Brown2011-03-091-1/+1
| | | | | | | | | | | | | | | | | | Without this fix the driver won't instantiate properly on relevant devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Cc: stable@kernel.org
* | ASoC: WM8994: Ensure MICBIAS is provided with a clockDimitris Papastamos2011-03-011-0/+13
| | | | | | | | | | | | | | | | | | The patch 'ASoC: WM8994: Improve Playback Robustness' did not handle this case properly. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.38' into for-2.6.39Mark Brown2011-03-011-9/+42
|\ \ | |/
| * ASoC: WM8994: Ensure late enable events are processed for the ADCsDimitris Papastamos2011-03-011-3/+23
| | | | | | | | | | | | | | | | | | | | | | Ensure that the ADCs are provided with a clock as the previous patch "ASoC: WM8994: Improve playback robustness" did not handle this case properly. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: WM8994: Don't disable the AIF[1|2]CLK_ENA unconditionalyDimitris Papastamos2011-03-011-6/+19
| | | | | | | | | | | | | | | | | | | | | | Since we began using the late clock disable functionality, ensure that we don't disable the clock if any of the ADC or DAC paths are still enabled. This happens when we have simultaneous playback and recording. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* | ASoC: Simplify default WM8958 jack detection codeMark Brown2011-02-221-34/+4
| | | | | | | | | | | | | | | | | | | | | | | | The default WM8958 jack detection handler implements a full set of buttons and also support for video detection. Support for multi-button jacks is fairly system specific and will usually require some tuning for headsets so simplify the implementation to only report a simple short to ground button, leaving multi-button headsets to be handled by system specific code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Support configuration of WM8958 microphone bias analogue parametersMark Brown2011-02-221-0/+7
| | | | | | | | | | | | | | | | The WM8958 has a different microphone bias architecture to WM8994 so needs different configuration to WM8994. Support this in platform data. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Support WM8958 direct microphone detection IRQMark Brown2011-02-221-22/+35
| | | | | | | | | | | | | | | | Allow direct routing of the WM8958 microphone detection signal to a GPIO to be used, saving the need to demux the interrupt. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | Merge branch 'for-2.6.38' into for-2.6.39Mark Brown2011-02-221-3/+2
|\ \ | |/
| * ASoC: Fix WM8958 default microphone detection argument orderingMark Brown2011-02-221-3/+2
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Fix missing space in WM8994Mark Brown2011-02-181-1/+1
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | Merge branch 'for-2.6.38' into for-2.6.39Mark Brown2011-02-131-14/+183
|\ \ | |/
| * ASoC: WM8994: Improve playback robustnessDimitris Papastamos2011-02-131-7/+52
| | | | | | | | | | | | | | | | | | | | On WM8994 revision D and earlier ensure proper playback robustness as some rare use cases can trigger issues. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: WM8994: Improve robustness in some use casesDimitris Papastamos2011-02-131-9/+133
| | | | | | | | | | | | | | | | | | | | | | | | Ensure that on disabling certain registers such as AIF1DAC1L, AIF1DAC1R etc. the AIF1CLK and AIF2CLK remain enabled. Similarly when enabling those registers, AIF1CLK and AIF2CLK will remain disabled. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* | Merge branch 'for-2.6.38' into for-2.6.39Mark Brown2011-02-031-4/+22
|\ \ | |/
| * ASoC: Improve WM8994 digital power sequencingMark Brown2011-02-031-0/+12
| | | | | | | | | | | | | | | | | | | | | | On WM8994 revision D and earlier ensure optimal sequencing with simultaneous usage of AIF1 and AIF2 by tying the signals together so if paths through both are connected the streams are started simultaneously. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Cc: stable@kernel.org
| * ASoC: Create an AIF1ADCDAT signal widget to match AIF2Mark Brown2011-02-031-4/+10
| | | | | | | | | | | | | | | | | | | | Due to the different routing for AIF1 and AIF2 we weren't using a single widget to represent the ADCDAT signal. For consistency add one. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Cc: stable@kernel.org
* | Merge branch 'for-2.6.38' into for-2.6.39Mark Brown2011-01-191-1/+1
|\ \ | |/
| * ASoC: WM8994: fix wrong value in tristate functionQiao Zhou2011-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | fix wrong value in wm8994_set_tristate func. when updating reg bits, it should use "value", not "reg". Signed-off-by: Qiao Zhou <zhouqiao@marvell.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* | ASoC: Update users of readable_register()/volatile_register()Dimitris Papastamos2011-01-131-5/+5
|/ | | | | | Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Yet more x86 tracepoint workaroundsMark Brown2010-12-291-0/+4
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Trace Wolfson jack detection IRQsMark Brown2010-12-221-0/+5
| | | | | | | Add jack detection interrupt trace to Wolfson CODEC drivers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Fix WM8994/58 3D stereo control definitionsMark Brown2010-12-211-3/+3
| | | | | | | Cut'n'paste in the register names. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>