VID pin settings
--------------------

The VID (Voltage Identification) pins on sensor chips
are used to read the CPU Core voltage setting.

The VID setting can be controlled by jumpers on the board,
or, in newer motherboards, by settings in the BIOS.
On these newer boards, the BIOS programs some device's
pins which in turn controls a DC-DC Converter to set its
output to a certain voltage. These pins are also connected to
the sensor chip so that the VID setting can be read back
by applications.

There are generally 5 VID pins. Recent motherboards may use 6 pins.
The VID codes are defined by Intel in documents titled
"VRM X.X DC-DC Converter Design Guidelines".
(VRM = Voltage Regulator Module), or
"Voltage Regulator-Down (VRD) 10.0 Design Guide".
These documents are available at http://developer.intel.com.

There are several different VRM document versions.
The common versions are as follows:

Document Version	Voltage Range	Increment	Processors
----------------	-------------	---------	----------
"2.4"			0.8 - 1.55	0.025V		AMD Opteron 24x

8.2 (8.1, 8.3)		1.30 - 2.05V    0.05V		PII, PIII, Celeron
			2.1 - 3.5V	0.10V

8.4			1.30 - 2.05V    0.05V		PIII, Celeron
							4 pins only

8.5			1.050 - 1.825V	0.05V		PIII-S Tualatin

9.0, (9.1)		1.100 - 1.850V	0.025V		P4, AMD Socket A

10.0			0.8375 - 1.6000 0.0125V		Desktop Socket 478


"2.4" is not an actual document version but simply a way to identify
AMD Opteron 24x processors.
Note that versions 8.1 - 8.4 are compatible.

lm_sensors versions through 2.6.3 support only the VRM 8.2 standard.

Starting in lm_sensors 2.6.4 the VRM version is configurable.
To configure the sensor chip for the correct voltage range,
you must set the "vrm" correctly either via /proc, /sys,  or sensors.conf.

To be compatible with previous lm_sensors versions, the vrm defaults
to version 8.2. Generally, for recent motherboards, this will not
be correct. Try 9.0 first.

To change the vrm version to 9.0, for example, do the following
after the chip module (in this example, w83781d) is loaded:

	(kernel 2.4)
	    echo 9.0 > /proc/sys/dev/sensors/w83781d-isa-0290/vrm
	(kernel 2.6)
	    echo 90 > /sys/bus/i2c/devices/0-0290/vrm

Alternatively, add a line in /etc/sensors.conf in the w83781d section
(you should put this line BEFORE any line that uses vid in a calculation):

	set vrm 9.0

and then, after the chip module is loaded, do:

	sensors -s

After this, reading the vid either by

	(kernel 2.4)
	    cat /proc/sys/dev/sensors/w83781d-isa-0290/vid
	(kernel 2.6 - divide the output by 1000)
	    cat /sys/bus/i2c/devices/0-0290/in0_ref

or by

	sensors

should show the new vid value.


The following values are legal vrm values. Other values will be
allowed but will result in using the 8.2 standard.

	2.4, 8.1-8.5, 9.0, 9.1, 10.0


Remember, the VID pins on the sensor chips are inputs only.
That means they can't be changed and there shouldn't be
any problems if you experiment with the vrm values until you
get it right. You cannot manipulate the actual processor core
voltage through lm_sensors drivers.

Not all sensor chips have VID inputs.
For those that do, the VRM support status is listed below.

The following chip drivers support all the VRM versions via
/etc/sensors.conf and the vrm entry in /proc or /sys:

	adm1025, adm1026, asb100, lm85, lm87,
	vt1211, vt8231, w83627hf, w83781d


The following chip drivers support only VRM 8.2 and cannot be changed:

	adm1024, it87, mtp008
	adm9240, gl520sm, lm78, maxilife

If you have a board with one of these chips which needs advanced
VRM support please email us.

------------------
Copyright (c) 2002-2004 Mark D. Studebaker
