Jean-Marc Spaggiari wrote: > Since I have identified the chipset from my mother board, can you let > me know wich pin are the "in" so I can mesure the resistors and > provide the values? You might found that (the pin#) in the datasheet I > hope. 8720 pins are numbered same as in 8718 datasheet. 8720 vin pins are as follows: vin0: 98 vin1: 97 vin2: 96 vin3: 95 (or ATX Power Good, depending on sw config regs) vin4: 94 (or VLDT 1.2V analog input, depending on chip config) vin5: 93 (or VDDA 2.5V analog input, depending on config) vin6: 92 (or VDIMM 1.8V analog input, depending on config) vin7: no pin, marked "internal" to chip (different from earlier it87's) vin8 is vbatt (pin 69) > Regarding pwm4 and pwm5, I'm not really sure how to do so, and I seen > that some fans info was missing. So I will try to figure how to use it > since I have 3 fans and only 2 are displayed. > > fan1: 3013 RPM (min = 0 RPM, div = 2) > fan2: 0 RPM (min = 0 RPM, div = 2) > fan3: 5973 RPM (min = 0 RPM, div = 2) Simplest and probably best to just ignore/don't worry about pwm4 and pwm5 for now. Letting the user select pwm4 and pwm5 control will require new sysfs attributes, there is currently no standard for these. Something like: pwm[4|5]_control which could take values [1|2|3] But I haven't yet successfully used pwm control on fans 4 and 5 on my boards, not yet sure it's possible, so it's probably premature to consider new sysfs interfaces for potentially useless features. > Last point, temperatures are slightly different from it8720 and k8temp. > > temp1: +41.0 ?C (low = -1.0 ?C, high = +127.0 ?C) sensor = transistor > temp2: +34.0 ?C (low = -1.0 ?C, high = -3.0 ?C) sensor = transistor > temp3: +22.0 ?C (low = -5.0 ?C, high = +127.0 ?C) sensor = transistor > > k8temp-pci-00c3 > Adapter: PCI adapter > Core0 Temp: +43.0 ?C > Core1 Temp: +37.0 ?C > > Has it87 only the motherboard temp? In that case, why there is 3? I > will receive a 4-core this afternoon so I will be able to do some > other tests. The temperatures reported by it87 depend on the sensor locations on your motherboard. Since you're already tracing pins for vin's, here are temp pins: temp1: 90 temp2: 89 temp3: 88 > --- linux-2.6.27-rc8/drivers/hwmon/it87.c.orig 2008-10-02 > 09:04:44.000000000 -0400 > +++ linux-2.6.27-rc8/drivers/hwmon/it87.c 2008-10-03 > 09:01:10.000000000 -0400 > @@ -14,6 +14,7 @@ > IT8712F Super I/O chip w/LPC interface > IT8716F Super I/O chip w/LPC interface > IT8718F Super I/O chip w/LPC interface > + IT8720F Super I/O chip w/LPC interface > IT8726F Super I/O chip w/LPC interface > Sis950 A clone of the IT8705F > > @@ -50,7 +51,7 @@ > > #define DRVNAME "it87" > > -enum chips { it87, it8712, it8716, it8718 }; > +enum chips { it87, it8712, it8716, it8718, it8720 }; > > static unsigned short force_id; > module_param(force_id, ushort, 0); > @@ -111,6 +112,7 @@ superio_exit(void) > #define IT8705F_DEVID 0x8705 > #define IT8716F_DEVID 0x8716 > #define IT8718F_DEVID 0x8718 > +#define IT8720F_DEVID 0x8720 > #define IT8726F_DEVID 0x8726 > #define IT87_ACT_REG 0x30 > #define IT87_BASE_REG 0x60 > @@ -278,7 +280,8 @@ static inline int has_16bit_fans(const s > return (data->type == it87 && data->revision >= 0x03) > || (data->type == it8712 && data->revision >= 0x08) > || data->type == it8716 > - || data->type == it8718; > + || data->type == it8718 > + || data->type == it8720; > } > > static int it87_probe(struct platform_device *pdev); > @@ -979,6 +982,9 @@ static int __init it87_find(unsigned sho > case IT8726F_DEVID: > sio_data->type = it8716; > break; > + case IT8720F_DEVID: > + sio_data->type = it8720; > + break; > case IT8718F_DEVID: > sio_data->type = it8718; > break; > @@ -1012,7 +1018,7 @@ static int __init it87_find(unsigned sho > int reg; > > superio_select(GPIO); > - if (chip_type == it8718) > + if (chip_type == it8718 || chip_type == it8720) > sio_data->vid_value = superio_inb(IT87_SIO_VID_REG); > > reg = superio_inb(IT87_SIO_PINX2_REG); > @@ -1040,6 +1046,7 @@ static int __devinit it87_probe(struct p > "it8712", > "it8716", > "it8718", > + "it8720", > }; > > res = platform_get_resource(pdev, IORESOURCE_IO, 0); > @@ -1190,7 +1197,7 @@ static int __devinit it87_probe(struct p > } > > if (data->type == it8712 || data->type == it8716 > - || data->type == it8718) { > + || data->type == it8718 || data->type == it8720) { > data->vrm = vid_which_vrm(); > /* VID reading from Super-I/O config space if available */ > data->vid = sio_data->vid_value; > @@ -1571,7 +1578,7 @@ static void __exit sm_it87_exit(void) > > MODULE_AUTHOR("Chris Gauthron, " > "Jean Delvare <khali at linux-fr.org>"); > -MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F/8726F, SiS950 driver"); > +MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F/8720F/8726F, SiS950 driver"); > module_param(update_vbat, bool, 0); > MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value"); > module_param(fix_pwm_polarity, bool, 0); Changes look good to me. -Frank