forked from Imagelibrary/rtems
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.
This commit is contained in:
@@ -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>
|
2007-11-22 Chris Johns <chrisj@rtems.org>
|
||||||
|
|
||||||
* m68k/mcf5235/include/mcf5235.h: Remove '/' from define label.
|
* m68k/mcf5235/include/mcf5235.h: Remove '/' from define label.
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ Clock_isr (rtems_vector_number vector)
|
|||||||
void
|
void
|
||||||
Clock_exit(void)
|
Clock_exit(void)
|
||||||
{
|
{
|
||||||
if (BSP_Configuration.ticks_per_timeslice)
|
if (rtems_configuration_get_ticks_per_timeslice())
|
||||||
{
|
{
|
||||||
/* disable all timer1 interrupts */
|
/* disable all timer1 interrupts */
|
||||||
*MCF5206E_IMR(MBAR) |= MCF5206E_INTR_BIT(MCF5206E_INTR_TIMER_1);
|
*MCF5206E_IMR(MBAR) |= MCF5206E_INTR_BIT(MCF5206E_INTR_TIMER_1);
|
||||||
@@ -107,7 +107,7 @@ static void
|
|||||||
Install_clock(rtems_isr_entry clock_isr)
|
Install_clock(rtems_isr_entry clock_isr)
|
||||||
{
|
{
|
||||||
Clock_driver_ticks = 0;
|
Clock_driver_ticks = 0;
|
||||||
if (BSP_Configuration.ticks_per_timeslice)
|
if (rtems_configuration_get_ticks_per_timeslice())
|
||||||
{
|
{
|
||||||
/* Configure timer1 interrupts */
|
/* Configure timer1 interrupts */
|
||||||
*MCF5206E_ICR(MBAR,MCF5206E_INTR_TIMER_1) =
|
*MCF5206E_ICR(MBAR,MCF5206E_INTR_TIMER_1) =
|
||||||
@@ -133,7 +133,7 @@ Install_clock(rtems_isr_entry clock_isr)
|
|||||||
MCF5206E_TMR_RST;
|
MCF5206E_TMR_RST;
|
||||||
|
|
||||||
/* Set the timer timeout value from the BSP config */
|
/* 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 */
|
/* Feed system frequency to the timer */
|
||||||
*MCF5206E_TMR(MBAR, 1) |= MCF5206E_TMR_ICLK_MSCLK;
|
*MCF5206E_TMR(MBAR, 1) |= MCF5206E_TMR_ICLK_MSCLK;
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ Clock_isr (rtems_vector_number vector)
|
|||||||
void
|
void
|
||||||
Clock_exit(void)
|
Clock_exit(void)
|
||||||
{
|
{
|
||||||
if (BSP_Configuration.ticks_per_timeslice) {
|
if (rtems_configuration_get_ticks_per_timeslice()) {
|
||||||
uint32_t icr;
|
uint32_t icr;
|
||||||
/* disable all timer1 interrupts */
|
/* disable all timer1 interrupts */
|
||||||
icr = g_intctrl_regs->icr1;
|
icr = g_intctrl_regs->icr1;
|
||||||
@@ -114,44 +114,44 @@ Clock_exit(void)
|
|||||||
static void
|
static void
|
||||||
Install_clock(rtems_isr_entry clock_isr)
|
Install_clock(rtems_isr_entry clock_isr)
|
||||||
{
|
{
|
||||||
uint32_t icr;
|
uint32_t icr;
|
||||||
Clock_driver_ticks = 0;
|
Clock_driver_ticks = 0;
|
||||||
if (BSP_Configuration.ticks_per_timeslice) {
|
if (rtems_configuration_get_ticks_per_timeslice()) {
|
||||||
|
|
||||||
/* Register the interrupt handler */
|
/* Register the interrupt handler */
|
||||||
set_vector(clock_isr, BSP_INTVEC_TMR1, 1);
|
set_vector(clock_isr, BSP_INTVEC_TMR1, 1);
|
||||||
|
|
||||||
/* Reset timer 1 */
|
/* Reset timer 1 */
|
||||||
g_timer_regs->tmr1 = MCF5272_TMR_RST;
|
g_timer_regs->tmr1 = MCF5272_TMR_RST;
|
||||||
g_timer_regs->tmr1 = MCF5272_TMR_CLK_STOP;
|
g_timer_regs->tmr1 = MCF5272_TMR_CLK_STOP;
|
||||||
g_timer_regs->tmr1 = MCF5272_TMR_RST;
|
g_timer_regs->tmr1 = MCF5272_TMR_RST;
|
||||||
g_timer_regs->tcn1 = 0; /* reset counter */
|
g_timer_regs->tcn1 = 0; /* reset counter */
|
||||||
g_timer_regs->ter1 = MCF5272_TER_REF | MCF5272_TER_CAP;
|
g_timer_regs->ter1 = MCF5272_TER_REF | MCF5272_TER_CAP;
|
||||||
|
|
||||||
/* Set Timer 1 prescaler so that it counts in microseconds */
|
/* Set Timer 1 prescaler so that it counts in microseconds */
|
||||||
g_timer_regs->tmr1 = (
|
g_timer_regs->tmr1 = (
|
||||||
((((BSP_SYSTEM_FREQUENCY / 1000000) - 1) << MCF5272_TMR_PS_SHIFT) |
|
((((BSP_SYSTEM_FREQUENCY / 1000000) - 1) << MCF5272_TMR_PS_SHIFT) |
|
||||||
MCF5272_TMR_CE_DISABLE |
|
MCF5272_TMR_CE_DISABLE |
|
||||||
MCF5272_TMR_ORI |
|
MCF5272_TMR_ORI |
|
||||||
MCF5272_TMR_FRR |
|
MCF5272_TMR_FRR |
|
||||||
MCF5272_TMR_CLK_MSTR |
|
MCF5272_TMR_CLK_MSTR |
|
||||||
MCF5272_TMR_RST));
|
MCF5272_TMR_RST));
|
||||||
|
|
||||||
/* Set the timer timeout value from the BSP config */
|
/* Set the timer timeout value from the BSP config */
|
||||||
g_timer_regs->trr1 = BSP_Configuration.microseconds_per_tick - 1;
|
g_timer_regs->trr1 = rtems_configuration_get_microseconds_per_tick() - 1;
|
||||||
|
|
||||||
/* Feed system frequency to the timer */
|
/* Feed system frequency to the timer */
|
||||||
g_timer_regs->tmr1 |= MCF5272_TMR_CLK_MSTR;
|
g_timer_regs->tmr1 |= MCF5272_TMR_CLK_MSTR;
|
||||||
|
|
||||||
/* Configure timer1 interrupts */
|
/* Configure timer1 interrupts */
|
||||||
icr = g_intctrl_regs->icr1;
|
icr = g_intctrl_regs->icr1;
|
||||||
icr = icr & ~(MCF5272_ICR1_TMR1_MASK | MCF5272_ICR1_TMR1_PI);
|
icr = icr & ~(MCF5272_ICR1_TMR1_MASK | MCF5272_ICR1_TMR1_PI);
|
||||||
icr |= (MCF5272_ICR1_TMR1_IPL(BSP_INTLVL_TMR1) | MCF5272_ICR1_TMR1_PI);
|
icr |= (MCF5272_ICR1_TMR1_IPL(BSP_INTLVL_TMR1) | MCF5272_ICR1_TMR1_PI);
|
||||||
g_intctrl_regs->icr1 = icr;
|
g_intctrl_regs->icr1 = icr;
|
||||||
|
|
||||||
/* Register the driver exit procedure so we can shutdown */
|
/* Register the driver exit procedure so we can shutdown */
|
||||||
atexit(Clock_exit);
|
atexit(Clock_exit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user