/* * Set up timer hardware into expected mode and state. */ static void __init imx_timer_hardware_init(void) { /* * Initialise to a known state (all timers off, and timing reset) */ IMX_TCTL(TIMER_BASE) = 0; IMX_TPRER(TIMER_BASE) = 0; IMX_TCTL(TIMER_BASE) = TCTL_FRR | TCTL_CLK_PCLK1 | TCTL_TEN; }
/* * Set up timer interrupt, and return the current time in seconds. */ static void __init imx_timer_init(void) { /* * Initialise to a known state (all timers off, and timing reset) */ IMX_TCTL(TIMER_BASE) = 0; IMX_TPRER(TIMER_BASE) = 0; IMX_TCMP(TIMER_BASE) = LATCH - 1; IMX_TCTL(TIMER_BASE) = TCTL_CLK_32 | TCTL_IRQEN | TCTL_TEN; /* * Make irqs happen for the system timer */ setup_irq(TIM1_INT, &imx_timer_irq); }