1 Kernel driver adm1026 2 ===================== 3 4 Supported chips: 5 * Analog Devices ADM1026 6 7 Prefix: 'adm1026' 8 9 Addresses scanned: I2C 0x2c, 0x2d, 0x2e 10 11 Datasheet: Publicly available at the Analo 12 13 https://www.onsemi.com/PowerSol 14 15 Authors: 16 - Philip Pokorny <ppokorny@penguincompu 17 - Justin Thiessen <jthiessen@penguincom 18 19 Module Parameters 20 ----------------- 21 22 * gpio_input: int array (min = 1, max = 17) 23 List of GPIO pins (0-16) to program as inp 24 25 * gpio_output: int array (min = 1, max = 17) 26 List of GPIO pins (0-16) to program as out 27 28 * gpio_inverted: int array (min = 1, max = 17) 29 List of GPIO pins (0-16) to program as inv 30 31 * gpio_normal: int array (min = 1, max = 17) 32 List of GPIO pins (0-16) to program as nor 33 34 * gpio_fan: int array (min = 1, max = 8) 35 List of GPIO pins (0-7) to program as fan 36 37 38 Description 39 ----------- 40 41 This driver implements support for the Analog 42 Devices calls it a "complete thermal system ma 43 44 The ADM1026 implements three (3) temperature s 45 16 general purpose digital I/O lines, eight (8 46 an analog output and a PWM output along with l 47 all of the above. There is even 8k bytes of EE 48 49 Temperatures are measured in degrees Celsius. 50 sensor inputs and one internal sensor. Each se 51 limit. If the limit is exceeded, an interrupt 52 generated. The interrupts can be masked. In ad 53 limits for each sensor. If this limit is excee 54 be asserted. The current temperature and limit 55 degree. 56 57 Fan rotation speeds are reported in RPM (rotat 58 in counts of a 22.5kHz internal clock. Each fa 59 corresponds to a minimum fan speed. If the lim 60 can be generated. Each fan can be programmed t 61 by 1, 2, 4 or 8. Not all RPM values can accura 62 rounding is done. With a divider of 8, the slo 63 two pulse per revolution fan is 661 RPM. 64 65 There are 17 voltage sensors. An alarm is trig 66 crossed a programmable minimum or maximum limi 67 case always means 'closest to zero'; this is i 68 measurements. Several inputs have integrated a 69 higher voltages directly. 3.3V, 5V, 12V, -12V 70 dedicated inputs. There are several inputs sca 71 for SCSI terminator power. The remaining input 72 a 0-2.5V full-scale range. A 2.5V or 1.82V ref 73 for negative voltage measurements. 74 75 If an alarm triggers, it will remain triggered 76 is read at least once. This means that the cau 77 have disappeared! Note that in the current imp 78 registers are read whenever any data is read ( 79 seconds since the last update). This means tha 80 once-only alarms. 81 82 The ADM1026 measures continuously. Analog inpu 83 times a second. Fan speed measurement time dep 84 divisor. It can take as long as 1.5 seconds to 85 86 The ADM1026 has the ability to automatically c 87 temperature sensor inputs. Both the PWM output 88 used to control fan speed. Usually only one of 89 used. Write the minimum PWM or DAC value to th 90 register. Then set the low temperature limit i 91 temperature sensor. The range of control is fi 92 largest difference between current and tmin of 93 the control output. See the datasheet for seve 94 controlling fan speed with the PWM and DAC out 95 do not have PWM compensation, so it is probabl 96 voltage from the power lead rather than on the 97 98 The datasheet shows an example application wit 99 GPIO lines. Unfortunately, the chip may not be 100 in this way. The driver assumes that the chips 101 get a VID voltage.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.