summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/arizona.c
AgeCommit message (Collapse)Author
2013-02-12ASoC: arizona: Automatically manage input mutesMark Brown
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-02-11Merge remote-tracking branch 'asoc/topic/arizona' into asoc-nextMark Brown
2013-02-07ASoC: arizona: Fix debug logging level for FLLs and AIFsMark Brown
Use _dbg for debug messages. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-02-04ASoC: arizona: Fixed a bug in FLL fractional calculationRyo Tsutsui
Previously arizona_calc_fll() was checking if the target frequency is exactly divisible by reference frequency, but should have been product of the ratio and the reference frequency. Also scale down the Lamba and Theta coefficients be under 16-bits in order to match the registers. Signed-off-by: Ryo Tsutsui <ryo.tsutsui@wolfsonmicro.com> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-21ASoC: arizona: Allow number of channels clocked to be restrictedMark Brown
Place a cap on the number of channels clocks are generated for. This is intended for use with systems which have the WM5102 master an I2S bus with multiple data lines. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-21ASoC: arizona: Support clearing clocksMark Brown
Some systems may wish to support switching between telephony and CD audio clock rates but this is restricted by enforcement of constraints on the current DAI clock. Support setting clocks to zero and don't enforce any constraints in that case in order to facilitate this use case. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-17Merge remote-tracking branch 'asoc/fix/arizona' into asoc-arizonaMark Brown
Conflicts: sound/soc/codecs/arizona.c
2013-01-17ASoC: arizona: Use actual rather than desired BCLK when calculating LRCLKMark Brown
Otherwise we'll get the wrong LRCLK if we need to pick a higher BCLK than is required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-16ASoC: arizona: Don't request FLL lock IRQMark Brown
We only log the result and since the interrupt triggers on loss of lock during shutdown this may lead to spurious interrupts during shutdown delaying the process. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-13Merge remote-tracking branch 'asoc/fix/arizona' into asoc-arizonaMark Brown
2013-01-08ASoC: arizona: Disable free-running mode on FLL1Charles Keepax
The free running mode can cause problems when attempting to bring up the FLL running from a defined clock source. This patch disables free-running mode. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-04ASoC: arizona: Factor out rate selection codeMark Brown
In preparation for more advanced sample rate managment move the existing code out of the main hw_params() function. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-04Merge branch 'fix/arizona' of ↵Mark Brown
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-arizona
2013-01-04ASoC: arizona: Allow runtime reconfiguration of the output modeMark Brown
Some systems use external analogue switches to connect more analogue devices to the CODEC than are supported by the device. In some systems this requires changing the switched output from single ended to differential mode dynamically at runtime. Add a new function arizona_set_output_mode() to support this. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-04ASoC: wm5102: Implement routing and power management for ISRCsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-04ASoC: arizona: Remove DSP B and left justified AIF modesMark Brown
These are not supported. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-12-24ASoC: arizona: Do proper shift for setting AIF rateAxel Lin
ARIZONA_AIF1_RATE_MASK is 0x7800 /* AIF1_RATE - [14:11] */ Thus we need left shift ARIZONA_AIF1_RATE_SHIFT when setting aif1 rate. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-12-24ASoC: arizona: Implement tristate supportMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24ASoC: arizona: Add noise gate hold time enumerationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-10Merge remote-tracking branch 'asoc/topic/arizona' into asoc-nextMark Brown
2012-12-09ASoC: arizona: Add volume ramp controlsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07ASoC: arizona: Log the clock we're setting the DAI to useMark Brown
Useful for diagnostics. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07ASoC: arizona: Store the DAI clock ID when settingMark Brown
So the code to suppress duplicate changes is effective. Reported-by: Kyung Kwee Ryu <Kyung-Kwee.Ryu@wolfsonmicro.comyu@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06ASoC: arizona: Make FLL lock timeout very highMark Brown
Provide robustness against low quality FLL sync clocks by increasing the timeout for lock to an absurdly high point; we should never get anywhere near hitting the timeout in a real system unless it is failing. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28ASoC: arizona: Record FLL setting when disablingMark Brown
Otherwise we skip reenables. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27ASoC: arizona: Suppress noop FLL updatesMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27ASoC: arizona: Support higher clock ratesMark Brown
Some devices support higher clock rates, allow users to select these. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-16ASoC: arizona: Fix typo - Swap value in 48k_rates[] and 44k1_rates[]Dimitris Papastamos
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-09-26ASoC: arizona: Add more clock ratesMark Brown
Some devices support additional clock rates. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26ASoC: arizona: Add more DSP options for mixer input muxesMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-22Merge tag 'v3.6-rc6' into for-3.7Mark Brown
Linux 3.6-rc6 has all our bug fixes. Conflicts (trivial overlap): sound/soc/omap/am3517evm.c
2012-09-12ASoC: arizona: Clarify logging for FLL lock status interruptMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-06ASoC: arizona: Fix typo in 44.1kHz ratesHeather Lomond
Signed-off-by: Heather Lomond <hlomond@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-08-09ASoC: arizona: Implement OPCLK supportMark Brown
Arizona devices support two output system clocks. Provide support for configuring these via set_sysclk(). Once the clock API is more useful we should migrate over to that. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-10ASoC: arizona: Support variable FLL VCO multipliersMark Brown
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>
2012-07-09ASoC: arizona: Add IN4 to the mixer tablesMark Brown
Some devices have four input structures rather than three. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-09ASoC: arizona: Export dai_opsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-06ASoC: arizona: Change DAPM routes for AIF clocks when we change themMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-07-05ASoC: arizona: Enable ASYNCCLK domain for audio interfacesMark Brown
If an audio interface is configured to use ASYNCCLK then update the asynchronous sample rate rather than one of our primary sample rates. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: arizona: Be more forgiving in BCLK selectionMark Brown
Allow any BCLK which can be divided down to generate LRCLK, not just the lowest possible BCLK to clock out the samples. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: arizona: Implement AIF clock configurationMark Brown
Allow the user to select which of the system clocks each AIF is referenced to and constran the DAI to the set of frequencies which can be generated from that clock. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-04ASoC: arizona: Rename current rates tables to bclk_ratesMark Brown
They're the rates for the BCLK, not for the sample rate, so rename so that we don't confuse ourselves. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-23ASoC: Add shared code for Wolfson Arizona class devicesMark Brown
The Wolfson Arizona series of audio hub CODECs can share a large amount of their driver code as the result of a common register map. This patch adds some of this core support, providing a basis for the initial WM5102 audio driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>