Commit Graph

3137 Commits

Author SHA1 Message Date
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
Mark Brown
1b8d52e63c ASoC: wm5102: Improve speaker enable performance
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-02 13:08:42 +00:00
Peter Ujfalusi
5712ded9cf ASoC: twl4030: Configure extmute pinmux when the dedicated pin is in use
When HS extmute is enabled without custom GPIO we should configure the mux
to allow the pin to be used as extmute signal.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-02 13:04:25 +00:00
Peter Ujfalusi
e04d6e55fe ASoC: twl4030: Convert MICBIAS to SUPPLY widget
In order to avoid breakage update the machine drivers at the same time using
twl4030: omap3pandora, sdp3430 and zoom2

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-02 13:04:25 +00:00
Peter Ujfalusi
927a77476e ASoC: twl4030: Correct the support for Voice port
In order to be able to use the Voice port of twl4030 three bits need to be
handled in VOICE_IF register:
VIF_EN: to enable the voice port (needed for both playback and capture)
VIF_DIN_EN: Need to be enabled for playback only (input to the codec)
VIF_DOUT_EN: Need to be enabled for capture only (output from codec)

Use DAPM_SUPPLY for the VIF_EN bit and add DAPM_AIF_IO/OUT widget to handle
the playback/capture bit.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-02 13:04:24 +00:00
Fabio Estevam
5f3d25c08d ASoC: wm8985: Refactor set_pll code to avoid gcc warnings
Refactor set_pll code to avoid the following warnings:

sound/soc/codecs/wm8985.c:852:50: warning: 'pll_div.k' may be used uninitialized in this function
sound/soc/codecs/wm8985.c:849:9: warning: 'pll_div.n' may be used uninitialized in this function
sound/soc/codecs/wm8985.c:848:23: warning: 'pll_div.div2' may be used uninitialized in this function

Do the same as in commit 86ce6c9a (ASoC: WM8804: Refactor set_pll code to avoid
GCC warnings).

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-27 16:49:00 +00:00
Axel Lin
e958f8b806 ASoC: cs42l52: Convert to devm_input_allocate_device()
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-27 16:46:38 +00:00
Tejun Heo
8a47ca957a ASoC: wm8350: don't use [delayed_]work_pending()
There's no need to test whether a (delayed) work item in pending
before queueing, flushing or cancelling it.  Most uses are unnecessary
and quite a few of them are buggy.

Remove unnecessary pending tests from wm8350.  Only compile tested.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 16:10:22 +00:00
Axel Lin
3271a4fc7d ASoC: cs42l52: Catch no-match case in cs42l52_get_clk
In the case of no-match, return -EINVAL instead of 0.

Since we assign i to ret in the for loop, ret always less than
ARRAY_SIZE(clk_map_table). Thus remove the boundary checking for ret.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 16:02:19 +00:00
Fabio Estevam
6757d8cc0c ASoC: wm8993: Refactor set_pll code to avoid GCC warnings
Refactor set_pll code to avoid the following warnings:

sound/soc/codecs/wm8983.c:873:40: warning: 'pll_div.k' may be used uninitialized in this function [-Wuninitialized]
sound/soc/codecs/wm8983.c:870:9: warning: 'pll_div.n' may be used uninitialized in this function [-Wuninitialized]
sound/soc/codecs/wm8983.c:869:23: warning: 'pll_div.div2' may be used uninitialized in this function [-Wuninitialized]

Do the same as in commit 86ce6c9a (ASoC: WM8804: Refactor set_pll code to avoid
GCC warnings).

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:55:40 +00:00
Fabio Estevam
1edbd35667 ASoC: wm8804: Remove redundant check
The condition "if (!freq_in || !freq_out)" has already been tested previously,
so no need to do it again.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:54:27 +00:00
Daniel Mack
fd23fb9f6b ALSA: ASoC: cs4271: add optional soft reset workaround
The CS4271 requires its LRCLK and MCLK to be stable before its RESET
line is de-asserted. That also means that clocks cannot be changed
without putting the chip back into hardware reset, which also requires
a complete re-initialization of all registers.

One (undocumented) workaround is to assert and de-assert the PDN bit
in the MODE2 register.

This patch adds a new flag to both the DT bindings as well as to the
platform data to enable that workaround.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Alexander Sverdlin <subaparts@yandex.ru>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:53:28 +00:00
Mark Brown
133d2e6188 Merge branch 'asoc-fix-cs4271' into asoc-cs4271 2012-12-24 15:52:48 +00:00
MR.Swami.Reddy@ti.com
9dc754dfa7 ASoC: lm49453: Update lm49453_reg_defs values as per LM49453 HW revision-B
Update lm49453_reg_defs values as per LM49453 HW revision-B

Signed-off-by: M R Swami Reddy <mr.swami.reddy@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:45:10 +00:00
MR.Swami.Reddy@ti.com
88ac43924b ASoC: lm49453: Fix adc, mic and sidetone volume ranges
Add adc, mic, sidetone volume ranges and appropriately added the controls.
Fix the DAC HP/EP/LS/LO/HA maximum gain values.

Signed-off-by: MR Swami Reddy <mr.swami.reddy@ti.com>
Tested-by: Vinod Koul <vinod.koul@intel.com>

--
 sound/soc/codecs/lm49453.c |   43 ++++++++++++++++++++++++-------------------
 1 files changed, 24 insertions(+), 19 deletions(-)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:43:56 +00:00
Mark Brown
d61100bbd1 ASoC: wm2000: Use clock API integration to configure MCLK divisor
Since we are now using the clock API integration to manage MCLK we can now
use clk_get_rate() to determine if we need to divide MCLK without relying
on platform data.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:42:35 +00:00
Mark Brown
514cfd6dd7 ASoC: wm2000: Integrate with clock API
Request MCLK as a clock and then enable it when carrying out a state
transtion and while ANC is active, minimising system power consumption
in idle modes.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:42:33 +00:00
Mark Brown
a8c02db029 ASoC: arizona: Correct FLL source definitions
The FLL source constants were numbered as a simple enumeration but were
being used in the code as direct values to be written to the registers.
Renumber the constants to reflect the usage.

Reported-by: Ryo Tsutsui <Ryo.Tsutsui@wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-12-24 15:41:44 +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
bd7fe24bc4 ASoC: wm5110: Add noise gate control
The references used for the noise gates and parameters for their triggering
are configurable, expose that to users.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:39:11 +00:00
Mark Brown
5057126372 ASoC: wm5102: Add noise gate control
The references used for the noise gates and parameters for their triggering
are configurable, expose that to users.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:39:09 +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
02482da46e ASoC: wm5110: Split input PGA controls
Though the controls are named as stereo controls in the part the main use
case for the analogue inputs to the WM5102 is mono. Reflect this in the
controls exposed to userspace, providing a series of mono controls rather
than stereo ones.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:38:51 +00:00
Mark Brown
c63f650c0d ASoC: wm5102: Split input PGA controls
Though the controls are named as stereo controls in the part the main use
case for the analogue inputs to the WM5102 is mono. Reflect this in the
controls exposed to userspace, providing a series of mono controls rather
than stereo ones.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:38:39 +00:00
Mark Brown
346f1d4083 ASoC: wm8962: Unconditionally wait for the FLL to lock
If the FLL is being shut down we will exit early so there is no need to
check here and in fact we're checking the wrong thing anyway.

Reported-by: Graeme Gregory <gg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:38:10 +00:00
Mark Brown
a2ce64750e ASoC: wm8962: Convert to devm_input_allocate_device()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:38:02 +00:00
Fabio Estevam
5ce568329e ASoC: wm8962: Add device tree support
Add device tree support.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:36:57 +00:00
Axel Lin
ec20f2f8d3 ASoC: lm49453: Fix mask for setting mode bit in lm49453_set_dai_fmt()
The mode variable is either 0 or 1.
To update mode setting, the mask should be BIT(0) rather than BIT(1).

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Tested-by: Omair M. Abdullah <omair.m.abdullah@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:32:28 +00:00
Fabio Estevam
b50684da6c ASoC: sgtl5000: Fix maximum value for microphone gain
sgtl5000 microphone gain only has 2 bits of resolution, so maximum value is 3.

From Eric Nelson:
"We also found that for the microphones we have here (commodity PC boom mics) a
default value of 2 for the gain gives the best results."

So change the default microphone gain as well.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24 15:31:25 +00:00
Axel Lin
2a5f431592 ASoC: wm2200: Fix setting dai format in wm2200_set_fmt
According to the defines in wm2200.h:
/*
 * R1284 (0x504) - Audio IF 1_5
 */

We should not left shift 1 bit for fmt_val when setting dai format.

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-21 09:32:20 +00:00
Axel Lin
ad1937cdd5 ASoC: sta529: Fix update register bits in sta529_set_dai_fmt
Both the mask and mode settings are wrong in current code.

According to the datasheet:

S2PCFG0 (0x0A)
BIT[3:1] DATA_FORMAT
        serial interface protocol format:
        000: left Justified
        001: I2S (default)
        010: right justified
        100: PCM no delay
        101: PCM delay
        111: DSP

Thus fixes the defines for LEFT_J_DATA_FORMAT, I2S_DATA_FORMAT, and
RIGHT_J_DATA_FORMAT.
Also adds define for DATA_FORMAT_MSK.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Rajeev Kumar <rajeev-dlh.kumar@st.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-12-20 16:01:26 +00:00
Mark Brown
8246b5b03e Merge remote-tracking branch 'asoc/topic/tpa6130a2' into asoc-next 2012-12-15 23:56:46 +09:00
Mark Brown
20694ad278 Merge remote-tracking branch 'asoc/topic/cs42l73' into asoc-next 2012-12-15 23:56:44 +09:00
Mark Brown
82441fffc8 Merge remote-tracking branch 'asoc/fix/sigmadsp' into asoc-next 2012-12-15 23:56:41 +09:00
Paul Handrigan
7f3dd4a8e3 ASoC: cs42l73: Change VSPIN/VSPOUT to VSPINOUT
Since VSP only has one power bit, only provide one DAPM widget.

Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-10 12:26:46 +09:00
Paul Handrigan
41df0829ce ASoC: cs42l73: Add DAPM events for power down.
Add power down delays between setting PDN and MCLKDIS for spk amp, spklo amp, and ear amp.

Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-10 12:26:46 +09:00
Paul Handrigan
a1ad500e36 ASoC: cs42l73: Add DMIC's as DAPM inputs.
Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-10 12:26:44 +09:00
Lars-Peter Clausen
a3adb1432d ASoC: sigmadsp: Fix endianness conversion issue
The 'addr' field of the sigma_action struct is stored as big endian in the
firmware file.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-12-10 12:20:39 +09:00
Bill Pemberton
7a79e94e97 ASoC: codecs: remove __dev* attributes
CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-10 00:31:51 +09:00
Bill Pemberton
05c4c6f707 ASoC: twl4030: remove __dev* attributes
CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-10 00:30:59 +09:00
Bill Pemberton
bd479f6f5f ASoC: lm49453: remove __dev* attributes
CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-10 00:30:48 +09:00
Bill Pemberton
c88f3de855 ASoC: isabelle: remove __dev* attributes
CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-10 00:30:44 +09:00
Mark Brown
b022aba588 Merge remote-tracking branch 'asoc/topic/wm9090' into asoc-next 2012-12-10 00:22:39 +09:00
Mark Brown
7136b6059f Merge remote-tracking branch 'asoc/topic/wm9081' into asoc-next 2012-12-10 00:22:38 +09:00
Mark Brown
de7a8a88e1 Merge remote-tracking branch 'asoc/topic/wm8995' into asoc-next 2012-12-10 00:22:38 +09:00
Mark Brown
06f1c66324 Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-next 2012-12-10 00:22:37 +09:00
Mark Brown
6f5716a214 Merge remote-tracking branch 'asoc/topic/wm8993' into asoc-next 2012-12-10 00:22:36 +09:00
Mark Brown
58f4f795b4 Merge remote-tracking branch 'asoc/topic/wm8988' into asoc-next 2012-12-10 00:22:36 +09:00
Mark Brown
fa5236985b Merge remote-tracking branch 'asoc/topic/wm8985' into asoc-next 2012-12-10 00:22:35 +09:00
Mark Brown
e00457d2e0 Merge remote-tracking branch 'asoc/topic/wm8978' into asoc-next 2012-12-10 00:22:34 +09:00
Mark Brown
6d8ffb7f39 Merge remote-tracking branch 'asoc/topic/wm8971' into asoc-next 2012-12-10 00:22:33 +09:00
Mark Brown
86a942773d Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next 2012-12-10 00:22:32 +09:00
Mark Brown
e7d28c8ca4 Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-next 2012-12-10 00:22:32 +09:00
Mark Brown
7a7f9875d9 Merge remote-tracking branch 'asoc/topic/wm8955' into asoc-next 2012-12-10 00:22:31 +09:00
Mark Brown
f443a29db9 Merge remote-tracking branch 'asoc/topic/wm8804' into asoc-next 2012-12-10 00:22:31 +09:00
Mark Brown
048742991b Merge remote-tracking branch 'asoc/topic/wm8770' into asoc-next 2012-12-10 00:22:30 +09:00
Mark Brown
95dd6d9066 Merge remote-tracking branch 'asoc/topic/wm8753' into asoc-next 2012-12-10 00:22:29 +09:00
Mark Brown
1310062888 Merge remote-tracking branch 'asoc/topic/wm8750' into asoc-next 2012-12-10 00:22:28 +09:00
Mark Brown
59b4cd42f2 Merge remote-tracking branch 'asoc/topic/wm8741' into asoc-next 2012-12-10 00:22:28 +09:00
Mark Brown
753ad46e86 Merge remote-tracking branch 'asoc/topic/wm8510' into asoc-next 2012-12-10 00:22:27 +09:00
Mark Brown
65c62837a7 Merge remote-tracking branch 'asoc/topic/wm8400' into asoc-next 2012-12-10 00:22:26 +09:00
Mark Brown
47f07b77f2 Merge remote-tracking branch 'asoc/topic/wm8350' into asoc-next 2012-12-10 00:22:26 +09:00
Mark Brown
719454d213 Merge remote-tracking branch 'asoc/topic/wm2200' into asoc-next 2012-12-10 00:22:24 +09:00
Mark Brown
ac92f11294 Merge remote-tracking branch 'asoc/topic/wm2000' into asoc-next 2012-12-10 00:22:23 +09:00
Mark Brown
0b0ddfa57c Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next 2012-12-10 00:22:22 +09:00
Mark Brown
c0324fb3a1 Merge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-next 2012-12-10 00:22:20 +09:00
Mark Brown
2ca5e86c4c Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next 2012-12-10 00:22:19 +09:00
Mark Brown
a50345152e Merge remote-tracking branch 'asoc/topic/rt5631' into asoc-next 2012-12-10 00:22:17 +09:00
Mark Brown
473e8b323c Merge remote-tracking branch 'asoc/topic/max98090' into asoc-next 2012-12-10 00:22:15 +09:00
Mark Brown
29998eb618 Merge remote-tracking branch 'asoc/topic/max9768' into asoc-next 2012-12-10 00:22:15 +09:00
Mark Brown
edbe08adea Merge remote-tracking branch 'asoc/topic/lm49453' into asoc-next 2012-12-10 00:22:13 +09:00
Mark Brown
18620cc586 Merge remote-tracking branch 'asoc/topic/jz4740' into asoc-next 2012-12-10 00:22:12 +09:00
Mark Brown
8df6bf1c58 Merge remote-tracking branch 'asoc/topic/hotplug' into asoc-next 2012-12-10 00:22:10 +09:00
Mark Brown
57769541b4 Merge remote-tracking branch 'asoc/topic/da9055' into asoc-next 2012-12-10 00:22:06 +09:00
Mark Brown
ac0d9c9001 Merge remote-tracking branch 'asoc/topic/da7210' into asoc-next 2012-12-10 00:22:05 +09:00
Mark Brown
f20eca1c06 Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next 2012-12-10 00:22:04 +09:00
Mark Brown
daa5ab9e0d Merge remote-tracking branch 'asoc/topic/arizona' into asoc-next 2012-12-10 00:22:00 +09:00
Mark Brown
c006062652 Merge remote-tracking branch 'asoc/topic/ak4642' into asoc-next 2012-12-10 00:21:58 +09:00
Mark Brown
67fc455cc0 Merge remote-tracking branch 'asoc/topic/ak4535' into asoc-next 2012-12-10 00:21:58 +09:00
Mark Brown
c3b07b0773 Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-next 2012-12-10 00:21:56 +09:00
Mark Brown
4e5a4b128a Merge remote-tracking branch 'asoc/topic/adsp' into asoc-next 2012-12-10 00:21:45 +09:00
Mark Brown
deb6779fc5 Merge remote-tracking branch 'asoc/topic/ab8500' into asoc-next 2012-12-10 00:21:42 +09:00
Sachin Kamat
d06080cf08 ASoC: tpa6130a2: Use devm_* APIs
Converted to use devm_gpio_request and devm_regulator_get APIs.
These are device managed and make error handling and cleanup
a bit simpler.

Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-10 00:17:34 +09:00
Mark Brown
a1abfa86d0 ASoC: wm5110: Enable volume ramp control
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-09 12:50:05 +09:00
Mark Brown
dfc075cb66 ASoC: wm5102: Enable volume ramp control
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-09 12:35:01 +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
8afd0ef263 ASoC: wm8994: Fix variable double use
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-07 17:14:04 +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
d4d1eaaca0 ASoC: wm5110: Add LHPF coefficient configuration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06 00:29:39 +09:00
Mark Brown
56fd4608ed ASoC: wm5110: Add EQ coefficient configuration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06 00:29:31 +09:00
Mark Brown
2aeffd406e ASoC: wm5102: Make EQ coefficents configurable
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-06 00:29:15 +09:00
Sachin Kamat
ff7dc6af13 ASoC: da7210: Remove unnecessary regmap_exit call
Use of devm_regmap_init_spi does not require an explicit
regmap_exit call.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 17:24:51 +09:00
Mark Brown
98869f68f2 ASoC: wm8994: Allow microphone identification callback to be overridden
Allow custom accessory identification mechanisms to make use of the MICDET
support in the device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 16:35:00 +09:00
Mark Brown
e874de436f ASoC: wm8994: Check jack is inserted when handling mic IRQ
If we've got jack detection support then check that the jack is still
inserted when handling a mic IRQ in order to avoid transient reports
caused by shorts during the removal process as the two interrupts race
with each other.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 16:34:26 +09:00
Mark Brown
63dd54521f ASoC: wm8994: Support custom accessory identification for WM1811A
Allow the user to override the accessory identification code with their
own implementation if the system provides an alternative method.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 16:34:12 +09:00
Mark Brown
78b76dbec8 ASoC: wm8994: Simplify button detection code
Currently the WM8994 driver allows the WM8958 microphone detection code to
be replaced in its entirety, providing a default implementation. This
doesn't actually reflect the needs of users well. They generally wish to
replace only the accessory identification parts of the algorithm (eg,
using an external GPIO to provide the equivalent of the JACKDET support in
the WM1811A).

In preparation for supporting these users better refactor the existing code
so that we have separate identification and button detection callbacks,
selecting between them rather than using the mic_detecting flag in the
existing callback. This also simplifies the code by introducing a more
explicit state machine for the detecting and button states.

In anticipation of future refactoring the callback is left in the signature
for wm8958_mic_detect(), it will be removed at a later stage.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 16:34:09 +09:00
Mark Brown
f02b0de0f0 ASoC: wm8994: Stop mic detection whenever we detect an open circuit
Jack detection will not do anything to help us detect a microphone when
there is a fault in the cable and the debounce we have is enough to avoid
getting an intermediate result so halt microphone detection when we detect
that one is not present.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 16:34:06 +09:00
Mark Brown
f055c8f0fe ASoC: wm5102: Add support for configuring LHPF coefficients
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 14:41:04 +09:00
Mark Brown
dd49e2c8b9 ASoC: adsp: Set DSP clock rate to SYSCLK rate
For simplicity always run the DSP at the SYSCLK rate.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:09:23 +09:00
Mark Brown
10a2b662c4 ASoC: adsp: Keep ADSP2 memory powered off when not in use
Turn off the ADSP memory when we aren't using it, saving a small amount of
power.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:09:20 +09:00
Mark Brown
e436cadd65 ASoC: wm5102: Correct base address for Y region
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:23:47 +09:00
Sachin Kamat
c5e6f5fa0a ASoC: wm8960: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler. There was no explicit
regmap_exit call in this function which was probably a bug.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:09:51 +09:00
Sachin Kamat
385b27f55c ASoC: wm8955: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:09:09 +09:00
Sachin Kamat
8f255e7ba3 ASoC: max9768: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:08:32 +09:00
Sachin Kamat
ad2c175b8d ASoC: wm8978: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:07:28 +09:00
Sachin Kamat
b439c6d0d1 ASoC: wm8962: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:06:44 +09:00
Sachin Kamat
6dff9b3b05 ASoC: wm8993: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:05:30 +09:00
Sachin Kamat
a5710c0135 ASoC: wm9081: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:04:39 +09:00
Sachin Kamat
be7eaf53fd ASoC: wm9090: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:03:37 +09:00
Daniel Mack
b8455c9f6f ASoC: cs4271: fix property check
The driver had the property check for 'cirrus,amutec_eq_bmutec' the
wrong way around. That happens if you misspell the property in the
bindings during tests.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:01:56 +09:00
Daniel Mack
26047e2d6b ASoC: cs4271: fix sparse warning
Make the flag in the pdata of type bool to fix a sparse warning.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-02 13:01:51 +09:00
Mark Brown
25c6fdb040 ASoC: arizona: Add parentheses
Some compiler versions complain.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-29 15:18:29 +00:00
Mark Brown
a7f9be7ec5 ASoC: wm_adsp: Set the core enable as well as start bit for ADSP2
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 20:29:20 +00:00
Sachin Kamat
f55ec27f48 ASoC: wm2200: Remove empty labels
Removed unnecessary labels probably left out of some previous cleanup.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 19:19:23 +00:00
Mark Brown
cac27cff06 ASoC: wm5102: Enable DVFS support for the DSP
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:46:12 +00:00
Mark Brown
0644128556 Merge branch 'topic/adsp' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-arizona 2012-11-28 17:45:57 +00:00
Sachin Kamat
2fadf6a861 ASoC: lm49453: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:44:34 +00:00
Sachin Kamat
4e75955d8f ASoC: da7210: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:43:02 +00:00
Sachin Kamat
77d19b10a4 ASoC: ak4535: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:41:54 +00:00
Sachin Kamat
877fa971fb ASoC: wm8993: Use devm_regulator_bulk_get
devm_regulator_bulk_get() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:40:49 +00:00
Sachin Kamat
95a5b240e4 ASoC: wm8400: Use devm_regulator_bulk_get
devm_regulator_bulk_get() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:39:59 +00:00
Sachin Kamat
92437cbb1b ASoC: wm8962: Use devm_regulator_bulk_get
devm_regulator_bulk_get() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:39:13 +00:00
Sachin Kamat
5851e9b89d ASoC: wm8350: Use devm_regulator_bulk_get
devm_regulator_bulk_get() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 17:38:26 +00:00
Mark Brown
973838a030 ASoC: wm_adsp: Enable DVFS for ADSP2
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>
2012-11-28 17:36:23 +00:00
Mark Brown
72222be39a ASoC: wm8994: Use the same DCS codes for all WM1811 variants
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-11-28 13:47:32 +00:00
Mark Brown
2f76e6855f ASoC: wm5110: Implement haptics support
Provide a haptics widget for use by the haptics driver and expose the DAPM
context for it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 13:44:00 +00:00
Mark Brown
3f41e3d2e8 ASoC: wm5102: Implement haptics support
Provide a haptics widget for use by the haptics driver and expose the DAPM
context for it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-28 13:43:57 +00: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
5b94e18167 Linux 3.7-rc7
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJQss0FAAoJEHm+PkMAQRiG6cEH/An3PYsWBBy27tzoLyVfJKF1
 3m3vR8HS2tnHg6erxms+738jos59vrWXV0Ygnvw0DHbGR0HNb4rkwce/KXu/jgOD
 MRYNYhlhMFJTEUFrSrcwKITrAV3kVPWXxPXgAR6Gzpr6NPKKM9TBzEv0ze56TFYz
 asOxqeBcPSS7aFZlkoNsy1wG4l0Quo5ke8VZIxo9Me5qlqubAoZ6pING4wAGXqeE
 tf81CevSdpe0nqr8/dlYyCvLjrurgpJQczxRCBI3mP6kLWGfUCVzZmcu86PfT9b+
 35zNJwDneIoN+D9bVDHy6mrq9uQdmhWnQuhv1joTPn6RDn1nyBRBd+A5qLxSov4=
 =CPoy
 -----END PGP SIGNATURE-----

Merge tag 'v3.7-rc7' into asoc-wm2200

Linux 3.7-rc7
2012-11-27 20:02:45 +00:00
Mark Brown
5d910966d2 ASoC: wm0010: Ignore interrupts in power down mode
The device should not be generating interrupts when it does not have power
so ignore incoming interrupts.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:31:31 +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
ba6b047ab9 ASoC: wm5102: Add missing routes for ASRC inputs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 19:30:25 +00:00
Mark Brown
a5ccea2224 ASoC: wm2000: Get the CODEC pointer from the widget
Don't rely on the kcontrol for robustness reasons, the widget mechanism
is what the framework uses.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-27 10:46:13 +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
Mark Brown
d9dd4ada0e ASoC: wm8994: Use pdata cached in MFD driver
This is better style and facilitates implementation of device tree support
for the driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-24 00:15:08 +09:00
Tushar Behera
a273cd13a5 ASoC: ak4104: Convert to use devm_regmap_init_spi()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-24 00:09:07 +09:00
Daniel Mack
385a4c2e28 ASoC: ak4104: add reset line property to DT bindings
This device doesn't have a pdata definition for legacy boards, and
unless anyone need to control the reset GPIO, it's not worth adding one.
So this feature is only available to DT users for now.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-24 00:09:03 +09:00
Tushar Behera
28517f5cf6 ASoC: wm8988: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:36:37 +09:00
Tushar Behera
f911fa829d ASoC: wm8985: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:36:26 +09:00
Tushar Behera
9bb6e95ec7 ASoC: wm8804: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:36:11 +09:00
Tushar Behera
d2d1fe9028 ASoC: wm8995: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:35:53 +09:00
Tushar Behera
eb781f7800 ASoC: wm8753: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:35:10 +09:00
Tushar Behera
fd64c45560 ASoC: wm8741: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:34:53 +09:00
Tushar Behera
d5ff3c8a51 ASoC: wm8995: Convert to use devm_kzalloc()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:32:31 +09:00
Tushar Behera
ada7efe239 ASoC: wm8753: remove invalid free of devm_ allocated data
Fixes following warning.
sound/soc/codecs/wm8753.c:1594:1-6: WARNING: invalid free of devm_ allocated data

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:31:44 +09:00
Tushar Behera
9a58dc2268 ASoC: wm8510: remove invalid free of devm_ allocated data
Fixes following warning.
sound/soc/codecs/wm8510.c:614:1-6: WARNING: invalid free of devm_ allocated data

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 23:28:45 +09:00
Scott Ling
68e1969ea7 ASoC: wm0010: Add checking for .dfw info record version.
The info record at the start of the dsp firmware file has been
expanded to incorporate additional version information. We need
to check the version to make sure we understand the layout of
the information in the record. The srec2image tool is currently
used to create this record during creation of the .dfw file.

Signed-off-by: Scott Ling <sl@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-23 21:44:15 +09:00
Mark Brown
cd22000ade ASoC: wm8994: Lower AIFnCLK divisor when dropping to 32kHz
When lowering SYSCLK to 50kHz for accessory detection also lower the
AIFnCLK divisor to normalise the clocking configuration within the
device. This will not disrupt audio as we cannot support active audio
with such a low SYSCLK.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-22 17:36:30 +09:00
Dimitris Papastamos
631fcab2ea ASoC: wm0010: Up the completion timeout to 20ms instead of 10ms
Increase timeout to be more reliable and avoid the chance of
missing interrupts during boot.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-21 19:52:33 +09:00
Kuninori Morimoto
83f7cbc43b ASoC: Add max98090 codec driver
This patch adds the max98090 codec prototype driver.
It supports Headphone only at this point.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-21 13:31:29 +09:00
Kuninori Morimoto
2f391251c6 ASoC: ak4642: cleanup struct ak4642_priv
This patch removed struct ak4642_priv which had
meaningless variable.
It is no longer needed

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-21 13:26:09 +09:00
Mark Brown
a6366c519c Merge branches 'fix/arizona', 'fix/cs4271', 'fix/kirkwood' and 'fix/samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into tmp 2012-11-21 11:41:15 +09:00
Dimitris Papastamos
4cbc365509 ASoC: wm5102: Register DSP1 Aux widgets
It seems WM_ADSP2("DSP1", 0) is added twice to the widgets list, remove
that and in place use ARIZONA_DSP_WIDGETS(DSP1, "DSP1").

We need to make sure that the DSP1 Aux widgets are provided otherwise
we'll see errors such as "Failed to add route DSP1 Aux 1 -> DSP1" etc.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-21 10:32:00 +09:00
Mark Brown
9ce6565faa ASoC: wm5102: Remove output OSR and PGA volume control
These are managed automatically in current revisions.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-20 17:34:31 +09:00
Bill Pemberton
6939565fa5 ASoC: max98088: remove use of __devexit_p
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
needed, remove it.

Also fix the indentation for the initialization of the
max98088_i2c_driver struct to make chkpatch happy.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-20 15:24:11 +09:00
Bill Pemberton
f6e6574499 ASoC: remove use of __devinitconst
CONFIG_HOTPLUG is going away as an option so __devinitconst is no
longer needed.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-20 10:58:34 +09:00
Mark Brown
80da549e52 Linux 3.7-rc6
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJQpuujAAoJEHm+PkMAQRiG57gIAJAETX7smg5arajbgo+qO2Y8
 l9sEwacwYSiLT9niiYFK17NeaBkJDN3iU6gkbHGkfyvjFcqIC89aCtVdfdfBiSja
 j460qu4cJ/K0/LEo5JR+GCu9YDdITlsCrfhjCXGBysUYI+nT13A9xW8wuNgxKBBu
 qNcbMaWCz4q4qoqGjyu1DJZV85z/7bpotMf2k+ZpZrCZZRVzlu+ZfeFijn7FGnzO
 qS3v4T5/ARHvM8FnBMfbiFjR4ANpRgTvcZOIar+GZlmMNH48YShieZ2SM5w0sj7j
 UPU5+oV96HRabDeFIo61qSvXJluU7V8FfpyJxNx0cuTgtuUDR++OiJ2VM1XQUbg=
 =mpVh
 -----END PGP SIGNATURE-----

Merge tag 'v3.7-rc6' into asoc-wm2200

Linux 3.7-rc6
2012-11-19 17:02:14 +09:00
Mark Brown
24a118de11 Linux 3.7-rc6
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJQpuujAAoJEHm+PkMAQRiG57gIAJAETX7smg5arajbgo+qO2Y8
 l9sEwacwYSiLT9niiYFK17NeaBkJDN3iU6gkbHGkfyvjFcqIC89aCtVdfdfBiSja
 j460qu4cJ/K0/LEo5JR+GCu9YDdITlsCrfhjCXGBysUYI+nT13A9xW8wuNgxKBBu
 qNcbMaWCz4q4qoqGjyu1DJZV85z/7bpotMf2k+ZpZrCZZRVzlu+ZfeFijn7FGnzO
 qS3v4T5/ARHvM8FnBMfbiFjR4ANpRgTvcZOIar+GZlmMNH48YShieZ2SM5w0sj7j
 UPU5+oV96HRabDeFIo61qSvXJluU7V8FfpyJxNx0cuTgtuUDR++OiJ2VM1XQUbg=
 =mpVh
 -----END PGP SIGNATURE-----

Merge tag 'v3.7-rc6' into asoc-arizona

Linux 3.7-rc6

Conflicts:
	sound/soc/codecs/wm5102.c
2012-11-19 15:43:50 +09:00
Sachin Kamat
2525808ee8 ASoC: rt5631: Fix return value
Return the value obtained from get_coeff() instead of EINVAL.
Silences a smatch warning.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-19 15:21:20 +09:00
Eric Millbrandt
978545e7b1 ASoC: wm8978: Remove remuxing of GPIO1 pin
Remove remuxing GPIO1.  Leave control of this up to the platform device.

Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-16 09:41:55 +09: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
c3f6817126 ASoC: ab8500: Staticise non-exported ab85000_codec_dai
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-14 18:59:07 +09:00
Charles Keepax
5886c74379 ASoC: wm5110: Remove mixer widgets on the ASRC
There is no mixer attached to the ASRC on the wm5110 only a multiplexer
to select the source for the single input line. This change correctly
defines this in the wm5110 CODEC driver.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-14 10:32:29 +09:00
Charles Keepax
0f3ec6a935 ASoC: wm5102: Remove mixer widgets on the ASRC
There is no mixer attached to the ASRC on the wm5102 only a multiplexer
to select the source for the single input line. This change correctly
defines this in the wm5102 CODEC driver.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-14 10:32:29 +09:00
Charles Keepax
17bd09e545 ASoC: arizona: Add support for multiplexer with no associated mixer
The Asynchronous Sample Rate Converters on the wm5102/wm5110 have no
mixer attached to their input, but they do allow the input to be
selected from a number of sources via a multiplexer. Currently the
platform assumes the presence of 4 multiplexers and a mixer for each
block.

This patch adds support multiplexed single input blocks into the Arizona
platform.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-14 10:32:29 +09:00
Daniel Mack
5574f77454 ASoC: cs4271: free allocated GPIO
In case of probe deferral, the allocated GPIO line is not freed, which
prevents it from being claimed and properly asserted in later attempts.

Fix this by using devm_gpio_request().

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Michael Hirsch <hirsch@teufel.de>
Cc: Alexander Sverdlin <subaparts@yandex.ru>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-13 15:45:35 +09:00
Mark Brown
ba027da8eb Merge branches 'fix/arizona', 'fix/core', 'fix/cs42l52', 'fix/mxs', 'fix/samsung' and 'fix/wm8978' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into tmp 2012-11-13 15:13:29 +09:00
Scott Ling
3f5475df37 ASoC: wm0010: Split out the stage2 load from the boot function
Signed-off-by: Scott Ling <sl@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-09 11:44:31 +00:00
Scott Ling
8f7d52affe ASoC: wm0010: Split out the firmware file parsing from the boot
Move the firmware load and record parsing functionality out into
a separate function from the boot function.

Signed-off-by: Scott Ling <sl@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-09 11:44:31 +00:00
Wei Yongjun
5c855c8e2b ASoC: cs42l52: fix the return value of cs42l52_set_fmt()
Fix the return value of cs42l52_set_fmt() when clock inversion is
not allowed and also remove the useless variable ret.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

[We had been assigning to ret but then ignoring the value we assgined
-- broonie]

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-11-07 15:50:06 +01:00
Eric Millbrandt
55c6f4cb6e ASoC: wm8978: pll incorrectly configured when codec is master
When MCLK is supplied externally and BCLK and LRC are configured as outputs
(codec is master), the PLL values are only calculated correctly on the first
transmission.  On subsequent transmissions, at differenct sample rates, the
wrong PLL values are used.  Test for f_opclk instead of f_pllout to determine
if the PLL values are needed.

Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-11-06 09:37:35 +01:00
Scott Ling
f9baa0ccb2 ASoC: wm0010: Remove boot_done variable as no longer required.
Remove the boot_done counter variable and check the wm0010 state
variable instead.

Signed-off-by: Scott Ling <scott.ling@wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-06 09:19:15 +01:00
Masanari Iida
ec8f53fb69 ALSA: Fix typo in drivers sound
Correct spelling typo in debug messages within drivers/sound

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-11-04 09:20:58 +01:00
Javier Martin
1858fe97c8 ASoC: tlv320aic32x4: Add rstn gpio to platform data.
Add the possibility to specify a gpio through platform data
so that a HW reset can be issued to the codec.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-01 14:35:56 +00:00
Javier Martin
a405387c68 ASoC: tlv320aic32x4: Fix problem with first capture.
In its previous status, the first capture didn't work properly;
nothing was actually recorded from the microphone. This
behaviour was observed using a Visstrim M10 board.

In order to solve this BUG a workaround has been added that,
during the initialization process of the codec, powers on and
off the ADC.

The issue seems related to a HW BUG or some behavior that
is not documented in the datasheet.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-01 14:35:56 +00:00
Mark Brown
fe81ad1c2d ASoC: wm5102: Write register value corrections after SYSCLK is enabled
Evalation of the WM5102 has identified a number of register values which
should be written after SYSCLK is enabled on revision A in order to
improve performance.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-30 11:51:46 +00:00
Mark Brown
f017eb299c ASoC: wm2200: Convert over to wm_adsp for ADSP1 support
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-28 17:58:27 +00:00
Mark Brown
5a0fbc6d9c Merge branch 'topic/adsp' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-wm2200 2012-10-28 17:57:17 +00:00
Mark Brown
804f5ba7e8 ASoC: wm5102: Hook up DSP1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-28 17:47:41 +00:00
Mark Brown
0b09df6652 ASoC: arizona: Define standard hookup for ADSP2
Many Arizona class devices contain ADSP2 cores with a standard method for
hooking them into the audio map. Define standard helpers for this.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-28 17:47:40 +00:00
Mark Brown
95b5fa1a3c Merge branch 'topic/adsp' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-arizona 2012-10-28 17:47:25 +00:00
Mark Brown
2159ad936b ASoC: adsp: Add ADSP base support
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>
2012-10-28 17:38:15 +00:00
Lars-Peter Clausen
dd1b18abca ASoC: jz4740-codec: Use regmap
Use regmap-mmio instead of open-coding caching and register accessors.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-27 21:31:42 +01:00
Lars-Peter Clausen
355d74b59c ASoC: jz4740-codec: Use devm_request_and_ioremap
Use devm_request_and_ioremap for requesting and mapping the IO region. This
makes the code a bit smaller and simpler.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-27 21:31:42 +01:00
Lars-Peter Clausen
a484a9a338 ASoC: jz4740-codec: Add dB information
Add dB TLV ranges for the various volume controls.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-27 21:31:42 +01:00
Charles Keepax
2a0db30765 ASoC: wm5102: Correct micbias DAPM supplies
ARIZONA_MICB1_ENA_SHIFT was used for micbias 2 and 3. This change
correctly uses the ARIZONA_MICBX_ENA_SHIFT for each corresponding DAPM
supply. This should not have caused any problems as the micbias enables
are in the same place in each register.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-25 17:20:50 +01:00
Mark Brown
79748cdb39 ASoC: wm8994: Only enable extra BCLK cycles when required
Rather than always assuming the maximum possible BCLK rate will be
required generate BCLKs for stereo if either one or two channels is
enabled. In order to support this we also need to ensure that only
the relevant channels are enabled.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-24 13:24:29 +01:00
Mark Brown
6730049a47 ASoC: wm8994: Lower AIFnCLK divisor when dropping to 32kHz
When lowering SYSCLK to 50kHz for accessory detection also lower the
AIFnCLK divisor to normalise the clocking configuration within the
device. This will not disrupt audio as we cannot support active audio
with such a low SYSCLK.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-24 10:58:01 +01:00
Randy Dunlap
8858086f35 ASoC: fix wm2200.c printk format warnings
Fix wm2200.c printk format warnings (seen on x86_64):

sound/soc/codecs/wm2200.c:1027:4: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'
sound/soc/codecs/wm2200.c:1139:5: warning: format '%d' expects type 'int', but argument 5 has type 'long unsigned int'
sound/soc/codecs/wm2200.c:1181:2: warning: format '%d' expects type 'int', but argument 7 has type 'size_t'
sound/soc/codecs/wm2200.c:1201:5: warning: format '%x' expects type 'unsigned int', but argument 3 has type 'long unsigned int'
sound/soc/codecs/wm2200.c:1264:4: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'
sound/soc/codecs/wm2200.c:1328:5: warning: format '%d' expects type 'int', but argument 5 has type 'long unsigned int'

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-22 14:40:02 +01:00
Ashish Chavan
5619d76dcb ASoC: da9055: DAPMise Headphone and Lineout enable controls
This patch DAPMises headphone and lineout output enable controls.

Earlier these output enable bits were permanently turned on in probe.
In da9055 codec, right outmixer is directly connected with right HP and
Line out. This resulted in two side effects,

(1) When you only want to use lineout, right HP (and connected charge
pump) also gets enabled

(2) When you only want to use stereo HP, lineout also gets enabled

This patch adds three switches to select which output(s) should be
enabled.

Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com>
Signed-off-by: David Dajun Chen <david.chen@diasemi.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-17 22:57:43 +09:00
Takashi Iwai
c95d947f1f ASoC: Fixes for v3.7
Nothing too exciting except for the ams-delta change which is relatively
 lerge due to the fact that the driver loading had been totally broken as
 the driver needed a newer API to function.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQfoIaAAoJELSic+t+oim9uWcP/jZDrx8YlG1zjDqTiZ3jSL4Q
 K+s2992epyA6CgqagpcReyofExEGIitQ0rArT6++ViTAISnysZ9wFS/GbGsFDd5j
 b0m2zZMJFNhnLOD83djYeubSdP17d9WAfI7CbPzn4skSBFx8WIjt7Ti9++eHqrMd
 gxhHBRmNSAsa5FiA69Acf1BW0HgaW8JyzPMOEz5d5BRhoJ233z3GJ6UUawxQ2c4l
 cbSt66Bs19gOkiIiPbqEDRs6JBalJnbxAjDqkwsFZU1Lq/1fUJ3CsZ/TsR/rkaY0
 RL+32So1CpMqmFKNSJ26Tqwzi7xGkGeTW/o/nYGhvloITKx1jbdHOOA+BfAGDagW
 Rc/CY2HbG5o+2rrPDWs4aM7xwh56UIoftww500Oeq+4+Pu+rmEpxuvu2ewjqcLv3
 MZia9mDTXiOg7ETCLDweCLh3JRrAJZqSkyAkTtTmcx7GPiCa2lu8ns3F1+vA6CGR
 jOx3SoX7KDfh99xZOR2AdpsPqce3VqVx4EnQ9zrDiGKik9QGwp37e7KaeUPCMAVP
 Y4XcmIx94KKUjyBO2wZgTuXjPHZcZWtCSUdhxrb1Ohf/2IQpFf8jic1nknCA5k/M
 77BNhmijxha2zfVBvglLTUKJLa2eExxM53m71rjrrF31f4jpwUX+VjAgVP5thXDG
 4mFnuX+KN6sWumFFY1X1
 =lEIC
 -----END PGP SIGNATURE-----

Merge tag 'asoc-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v3.7

Nothing too exciting except for the ams-delta change which is relatively
lerge due to the fact that the driver loading had been totally broken as
the driver needed a newer API to function.
2012-10-17 14:09:15 +02:00
Mark Brown
9874482985 ASoC: wm2200: Add names for ranges
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 13:00:06 +09:00
Mark Brown
2570a3719c regmap: Range API changes
A bunch of updates to the regmap range support, the most important ones
 being to rename "n_ranges" to "num_ranges" for consistency and to allow
 block writes to cross page boundaries, making things more transparent.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQe2BbAAoJELSic+t+oim9DbQQAJpRdFGQ0yGU6PooFr29e4qo
 GS0evdefnEgSeXIU/0cI9k36/dZ8IhKcfv1ccdzhWTbp7dDc6q1WVokz8/NHYz0t
 TP1tNiSA8Hkov1u39QS64WH75QHmMfBIHgBaooJxA3irVhb1+XBmvu4y4Tw7jBP2
 TSvebCySYe5ErHqbEmtbmlaxvaloBYG4LiqjVxYn8R8jwt8hvVlT39iBeMuw+veB
 N4mozGuUxizxRYxU6zlZRcKuPMGk/Gseh1NUK0nLLSxAmv6MTOD1c5BXXX5jlDJA
 1YsrX7TPgdWnS3hpY/YErGJtJyO+1WnVQ9mYL2f4sjjKa+Wge5VMLAmjldi9nQ3S
 9SufXQvgnuPwwGBRa7+qYYF8GOwoj+JNpdUnz3VU3svYhGnioZkXVs/bTHcGl7KD
 Ayc1C4mGJEQsdOKVMRhglYNdWWyfvmC2NsL89VtTlSUaNcrwjm5wIXsw6fmu/RWK
 pzDtBy/Zz/7Og0F6m1JjBMe/qCitGooPimgKSZtuRfJFqLrHU/5VDzn4dCj+Kh2V
 mJdvmSXroNo9U5m9Be5Eps2yi/oXyhlInm7EpNQGZTufQSLgO8hFYG/7QNRzKFBx
 EelxMO9jT68Tezt8t5NF61oMJQ3tuYbNsQAjFdLvFdDAXiBl6WIwhV2xUrgy/mAW
 IPaj9ZhSadKMAYMYtXMU
 =Cdf2
 -----END PGP SIGNATURE-----

Merge tag 'regmap/range' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-wm2200

regmap: Range API changes

A bunch of updates to the regmap range support, the most important ones
being to rename "n_ranges" to "num_ranges" for consistency and to allow
block writes to cross page boundaries, making things more transparent.
2012-10-15 12:57:42 +09:00
Mark Brown
0ffecd7d86 ASoC: wm8958: Load firmwares simultaneously
As of commit 99c2aa (firmware loader: fix creation failure of fw loader
device) we can have more than one firmware request outstanding at once so
there is no need to daisychain our requests any more.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:51:33 +09:00
Mark Brown
f95be9d616 ASoC: wm8994: Tune VMID power down sequence
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:51:33 +09:00
Mark Brown
a3a1d9d21d ASoC: wm8994: Tune VMID power up sequence
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:51:32 +09:00
Mark Brown
c0cc3f1665 ASoC: wm8994: Allow a delay between jack insertion and microphone detect
This can be used to provide some additional settling time to ensure that
we don't start microphone detection while the microphone pin is connected
to one of the headphone pins.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:51:32 +09:00
Mark Brown
bc7f610fee ASoC: wm8971: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:50:40 +09:00
Mark Brown
c6300bb83f ASoC: wm8770: Conver to table based DAPM and control init
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:49:41 +09:00
Mark Brown
f81ad9421a ASoC: wm8770: Remove regulator allocation to SPI probe
This is more idiomatic and ensures we don't try to do the ASoC card setup
until we've got all the required resources.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:49:41 +09:00
Mark Brown
c16a742891 ASoC: wm8770: Remove unneeded bias level manipulation
Since the device is now idle_bias_off these never have any useful effect,
the device will be brought to _OFF when idle, and will at best leave it
powered for longer.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:49:40 +09:00
Mark Brown
dc43b04671 ASoC: wm8770: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:49:40 +09:00
Mark Brown
ed79edac0d ASoC: wm8750: Convert to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:48:24 +09:00
Andrey Smirnov
330345ebdb Add a codec driver for SI476X MFD
This commit add a sound codec driver for Silicon Laboratories 476x
series of AM/FM radio chips.

Signed-off-by: Andrey Smirnov <andrey.smirnov@convergeddevices.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 11:32:18 +09:00
Ashish Chavan
5e82aaa751 ASoC: da9055: Add support for DSP mode of AIF
This patch adds AIF DSP mode support for da9055 codec driver.

Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com>
Signed-off-by: David Dajun Chen <david.chen@diasemi.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 10:09:52 +09:00
Daniel Mack
293750f9bc ASoC: cs4271: add support for AMUTEB=BMUTEC feature
The CS4271 has a feature to sync its analog mute flags, so one mute
circuitry can be used for both channels.

Give users access to this feature with a new DT property and a flag in
the platform data.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 10:08:20 +09:00
Daniel Mack
ac5dbea0d4 ASoC: ak4104: add DT bindings
Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 09:47:20 +09:00
Daniel Mack
08201deb69 ASoC: ak4104: handle more sample rates
Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-15 09:47:20 +09:00
Ashish Chavan
c7c0f2cdef ASoC: codecs: da9055: Minor improvement in ALC calibration process
This patch slightly improves ALC calibration process of da9055 codec
driver by muting Mic PGAs during calibration.

Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com>
Signed-off-by: David Dajun Chen <david.chen@diasemi.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-11 17:42:31 +09:00
Linus Torvalds
f5a246eab9 Sound updates for 3.7-rc1
This contains pretty many small commits covering fairly large range of
 files in sound/ directory.  Partly because of additional API support
 and partly because of constantly developed ASoC and ARM stuff.
 
 Some highlights:
 
 - Introduced the helper function and documentation for exposing the
   channel map via control API, as discussed in Plumbers; most of PCI
   drivers are covered, will follow more drivers later
 
 - Most of drivers have been replaced with the new PM callbacks (if
   the bus is supported)
 
 - HD-audio controller got the support of runtime PM and the support of
   D3 clock-stop.  Also changing the power_save option in sysfs kicks
   off immediately to enable / disable the power-save mode.
 
 - Another significant code change in HD-audio is the rewrite of
   firmware loading code.  Other than that, most of changes in HD-audio
   are continued cleanups and standardization for the generic auto
   parser and bug fixes (HBR, device-specific fixups), in addition to
   the support of channel-map API.
 
 - Addition of ASoC bindings for the compressed API, used by the
   mid-x86 drivers.
 
 - Lots of cleanups and API refreshes for ASoC codec drivers and
   DaVinci.
 
 - Conversion of OMAP to dmaengine.
 
 - New machine driver for Wolfson Microelectronics Bells.
 
 - New CODEC driver for Wolfson Microelectronics WM0010.
 
 - Enhancements to the ux500 and wm2000 drivers
 
 - A new driver for DA9055 and the support for regulator bypass mode.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQIcBAABAgAGBQJQcpeWAAoJEGwxgFQ9KSmkpi4P/2etDDz5aEkEHNa1l4xEmFcm
 ymiGTgjaalqpUAVbM/gYx9G59EFMEbzUl1BHAqE5La4wO/v9lNPb+VrdUo+B+NZ7
 WSxIPWcNqdinSuoSqyYPjoPMVnhs3EMtNOqmf4jm1JOvdqA+4rO29xQVAqK/5Gfu
 LpMOyPiRi5ODnbQ1BOIWwpKICioY/mLwGJudK3z0i/fYVA7gLub20f+w+sOjKIA4
 wmwQAMTjAR798Cg/tVy4fQmf4SLw+c2nIgGe/PD+2gVlGXLNKBrJfMonHPTbmwKu
 lmJO/EtnijNOnpbn6up7ryUQ9cSoZAUZOfdIOgmAeQgQ/LWR0f+zf2IQehSPwrul
 g6hqOnQI2DNN7ugT3cYVbYnsh56TjyhnxhhxZgkapqh706QkqHGyKJNMRetzuXmP
 1O//MnZJrFQWd6sOKLlTL2ZzRvnxEJcNVGaE6bbwZTfQMtPeo9l1842uIq1dLUtG
 VxZb/svKUkMXv4is1dwUYUkpDsKxsgMEmabmuovceGf2N7jj/irkXgqxf6LWkaY1
 JQ7ZFWUJyDzEMXRaFfzdGO15T532CfB84wvFX5xoPMwMste2AA7QuybFBVstXhKu
 AtKNDgRJFUTlnLIxydpPBWdWH3UJdEaFwwsSfuNKI8OmmGKhWC/aP83k4hzueu9H
 KYLvY/0ObMSMqiwh/ndQ
 =uNqD
 -----END PGP SIGNATURE-----

Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound updates from Takashi Iwai:
 "This contains pretty many small commits covering fairly large range of
  files in sound/ directory.  Partly because of additional API support
  and partly because of constantly developed ASoC and ARM stuff.

  Some highlights:

   - Introduced the helper function and documentation for exposing the
     channel map via control API, as discussed in Plumbers; most of PCI
     drivers are covered, will follow more drivers later

   - Most of drivers have been replaced with the new PM callbacks (if
     the bus is supported)

   - HD-audio controller got the support of runtime PM and the support
     of D3 clock-stop.  Also changing the power_save option in sysfs
     kicks off immediately to enable / disable the power-save mode.

   - Another significant code change in HD-audio is the rewrite of
     firmware loading code.  Other than that, most of changes in
     HD-audio are continued cleanups and standardization for the generic
     auto parser and bug fixes (HBR, device-specific fixups), in
     addition to the support of channel-map API.

   - Addition of ASoC bindings for the compressed API, used by the
     mid-x86 drivers.

   - Lots of cleanups and API refreshes for ASoC codec drivers and
     DaVinci.

   - Conversion of OMAP to dmaengine.

   - New machine driver for Wolfson Microelectronics Bells.

   - New CODEC driver for Wolfson Microelectronics WM0010.

   - Enhancements to the ux500 and wm2000 drivers

   - A new driver for DA9055 and the support for regulator bypass mode."

Fix up various arm soc header file reorg conflicts.

* tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (339 commits)
  ALSA: hda - Add new codec ALC283 ALC290 support
  ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls
  ALSA: hda - fix indices on boost volume on Conexant
  ALSA: aloop - add locking to timer access
  ALSA: hda - Fix hang caused by race during suspend.
  sound: Remove unnecessary semicolon
  ALSA: hda/realtek - Fix detection of ALC271X codec
  ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310
  ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol event
  ALSA: hda - make a generic unsol event handler
  ASoC: codecs: Add DA9055 codec driver
  ASoC: eukrea-tlv320: Convert it to platform driver
  ALSA: ASoC: add DT bindings for CS4271
  ASoC: wm_hubs: Ensure volume updates are handled during class W startup
  ASoC: wm5110: Adding missing volume update bits
  ASoC: wm5110: Add OUT3R support
  ASoC: wm5110: Add AEC loopback support
  ASoC: wm5110: Rename EPOUT to HPOUT3
  ASoC: arizona: Add more clock rates
  ASoC: arizona: Add more DSP options for mixer input muxes
  ...
2012-10-09 07:07:14 +09:00
Mark Brown
6e87badd3f ASoC: wm2200: Provide initial coefficient loading
Allow a coefficient set provided using the Wolfson callibration tools to
be provided along with the firmware files. Currently only coefficient
files which configure absolute register addresses are supported.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:56 +01:00
Mark Brown
e10f871190 ASoC: wm2200: Initial DSP support
Support download and execution of firmwares to the DSPs on the WM2200.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:55 +01:00
Mark Brown
09d5d5880e ASoC: wm2200: Fully plumb the DSPs into the routing map
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:53 +01:00
Mark Brown
eae2328d41 ASoC: wm2200: Map DSPs into regmap
Use the regmap ranges support to add the WM2200 DSP core memory pages
into the "register map" beyond the end of the real register map. We
don't extend beyond 16 bits since the regmap API will iterate over
every register doing diagnostics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:52 +01:00
Mark Brown
999e068e40 ASoC: wm2200: Implement AEC loopback support
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:51 +01:00
Mark Brown
98ad089ffb ASoC: wm2200: Convert to devm APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-10-05 20:17:49 +01:00
Andi Kleen
c7fd5bc77e sections: fix section conflicts in sound
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-10-06 03:04:46 +09:00
Mark Brown
a1b98e12b7 ASoC: wm2200: Fix non-inverted OUT2 mute control
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-10-05 13:06:42 +01:00