English
Language : 

82801DB Datasheet, PDF (216/587 Pages) Intel Corporation – Intel 82801DB I/O Controller Hub 4 (ICH4)
Functional Description
Table 5-86. Process Call Protocol with PEC
Bit
1
2–8
9
10
11–18
19
20–27
28
29–36
37
38
39–45
46
47
48–55
56
57–64
65
66–73
74
75
Description
Start
Slave Address - 7 bits
Write
Acknowledge from Slave
Command code - 8 bits
Acknowledge from slave
Data byte Low - 8 bits
Acknowledge from slave
Data Byte High - 8 bits
Acknowledge from slave
Repeated Start
Slave Address - 7 bits
Read
Acknowledge from slave
Data Byte Low from slave - 8 bits
Acknowledge
Data Byte High from slave - 8 bits
Acknowledge
PEC from slave
NOT acknowledge
Stop
Block Read/Write
The ICH4 contains a 32-byte buffer for read and write data which can be enabled by setting bit 1 of
the Auxiliary Control register at offset 0Dh in I/O space, as opposed to a single byte of buffering.
This 32-byte buffer is filled with write data before transmission, and filled with read data on
reception. In the ICH4, the interrupt is generated only after a transmission or reception of 32 bytes,
or when the entire byte count has been transmitted/received.
This requires the ICH4 to check the byte count field. Currently, the byte count field is transmitted
but ignored by the hardware as software will end the transfer after all bytes it cares about have been
sent or received.
For a Block Write software must either force the I2C_EN bit or both the PEC_EN and AAC bits to
0 when running this command.
SMBus mode: The block write begins with a slave address and a write condition. After the
command code the ICH4 issues a byte count describing how many more bytes will follow in the
message. If a slave had 20 bytes to send, the first byte would be the number 20 (14h), followed by
20 bytes of data. The byte count may not be 0. A Block Read or Write is allowed to transfer a
maximum of 32 data bytes.
216
Intel® 82801DB ICH4 Datasheet