ARM:bcm2708: Add Support for Wolfson Audio Card

Support for Wolfson Audio card in the BSP

Change-Id: I72ae6c2b6f0f63f372012939eb31a3c4e9a86d88
Signed-off-by: Nikesh Oswal <Nikesh.Oswal@wolfsonmicro.com>
Signed-off-by: Manish Gupta <Manish.Gupta@Wolfsonmicro.com>
ASOC: RPI : Add support for Wolfson Audio Card

Support for Wolfson Audio Card.Added the machine driver.

Change-Id: I1b678c080b2eb8caa3eb12abb4318a3ac3dbe72e
Signed-off-by: Nikesh Oswal <Nikesh.Oswal@wolfsonmicro.com>
Signed-off-by: Manish Gupta <Manish.Gupta@Wolfsonmicro.com>
Signed-off-by: ajit.pandey <ajit88pandey@gmail.com>
config:RPI: Add config support for wolfson audio card

Change-Id: Iace8f4cbea93f203e24d0296e781f5c8a1c292ae
Signed-off-by: Manish Gupta <Manish.Gupta@cirrus.com>
Signed-off-by: ajit.pandey <ajit88pandey@gmail.com>
ARM: bcm2708: Limit the boot time interrupt allocation

Limit the boot time interrupt allocation to RPi related
interrupts only

Change-Id: I46b24c55af0606461dbeb36d05f8fa06350e90f4
Signed-off-by: Nikesh Oswal <Nikesh.Oswal@wolfsonmicro.com>
Signed-off-by: Manish Gupta <Manish.Gupta@Wolfsonmicro.com>
Signed-off-by: ajit.pandey <ajit88pandey@gmail.com>
ASoC:RPI: DMA channels 2 and 3 to be set in FAST mode

Changing th DMA Channels 2 and 3 to be registered under
fast mode and not lite mode.Lite engine mode certainly
half the bandwidth of a normal DMA engine.

Change-Id: Id58b69273de123b7a5fd4ce1877433c731f34266
Signed-off-by: Manish Gupta <Manish.Gupta@Wolfsonmicro.com>
ARM: bcm2708: Fix up dual registration of spidev

Change-Id: Ice2c23f1244ac5fba9fd0d362ad66eabf69441e9
ASoC: RPI: Adding support for B+ audio card

GPIO mapping for wm8804 and usage of the MICBIAS3 for capture.

Change-Id: Ife9f11d6f138fefb812e7522b6a5f06a9ba24931
Signed-off-by: bsapthagiri <sapthagiri.baratam@incubesol.com>
Signed-off-by: Francis Bain <fb@opensource.wolfsonmicro.com>
ASoC: core: Fix volsw_range funcs so SOC_DOUBLE_R_RANGE_TLV works.

This fixes a bug when using the SOC_DOUBLE_R_RANGE_TLV macro in
the invert mode. In the non-invert case, e.g.

SOC_DOUBLE_R_RANGE_TLV("<name>", <reg_l>, <reg_r>,
					0, 40, 255, 0, <tlv>)

the range sent to the hardware is 40..255, but in the invert case:

SOC_DOUBLE_R_RANGE_TLV("<name>", <reg_l>, <reg_r>,
					0, 40, 255, 1, <tlv>)

the range 215..0 was being sent to the hardware. This commit
corrects this to 255..40 so it is consistent with the non-invert
case.

Signed-off-by: Howard Mitchell <hm@hmbedded.co.uk>
Signed-off-by: Mark Brown <broonie@kernel.org>

Conflicts:
	sound/soc/soc-core.c

Change-Id: I7af92f94ff8e159bfdeb3e8d904777df317324f3
ASoC: core: Fixup of cherry-pick issue of mainline patch

This is the patch that we are fixing up
ASoC: core: Fix volsw_range funcs so SOC_DOUBLE_R_RANGE_TLV works.

Signed-off-by: Francis Bain <fb@opensource.wolfsonmicro.com>

Change-Id: Ia514cefea9b7b1cfa7a65b5d0bcca266e96a4079
ASoC: arizona: Disable AIF TX/RX before configuring it

Changes to the AIF configuration registers only take
effect when the AIF is disabled. If the configuration
is being changed from the previous setup, temporarily
disable the AIF.

Backport to 3.12 rpi kernel

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Manish Gupta <Manish.Gupta@Wolfsonmicro.com>

Change-Id: I20060f5347dc1a71e0ee7eb4c5cce2eed88a55bc
ASOC: WM8804: Add dapm widgets for SPDIF

Change-Id: If3b88b715b4dc761344937609a58a957c942b35e
ASOC: dapm: add param_fixup callback

dai-link params for codec-codec links were fixed.
The fixed link between codec and another chip which
may be another codec, baseband, bluetooth codec etc
may require run time configuaration changes.
This change provides an optional callback to modify
these params.

Change-Id: Iad6ee3951bc4e8b8bc519c62642a2b4bcd949c18
Signed-off-by: nikesh <Nikesh.Oswal@wolfsonmicro.com>
ASoC: RPI: Setting sampling rate on 8804 dai link params

This patch is required on top of "ASOC: dapm: add param_fixup
callback" patch to set the sampling rate on 8804 dai at runtime.

Change-Id: I6aac7ea7dccb7f3f93160145e1173b9d28be848d
Signed-off-by: bsapthagiri <sapthagiri.baratam@incubesol.com>
mfd: arizona: Export function to control subsystem DVFS

Moving this control from being a side-effect of the LDO1
regulator driver to a specific exported function.

Change-Id: Ic78f7b14268cf184732c5df725e293f712266fec
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: ajit.pandey <ajit.pandey@incubesol.com>
ASoC: arizona: Add DVFS handling for sample rate control

Some codecs need to boost DVFS for higher sample rates.

Change-Id: I2b8f35d30ba45828418291b7932541bed949f4bd
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: ajit.pandey <ajit.pandey@incubesol.com>
ASoC: wm_adsp: Move DVFS control into codec driver

In theory the ADSP driver should not need to know
anything about the codec it is part of. But some codecs
need DVFS control based on ADSP clocking speed. This was
being handled by bundling part of the knowledge of this
into the ADSP driver.

This change removes this handling out of the ADSP driver.
A new macro WM_ADSP2_E() takes a callback function to be
called by the preloader widget in place of the default
handler, and this can be used to do codec-specific power
control.

The WM5102 driver has been updated to implement the DVFS.

Change-Id: Ie357d20035351a810bb56d39df368b6fafa07a63
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: ajit.pandey <ajit.pandey@incubesol.com>
ASoC: RPI: wolfson machine driver cleanup

Change-Id: Ia7dfbaa3c4b6db2180143e3e5582506fc52b5533