Commit 8db5d1a6 authored by Sascha Hauer's avatar Sascha Hauer

MXC: pass base/irq to mxc_timer_init

Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent 4be3bd78
...@@ -626,7 +626,7 @@ int __init mx1_clocks_init(unsigned long fref) ...@@ -626,7 +626,7 @@ int __init mx1_clocks_init(unsigned long fref)
clk_enable(&hclk); clk_enable(&hclk);
clk_enable(&fclk); clk_enable(&fclk);
mxc_timer_init(&gpt_clk); mxc_timer_init(&gpt_clk, IO_ADDRESS(TIM1_BASE_ADDR), TIM1_INT);
return 0; return 0;
} }
...@@ -1004,6 +1004,6 @@ int __init mx21_clocks_init(unsigned long lref, unsigned long href) ...@@ -1004,6 +1004,6 @@ int __init mx21_clocks_init(unsigned long lref, unsigned long href)
clk_enable(&uart_clk[0]); clk_enable(&uart_clk[0]);
#endif #endif
mxc_timer_init(&gpt_clk[0]); mxc_timer_init(&gpt_clk[0], IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT1);
return 0; return 0;
} }
...@@ -748,7 +748,7 @@ int __init mx27_clocks_init(unsigned long fref) ...@@ -748,7 +748,7 @@ int __init mx27_clocks_init(unsigned long fref)
clk_enable(&uart1_clk); clk_enable(&uart1_clk);
#endif #endif
mxc_timer_init(&gpt1_clk); mxc_timer_init(&gpt1_clk, IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT1);
return 0; return 0;
} }
......
...@@ -456,7 +456,7 @@ int __init mx35_clocks_init() ...@@ -456,7 +456,7 @@ int __init mx35_clocks_init()
__raw_writel((3 << 26) | ll, CCM_BASE + CCM_CGR2); __raw_writel((3 << 26) | ll, CCM_BASE + CCM_CGR2);
__raw_writel(0, CCM_BASE + CCM_CGR3); __raw_writel(0, CCM_BASE + CCM_CGR3);
mxc_timer_init(&gpt_clk); mxc_timer_init(&ipg_clk, IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT);
return 0; return 0;
} }
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <mach/clock.h> #include <mach/clock.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/mx31.h>
#include <mach/common.h> #include <mach/common.h>
#include "crm_regs.h" #include "crm_regs.h"
...@@ -609,7 +610,7 @@ int __init mx31_clocks_init(unsigned long fref) ...@@ -609,7 +610,7 @@ int __init mx31_clocks_init(unsigned long fref)
__raw_writel(reg, MXC_CCM_PMCR1); __raw_writel(reg, MXC_CCM_PMCR1);
} }
mxc_timer_init(&ipg_clk); mxc_timer_init(&ipg_clk, IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT);
return 0; return 0;
} }
......
...@@ -20,7 +20,7 @@ extern void mx27_map_io(void); ...@@ -20,7 +20,7 @@ extern void mx27_map_io(void);
extern void mx31_map_io(void); extern void mx31_map_io(void);
extern void mx35_map_io(void); extern void mx35_map_io(void);
extern void mxc_init_irq(void); extern void mxc_init_irq(void);
extern void mxc_timer_init(struct clk *timer_clk); extern void mxc_timer_init(struct clk *timer_clk, void __iomem *, int);
extern int mx1_clocks_init(unsigned long fref); extern int mx1_clocks_init(unsigned long fref);
extern int mx21_clocks_init(unsigned long lref, unsigned long fref); extern int mx21_clocks_init(unsigned long lref, unsigned long fref);
extern int mx27_clocks_init(unsigned long fref); extern int mx27_clocks_init(unsigned long fref);
......
...@@ -281,30 +281,13 @@ static int __init mxc_clockevent_init(struct clk *timer_clk) ...@@ -281,30 +281,13 @@ static int __init mxc_clockevent_init(struct clk *timer_clk)
return 0; return 0;
} }
void __init mxc_timer_init(struct clk *timer_clk) void __init mxc_timer_init(struct clk *timer_clk, void __iomem *base, int irq)
{ {
uint32_t tctl_val; uint32_t tctl_val;
int irq;
clk_enable(timer_clk); clk_enable(timer_clk);
if (cpu_is_mx1()) { timer_base = base;
#ifdef CONFIG_ARCH_MX1
timer_base = IO_ADDRESS(TIM1_BASE_ADDR);
irq = TIM1_INT;
#endif
} else if (cpu_is_mx2()) {
#ifdef CONFIG_ARCH_MX2
timer_base = IO_ADDRESS(GPT1_BASE_ADDR);
irq = MXC_INT_GPT1;
#endif
} else if (cpu_is_mx3()) {
#ifdef CONFIG_ARCH_MX3
timer_base = IO_ADDRESS(GPT1_BASE_ADDR);
irq = MXC_INT_GPT;
#endif
} else
BUG();
/* /*
* Initialise to a known state (all timers off, and timing reset) * Initialise to a known state (all timers off, and timing reset)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment