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 -- http://www.hailfinger.org/ -- coreboot mailing list [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

