[lm-sensors] Looking for IT8720 datasheet.

Frank Myhr fmyhr at fhmtech.com
Fri Oct 3 17:51:32 CEST 2008


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




More information about the lm-sensors mailing list