Intel C2350 FH8065401488914 Data Sheet

Product codes
FH8065401488914
Page of 746
Intel
®
 Atom™ Processor C2000 Product Family for Microserver
September 2014
Datasheet, Vol. 2 of 3
Order Number: 330061-002US
337
Volume 2—SMBus 2.0 Unit 1 - Host—C2000 Product Family
Controller Characteristics and Operation
15.4.8.5.6
SMBus/I
2
C Target Flow
TTYPE = 0001, 0010 and MTYPE = 0000
SMT supports being a target of certain SMBus and I
2
), and it acknowledges transactions directed to 
either of its two target addresses (TACTRL.ADDR0 or TACTRL.ADDR1). The basic flow is 
depicted in 
. In general the target hardware interface is agnostic of 
command and PEC bytes. The firmware handles these bytes.
Note:
It is assumed that block reads to SMT as a target are directed only to the dedicated 
GPBR address (GPBRCTRL.GPTRADR) and are not considered in this flow.
Write cycles received by the SMT target interface nominally terminate when the 
external master produces a Stop condition. Premature hardware NACK occurs if the 
interface is busy or overflows. The SMBus Quick Command is comprised only of the 
address byte, with the data encoded entirely within the R/W# bit; all other SMBus and 
I
2
C transactions have additional data bytes.
The optional PEC byte is not shown explicitly because the firmware determines the 
actual presence of PEC. This provides for PEC to be enabled on a per-function, per-
address, per-protocol, or even per-transaction basis. The hardware always performs a 
speculative internal PEC calculation, which it then compares to the final received byte. 
If the received and calculated bytes match, this is a strong indication that the 
transaction was PEC-enabled, but the firmware has the final authority. Conversely, a 
mismatch is not proof of a transmission error—it may have been a PEC-less 
transaction. In this case, the firmware ignores the PEC status flag in the target 
descriptor TSTS field, which resulted from the hardware invalid speculative PEC 
comparison.
Since some protocols have identical transmission templates it is also the responsibility 
of the firmware to prevent or resolve apparent aliasing. (e.g., aliasing of Send Byte 
with PEC and Write Byte; aliasing of Write Byte with PEC and Write Word; aliasing of 
SMBus Write Byte and I
2
C MTx-to-SRx.) It is assumed this is accomplished through 
negotiation between the firmware and the external master. For instance, the command 
byte differentiates protocols or certain protocol combinations are excluded.
A special case of aliasing occurs for SMBus Block Write. Since the hardware ignores the 
command byte, it cannot distinguish Block Write Byte Count from an ordinary data 
byte. Therefore, the hardware captures and pushes all bytes to the firmware for 
processing, and the hardware is not required to verify the received byte count. In 
target mode, the firmware programs a ceiling (TRxCTRL.MRxB) on the write length 
such that if a transaction overflows the ceiling then the hardware must NACK any 
unexpected data bytes. This ceiling must not exceed the buffer size. The hardware 
NACK flag in the target descriptor TSTS field is set upon a hardware (buffer) overflow, 
but this flag does not comprehend overflow of an individual protocol (e.g., a Block Write 
where received bytes > indicated Byte Count).
Note:
If a target address receives both I
2
C and SMBus protocols the maximum permitted 
write length (TRxCTRL.MRxB) must accommodate both. For example, if a target 
receives SMBus Block Write with PEC the write length must be greater than or equal to 
36 bytes (= address + command + byte count + N data bytes + PEC, where N <= 32).
If the firmware has declared a matched address to be busy (TPOLICY.ADDR0BSY or 
TPOLICY.ADDR1BSY) then the hardware will ACK the address byte but NACK all 
subsequent bytes.
The hardware address matching after any SMBus repeated-start condition is subject to 
SUSCHKB.IRWRST; if asserted it causes the hardware to ignore the R/W# bit during 
matching. This behavior is not shown in the flowchart.