Commit Graph

6557 Commits

Author SHA1 Message Date
Chris Rattray
94e205bfb7 ASoC: wm_adsp: Set ADSP1 clock rate to match sys clock
Sets the ADSP1 clock rate to match the system clock
rate. To support this the codec driver provides
details of register containing the system clock
control bits.

Signed-off-by: Chris Rattray <crattray@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-18 17:46:28 +09:00
Mark Brown
e5ddd30321 ASoC: wm5102: Add controls for firmware selection
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-18 15:07:49 +09:00
Mark Brown
82e993fac4 ASoC: wm2200: Add controls for firmware enumeration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-18 15:06:26 +09:00
Mark Brown
c712326d6c ASoC: wm_adsp: Implement support for coefficeint file format 1
Implement support for a new revision of the coefficeint file format for
ADSP cores.

Since coefficient file format 0 has not been widely deployed and is very
unlikely to ever be used with this driver code support for it has been
removed.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-18 15:02:17 +09:00
Mark Brown
4706ccbbe8 Merge remote-tracking branch 'asoc/fix/arizona' into asoc-arizona
Conflicts:
	sound/soc/codecs/arizona.c
2013-01-17 15:31:54 +09:00
Mark Brown
b59e0f82aa ASoC: arizona: Use actual rather than desired BCLK when calculating LRCLK
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-17 14:36:07 +09:00
Chris Rattray
a80cc73428 ASoC: wm2200: correct mixer values and text
Signed-off-by: Chris Rattray <crattray@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2013-01-16 20:47:26 +09:00
Mark Brown
c98137bfcb ASoC: arizona: Don't request FLL lock IRQ
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-16 19:28:59 +09:00
Mark Brown
5851cb3daf ASoC: wm2200: Initialise the ADSPs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-16 10:25:24 +09:00
Mark Brown
5e7a7a221f ASoC: wm_adsp: Add initialisation function for ADSP1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-16 10:21:57 +09:00
Stephen Rothwell
c890caee54 ASoC: ak4642: remove __devinitconst annotation
CONFIG_HOTPLUG is always true now and the __dev* macros have been removed.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-14 13:52:21 +09:00
Peter Ujfalusi
f4d8ada2a0 ASoC: tlv320dac33: Remove suspend/resume soc driver operations
With idle_bias_off these are no longer needed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-13 21:34:47 +09:00
Mark Brown
f48aa39221 Merge remote-tracking branch 'asoc/fix/arizona' into asoc-arizona 2013-01-13 21:34:01 +09:00
Mark Brown
d37fb92326 Merge remote-tracking branch 'asoc/topic/adsp' into asoc-arizona 2013-01-13 21:33:03 +09:00
Mark Brown
57a10a1fc3 ASoC: wm5110: Provide MICSUPP widget for regulator driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-13 21:31:04 +09:00
Mark Brown
55e7276e93 ASoC: wm5102: Provide MICSUPP widget for regulator driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-13 21:31:03 +09:00
Mark Brown
1023dbd90c ASoC: wm_adsp: Add basic firmware selection support
There are many firmwares available for ADSP devices. Add basic support
for selecting between them, including a couple of feature sets in the
set of available firmware to start off with.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-12 18:36:07 +00:00
Mark Brown
7d5cb4f710 ASoC: wm5110: Correct AEC loopback mask
The generated defines in the header are pre-shifted.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-12 00:16:30 +00:00
Mark Brown
7f39bb9e9f ASoC: wm5102: Correct AEC loopback mask
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-12 00:16:23 +00:00
Peter Ujfalusi
85becda62c ASoC: twl6040: Remove leftover code from hs/hf ramp implementation
The code to do the ramp has been removed a long time ago. Remove the
remaining code as well since this is not needed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-11 23:55:12 +00:00
Peter Ujfalusi
da2107d1e4 ASoC: twl6040: Switch to use system workqueue for jack reporting
There's no need to create a queue for this anymore

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-11 23:54:57 +00:00
Peter Ujfalusi
9523fcdcc0 ASoC: twl6040: Convert to use devm_* when possible
In this way we can clean up the probe and remove paths

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-11 23:54:57 +00:00
Peter Ujfalusi
156db9f3bb ASoC: twl6040: Only set the bias_level once in twl6040_resume()
No need to set the bias_level twice to _STANDBY - since this is the only
state the device could be at suspend time. The driver do not support
idle_bias_off yet.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-11 23:54:57 +00:00
Peter Ujfalusi
09a8b6719c ASoC: twl4030: Remove suspend/resume soc driver operations
With idle_bias_off these are no longer needed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-11 23:54:56 +00:00
Misael Lopez Cruz
8d61f4901f ASoC: twl6040: Convert PLUGINT to no-suspend irq
Convert headset PLUGINT interrupt to NO_SUSPEND type in order to
allow handling of insertion/removal events while device is suspended.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-11 23:54:47 +00:00
Mark Brown
49a170bcf2 Merge remote-tracking branch 'asoc/fix/wm5100' into tmp 2013-01-10 12:22:30 +00:00
Mark Brown
921c038d87 Merge remote-tracking branch 'asoc/fix/wm2200' into tmp 2013-01-10 12:22:29 +00:00
Mark Brown
28f2675db8 Merge remote-tracking branch 'asoc/fix/wm2000' into tmp 2013-01-10 12:22:26 +00:00
Mark Brown
92a9d1524e Merge remote-tracking branch 'asoc/fix/wm-adsp' into tmp 2013-01-10 12:22:25 +00:00
Mark Brown
a883eae513 Merge remote-tracking branch 'asoc/fix/sta529' into tmp 2013-01-10 12:22:22 +00:00
Mark Brown
fd2eab87a2 Merge remote-tracking branch 'asoc/fix/sgtl5000' into tmp 2013-01-10 12:22:17 +00:00
Mark Brown
c31b71de6f Merge remote-tracking branch 'asoc/fix/lm49453' into tmp 2013-01-10 12:22:15 +00:00
Mark Brown
fa17cb4a02 Merge remote-tracking branch 'asoc/fix/cs42l52' into tmp 2013-01-10 12:22:14 +00:00
Mark Brown
587691ea39 Merge remote-tracking branch 'asoc/fix/cs4271' into tmp 2013-01-10 12:22:11 +00:00
Kuninori Morimoto
bbf1453e28 ASoC: ak4642: add Device Tree support
Support for loading the ak4642 codec module via devicetree.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-10 12:19:39 +00:00
Masanari Iida
c46d5c04f3 sound: soc: Fix typo in sound/codecs
Correct spelling typo in sound/soc/codecs

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2013-01-09 11:44:56 +01:00
Mark Brown
471f488583 ASoC: wm_adsp: Implement support for algorithm-specific coefficient blocks
WMDR coefficient files can specify coefficients in terms of algorithm
specific data regions. Record the start addresses of these regions while
parsing the algorithms and then use them to handle coefficients with
these formats.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-08 20:47:34 +00:00
Mark Brown
d62f4bc665 ASoC: wm_asdp: Validate sanity of algorithm count
If we run into I/O problems the algorithm count may be crazy, validate it
before we proceed and dump the read data for diagnostic purposes.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-08 20:47:32 +00:00
Mark Brown
45b9ee72d0 ASoC: wm_adsp: Factor out calculation of memory base addresses
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-08 20:47:30 +00:00
Mark Brown
db40517c75 ASoC: wm_adsp: Add support for parsing algorithms
ADSP devices report information on the algorithms loaded on them.  Parse
this data and use it to allow coefficients to be configured for specific
algorithms.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-08 20:47:29 +00: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
a76fefab5c ASoC: wm_adsp: Ensure that block writes are from DMA aligned addresses
Otherwise we won't run correctly on systems that require this for larger
data transfers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-07 19:13:35 +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
267f8fa2e1 ASoC: wm2000: Fix sense of speech clarity enable
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2013-01-04 21:19:42 +00:00
Mark Brown
5f960294e2 ASoC: wm5100: Remove DSP B and left justified formats
These are not supported

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2013-01-04 21:06:08 +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
Mark Brown
0cc411b934 ASoC: wm2200: 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:31:57 +00:00