Kernel driver adt7410
=====================

Supported chips:

  * Analog Devices ADT7410

    Prefix: 'adt7410'

    Addresses scanned: None

    Datasheet: Publicly available at the Analog Devices website

	       https://www.analog.com/static/imported-files/data_sheets/ADT7410.pdf
  * Analog Devices ADT7420

    Prefix: 'adt7420'

    Addresses scanned: None

    Datasheet: Publicly available at the Analog Devices website

	       https://www.analog.com/static/imported-files/data_sheets/ADT7420.pdf

  * Analog Devices ADT7310

    Prefix: 'adt7310'

    Addresses scanned: None

    Datasheet: Publicly available at the Analog Devices website

	       https://www.analog.com/static/imported-files/data_sheets/ADT7310.pdf

  * Analog Devices ADT7320

    Prefix: 'adt7320'

    Addresses scanned: None

    Datasheet: Publicly available at the Analog Devices website

	       https://www.analog.com/static/imported-files/data_sheets/ADT7320.pdf

Author: Hartmut Knaack <knaack.h@gmx.de>

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

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.

sysfs-Interface
---------------

======================== ====================================================
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
======================== ====================================================
