microblaze: Move timer initialization to board.c
I would like to handle case where system doesn't contain intc that's why I need timer initialization out of intc code. Signed-off-by: Michal Simek <monstr@monstr.eu>
This commit is contained in:
parent
cc53690e05
commit
5bbcb6cf22
|
@ -46,9 +46,6 @@ int disable_interrupts (void)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_SYS_INTC_0
|
||||
#ifdef CONFIG_SYS_TIMER_0
|
||||
extern void timer_init (void);
|
||||
#endif
|
||||
#ifdef CONFIG_SYS_FSL_2
|
||||
extern void fsl_init2 (void);
|
||||
#endif
|
||||
|
@ -142,9 +139,6 @@ int interrupts_init (void)
|
|||
}
|
||||
/* initialize intc controller */
|
||||
intc_init ();
|
||||
#ifdef CONFIG_SYS_TIMER_0
|
||||
timer_init ();
|
||||
#endif
|
||||
#ifdef CONFIG_SYS_FSL_2
|
||||
fsl_init2 ();
|
||||
#endif
|
||||
|
|
|
@ -60,7 +60,7 @@ void timer_isr (void *arg)
|
|||
tmr->control = tmr->control | TIMER_INTERRUPT;
|
||||
}
|
||||
|
||||
void timer_init (void)
|
||||
int timer_init (void)
|
||||
{
|
||||
tmr->loadreg = CONFIG_SYS_TIMER_0_PRELOAD;
|
||||
tmr->control = TIMER_INTERRUPT | TIMER_RESET;
|
||||
|
@ -68,6 +68,7 @@ void timer_init (void)
|
|||
TIMER_ENABLE | TIMER_ENABLE_INTR | TIMER_RELOAD | TIMER_DOWN_COUNT;
|
||||
reset_timer ();
|
||||
install_interrupt_handler (CONFIG_SYS_TIMER_0_IRQ, timer_isr, (void *)tmr);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -44,6 +44,10 @@ extern int interrupts_init (void);
|
|||
#if defined(CONFIG_CMD_NET)
|
||||
extern int eth_init (bd_t * bis);
|
||||
#endif
|
||||
#ifdef CONFIG_SYS_TIMER_0
|
||||
extern int timer_init (void);
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* All attempts to come up with a "common" initialization sequence
|
||||
|
@ -67,6 +71,9 @@ init_fnc_t *init_sequence[] = {
|
|||
#endif
|
||||
#ifdef CONFIG_SYS_INTC_0
|
||||
interrupts_init,
|
||||
#endif
|
||||
#ifdef CONFIG_SYS_TIMER_0
|
||||
timer_init,
|
||||
#endif
|
||||
NULL,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue