summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm5102.c
Commit message (Collapse)AuthorAgeFilesLines
*-. Merge remote-tracking branches 'asoc/topic/adau1977', 'asoc/topic/ak4642', ↵Mark Brown2014-08-041-0/+62
|\ \ | | | | | | | | | 'asoc/topic/ak5386' and 'asoc/topic/arizona' into asoc-next
| | * ASoC: wm5102: Convert snd_kcontrol_chip to snd_soc_kcontrol_codecCharles Keepax2014-06-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Controls for shaping the ultrasonic frequency response were introduced in this commit: commit 720630c002ffc7b0fa2ed5b3f4bfb36fd8f87ca6 ASoC: wm5102: Add controls to allow shaping of ultrasonic response However, they mistakenly used snd_kcontrol_chip instead of snd_soc_kcontrol_codec, which has replaced it now the framework is moving to componentisation. This patch fixes this. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: wm5102: Add controls to allow shaping of ultrasonic responseCharles Keepax2014-06-091-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add controls to allow custom shaping of the ultrasonic response. This custom shaping can be turned on/off at runtime, although, it should be noted that settings will not affect a currently open audio stream, they will be applied when the next audio stream is started. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | ASoC: wm5102: Set symmetric samplebits on AIFsRichard Fitzgerald2014-07-221-0/+3
|/ / | | | | | | | | | | | | | | Different playback and capture bits-per-sample are not supported on the AIFs Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | Merge remote-tracking branch 'asoc/topic/enum' into asoc-nextMark Brown2014-05-221-7/+7
|\ \
| * | ASoC: wm5102: Replace usage deprecated SOC_VALUE_ENUM macroLars-Peter Clausen2014-04-141-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | SOC_VALUE_ENUM is deprecated and merely an alias for SOC_EMUM. Replace the deprecated macros so we can eventually remove their definition. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: wm5102: Replace usage deprecated MUX/ENUM macrosLars-Peter Clausen2014-04-141-2/+2
| |/ | | | | | | | | | | | | | | | | SND_SOC_DAPM_VALUE_MUX and SOC_DAPM_VALUE_ENUM are deprecated and merely an alias for SND_SOC_DAPM_MUX and SOC_DAPM_ENUM. Replace the deprecated macros so we can eventually remove their definition. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: codec: fix the sparse check warnings.Xiubo Li2014-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some thing Likes: reproduce: make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> sound/soc/codecs/wm8997.c:1084:15: sparse: symbol \ 'wm8997_get_regmap' was not declared. Should it be static? Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: wm5102: Remove the set_cache_io() entirely from ASoC probe.Xiubo Li2014-04-141-4/+8
|/ | | | | | | | | | | | | As we can set the CODEC I/O while snd_soc_register_codec(), so the calling of set_cache_io() from CODEC ASoC probe could be removed entirely. And then we can set the CODEC I/O in the device probe instead of CODEC ASoC probe as earily as possible. Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* Merge remote-tracking branch 'asoc/topic/io' into asoc-nextMark Brown2014-03-131-3/+1
|\
| * ASoC: io: New signature for snd_soc_codec_set_cache_io()Xiubo Li2014-03-111-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | Now that all users have been converted to regmap and the config.reg_bits and config.val_bits can be setted by each user through regmap core API. So these two params are redundant here. Since the only control type that left is SND_SOC_REGMAP, so remove it. Drop the control params and add struct regmap *regmap to simplify the code. Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: wm{5102, 5110, 8997}: Replace codec->control_data with arizona->regmapLars-Peter Clausen2014-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | With the ongoing component-ization of the ASoC framework and the continuing migration to using regmap for IO the control_data field of the snd_soc_codec struct will eventually be removed. Prepare the wm5192, wm5110 and wm8997 drivers for this by using arizona->regmap instead of accessing the CODEC's control_data field. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: wm5102: Use ARRAY_SIZE() for SOC_VALUE_ENUM_SINGLE()Takashi Iwai2014-02-231-3/+6
| | | | | | | | | | | | | | | | | | | | ... to make clear the meaning of the argument. Signed-off-by: Takashi Iwai <tiwai@suse.de> Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: wm5102: Correct typo in EQ coefficient sizesCharles Keepax2014-02-031-4/+4
| | | | | | | | | | Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: wm5102: Improve EQ coefficient controlsCharles Keepax2014-02-031-9/+8
|/ | | | | | | | | | | | | The EQ coefficient binary controls overlapped with the volume controls for the B4 and B5 volumes, which were controllable from either the coefficient control or the volume control itself. This patch adds controls for the mode and moves the coefficient control to only cover the coefficients. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* ASoC: wm5102: Use async writesMark Brown2013-12-171-2/+2
| | | | | | | | | | When writing the patch write to the device asynchronously, allowing better performance when used with a bus like SPI which supports this by minimising the need to context switch back to the driver to get the next bit of data. Signed-off-by: Mark Brown <broonie@linaro.org> Reviewed-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
* ASoC: arizona: Fix typo in name of EQ coefficient controlsRichard Fitzgerald2013-11-131-4/+4
| | | | | Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* ASoC: wm5102: Add inputs for noise and mic mixersMark Brown2013-08-191-3/+3
| | | | | | The noise and mic mixer inputs were not connected, do so. Signed-off-by: Mark Brown <broonie@linaro.org>
* ASoC: arizona: Add widget<->mux route into mux route macroCharles Keepax2013-08-121-29/+12
| | | | | | | | | The routes linking the widget and the input mux were being added manually, rather than by the ARIZONA_MUX_ROUTES macro. This patchs adds the routes to the macro. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* ASoC: arizona: Add signal activity output for DRCCharles Keepax2013-07-151-0/+6
| | | | | | | | | | When doing signal activity detection, the only output from the DRC will often be a GPIO pin. This patch adds a signal activity output that is activated when a GPIO is configured to output the DRC signal activity detection. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* Merge remote-tracking branch 'asoc/topic/arizona' into asoc-nextMark Brown2013-06-171-1/+204
|\
| * ASoC: wm5102: Expose controls for DRECharles Keepax2013-06-121-0/+13
| | | | | | | | | | | | | | | | Certain use cases may require specific DRE settings so expose control of these. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * ASoC: arizona: Hookup SYSCLK to inputs and noise generatorsCharles Keepax2013-06-051-0/+11
| | | | | | | | | | | | | | All sources and sinks should enable SYSCLK. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * ASoC: wm5102: Stub hookup for Slimbus interfaceMark Brown2013-05-201-0/+179
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm5102: Correct OSR control name for EPOUTCharles Keepax2013-05-161-1/+1
| | | | | | | | | | Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: arizona: Correct AEC loopback enableCharles Keepax2013-06-051-1/+2
|/ | | | | Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* Merge remote-tracking branch 'asoc/topic/arizona' into asoc-nextMark Brown2013-04-121-68/+61
|\
| * ASoC: wm_adsp: Split ADSP1 and ADSP2 firmware controlsMark Brown2013-03-291-1/+1
| | | | | | | | | | | | | | | | Now that we have regular register mapped controls we should be splitting the control sets for ADSP1 and ADSP2 as the register maps are not identical. Do that. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm5102: Correctly use SOC_VALUE_ENUM for ISRC FSL controlsCharles Keepax2013-03-271-2/+2
| | | | | | | | | | Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm5102: Implement OSR supportMark Brown2013-03-271-0/+26
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * Merge tag 'arizona-extcon-asoc' of ↵Mark Brown2013-03-261-6/+17
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc into asoc-arizona ASoC/extcon: arizona: Fix interaction between HPDET and headphone outputs This patch series covers both ASoC and extcon subsystems and fixes an interaction between the HPDET function and the headphone outputs - we really shouldn't run HPDET while the headphone is active. The first patch is a refactoring to make the extcon side easier.
| | * ASoC: arizona: Fix interaction between headphone outputs and identificationMark Brown2013-03-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running HPDET while the headphone outputs are enabled can disrupt the operation of HPDET. In order to avoid this HPDET needs to disable the headphone outputs and ASoC needs to not enable them while HPDET is running. Do the ASoC side of this by storing the enable state in the core driver structure and only writing to the device if a flag indicating that the accessory detection side is in a state where it can have the headphone output stage enabled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: arizona: Basic support for ISRC rate selectionMark Brown2013-03-211-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since ASoC does not yet really have the framework features needed to support propagating sample rates through the device well yet implement basic support for the ISRCs equivalent to that we currently have for the ASRCs. The user can opt for 8kHz or 16kHz as the rate for the DSP blocks in addition to the main audio rate, these being the primary use cases. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: arizona: Factor out speaker widgets from CODEC driversMark Brown2013-03-211-50/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some system designs have been identified which repurpose portions of the speaker driver circuits for other functions which will require that they not be managed using DAPM. Prepare for this by factoring out the creation of the speaker widgets into the core driver, the widgets will be replaced by dummy ones when the additional functions are enabled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: arizona: Only allow input volume updates when inputs are enabledMark Brown2013-03-041-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since we are automatically managing the mutes we may as well also manage the volume update bits, disabling volume updates while none of the inputs are active. Since we are doing this we may as well allow the volumes to ramp together so only enable volume updates once at the end of power up. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: arizona: Add support for directly setting the FLL REFCLKCharles Keepax2013-03-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | This patch allows the REFCLK to be set directly allowing much greater flexibility in how the FLLs are configured. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: wm5102: Correct lookup of arizona struct in SYSCLK eventMark Brown2013-04-091-1/+1
| |/ |/| | | | | | | | | Reported-by: Ryo Tsutsui <Ryo.Tsutsui@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
* | Merge remote-tracking branch 'asoc/fix/arizona' into tmpMark Brown2013-03-071-2/+13
|\ \ | |/ |/|
| * ASoC: wm5102: Apply a SYSCLK patch for later revsMark Brown2013-03-061-0/+11
| | | | | | | | | | | | Evaluation has identified some performance improvements to the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm5102: Correct OUT2 volume and switch namesCharles Keepax2013-03-011-2/+2
| | | | | | | | | | Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge tag 'sound-3.9' of ↵Linus Torvalds2013-02-211-26/+133
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "The biggest change in this update is the unification of HD-audio codec parsers. Now the HD-audio codec is parsed in a generic parser code which is invoked by each HD-audio codec driver. Some background information is found in David Henningsson's blog entry: http://voices.canonical.com/david.henningsson/2013/01/18/upcoming-changes-to-the-intel-hda-drivers/ Other than that, some random updates/fixes like USB-audio and a bunch of small AoC updates as usual. Highlights: - Unification of HD-audio parser code (aka generic parser) - Support of new Intel HD-audio controller, new IDT codecs - Fixes for HD-audio HDMI audio hotplug - Haswell HDMI audio fixup - Support of Creative CA0132 DSP code - A few fixes of HDSP driver - USB-audio fix for Roland A-PRO, M-Audio FT C600 - Support PM for aloop driver (and fixes Oops) - Compress API updates for gapless playback support For ASoC part: - Support for a wider range of hardware in the compressed stream code - The ability to mute capture streams as well as playback streams while inactive - DT support for AK4642, FSI, Samsung I2S and WM8962 - AC'97 support for Tegra - New driver for max98090, replacing the stub which was there - A new driver from Dialog Note that due to dependencies, DTification of DMA support for Samsung platforms (used only by the and I2S driver and SPI) is merged here as well." Fix up trivial conflict in drivers/spi/spi-s3c64xx.c due to removed code being changed. * tag 'sound-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (453 commits) ALSA: usb: Fix Processing Unit Descriptor parsers ALSA: hda - hdmi: Notify userspace when ELD control changes ALSA: hda - hdmi: Protect ELD buffer ALSA: hda - hdmi: Refactor hdmi_eld into parsed_hdmi_eld ALSA: hda - hdmi: Do not expose eld data when eld is invalid ALSA: hda - hdmi: ELD shouldn't be valid after unplug ALSA: hda - Fix the silent speaker output on Fujitsu S7020 laptop ALSA: hda - add quirks for mute LED on two HP machines ALSA: usb/quirks, fix out-of-bounds access ASoC: codecs: Add da7213 codec ALSA: au88x0 - Define channel map for au88x0 ALSA: compress: add support for gapless playback ALSA: hda - Remove speaker clicks on CX20549 ALSA: hda - Disable runtime PM for Intel 5 Series/3400 ALSA: hda - Increase badness for missing multi-io ASoC: arizona: Automatically manage input mutes ALSA: hda - Fix broken workaround for HDMI/SPDIF conflicts ALSA: hda/ca0132 - Add missing \n to debug prints ALSA: hda/ca0132 - Fix type of INVALID_CHIP_ADDRESS ALSA: hda - update documentation for no-primary-hp fixup ...
| * ASoC: arizona: Automatically manage input mutesMark Brown2013-02-121-13/+0
| | | | | | | | | | | | | | | | For optimal performance the inputs should be kept muted until after power up. Since there are few use cases for muting inputs during capture move the mutes to automatic control. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: wm5102: Add controls for firmware selectionMark Brown2013-01-181-0/+4
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * Merge remote-tracking branch 'asoc/fix/arizona' into asoc-arizonaMark Brown2013-01-131-2/+1
| |\
| * \ Merge branch 'fix/arizona' of ↵Mark Brown2013-01-041-2/+46
| |\ \ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-arizona
| * | | ASoC: wm5102: Implement routing and power management for ISRCsMark Brown2013-01-041-0/+76
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: wm5102: Add noise gate controlMark Brown2012-12-241-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The references used for the noise gates and parameters for their triggering are configurable, expose that to users. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: wm5102: Split input PGA controlsMark Brown2012-12-241-26/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Though the controls are named as stereo controls in the part the main use case for the analogue inputs to the WM5102 is mono. Reflect this in the controls exposed to userspace, providing a series of mono controls rather than stereo ones. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | Merge remote-tracking branch 'regulator/topic/arizona' into regulator-nextMark Brown2013-02-191-0/+4
|\ \ \ \ | |_|_|/ |/| | |
| * | | ASoC: wm5102: Provide MICSUPP widget for regulator driverMark Brown2013-01-131-0/+4
| |/ / | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud