diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-04-02 11:32:11 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-04-02 13:40:15 +0200 |
commit | 8bb00ace5090804804f6011a02e097176fa63bb8 (patch) | |
tree | 53efdb2189daab1802eb62a11f879ce787ddf03c /c/src/lib/libbsp/powerpc/gen83xx | |
parent | bsp/gen83xx: Support cache BSP options (diff) | |
download | rtems-8bb00ace5090804804f6011a02e097176fa63bb8.tar.bz2 |
bsps: More accurate PowerPC clock driver
The clock driver used previously the bsp_clicks_per_usec value. For a
33333333Hz time base frequency this leads to a relative error of one per
cent for example due to integer truncation.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/gen83xx')
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c b/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c index 3a9772d165..3261617e39 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c @@ -34,7 +34,10 @@ /* Configuration parameters for console driver, ... */ unsigned int BSP_bus_frequency; -/* Configuration parameters for clock driver, ... */ +/* Configuration parameter for clock driver */ +uint32_t bsp_time_base_frequency; + +/* Legacy */ uint32_t bsp_clicks_per_usec; /* Default decrementer exception handler */ @@ -113,11 +116,11 @@ void bsp_start( void) #ifdef HAS_UBOOT BSP_bus_frequency = bsp_uboot_board_info.bi_busfreq; - bsp_clicks_per_usec = bsp_uboot_board_info.bi_busfreq / 4000000; #else /* HAS_UBOOT */ BSP_bus_frequency = BSP_CLKIN_FRQ * BSP_SYSPLL_MF / BSP_SYSPLL_CKID; - bsp_clicks_per_usec = BSP_bus_frequency / 4000000; #endif /* HAS_UBOOT */ + bsp_time_base_frequency = BSP_bus_frequency / 4; + bsp_clicks_per_usec = bsp_time_base_frequency / 1000000; /* Initialize some console parameters */ for (i = 0; i < Console_Port_Count; ++i) { |