ADT7462SM(4) NetBSD Kernel Interfaces Manual ADT7462SM(4)

NAME

adt7462sm — On Semiconductor (Analog Devices) ADT7462 Flexible Temperature, Voltage Monitor, and System Fan Controller

SYNOPSIS

adt7462sm* at iic? addr?

DESCRIPTION

The adt7462sm driver provides support for the On Semiconductor ADT7462 system monitor. The chip possesses 8 fan speed sensors, 4 temperature sensors, and 13 voltage sensors. The number of each sensor type configured by the driver depends on the chip configuration.

The values of the sensors are made available through the envstat(8) interface.

Sensor

Units

Description

fan N

RPM

Fan 0–7

local

C

Local temperature

remote N

C

Remote temperature 1–3

V2.5 N

mV DC

2.5V voltage 1–3

V1.8 N

mV DC

1.8V voltage 1–3

V1.5 N

mV DC

1.5V voltage 1–4

V3.3 N

mV DC

3.3V voltage 1–2

V1.2 N

mV DC

1.2V voltage 1–2

Vbatt

mV DC

Battery voltage

V12 N

mV DC

12V voltage 1–3

V0.9

mV DC

0.9V voltage

V1.25

mV DC

1.25V voltage

V5

mV DC

5V voltage

fan fault

none

Fan fault display

Configurable limits for the sensors are also available via envstat(8). Initial limit values are read from the chip. Each temperature sensor has therm, high and low limits, which are mapped to critmax, warnmax and warnmin, respectively. Voltage sensors have high (warnmax) and low (warnmin) limits. Fan sensors have a high limit mapped to warnmin, because the fan measurements are revolution intervals, so higher numbers correlate to lower fan speeds. Note, that there are two therm limits per temperature sensor and the one with the lowest value is used as critmax. The fan fault sensor has a value of 0 in normal operation. If a fault is detected, the fan fault value will represent the numbers of the failed fans, 1 for fan 0, 10 for fan 1, and so on, to 10000000 for fan 8.

The chip also supports Pulse-Width Modulated (PWM) fan speed control and the adt7462sm driver makes PWM and temperature settings available via sysctl. For each PWM channel, the controlling temperature channel is shown. For example

hw.adt7462sm0.pwm1.channel = remote1_dynamic
hw.adt7462sm0.pwm2.channel = remote2_dynamic
hw.adt7462sm0.pwm3.channel = remote3
hw.adt7462sm0.pwm4.channel = manual

If the channel is shown as ‘‘manual’’, then the PWM duty cycle can be altered through the corresponding duty_cycle variable. For example

hw.adt7462sm0.pwm4.duty_cycle

The duty cycle can be set to any value between 0% (off) and 100% (full) although the minimum non-zero value for a fan is usually in the 20% to 33% range. Note, fan speed in % rpm generally relates to the square root of the duty cycle. Therefore, 33% duty cycle will result in a fan speed close to 50%.

If the channel is shown as ‘‘remoteN’’, then the. tmin and trange variables for that ‘‘remoteN’’ can be used to adjust the PWM value and fan speed. For example:

hw.adt7462sm0.remote3.tmin
hw.adt7462sm0.remote3.trange

The tmin value is the temperature in degC at which the fan starts and the trange value represents the temperature range over which the fan speed increases until it reaches full speed. Both of these values can be altered, although tmin must be lower than the corresponding critmax value from envstat and trange must be between 2 and 80.

If the channel is shown as ‘‘remoteN_dynamic’’, then the tmin value is read-only, and the trange and oppoint variables for that ‘‘remoteN’’ are used to adjust the PWM value and fan speed. For example:

hw.adt7462sm0.remote1.tmin = 32
hw.adt7462sm0.remote1.trange = 32
hw.adt7462sm0.remote1.oppoint = 60

The tmin value is still the temperature in degC at which the fan starts, but is dynamically calculated by the chip based on the oppoint (operating point) and trange values. The operating point is a target temperature and the chip will attempt to maintain that temperature or lower. It does this by adjusting the tmin value based on the trange, thus causing the PWM values and fan speed to vary based on the difference between the current and operating point temperatures. Both the oppoint and trange values can be altered, although oppoint must be higher than tmin.

If the channel is shown as ‘‘local_remote3’’, then tmin and trange for both the ‘‘local’’ and the ‘‘remote3’’ temperature sensors affect the PWM value and fan speed.

If the channel is shown as ‘‘off’’, then it can not be altered.

SEE ALSO

iic(4), intro(4), envstat(8) sysctl(8)

AUTHORS

The adt7462sm driver was written by Julian Coleman ⟨jcoleman@NetBSD.org⟩.

BUGS

It’s not possible to determine if either a sensor is not connected, or the monitored device is producing no output. Therefore, unconnected sensors will show outputs of 0.

The adt7462sm driver does not support interrupt output.

NetBSD 9.0_STABLE February 19, 2026 NetBSD 9.0_STABLE