summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorXinyu Chen <xinyu.chen@freescale.com>2011-11-18 15:11:35 +0800
committerXinyu Chen <xinyu.chen@freescale.com>2011-11-18 15:11:35 +0800
commitb92410aeb51ed48429b59395b7966dbdf616b854 (patch)
treef6df7b89c40da66630e5672ef0b0488b048a3731 /sound
parent1e71c6ba95b0386fda935d022c8f6bba8ed94bce (diff)
parentc7f6e5da736db878ae58b123f28010c9355337aa (diff)
Merge commit 'rel_imx_2.6.38_11.11.00_RC1' into imx_2.6.38_android
Conflicts: arch/arm/mach-mx6/board-mx6q_sabrelite.c
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/sgtl5000.c11
-rw-r--r--sound/soc/imx/Kconfig4
-rw-r--r--sound/soc/imx/imx-ssi.c7
3 files changed, 13 insertions, 9 deletions
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index 485a9d1cd472..d7500e7717c6 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -940,7 +940,9 @@ static int sgtl5000_pcm_hw_params(struct snd_pcm_substream *substream,
return -EINVAL;
}
- snd_soc_update_bits(codec, SGTL5000_CHIP_I2S_CTRL, i2s_ctl, i2s_ctl);
+ snd_soc_update_bits(codec, SGTL5000_CHIP_I2S_CTRL,
+ SGTL5000_I2S_DLEN_MASK | SGTL5000_I2S_SCLKFREQ_MASK,
+ i2s_ctl);
return 0;
}
@@ -1351,7 +1353,7 @@ static int sgtl5000_set_power_regs(struct snd_soc_codec *codec)
vag = (vag - SGTL5000_ANA_GND_BASE) / SGTL5000_ANA_GND_STP;
snd_soc_update_bits(codec, SGTL5000_CHIP_REF_CTRL,
- vag << SGTL5000_ANA_GND_SHIFT,
+ SGTL5000_ANA_GND_MASK,
vag << SGTL5000_ANA_GND_SHIFT);
/* set line out VAG to vddio / 2, in range (0.8v, 1.675v) */
@@ -1366,9 +1368,8 @@ static int sgtl5000_set_power_regs(struct snd_soc_codec *codec)
SGTL5000_LINE_OUT_GND_STP;
snd_soc_update_bits(codec, SGTL5000_CHIP_LINE_OUT_CTRL,
- vag << SGTL5000_LINE_OUT_GND_SHIFT |
- SGTL5000_LINE_OUT_CURRENT_360u <<
- SGTL5000_LINE_OUT_CURRENT_SHIFT,
+ SGTL5000_LINE_OUT_GND_MASK |
+ SGTL5000_LINE_OUT_CURRENT_MASK,
vag << SGTL5000_LINE_OUT_GND_SHIFT |
SGTL5000_LINE_OUT_CURRENT_360u <<
SGTL5000_LINE_OUT_CURRENT_SHIFT);
diff --git a/sound/soc/imx/Kconfig b/sound/soc/imx/Kconfig
index 0a2c2dadd2f9..f3788b5bc9fb 100644
--- a/sound/soc/imx/Kconfig
+++ b/sound/soc/imx/Kconfig
@@ -48,7 +48,7 @@ config SND_SOC_PHYCORE_AC97
config SND_SOC_IMX_SGTL5000
tristate "SoC Audio support for i.MX boards with sgtl5000"
- depends on MACH_MX35_3DS || MACH_MX51_BABBAGE || MACH_MX6Q_SABRELITE
+ depends on I2C && (MACH_MX35_3DS || MACH_MX51_BABBAGE || MACH_MX6Q_SABRELITE)
select SND_SOC_SGTL5000
select SND_MXC_SOC_MX2
help
@@ -57,7 +57,7 @@ config SND_SOC_IMX_SGTL5000
config SND_SOC_IMX_CS42888
tristate "SoC Audio support for i.MX boards with cs42888"
- depends on MACH_MX6Q_ARM2 || MACH_MX53_ARD
+ depends on I2C && (MACH_MX6Q_ARM2 || MACH_MX53_ARD)
select SND_SOC_CS42888
select SND_MXC_SOC_MX2
help
diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c
index 9dfbd2087e2c..8cf85b06b780 100644
--- a/sound/soc/imx/imx-ssi.c
+++ b/sound/soc/imx/imx-ssi.c
@@ -53,6 +53,9 @@
#include "imx-ssi.h"
#define SSI_SACNT_DEFAULT (SSI_SACNT_AC97EN | SSI_SACNT_FV)
+#define IMX_SSI_FORMATS \
+ (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
+ SNDRV_PCM_FMTBIT_S24_LE)
/*
* SSI Network Mode or TDM slots configuration.
@@ -465,13 +468,13 @@ static struct snd_soc_dai_driver imx_ssi_dai = {
.channels_min = 1,
.channels_max = 2,
.rates = SNDRV_PCM_RATE_8000_96000,
- .formats = SNDRV_PCM_FMTBIT_S16_LE,
+ .formats = IMX_SSI_FORMATS,
},
.capture = {
.channels_min = 1,
.channels_max = 2,
.rates = SNDRV_PCM_RATE_8000_96000,
- .formats = SNDRV_PCM_FMTBIT_S16_LE,
+ .formats = IMX_SSI_FORMATS,
},
.ops = &imx_ssi_pcm_dai_ops,
};