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