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

TOMOYO Linux Cross Reference
Linux/Documentation/hwmon/adm1026.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/hwmon/adm1026.rst (Version linux-6.11.5) and /Documentation/hwmon/adm1026.rst (Version linux-5.7.19)


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

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

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php