From: Terry Lv Date: Fri, 9 Mar 2012 03:25:31 +0000 (+0800) Subject: ENGR00176469-1: Improve the performance of MLB X-Git-Tag: v3.0.35-fsl_4.1.0~1508 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3587761ad9ab8c9b678908a66786ca5c821f8597;p=karo-tx-linux.git ENGR00176469-1: Improve the performance of MLB Pll clock change to make pll clocked more stable. Signed-off-by: Terry Lv --- diff --git a/arch/arm/mach-mx6/clock.c b/arch/arm/mach-mx6/clock.c index 813c55432d70..43d5bc86f490 100644 --- a/arch/arm/mach-mx6/clock.c +++ b/arch/arm/mach-mx6/clock.c @@ -1061,22 +1061,31 @@ static int _clk_pll_mlb_main_enable(struct clk *clk) reg = __raw_readl(pllbase); reg &= ~ANADIG_PLL_BYPASS; - reg = 0x0da20000; + reg = 0x0da20800; __raw_writel(reg, pllbase); - /* Wait for PLL to lock */ - if (!WAIT(__raw_readl(pllbase) & ANADIG_PLL_LOCK, - SPIN_DELAY)) - panic("pll enable failed\n"); - return 0; } +static int _clk_pll_mlb_main_disable(struct clk *clk) +{ + unsigned int reg; + void __iomem *pllbase; + + pllbase = _get_pll_base(clk); + + reg = __raw_readl(pllbase); + + reg |= ANADIG_PLL_BYPASS; + + __raw_writel(reg, pllbase); +} + static struct clk pll6_mlb150_main_clk = { __INIT_CLK_DEBUG(pll6_mlb150_main_clk) .parent = &osc_clk, .enable = _clk_pll_mlb_main_enable, - .disable = _clk_pll_disable, + .disable = _clk_pll_mlb_main_disable, }; static unsigned long _clk_pll7_usb_otg_get_rate(struct clk *clk)