summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm_adsp.h
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: wm_adsp: Start DSP booting earlier in the DAPM processCharles Keepax2014-01-081-2/+8
| | | | | | | | | | Move the start of booting the DSP to earlier in the DAPM process, and move the final starting of the DSP to later in the DAPM process. This allows us to overlap some of the processing with other components of the system being brought up. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* ASoC: wm_adsp: Factor out ADSP2 boot proceedureCharles Keepax2014-01-081-0/+2
| | | | | | | | Move the ADSP2 boot proceedure into a work structure in preparation for running it asynchronously with the reset of the audio path bring up. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* ASoC: wm_adsp: Sanitize parameter passingDimitris Papastamos2013-08-011-0/+1
| | | | | | | | | No need to hold on to the `codec' pointer. We can use the `dsp' pointer and grab all the information we need from there. This makes the parameters for the functions a bit more sane and idiomatic. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* ASoC: wm_adsp: Simplify kcontrol handlingDimitris Papastamos2013-07-291-1/+1
| | | | | | | | | | Get rid off the wm_coeff struct and the wm_coeff_add_kcontrol() function. We are now using the snd_soc_card_kcontrol() function to get the kcontrol pointers. No need to call into ALSA code to register the kcontrols. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* Merge remote-tracking branch 'asoc/topic/ext' into asoc-nextMark Brown2013-06-281-6/+4
|\
| * ASoC: wm_adsp: Use SND_SOC_DAPM_PGA_E() instead of open-coding itLars-Peter Clausen2013-06-191-6/+4
| | | | | | | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: wm_adsp: Expose coefficient blocks as ALSA binary controlsDimitris Papastamos2013-05-121-0/+3
|/ | | | | | | | | | Add initial support for runtime tuning for the ADSP cores. This is achieved by exposing the coefficient configuration blocks as ALSA binary controls. The current code assumes that no controls on the DSP are volatile. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge remote-tracking branch 'asoc/topic/arizona' into asoc-nextMark Brown2013-04-121-1/+2
|\
| * ASoC: wm_adsp: Split ADSP1 and ADSP2 firmware controlsMark Brown2013-03-291-1/+2
| | | | | | | | | | | | | | | | 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: wm_adsp: Handle old .bin filesMark Brown2013-03-131-0/+2
|/ | | | | | | Older .bin files report the global coefficients as absolute address writes to zero; maintain compatibility with them. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm_adsp: Set ADSP1 clock rate to match sys clockChris Rattray2013-01-181-0/+3
| | | | | | | | | | 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>
* ASoC: wm_adsp: Add initialisation function for ADSP1Mark Brown2013-01-161-0/+1
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm_adsp: Add basic firmware selection supportMark Brown2013-01-121-0/+5
| | | | | | | | 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>
* ASoC: wm_adsp: Implement support for algorithm-specific coefficient blocksMark Brown2013-01-081-0/+9
| | | | | | | | | 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>
* ASoC: wm_adsp: Enable DVFS for ADSP2Mark Brown2012-11-281-0/+5
| | | | | | | | Some ADSP devices can make use of DVFS to optimise power consumption depending on the operating frequency of the DSP core. Implement support for this in the generic ADSP code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: adsp: Add ADSP base supportMark Brown2012-10-281-0/+54
Many current Wolfson devices feature DSPs based around an architecture known as ADSP. Since there is a lot of commonality in the system integration of these devices a common library will be used to provide support for them. This version provides equivalent support for ADSP1 to that currently included in the WM2200 driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>