diff options
-rw-r--r-- | arch/arm/mach-mx1/clock.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx2/clock_imx21.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx2/clock_imx27.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx3/clock-imx35.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx3/clock.c | 3 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/common.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-mxc/time.c | 21 |
7 files changed, 9 insertions, 25 deletions
diff --git a/arch/arm/mach-mx1/clock.c b/arch/arm/mach-mx1/clock.c index 0d0f306851d0..7b739dd8700d 100644 --- a/arch/arm/mach-mx1/clock.c +++ b/arch/arm/mach-mx1/clock.c | |||
@@ -626,7 +626,7 @@ int __init mx1_clocks_init(unsigned long fref) | |||
626 | clk_enable(&hclk); | 626 | clk_enable(&hclk); |
627 | clk_enable(&fclk); | 627 | clk_enable(&fclk); |
628 | 628 | ||
629 | mxc_timer_init(&gpt_clk); | 629 | mxc_timer_init(&gpt_clk, IO_ADDRESS(TIM1_BASE_ADDR), TIM1_INT); |
630 | 630 | ||
631 | return 0; | 631 | return 0; |
632 | } | 632 | } |
diff --git a/arch/arm/mach-mx2/clock_imx21.c b/arch/arm/mach-mx2/clock_imx21.c index 0850fb88ec15..eede79855f4a 100644 --- a/arch/arm/mach-mx2/clock_imx21.c +++ b/arch/arm/mach-mx2/clock_imx21.c | |||
@@ -1004,6 +1004,6 @@ int __init mx21_clocks_init(unsigned long lref, unsigned long href) | |||
1004 | clk_enable(&uart_clk[0]); | 1004 | clk_enable(&uart_clk[0]); |
1005 | #endif | 1005 | #endif |
1006 | 1006 | ||
1007 | mxc_timer_init(&gpt_clk[0]); | 1007 | mxc_timer_init(&gpt_clk[0], IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT1); |
1008 | return 0; | 1008 | return 0; |
1009 | } | 1009 | } |
diff --git a/arch/arm/mach-mx2/clock_imx27.c b/arch/arm/mach-mx2/clock_imx27.c index 2c971442f3f2..a0c577f80d4c 100644 --- a/arch/arm/mach-mx2/clock_imx27.c +++ b/arch/arm/mach-mx2/clock_imx27.c | |||
@@ -748,7 +748,7 @@ int __init mx27_clocks_init(unsigned long fref) | |||
748 | clk_enable(&uart1_clk); | 748 | clk_enable(&uart1_clk); |
749 | #endif | 749 | #endif |
750 | 750 | ||
751 | mxc_timer_init(&gpt1_clk); | 751 | mxc_timer_init(&gpt1_clk, IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT1); |
752 | 752 | ||
753 | return 0; | 753 | return 0; |
754 | } | 754 | } |
diff --git a/arch/arm/mach-mx3/clock-imx35.c b/arch/arm/mach-mx3/clock-imx35.c index 577ee83d1f60..4cf1849f552e 100644 --- a/arch/arm/mach-mx3/clock-imx35.c +++ b/arch/arm/mach-mx3/clock-imx35.c | |||
@@ -456,7 +456,7 @@ int __init mx35_clocks_init() | |||
456 | __raw_writel((3 << 26) | ll, CCM_BASE + CCM_CGR2); | 456 | __raw_writel((3 << 26) | ll, CCM_BASE + CCM_CGR2); |
457 | __raw_writel(0, CCM_BASE + CCM_CGR3); | 457 | __raw_writel(0, CCM_BASE + CCM_CGR3); |
458 | 458 | ||
459 | mxc_timer_init(&gpt_clk); | 459 | mxc_timer_init(&ipg_clk, IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT); |
460 | 460 | ||
461 | return 0; | 461 | return 0; |
462 | } | 462 | } |
diff --git a/arch/arm/mach-mx3/clock.c b/arch/arm/mach-mx3/clock.c index 8b14239724c9..25b6f55bfb03 100644 --- a/arch/arm/mach-mx3/clock.c +++ b/arch/arm/mach-mx3/clock.c | |||
@@ -29,6 +29,7 @@ | |||
29 | 29 | ||
30 | #include <mach/clock.h> | 30 | #include <mach/clock.h> |
31 | #include <mach/hardware.h> | 31 | #include <mach/hardware.h> |
32 | #include <mach/mx31.h> | ||
32 | #include <mach/common.h> | 33 | #include <mach/common.h> |
33 | 34 | ||
34 | #include "crm_regs.h" | 35 | #include "crm_regs.h" |
@@ -609,7 +610,7 @@ int __init mx31_clocks_init(unsigned long fref) | |||
609 | __raw_writel(reg, MXC_CCM_PMCR1); | 610 | __raw_writel(reg, MXC_CCM_PMCR1); |
610 | } | 611 | } |
611 | 612 | ||
612 | mxc_timer_init(&ipg_clk); | 613 | mxc_timer_init(&ipg_clk, IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT); |
613 | 614 | ||
614 | return 0; | 615 | return 0; |
615 | } | 616 | } |
diff --git a/arch/arm/plat-mxc/include/mach/common.h b/arch/arm/plat-mxc/include/mach/common.h index 02c3cd004db3..1c48aefe4b6e 100644 --- a/arch/arm/plat-mxc/include/mach/common.h +++ b/arch/arm/plat-mxc/include/mach/common.h | |||
@@ -20,7 +20,7 @@ extern void mx27_map_io(void); | |||
20 | extern void mx31_map_io(void); | 20 | extern void mx31_map_io(void); |
21 | extern void mx35_map_io(void); | 21 | extern void mx35_map_io(void); |
22 | extern void mxc_init_irq(void); | 22 | extern void mxc_init_irq(void); |
23 | extern void mxc_timer_init(struct clk *timer_clk); | 23 | extern void mxc_timer_init(struct clk *timer_clk, void __iomem *, int); |
24 | extern int mx1_clocks_init(unsigned long fref); | 24 | extern int mx1_clocks_init(unsigned long fref); |
25 | extern int mx21_clocks_init(unsigned long lref, unsigned long fref); | 25 | extern int mx21_clocks_init(unsigned long lref, unsigned long fref); |
26 | extern int mx27_clocks_init(unsigned long fref); | 26 | extern int mx27_clocks_init(unsigned long fref); |
diff --git a/arch/arm/plat-mxc/time.c b/arch/arm/plat-mxc/time.c index 88fb3a57e029..7e71bb6270eb 100644 --- a/arch/arm/plat-mxc/time.c +++ b/arch/arm/plat-mxc/time.c | |||
@@ -281,30 +281,13 @@ static int __init mxc_clockevent_init(struct clk *timer_clk) | |||
281 | return 0; | 281 | return 0; |
282 | } | 282 | } |
283 | 283 | ||
284 | void __init mxc_timer_init(struct clk *timer_clk) | 284 | void __init mxc_timer_init(struct clk *timer_clk, void __iomem *base, int irq) |
285 | { | 285 | { |
286 | uint32_t tctl_val; | 286 | uint32_t tctl_val; |
287 | int irq; | ||
288 | 287 | ||
289 | clk_enable(timer_clk); | 288 | clk_enable(timer_clk); |
290 | 289 | ||
291 | if (cpu_is_mx1()) { | 290 | timer_base = base; |
292 | #ifdef CONFIG_ARCH_MX1 | ||
293 | timer_base = IO_ADDRESS(TIM1_BASE_ADDR); | ||
294 | irq = TIM1_INT; | ||
295 | #endif | ||
296 | } else if (cpu_is_mx2()) { | ||
297 | #ifdef CONFIG_ARCH_MX2 | ||
298 | timer_base = IO_ADDRESS(GPT1_BASE_ADDR); | ||
299 | irq = MXC_INT_GPT1; | ||
300 | #endif | ||
301 | } else if (cpu_is_mx3()) { | ||
302 | #ifdef CONFIG_ARCH_MX3 | ||
303 | timer_base = IO_ADDRESS(GPT1_BASE_ADDR); | ||
304 | irq = MXC_INT_GPT; | ||
305 | #endif | ||
306 | } else | ||
307 | BUG(); | ||
308 | 291 | ||
309 | /* | 292 | /* |
310 | * Initialise to a known state (all timers off, and timing reset) | 293 | * Initialise to a known state (all timers off, and timing reset) |