17ebd8b66SMauro Carvalho ChehabKernel driver asb100
27ebd8b66SMauro Carvalho Chehab====================
37ebd8b66SMauro Carvalho Chehab
47ebd8b66SMauro Carvalho ChehabSupported Chips:
57ebd8b66SMauro Carvalho Chehab
67ebd8b66SMauro Carvalho Chehab  * Asus ASB100 and ASB100-A "Bach"
77ebd8b66SMauro Carvalho Chehab
87ebd8b66SMauro Carvalho Chehab    Prefix: 'asb100'
97ebd8b66SMauro Carvalho Chehab
107ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x2d
117ebd8b66SMauro Carvalho Chehab
127ebd8b66SMauro Carvalho Chehab    Datasheet: none released
137ebd8b66SMauro Carvalho Chehab
147ebd8b66SMauro Carvalho ChehabAuthor: Mark M. Hoffman <mhoffman@lightlink.com>
157ebd8b66SMauro Carvalho Chehab
167ebd8b66SMauro Carvalho ChehabDescription
177ebd8b66SMauro Carvalho Chehab-----------
187ebd8b66SMauro Carvalho Chehab
197ebd8b66SMauro Carvalho ChehabThis driver implements support for the Asus ASB100 and ASB100-A "Bach".
207ebd8b66SMauro Carvalho ChehabThese are custom ASICs available only on Asus mainboards. Asus refuses to
217ebd8b66SMauro Carvalho Chehabsupply a datasheet for these chips. Thanks go to many people who helped
227ebd8b66SMauro Carvalho Chehabinvestigate their hardware, including:
237ebd8b66SMauro Carvalho Chehab
247ebd8b66SMauro Carvalho ChehabVitaly V. Bursov
257ebd8b66SMauro Carvalho ChehabAlexander van Kaam (author of MBM for Windows)
267ebd8b66SMauro Carvalho ChehabBertrik Sikken
277ebd8b66SMauro Carvalho Chehab
287ebd8b66SMauro Carvalho ChehabThe ASB100 implements seven voltage sensors, three fan rotation speed
297ebd8b66SMauro Carvalho Chehabsensors, four temperature sensors, VID lines and alarms. In addition to
307ebd8b66SMauro Carvalho Chehabthese, the ASB100-A also implements a single PWM controller for fans 2 and
317ebd8b66SMauro Carvalho Chehab3 (i.e. one setting controls both.) If you have a plain ASB100, the PWM
327ebd8b66SMauro Carvalho Chehabcontroller will simply not work (or maybe it will for you... it doesn't for
337ebd8b66SMauro Carvalho Chehabme).
347ebd8b66SMauro Carvalho Chehab
357ebd8b66SMauro Carvalho ChehabTemperatures are measured and reported in degrees Celsius.
367ebd8b66SMauro Carvalho Chehab
377ebd8b66SMauro Carvalho ChehabFan speeds are reported in RPM (rotations per minute). An alarm is
387ebd8b66SMauro Carvalho Chehabtriggered if the rotation speed has dropped below a programmable limit.
397ebd8b66SMauro Carvalho Chehab
407ebd8b66SMauro Carvalho ChehabVoltage sensors (also known as IN sensors) report values in volts.
417ebd8b66SMauro Carvalho Chehab
427ebd8b66SMauro Carvalho ChehabThe VID lines encode the core voltage value: the voltage level your
437ebd8b66SMauro Carvalho Chehabprocessor should work with. This is hardcoded by the mainboard and/or
447ebd8b66SMauro Carvalho Chehabprocessor itself. It is a value in volts.
457ebd8b66SMauro Carvalho Chehab
467ebd8b66SMauro Carvalho ChehabAlarms: (TODO question marks indicate may or may not work)
477ebd8b66SMauro Carvalho Chehab
487ebd8b66SMauro Carvalho Chehab- 0x0001 => in0 (?)
497ebd8b66SMauro Carvalho Chehab- 0x0002 => in1 (?)
507ebd8b66SMauro Carvalho Chehab- 0x0004 => in2
517ebd8b66SMauro Carvalho Chehab- 0x0008 => in3
527ebd8b66SMauro Carvalho Chehab- 0x0010 => temp1 [1]_
537ebd8b66SMauro Carvalho Chehab- 0x0020 => temp2
547ebd8b66SMauro Carvalho Chehab- 0x0040 => fan1
557ebd8b66SMauro Carvalho Chehab- 0x0080 => fan2
567ebd8b66SMauro Carvalho Chehab- 0x0100 => in4
577ebd8b66SMauro Carvalho Chehab- 0x0200 => in5 (?) [2]_
587ebd8b66SMauro Carvalho Chehab- 0x0400 => in6 (?) [2]_
597ebd8b66SMauro Carvalho Chehab- 0x0800 => fan3
607ebd8b66SMauro Carvalho Chehab- 0x1000 => chassis switch
617ebd8b66SMauro Carvalho Chehab- 0x2000 => temp3
627ebd8b66SMauro Carvalho Chehab
637ebd8b66SMauro Carvalho Chehab.. [1]	This alarm will only trigger if the hysteresis value is 127C.
647ebd8b66SMauro Carvalho Chehab	I.e. it behaves the same as w83781d.
657ebd8b66SMauro Carvalho Chehab
667ebd8b66SMauro Carvalho Chehab.. [2]	The min and max registers for these values appear to
677ebd8b66SMauro Carvalho Chehab	be read-only or otherwise stuck at 0x00.
687ebd8b66SMauro Carvalho Chehab
697ebd8b66SMauro Carvalho ChehabTODO:
707ebd8b66SMauro Carvalho Chehab  * Experiment with fan divisors > 8.
717ebd8b66SMauro Carvalho Chehab  * Experiment with temp. sensor types.
727ebd8b66SMauro Carvalho Chehab  * Are there really 13 voltage inputs? Probably not...
737ebd8b66SMauro Carvalho Chehab  * Cleanups, no doubt...
74