[lm-sensors] [PATCH] hwmon: (it87) Add support for IT8781F, IT8782F, IT8783E/F

Björn Gerhart oss at extracloud.de
Thu Mar 29 21:46:11 CEST 2012

Hi Guenter,

Am 28.03.2012 um 01:28 schrieb Guenter Roeck:
> On Tue, Mar 27, 2012 at 03:21:35PM -0400, Björn Gerhart wrote:
>> Hi Jean,
>> Am 26.03.2012 um 19:01 schrieb Jean Delvare:
>>> [..]
>>>> If actually it is the job of the module to do such calculations, I would offer to create an it87 patch for IT8783 fixing this - analog to an existing module with a similar behavior (if you know one).
>>> You assume that the PECI value always refers to the CPU. I do not think
>>> this is true, other parts (e.g. north bridge) could report their
>>> temperature through PECI as well.
>>> And if it is the CPU temperature, we already have the coretemp driver
>>> providing the same information, so there's little point in implementing
>>> the same in it87. The only benefit of handling PECI sensors in it87 and
>>> the like would be so that they can be used as sources for automatic fan
>>> speed control, but if the chip itself has no idea about the absolute
>>> value of the temperature then I doubt it can use it for automatic fan
>>> speed control.
>> Yes, with the coretemp driver even both core temperatures are displayed correctly. So I agree, it's nonsense to implement our special design into the generic driver  ;-)
> Depends. As Jean mentioned, it would make sense if the temperature can be used for
> automatic fan control.
That's right, for instance the BIOS on our mainboard controls the fan RPM through that PECI value.

> The PECI specification says (I qoute Wikipedia) "PECI reports a negative value expressing
> the difference between the current temperature and the thermal throttle point (at which
> the CPU reduces speed or shuts down to prevent damage due to overheating) instead of the
> absolute temperature". So the negative value and slope is to be expected.
> Question is if there is a way to tell the chip the how to calculate the real temperature
> from the raw value reported by PECI. The Nuvoton chips have a set of registers for that
> purpose.
> Since the raw PECI value is not very useful, it might well be that it is possible
> to program the ITE chip to adust its readings. No idea how to do that, though.
> If your HW folks have a contact at ITE, maybe you could ask them to try to find out.
> Or maybe there is some BIOS code available from ITE and/or from BIOS vendors.
My HW colleagues don't have deeper knowledge about PECI. I'll try to get the ITE contact address to ask ITE directly..
As far as I know, our BIOS simply uses the intel CPU register to calculate the real temperature.

> Alternatively, it might be possible to program fan control to take the negative slope
> into account; at least Wikipedia suggests that as possibility (to have the fan run faster
> as the reported temperature approaches zero from below). No idea how to do that either,
> though.
> There is also register 0x0a, bits 4-6. Is that set to PECI on your board ?
Yes, in our design on Index Register 0x0A, bits 6-4 are set to 110, which also means that PECI is enabled.

However, on our mainboard we have PECI mode enabled but at the same time we can use UART6. There is a trick to disable the parallel port and therefore enable COM6 on the parallel port's pins:
When PECI mode is enabled, UART6 is not necessarily disabled. It depends on the wiring. When JP4 (pin 1) is set to 0, the parallel port on pins 100..106 gets disabled. Therefore, on these pins UART6 can be used instead (see chapter "Power On Strapping Options").


More information about the lm-sensors mailing list