aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/clk/sunxi-ng/ccu-sun4i-a10.c10
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,
1434 return; 1434 return;
1435 } 1435 }
1436 1436
1437 /* Force the PLL-Audio-1x divider to 1 */
1438 val = readl(reg + SUN4I_PLL_AUDIO_REG); 1437 val = readl(reg + SUN4I_PLL_AUDIO_REG);
1438
1439 /*
1440 * Force VCO and PLL bias current to lowest setting. Higher
1441 * settings interfere with sigma-delta modulation and result
1442 * in audible noise and distortions when using SPDIF or I2S.
1443 */
1444 val &= ~GENMASK(25, 16);
1445
1446 /* Force the PLL-Audio-1x divider to 1 */
1439 val &= ~GENMASK(29, 26); 1447 val &= ~GENMASK(29, 26);
1440 writel(val | (1 << 26), reg + SUN4I_PLL_AUDIO_REG); 1448 writel(val | (1 << 26), reg + SUN4I_PLL_AUDIO_REG);
1441 1449