Datasheet 235
Functional Description
5.21.2.7 BIOS Set Up
In order for the PCH to properly report temperature and enable alerts, the BIOS must
configure the PCH at boot or from suspend/resume state by writing the following
information to the PCH MMIO space. This information is NOT configurable using the
external controller.
• Enables for each of the possible thermal alerts (PCH and DIMM). Note that each
DIMM is enabled individually.
• Enables for reading DIMM and PCH temperatures. Note that each can be enabled
individually.
• SMBus address to use for each DIMM.
Setting up the temperature calculation equations.
5.21.2.8 SMBus Rules
The PCH may NACK an incoming SMBus transaction. In certain cases the PCH will NACK
the address, and in other cases it will NACK the command depending on internal
conditions (such as errors, busy conditions). Given that most of the cases are due to
internal conditions, the external controller must alias a NACK of the command and a
NACK of the address to the same behavior. The controller must not try to make any
determination of the reason for the NACK, based on the type of NACK (command vs.
address).
The PCH will NACK when it is enabled but busy. The external controller is required to
retry up to 3 times when they are NACK'ed to determine if the FW is busy with a data
update. When the data values are being updated by the Intel ME, it will force this NACK
to occur so that the data is atomically updated to the external controller. In reality if
there is a NACK because of the PCH being busy, in almost all cases the next read will
succeed since the update internally takes very little time.
The only long delay where there can be a NACK is if the internal Intel ME engine is
reset. This is due to some extreme error condition and is therefore rare. In this case
the NACK may occur for up to 30 seconds. After that, the external controller must
assume that the PCH will never return good data. Even in the best of cases, when this
internal reset occurs, it will always be a second or 2 to re-enable responding.
5.21.2.8.1 During Block Read
On the Block Read, the PCH will respect the NACK and Stop indications from the
external controller, but will consider this an error case. It will recover from this case
and correctly handle the next SMBus request.
The PCH will honor STOP during the block read command and cease providing data. On
the next Block Read, the data will start with byte 0 again. However, this is not a
recommended usage except for 'emergency cases'. In general the external controller
should read the entire length of data that was originally programmed.
5.21.2.8.2 Power On
On the Block Read, the PCH will respect the NACK and Stop indications from the
external controller, but will consider this an error case. It will recover from this case
and correctly handle the next SMBus request.
The PCH will honor STOP during the block read command and cease providing data. On
the next Block Read, the data will start with byte 0 again. However, this is not a
recommended usage except for 'emergency cases'. In general the external controller
should read the entire length of data that was originally programmed.