summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1997-09-18 16:01:52 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1997-09-18 16:01:52 +0000
commit6b4ca3125e022552c9b8e3747987267092efaf9e (patch)
treeb97aae323eb7a762f3e90f2e4886578f230995b2 /c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c
parentupdated (diff)
downloadrtems-6b4ca3125e022552c9b8e3747987267092efaf9e.tar.bz2
Merged changes from Eric Norum:
Enable 68360 watchdog. The watchdog control register is a `write-once' register, so the watchdog has to be enabled in the boot roms if it is to be used at all. To make the change transparent I added a default feed of the watchdog to the clock interrupt handler. This can be overridden if the application wants to handle the watchdog. The only difficulty with this change is that an application has to either include the clock driver or handle the watchdog explicitely. I don't think this is much of a problem since I am pretty sure that almost every application includes the clock driver.
Diffstat (limited to 'c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c')
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c b/c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c
index 041226f48b..c86427fc43 100644
--- a/c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c
+++ b/c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c
@@ -51,9 +51,12 @@ volatile rtems_unsigned32 Clock_driver_ticks;
rtems_device_major_number rtems_clock_major = ~0;
rtems_device_minor_number rtems_clock_minor;
+char M360DefaultWatchdogFeeder = 1;
+
/*
* Periodic interval timer interrupt handler
*/
+
rtems_isr
Clock_isr (rtems_vector_number vector)
{
@@ -64,6 +67,16 @@ Clock_isr (rtems_vector_number vector)
m360.dpram0[0];
/*
+ * Feed the watchdog
+ * Application code can override this by
+ * setting M360DefaultWatchdogFeeder to zero.
+ */
+ if (M360DefaultWatchdogFeeder) {
+ m360.swsr = 0x55;
+ m360.swsr = 0xAA;
+ }
+
+ /*
* Announce the clock tick
*/
Clock_driver_ticks++;