English
Language : 

82801BA Datasheet, PDF (192/498 Pages) Intel Corporation – Intel 82801BA I/O Controller Hub 2 (ICH2) and Intel 82801BAM I/O Controller Hub 2 Mobile
Functional Description
5.17
5.17.1
SMBus Controller Functional Description (D31:F3)
The ICH2 provides an SMBus Host Controller as well as an SMBus Slave Interface.
The Host Controller provides a mechanism for the processor to initiate communications with
SMBus peripherals (slaves). The ICH2 is also capable of operating in a mode in which it can
communicate with I2C compatible devices.
The Slave Interface allows an external master to read from or write to the ICH2. Write cycles can
be used to cause certain events or pass messages and the read cycles can be used to determine the
state of various status bits. The ICH2’s internal Host Controller cannot access the ICH2’s internal
Slave Interface.
The ICH2 SMBus logic exists in Device 31:Function 3 configuration space and consists of a
transmit data path and host controller. The transmit data path provides the data flow logic needed to
implement the seven different SMBus command protocols and is controlled by the host controller.
The ICH2 SMBus controller logic is clocked by RTC clock.
The programming model of the host controller is combined into two portions: a PCI configuration
portion and a system I/O mapped portion. All static configuration (e.g., the I/O base address) is
done via the PCI configuration space. Real-time programming of the Host interface is done in
system I/O space.
Host Controller
The SMBus Host Controller is used to send commands to other SMBus slave devices. Software
sets up the host controller with an address, command, and, for writes, data, and then tells the
controller to start. When the controller has finished transmitting data on writes, or receiving data on
reads, it will generate an SMI# or interrupt, if enabled.
The host controller supports 7 command protocols of the SMBus interface (see System
Management Bus Specification, Rev 1.0): Quick Command, Send Byte, Receive Byte, Write Byte/
Word, Read Byte/Word, Process Call, and Block Read/Write.
The SMBus Host Controller requires that the various data and command fields be setup for the type
of command to be sent. When software sets the START bit, the SMBus Host Controller performs
the requested transaction and interrupts the processor (or generate an SMI#) when the transaction is
completed. Once a START command has been issued, the values of the “active registers” (Host
Control, Host Command, Transmit Slave Address, Data 0, Data 1) should not be changed or read
until the interrupt status bit (INTR) has been set (indicating the completion of the command). Any
register values needed for computation purposes should be saved prior to issuing of a new
command, as the SMBus Host Controller will update all registers while completing the new
command.
Using the SMB Host Controller to send commands to the ICH2's SMB slave port is not supported.
5-130
82801BA ICH2 and 82801BAM ICH2-M Datasheet