diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-12-23 07:29:47 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-19 08:36:14 +0100 |
commit | 76ac1ee3bba2a20ded7ea12394af0a633be25ff9 (patch) | |
tree | 802c0a592b72ce017bb0e739f138d1877b9475ab /c/src/lib/libbsp/powerpc | |
parent | taskcreate.c: Add method name to comment to be clearer (diff) | |
download | rtems-76ac1ee3bba2a20ded7ea12394af0a633be25ff9.tar.bz2 |
score: Fix simple timecounter support
Update #2502.
Diffstat (limited to 'c/src/lib/libbsp/powerpc')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c index 4de9a520ab..c0b8905b20 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c @@ -55,18 +55,22 @@ static uint32_t mpc55xx_tc_get_timecount(struct timecounter *tc) ); } -static void mpc55xx_tc_tick(void) -{ - rtems_timecounter_simple_upcounter_tick(&mpc55xx_tc, mpc55xx_tc_get); -} - -static void mpc55xx_clock_at_tick(void) +static void mpc55xx_tc_at_tick(rtems_timecounter_simple *tc) { union EMIOS_CSR_tag csr = MPC55XX_ZERO_FLAGS; csr.B.FLAG = 1; EMIOS.CH [MPC55XX_CLOCK_EMIOS_CHANNEL].CSR.R = csr.R; } +static void mpc55xx_tc_tick(void) +{ + rtems_timecounter_simple_upcounter_tick( + &mpc55xx_tc, + mpc55xx_tc_get, + mpc55xx_tc_at_tick + ); +} + static void mpc55xx_clock_handler_install(rtems_isr_entry isr) { rtems_status_code sc = RTEMS_SUCCESSFUL; @@ -174,12 +178,7 @@ static uint32_t mpc55xx_tc_get_timecount(struct timecounter *tc) ); } -static void mpc55xx_tc_tick(void) -{ - rtems_timecounter_simple_downcounter_tick(&mpc55xx_tc, mpc55xx_tc_get); -} - -static void mpc55xx_clock_at_tick(void) +static void mpc55xx_tc_at_tick(rtems_timecounter_simple *tc) { volatile PIT_RTI_CHANNEL_tag *channel = &PIT_RTI.CHANNEL [MPC55XX_CLOCK_PIT_CHANNEL]; @@ -188,6 +187,15 @@ static void mpc55xx_clock_at_tick(void) channel->TFLG.R = tflg.R; } +static void mpc55xx_tc_tick(void) +{ + rtems_timecounter_simple_downcounter_tick( + &mpc55xx_tc, + mpc55xx_tc_get, + mpc55xx_tc_at_tick + ); +} + static void mpc55xx_clock_handler_install(rtems_isr_entry isr) { rtems_status_code sc = RTEMS_SUCCESSFUL; @@ -238,8 +246,6 @@ static void mpc55xx_clock_cleanup(void) #endif #define Clock_driver_timecounter_tick() mpc55xx_tc_tick() -#define Clock_driver_support_at_tick() \ - mpc55xx_clock_at_tick() #define Clock_driver_support_initialize_hardware() \ mpc55xx_clock_initialize() #define Clock_driver_support_install_isr(isr, old_isr) \ |