1 Kernel driver lm93 2 ================== 3 4 Supported chips: 5 6 * National Semiconductor LM93 7 8 Prefix 'lm93' 9 10 Addresses scanned: I2C 0x2c-0x2e 11 12 Datasheet: http://www.national.com/ds.cgi/ 13 14 * National Semiconductor LM94 15 16 Prefix 'lm94' 17 18 Addresses scanned: I2C 0x2c-0x2e 19 20 Datasheet: http://www.national.com/ds.cgi/ 21 22 23 Authors: 24 - Mark M. Hoffman <mhoffman@lightlink.c 25 - Ported to 2.6 by Eric J. Bowersox <er 26 - Adapted to 2.6.20 by Carsten Emde <ce 27 - Modified for mainline integration by< 28 29 Module Parameters 30 ----------------- 31 32 * init: integer 33 Set to non-zero to force some initialization 34 * disable_block: integer 35 A "0" allows SMBus block data transactions i 36 disables SMBus block data transactions. The 37 * vccp_limit_type: integer array (2) 38 Configures in7 and in8 limit type, where 0 m 39 means relative. "Relative" here refers to " 40 VID" from the datasheet. It greatly simplif 41 only one set of limits (absolute or relative 42 time (even though the hardware is capable of 43 not a compelling use case for enabling both 44 is "0,0". 45 * vid_agtl: integer 46 A "0" configures the VID pins for V(ih) = 2. 47 A "1" configures the VID pins for V(ih) = 0. 48 (The latter setting is referred to as AGTL+ 49 I.e. this parameter controls the VID pin inp 50 inputs are not working, try changing this. 51 52 53 Hardware Description 54 -------------------- 55 56 (from the datasheet) 57 58 The LM93 hardware monitor has a two wire digit 59 SMBus 2.0. Using an 8-bit ADC, the LM93 measur 60 diode connected transistors as well as its own 61 voltages. To set fan speed, the LM93 has two P 62 controlled by up to four temperature zones. Th 63 table based. The LM93 includes a digital filte 64 temperature readings for better control of fan 65 tachometer inputs to measure fan speed. Limit 66 measured values are included. The LM93 builds 67 previous motherboard management ASICs and uses 68 (i.e. smart tachometer mode). It also adds mea 69 for dynamic Vccp monitoring and PROCHOT. It is 70 processor Xeon class motherboard with a minimu 71 72 LM94 is also supported in LM93 compatible mode 73 LM94 are not supported. 74 75 76 User Interface 77 -------------- 78 79 #PROCHOT 80 ^^^^^^^^ 81 82 The LM93 can monitor two #PROCHOT signals. Th 83 sysfs files prochot1, prochot2, prochot1_avg, 84 and prochot2_max. prochot1_max and prochot2_m 85 for #PROCHOT1 and #PROCHOT2, respectively. pr 86 the current readings for the most recent compl 87 value of prochot1_avg and prochot2_avg is some 88 exponential moving average (but not quite - ch 89 that this third value is calculated by the chi 90 from 0-255 where 0 indicates no throttling, an 91 92 The monitoring intervals for the two #PROCHOT 93 These intervals can be found in the sysfs file 94 prochot2_interval. The values in these files 95 #P1_PROCHOT and #P2_PROCHOT, respectively. Se 96 list will cause the driver to use the next lar 97 intervals are (in seconds): 98 99 #PROCHOT intervals: 100 0.73, 1.46, 2.9, 5.8, 11.7, 23.3, 46.6 101 102 It is possible to configure the LM93 to logica 103 signals. I.e. when #P1_PROCHOT is asserted, t 104 assert #P2_PROCHOT, and vice-versa. This mode 105 non-zero integer to the sysfs file prochot_sho 106 107 The LM93 can also override the #PROCHOT pins b 108 one or both of them. When overridden, the sig 109 a minimum pulse width of 5 clocks (at 22.5kHz 110 a maximum pulse width of 80 clocks (at 22.5kHz 111 112 The sysfs files prochot1_override and prochot2 113 integers which enable or disable the override 114 #P2_PROCHOT, respectively. The sysfs file pro 115 contains a value controlling the duty cycle fo 116 the override function is enabled. This value 117 indicating minimum duty cycle and 15 indicatin 118 119 #VRD_HOT 120 ^^^^^^^^ 121 122 The LM93 can monitor two #VRD_HOT signals. The 123 sysfs files vrdhot1 and vrdhot2. There is one 124 which 1 indicates #VRD_HOT is asserted and 0 i 125 files are read-only. 126 127 Smart Tach Mode (from the datasheet):: 128 129 If a fan is driven using a low-side dr 130 output of the fan is corrupted. The LM 131 circuitry that allows an accurate tach 132 achieved despite the signal corruption 133 four signals are measured within 4 sec 134 135 Smart tach mode is enabled by the driver by wr 136 fan tachometer with a pwm) to the sysfs file f 137 will disable the function for that fan. Note 138 enabled if the PWM output frequency is 22500 H 139 140 Manual PWM 141 ^^^^^^^^^^ 142 143 The LM93 has a fixed or override mode for the 144 are still some conditions that will override e 145 15.10.6 of the datasheet for details.) The sy 146 and pwm2_override are used to enable this mode 147 where 0 disables and 1 enables the manual cont 148 and pwm2 are used to set the manual duty cycle 149 where 0 is 0% duty cycle, and 255 is 100%. No 150 are constrained by the hardware. Selecting a v 151 will cause the driver to use the next largest 152 PWM mode is disabled, the value of pwm1 and pw 153 cycle chosen by the h/w. 154 155 PWM Output Frequency 156 ^^^^^^^^^^^^^^^^^^^^ 157 158 The LM93 supports several different frequencie 159 The sysfs files pwm1_freq and pwm2_freq are us 160 frequency values are constrained by the hardwa 161 not available will cause the driver to use the 162 that this parameter has implications for the S 163 164 PWM Output Frequencies (in Hz): 165 12, 36, 48, 60, 72, 84, 96, 22500 (def 166 167 Automatic PWM 168 ^^^^^^^^^^^^^ 169 170 The LM93 is capable of complex automatic fan c 171 points of configuration. To start, each PWM o 172 combination of eight control sources. The fin 173 individual control sources to which the PWM ou 174 175 The eight control sources are: temp1-temp4 (ak 176 #PROCHOT 1 & 2, and #VRDHOT 1 & 2. The bindin 177 in the sysfs files pwm<n>_auto_channels, where 178 a "0" disables it. The h/w default is 0x0f (al 179 180 ====== =========== 181 0x01 Temp 1 182 0x02 Temp 2 183 0x04 Temp 3 184 0x08 Temp 4 185 0x10 #PROCHOT 1 186 0x20 #PROCHOT 2 187 0x40 #VRDHOT 1 188 0x80 #VRDHOT 2 189 ====== =========== 190 191 The function y = f(x) takes a source temperatu 192 function of the LM93 is derived from a base te 193 temperature offsets. The base temperature is 194 sysfs files temp<n>_auto_base. The offsets ar 195 degrees C, with the value of offset <i> for te 196 contained in the file temp<n>_auto_offset<i>. 197 is 40C: 198 199 ========== ======================= ====== 200 offset # temp<n>_auto_offset<i> range 201 ========== ======================= ====== 202 1 0 - 203 2 0 - 204 3 1 40C - 205 4 1 41C - 206 5 2 42C - 207 6 2 44C - 208 7 2 48C - 209 8 2 50C - 210 9 2 52C - 211 10 2 54C - 212 11 2 56C - 213 12 2 58C - 214 - - > 60C 215 ========== ======================= ====== 216 217 Valid offsets are in the range 0C <= x <= 7.5C 218 219 There is an independent base temperature for e 220 however, there are only two tables of offsets: 221 temp[34]. Therefore, any change to e.g. temp1 222 affect temp2_auto_offset<i>. 223 224 The LM93 can also apply hysteresis to the offs 225 oscillation between two steps in the offsets t 226 the sysfs files temp<n>_auto_offset_hyst. The 227 same representation as in temp<n>_auto_offset< 228 229 If a temperature reading falls below the base 230 will use the minimum PWM value. These values 231 temp<n>_auto_pwm_min. Note, there are only tw 232 and temp[34]. Therefore, any change to e.g. t 233 affect temp2_auto_pwm_min. 234 235 PWM Spin-Up Cycle 236 ^^^^^^^^^^^^^^^^^ 237 238 A spin-up cycle occurs when a PWM output is co 239 some value > 0%. The LM93 supports a minimum 240 values are found in the sysfs files pwm<n>_aut 241 file has the same representation as other PWM 242 duration of the spin-up cycle is also configur 243 the sysfs files pwm<n>_auto_spinup_time. The v 244 the spin-up time in seconds. The available sp 245 the hardware. Selecting a value which is not 246 to use the next largest value. 247 248 Spin-up Durations: 249 0 (disabled, h/w default), 0.1, 0.25, 250 251 #PROCHOT and #VRDHOT PWM Ramping 252 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 253 254 If the #PROCHOT or #VRDHOT signals are asserte 255 channel, the LM93 will ramp the PWM output up 256 steps. The duration of each step is configurab 257 one value each in seconds: pwm_auto_prochot_ra 258 The available ramp times are constrained by th 259 which is not available will cause the driver t 260 261 Ramp Times: 262 0 (disabled, h/w default) to 0.75 in 0 263 264 Fan Boost 265 ^^^^^^^^^ 266 267 For each temperature channel, there is a boost 268 exceeds this limit, the LM93 will immediately 269 This limit is expressed in degrees C in the sy 270 There is also a hysteresis temperature for thi 271 limit is reached, the temperature channel must 272 the boost function is disabled. This temperat 273 C in the sysfs files temp<n>_auto_boost_hyst. 274 275 GPIO Pins 276 ^^^^^^^^^ 277 278 The LM93 can monitor the logic level of four d 279 four tach input pins. GPIO0-GPIO3 correspond 280 All eight GPIOs are read by reading the bitmas 281 LSB is GPIO0, and the MSB is GPIO7. 282 283 284 LM93 Unique sysfs Files 285 ----------------------- 286 287 =========================== ================== 288 file description 289 =========================== ================== 290 prochot<n> current #PROCHOT % 291 prochot<n>_avg moving average #PR 292 prochot<n>_max limit #PROCHOT % 293 prochot_short enable or disable 294 prochot<n>_override force #PROCHOT ass 295 prochot_override_duty_cycle duty cycle for the 296 #PROCHOT is overri 297 prochot<n>_interval #PROCHOT PWM sampl 298 vrdhot<n> 0 means negated, 1 299 fan<n>_smart_tach enable or disable 300 pwm<n>_auto_channels select control sou 301 pwm<n>_auto_spinup_min minimum duty cycle 302 pwm<n>_auto_spinup_time duration of spin-u 303 pwm_auto_prochot_ramp ramp time per step 304 pwm_auto_vrdhot_ramp ramp time per step 305 temp<n>_auto_base temperature channe 306 temp<n>_auto_offset[1-12] temperature channe 307 temp<n>_auto_offset_hyst temperature channe 308 temp<n>_auto_boost temperature channe 309 limit 310 temp<n>_auto_boost_hyst temperature channe 311 gpio input state of 8 G 312 =========================== ==================
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.