TME-CLR-ECO-R0V6.docx
Rev 0.6
Page 33 of 34
/* enter logical device 9 holding the register for GP31 */
outb(0x07, SIO_ADDR);
outb(0x09, SIO_DATA);
/* activate logical device 9 = Bit0 of CR30 */
outb(0x30, SIO_ADDR);
outb(0x01, SIO_DATA);
/* set GP31 to act as an output = Bit1 of CRF0 */
outb(0xF0, SIO_ADDR);
temp= inb(SIO_DATA);
temp= temp & 0xFD;
outb(temp, SIO_DATA);
/* set GP31 to be non-inverting = Bit1 of CRF2 */
outb(0xF2, SIO_ADDR);
temp= inb(SIO_DATA);
temp= temp & 0xFD;
outb(temp, SIO_DATA);
/* toggle LIFE-LED: Bit1 of CRF1 = 0 -> LIFE-LED off, Bit1 of CRF1 =
1 -> LIFE-LED on */
outb(0xF1, SIO_ADDR);
temp= inb(SIO_DATA);
#ifdef LIFE_OFF
/* turn off LIFE-LED */
temp= temp & 0xFD;
outb(temp, SIO_DATA);
#else
/* turn on LIFE-LED */
temp= temp | 0x02;
outb(temp, SIO_DATA);
#endif
/* close SuperIO */
outb(0xAA, SIO_ADDR);
return 0;
}