~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux-2.6.17/Documentation/hwmon/adm1026

Version: ~ [ 2.6.16 ] ~ [ 2.6.17 ] ~
Architecture: ~ [ ia64 ] ~ [ i386 ] ~ [ arm ] ~ [ ppc ] ~ [ sparc64 ] ~

  1 Kernel driver adm1026
  2 =====================
  3 
  4 Supported chips:
  5   * Analog Devices ADM1026
  6     Prefix: 'adm1026'
  7     Addresses scanned: I2C 0x2c, 0x2d, 0x2e
  8     Datasheet: Publicly available at the Analog Devices website
  9                http://www.analog.com/en/prod/0,,766_825_ADM1026,00.html
 10 
 11 Authors:
 12         Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing
 13         Justin Thiessen <jthiessen@penguincomputing.com>
 14 
 15 Module Parameters
 16 -----------------
 17 
 18 * gpio_input: int array (min = 1, max = 17)
 19   List of GPIO pins (0-16) to program as inputs
 20 * gpio_output: int array (min = 1, max = 17)
 21   List of GPIO pins (0-16) to program as outputs
 22 * gpio_inverted: int array (min = 1, max = 17)
 23   List of GPIO pins (0-16) to program as inverted
 24 * gpio_normal: int array (min = 1, max = 17)
 25   List of GPIO pins (0-16) to program as normal/non-inverted
 26 * gpio_fan: int array (min = 1, max = 8)
 27   List of GPIO pins (0-7) to program as fan tachs
 28 
 29 
 30 Description
 31 -----------
 32 
 33 This driver implements support for the Analog Devices ADM1026. Analog
 34 Devices calls it a "complete thermal system management controller."
 35 
 36 The ADM1026 implements three (3) temperature sensors, 17 voltage sensors,
 37 16 general purpose digital I/O lines, eight (8) fan speed sensors (8-bit),
 38 an analog output and a PWM output along with limit, alarm and mask bits for
 39 all of the above. There is even 8k bytes of EEPROM memory on chip.
 40 
 41 Temperatures are measured in degrees Celsius. There are two external
 42 sensor inputs and one internal sensor. Each sensor has a high and low
 43 limit. If the limit is exceeded, an interrupt (#SMBALERT) can be
 44 generated. The interrupts can be masked. In addition, there are over-temp
 45 limits for each sensor. If this limit is exceeded, the #THERM output will
 46 be asserted. The current temperature and limits have a resolution of 1
 47 degree.
 48 
 49 Fan rotation speeds are reported in RPM (rotations per minute) but measured
 50 in counts of a 22.5kHz internal clock. Each fan has a high limit which
 51 corresponds to a minimum fan speed. If the limit is exceeded, an interrupt
 52 can be generated. Each fan can be programmed to divide the reference clock
 53 by 1, 2, 4 or 8. Not all RPM values can accurately be represented, so some
 54 rounding is done. With a divider of 8, the slowest measurable speed of a
 55 two pulse per revolution fan is 661 RPM.
 56 
 57 There are 17 voltage sensors. An alarm is triggered if the voltage has
 58 crossed a programmable minimum or maximum limit. Note that minimum in this
 59 case always means 'closest to zero'; this is important for negative voltage
 60 measurements. Several inputs have integrated attenuators so they can measure
 61 higher voltages directly. 3.3V, 5V, 12V, -12V and battery voltage all have
 62 dedicated inputs. There are several inputs scaled to 0-3V full-scale range
 63 for SCSI terminator power. The remaining inputs are not scaled and have
 64 a 0-2.5V full-scale range. A 2.5V or 1.82V reference voltage is provided
 65 for negative voltage measurements.
 66 
 67 If an alarm triggers, it will remain triggered until the hardware register
 68 is read at least once. This means that the cause for the alarm may already
 69 have disappeared! Note that in the current implementation, all hardware
 70 registers are read whenever any data is read (unless it is less than 2.0
 71 seconds since the last update). This means that you can easily miss
 72 once-only alarms.
 73 
 74 The ADM1026 measures continuously. Analog inputs are measured about 4
 75 times a second. Fan speed measurement time depends on fan speed and
 76 divisor. It can take as long as 1.5 seconds to measure all fan speeds.
 77 
 78 The ADM1026 has the ability to automatically control fan speed based on the
 79 temperature sensor inputs. Both the PWM output and the DAC output can be
 80 used to control fan speed. Usually only one of these two outputs will be
 81 used. Write the minimum PWM or DAC value to the appropriate control
 82 register. Then set the low temperature limit in the tmin values for each
 83 temperature sensor. The range of control is fixed at 20 °C, and the
 84 largest difference between current and tmin of the temperature sensors sets
 85 the control output. See the datasheet for several example circuits for
 86 controlling fan speed with the PWM and DAC outputs. The fan speed sensors
 87 do not have PWM compensation, so it is probably best to control the fan
 88 voltage from the power lead rather than on the ground lead.
 89 
 90 The datasheet shows an example application with VID signals attached to
 91 GPIO lines. Unfortunately, the chip may not be connected to the VID lines
 92 in this way. The driver assumes that the chips *is* connected this way to
 93 get a VID voltage.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.