Kernel driver adt7410

Supported chips:

Author: Hartmut Knaack <>


The ADT7310/ADT7410 is a temperature sensor with rated temperature range of -55°C to +150°C. It has a high accuracy of +/-0.5°C and can be operated at a resolution of 13 bits (0.0625°C) or 16 bits (0.0078°C). The sensor provides an INT pin to indicate that a minimum or maximum temperature set point has been exceeded, as well as a critical temperature (CT) pin to indicate that the critical temperature set point has been exceeded. Both pins can be set up with a common hysteresis of 0°C - 15°C and a fault queue, ranging from 1 to 4 events. Both pins can individually set to be active-low or active-high, while the whole device can either run in comparator mode or interrupt mode. The ADT7410 supports continuous temperature sampling, as well as sampling one temperature value per second or even just get one sample on demand for power saving. Besides, it can completely power down its ADC, if power management is required.

The ADT7320/ADT7420 is register compatible, the only differences being the package, a slightly narrower operating temperature range (-40°C to +150°C), and a better accuracy (0.25°C instead of 0.50°C.)

The difference between the ADT7310/ADT7320 and ADT7410/ADT7420 is the control interface, the ADT7310 and ADT7320 use SPI while the ADT7410 and ADT7420 use I2C.

Configuration Notes

Since the device uses one hysteresis value, which is an offset to minimum, maximum and critical temperature, it can only be set for temp#_max_hyst. However, temp#_min_hyst and temp#_crit_hyst show their corresponding hysteresis. The device is set to 16 bit resolution and comparator mode.


temp#_input temperature input
temp#_min temperature minimum setpoint
temp#_max temperature maximum setpoint
temp#_crit critical temperature setpoint
temp#_min_hyst hysteresis for temperature minimum (read-only)
temp#_max_hyst hysteresis for temperature maximum (read/write)
temp#_crit_hyst hysteresis for critical temperature (read-only)
temp#_min_alarm temperature minimum alarm flag
temp#_max_alarm temperature maximum alarm flag
temp#_crit_alarm critical temperature alarm flag