Commit Graph

184 Commits

Author SHA1 Message Date
Mark Brown f48aa39221 Merge remote-tracking branch 'asoc/fix/arizona' into asoc-arizona 2013-01-13 21:34:01 +09:00
Charles Keepax e31c194672 ASoC: arizona: Disable free-running mode on FLL1
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-08 18:01:17 +00:00
Mark Brown b272efc860 ASoC: arizona: Factor out rate selection code
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-04 21:30:21 +00:00
Mark Brown 66b6eaf23a Merge branch 'fix/arizona' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-arizona 2013-01-04 21:30:16 +00:00
Mark Brown bc9ab6d31c ASoC: arizona: Allow runtime reconfiguration of the output mode
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-04 21:20:59 +00:00
Mark Brown 91660bd65c ASoC: wm5102: Implement routing and power management for ISRCs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-04 20:55:55 +00:00
Mark Brown d71753e22b ASoC: arizona: Remove DSP B and left justified AIF modes
These are not supported.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2013-01-04 11:33:22 +00:00
Axel Lin 7110a287ff ASoC: arizona: Do proper shift for setting AIF rate
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-24 15:41:44 +00:00
Mark Brown 01df259f59 ASoC: arizona: Implement tristate support
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:39:23 +00:00
Mark Brown 845571cce6 ASoC: arizona: Add noise gate hold time enumeration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:39:07 +00:00
Mark Brown daa5ab9e0d Merge remote-tracking branch 'asoc/topic/arizona' into asoc-next 2012-12-10 00:22:00 +09:00
Mark Brown e853a00f5f ASoC: arizona: Add volume ramp controls
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-09 12:34:53 +09:00
Mark Brown c8d35a6a3e ASoC: arizona: Log the clock we're setting the DAI to use
Useful for diagnostics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07 12:53:12 +09:00
Mark Brown 0c778e8633 ASoC: arizona: Store the DAI clock ID when setting
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-07 12:53:09 +09:00
Mark Brown 09871a942a ASoC: arizona: Make FLL lock timeout very high
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-12-06 16:52:36 +09:00
Mark Brown 50fcfe45d7 ASoC: arizona: Record FLL setting when disabling
Otherwise we skip reenables.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 13:42:39 +00:00
Mark Brown 1cbe4bcae3 ASoC: arizona: Suppress noop FLL updates
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:30:56 +00:00
Mark Brown 38113360f0 ASoC: arizona: Support higher clock rates
Some devices support higher clock rates, allow users to select these.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 10:36:34 +00:00
Dimitris Papastamos 96e1f18fbb ASoC: arizona: Fix typo - Swap value in 48k_rates[] and 44k1_rates[]
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-11-16 09:38:06 +09:00
Mark Brown aeaeee1a1f ASoC: arizona: Add more clock rates
Some devices support additional clock rates.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 19:16:35 +01:00
Mark Brown c922cc4c1c ASoC: arizona: Add more DSP options for mixer input muxes
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-26 19:16:26 +01:00
Mark Brown ddfb43f388 Linux 3.6-rc6
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJQVkutAAoJEHm+PkMAQRiGW8sH/36FVQ3zI75QH16AmR++2nMZ
 BRJGoxcRFMssrXTYVdkMyzygf8b7MZbNEn1qt2g63MNzGaJucPlw5NVL4GLzR+zr
 x/EglLrTEPCD5el9wJ3ls9iC1soudKQTvC2BjcdUjpoSwHrDM/7GKfbOacE54Wqc
 C1VHCcg5DWOD7F0RnYT2SQEVCeDODNmcyFdk7Oi4cUicTPJoYWJ9O9MGfBDBok0N
 M+dXxa9nvsl7EeEKpBKH9vo4TfXn3Gsj6LCRdedvI15ilZjfo8jdHYbSn7KBfQuZ
 JIKRnqkaQ1JfMFt+M/JJZ1b/+Wrd4HLMmmn5oUmrGGIvhpi32nJfi/97+nSy8iU=
 =c5gW
 -----END PGP SIGNATURE-----

Merge tag 'v3.6-rc6' into for-3.7

Linux 3.6-rc6 has all our bug fixes.

Conflicts (trivial overlap):
	sound/soc/omap/am3517evm.c
2012-09-22 11:26:27 -04:00
Mark Brown 6b315958d3 ASoC: arizona: Clarify logging for FLL lock status interrupt
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-12 22:01:37 +08:00
Heather Lomond 4758be37c0 ASoC: arizona: Fix typo in 44.1kHz rates
Signed-off-by: Heather Lomond <hlomond@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-06 06:58:44 +08:00
Mark Brown cbd840dade ASoC: arizona: Implement OPCLK support
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-08-09 19:34:28 +01:00
Mark Brown 2b4d39fc2a ASoC: arizona: Support variable FLL VCO multipliers
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-10 17:17:35 +01:00
Mark Brown c9c56fd0b7 ASoC: arizona: Add IN4 to the mixer tables
Some devices have four input structures rather than three.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-09 19:35:04 +01:00
Mark Brown a837987e7b ASoC: arizona: Export dai_ops
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-07-09 12:16:41 +01:00
Mark Brown 410837a7a2 ASoC: arizona: Change DAPM routes for AIF clocks when we change them
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-07-06 19:07:00 +01:00
Mark Brown c013b27a17 ASoC: arizona: Enable ASYNCCLK domain for audio interfaces
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-05 17:44:17 +01:00
Mark Brown 5001765f99 ASoC: arizona: Be more forgiving in BCLK selection
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-04 19:15:46 +01:00
Mark Brown 5b2eec3f98 ASoC: arizona: Implement AIF clock configuration
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-04 19:15:45 +01:00
Mark Brown 949e6bc75f ASoC: arizona: Rename current rates tables to bclk_rates
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-07-04 19:15:44 +01:00
Mark Brown 07ed873e4c ASoC: Add shared code for Wolfson Arizona class devices
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>
2012-06-23 12:11:46 +01:00