summaryrefslogtreecommitdiff
path: root/cesar/ecos/packages
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/ecos/packages')
-rw-r--r--cesar/ecos/packages/hal/sparc/leon/current/include/hal_clock.h5
-rw-r--r--cesar/ecos/packages/kernel/current/src/common/clock.cxx5
2 files changed, 8 insertions, 2 deletions
diff --git a/cesar/ecos/packages/hal/sparc/leon/current/include/hal_clock.h b/cesar/ecos/packages/hal/sparc/leon/current/include/hal_clock.h
index 51255b7325..87a90fe61f 100644
--- a/cesar/ecos/packages/hal/sparc/leon/current/include/hal_clock.h
+++ b/cesar/ecos/packages/hal/sparc/leon/current/include/hal_clock.h
@@ -99,10 +99,11 @@
#define SPARC_LEON_TI1_CONTROL (SPARC_LEON_REG + 0x48)
externC cyg_int32 cyg_hal_sparc_clock_period;
+externC cyg_int32 cyg_hal_system_clock_freq;
#define HAL_CLOCK_INITIALIZE( _period_ ) CYG_MACRO_START \
- HAL_WRITE_UINT32( SPARC_LEON_SCALER, (CYGNUM_HAL_SYSTEM_CLOCK_FREQ-1) );\
- HAL_WRITE_UINT32( SPARC_LEON_SRELOAD, (CYGNUM_HAL_SYSTEM_CLOCK_FREQ-1) );\
+ HAL_WRITE_UINT32( SPARC_LEON_SCALER, (cyg_hal_system_clock_freq-1) );\
+ HAL_WRITE_UINT32( SPARC_LEON_SRELOAD, (cyg_hal_system_clock_freq-1) );\
cyg_hal_sparc_clock_period = (_period_); \
HAL_WRITE_UINT32( SPARC_LEON_TI1_CRELOAD, (_period_) ); \
HAL_WRITE_UINT32( SPARC_LEON_TI1_COUNTER, (_period_) ); \
diff --git a/cesar/ecos/packages/kernel/current/src/common/clock.cxx b/cesar/ecos/packages/kernel/current/src/common/clock.cxx
index 917b588a39..1f21ddf369 100644
--- a/cesar/ecos/packages/kernel/current/src/common/clock.cxx
+++ b/cesar/ecos/packages/kernel/current/src/common/clock.cxx
@@ -71,6 +71,11 @@
// -------------------------------------------------------------------------
// Static variables
+/* Variable to configure the system clock.
+ * This variable is used for an automatic configuration for the SPC300 and the
+ * MSE500. */
+cyg_int32 cyg_hal_system_clock_freq = CYGNUM_HAL_SYSTEM_CLOCK_FREQ;
+
#ifdef CYGVAR_KERNEL_COUNTERS_CLOCK
Cyg_Clock *Cyg_Clock::real_time_clock = NULL; // System real time clock