Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux...
[linux/fpc-iii.git] / Documentation / hwmon / asb100
blobab7365e139be12767f78568e324d5dbe2793c7ab
1 Kernel driver asb100
2 ====================
4 Supported Chips:
5   * Asus ASB100 and ASB100-A "Bach"
6     Prefix: 'asb100'
7     Addresses scanned: I2C 0x2d
8     Datasheet: none released
10 Author: Mark M. Hoffman <mhoffman@lightlink.com>
12 Description
13 -----------
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:
20 Vitaly V. Bursov
21 Alexander van Kaam (author of MBM for Windows)
22 Bertrik Sikken
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).
31 Temperatures are measured and reported in degrees Celsius.
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.
36 Voltage sensors (also known as IN sensors) report values in volts.
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.
42 Alarms: (TODO question marks indicate may or may not work)
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
59 Alarm Notes:
61 (1) This alarm will only trigger if the hysteresis value is 127C.
62 I.e. it behaves the same as w83781d.
64 (2) The min and max registers for these values appear to
65 be read-only or otherwise stuck at 0x00.
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...