[coreboot] m57sli FAN control

Ronald Hoogenboom ronald at zonnet.nl
Wed Mar 5 00:01:27 CET 2008

Hi Ward,

Strange, but here it worked...

It seems that your board(s) use (also?) FAN3. Mine uses only FAN1.
Indeed the original bios also turned on auto control of FAN3 (by the
same sensor), but since my CPU fan isn't connected to that one, I didn't
include it (bit selfish, I agree). The 0-degree threshold for the
diode-type sensors is set to 0xe5 by my bios (I don't know where you get
the 0xfe from...), but the reading is a bit off compared to the K8-temp,
so maybe the 0xec might be better (not much difference anyway). This is
only necessary sensor 2 (idx 0x59), as that is the only diode sensor.
The value 0x60 for index 0x5c is not correct according to the datasheet
(unused bits should be 0, not 1), but indeed my bios also sets 0x60.
Again the settings for index 0x70..0x75 are for FAN3, which I don't use
(the selfish principle). You also set the FAN2 control to be controlled
by temp3, but you don't set the parameters 0x68..0x6d. Should set 0x16
to some value 0~127. I think for the 0x14 index the value 0x87 was a
mistake from my side, 0xd7 uses a more sensible PWM frequency (obviously
my fan didn't care...).
The voltage limit settings 0x31..0x3f have nothing to do with FAN
control, should be left out. Shouldn't index 0x13 be set to 0x75 for
both FAN1 and FAN3 smartguardian mode?

I'll give it a try asap (probably after the weekend).

I think gigabyte provides different bios for V1 and V2 boards, shouldn't
we do the same? (by means of an option, like setting HAVE_FANCTL to 1
for v1 and to 2 for v2)


On Mon, 2008-03-03 at 16:51 -0500, Ward Vandewege wrote:
> All right, please find a revised patch attached that does not stop the CPU
> fan.
> Turns out that the original patch malfunctioned on both v1.1 and v2 of the
> board if the it87 driver was not loaded. That driver fixed the settings,
> which added to my confusion. It also explains why it seemed to work for me at
> first, but then did not when rebooting (I was booting a different filesystem
> that did not load the it87 module on startup).
> Anyway, I'd be grateful for some testing of the attached. It does the right
> thing on v1.1 and v2 of the board based on my testing. It does not set the
> diode zero adjust temperature right yet for v2 of the board (it should be 0xfe
> instead of 0xec). That could be done by adding a detection for the revision
> of the IT8716F chip (v2 seems to have rev3, v1.1 has rev0), but I don't have
> time to add that right now. It's not that important I think - but if someone
> wants to contribute that change, please feel free. There are a few other
> registers that should be slightly different between v1.1 and v2 but nothing
> very crucial it seems.

> Thanks,
> Ward.

More information about the coreboot mailing list