Specifications

©
2008 Advanced Micro Devices Inc.
Sample Programs
AMD SB600 BIOS Developer’s Guide (Public Version) Proprietary
Page 80
14.8 Temperature Limit Shutdown through SMI#
The program to shut down the system when the temperature exceeds a pre-set limit requires the
following:
1. A temperature sensing diode or thermistor positioned under the CPU socket.
2. A Super I/O device capable of monitoring the temperature and toggle an SMI# line
when the temperature exceeds the pre-set limit.
3. SMI programming in the SB600 to shut down the system.
The discussion below assumes that an ITE-8712 Super I/O is present in the system and is
connected to the thermal diode to measure temperature-1 and temperature-2, and a thermistor to
measure temperature-3. This code example shows thermal programming in the Super I/O, and
SMI programming related to thermal shutdown.
Please refer to ITE-8712 Super I/O device manual for register details.
This code example assumes that the GP47 from Super I/O is connected to the ExtEvent1 pin on
the SB600.
14.8.1 Setting Up ITE 8712 Super I/O Registers
ITE 8712 Super I/O registers are set during the boot up process through the BIOS program.
1. Set the Environmental Controller base address.
Select a base address in the I/O range which is not used by any device and is also accessible to the
LPC. The address range is 8 bytes. In this example the I/O address 228h – 22Fh will be used.
This address is set in Super I/O logical device 04h, registers 60h, and 61h. After the base address
is set, the environment registers are accessed by index/data method at base address+5 as index,
and base address+6 as data. For this example the index/data address would be 22Dh/22Eh.
; Define equates for index/data, shutdown temperature, and Super I/O access port.
Sensor_Port EQU 22Dh
TemperatureLimit EQU 75
SuperIo_Config_Port EQU 2EH
call SuperIoEnterConfig ; Write 87h, 01h, 55h, 55h to SuperIo
; Enable the access to device 04 registers, i.e. set Super I/O address register to 04
; Device 04 is the Environment controller
mov dx,2Eh ; Super I/O index
mov al, 07h ; Register 07 is device select
out dx,al
mov dx,2Fh ; Super I/O data
mov al, 04h ; Set register to 04
out dx,al