diff options
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/codecs/wm8996.c | 4 | ||||
-rw-r--r-- | sound/soc/codecs/wm8996.h | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8996.c b/sound/soc/codecs/wm8996.c index d8da10fe5b52..86f5b6bd7af2 100644 --- a/sound/soc/codecs/wm8996.c +++ b/sound/soc/codecs/wm8996.c | |||
@@ -2007,6 +2007,7 @@ static int wm8996_set_sysclk(struct snd_soc_dai *dai, | |||
2007 | struct wm8996_priv *wm8996 = snd_soc_codec_get_drvdata(codec); | 2007 | struct wm8996_priv *wm8996 = snd_soc_codec_get_drvdata(codec); |
2008 | int lfclk = 0; | 2008 | int lfclk = 0; |
2009 | int ratediv = 0; | 2009 | int ratediv = 0; |
2010 | int sync = WM8996_REG_SYNC; | ||
2010 | int src; | 2011 | int src; |
2011 | int old; | 2012 | int old; |
2012 | 2013 | ||
@@ -2051,6 +2052,7 @@ static int wm8996_set_sysclk(struct snd_soc_dai *dai, | |||
2051 | case 32000: | 2052 | case 32000: |
2052 | case 32768: | 2053 | case 32768: |
2053 | lfclk = WM8996_LFCLK_ENA; | 2054 | lfclk = WM8996_LFCLK_ENA; |
2055 | sync = 0; | ||
2054 | break; | 2056 | break; |
2055 | default: | 2057 | default: |
2056 | dev_warn(codec->dev, "Unsupported clock rate %dHz\n", | 2058 | dev_warn(codec->dev, "Unsupported clock rate %dHz\n", |
@@ -2064,6 +2066,8 @@ static int wm8996_set_sysclk(struct snd_soc_dai *dai, | |||
2064 | WM8996_SYSCLK_SRC_MASK | WM8996_SYSCLK_DIV_MASK, | 2066 | WM8996_SYSCLK_SRC_MASK | WM8996_SYSCLK_DIV_MASK, |
2065 | src << WM8996_SYSCLK_SRC_SHIFT | ratediv); | 2067 | src << WM8996_SYSCLK_SRC_SHIFT | ratediv); |
2066 | snd_soc_update_bits(codec, WM8996_CLOCKING_1, WM8996_LFCLK_ENA, lfclk); | 2068 | snd_soc_update_bits(codec, WM8996_CLOCKING_1, WM8996_LFCLK_ENA, lfclk); |
2069 | snd_soc_update_bits(codec, WM8996_CONTROL_INTERFACE_1, | ||
2070 | WM8996_REG_SYNC, sync); | ||
2067 | snd_soc_update_bits(codec, WM8996_AIF_CLOCKING_1, | 2071 | snd_soc_update_bits(codec, WM8996_AIF_CLOCKING_1, |
2068 | WM8996_SYSCLK_ENA, old); | 2072 | WM8996_SYSCLK_ENA, old); |
2069 | 2073 | ||
diff --git a/sound/soc/codecs/wm8996.h b/sound/soc/codecs/wm8996.h index 0fde643194ce..de9ac3e44aec 100644 --- a/sound/soc/codecs/wm8996.h +++ b/sound/soc/codecs/wm8996.h | |||
@@ -1567,6 +1567,10 @@ int wm8996_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack, | |||
1567 | /* | 1567 | /* |
1568 | * R257 (0x101) - Control Interface (1) | 1568 | * R257 (0x101) - Control Interface (1) |
1569 | */ | 1569 | */ |
1570 | #define WM8996_REG_SYNC 0x8000 /* REG_SYNC */ | ||
1571 | #define WM8996_REG_SYNC_MASK 0x8000 /* REG_SYNC */ | ||
1572 | #define WM8996_REG_SYNC_SHIFT 15 /* REG_SYNC */ | ||
1573 | #define WM8996_REG_SYNC_WIDTH 1 /* REG_SYNC */ | ||
1570 | #define WM8996_AUTO_INC 0x0004 /* AUTO_INC */ | 1574 | #define WM8996_AUTO_INC 0x0004 /* AUTO_INC */ |
1571 | #define WM8996_AUTO_INC_MASK 0x0004 /* AUTO_INC */ | 1575 | #define WM8996_AUTO_INC_MASK 0x0004 /* AUTO_INC */ |
1572 | #define WM8996_AUTO_INC_SHIFT 2 /* AUTO_INC */ | 1576 | #define WM8996_AUTO_INC_SHIFT 2 /* AUTO_INC */ |