diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-05-07 16:29:54 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-05-07 16:29:54 +0000 |
commit | c34aaae7e6f5b14046280380004693856587fac9 (patch) | |
tree | de263bee0ee926737a4754f90f1f5613f77d0282 /c/src | |
parent | Bug fix from Gunter Magin <magin@skil.camelot.de>: (diff) | |
download | rtems-c34aaae7e6f5b14046280380004693856587fac9.tar.bz2 |
Bug fix from Gunter Magin <magin@@skil.camelot.de>:
in libcpu/powerpc/mpc860/clock/clock.c:InstallClock() the reload value for
the PIT is defined as:
pit_value = (BSP_Configuration.microseconds_per_tick *
Cpu_table.clicks_per_usec) - 1 ;
What exactly is a tick, and what is a click?
My confusion stems from the fact, that Jay defines clicks_per_usec to 1
which is correct for his configuration, where a 4MHz clock is predivided
by 4 and then fed to the PIT. So I assume a "click" is just the period of
the PIT input frequency.
However, our HW config seems to have 32.768 kHz crystal input for PIT.
Mandatory division by 4 means 8.196kHz (122usec) at the PIT.
I think, the above assignment should read:
pit_value = (BSP_Configuration.microseconds_per_tick /
Cpu_table.clicks_per_usec) - 1;
where I can define Cpu_table.clicks_per_usec in bspstart.c to 122
(clicks_per_usec). That would lead to a PIT reload value of
10000/122 - 1 = 81 to reach a 10ms "tick" period.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libcpu/powerpc/mpc821/clock/clock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/c/src/lib/libcpu/powerpc/mpc821/clock/clock.c b/c/src/lib/libcpu/powerpc/mpc821/clock/clock.c index 6aa88d36e3..bf11c9bcbb 100644 --- a/c/src/lib/libcpu/powerpc/mpc821/clock/clock.c +++ b/c/src/lib/libcpu/powerpc/mpc821/clock/clock.c @@ -74,7 +74,7 @@ void Install_clock(rtems_isr_entry clock_isr) Clock_driver_ticks = 0; - pit_value = BSP_Configuration.microseconds_per_tick * + pit_value = BSP_Configuration.microseconds_per_tick / Cpu_table.clicks_per_usec; if (pit_value == 0) { pit_value = 0xffff; |