Intel
®
81341 and 81342—SMBus Interface Unit
Intel
®
81341 and 81342 I/O Processors
Developer’s Manual
December 2007
864
Order Number: 315037-002US
14.3.1.2 Initialization Sequence
All Configuration and memory reads and writes are accomplished through an SMBus
write(s) and later followed by an SMBus read (for a read command). The SMBus write
sequence is used to initialize the following for the configuration access:
• Bus Number (Bus Number is ignored on 81341 and 81342)
• Device/Function (Device Number is ignored on 81341 and 81342)
• 12-bit Register Number (in 2 separate bytes on SMBus)
Each of the parameters above is sent on SMBus in separate bytes. The register number
parameter is initialized with two bytes and 81341 and 81342 ignores the most
significant 4 bits of the second byte that initializes the register number.
For memory reads and writes, the write sequence initializes:
• a 19-bit memory address offset (in 3 separate bytes on SMBus)
On 81341 and 81342 memory transactions allow access to the Peripheral Memory-
Mapped Registers only. All the Peripheral Memory-Mapped Registers on 81341 and
81342 are located in a 512-KByte contiguous memory space block that is relative to
the PMMR Base Address Register (PMMRBAR). Refer to the Peripheral Registers Chapter
for more details on the PMMRBAR register description. The 81341 and 81342 ignores
the upper 5 bits of ADDR2 and the entire ADDR3 fields when memory transaction is
selected. For example, an internal bus address is formed by concatenating the valid
bits in the PMMRBAR and the 19 bits obtained from the SMBus in the ADDR2, ADDR1,
and ADDR0 fields. Refer to
Table 548, “SMBus Interface Registers for Memory Space
for the ADDRx fields.
The initialization of the information can be accomplished through any combination of
the supported SMBus write commands (Block, Word or Byte). The Internal Command
field for each write should specify the same internal command every time (read or
write). After all the information is set up, the last write (End bit is set) initiates an
internal read or write command. On an internal read when the data is not available
before the slave interface acknowledges this last write command (ACK), the slave does
a “clock stretch” until the data returns to the SMBus interface unit. On a internal write,
when the write is not complete before the slave interface acknowledges this last write
command (ACK), the slave “clock stretches” until the write completes internally. When
an error occurs (address error, target or master abort on the internal bus) during the
internal access, the last write command receives a NACK.