summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/wm5102.c
AgeCommit message (Collapse)AuthorFilesLines
2013-06-05ASoC: arizona: Correct AEC loopback enableCharles Keepax1-1/+2
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-04-12Merge remote-tracking branch 'asoc/topic/arizona' into asoc-nextMark Brown1-68/+61
2013-04-09ASoC: wm5102: Correct lookup of arizona struct in SYSCLK eventMark Brown1-1/+1
Reported-by: Ryo Tsutsui <Ryo.Tsutsui@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-03-29ASoC: wm_adsp: Split ADSP1 and ADSP2 firmware controlsMark Brown1-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>
2013-03-28ASoC: wm5102: Correctly use SOC_VALUE_ENUM for ISRC FSL controlsCharles Keepax1-2/+2
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-03-27ASoC: wm5102: Implement OSR supportMark Brown1-0/+26
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-03-26Merge tag 'arizona-extcon-asoc' of ↵Mark Brown1-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.
2013-03-26ASoC: arizona: Fix interaction between headphone outputs and identificationMark Brown1-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>
2013-03-21ASoC: arizona: Basic support for ISRC rate selectionMark Brown1-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>
2013-03-21ASoC: arizona: Factor out speaker widgets from CODEC driversMark Brown1-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>
2013-03-07Merge remote-tracking branch 'asoc/fix/arizona' into tmpMark Brown1-2/+13
2013-03-06ASoC: wm5102: Apply a SYSCLK patch for later revsMark Brown1-0/+11
Evaluation has identified some performance improvements to the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-03-04ASoC: arizona: Only allow input volume updates when inputs are enabledMark Brown1-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>
2013-03-04ASoC: arizona: Add support for directly setting the FLL REFCLKCharles Keepax1-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>
2013-03-01ASoC: wm5102: Correct OUT2 volume and switch namesCharles Keepax1-2/+2
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-02-21Merge tag 'sound-3.9' of ↵Linus Torvalds1-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 ...
2013-02-19Merge remote-tracking branch 'regulator/topic/arizona' into regulator-nextMark Brown1-0/+4
2013-02-13ASoC: arizona: Automatically manage input mutesMark Brown1-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>
2013-01-18ASoC: wm5102: Add controls for firmware selectionMark Brown1-0/+4
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-13Merge remote-tracking branch 'asoc/fix/arizona' into asoc-arizonaMark Brown1-2/+1
2013-01-13ASoC: wm5102: Provide MICSUPP widget for regulator driverMark Brown1-0/+4
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-12ASoC: wm5102: Correct AEC loopback maskMark Brown1-2/+1
The generated defines in the header are pre-shifted. Reported-by: Heather Lomond <Heather.Lomond@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-05Merge branch 'fix/arizona' of ↵Mark Brown1-2/+46
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-arizona
2013-01-05ASoC: wm5102: Implement routing and power management for ISRCsMark Brown1-0/+76
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-02ASoC: wm5102: Improve speaker enable performanceMark Brown1-2/+46
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24ASoC: wm5102: Add noise gate controlMark Brown1-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>
2012-12-24ASoC: wm5102: Split input PGA controlsMark Brown1-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>
2012-12-09ASoC: codecs: remove __dev* attributesBill Pemberton1-3/+3
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>
2012-12-09ASoC: wm5102: Enable volume ramp controlMark Brown1-0/+6
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-05ASoC: wm5102: Make EQ coefficents configurableMark Brown1-0/+9
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03ASoC: wm5102: Add support for configuring LHPF coefficientsMark Brown1-0/+5
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02ASoC: wm5102: Correct base address for Y regionMark Brown1-1/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28ASoC: wm5102: Enable DVFS support for the DSPMark Brown1-1/+5
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28ASoC: wm5102: Implement haptics supportMark Brown1-1/+23
Provide a haptics widget for use by the haptics driver and expose the DAPM context for it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27ASoC: wm5102: Add missing routes for ASRC inputsMark Brown1-0/+5
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-21ASoC: wm5102: Register DSP1 Aux widgetsDimitris Papastamos1-1/+1
It seems WM_ADSP2("DSP1", 0) is added twice to the widgets list, remove that and in place use ARIZONA_DSP_WIDGETS(DSP1, "DSP1"). We need to make sure that the DSP1 Aux widgets are provided otherwise we'll see errors such as "Failed to add route DSP1 Aux 1 -> DSP1" etc. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-20ASoC: wm5102: Remove output OSR and PGA volume controlMark Brown1-19/+0
These are managed automatically in current revisions. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-19Merge tag 'v3.7-rc6' into asoc-arizonaMark Brown1-1/+551
Linux 3.7-rc6 Conflicts: sound/soc/codecs/wm5102.c
2012-11-14ASoC: wm5102: Remove mixer widgets on the ASRCCharles Keepax1-12/+12
There is no mixer attached to the ASRC on the wm5102 only a multiplexer to select the source for the single input line. This change correctly defines this in the wm5102 CODEC driver. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-30ASoC: wm5102: Write register value corrections after SYSCLK is enabledMark Brown1-1/+551
Evalation of the WM5102 has identified a number of register values which should be written after SYSCLK is enabled on revision A in order to improve performance. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-28ASoC: wm5102: Hook up DSP1Mark Brown1-1/+37
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-25ASoC: wm5102: Correct micbias DAPM suppliesCharles Keepax1-2/+2
ARIZONA_MICB1_ENA_SHIFT was used for micbias 2 and 3. This change correctly uses the ARIZONA_MICBX_ENA_SHIFT for each corresponding DAPM supply. This should not have caused any problems as the micbias enables are in the same place in each register. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26ASoC: wm5102: Enable bypass mode for MICVDDMark Brown1-1/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-08ASoC: dapm: Add flags to regulator suppliesMark Brown1-6/+6
This will be used to enable additional control of the regulators. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-09-05Merge branch 'asoc-omap' into for-3.7Mark Brown1-16/+9
2012-08-18ASoC: wm5102: Remove DRC2Mark Brown1-16/+0
It will be removed from future device revisions. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-18ASoC: wm5102: Add AEC routing controlMark Brown1-0/+34
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-13ASoC: wm5102: Add missing input PGA routesMark Brown1-0/+9
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-09ASoC: wm5102: Enable output clocksMark Brown1-0/+4
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-10ASoC: arizona: Support variable FLL VCO multipliersMark Brown1-0/+3
Some Arizona chips have a higher frequency for the FLL VCO, support this in the common code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>