summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/arm
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-08-06 22:24:13 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-08-06 22:24:13 +0000
commit076bc8be0496c165c2b88b9a050c0483155ad384 (patch)
treeca92562a916951ff15f7dd3d6062b60e56e0c8ae /c/src/lib/libcpu/arm
parent2009-08-06 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-076bc8be0496c165c2b88b9a050c0483155ad384.tar.bz2
2009-08-06 Xi Yang <hiyangxi@gmail.com>
* pxa255/clock/clock.c: Adjust clock for Skyeye. Joel added empty nanoseconds since last tick handler.
Diffstat (limited to 'c/src/lib/libcpu/arm')
-rw-r--r--c/src/lib/libcpu/arm/ChangeLog5
-rwxr-xr-xc/src/lib/libcpu/arm/pxa255/clock/clock.c19
2 files changed, 24 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/arm/ChangeLog b/c/src/lib/libcpu/arm/ChangeLog
index 05771e3de1..e62fa6d328 100644
--- a/c/src/lib/libcpu/arm/ChangeLog
+++ b/c/src/lib/libcpu/arm/ChangeLog
@@ -1,3 +1,8 @@
+2009-08-06 Xi Yang <hiyangxi@gmail.com>
+
+ * pxa255/clock/clock.c: Adjust clock for Skyeye. Joel added empty
+ nanoseconds since last tick handler.
+
2009-08-04 Xi Yang <hiyangxi@gmail.com>
* pxa255/clock/clock.c: Move parentheses to improve math. More tests
diff --git a/c/src/lib/libcpu/arm/pxa255/clock/clock.c b/c/src/lib/libcpu/arm/pxa255/clock/clock.c
index ad26e57a64..c5d8cc9862 100755
--- a/c/src/lib/libcpu/arm/pxa255/clock/clock.c
+++ b/c/src/lib/libcpu/arm/pxa255/clock/clock.c
@@ -28,6 +28,17 @@
static unsigned long period_num;
/**
+ * Return the nanoseconds since last tick
+ */
+uint32_t clock_driver_get_nanoseconds_since_last_tick(void)
+{
+ return 0;
+}
+
+#define Clock_driver_nanoseconds_since_last_tick \
+ clock_driver_get_nanoseconds_since_last_tick
+
+/**
* Enables clock interrupt.
*
* If the interrupt is always on, this can be a NOP.
@@ -40,7 +51,11 @@ static void clock_isr_on(const rtems_irq_connect_data *unused)
/* enable timer interrupt */
XSCALE_OS_TIMER_IER |= 0x1;
+#if ON_SKYEYE==1
+ period_num = (TIMER_RATE* Configuration.microseconds_per_tick)/100000;
+#else
period_num = (TIMER_RATE* Configuration.microseconds_per_tick)/10000;
+#endif
XSCALE_OS_TIMER_MR0 = XSCALE_OS_TIMER_TCR + period_num;
}
@@ -90,7 +105,11 @@ rtems_irq_connect_data clock_isr_data = {
void Clock_driver_support_initialize_hardware(void)
{
+#if ON_SKYEYE==1
+ period_num = (TIMER_RATE* Configuration.microseconds_per_tick)/100000;
+#else
period_num = (TIMER_RATE* Configuration.microseconds_per_tick)/10000;
+#endif
}