Skip to content
Snippets Groups Projects
Commit 5bbcb6cf authored by Michal Simek's avatar Michal Simek
Browse files

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: default avatarMichal Simek <monstr@monstr.eu>
parent cc53690e
No related branches found
No related tags found
No related merge requests found
...@@ -46,9 +46,6 @@ int disable_interrupts (void) ...@@ -46,9 +46,6 @@ int disable_interrupts (void)
} }
#ifdef CONFIG_SYS_INTC_0 #ifdef CONFIG_SYS_INTC_0
#ifdef CONFIG_SYS_TIMER_0
extern void timer_init (void);
#endif
#ifdef CONFIG_SYS_FSL_2 #ifdef CONFIG_SYS_FSL_2
extern void fsl_init2 (void); extern void fsl_init2 (void);
#endif #endif
...@@ -142,9 +139,6 @@ int interrupts_init (void) ...@@ -142,9 +139,6 @@ int interrupts_init (void)
} }
/* initialize intc controller */ /* initialize intc controller */
intc_init (); intc_init ();
#ifdef CONFIG_SYS_TIMER_0
timer_init ();
#endif
#ifdef CONFIG_SYS_FSL_2 #ifdef CONFIG_SYS_FSL_2
fsl_init2 (); fsl_init2 ();
#endif #endif
......
...@@ -60,7 +60,7 @@ void timer_isr (void *arg) ...@@ -60,7 +60,7 @@ void timer_isr (void *arg)
tmr->control = tmr->control | TIMER_INTERRUPT; tmr->control = tmr->control | TIMER_INTERRUPT;
} }
void timer_init (void) int timer_init (void)
{ {
tmr->loadreg = CONFIG_SYS_TIMER_0_PRELOAD; tmr->loadreg = CONFIG_SYS_TIMER_0_PRELOAD;
tmr->control = TIMER_INTERRUPT | TIMER_RESET; tmr->control = TIMER_INTERRUPT | TIMER_RESET;
...@@ -68,6 +68,7 @@ void timer_init (void) ...@@ -68,6 +68,7 @@ void timer_init (void)
TIMER_ENABLE | TIMER_ENABLE_INTR | TIMER_RELOAD | TIMER_DOWN_COUNT; TIMER_ENABLE | TIMER_ENABLE_INTR | TIMER_RELOAD | TIMER_DOWN_COUNT;
reset_timer (); reset_timer ();
install_interrupt_handler (CONFIG_SYS_TIMER_0_IRQ, timer_isr, (void *)tmr); install_interrupt_handler (CONFIG_SYS_TIMER_0_IRQ, timer_isr, (void *)tmr);
return 0;
} }
#endif #endif
#endif #endif
...@@ -44,6 +44,10 @@ extern int interrupts_init (void); ...@@ -44,6 +44,10 @@ extern int interrupts_init (void);
#if defined(CONFIG_CMD_NET) #if defined(CONFIG_CMD_NET)
extern int eth_init (bd_t * bis); extern int eth_init (bd_t * bis);
#endif #endif
#ifdef CONFIG_SYS_TIMER_0
extern int timer_init (void);
#endif
/* /*
* All attempts to come up with a "common" initialization sequence * All attempts to come up with a "common" initialization sequence
...@@ -67,6 +71,9 @@ init_fnc_t *init_sequence[] = { ...@@ -67,6 +71,9 @@ init_fnc_t *init_sequence[] = {
#endif #endif
#ifdef CONFIG_SYS_INTC_0 #ifdef CONFIG_SYS_INTC_0
interrupts_init, interrupts_init,
#endif
#ifdef CONFIG_SYS_TIMER_0
timer_init,
#endif #endif
NULL, NULL,
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment