|
@@ -17,6 +17,7 @@
|
|
|
|
|
|
#include <asm/hardware/cache-tauros2.h>
|
|
|
|
|
|
+#include <asm/mach/time.h>
|
|
|
#include <mach/addr-map.h>
|
|
|
#include <mach/regs-apbc.h>
|
|
|
#include <mach/regs-apmu.h>
|
|
@@ -158,6 +159,26 @@ static int __init mmp2_init(void)
|
|
|
}
|
|
|
postcore_initcall(mmp2_init);
|
|
|
|
|
|
+static void __init mmp2_timer_init(void)
|
|
|
+{
|
|
|
+ unsigned long clk_rst;
|
|
|
+
|
|
|
+ __raw_writel(APBC_APBCLK | APBC_RST, APBC_MMP2_TIMERS);
|
|
|
+
|
|
|
+ /*
|
|
|
+ * enable bus/functional clock, enable 6.5MHz (divider 4),
|
|
|
+ * release reset
|
|
|
+ */
|
|
|
+ clk_rst = APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(1);
|
|
|
+ __raw_writel(clk_rst, APBC_MMP2_TIMERS);
|
|
|
+
|
|
|
+ timer_init(IRQ_MMP2_TIMER1);
|
|
|
+}
|
|
|
+
|
|
|
+struct sys_timer mmp2_timer = {
|
|
|
+ .init = mmp2_timer_init,
|
|
|
+};
|
|
|
+
|
|
|
/* on-chip devices */
|
|
|
MMP2_DEVICE(uart1, "pxa2xx-uart", 0, UART1, 0xd4030000, 0x30, 4, 5);
|
|
|
MMP2_DEVICE(uart2, "pxa2xx-uart", 1, UART2, 0xd4017000, 0x30, 20, 21);
|