[lm-sensors] Standalone driver for W83677HG-I, NCT6775F, NCT6776F pwm output

Ian Dobson i.dobson at planet-ian.com
Sun Feb 6 16:45:15 CET 2011



--------------------------------------------------
From: "Ian Dobson" <i.dobson at planet-ian.com>
Sent: Sunday, February 06, 2011 2:55 PM
To: <lm-sensors at lm-sensors.org>
Subject: Re: [lm-sensors] Standalone driver for W83677HG-I, 
NCT6775F,NCT6776F pwm output

> --------------------------------------------------
> From: "Ian Dobson" <i.dobson at planet-ian.com>
> Sent: Sunday, February 06, 2011 2:37 PM
> To: <lm-sensors at lm-sensors.org>
> Subject: Re: [lm-sensors] Standalone driver for W83677HG-I, 
> NCT6775F,NCT6776F voltage input multipliers
>
>>
>>
>> --------------------------------------------------
>> From: "Jean Delvare" <khali at linux-fr.org>
>> Sent: Sunday, February 06, 2011 10:56 AM
>> To: "Guenter Roeck" <guenter.roeck at ericsson.com>
>> Cc: "Andrea Rizzolo" <andrea.rizzolo at gmail.com>; 
>> <lm-sensors at lm-sensors.org>
>> Subject: Re: [lm-sensors] Standalone driver for W83677HG-I, NCT6775F, 
>> NCT6776F
>>
>>> On Sat, 5 Feb 2011 11:15:25 -0800, Guenter Roeck wrote:
>>>> On Sat, Feb 05, 2011 at 02:00:09PM -0500, Andrea Rizzolo wrote:
>>>> > hi,
>>>> > thank you very much, here on intel DH57JG it works. `sensors` output:
>>>> >
>>>> > nct6775-isa-0680
>>>> > Adapter: ISA adapter
>>>> > in0:         +0.93 V  (min =  +0.00 V, max =  +1.74 V)
>>>> > in1:         +0.78 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>>>> > in2:         +3.41 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>>>> > in3:         +3.41 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>>>> > in4:         +1.26 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>>>> > in5:         +0.78 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>>>> > in6:         +1.06 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>>>> > in7:         +3.36 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>>>> > in8:         +3.30 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>>>> > fan1:          0 RPM  (min =    0 RPM, div = 2)  ALARM
>>>> > fan2:          0 RPM  (min =    0 RPM, div = 2)  ALARM
>>>> > fan3:          0 RPM  (min =    0 RPM, div = 2)  ALARM
>>>> > fan4:          0 RPM  (div = 2)  ALARM
>>>> > temp1:       +31.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor 
>>>> > = diode
>>>> > temp2:       +32.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = 
>>>> > diode
>>>> > temp3:       +23.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = 
>>>> > thermistor
>>>> > cpu0_vid:   +2.050 V
>>>>
>>>> Hi Andrea,
>>>>
>>>> excellent - that matches the output I get. Now all we have to do is to 
>>>> match the values
>>>> to actual voltages. in2 and in3 match the 3.3V seen in the BIOS, but 
>>>> for the others
>>>> I have no idea.
>>>
>>> As for the other chips in this family, in2, in3, in7 and in8 are
>>> internal voltages so their mapping and scaling is fixed. The pin names
>>> also strongly suggest connecting Vcore to in0, and I've never seen a
>>> board manufacturer diverge from this. So you can start with the
>>> following config statements:
>>>
>>> chip "nct6775-*" "nct66776-*"
>>>
>>>    label in0 "Vcore"
>>>    label in2 "AVCC"
>>>    label in3 "+3.3V"
>>>    label in7 "3VSB"
>>>    label in8 "Vbat"
>>>
>>>    set in2_min  3.3 * 0.90
>>>    set in2_max  3.3 * 1.10
>>>    set in3_min  3.3 * 0.90
>>>    set in3_max  3.3 * 1.10
>>>    set in7_min  3.3 * 0.90
>>>    set in7_max  3.3 * 1.10
>>>    set in8_min  3.0 * 0.90
>>>    set in8_max  3.0 * 1.10
>>>
>>> This leaves only 4 voltage inputs to configure, presumably for +5V,
>>> +12V, and possibly 5VSB and Vdimm. Check the labels and values in the
>>> BIOS (write them all down if they fluctuate) and maybe we can figure it
>>> out.
>>>
>>> -- 
>>> Jean Delvare
>>>
>>> _______________________________________________
>>> lm-sensors mailing list
>>> lm-sensors at lm-sensors.org
>>> http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
>>
>> OK Here's the infomation
>> nct6776-isa-0290
>> Adapter: ISA adapter
>> Vcore:       +1.18 V  (min =  +0.00 V, max =  +1.74 V)
>> in1:         +1.02 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>> AVCC:        +3.36 V  (min =  +2.98 V, max =  +3.63 V)
>> +3.3V:       +3.34 V  (min =  +2.98 V, max =  +3.63 V)
>> in4:         +1.03 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>> in5:         +2.04 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>> in6:         +0.78 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
>> 3VSB:        +3.42 V  (min =  +2.98 V, max =  +3.63 V)
>> Vbat:        +3.30 V  (min =  +2.70 V, max =  +3.30 V)   ALARM
>> fan1:        550 RPM  (min =    0 RPM)  ALARM
>> fan2:       1013 RPM  (min =    0 RPM)  ALARM
>> fan3:          0 RPM  (min =    0 RPM)  ALARM
>> fan4:        824 RPM  (min =    0 RPM)  ALARM
>> fan5:          0 RPM  (min =    0 RPM)  ALARM
>> temp1:       +24.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor 
>> = thermistor
>> temp2:       -60.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = diode
>> temp3:       +38.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = 
>> thermistor
>> cpu0_vid:   +2.050 V
>>
>> and BIOS
>> CPU temp 43
>> MB temp 25
>>
>> CPU Volt 1.114-1.1176
>> 3.3Volt     3.36 - 3.34
>> 5Volt     5.160
>> 12Volt  12.288
>>
>> So it looks as if in4 * 5 is 5Volt, in5 * 6 is 12volt. This is on a asus 
>> p8p67 pro, but I've seen the same values on a asus p8p67 delux.
>>
>> Looking in the n6776f specification if looks as if AUXTIN(temp3) and in6 
>> share the same pin (pin 109) so we can't have both enabled.
>>
>> Regards
>> Ian Dobson
>>
>>
>>
>> _______________________________________________
>> lm-sensors mailing list
>> lm-sensors at lm-sensors.org
>> http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
>
> also pwm output won't work, Bank 0 index 1 is the actual value used for 
> the pwm output, while the setpoint for the pwm value is in Bank1,index09 
> bit[7:0] (this is only used in manual mode)
>
> so in the code we could do something like
> static const u8 N677X_REG_PWM_ACTUAL[] = { 0x01, 0x03, 0x11 };
> static const u16 N677X_REG_PWM_SETPOINT[] = { 0x109, 0x209, 0x309 };
>
> in update_device we always read from _ACTUAL, and in store_pwm if the chip 
> is a n677x write to _SETPOINT.
>
> If you want I can try and write a patch.
>
> Regards
> Ian Dobson
>
>
>
> _______________________________________________
> lm-sensors mailing list
> lm-sensors at lm-sensors.org
> http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

Sorry my mistake, you've already split the reading/writing of the pwm 
(NCT6775_REG_PWM)

Regards
Ian Dobson
 





More information about the lm-sensors mailing list