| 1 | Kernel driver `gl520sm.o' |
|---|
| 2 | ========================= |
|---|
| 3 | |
|---|
| 4 | Status: Complete but experimental |
|---|
| 5 | |
|---|
| 6 | Supported chips: |
|---|
| 7 | * Genesys Logic GL520SM release 0x00 |
|---|
| 8 | Prefix: 'gl520sm' |
|---|
| 9 | Addresses scanned: I2C 0x2c and 0x2d |
|---|
| 10 | Datasheet: Not openly available |
|---|
| 11 | |
|---|
| 12 | Author: Frodo Looijaard <frodol@dds.nl>, |
|---|
| 13 | Kyösti Mälkki <kmalkki@cc.hut.fi> |
|---|
| 14 | |
|---|
| 15 | |
|---|
| 16 | Module Parameters |
|---|
| 17 | ----------------- |
|---|
| 18 | |
|---|
| 19 | * force: short array (min = 1, max = 48) |
|---|
| 20 | List of adapter,address pairs to boldly assume to be present |
|---|
| 21 | * ignore: short array (min = 1, max = 48) |
|---|
| 22 | List of adapter,address pairs not to scan |
|---|
| 23 | * ignore_range: short array (min = 1, max = 48) |
|---|
| 24 | List of adapter,start-addr,end-addr triples not to scan |
|---|
| 25 | * probe: short array (min = 1, max = 48) |
|---|
| 26 | List of adapter,address pairs to scan additionally |
|---|
| 27 | * probe_range: short array (min = 1, max = 48) |
|---|
| 28 | List of adapter,start-addr,end-addr triples to scan additionally |
|---|
| 29 | |
|---|
| 30 | Description |
|---|
| 31 | ----------- |
|---|
| 32 | |
|---|
| 33 | This driver supports the Genesys Logic GL520SM chip. |
|---|
| 34 | |
|---|
| 35 | The GL520SM implements one temperature sensor, two fan rotation speed |
|---|
| 36 | sensors, four voltage sensors and the cpu VID lines. In addition, one input |
|---|
| 37 | can be configured as either a temperature or voltage sensor. |
|---|
| 38 | The sensor can report alarms through the computer speakers. |
|---|
| 39 | |
|---|
| 40 | Temperatures are measured in degrees Celsius. An alarm goes off while the |
|---|
| 41 | temperature is above the over temperature limit, and has not yet dropped |
|---|
| 42 | below the hysteresis limit. The alarm always reflects the current situation. |
|---|
| 43 | Measurements are guaranteed between 0 degrees and +110 degrees, with |
|---|
| 44 | a resolution of +-3 degrees. |
|---|
| 45 | |
|---|
| 46 | Fan rotation speeds are reported in RPM (rotations per minute). An alarm is |
|---|
| 47 | triggered if the rotation speed has dropped below a programmable limit. |
|---|
| 48 | In case when you have selected to turn Fan1 off, no Fan1 alarm is triggered |
|---|
| 49 | if measured temperature is below 'over temperature' limit. |
|---|
| 50 | |
|---|
| 51 | Fan readings can be divided by a programmable divider (1, 2, 4 or 8) to give |
|---|
| 52 | the readings more range or accuracy. Not all RPM values can accurately be |
|---|
| 53 | represented, so some rounding is done. With a divider of 2, the lowest |
|---|
| 54 | representable value is around 1900 RPM. |
|---|
| 55 | |
|---|
| 56 | Voltage sensors (also known as VIN sensors) report their values in volts. An |
|---|
| 57 | alarm is triggered if the voltage has crossed a programmable minimum or |
|---|
| 58 | maximum limit. Note that minimum in this case always means 'closest to |
|---|
| 59 | zero'; this is important for negative voltage measurements. The VDD input |
|---|
| 60 | measures voltages between 0.000 and 5.865 volt, with a resolution of 0.023 |
|---|
| 61 | volt. The other inputs measure voltages between 0.000 and 4.845 volt, with a |
|---|
| 62 | resolution of 0.019 volt. |
|---|
| 63 | |
|---|
| 64 | When an alarm goes off, you can be warned by a beeping signal through |
|---|
| 65 | your computer speaker. It is possible to enable all beeping globally, |
|---|
| 66 | or only the beeping for some alarms. |
|---|
| 67 | |
|---|
| 68 | If an alarm triggers, it will remain triggered until the hardware register |
|---|
| 69 | is read at least once (except for temperature alarms). This means that the |
|---|
| 70 | cause for the alarm may already have disappeared! Note that in the current |
|---|
| 71 | implementation, all hardware registers are read whenever any data is read |
|---|
| 72 | (unless it is less than 1.5 seconds since the last update). This means that |
|---|
| 73 | you can easily miss once-only alarms. |
|---|
| 74 | |
|---|
| 75 | The GL520SM only updates its values each 1.5 seconds; reading it more often |
|---|
| 76 | will do no harm, but will return 'old' values. |
|---|
| 77 | |
|---|
| 78 | Chip Features |
|---|
| 79 | ------------- |
|---|
| 80 | |
|---|
| 81 | Chip `gl520sm' |
|---|
| 82 | LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE |
|---|
| 83 | vdd NONE NONE R 2 |
|---|
| 84 | vin1 NONE NONE R 2 |
|---|
| 85 | vin2 NONE NONE R 2 |
|---|
| 86 | vin3 NONE NONE R 2 |
|---|
| 87 | vin4 NONE NONE R 2 |
|---|
| 88 | vdd_min vdd vdd RW 2 |
|---|
| 89 | vin1_min vin1 vin1 RW 2 |
|---|
| 90 | vin2_min vin2 vin2 RW 2 |
|---|
| 91 | vin3_min vin3 vin3 RW 2 |
|---|
| 92 | vin4_min vin4 vin4 RW 2 |
|---|
| 93 | vdd_max vdd vdd RW 2 |
|---|
| 94 | vin1_max vin1 vin1 RW 2 |
|---|
| 95 | vin2_max vin2 vin2 RW 2 |
|---|
| 96 | vin3_max vin3 vin3 RW 2 |
|---|
| 97 | vin4_max vin4 vin4 RW 2 |
|---|
| 98 | fan1 NONE NONE R 0 |
|---|
| 99 | fan2 NONE NONE R 0 |
|---|
| 100 | fan1_min fan1 fan1 RW 0 |
|---|
| 101 | fan2_min fan2 fan2 RW 0 |
|---|
| 102 | temp1 NONE NONE R 1 |
|---|
| 103 | temp2 NONE NONE R 1 |
|---|
| 104 | temp1_hyst temp1 temp1 RW 1 |
|---|
| 105 | temp2_hyst temp2 temp2 RW 1 |
|---|
| 106 | temp1_over temp1 temp1 RW 1 |
|---|
| 107 | temp2_over temp2 temp2 RW 1 |
|---|
| 108 | fan1_div fan1 NONE RW 0 |
|---|
| 109 | fan2_div fan2 NONE RW 0 |
|---|
| 110 | alarms NONE NONE R 0 |
|---|
| 111 | beep_enable alarms NONE RW 0 |
|---|
| 112 | beeps alarms alarms RW 0 |
|---|
| 113 | two_temps NONE NONE RW 0 |
|---|
| 114 | |
|---|
| 115 | LABEL FEATURE SYMBOL SYSCTL FILE:NR |
|---|
| 116 | vdd SENSORS_GL520_VDD vdd:3 |
|---|
| 117 | vin1 SENSORS_GL520_VIN1 vin1:3 |
|---|
| 118 | vin2 SENSORS_GL520_VIN2 vin2:3 |
|---|
| 119 | vin3 SENSORS_GL520_VIN3 vin3:3 |
|---|
| 120 | vin4 SENSORS_GL520_VIN4 vin3:3 |
|---|
| 121 | vdd_min SENSORS_GL520_VDD_MIN vdd:1 |
|---|
| 122 | vin1_min SENSORS_GL520_VIN1_MIN vin1:1 |
|---|
| 123 | vin2_min SENSORS_GL520_VIN2_MIN vin2:1 |
|---|
| 124 | vin3_min SENSORS_GL520_VIN3_MIN vin3:1 |
|---|
| 125 | vin4_min SENSORS_GL520_VIN4_MIN vin3:1 |
|---|
| 126 | vdd_max SENSORS_GL520_VDD_MAX vdd:2 |
|---|
| 127 | vin1_max SENSORS_GL520_VIN1_MAX vin1:2 |
|---|
| 128 | vin2_max SENSORS_GL520_VIN2_MAX vin2:2 |
|---|
| 129 | vin3_max SENSORS_GL520_VIN3_MAX vin3:2 |
|---|
| 130 | vin4_max SENSORS_GL520_VIN4_MAX vin3:2 |
|---|
| 131 | fan1 SENSORS_GL520_FAN1 fan1:2 |
|---|
| 132 | fan2 SENSORS_GL520_FAN2 fan2:2 |
|---|
| 133 | fan1_min SENSORS_GL520_FAN1_MIN fan1:1 |
|---|
| 134 | fan2_min SENSORS_GL520_FAN2_MIN fan2:1 |
|---|
| 135 | temp1 SENSORS_GL520_TEMP1 temp1:3 |
|---|
| 136 | temp2 SENSORS_GL520_TEMP2 temp2:3 |
|---|
| 137 | temp1_hyst SENSORS_GL520_TEMP1_HYST temp1:2 |
|---|
| 138 | temp2_hyst SENSORS_GL520_TEMP2_HYST temp2:2 |
|---|
| 139 | temp1_over SENSORS_GL520_TEMP1_OVER temp1:1 |
|---|
| 140 | temp2_over SENSORS_GL520_TEMP2_OVER temp2:1 |
|---|
| 141 | fan1_div SENSORS_GL520_FAN1_DIV fan_div:1 |
|---|
| 142 | fan2_div SENSORS_GL520_FAN2_DIV fan_div:2 |
|---|
| 143 | alarms SENSORS_GL520_ALARMS alarms:1 |
|---|
| 144 | beep_enable SENSORS_GL520_BEEP_ENABLE beep:1 |
|---|
| 145 | beeps SENSORS_GL520_BEEPS beep:2 |
|---|
| 146 | two_temps SENSORS_GL520_TWOTEMPS config:1 |
|---|