Watchdog Timer - Wdt - MSI MS-98L2 Manual

Industrial computer board
Table of Contents

Advertisement

Example: Get N_GPI2 input value.
val = SMBus_ReadByte (0x6E, 0x12);
val = val & (1<<2);
if (val) printf ("Input of N_GPI2 is High");
else printf ("Input of N_GPI2 is Low");
Example: Get N_GPI6 input value.
val = SMBus_ReadByte (0x6E, 0x12);
val = val & (1<<6);
if (val) printf ("Input of N_GPI6 is High");
else printf ("Input of N_GPI6 is Low");
Watchdog Timer – WDT
The base address (WDT_BASE) of WDT configuration registers is 0xA10.
Set WDT Time Unit
val = Inportb (WDT_BASE + 0x05);
val = val | 0x08;
Outportb (WDT_BASE + 0x05, val);
Set WDT Time
Outportb (WDT_BASE + 0x06, Time);
Enable WDT
val = Inportb (WDT_BASE + 0x0A);
val = val | 0x01;
Outportb (WDT_BASE + 0x0A, val);
val = Inportb (WDT_BASE + 0x05);
val = val | 0x20;
Outportb (WDT_BASE + 0x05, val);
Disable WDT
val = Inportb (WDT_BASE + 0x05);
val = val & 0xDF;
Outportb (WDT_BASE + 0x05, val);
Check WDT Reset Flag
If the system has been reset by WDT function, this flag will set to 1.
val = Inportb (WDT_BASE + 0x05);
val = val & 0x40;
if (val) printf ("timeout event occurred");
else printf ("timeout event not occurred");
// Read value from N_GPI2 port through SMBus.
// Read N_GPI2 address (bit 2).
// Read value from N_GPI6 port through SMBus.
// Read N_GPI6 address (bit 6).
// Read current WDT setting
// minute mode. val = val & 0xF7 if second mode
// Write back WDT setting
// Write WDT time, value 1 to 255.
// Read current WDT_PME setting
// Enable WDT OUT: WDOUT_EN (bit 0) set to 1.
// Write back WDT setting.
// Read current WDT setting
// Enable WDT by set WD_EN (bit 5) to 1.
// Write back WDT setting.
// Read current WDT setting
// Disable WDT by set WD_EN (bit 5) to 0.
// Write back WDT setting.
// Read current WDT setting.
// Check WDTMOUT_STS (bit 6).
MS-98L2
A-3

Advertisement

Table of Contents
loading

Table of Contents