On 22.02.2008 23:52, Ronald Hoogenboom wrote:
On Mon, 2008-02-18 at 15:29 -0500, Ward Vandewege wrote:
On Mon, Feb 18, 2008 at 09:18:12PM +0100, Ronald Hoogenboom wrote:
<...>
Something else I noticed is that the CPU fan speed isn't regulated with coreboot. The K8-temp goes over 90 C and the fan is still reving slow at 800 RPM (nice and quiet, but not so good for my athlons health).
I submitted some code a long time ago (r2620) to set the fans to automatic control on the it8716f superio. That was of course based on a PLCC version of the board. Check src/superio/ite/it8716f/superio.c.
Perhaps there's a bug there - or maybe something has changed on the SOIC version of the m57sli.
Now with the patched superiotool, I have been able to spot all the differences for the auto fan control. If I put the following in the superio.c (init_ec()) file after your code:
/* set the correct sensor types 1,2 thermistor; 3 diode */ pnp_write_index(base, 0x51, 0x1c); /* set the 'zero' voltage for diode type sensor */ pnp_write_index(base, 0x5c, 0x80); pnp_write_index(base, 0x56, 0xe5); pnp_write_index(base, 0x57, 0xe5); pnp_write_index(base, 0x59, 0xe5); pnp_write_index(base, 0x5c, 0x00); /* fan1 (controlled by temp3) control parameters */ /* fan off limit */ pnp_write_index(base, 0x60, 0xff); /* fan start limit */ pnp_write_index(base, 0x61, 0x14); /* ???? */ pnp_write_index(base, 0x62, 0x00); /* start PWM */ pnp_write_index(base, 0x63, 0x27); /* smooth and slope PWM */ pnp_write_index(base, 0x64, 0x90); /* direct-down and interval */ pnp_write_index(base, 0x65, 0x03); /* fan1 auto controlled by temp3 */ pnp_write_index(base, 0x15, 0x82); /* fan2 soft controlled, max speed */ pnp_write_index(base, 0x16, 0x7f); /* fan3 soft controlled, 75% speed */ pnp_write_index(base, 0x17, 0x60); /* all fans enable, fan1 ctl smart */ pnp_write_index(base, 0x13, 0x71);
Then the fan is properly controlled. BUT this stuff is far too mainboard specific (as opposed to superio specific) to be in this file. It should be in a file in the mainboard/gigabyte/m57sli directory (probably even V2.0 specific). But I wouldn't know how to link it in so it gets called in the ec_init routine. Do you have some suggestions? Maybe there is a way to put it in the Config.lb file?
Ronald,
you did great work tracking this down. Congratulations! We have to make sure we can handle such settings in v3 easily.
There is another possible problem with fan settings: Do they belong to (in the sense of copyright) the mainboard vendor or the BIOS vendor? I don't want to get nasty letters from anyone.
Regards, Carl-Daniel