User`s manual

MANO110 Series Mini ITX Board User’s Manual
Digital I/O
63
Configure GPIO pin direction as 4 inputs and 4 outputs
outb(0xFF,SMBusBase + ICH_SMBUS_HOST_STAT);
// Clear host status
outb(PCA9554SlaveAddr, SMBusBase + ICH_SMBUS_HOST_ADDR);
// Set slave address
outb(0x03, SMBusBase + ICH_SMBUS_HOST_CMD);
// Configuration register for PCA9554
outb(0xF0, SMBusBase + ICH_SMBUS_HOST_DATA_0);
//
outb(0x48, SMBusBase + ICH_SMBUS_HOST_CTRL);
// Trigger SMBus Byte operation
Configure GPIO output pin to high
outb(0xFF,SMBusBase + ICH_SMBUS_HOST_STAT);
// Clear host status
outb(PCA9554SlaveAddr, SMBusBase + ICH_SMBUS_HOST_ADDR);
// Set slave address
outb(0x01, SMBusBase + ICH_SMBUS_HOST_CMD);
// Output register for PCA9554
outb(0x0F, SMBusBase + ICH_SMBUS_HOST_DATA_0);
outb(0x48, SMBusBase + ICH_SMBUS_HOST_CTRL);
// Trigger SMBus Byte operation