diff options
author | Peng Fan <peng.fan@nxp.com> | 2016-12-11 19:24:26 +0800 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2016-12-16 11:38:24 +0100 |
commit | 70ac169723003ecc8e3f5f0abcf7bc4c59b487d9 (patch) | |
tree | 00dc4c323793433ec4631fd9ec62abef9dec6694 /arch/arm/cpu/armv7 | |
parent | 0e81982de08fc93118c3dc49cc81def0d3801445 (diff) |
imx: mx6: lcdif: gate clock before changing mux
The mux for the lcd clock is not glitchless,
so need to first gate the clock before changing the mux.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'arch/arm/cpu/armv7')
-rw-r--r-- | arch/arm/cpu/armv7/mx6/clock.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c index 88f68f1137..20922606e0 100644 --- a/arch/arm/cpu/armv7/mx6/clock.c +++ b/arch/arm/cpu/armv7/mx6/clock.c @@ -771,6 +771,16 @@ int enable_lcdif_clock(u32 base_addr) return 0; } + /* Gate LCDIF clock first */ + reg = readl(&imx_ccm->CCGR3); + reg &= ~lcdif_ccgr3_mask; + writel(reg, &imx_ccm->CCGR3); + + reg = readl(&imx_ccm->CCGR2); + reg &= ~MXC_CCM_CCGR2_LCD_MASK; + writel(reg, &imx_ccm->CCGR2); + + /* Select pre-mux */ reg = readl(&imx_ccm->cscdr2); reg &= ~lcdif_clk_sel_mask; writel(reg, &imx_ccm->cscdr2); |