AAEON TKS-G20-LN05 Rev.B User Manual

Page 56

Advertising
background image

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

T K S - G 2 0 - L N 0 5 R e v . B

Appendix B DIO

B-8

return

-1;

}


int SMBusRead(unsigned int SMBus_Base, int DeviceID, int
REG_DATA_OFFSET)
{
unsigned

char

read_data;


// outportb(SMBus_Base+SMBUS_REG_COMMAND,

0x00);

//Clear previous commands

SMBusCheckReady( SMBus_Base );


outportb(SMBus_Base+SMBUS_REG_DID_RW, DeviceID +

SMBUS_DATA_READ);

//ID

cmd(read)

IO_Delay(1);
IO_Delay(1);
SMBusClearStatus(SMBus_Base);
outportb(SMBus_Base+SMBUS_REG_DATA_OFFSET,
REG_DATA_OFFSET);

//Index

IO_Delay(1);
IO_Delay(1);

outportb(SMBus_Base+SMBUS_REG_COMMAND,
SMBUS_CMD_START+SMBUS_CMD_CMD_RW); //Read

data

IO_Delay(500);
SMBusCheckReady(

SMBus_Base ); //IO_Delay(1000);

read_data = inportb(SMBus_Base+SMBUS_REG_HST_D0);

//Data0
IO_Delay(1);
IO_Delay(1);


return

read_data;

}
int SMBusWrite(unsigned int SMBus_Base, int DeviceID, int
REG_DATA_OFFSET, int data)
{

Advertising