ADLINK cPCI-3965 User Manual
Page 59
Utilities
45
cPCI-3965
void Get_IT8712_ID(unsigned int &ID1, unsigned int &ID2)
{
outportb(IT8712_ioPort, 0x20);
ID1 = inportb(IT8712_ioPort+1);
outportb(IT8712_ioPort, 0x21);
ID2 = inportb(IT8712_ioPort+1);
}
void IT8712_WDTRun(unsigned int count_value)
{
unsigned int tempCount, registerValue;
outportb(IT8712_ioPort, 0x07);
outportb(IT8712_ioPort+1, 0x07);// Device 7
if(count_value >= 60)
{
outportb(IT8712_ioPort, 0x72);
registerValue = inportb(IT8712_ioPort+1);
registerValue &= 0x7f;
registerValue |= 0x40; //enable WDT output
through KBRST
outportb(IT8712_ioPort+1, registerValue); //
set WDT count is minute
tempCount = count_value / 60;
if((count_value%60) > 30)
tempCount++;
if(tempCount > 255)
tempCount = 255;
printf("WDT timeout in %d minutes.\n",
tempCount);
}
else
{
outportb(IT8712_ioPort, 0x72);
registerValue = inportb(IT8712_ioPort+1);
registerValue |= 0x80;