From 7a4fb11b85939b47738283c3a7ae7f461468e274 Mon Sep 17 00:00:00 2001 From: Francois Retief Date: Sat, 21 Nov 2015 23:15:07 +0200 Subject: sparc: Remove non-generic board init files: board.c, time.c Remove the board.c and time.c files and all associated non-generic board initialization code. Signed-off-by: Francois Retief --- arch/sparc/cpu/leon2/cpu_init.c | 45 +---------------------------- arch/sparc/cpu/leon2/interrupts.c | 14 --------- arch/sparc/cpu/leon3/cpu_init.c | 60 --------------------------------------- arch/sparc/cpu/leon3/interrupts.c | 11 ------- 4 files changed, 1 insertion(+), 129 deletions(-) (limited to 'arch/sparc/cpu') diff --git a/arch/sparc/cpu/leon2/cpu_init.c b/arch/sparc/cpu/leon2/cpu_init.c index b4d91e5..9dfb99c 100644 --- a/arch/sparc/cpu/leon2/cpu_init.c +++ b/arch/sparc/cpu/leon2/cpu_init.c @@ -14,9 +14,6 @@ #include -#define TIMER_BASE_CLK 1000000 -#define US_PER_TICK (1000000 / CONFIG_SYS_HZ) - DECLARE_GLOBAL_DATA_PTR; /* @@ -77,48 +74,8 @@ int cpu_init_r(void) return 0; } -/* Uses Timer 0 to get accurate - * pauses. Max 2 raised to 32 ticks - * - */ -void cpu_wait_ticks(unsigned long ticks) -{ - unsigned long start = get_timer(0); - while (get_timer(start) < ticks) ; -} - -/* initiate and setup timer0 interrupt to configured HZ. Base clock is 1MHz. - * Return irq number for timer int or a negative number for - * dealing with self - */ -int timer_interrupt_init_cpu(void) -{ - LEON2_regs *leon2 = (LEON2_regs *) LEON2_PREGS; - - /* SYS_HZ ticks per second */ - leon2->Timer_Counter_1 = 0; - leon2->Timer_Reload_1 = (TIMER_BASE_CLK / CONFIG_SYS_HZ) - 1; - leon2->Timer_Control_1 = - (LEON2_TIMER_CTRL_EN | LEON2_TIMER_CTRL_RS | LEON2_TIMER_CTRL_LD); - - return LEON2_TIMER1_IRQNO; -} - -/* - * This function is intended for SHORT delays only. +/* initiate and setup timer0 to configured HZ. Base clock is 1MHz. */ -unsigned long cpu_usec2ticks(unsigned long usec) -{ - if (usec < US_PER_TICK) - return 1; - return usec / US_PER_TICK; -} - -unsigned long cpu_ticks2usec(unsigned long ticks) -{ - return ticks * US_PER_TICK; -} - int timer_init(void) { LEON2_regs *leon2 = (LEON2_regs *)LEON2_PREGS; diff --git a/arch/sparc/cpu/leon2/interrupts.c b/arch/sparc/cpu/leon2/interrupts.c index f78ec8a..602e4a6 100644 --- a/arch/sparc/cpu/leon2/interrupts.c +++ b/arch/sparc/cpu/leon2/interrupts.c @@ -118,20 +118,6 @@ int interrupt_init_cpu(void) /****************************************************************************/ -/* Handle Timer 0 IRQ */ -void timer_interrupt_cpu(void *arg) -{ - LEON2_regs *leon2 = (LEON2_regs *) LEON2_PREGS; - - leon2->Timer_Control_1 = - (LEON2_TIMER_CTRL_EN | LEON2_TIMER_CTRL_RS | LEON2_TIMER_CTRL_LD); - - /* nothing to do here */ - return; -} - -/****************************************************************************/ - /* * Install and free a interrupt handler. */ diff --git a/arch/sparc/cpu/leon3/cpu_init.c b/arch/sparc/cpu/leon3/cpu_init.c index 9e294bf..f25388c 100644 --- a/arch/sparc/cpu/leon3/cpu_init.c +++ b/arch/sparc/cpu/leon3/cpu_init.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include @@ -29,9 +28,6 @@ #define CONFIG_SYS_GRLIB_GPTIMER_INDEX 0 #endif -#define TIMER_BASE_CLK 1000000 -#define US_PER_TICK (1000000 / CONFIG_SYS_HZ) - DECLARE_GLOBAL_DATA_PTR; ambapp_dev_irqmp *irqmp = NULL; @@ -142,63 +138,7 @@ int cpu_init_r(void) return 0; } -/* Busy wait a number of ms */ -void cpu_wait_ms_busy(unsigned long ms) -{ - unsigned int ms_delay; - volatile unsigned int tmp; - - /* ~10-20 cycles per decrement */ - ms_delay = leon_cpu_freq / (1000 * 10); - do { - /* Wait ~1ms */ - tmp = ms_delay; - while (tmp-- > 0) - ; - } while (--ms > 0); -} - -/* Uses Timer 0 to get accurate - * pauses. Max 2 raised to 32 ticks - * - */ -void cpu_wait_ticks(unsigned long ticks) -{ - unsigned long start; - - if (interrupt_is_enabled()) { - start = get_timer(0); - while (get_timer(start) < ticks) ; - } else { - /* Interrupts disabled, this means that we cannot - * use get_timer(), it relies on IRQ. Instead the - * CPU frequency is used. - */ - cpu_wait_ms_busy(ticks2usec(ticks) / 1000); - } -} - -int timer_interrupt_init_cpu(void) -{ - return -1; -} - -/* - * This function is intended for SHORT delays only. - */ -unsigned long cpu_usec2ticks(unsigned long usec) -{ - if (usec < US_PER_TICK) - return 1; - return usec / US_PER_TICK; -} - -unsigned long cpu_ticks2usec(unsigned long ticks) -{ - return ticks * US_PER_TICK; -} - int timer_init(void) { ambapp_dev_gptimer_element *tmr; diff --git a/arch/sparc/cpu/leon3/interrupts.c b/arch/sparc/cpu/leon3/interrupts.c index 2312b58..00c3288 100644 --- a/arch/sparc/cpu/leon3/interrupts.c +++ b/arch/sparc/cpu/leon3/interrupts.c @@ -124,17 +124,6 @@ int interrupt_init_cpu(void) /****************************************************************************/ -/* Handle Timer 0 IRQ */ -void timer_interrupt_cpu(void *arg) -{ - gptimer->e[0].ctrl = (GPTIMER_CTRL_EN | GPTIMER_CTRL_RS | - GPTIMER_CTRL_LD | GPTIMER_CTRL_IE); - /* nothing to do here */ - return; -} - -/****************************************************************************/ - /* * Install and free a interrupt handler. */ -- cgit v1.1