Merge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.37
Trivial overlap with the removal of the local revision variable. Conflicts: sound/soc/codecs/wm8994.c
This commit is contained in:
@@ -6303,8 +6303,9 @@ S: Supported
|
|||||||
F: drivers/input/touchscreen/*wm97*
|
F: drivers/input/touchscreen/*wm97*
|
||||||
F: include/linux/wm97xx.h
|
F: include/linux/wm97xx.h
|
||||||
|
|
||||||
WOLFSON MICROELECTRONICS PMIC DRIVERS
|
WOLFSON MICROELECTRONICS DRIVERS
|
||||||
M: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
M: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
||||||
|
M: Ian Lartey <ian@opensource.wolfsonmicro.com>
|
||||||
T: git git://opensource.wolfsonmicro.com/linux-2.6-audioplus
|
T: git git://opensource.wolfsonmicro.com/linux-2.6-audioplus
|
||||||
W: http://opensource.wolfsonmicro.com/node/8
|
W: http://opensource.wolfsonmicro.com/node/8
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -6319,8 +6320,8 @@ F: drivers/watchdog/wm83*_wdt.c
|
|||||||
F: include/linux/mfd/wm831x/
|
F: include/linux/mfd/wm831x/
|
||||||
F: include/linux/mfd/wm8350/
|
F: include/linux/mfd/wm8350/
|
||||||
F: include/linux/mfd/wm8400*
|
F: include/linux/mfd/wm8400*
|
||||||
F: sound/soc/codecs/wm8350.*
|
F: include/sound/wm????.h
|
||||||
F: sound/soc/codecs/wm8400.*
|
F: sound/soc/codecs/wm*
|
||||||
|
|
||||||
X.25 NETWORK LAYER
|
X.25 NETWORK LAYER
|
||||||
M: Andrew Hendry <andrew.hendry@gmail.com>
|
M: Andrew Hendry <andrew.hendry@gmail.com>
|
||||||
|
@@ -105,13 +105,18 @@ config SND_BF5XX_RESET_GPIO_NUM
|
|||||||
Set the correct GPIO for RESET the sound chip.
|
Set the correct GPIO for RESET the sound chip.
|
||||||
|
|
||||||
config SND_BF5XX_SOC_AD1980
|
config SND_BF5XX_SOC_AD1980
|
||||||
tristate "SoC AD1980/1 Audio support for BF5xx"
|
tristate "SoC AD1980/1 Audio support for BF5xx (Obsolete)"
|
||||||
depends on SND_BF5XX_AC97
|
depends on SND_BF5XX_AC97
|
||||||
select SND_BF5XX_SOC_AC97
|
select SND_BF5XX_SOC_AC97
|
||||||
select SND_SOC_AD1980
|
select SND_SOC_AD1980
|
||||||
help
|
help
|
||||||
Say Y if you want to add support for SoC audio on BF5xx STAMP/EZKIT.
|
Say Y if you want to add support for SoC audio on BF5xx STAMP/EZKIT.
|
||||||
|
|
||||||
|
Warning:
|
||||||
|
Because Analog Devices Inc. discontinued the ad1980 sound chip since
|
||||||
|
Sep. 2009, this ad1980 driver is not maintained, tested and supported
|
||||||
|
by ADI now.
|
||||||
|
|
||||||
config SND_BF5XX_SOC_SPORT
|
config SND_BF5XX_SOC_SPORT
|
||||||
tristate
|
tristate
|
||||||
|
|
||||||
|
@@ -26,6 +26,14 @@
|
|||||||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* WARNING:
|
||||||
|
*
|
||||||
|
* Because Analog Devices Inc. discontinued the ad1980 sound chip since
|
||||||
|
* Sep. 2009, this ad1980 driver is not maintained, tested and supported
|
||||||
|
* by ADI now.
|
||||||
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/moduleparam.h>
|
#include <linux/moduleparam.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
@@ -104,5 +112,5 @@ module_exit(bf5xx_board_exit);
|
|||||||
|
|
||||||
/* Module information */
|
/* Module information */
|
||||||
MODULE_AUTHOR("Cliff Cai");
|
MODULE_AUTHOR("Cliff Cai");
|
||||||
MODULE_DESCRIPTION("ALSA SoC AD1980/1 BF5xx board");
|
MODULE_DESCRIPTION("ALSA SoC AD1980/1 BF5xx board (Obsolete)");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
|
@@ -11,6 +11,14 @@
|
|||||||
* option) any later version.
|
* option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* WARNING:
|
||||||
|
*
|
||||||
|
* Because Analog Devices Inc. discontinued the ad1980 sound chip since
|
||||||
|
* Sep. 2009, this ad1980 driver is not maintained, tested and supported
|
||||||
|
* by ADI now.
|
||||||
|
*/
|
||||||
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
@@ -283,6 +291,6 @@ static void __exit ad1980_exit(void)
|
|||||||
}
|
}
|
||||||
module_exit(ad1980_exit);
|
module_exit(ad1980_exit);
|
||||||
|
|
||||||
MODULE_DESCRIPTION("ASoC ad1980 driver");
|
MODULE_DESCRIPTION("ASoC ad1980 driver (Obsolete)");
|
||||||
MODULE_AUTHOR("Roy Huang, Cliff Cai");
|
MODULE_AUTHOR("Roy Huang, Cliff Cai");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
|
@@ -1,5 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* ad1980.h -- ad1980 Soc Audio driver
|
* ad1980.h -- ad1980 Soc Audio driver
|
||||||
|
*
|
||||||
|
* WARNING:
|
||||||
|
*
|
||||||
|
* Because Analog Devices Inc. discontinued the ad1980 sound chip since
|
||||||
|
* Sep. 2009, this ad1980 driver is not maintained, tested and supported
|
||||||
|
* by ADI now.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _AD1980_H
|
#ifndef _AD1980_H
|
||||||
|
@@ -260,9 +260,9 @@ SOC_DOUBLE("DAC2 Invert Switch", WM8580_DAC_CONTROL4, 2, 3, 1, 0),
|
|||||||
SOC_DOUBLE("DAC3 Invert Switch", WM8580_DAC_CONTROL4, 4, 5, 1, 0),
|
SOC_DOUBLE("DAC3 Invert Switch", WM8580_DAC_CONTROL4, 4, 5, 1, 0),
|
||||||
|
|
||||||
SOC_SINGLE("DAC ZC Switch", WM8580_DAC_CONTROL5, 5, 1, 0),
|
SOC_SINGLE("DAC ZC Switch", WM8580_DAC_CONTROL5, 5, 1, 0),
|
||||||
SOC_SINGLE("DAC1 Switch", WM8580_DAC_CONTROL5, 0, 1, 0),
|
SOC_SINGLE("DAC1 Switch", WM8580_DAC_CONTROL5, 0, 1, 1),
|
||||||
SOC_SINGLE("DAC2 Switch", WM8580_DAC_CONTROL5, 1, 1, 0),
|
SOC_SINGLE("DAC2 Switch", WM8580_DAC_CONTROL5, 1, 1, 1),
|
||||||
SOC_SINGLE("DAC3 Switch", WM8580_DAC_CONTROL5, 2, 1, 0),
|
SOC_SINGLE("DAC3 Switch", WM8580_DAC_CONTROL5, 2, 1, 1),
|
||||||
|
|
||||||
SOC_DOUBLE("Capture Switch", WM8580_ADC_CONTROL1, 0, 1, 1, 1),
|
SOC_DOUBLE("Capture Switch", WM8580_ADC_CONTROL1, 0, 1, 1, 1),
|
||||||
SOC_SINGLE("Capture High-Pass Filter Switch", WM8580_ADC_CONTROL1, 4, 1, 0),
|
SOC_SINGLE("Capture High-Pass Filter Switch", WM8580_ADC_CONTROL1, 4, 1, 0),
|
||||||
|
@@ -94,6 +94,7 @@ struct wm8994_priv {
|
|||||||
|
|
||||||
struct wm8994_micdet micdet[2];
|
struct wm8994_micdet micdet[2];
|
||||||
|
|
||||||
|
int revision;
|
||||||
struct wm8994_pdata *pdata;
|
struct wm8994_pdata *pdata;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -3073,6 +3074,8 @@ static int wm8994_set_dai_sysclk(struct snd_soc_dai *dai,
|
|||||||
static int wm8994_set_bias_level(struct snd_soc_codec *codec,
|
static int wm8994_set_bias_level(struct snd_soc_codec *codec,
|
||||||
enum snd_soc_bias_level level)
|
enum snd_soc_bias_level level)
|
||||||
{
|
{
|
||||||
|
struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
|
||||||
|
|
||||||
switch (level) {
|
switch (level) {
|
||||||
case SND_SOC_BIAS_ON:
|
case SND_SOC_BIAS_ON:
|
||||||
break;
|
break;
|
||||||
@@ -3085,11 +3088,16 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec,
|
|||||||
|
|
||||||
case SND_SOC_BIAS_STANDBY:
|
case SND_SOC_BIAS_STANDBY:
|
||||||
if (codec->bias_level == SND_SOC_BIAS_OFF) {
|
if (codec->bias_level == SND_SOC_BIAS_OFF) {
|
||||||
/* Tweak DC servo configuration for improved
|
/* Tweak DC servo and DSP configuration for
|
||||||
* performance. */
|
* improved performance. */
|
||||||
snd_soc_write(codec, 0x102, 0x3);
|
if (wm8994->revision < 4) {
|
||||||
snd_soc_write(codec, 0x56, 0x3);
|
/* Tweak DC servo and DSP configuration for
|
||||||
snd_soc_write(codec, 0x102, 0);
|
* improved performance. */
|
||||||
|
snd_soc_write(codec, 0x102, 0x3);
|
||||||
|
snd_soc_write(codec, 0x56, 0x3);
|
||||||
|
snd_soc_write(codec, 0x817, 0);
|
||||||
|
snd_soc_write(codec, 0x102, 0);
|
||||||
|
}
|
||||||
|
|
||||||
/* Discharge LINEOUT1 & 2 */
|
/* Discharge LINEOUT1 & 2 */
|
||||||
snd_soc_update_bits(codec, WM8994_ANTIPOP_1,
|
snd_soc_update_bits(codec, WM8994_ANTIPOP_1,
|
||||||
@@ -3859,7 +3867,7 @@ static irqreturn_t wm8994_mic_irq(int irq, void *data)
|
|||||||
static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
||||||
{
|
{
|
||||||
struct wm8994_priv *wm8994;
|
struct wm8994_priv *wm8994;
|
||||||
int ret, i, rev;
|
int ret, i;
|
||||||
|
|
||||||
codec->control_data = dev_get_drvdata(codec->dev->parent);
|
codec->control_data = dev_get_drvdata(codec->dev->parent);
|
||||||
|
|
||||||
@@ -3889,8 +3897,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
|||||||
wm8994->reg_cache[i] = 0;
|
wm8994->reg_cache[i] = 0;
|
||||||
|
|
||||||
/* Set revision-specific configuration */
|
/* Set revision-specific configuration */
|
||||||
rev = snd_soc_read(codec, WM8994_CHIP_REVISION);
|
wm8994->revision = snd_soc_read(codec, WM8994_CHIP_REVISION);
|
||||||
switch (rev) {
|
switch (wm8994->revision) {
|
||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
wm8994->hubs.dcs_codes = -5;
|
wm8994->hubs.dcs_codes = -5;
|
||||||
|
@@ -42,7 +42,9 @@ config SND_SOC_PHYCORE_AC97
|
|||||||
|
|
||||||
config SND_SOC_EUKREA_TLV320
|
config SND_SOC_EUKREA_TLV320
|
||||||
tristate "Eukrea TLV320"
|
tristate "Eukrea TLV320"
|
||||||
depends on MACH_EUKREA_MBIMX27_BASEBOARD || MACH_EUKREA_MBIMXSD_BASEBOARD
|
depends on MACH_EUKREA_MBIMX27_BASEBOARD \
|
||||||
|
|| MACH_EUKREA_MBIMXSD25_BASEBOARD \
|
||||||
|
|| MACH_EUKREA_MBIMXSD35_BASEBOARD
|
||||||
select SND_SOC_TLV320AIC23
|
select SND_SOC_TLV320AIC23
|
||||||
select SND_MXC_SOC_SSI
|
select SND_MXC_SOC_SSI
|
||||||
select SND_MXC_SOC_FIQ
|
select SND_MXC_SOC_FIQ
|
||||||
|
@@ -340,7 +340,7 @@ static unsigned int snd_soc_16_8_read_i2c(struct snd_soc_codec *codec,
|
|||||||
static unsigned int snd_soc_16_8_read(struct snd_soc_codec *codec,
|
static unsigned int snd_soc_16_8_read(struct snd_soc_codec *codec,
|
||||||
unsigned int reg)
|
unsigned int reg)
|
||||||
{
|
{
|
||||||
u16 *cache = codec->reg_cache;
|
u8 *cache = codec->reg_cache;
|
||||||
|
|
||||||
reg &= 0xff;
|
reg &= 0xff;
|
||||||
if (reg >= codec->driver->reg_cache_size)
|
if (reg >= codec->driver->reg_cache_size)
|
||||||
@@ -351,7 +351,7 @@ static unsigned int snd_soc_16_8_read(struct snd_soc_codec *codec,
|
|||||||
static int snd_soc_16_8_write(struct snd_soc_codec *codec, unsigned int reg,
|
static int snd_soc_16_8_write(struct snd_soc_codec *codec, unsigned int reg,
|
||||||
unsigned int value)
|
unsigned int value)
|
||||||
{
|
{
|
||||||
u16 *cache = codec->reg_cache;
|
u8 *cache = codec->reg_cache;
|
||||||
u8 data[3];
|
u8 data[3];
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user