diff options
author | Stephen Boyd <sboyd@kernel.org> | 2018-10-01 15:22:25 -0700 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2018-10-01 15:22:25 -0700 |
commit | 02621216e1d8a13abf1d040ff3b7ccf41b2df578 (patch) | |
tree | 6abdeff19b08afef93ed1290ada8fad6138775d2 /drivers/clk | |
parent | bded6c03e398dc6e862dc8301fb9a60175740653 (diff) | |
parent | 80a6ec7d5e1653208eb53f6738620dab98f6f50e (diff) | |
download | linux-02621216e1d8a13abf1d040ff3b7ccf41b2df578.tar.gz linux-02621216e1d8a13abf1d040ff3b7ccf41b2df578.tar.bz2 linux-02621216e1d8a13abf1d040ff3b7ccf41b2df578.zip |
Merge tag 'sunxi-clk-fixes-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into clk-fixes
Pull Allwinner clk fixes for 4.19 from Maxime Ripard:
One fix for the Audio PLL that were not properly set and generating noise
on the A10 SoCs.
* tag 'sunxi-clk-fixes-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
clk: sunxi-ng: sun4i: Set VCO and PLL bias current to lowest setting
Diffstat (limited to 'drivers/clk')
-rw-r--r-- | drivers/clk/sunxi-ng/ccu-sun4i-a10.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/clk/sunxi-ng/ccu-sun4i-a10.c b/drivers/clk/sunxi-ng/ccu-sun4i-a10.c index ffa5dac221e4..129ebd2588fd 100644 --- a/drivers/clk/sunxi-ng/ccu-sun4i-a10.c +++ b/drivers/clk/sunxi-ng/ccu-sun4i-a10.c @@ -1434,8 +1434,16 @@ static void __init sun4i_ccu_init(struct device_node *node, return; } - /* Force the PLL-Audio-1x divider to 1 */ val = readl(reg + SUN4I_PLL_AUDIO_REG); + + /* + * Force VCO and PLL bias current to lowest setting. Higher + * settings interfere with sigma-delta modulation and result + * in audible noise and distortions when using SPDIF or I2S. + */ + val &= ~GENMASK(25, 16); + + /* Force the PLL-Audio-1x divider to 1 */ val &= ~GENMASK(29, 26); writel(val | (1 << 26), reg + SUN4I_PLL_AUDIO_REG); |