1*7ebd8b66SMauro Carvalho ChehabKernel driver gl518sm 2*7ebd8b66SMauro Carvalho Chehab===================== 3*7ebd8b66SMauro Carvalho Chehab 4*7ebd8b66SMauro Carvalho ChehabSupported chips: 5*7ebd8b66SMauro Carvalho Chehab 6*7ebd8b66SMauro Carvalho Chehab * Genesys Logic GL518SM release 0x00 7*7ebd8b66SMauro Carvalho Chehab 8*7ebd8b66SMauro Carvalho Chehab Prefix: 'gl518sm' 9*7ebd8b66SMauro Carvalho Chehab 10*7ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x2c and 0x2d 11*7ebd8b66SMauro Carvalho Chehab 12*7ebd8b66SMauro Carvalho Chehab * Genesys Logic GL518SM release 0x80 13*7ebd8b66SMauro Carvalho Chehab 14*7ebd8b66SMauro Carvalho Chehab Prefix: 'gl518sm' 15*7ebd8b66SMauro Carvalho Chehab 16*7ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x2c and 0x2d 17*7ebd8b66SMauro Carvalho Chehab 18*7ebd8b66SMauro Carvalho Chehab Datasheet: http://www.genesyslogic.com/ 19*7ebd8b66SMauro Carvalho Chehab 20*7ebd8b66SMauro Carvalho ChehabAuthors: 21*7ebd8b66SMauro Carvalho Chehab - Frodo Looijaard <frodol@dds.nl>, 22*7ebd8b66SMauro Carvalho Chehab - Kyösti Mälkki <kmalkki@cc.hut.fi> 23*7ebd8b66SMauro Carvalho Chehab - Hong-Gunn Chew <hglinux@gunnet.org> 24*7ebd8b66SMauro Carvalho Chehab - Jean Delvare <jdelvare@suse.de> 25*7ebd8b66SMauro Carvalho Chehab 26*7ebd8b66SMauro Carvalho ChehabDescription 27*7ebd8b66SMauro Carvalho Chehab----------- 28*7ebd8b66SMauro Carvalho Chehab 29*7ebd8b66SMauro Carvalho Chehab.. important:: 30*7ebd8b66SMauro Carvalho Chehab 31*7ebd8b66SMauro Carvalho Chehab For the revision 0x00 chip, the in0, in1, and in2 values (+5V, +3V, 32*7ebd8b66SMauro Carvalho Chehab and +12V) CANNOT be read. This is a limitation of the chip, not the driver. 33*7ebd8b66SMauro Carvalho Chehab 34*7ebd8b66SMauro Carvalho ChehabThis driver supports the Genesys Logic GL518SM chip. There are at least 35*7ebd8b66SMauro Carvalho Chehabtwo revision of this chip, which we call revision 0x00 and 0x80. Revision 36*7ebd8b66SMauro Carvalho Chehab0x80 chips support the reading of all voltages and revision 0x00 only 37*7ebd8b66SMauro Carvalho Chehabfor VIN3. 38*7ebd8b66SMauro Carvalho Chehab 39*7ebd8b66SMauro Carvalho ChehabThe GL518SM implements one temperature sensor, two fan rotation speed 40*7ebd8b66SMauro Carvalho Chehabsensors, and four voltage sensors. It can report alarms through the 41*7ebd8b66SMauro Carvalho Chehabcomputer speakers. 42*7ebd8b66SMauro Carvalho Chehab 43*7ebd8b66SMauro Carvalho ChehabTemperatures are measured in degrees Celsius. An alarm goes off while the 44*7ebd8b66SMauro Carvalho Chehabtemperature is above the over temperature limit, and has not yet dropped 45*7ebd8b66SMauro Carvalho Chehabbelow the hysteresis limit. The alarm always reflects the current 46*7ebd8b66SMauro Carvalho Chehabsituation. Measurements are guaranteed between -10 degrees and +110 47*7ebd8b66SMauro Carvalho Chehabdegrees, with a accuracy of +/-3 degrees. 48*7ebd8b66SMauro Carvalho Chehab 49*7ebd8b66SMauro Carvalho ChehabRotation speeds are reported in RPM (rotations per minute). An alarm is 50*7ebd8b66SMauro Carvalho Chehabtriggered if the rotation speed has dropped below a programmable limit. In 51*7ebd8b66SMauro Carvalho Chehabcase when you have selected to turn fan1 off, no fan1 alarm is triggered. 52*7ebd8b66SMauro Carvalho Chehab 53*7ebd8b66SMauro Carvalho ChehabFan readings can be divided by a programmable divider (1, 2, 4 or 8) to 54*7ebd8b66SMauro Carvalho Chehabgive the readings more range or accuracy. Not all RPM values can 55*7ebd8b66SMauro Carvalho Chehabaccurately be represented, so some rounding is done. With a divider 56*7ebd8b66SMauro Carvalho Chehabof 2, the lowest representable value is around 1900 RPM. 57*7ebd8b66SMauro Carvalho Chehab 58*7ebd8b66SMauro Carvalho ChehabVoltage sensors (also known as VIN sensors) report their values in volts. 59*7ebd8b66SMauro Carvalho ChehabAn alarm is triggered if the voltage has crossed a programmable minimum or 60*7ebd8b66SMauro Carvalho Chehabmaximum limit. Note that minimum in this case always means 'closest to 61*7ebd8b66SMauro Carvalho Chehabzero'; this is important for negative voltage measurements. The VDD input 62*7ebd8b66SMauro Carvalho Chehabmeasures voltages between 0.000 and 5.865 volt, with a resolution of 0.023 63*7ebd8b66SMauro Carvalho Chehabvolt. The other inputs measure voltages between 0.000 and 4.845 volt, with 64*7ebd8b66SMauro Carvalho Chehaba resolution of 0.019 volt. Note that revision 0x00 chips do not support 65*7ebd8b66SMauro Carvalho Chehabreading the current voltage of any input except for VIN3; limit setting and 66*7ebd8b66SMauro Carvalho Chehabalarms work fine, though. 67*7ebd8b66SMauro Carvalho Chehab 68*7ebd8b66SMauro Carvalho ChehabWhen an alarm is triggered, you can be warned by a beeping signal through your 69*7ebd8b66SMauro Carvalho Chehabcomputer speaker. It is possible to enable all beeping globally, or only the 70*7ebd8b66SMauro Carvalho Chehabbeeping for some alarms. 71*7ebd8b66SMauro Carvalho Chehab 72*7ebd8b66SMauro Carvalho ChehabIf an alarm triggers, it will remain triggered until the hardware register 73*7ebd8b66SMauro Carvalho Chehabis read at least once (except for temperature alarms). This means that the 74*7ebd8b66SMauro Carvalho Chehabcause for the alarm may already have disappeared! Note that in the current 75*7ebd8b66SMauro Carvalho Chehabimplementation, all hardware registers are read whenever any data is read 76*7ebd8b66SMauro Carvalho Chehab(unless it is less than 1.5 seconds since the last update). This means that 77*7ebd8b66SMauro Carvalho Chehabyou can easily miss once-only alarms. 78*7ebd8b66SMauro Carvalho Chehab 79*7ebd8b66SMauro Carvalho ChehabThe GL518SM only updates its values each 1.5 seconds; reading it more often 80*7ebd8b66SMauro Carvalho Chehabwill do no harm, but will return 'old' values. 81