cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

asb100.rst (2129B)


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