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