]>
Commit | Line | Data |
---|---|---|
7f15b664 RM |
1 | Kernel driver asb100 |
2 | ==================== | |
3 | ||
4 | Supported Chips: | |
5 | * Asus ASB100 and ASB100-A "Bach" | |
6 | Prefix: 'asb100' | |
7 | Addresses scanned: I2C 0x2d | |
8 | Datasheet: none released | |
9 | ||
10 | Author: Mark M. Hoffman <[email protected]> | |
11 | ||
12 | Description | |
13 | ----------- | |
14 | ||
15 | This driver implements support for the Asus ASB100 and ASB100-A "Bach". | |
16 | These are custom ASICs available only on Asus mainboards. Asus refuses to | |
17 | supply a datasheet for these chips. Thanks go to many people who helped | |
18 | investigate their hardware, including: | |
19 | ||
20 | Vitaly V. Bursov | |
21 | Alexander van Kaam (author of MBM for Windows) | |
22 | Bertrik Sikken | |
23 | ||
24 | The ASB100 implements seven voltage sensors, three fan rotation speed | |
25 | sensors, four temperature sensors, VID lines and alarms. In addition to | |
26 | these, the ASB100-A also implements a single PWM controller for fans 2 and | |
27 | 3 (i.e. one setting controls both.) If you have a plain ASB100, the PWM | |
28 | controller will simply not work (or maybe it will for you... it doesn't for | |
29 | me). | |
30 | ||
31 | Temperatures are measured and reported in degrees Celsius. | |
32 | ||
33 | Fan speeds are reported in RPM (rotations per minute). An alarm is | |
34 | triggered if the rotation speed has dropped below a programmable limit. | |
35 | ||
36 | Voltage sensors (also known as IN sensors) report values in volts. | |
37 | ||
38 | The VID lines encode the core voltage value: the voltage level your | |
39 | processor should work with. This is hardcoded by the mainboard and/or | |
40 | processor itself. It is a value in volts. | |
41 | ||
42 | Alarms: (TODO question marks indicate may or may not work) | |
43 | ||
44 | 0x0001 => in0 (?) | |
45 | 0x0002 => in1 (?) | |
46 | 0x0004 => in2 | |
47 | 0x0008 => in3 | |
48 | 0x0010 => temp1 (1) | |
49 | 0x0020 => temp2 | |
50 | 0x0040 => fan1 | |
51 | 0x0080 => fan2 | |
52 | 0x0100 => in4 | |
53 | 0x0200 => in5 (?) (2) | |
54 | 0x0400 => in6 (?) (2) | |
55 | 0x0800 => fan3 | |
56 | 0x1000 => chassis switch | |
57 | 0x2000 => temp3 | |
58 | ||
59 | Alarm Notes: | |
60 | ||
61 | (1) This alarm will only trigger if the hysteresis value is 127C. | |
62 | I.e. it behaves the same as w83781d. | |
63 | ||
64 | (2) The min and max registers for these values appear to | |
65 | be read-only or otherwise stuck at 0x00. | |
66 | ||
67 | TODO: | |
68 | * Experiment with fan divisors > 8. | |
69 | * Experiment with temp. sensor types. | |
70 | * Are there really 13 voltage inputs? Probably not... | |
71 | * Cleanups, no doubt... | |
72 |