diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-09-10 10:58:42 -0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-10-01 03:32:16 -0400 |
commit | 79901478e0a2854c4becbb2e77f176bd7fa37caa (patch) | |
tree | 2dfdbcbccc06e55a8feb77f4a6107825ffc54ce9 /arch/arm/mach-mx5 | |
parent | 9f0c11ee67d9a5ab76c27d2f9dbdd9ee85fbce10 (diff) |
ARM: mx5/clock-mx51: refactor ccgr callbacks to use common code
Acked-by: Jason Wang <jason77.wang@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mx5')
-rw-r--r-- | arch/arm/mach-mx5/clock-mx51.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/arch/arm/mach-mx5/clock-mx51.c b/arch/arm/mach-mx5/clock-mx51.c index 57c10a9926cc..fe658bf5b490 100644 --- a/arch/arm/mach-mx5/clock-mx51.c +++ b/arch/arm/mach-mx5/clock-mx51.c | |||
@@ -41,34 +41,36 @@ static struct clk usboh3_clk; | |||
41 | 41 | ||
42 | #define MAX_DPLL_WAIT_TRIES 1000 /* 1000 * udelay(1) = 1ms */ | 42 | #define MAX_DPLL_WAIT_TRIES 1000 /* 1000 * udelay(1) = 1ms */ |
43 | 43 | ||
44 | static int _clk_ccgr_enable(struct clk *clk) | 44 | static void _clk_ccgr_setclk(struct clk *clk, unsigned mode) |
45 | { | 45 | { |
46 | u32 reg; | 46 | u32 reg = __raw_readl(clk->enable_reg); |
47 | |||
48 | reg &= ~(MXC_CCM_CCGRx_CG_MASK << clk->enable_shift); | ||
49 | reg |= mode << clk->enable_shift; | ||
47 | 50 | ||
48 | reg = __raw_readl(clk->enable_reg); | ||
49 | reg |= MXC_CCM_CCGRx_MOD_ON << clk->enable_shift; | ||
50 | __raw_writel(reg, clk->enable_reg); | 51 | __raw_writel(reg, clk->enable_reg); |
52 | } | ||
51 | 53 | ||
54 | static int _clk_ccgr_enable(struct clk *clk) | ||
55 | { | ||
56 | _clk_ccgr_setclk(clk, MXC_CCM_CCGRx_MOD_ON); | ||
52 | return 0; | 57 | return 0; |
53 | } | 58 | } |
54 | 59 | ||
55 | static void _clk_ccgr_disable(struct clk *clk) | 60 | static void _clk_ccgr_disable(struct clk *clk) |
56 | { | 61 | { |
57 | u32 reg; | 62 | _clk_ccgr_setclk(clk, MXC_CCM_CCGRx_MOD_OFF); |
58 | reg = __raw_readl(clk->enable_reg); | 63 | } |
59 | reg &= ~(MXC_CCM_CCGRx_CG_MASK << clk->enable_shift); | ||
60 | __raw_writel(reg, clk->enable_reg); | ||
61 | 64 | ||
65 | static int _clk_ccgr_enable_inrun(struct clk *clk) | ||
66 | { | ||
67 | _clk_ccgr_setclk(clk, MXC_CCM_CCGRx_MOD_IDLE); | ||
68 | return 0; | ||
62 | } | 69 | } |
63 | 70 | ||
64 | static void _clk_ccgr_disable_inwait(struct clk *clk) | 71 | static void _clk_ccgr_disable_inwait(struct clk *clk) |
65 | { | 72 | { |
66 | u32 reg; | 73 | _clk_ccgr_setclk(clk, MXC_CCM_CCGRx_MOD_IDLE); |
67 | |||
68 | reg = __raw_readl(clk->enable_reg); | ||
69 | reg &= ~(MXC_CCM_CCGRx_CG_MASK << clk->enable_shift); | ||
70 | reg |= MXC_CCM_CCGRx_MOD_IDLE << clk->enable_shift; | ||
71 | __raw_writel(reg, clk->enable_reg); | ||
72 | } | 74 | } |
73 | 75 | ||
74 | /* | 76 | /* |