diff options
-rw-r--r-- | sound/soc/codecs/wm8915.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/soc/codecs/wm8915.c b/sound/soc/codecs/wm8915.c index 083609418bf4..4a3c5cc77e55 100644 --- a/sound/soc/codecs/wm8915.c +++ b/sound/soc/codecs/wm8915.c | |||
@@ -1831,6 +1831,7 @@ static int wm8915_set_sysclk(struct snd_soc_dai *dai, | |||
1831 | struct snd_soc_codec *codec = dai->codec; | 1831 | struct snd_soc_codec *codec = dai->codec; |
1832 | struct wm8915_priv *wm8915 = snd_soc_codec_get_drvdata(codec); | 1832 | struct wm8915_priv *wm8915 = snd_soc_codec_get_drvdata(codec); |
1833 | int lfclk = 0; | 1833 | int lfclk = 0; |
1834 | int ratediv = 0; | ||
1834 | int src; | 1835 | int src; |
1835 | int old; | 1836 | int old; |
1836 | 1837 | ||
@@ -1862,6 +1863,8 @@ static int wm8915_set_sysclk(struct snd_soc_dai *dai, | |||
1862 | snd_soc_update_bits(codec, WM8915_AIF_RATE, | 1863 | snd_soc_update_bits(codec, WM8915_AIF_RATE, |
1863 | WM8915_SYSCLK_RATE, 0); | 1864 | WM8915_SYSCLK_RATE, 0); |
1864 | break; | 1865 | break; |
1866 | case 24576000: | ||
1867 | ratediv = WM8915_SYSCLK_DIV; | ||
1865 | case 12288000: | 1868 | case 12288000: |
1866 | snd_soc_update_bits(codec, WM8915_AIF_RATE, | 1869 | snd_soc_update_bits(codec, WM8915_AIF_RATE, |
1867 | WM8915_SYSCLK_RATE, WM8915_SYSCLK_RATE); | 1870 | WM8915_SYSCLK_RATE, WM8915_SYSCLK_RATE); |
@@ -1877,8 +1880,8 @@ static int wm8915_set_sysclk(struct snd_soc_dai *dai, | |||
1877 | } | 1880 | } |
1878 | 1881 | ||
1879 | snd_soc_update_bits(codec, WM8915_AIF_CLOCKING_1, | 1882 | snd_soc_update_bits(codec, WM8915_AIF_CLOCKING_1, |
1880 | WM8915_SYSCLK_SRC_MASK, | 1883 | WM8915_SYSCLK_SRC_MASK | WM8915_SYSCLK_DIV_MASK, |
1881 | src << WM8915_SYSCLK_SRC_SHIFT); | 1884 | src << WM8915_SYSCLK_SRC_SHIFT | ratediv); |
1882 | snd_soc_update_bits(codec, WM8915_CLOCKING_1, WM8915_LFCLK_ENA, lfclk); | 1885 | snd_soc_update_bits(codec, WM8915_CLOCKING_1, WM8915_LFCLK_ENA, lfclk); |
1883 | snd_soc_update_bits(codec, WM8915_AIF_CLOCKING_1, | 1886 | snd_soc_update_bits(codec, WM8915_AIF_CLOCKING_1, |
1884 | WM8915_SYSCLK_ENA, old); | 1887 | WM8915_SYSCLK_ENA, old); |