PCI-X to Serial ATA Controller
Data Sheet
Silicon Image, Inc.
2006 Silicon Image, Inc.
SiI-DS-0160-C
86
9.2 I
2C Operation
The SiI3124 provides a Multimaster I
2C interface. For Auto-initialization of some PCI Configuration registers an external 256-
byte EEPROM memory device may be connected to this I
2C interface (see section 6). Two registers are provided for
programmed read/write access to the I
2C interface: the I2C Address register and the I2C Data/Control register.
9.2.1.1
I
2C Write Operation
Verify that I
2C Data/Control register bit 31 (I2C Access Start) is zero. The bit is one when an access is in progress. It is
zero when the access is complete and another operation may be started.
Write ‘1’ to clear bit 28 in the I
2C Data/Control register. This bit is set if an error occurred during a previous access.
Program the write address for the access in the I
2C Address register.
Program the write data for the access in the I
2C Data/Control register (bits 7:0).
Write zero to bit 24 (I
2C Access Type) in the I2C Address register.
Initiate the I
2C write by setting bit 31 (I2C Access Start) in the I2C Data/Control register.
Poll bit 31 in the I
2C Data/Control register. The bit is one while an access is in progress. It becomes zero when the access
completes. (Alternatively, the I
2C Interrupt may be enabled. See the Global Control register and Global Interrupt Status
register descriptions on page 61.)
Check bit 28 in the I
2C Data/Control register. The bit is set if an error occurred during the access.
9.2.1.2
I
2C Read Operation
Verify that I
2C Data/Control register bit 31 (I2C Access Start) is zero. The bit is one when an access is in progress. It is
zero when the access is complete and another operation may be started.
Write ‘1’ to clear bit 28 in the I
2C Data/Control register. The bit is set if an error occurred during a previous access.
Program the read address for the access in the I
2C Address register.
Write one to bit 24 (I
2C Access Type) in the I2C Address register.
Initiate the I
2C read by setting bit 31 (I2C Access Start) in the I2C Data/Control register.
Poll bit 31 in the I
2C Data/Control register. The bit is one while an access is in progress. It becomes zero when the access
completes. (Alternatively, the I
2C Interrupt may be enabled. See the Global Control register and Global Interrupt Status
register descriptions on page 61.)
Check bit 28 in the I
2C Data/Control register. The bit is set if an error occurred during the access.
Read the data from bits 7:0 in the I
2C Data/Control register.