1 Kernel driver vt1211 2 ==================== 3 4 Supported chips: 5 6 * VIA VT1211 7 8 Prefix: 'vt1211' 9 10 Addresses scanned: none, address read from 11 12 Datasheet: Provided by VIA upon request an 13 14 Authors: Juerg Haefliger <juergh@gmail.com> 15 16 This driver is based on the driver for kernel 17 its port to kernel 2.6 by Lars Ekman. 18 19 Thanks to Joseph Chan and Fiona Gatt from VIA 20 technical support. 21 22 23 Module Parameters 24 ----------------- 25 26 27 * uch_config: int 28 Override the BIOS defa 29 configuration for chan 30 Legal values are in th 31 UCH1, bit 1 maps to UC 32 enables the thermal in 33 setting a bit to 0 ena 34 35 * int_mode: int 36 Override the BIOS defa 37 The only possible valu 38 mode 0. In this mode, 39 when the status regist 40 long as the temperatur 41 limit. 42 43 Be aware that overriding BIOS defaults might c 44 45 46 Description 47 ----------- 48 49 The VIA VT1211 Super-I/O chip includes complet 50 capabilities. It monitors 2 dedicated temperat 51 temp2), 1 dedicated voltage (in5) and 2 fans. 52 implements 5 universal input channels (UCH1-5) 53 programmed to either monitor a voltage or a te 54 55 This chip also provides manual and automatic c 56 to the datasheet). The driver only supports au 57 mode doesn't seem to work as advertised in the 58 get manual mode to work at all! Be aware that 59 tested very well (due to the fact that my EPIA 60 connected to the PWM outputs of the VT1211 :-( 61 62 The following table shows the relationship bet 63 sysfs nodes. 64 65 =============== ============== =========== === 66 Sensor Voltage Mode Temp Mode Def 67 =============== ============== =========== === 68 Reading 1 temp1 Int 69 Reading 3 temp2 Int 70 UCH1/Reading2 in0 temp3 NTC 71 UCH2 in1 temp4 +2. 72 UCH3 in2 temp5 Vcc 73 UCH4 in3 temp6 +5V 74 UCH5 in4 temp7 +12 75 +3.3V in5 Int 76 =============== ============== =========== === 77 78 79 Voltage Monitoring 80 ------------------ 81 82 Voltages are sampled by an 8-bit ADC with a LS 83 range is thus from 0 to 2.60V. Voltage values 84 external scaling resistors. This external scal 85 via compute lines in sensors.conf, like: 86 87 compute inx @*(1+R1/R2), @/(1+R1/R2) 88 89 The board level scaling resistors according to 90 follows. And this is of course totally depende 91 implementation :-) You will have to find docum 92 motherboard and edit sensors.conf accordingly. 93 94 ============= ====== ====== ========= ======== 95 Expected 96 Voltage R1 R2 Divider Raw Valu 97 ============= ====== ====== ========= ======== 98 +2.5V 2K 10K 1.2 2083 mV 99 VccP --- --- 1.0 1400 mV 100 +5V 14K 10K 2.4 2083 mV 101 +12V 47K 10K 5.7 2105 mV 102 +3.3V (int) 2K 3.4K 1.588 3300 mV 103 +3.3V (ext) 6.8K 10K 1.68 1964 mV 104 ============= ====== ====== ========= ======== 105 106 .. [1] Depending on the CPU (1.4V is for a VIA 107 108 .. [2] R1 and R2 for 3.3V (int) are internal t 109 performs the scaling and returns the pr 110 111 Each measured voltage has an associated low an 112 alarm when crossed. 113 114 115 Temperature Monitoring 116 ---------------------- 117 118 Temperatures are reported in millidegree Celsi 119 has a high limit which triggers an alarm if cr 120 hysteresis value with each temperature below w 121 before the alarm is cleared (this is only true 122 interrupt mode can be forced to 0 in case the 123 automatically. See the 'Module Parameters' sec 124 125 All temperature channels except temp2 are exte 126 internal thermal diode and the driver does all 127 returns the temperature in millidegree Celsius 128 temp1 and temp3-temp7, scaling depends on the 129 to be performed in userspace via sensors.conf. 130 131 Temp1 is an Intel-type thermal diode which req 132 convert between sysfs readings and real temper 133 134 compute temp1 (@-Offset)/Gain, (@*Gain)+Offset 135 136 According to the VIA VT1211 BIOS porting guide 137 values should be used: 138 139 =============== ======== =========== 140 Diode Type Offset Gain 141 =============== ======== =========== 142 Intel CPU 88.638 0.9528 143 65.000 0.9686 [3]_ 144 VIA C3 Ezra 83.869 0.9528 145 VIA C3 Ezra-T 73.869 0.9528 146 =============== ======== =========== 147 148 .. [3] This is the formula from the lm_sensors 149 know where it comes from or how it was 150 completeness. 151 152 Temp3-temp7 support NTC thermistors. For these 153 the voltages as seen at the individual pins of 154 pin (Vpin) is formed by a voltage divider made 155 scaling resistor (Rs):: 156 157 Vpin = 2200 * Rth / (Rs + Rth) (2200 is th 158 159 The equation for the thermistor is as follows 160 more about it):: 161 162 Rth = Ro * exp(B * (1 / T - 1 / To)) (To i 163 nomi 164 165 Mingling the above two equations and assuming 166 following formula for sensors.conf:: 167 168 compute tempx 1 / (1 / 298.15 - (` (2200 / @ 169 2200 / (1 + (^ (3435 / 298.15 170 171 172 Fan Speed Control 173 ----------------- 174 175 The VT1211 provides 2 programmable PWM outputs 176 fans. Writing a 2 to any of the two pwm[1-2]_e 177 PWM controller in automatic mode. There is onl 178 controls both PWM outputs but each PWM output 179 disabled. 180 181 Each PWM has 4 associated distinct output duty 182 off. Full and off are internally hard-wired to 183 respectively. High and low can be programmed v 184 pwm[1-2]_auto_point[2-3]_pwm. Each PWM output 185 different thermal input but - and here's the w 186 thermal thresholds exist that controls both PW 187 thermal thresholds are accessible via pwm[1-2] 188 that even though there are 2 sets of 4 auto po 189 registers in the VT1211 and programming one se 190 the first set pwm1_auto_point[1-4]_temp is wri 191 read-only). 192 193 ========================== =================== 194 PWM Auto Point PWM Output Duty-Cyc 195 ========================== =================== 196 pwm[1-2]_auto_point4_pwm full speed duty-cyc 197 pwm[1-2]_auto_point3_pwm high speed duty-cyc 198 pwm[1-2]_auto_point2_pwm low speed duty-cycl 199 pwm[1-2]_auto_point1_pwm off duty-cycle (har 200 ========================== =================== 201 202 ========================== ================= 203 Temp Auto Point Thermal Threshold 204 ========================== ================= 205 pwm[1-2]_auto_point4_temp full speed temp 206 pwm[1-2]_auto_point3_temp high speed temp 207 pwm[1-2]_auto_point2_temp low speed temp 208 pwm[1-2]_auto_point1_temp off temp 209 ========================== ================= 210 211 Long story short, the controller implements th 212 PWM output duty-cycle based on the input tempe 213 214 =================== ======================= == 215 Thermal Threshold Output Duty-Cycle Ou 216 (Rising Temp) (F 217 =================== ======================= == 218 - full speed duty-cycle fu 219 full speed temp 220 - high speed duty-cycle fu 221 high speed temp 222 - low speed duty-cycle hi 223 low speed temp 224 - off duty-cycle lo 225 off temp 226 =================== ======================= ==
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.