Documentation/hwmon/adm1026.rst

Source file repositories/reference/linux-study-clean/Documentation/hwmon/adm1026.rst

File Facts

System
Linux kernel
Corpus path
Documentation/hwmon/adm1026.rst
Extension
.rst
Size
4582 bytes
Lines
102
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

Kernel driver adm1026
=====================

Supported chips:
  * Analog Devices ADM1026

    Prefix: 'adm1026'

    Addresses scanned: I2C 0x2c, 0x2d, 0x2e

    Datasheet: Publicly available at the Analog Devices website

	       https://www.onsemi.com/PowerSolutions/product.do?id=ADM1026

Authors:
	- Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing
	- Justin Thiessen <jthiessen@penguincomputing.com>

Module Parameters
-----------------

* gpio_input: int array (min = 1, max = 17)
    List of GPIO pins (0-16) to program as inputs

* gpio_output: int array (min = 1, max = 17)
    List of GPIO pins (0-16) to program as outputs

* gpio_inverted: int array (min = 1, max = 17)
    List of GPIO pins (0-16) to program as inverted

* gpio_normal: int array (min = 1, max = 17)
    List of GPIO pins (0-16) to program as normal/non-inverted

* gpio_fan: int array (min = 1, max = 8)
    List of GPIO pins (0-7) to program as fan tachs


Description
-----------

This driver implements support for the Analog Devices ADM1026. Analog
Devices calls it a "complete thermal system management controller."

The ADM1026 implements three (3) temperature sensors, 17 voltage sensors,
16 general purpose digital I/O lines, eight (8) fan speed sensors (8-bit),
an analog output and a PWM output along with limit, alarm and mask bits for
all of the above. There is even 8k bytes of EEPROM memory on chip.

Temperatures are measured in degrees Celsius. There are two external
sensor inputs and one internal sensor. Each sensor has a high and low
limit. If the limit is exceeded, an interrupt (#SMBALERT) can be
generated. The interrupts can be masked. In addition, there are over-temp
limits for each sensor. If this limit is exceeded, the #THERM output will
be asserted. The current temperature and limits have a resolution of 1
degree.

Fan rotation speeds are reported in RPM (rotations per minute) but measured
in counts of a 22.5kHz internal clock. Each fan has a high limit which
corresponds to a minimum fan speed. If the limit is exceeded, an interrupt
can be generated. Each fan can be programmed to divide the reference clock
by 1, 2, 4 or 8. Not all RPM values can accurately be represented, so some
rounding is done. With a divider of 8, the slowest measurable speed of a
two pulse per revolution fan is 661 RPM.

There are 17 voltage sensors. An alarm is triggered if the voltage has
crossed a programmable minimum or maximum limit. Note that minimum in this
case always means 'closest to zero'; this is important for negative voltage
measurements. Several inputs have integrated attenuators so they can measure
higher voltages directly. 3.3V, 5V, 12V, -12V and battery voltage all have
dedicated inputs. There are several inputs scaled to 0-3V full-scale range

Annotation

Implementation Notes