MXC: pass base/irq to mxc_timer_init
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Родитель
4be3bd7849
Коммит
8db5d1a64d
|
@ -626,7 +626,7 @@ int __init mx1_clocks_init(unsigned long fref)
|
|||
clk_enable(&hclk);
|
||||
clk_enable(&fclk);
|
||||
|
||||
mxc_timer_init(&gpt_clk);
|
||||
mxc_timer_init(&gpt_clk, IO_ADDRESS(TIM1_BASE_ADDR), TIM1_INT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1004,6 +1004,6 @@ int __init mx21_clocks_init(unsigned long lref, unsigned long href)
|
|||
clk_enable(&uart_clk[0]);
|
||||
#endif
|
||||
|
||||
mxc_timer_init(&gpt_clk[0]);
|
||||
mxc_timer_init(&gpt_clk[0], IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT1);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -748,7 +748,7 @@ int __init mx27_clocks_init(unsigned long fref)
|
|||
clk_enable(&uart1_clk);
|
||||
#endif
|
||||
|
||||
mxc_timer_init(&gpt1_clk);
|
||||
mxc_timer_init(&gpt1_clk, IO_ADDRESS(GPT1_BASE_ADDR), MXC_INT_GPT1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -456,7 +456,7 @@ int __init mx35_clocks_init()
|
|||
__raw_writel((3 << 26) | ll, CCM_BASE + CCM_CGR2);
|
||||
__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;
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include <mach/clock.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/mx31.h>
|
||||
#include <mach/common.h>
|
||||
|
||||
#include "crm_regs.h"
|
||||
|
@ -609,7 +610,7 @@ int __init mx31_clocks_init(unsigned long fref)
|
|||
__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;
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ extern void mx27_map_io(void);
|
|||
extern void mx31_map_io(void);
|
||||
extern void mx35_map_io(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 mx21_clocks_init(unsigned long lref, 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)
|
|||
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;
|
||||
int irq;
|
||||
|
||||
clk_enable(timer_clk);
|
||||
|
||||
if (cpu_is_mx1()) {
|
||||
#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();
|
||||
timer_base = base;
|
||||
|
||||
/*
|
||||
* Initialise to a known state (all timers off, and timing reset)
|
||||
|
|
Загрузка…
Ссылка в новой задаче