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

Supported chips:
  * Analog Devices ADT7410
    Prefix: 'adt7410'
    Addresses scanned: I2C 0x48 - 0x4B
    Datasheet: Publicly available at the Analog Devices website
               http://www.analog.com/static/imported-files/data_sheets/ADT7410.pdf

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

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

The 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 continous temperature sampling, as well as sampling one temperature
value per second or even justget one sample on demand for power saving.
Besides, it can completely power down its ADC, if power management is
required.

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
