beautypg.com

AAEON AEC-6977 User Manual

Page 81

background image

E m b e d d e d C o n t r o l l e r

A E C - 6 9 7 7

Appendix A Programming the Watchdog Timer A-6

************************************************************************************
VOID   

SIOEnterMBPnPMode()

 

IOWriteByte(SIOIndex, 0x87); 

 

IOWriteByte(SIOIndex, 0x87); 

 

VOID   

SIOExitMBPnPMode()

 

IOWriteByte(SIOIndex, 0xAA); 

 

VOID   

SIOSelectLDN(byte LDN)

IOWriteByte(SIOIndex, 0x07); 

// SIO LDN Register Offset = 0x07 

 

IOWriteByte(SIOData, 

LDN

); 

 

VOID   

SIOBitSet(byte LDN, byte Register, byte BitNum, byte Value)

 

Byte TmpValue; 

 

 

SIOEnterMBPnPMode(); 

SIOSelectLDN(byte 

LDN

); 

 

IOWriteByte(SIOIndex, Register); 

 

TmpValue = IOReadByte(SIOData); 

 

TmpValue &= ~(1 << BitNum); 

 

TmpValue |= (Value << BitNum); 

 

IOWriteByte(SIOData, TmpValue); 

 

SIOExitMBPnPMode(); 

 

VOID   

SIOByteSet(byte LDN, byte Register, byte Value)

 

SIOEnterMBPnPMode(); 

SIOSelectLDN(LDN); 

 

IOWriteByte(SIOIndex, Register); 

IOWriteByte(SIOData, 

Value

); 

SIOExitMBPnPMode(); 


************************************************************************************