Rev 223 | Rev 313 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 223 | Rev 239 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ; |
1 | ; |
2 | ; Áèáëèîòåêà äëÿ ÷èïîâ WinBond |
2 | ; Áèáëèîòåêà äëÿ ÷èïîâ WinBond |
3 | ; |
3 | ; |
4 | ; |
4 | ; |
5 | ; Äîïèñàòü ïîëó÷åíèå èíôû ñ äðóãèõ äàò÷èêîâ |
5 | ; Äîïèñàòü ïîëó÷åíèå èíôû ñ äðóãèõ äàò÷èêîâ |
- | 6 | ; W83627DHG ìîíèòîðèíã àíàëîãè÷åí W83627EHF, äîïèñàòü ó÷¸ò DIV_B2 |
|
6 | ; + 16.03.06 Èñïðàâëåíà îøèáêà â wb_get_cpu_temper ñ äåñÿòûõ ãðàäóñà (áûëî 30.5 30.0 31.5 ...) |
7 | ; + 16.03.06 Èñïðàâëåíà îøèáêà â wb_get_cpu_temper ñ äåñÿòûõ ãðàäóñà (áûëî 30.5 30.0 31.5 ...) |
7 | ; |
8 | ; |
8 | ; |
9 | ; |
- | 10 | ; Î ìàðêèðîâêå (?) : H - H/W Monitor, G - Pb-free package, T - ACPI, S - Smart Card Reader Interface |
|
- | 11 | ; D - SuperIO supporting Intel* PECI* & SST* interfaces, U - UART |
|
- | 12 | ; |
|
9 | ; | Chip name | ID Vin Fanin PWM Temp ISA SMBus |
13 | ; | Chip name | ID Vin Fanin PWM Temp ISA SMBus |
10 | msg_wb27HF: db 8, 'W83627HF' ; 0x20|0x21 9 3 2 3 + + |
14 | msg_wb27HF: db 8, 'W83627HF' ; 0x20|0x21 9 3 2 3 + + |
11 | msg_wb27THF: db 9, 'W83627THF' ; 0x90|0x91 7 3 3 3 + + |
15 | msg_wb27THF: db 9, 'W83627THF' ; 0x90|0x91 7 3 3 3 + + |
12 | msg_wb37THF: db 9, 'W83637THF' ; 0x80 7 3 3 3 + + |
16 | msg_wb37THF: db 9, 'W83637THF' ; 0x80 7 3 3 3 + + |
13 | msg_wb97HF: db 8, 'W83697HF' ; 0x60|0x61 8 2 2 2 + - |
17 | msg_wb97HF: db 8, 'W83697HF' ; 0x60|0x61 8 2 2 2 + - |
14 | msg_wb27EHF: db 11,'W83627EHF-A' ; 0x88 |
- | |
15 | msg_wb27THFA: db 11,'W83627THF-A' ; 0x1A |
18 | msg_wb27THFA: db 11,'W83627THF-A' ; 0x1A |
- | 19 | ||
- | 20 | msg_w83627DHG: db 9, 'W83627DHG' ; 0xC1 ? 5 ? 3 + + |
|
- | 21 | msg_w83627EHF: db 9, 'W83627EHF' ; 0x88 10 5 3 3 + + |
|
- | 22 | msg_w83627EHG: db 9, 'W83627EHG' ; 0xA1 10 5 3 3 + + |
|
- | 23 | ||
- | 24 | ||
16 | ; db 7, 'W83781D' ; 0x10|0x11 7 3 3 + + |
25 | ; db 7, 'W83781D' ; 0x10|0x11 7 3 3 + + |
17 | ; db 7, 'W83782D' ; 0x30 9 3 3 + + |
26 | ; db 7, 'W83782D' ; 0x30 9 3 3 + + |
18 | ; db 8, 'AS99127F' ; 0x31 7 3 3 - + |
27 | ; db 8, 'AS99127F' ; 0x31 7 3 3 - + |
19 | ; db 7, 'W83783S' ; 0x40|0x41 5-6 3 1-2 - + |
28 | ; db 7, 'W83783S' ; 0x40|0x41 5-6 3 1-2 - + |
20 | ; db 7, 'W83791D' ; 0x70|0x71 10 5 3 - + |
29 | ; db 7, 'W83791D' ; 0x70|0x71 10 5 3 - + |
21 | msg_wbunk: db 15,'Unknown Winbond' ; other, non zero ;-) |
30 | msg_wbunk: db 15,'Unknown Winbond' ; other, non zero ;-) |
Line -... | Line 31... | ||
- | 31 | ||
- | 32 | uglobal |
|
- | 33 | wb_fans_num db 0 |
|
- | 34 | endg |
|
22 | 35 | ||
23 | ;----------------------------------- |
36 | ;----------------------------------- |
24 | wb_init: |
37 | wb_init: |
25 | ; Ïðîâåðêà íàëè÷èÿ è èíèöèàëèçàöèÿ |
38 | ; Ïðîâåðêà íàëè÷èÿ è èíèöèàëèçàöèÿ |
26 | ; OUT - CF = 1 - error |
39 | ; OUT - CF = 1 - error |
Line 43... | Line 56... | ||
43 | 56 | ||
44 | ; --- óçíà¸ì èäåíòèôèêàòîð ÷èïà -- |
57 | ; --- óçíà¸ì èäåíòèôèêàòîð ÷èïà -- |
45 | mov al, 0x58 |
58 | mov al, 0x58 |
46 | call [IO_Read] |
59 | call [IO_Read] |
- | 60 | and al, 0xFE ; 0x20 = 0x21, 0x60 = 0x61, etc |
|
47 | and al, 0xFE ; 0x20 = 0x21, 0x60 = 0x61, etc |
61 | mov byte[wb_fans_num], 3 |
48 | mov edx, msg_wb27HF |
62 | mov edx, msg_wb27HF |
49 | cmp al, 0x20 |
63 | cmp al, 0x20 |
50 | je @f |
64 | je @f |
51 | mov edx, msg_wb27THF |
65 | mov edx, msg_wb27THF |
Line 55... | Line 69... | ||
55 | cmp al, 0x80 |
69 | cmp al, 0x80 |
56 | je @f |
70 | je @f |
57 | mov edx, msg_wb97HF |
71 | mov edx, msg_wb97HF |
58 | cmp al, 0x60 |
72 | cmp al, 0x60 |
59 | je @f |
73 | je @f |
60 | mov edx, msg_wb27EHF |
- | |
61 | cmp al, 0x88 |
- | |
62 | je @f |
- | |
63 | mov edx, msg_wb27THFA |
74 | mov edx, msg_wb27THFA |
64 | cmp al, 0x1A |
75 | cmp al, 0x1A |
65 | je @f |
76 | je @f |
- | 77 | mov byte[wb_fans_num], 5 |
|
- | 78 | mov edx, msg_w83627EHF |
|
- | 79 | cmp al, 0x88 |
|
- | 80 | je @f |
|
- | 81 | mov edx, msg_w83627EHG |
|
- | 82 | cmp al, 0xA0 |
|
- | 83 | je @f |
|
- | 84 | mov edx, msg_w83627DHG |
|
- | 85 | cmp al, 0xC0 |
|
- | 86 | je @f |
|
- | 87 | mov byte[wb_fans_num], 3 |
|
66 | mov edx, msg_wbunk |
88 | mov edx, msg_wbunk |
67 | @@: mov [hwm_chip_name], edx |
89 | @@: mov [hwm_chip_name], edx |
68 | clc |
90 | clc |
69 | ret |
91 | ret |
70 | wb_no: stc |
92 | wb_no: stc |
Line 151... | Line 173... | ||
151 | mov ebx, eax |
173 | mov ebx, eax |
152 | mov eax, 1350000 |
174 | mov eax, 1350000 |
153 | xor edx, edx |
175 | xor edx, edx |
154 | div ebx |
176 | div ebx |
155 | mov [hwm_rpms], eax |
177 | mov [hwm_rpms], eax |
- | 178 | ||
156 | mov al, 0x47 |
179 | mov al, 0x47 |
157 | call [IO_Read] |
180 | call [IO_Read] |
158 | shr al, 6 |
181 | shr al, 6 |
159 | mov ebx, 1 |
182 | mov ebx, 1 |
160 | mov cl, al |
183 | mov cl, al |
Line 170... | Line 193... | ||
170 | mov ebx, eax |
193 | mov ebx, eax |
171 | mov eax, 1350000 |
194 | mov eax, 1350000 |
172 | xor edx, edx |
195 | xor edx, edx |
173 | div ebx |
196 | div ebx |
174 | mov [hwm_rpms + 4], eax |
197 | mov [hwm_rpms + 4], eax |
- | 198 | ||
- | 199 | mov al, 0x4B |
|
- | 200 | call [IO_Read] |
|
- | 201 | shr al, 6 |
|
- | 202 | mov ebx, 1 |
|
- | 203 | mov cl, al |
|
- | 204 | shl ebx, cl ; <- div3 |
|
- | 205 | xor eax, eax |
|
- | 206 | mov al, 0x2A |
|
- | 207 | call [IO_Read] |
|
- | 208 | cmp al, 255 |
|
- | 209 | jne @f |
|
- | 210 | xor eax, eax |
|
- | 211 | ret |
|
- | 212 | @@: mul ebx |
|
- | 213 | mov ebx, eax |
|
- | 214 | mov eax, 1350000 |
|
- | 215 | xor edx, edx |
|
- | 216 | div ebx |
|
- | 217 | mov [hwm_rpms + 8], eax |
|
- | 218 | ||
- | 219 | cmp byte[wb_fans_num], 3 |
|
- | 220 | jna .wb_f_e |
|
- | 221 | ||
- | 222 | mov al, 0x59 |
|
- | 223 | call [IO_Read] |
|
- | 224 | and al, 3 |
|
- | 225 | mov ebx, 1 |
|
- | 226 | mov cl, al |
|
- | 227 | shl ebx, cl ; <- div4, äîïèñàòü ó÷¸ò DIV_B2 |
|
- | 228 | xor eax, eax |
|
- | 229 | mov al, 0x3F |
|
- | 230 | call [IO_Read] |
|
- | 231 | cmp al, 255 |
|
- | 232 | jne @f |
|
- | 233 | xor eax, eax |
|
- | 234 | ret |
|
- | 235 | @@: mul ebx |
|
- | 236 | mov ebx, eax |
|
- | 237 | mov eax, 1350000 |
|
- | 238 | xor edx, edx |
|
- | 239 | div ebx |
|
- | 240 | mov [hwm_rpms + 12], eax |
|
- | 241 | ||
- | 242 | mov al, 0x59 |
|
- | 243 | call [IO_Read] |
|
- | 244 | shr al, 2 |
|
- | 245 | and al, 3 |
|
- | 246 | mov ebx, 1 |
|
- | 247 | mov cl, al |
|
- | 248 | shl ebx, cl ; <- div5, äîïèñàòü ó÷¸ò DIV_B2 |
|
- | 249 | xor eax, eax |
|
- | 250 | mov al, 0x4e ; Âûáèðàåì bank 5 |
|
- | 251 | mov bl, 5 |
|
- | 252 | call [IO_Write] |
|
- | 253 | mov al, 0x53 |
|
- | 254 | call [IO_Read] |
|
- | 255 | cmp al, 255 |
|
- | 256 | jne @f |
|
- | 257 | xor eax, eax |
|
- | 258 | ret |
|
- | 259 | @@: mul ebx |
|
- | 260 | mov ebx, eax |
|
- | 261 | mov eax, 1350000 |
|
- | 262 | xor edx, edx |
|
- | 263 | div ebx |
|
- | 264 | mov [hwm_rpms + 16], eax |
|
- | 265 | ||
- | 266 | .wb_f_e: |
|
175 | ret |
267 | ret |
176 | ;----------------------------------- |
268 | ;----------------------------------- |
177 | wb_get_volt: |
269 | wb_get_volt: |
178 | ;mov edi, wb_coeff ; <-- possible differences for miscellaneous chip |
270 | ;mov edi, wb_coeff ; <-- possible differences for miscellaneous chip |
179 | mov esi, hwm_voltages |
271 | mov esi, hwm_voltages |