diff options
-rw-r--r-- | Documentation/hwmon/lm93 | 126 |
1 files changed, 8 insertions, 118 deletions
diff --git a/Documentation/hwmon/lm93 b/Documentation/hwmon/lm93 index 4e4a1dc1d2da..ac711f357faf 100644 --- a/Documentation/hwmon/lm93 +++ b/Documentation/hwmon/lm93 | |||
@@ -7,7 +7,7 @@ Supported chips: | |||
7 | Addresses scanned: I2C 0x2c-0x2e | 7 | Addresses scanned: I2C 0x2c-0x2e |
8 | Datasheet: http://www.national.com/ds.cgi/LM/LM93.pdf | 8 | Datasheet: http://www.national.com/ds.cgi/LM/LM93.pdf |
9 | 9 | ||
10 | Author: | 10 | Authors: |
11 | Mark M. Hoffman <mhoffman@lightlink.com> | 11 | Mark M. Hoffman <mhoffman@lightlink.com> |
12 | Ported to 2.6 by Eric J. Bowersox <ericb@aspsys.com> | 12 | Ported to 2.6 by Eric J. Bowersox <ericb@aspsys.com> |
13 | Adapted to 2.6.20 by Carsten Emde <ce@osadl.org> | 13 | Adapted to 2.6.20 by Carsten Emde <ce@osadl.org> |
@@ -16,7 +16,6 @@ Author: | |||
16 | Module Parameters | 16 | Module Parameters |
17 | ----------------- | 17 | ----------------- |
18 | 18 | ||
19 | (specific to LM93) | ||
20 | * init: integer | 19 | * init: integer |
21 | Set to non-zero to force some initializations (default is 0). | 20 | Set to non-zero to force some initializations (default is 0). |
22 | * disable_block: integer | 21 | * disable_block: integer |
@@ -37,30 +36,13 @@ Module Parameters | |||
37 | I.e. this parameter controls the VID pin input thresholds; if your VID | 36 | I.e. this parameter controls the VID pin input thresholds; if your VID |
38 | inputs are not working, try changing this. The default value is "0". | 37 | inputs are not working, try changing this. The default value is "0". |
39 | 38 | ||
40 | (common among sensor drivers) | ||
41 | * force: short array (min = 1, max = 48) | ||
42 | List of adapter,address pairs to assume to be present. Autodetection | ||
43 | of the target device will still be attempted. Use one of the more | ||
44 | specific force directives below if this doesn't detect the device. | ||
45 | * force_lm93: short array (min = 1, max = 48) | ||
46 | List of adapter,address pairs which are unquestionably assumed to contain | ||
47 | a 'lm93' chip | ||
48 | * ignore: short array (min = 1, max = 48) | ||
49 | List of adapter,address pairs not to scan | ||
50 | * ignore_range: short array (min = 1, max = 48) | ||
51 | List of adapter,start-addr,end-addr triples not to scan | ||
52 | * probe: short array (min = 1, max = 48) | ||
53 | List of adapter,address pairs to scan additionally | ||
54 | * probe_range: short array (min = 1, max = 48) | ||
55 | List of adapter,start-addr,end-addr triples to scan additionally | ||
56 | |||
57 | 39 | ||
58 | Hardware Description | 40 | Hardware Description |
59 | -------------------- | 41 | -------------------- |
60 | 42 | ||
61 | (from the datasheet) | 43 | (from the datasheet) |
62 | 44 | ||
63 | The LM93, hardware monitor, has a two wire digital interface compatible with | 45 | The LM93 hardware monitor has a two wire digital interface compatible with |
64 | SMBus 2.0. Using an 8-bit ADC, the LM93 measures the temperature of two remote | 46 | SMBus 2.0. Using an 8-bit ADC, the LM93 measures the temperature of two remote |
65 | diode connected transistors as well as its own die and 16 power supply | 47 | diode connected transistors as well as its own die and 16 power supply |
66 | voltages. To set fan speed, the LM93 has two PWM outputs that are each | 48 | voltages. To set fan speed, the LM93 has two PWM outputs that are each |
@@ -69,18 +51,12 @@ table based. The LM93 includes a digital filter that can be invoked to smooth | |||
69 | temperature readings for better control of fan speed. The LM93 has four | 51 | temperature readings for better control of fan speed. The LM93 has four |
70 | tachometer inputs to measure fan speed. Limit and status registers for all | 52 | tachometer inputs to measure fan speed. Limit and status registers for all |
71 | measured values are included. The LM93 builds upon the functionality of | 53 | measured values are included. The LM93 builds upon the functionality of |
72 | previous motherboard management ASICs and uses some of the LM85 s features | 54 | previous motherboard management ASICs and uses some of the LM85's features |
73 | (i.e. smart tachometer mode). It also adds measurement and control support | 55 | (i.e. smart tachometer mode). It also adds measurement and control support |
74 | for dynamic Vccp monitoring and PROCHOT. It is designed to monitor a dual | 56 | for dynamic Vccp monitoring and PROCHOT. It is designed to monitor a dual |
75 | processor Xeon class motherboard with a minimum of external components. | 57 | processor Xeon class motherboard with a minimum of external components. |
76 | 58 | ||
77 | 59 | ||
78 | Driver Description | ||
79 | ------------------ | ||
80 | |||
81 | This driver implements support for the National Semiconductor LM93. | ||
82 | |||
83 | |||
84 | User Interface | 60 | User Interface |
85 | -------------- | 61 | -------------- |
86 | 62 | ||
@@ -101,7 +77,7 @@ These intervals can be found in the sysfs files prochot1_interval and | |||
101 | prochot2_interval. The values in these files specify the intervals for | 77 | prochot2_interval. The values in these files specify the intervals for |
102 | #P1_PROCHOT and #P2_PROCHOT, respectively. Selecting a value not in this | 78 | #P1_PROCHOT and #P2_PROCHOT, respectively. Selecting a value not in this |
103 | list will cause the driver to use the next largest interval. The available | 79 | list will cause the driver to use the next largest interval. The available |
104 | intervals are: | 80 | intervals are (in seconds): |
105 | 81 | ||
106 | #PROCHOT intervals: 0.73, 1.46, 2.9, 5.8, 11.7, 23.3, 46.6, 93.2, 186, 372 | 82 | #PROCHOT intervals: 0.73, 1.46, 2.9, 5.8, 11.7, 23.3, 46.6, 93.2, 186, 372 |
107 | 83 | ||
@@ -111,12 +87,12 @@ assert #P2_PROCHOT, and vice-versa. This mode is enabled by writing a | |||
111 | non-zero integer to the sysfs file prochot_short. | 87 | non-zero integer to the sysfs file prochot_short. |
112 | 88 | ||
113 | The LM93 can also override the #PROCHOT pins by driving a PWM signal onto | 89 | The LM93 can also override the #PROCHOT pins by driving a PWM signal onto |
114 | one or both of them. When overridden, the signal has a period of 3.56 mS, | 90 | one or both of them. When overridden, the signal has a period of 3.56 ms, |
115 | a minimum pulse width of 5 clocks (at 22.5kHz => 6.25% duty cycle), and | 91 | a minimum pulse width of 5 clocks (at 22.5kHz => 6.25% duty cycle), and |
116 | a maximum pulse width of 80 clocks (at 22.5kHz => 99.88% duty cycle). | 92 | a maximum pulse width of 80 clocks (at 22.5kHz => 99.88% duty cycle). |
117 | 93 | ||
118 | The sysfs files prochot1_override and prochot2_override contain boolean | 94 | The sysfs files prochot1_override and prochot2_override contain boolean |
119 | intgers which enable or disable the override function for #P1_PROCHOT and | 95 | integers which enable or disable the override function for #P1_PROCHOT and |
120 | #P2_PROCHOT, respectively. The sysfs file prochot_override_duty_cycle | 96 | #P2_PROCHOT, respectively. The sysfs file prochot_override_duty_cycle |
121 | contains a value controlling the duty cycle for the PWM signal used when | 97 | contains a value controlling the duty cycle for the PWM signal used when |
122 | the override function is enabled. This value ranges from 0 to 15, with 0 | 98 | the override function is enabled. This value ranges from 0 to 15, with 0 |
@@ -166,7 +142,7 @@ frequency values are constrained by the hardware. Selecting a value which is | |||
166 | not available will cause the driver to use the next largest value. Also note | 142 | not available will cause the driver to use the next largest value. Also note |
167 | that this parameter has implications for the Smart Tach Mode (see above). | 143 | that this parameter has implications for the Smart Tach Mode (see above). |
168 | 144 | ||
169 | PWM Output Frequencies: 12, 36, 48, 60, 72, 84, 96, 22500 (h/w default) | 145 | PWM Output Frequencies (in Hz): 12, 36, 48, 60, 72, 84, 96, 22500 (default) |
170 | 146 | ||
171 | Automatic PWM: | 147 | Automatic PWM: |
172 | 148 | ||
@@ -178,7 +154,7 @@ individual control sources to which the PWM output is bound. | |||
178 | The eight control sources are: temp1-temp4 (aka "zones" in the datasheet), | 154 | The eight control sources are: temp1-temp4 (aka "zones" in the datasheet), |
179 | #PROCHOT 1 & 2, and #VRDHOT 1 & 2. The bindings are expressed as a bitmask | 155 | #PROCHOT 1 & 2, and #VRDHOT 1 & 2. The bindings are expressed as a bitmask |
180 | in the sysfs files pwm<n>_auto_channels, where a "1" enables the binding, and | 156 | in the sysfs files pwm<n>_auto_channels, where a "1" enables the binding, and |
181 | a "0" disables it. The h/w default is 0x0f (all temperatures bound). | 157 | a "0" disables it. The h/w default is 0x0f (all temperatures bound). |
182 | 158 | ||
183 | 0x01 - Temp 1 | 159 | 0x01 - Temp 1 |
184 | 0x02 - Temp 2 | 160 | 0x02 - Temp 2 |
@@ -324,89 +300,3 @@ LM93 Unique sysfs Files | |||
324 | 300 | ||
325 | gpio input state of 8 GPIO pins; read-only | 301 | gpio input state of 8 GPIO pins; read-only |
326 | 302 | ||
327 | |||
328 | Sample Configuration File | ||
329 | ------------------------- | ||
330 | |||
331 | Here is a sample LM93 chip config for sensors.conf: | ||
332 | |||
333 | ---------- cut here ---------- | ||
334 | chip "lm93-*" | ||
335 | |||
336 | # VOLTAGE INPUTS | ||
337 | |||
338 | # labels and scaling based on datasheet recommendations | ||
339 | label in1 "+12V1" | ||
340 | compute in1 @ * 12.945, @ / 12.945 | ||
341 | set in1_min 12 * 0.90 | ||
342 | set in1_max 12 * 1.10 | ||
343 | |||
344 | label in2 "+12V2" | ||
345 | compute in2 @ * 12.945, @ / 12.945 | ||
346 | set in2_min 12 * 0.90 | ||
347 | set in2_max 12 * 1.10 | ||
348 | |||
349 | label in3 "+12V3" | ||
350 | compute in3 @ * 12.945, @ / 12.945 | ||
351 | set in3_min 12 * 0.90 | ||
352 | set in3_max 12 * 1.10 | ||
353 | |||
354 | label in4 "FSB_Vtt" | ||
355 | |||
356 | label in5 "3GIO" | ||
357 | |||
358 | label in6 "ICH_Core" | ||
359 | |||
360 | label in7 "Vccp1" | ||
361 | |||
362 | label in8 "Vccp2" | ||
363 | |||
364 | label in9 "+3.3V" | ||
365 | set in9_min 3.3 * 0.90 | ||
366 | set in9_max 3.3 * 1.10 | ||
367 | |||
368 | label in10 "+5V" | ||
369 | set in10_min 5.0 * 0.90 | ||
370 | set in10_max 5.0 * 1.10 | ||
371 | |||
372 | label in11 "SCSI_Core" | ||
373 | |||
374 | label in12 "Mem_Core" | ||
375 | |||
376 | label in13 "Mem_Vtt" | ||
377 | |||
378 | label in14 "Gbit_Core" | ||
379 | |||
380 | # Assuming R1/R2 = 4.1143, and 3.3V reference | ||
381 | # -12V = (4.1143 + 1) * (@ - 3.3) + 3.3 | ||
382 | label in15 "-12V" | ||
383 | compute in15 @ * 5.1143 - 13.57719, (@ + 13.57719) / 5.1143 | ||
384 | set in15_min -12 * 0.90 | ||
385 | set in15_max -12 * 1.10 | ||
386 | |||
387 | label in16 "+3.3VSB" | ||
388 | set in16_min 3.3 * 0.90 | ||
389 | set in16_max 3.3 * 1.10 | ||
390 | |||
391 | # TEMPERATURE INPUTS | ||
392 | |||
393 | label temp1 "CPU1" | ||
394 | label temp2 "CPU2" | ||
395 | label temp3 "LM93" | ||
396 | |||
397 | # TACHOMETER INPUTS | ||
398 | |||
399 | label fan1 "Fan1" | ||
400 | set fan1_min 3000 | ||
401 | label fan2 "Fan2" | ||
402 | set fan2_min 3000 | ||
403 | label fan3 "Fan3" | ||
404 | set fan3_min 3000 | ||
405 | label fan4 "Fan4" | ||
406 | set fan4_min 3000 | ||
407 | |||
408 | # PWM OUTPUTS | ||
409 | |||
410 | label pwm1 "CPU1" | ||
411 | label pwm2 "CPU2" | ||
412 | |||