xref: /linux/Documentation/hwmon/adt7462.rst (revision c39f2d9db0fd81ea20bb5cce9b3f082ca63753e2)
1*7ebd8b66SMauro Carvalho ChehabKernel driver adt7462
2*7ebd8b66SMauro Carvalho Chehab=====================
3*7ebd8b66SMauro Carvalho Chehab
4*7ebd8b66SMauro Carvalho ChehabSupported chips:
5*7ebd8b66SMauro Carvalho Chehab
6*7ebd8b66SMauro Carvalho Chehab  * Analog Devices ADT7462
7*7ebd8b66SMauro Carvalho Chehab
8*7ebd8b66SMauro Carvalho Chehab    Prefix: 'adt7462'
9*7ebd8b66SMauro Carvalho Chehab
10*7ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x58, 0x5C
11*7ebd8b66SMauro Carvalho Chehab
12*7ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Analog Devices website
13*7ebd8b66SMauro Carvalho Chehab
14*7ebd8b66SMauro Carvalho ChehabAuthor: Darrick J. Wong
15*7ebd8b66SMauro Carvalho Chehab
16*7ebd8b66SMauro Carvalho ChehabDescription
17*7ebd8b66SMauro Carvalho Chehab-----------
18*7ebd8b66SMauro Carvalho Chehab
19*7ebd8b66SMauro Carvalho ChehabThis driver implements support for the Analog Devices ADT7462 chip family.
20*7ebd8b66SMauro Carvalho Chehab
21*7ebd8b66SMauro Carvalho ChehabThis chip is a bit of a beast.  It has 8 counters for measuring fan speed.  It
22*7ebd8b66SMauro Carvalho Chehabcan also measure 13 voltages or 4 temperatures, or various combinations of the
23*7ebd8b66SMauro Carvalho Chehabtwo.  See the chip documentation for more details about the exact set of
24*7ebd8b66SMauro Carvalho Chehabconfigurations.  This driver does not allow one to configure the chip; that is
25*7ebd8b66SMauro Carvalho Chehableft to the system designer.
26*7ebd8b66SMauro Carvalho Chehab
27*7ebd8b66SMauro Carvalho ChehabA sophisticated control system for the PWM outputs is designed into the ADT7462
28*7ebd8b66SMauro Carvalho Chehabthat allows fan speed to be adjusted automatically based on any of the three
29*7ebd8b66SMauro Carvalho Chehabtemperature sensors. Each PWM output is individually adjustable and
30*7ebd8b66SMauro Carvalho Chehabprogrammable. Once configured, the ADT7462 will adjust the PWM outputs in
31*7ebd8b66SMauro Carvalho Chehabresponse to the measured temperatures without further host intervention.  This
32*7ebd8b66SMauro Carvalho Chehabfeature can also be disabled for manual control of the PWM's.
33*7ebd8b66SMauro Carvalho Chehab
34*7ebd8b66SMauro Carvalho ChehabEach of the measured inputs (voltage, temperature, fan speed) has
35*7ebd8b66SMauro Carvalho Chehabcorresponding high/low limit values. The ADT7462 will signal an ALARM if
36*7ebd8b66SMauro Carvalho Chehabany measured value exceeds either limit.
37*7ebd8b66SMauro Carvalho Chehab
38*7ebd8b66SMauro Carvalho ChehabThe ADT7462 samples all inputs continuously. The driver will not read
39*7ebd8b66SMauro Carvalho Chehabthe registers more often than once every other second. Further,
40*7ebd8b66SMauro Carvalho Chehabconfiguration data is only read once per minute.
41*7ebd8b66SMauro Carvalho Chehab
42*7ebd8b66SMauro Carvalho ChehabSpecial Features
43*7ebd8b66SMauro Carvalho Chehab----------------
44*7ebd8b66SMauro Carvalho Chehab
45*7ebd8b66SMauro Carvalho ChehabThe ADT7462 have a 10-bit ADC and can therefore measure temperatures
46*7ebd8b66SMauro Carvalho Chehabwith 0.25 degC resolution.
47*7ebd8b66SMauro Carvalho Chehab
48*7ebd8b66SMauro Carvalho ChehabThe Analog Devices datasheet is very detailed and describes a procedure for
49*7ebd8b66SMauro Carvalho Chehabdetermining an optimal configuration for the automatic PWM control.
50*7ebd8b66SMauro Carvalho Chehab
51*7ebd8b66SMauro Carvalho ChehabThe driver will report sensor labels when it is able to determine that
52*7ebd8b66SMauro Carvalho Chehabinformation from the configuration registers.
53*7ebd8b66SMauro Carvalho Chehab
54*7ebd8b66SMauro Carvalho ChehabConfiguration Notes
55*7ebd8b66SMauro Carvalho Chehab-------------------
56*7ebd8b66SMauro Carvalho Chehab
57*7ebd8b66SMauro Carvalho ChehabBesides standard interfaces driver adds the following:
58*7ebd8b66SMauro Carvalho Chehab
59*7ebd8b66SMauro Carvalho Chehab* PWM Control
60*7ebd8b66SMauro Carvalho Chehab
61*7ebd8b66SMauro Carvalho Chehab* pwm#_auto_point1_pwm and temp#_auto_point1_temp and
62*7ebd8b66SMauro Carvalho Chehab* pwm#_auto_point2_pwm and temp#_auto_point2_temp -
63*7ebd8b66SMauro Carvalho Chehab
64*7ebd8b66SMauro Carvalho Chehab  - point1: Set the pwm speed at a lower temperature bound.
65*7ebd8b66SMauro Carvalho Chehab  - point2: Set the pwm speed at a higher temperature bound.
66*7ebd8b66SMauro Carvalho Chehab
67*7ebd8b66SMauro Carvalho ChehabThe ADT7462 will scale the pwm between the lower and higher pwm speed when
68*7ebd8b66SMauro Carvalho Chehabthe temperature is between the two temperature boundaries.  PWM values range
69*7ebd8b66SMauro Carvalho Chehabfrom 0 (off) to 255 (full speed).  Fan speed will be set to maximum when the
70*7ebd8b66SMauro Carvalho Chehabtemperature sensor associated with the PWM control exceeds temp#_max.
71