diff --git a/doc/chips/adm9240 b/doc/chips/adm9240 new file mode 100644 index 00000000..72441e32 --- /dev/null +++ b/doc/chips/adm9240 @@ -0,0 +1,100 @@ +This file documents the adm9240 directories for the Analog Devices +ADM9240 hardware health monitoring chip found on some Intel mainboards +(and others?). + +There will be one directory created for each detected ADM9240 chip. +Each chip must be on the SMBus. Directories are called things +like adm9240-i2c-1-2c. /proc/sys/dev/sensors/chips contains the SYSCTL +values for all chip directories. + +Within each ADM9240 directory, you can find the following files: +* alarms (ADM9240_SYSCTL_ALARMS) + A number which indicates which alarms are on. An alarm gets triggered when + some limit has been crossed. This number is composed from a 16 bit + value which is the combination of the Interrupt Status Register 1 + (low byte) and 2 (high byte). + This file can not be written to. + The number is the logical OR of the following components (bit # + followed by a description): + +0 +2.5 V_Error Read Only A "1" indicates a high or low limit has been exceeded. +1 VCCP_Error Read Only A "1" indicates a high or low limit has been exceeded. +2 +3.3 V_Error Read Only A "1" indicates a high or low limit has been exceeded. +3 +5 V_Error Read Only A "1" indicates a high or low limit has been exceeded. +4 Temp_Error Read Only A "1" indicates that a temperature interrupt has been set. +5 Reserved Read Only Undefined. +6 FAN1_Error Read Only A "1" indicates that a fan count limit has been exceeded. +7 FAN2_Error Read Only A "1" indicates that a fan count limit has been exceeded. +8 +12 V_Error Read Only A "1" indicates a high or low limit has been exceeded. +9 VCCP2_Error Read Only A "1" indicates a high or low limit has been exceeded. +10 Reserved Read Only Undefined. +11 Reserved Read Only Undefined. +12 Chassis_Error Read Only A "1" indicates chassis intrusion has gone high. +13 Reserved Read Only Undefined. +14 Reserved Read Only Undefined. +15 Reserved Read Only Undefined. + + If accessed through sysctl, this value is a long. +* fan[1-3] (ADM9240_SYSCTL_FAN[1-2]) + A list of two numbers. The first is the minimum fan rotation limit; the + second is the current fan rotation speed. Both are in RPM (rotations per + minute). An alarm is triggered if the rotation speed drops below the + limit. The first value can be changed. Not all RPM values can accurately + be represented, so some rounding is done. + If accessed through sysctl, this is a list of longs. +* fan_div (LM78_SYSCTL_FAN_DIV) + A list of two numbers, one for each fan. Each number can be either 1, 2, + 4 or 8. It is the internal scaling factor used for the FAN rotations. If + you change this number, the FAN readings get more or less detailed, but + the range in which they can be read too. Higher numbers give better + resolution, but less range. The first two numbers can be changed, the + third not. + If accessed through sysctl, this is a list of longs. +* 2.5V, Vccp1, 3.3V, 5V, 12V, and Vccp2 (ADM9240_SYSCTL_IN[0-5] in the +order shown) + A list of three numbers. The first is the minimum limit, the second is the + maximum limit, and the third is the current value. Note that + minimum means 'closest to zero'; so if the normal value equals -10, a + minimum could equal -9, and a maximum -11. Vccp1 and Vccp2 reflect core + voltages; they are by default set from the vid values, or set to 2.80V + if the vid lines seem to be unconnected. Not all voltage values + can be accurately represented, so some rounding is done. + The first two numbers can be changed, the third not. + If accessed through sysctl, this is a list of longs, each being the voltage + times 100. +* temp + A list of three numbers. The first number is the Overtemperature Shutdown + value; the second is the Hysteris value and the third number is the + current value. The first two values can be modified. All values are in + degrees Celcius. An alarm is issued when the temperature first gets above + the Overtemperature Shutdown value; no more alarms are issued until the + temperature gets below the Hysteris value, at which moment another alarm + is issued, and the state is reset. A more useful behaviour can be found + by setting the Hysteris value to +127 degrees Celcius; in this case, + alarms are issued during all the time when the actual temperature is + above the Overtemperature Shutdown value. + The first two numbers can be changed, the third not. + If accessed through sysctl, this is a list of longs, each being the + temperature in degrees Celcius times 10. +* vid + The core voltage value (the voltage level your processor should work with), + in volts. This is the value IN0 and IN1 are initialized to. If unconnected, + it usually reads 3.50V. + This number can not be changed. + If accessed through sysctl, this is a long, being the voltage times 100. +* analog_out + This is feature is specific to the ADM9240. It is a DAC voltage + control register for the Analog-Out pin. Valid values are from 255 + to 0 (with 255 being the highest voltage, and 0 the lowest). From + the docs: "TheADM9240 has a single analog output from an unsigned + 8-bit DAC which produces 0 V - 1.25 V." + +The data for each ADM9240 is updated each 1.5 seconds, but only if it is actually +read. + +Note: Much of this documentation is copied from the LM78 documenation +(the device from which most featuers of the ADM9240 is modelled from). +The maintainer of the ADM9240 is Philip Edelbrock +; please forward corrections, suggestions, etc. +to him. For further technical information on this chip, I suggest +getting the Acrobat PDF documentation from www.analog.com.