aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@marvell.com>2009-09-10 02:01:22 -0400
committerEric Miao <eric.y.miao@gmail.com>2009-11-30 20:02:51 -0500
commit4092855d9634fd0cce879b0f47a7e128f86d869e (patch)
tree13844ff3530c4920096a2b22361ec7753b1b4d70
parent68bef3a7859ebee8bf79a8e6e36369cbbe5903ca (diff)
[ARM] pxa: add apmu clock support in mmp
Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
-rw-r--r--arch/arm/mach-mmp/clock.c15
-rw-r--r--arch/arm/mach-mmp/clock.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-mmp/clock.c b/arch/arm/mach-mmp/clock.c
index 2d9cc5a7122f..2a46ed5cc2a2 100644
--- a/arch/arm/mach-mmp/clock.c
+++ b/arch/arm/mach-mmp/clock.c
@@ -34,6 +34,21 @@ struct clkops apbc_clk_ops = {
34 .disable = apbc_clk_disable, 34 .disable = apbc_clk_disable,
35}; 35};
36 36
37static void apmu_clk_enable(struct clk *clk)
38{
39 __raw_writel(clk->enable_val, clk->clk_rst);
40}
41
42static void apmu_clk_disable(struct clk *clk)
43{
44 __raw_writel(0, clk->clk_rst);
45}
46
47struct clkops apmu_clk_ops = {
48 .enable = apmu_clk_enable,
49 .disable = apmu_clk_disable,
50};
51
37static DEFINE_SPINLOCK(clocks_lock); 52static DEFINE_SPINLOCK(clocks_lock);
38 53
39int clk_enable(struct clk *clk) 54int clk_enable(struct clk *clk)
diff --git a/arch/arm/mach-mmp/clock.h b/arch/arm/mach-mmp/clock.h
index ed967e78e6a8..eefffbe683b0 100644
--- a/arch/arm/mach-mmp/clock.h
+++ b/arch/arm/mach-mmp/clock.h
@@ -25,6 +25,7 @@ struct clk {
25}; 25};
26 26
27extern struct clkops apbc_clk_ops; 27extern struct clkops apbc_clk_ops;
28extern struct clkops apmu_clk_ops;
28 29
29#define APBC_CLK(_name, _reg, _fnclksel, _rate) \ 30#define APBC_CLK(_name, _reg, _fnclksel, _rate) \
30struct clk clk_##_name = { \ 31struct clk clk_##_name = { \