diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-02-05 07:08:35 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-02-05 07:08:35 +0100 |
commit | a3ae255e3729c1bb4507412ea29be804f703d44c (patch) | |
tree | edd1ca577dad5a0d701ae111519eaefa60896f98 /sound/soc/intel/cht_bsw_rt5672.c | |
parent | 3fe9cf390f6dc84f76b112b0a660967a84f9a81b (diff) | |
parent | 16ca41c6cc904d7eb9e92afc5f576e375c314f90 (diff) | |
download | linux-a3ae255e3729c1bb4507412ea29be804f703d44c.tar.bz2 |
Merge tag 'asoc-v3.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next
ASoC: Updates for v3.20
More updates for v3.20:
- Lots of refactoring from Lars-Peter Clausen, moving drivers to more
data driven initialization and rationalizing a lot of DAPM usage.
- Much improved handling of CDCLK clocks on Samsung I2S controllers.
- Lots of driver specific cleanups and feature improvements.
- CODEC support for TI PCM514x and TLV320AIC3104 devices.
- Board support for Tegra systems with Realtek RT5677.
Conflicts:
sound/soc/intel/sst-mfld-platform-pcm.c
Diffstat (limited to 'sound/soc/intel/cht_bsw_rt5672.c')
-rw-r--r-- | sound/soc/intel/cht_bsw_rt5672.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sound/soc/intel/cht_bsw_rt5672.c b/sound/soc/intel/cht_bsw_rt5672.c index a406c6104897..ff016621583a 100644 --- a/sound/soc/intel/cht_bsw_rt5672.c +++ b/sound/soc/intel/cht_bsw_rt5672.c @@ -140,6 +140,7 @@ static int cht_codec_init(struct snd_soc_pcm_runtime *runtime) { int ret; struct snd_soc_dai *codec_dai = runtime->codec_dai; + struct snd_soc_codec *codec = codec_dai->codec; /* TDM 4 slots 24 bit, set Rx & Tx bitmask to 4 active slots */ ret = snd_soc_dai_set_tdm_slot(codec_dai, 0xF, 0xF, 4, 24); @@ -148,6 +149,19 @@ static int cht_codec_init(struct snd_soc_pcm_runtime *runtime) return ret; } + /* Select codec ASRC clock source to track I2S1 clock, because codec + * is in slave mode and 100fs I2S format (BCLK = 100 * LRCLK) cannot + * be supported by RT5672. Otherwise, ASRC will be disabled and cause + * noise. + */ + rt5670_sel_asrc_clk_src(codec, + RT5670_DA_STEREO_FILTER + | RT5670_DA_MONO_L_FILTER + | RT5670_DA_MONO_R_FILTER + | RT5670_AD_STEREO_FILTER + | RT5670_AD_MONO_L_FILTER + | RT5670_AD_MONO_R_FILTER, + RT5670_CLK_SEL_I2S1_ASRC); return 0; } |