diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-12-11 15:45:54 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-12-11 15:45:54 +0000 |
commit | 0f9ecc4ecf426a1710a863e524352df78ff2a3ae (patch) | |
tree | 7ddc1d1ed6398a05d0bd31def9e8f1bd79802a2d /c/src/lib/libcpu/m68k | |
parent | 2007-12-11 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-0f9ecc4ecf426a1710a863e524352df78ff2a3ae.tar.bz2 |
2007-12-11 Joel Sherrill <joel.sherrill@OARcorp.com>
* mcf5206/clock/ckinit.c, mcf5272/clock/ckinit.c: Eliminate copies of
the Configuration Table. Use the RTEMS provided accessor macros to
obtain configuration fields.
Diffstat (limited to 'c/src/lib/libcpu/m68k')
-rw-r--r-- | c/src/lib/libcpu/m68k/ChangeLog | 6 | ||||
-rw-r--r-- | c/src/lib/libcpu/m68k/mcf5206/clock/ckinit.c | 6 | ||||
-rw-r--r-- | c/src/lib/libcpu/m68k/mcf5272/clock/ckinit.c | 78 |
3 files changed, 48 insertions, 42 deletions
diff --git a/c/src/lib/libcpu/m68k/ChangeLog b/c/src/lib/libcpu/m68k/ChangeLog index ecb38f7c85..f75065279d 100644 --- a/c/src/lib/libcpu/m68k/ChangeLog +++ b/c/src/lib/libcpu/m68k/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill <joel.sherrill@OARcorp.com> + + * mcf5206/clock/ckinit.c, mcf5272/clock/ckinit.c: Eliminate copies of + the Configuration Table. Use the RTEMS provided accessor macros to + obtain configuration fields. + 2007-11-22 Chris Johns <chrisj@rtems.org> * m68k/mcf5235/include/mcf5235.h: Remove '/' from define label. diff --git a/c/src/lib/libcpu/m68k/mcf5206/clock/ckinit.c b/c/src/lib/libcpu/m68k/mcf5206/clock/ckinit.c index b8e8b4024b..0724bc2908 100644 --- a/c/src/lib/libcpu/m68k/mcf5206/clock/ckinit.c +++ b/c/src/lib/libcpu/m68k/mcf5206/clock/ckinit.c @@ -79,7 +79,7 @@ Clock_isr (rtems_vector_number vector) void Clock_exit(void) { - if (BSP_Configuration.ticks_per_timeslice) + if (rtems_configuration_get_ticks_per_timeslice()) { /* disable all timer1 interrupts */ *MCF5206E_IMR(MBAR) |= MCF5206E_INTR_BIT(MCF5206E_INTR_TIMER_1); @@ -107,7 +107,7 @@ static void Install_clock(rtems_isr_entry clock_isr) { Clock_driver_ticks = 0; - if (BSP_Configuration.ticks_per_timeslice) + if (rtems_configuration_get_ticks_per_timeslice()) { /* Configure timer1 interrupts */ *MCF5206E_ICR(MBAR,MCF5206E_INTR_TIMER_1) = @@ -133,7 +133,7 @@ Install_clock(rtems_isr_entry clock_isr) MCF5206E_TMR_RST; /* Set the timer timeout value from the BSP config */ - *MCF5206E_TRR(MBAR, 1) = BSP_Configuration.microseconds_per_tick - 1; + *MCF5206E_TRR(MBAR, 1) = rtems_configuration_get_microseconds_per_tick() - 1; /* Feed system frequency to the timer */ *MCF5206E_TMR(MBAR, 1) |= MCF5206E_TMR_ICLK_MSCLK; diff --git a/c/src/lib/libcpu/m68k/mcf5272/clock/ckinit.c b/c/src/lib/libcpu/m68k/mcf5272/clock/ckinit.c index 06f26faf76..69ef9258e0 100644 --- a/c/src/lib/libcpu/m68k/mcf5272/clock/ckinit.c +++ b/c/src/lib/libcpu/m68k/mcf5272/clock/ckinit.c @@ -84,7 +84,7 @@ Clock_isr (rtems_vector_number vector) void Clock_exit(void) { - if (BSP_Configuration.ticks_per_timeslice) { + if (rtems_configuration_get_ticks_per_timeslice()) { uint32_t icr; /* disable all timer1 interrupts */ icr = g_intctrl_regs->icr1; @@ -114,44 +114,44 @@ Clock_exit(void) static void Install_clock(rtems_isr_entry clock_isr) { - uint32_t icr; - Clock_driver_ticks = 0; - if (BSP_Configuration.ticks_per_timeslice) { - - /* Register the interrupt handler */ - set_vector(clock_isr, BSP_INTVEC_TMR1, 1); - - /* Reset timer 1 */ - g_timer_regs->tmr1 = MCF5272_TMR_RST; - g_timer_regs->tmr1 = MCF5272_TMR_CLK_STOP; - g_timer_regs->tmr1 = MCF5272_TMR_RST; - g_timer_regs->tcn1 = 0; /* reset counter */ - g_timer_regs->ter1 = MCF5272_TER_REF | MCF5272_TER_CAP; - - /* Set Timer 1 prescaler so that it counts in microseconds */ - g_timer_regs->tmr1 = ( - ((((BSP_SYSTEM_FREQUENCY / 1000000) - 1) << MCF5272_TMR_PS_SHIFT) | - MCF5272_TMR_CE_DISABLE | - MCF5272_TMR_ORI | - MCF5272_TMR_FRR | - MCF5272_TMR_CLK_MSTR | - MCF5272_TMR_RST)); - - /* Set the timer timeout value from the BSP config */ - g_timer_regs->trr1 = BSP_Configuration.microseconds_per_tick - 1; - - /* Feed system frequency to the timer */ - g_timer_regs->tmr1 |= MCF5272_TMR_CLK_MSTR; - - /* Configure timer1 interrupts */ - icr = g_intctrl_regs->icr1; - icr = icr & ~(MCF5272_ICR1_TMR1_MASK | MCF5272_ICR1_TMR1_PI); - icr |= (MCF5272_ICR1_TMR1_IPL(BSP_INTLVL_TMR1) | MCF5272_ICR1_TMR1_PI); - g_intctrl_regs->icr1 = icr; - - /* Register the driver exit procedure so we can shutdown */ - atexit(Clock_exit); - } + uint32_t icr; + Clock_driver_ticks = 0; + if (rtems_configuration_get_ticks_per_timeslice()) { + + /* Register the interrupt handler */ + set_vector(clock_isr, BSP_INTVEC_TMR1, 1); + + /* Reset timer 1 */ + g_timer_regs->tmr1 = MCF5272_TMR_RST; + g_timer_regs->tmr1 = MCF5272_TMR_CLK_STOP; + g_timer_regs->tmr1 = MCF5272_TMR_RST; + g_timer_regs->tcn1 = 0; /* reset counter */ + g_timer_regs->ter1 = MCF5272_TER_REF | MCF5272_TER_CAP; + + /* Set Timer 1 prescaler so that it counts in microseconds */ + g_timer_regs->tmr1 = ( + ((((BSP_SYSTEM_FREQUENCY / 1000000) - 1) << MCF5272_TMR_PS_SHIFT) | + MCF5272_TMR_CE_DISABLE | + MCF5272_TMR_ORI | + MCF5272_TMR_FRR | + MCF5272_TMR_CLK_MSTR | + MCF5272_TMR_RST)); + + /* Set the timer timeout value from the BSP config */ + g_timer_regs->trr1 = rtems_configuration_get_microseconds_per_tick() - 1; + + /* Feed system frequency to the timer */ + g_timer_regs->tmr1 |= MCF5272_TMR_CLK_MSTR; + + /* Configure timer1 interrupts */ + icr = g_intctrl_regs->icr1; + icr = icr & ~(MCF5272_ICR1_TMR1_MASK | MCF5272_ICR1_TMR1_PI); + icr |= (MCF5272_ICR1_TMR1_IPL(BSP_INTLVL_TMR1) | MCF5272_ICR1_TMR1_PI); + g_intctrl_regs->icr1 = icr; + + /* Register the driver exit procedure so we can shutdown */ + atexit(Clock_exit); + } } |