Support for Winbond W83627DHG, W83627EHF, W83627EHG

git-svn-id: svn://kolibrios.org@239 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Iliya Mihailov (Ghost) 2006-12-19 21:45:25 +00:00
parent a337842d61
commit 0575dbf098
3 changed files with 100 additions and 7 deletions

View File

@ -43,6 +43,7 @@
; 24/08/2006 - добавленна частота процессора
; 10/09/2006 - bugfix
; 25/11/2006 - добавлен ABIT uGuru
; 20/12/2006 - W83627DHG, W83627EHF, W83627EHG
;
; Эй! У меня нет много времени.
@ -507,7 +508,7 @@ about_tab:
DATA
act_tab db 2 ; Номер активной вкладки
tab_lab db 'Info Tests Configs About'
title db 'Ghost Monitor v0.4 [25/11/06]'
title db 'Ghost Monitor v0.4 [20/12/06]'
msgs_mon mls \
'CPU Load (%)',\

View File

@ -3,16 +3,25 @@
;
;
; Äîïèñàòü ïîëó÷åíèå èíôû ñ äðóãèõ äàò÷èêîâ
; W83627DHG ìîíèòîðèíã àíàëîãè÷åí W83627EHF, äîïèñàòü ó÷¸ò DIV_B2
; + 16.03.06 Èñïðàâëåíà îøèáêà â wb_get_cpu_temper ñ äåñÿòûõ ãðàäóñà (áûëî 30.5 30.0 31.5 ...)
;
;
; Î ìàðêèðîâêå (?) : H - H/W Monitor, G - Pb-free package, T - ACPI, S - Smart Card Reader Interface
; D - SuperIO supporting Intel* PECI* & SST* interfaces, U - UART
;
; | Chip name | ID Vin Fanin PWM Temp ISA SMBus
msg_wb27HF: db 8, 'W83627HF' ; 0x20|0x21 9 3 2 3 + +
msg_wb27THF: db 9, 'W83627THF' ; 0x90|0x91 7 3 3 3 + +
msg_wb37THF: db 9, 'W83637THF' ; 0x80 7 3 3 3 + +
msg_wb97HF: db 8, 'W83697HF' ; 0x60|0x61 8 2 2 2 + -
msg_wb27EHF: db 11,'W83627EHF-A' ; 0x88
msg_wb27THFA: db 11,'W83627THF-A' ; 0x1A
msg_w83627DHG: db 9, 'W83627DHG' ; 0xC1 ? 5 ? 3 + +
msg_w83627EHF: db 9, 'W83627EHF' ; 0x88 10 5 3 3 + +
msg_w83627EHG: db 9, 'W83627EHG' ; 0xA1 10 5 3 3 + +
; db 7, 'W83781D' ; 0x10|0x11 7 3 3 + +
; db 7, 'W83782D' ; 0x30 9 3 3 + +
; db 8, 'AS99127F' ; 0x31 7 3 3 - +
@ -20,6 +29,10 @@ msg_wb27THFA: db 11,'W83627THF-A' ; 0x1A
; db 7, 'W83791D' ; 0x70|0x71 10 5 3 - +
msg_wbunk: db 15,'Unknown Winbond' ; other, non zero ;-)
uglobal
wb_fans_num db 0
endg
;-----------------------------------
wb_init:
; Ïðîâåðêà íàëè÷èÿ è èíèöèàëèçàöèÿ
@ -40,11 +53,12 @@ wb_init:
call [IO_Read]
cmp ax, 0xa35c
jne wb_no ; ýòî íå Winbond !!!
; --- óçíà¸ì èäåíòèôèêàòîð ÷èïà --
mov al, 0x58
call [IO_Read]
and al, 0xFE ; 0x20 = 0x21, 0x60 = 0x61, etc
mov byte[wb_fans_num], 3
mov edx, msg_wb27HF
cmp al, 0x20
je @f
@ -57,12 +71,20 @@ wb_init:
mov edx, msg_wb97HF
cmp al, 0x60
je @f
mov edx, msg_wb27EHF
cmp al, 0x88
je @f
mov edx, msg_wb27THFA
cmp al, 0x1A
je @f
mov byte[wb_fans_num], 5
mov edx, msg_w83627EHF
cmp al, 0x88
je @f
mov edx, msg_w83627EHG
cmp al, 0xA0
je @f
mov edx, msg_w83627DHG
cmp al, 0xC0
je @f
mov byte[wb_fans_num], 3
mov edx, msg_wbunk
@@: mov [hwm_chip_name], edx
clc
@ -153,6 +175,7 @@ wb_get_fan_speed:
xor edx, edx
div ebx
mov [hwm_rpms], eax
mov al, 0x47
call [IO_Read]
shr al, 6
@ -172,6 +195,75 @@ wb_get_fan_speed:
xor edx, edx
div ebx
mov [hwm_rpms + 4], eax
mov al, 0x4B
call [IO_Read]
shr al, 6
mov ebx, 1
mov cl, al
shl ebx, cl ; <- div3
xor eax, eax
mov al, 0x2A
call [IO_Read]
cmp al, 255
jne @f
xor eax, eax
ret
@@: mul ebx
mov ebx, eax
mov eax, 1350000
xor edx, edx
div ebx
mov [hwm_rpms + 8], eax
cmp byte[wb_fans_num], 3
jna .wb_f_e
mov al, 0x59
call [IO_Read]
and al, 3
mov ebx, 1
mov cl, al
shl ebx, cl ; <- div4, äîïèñàòü ó÷¸ò DIV_B2
xor eax, eax
mov al, 0x3F
call [IO_Read]
cmp al, 255
jne @f
xor eax, eax
ret
@@: mul ebx
mov ebx, eax
mov eax, 1350000
xor edx, edx
div ebx
mov [hwm_rpms + 12], eax
mov al, 0x59
call [IO_Read]
shr al, 2
and al, 3
mov ebx, 1
mov cl, al
shl ebx, cl ; <- div5, äîïèñàòü ó÷¸ò DIV_B2
xor eax, eax
mov al, 0x4e ; Âûáèðàåì bank 5
mov bl, 5
call [IO_Write]
mov al, 0x53
call [IO_Read]
cmp al, 255
jne @f
xor eax, eax
ret
@@: mul ebx
mov ebx, eax
mov eax, 1350000
xor edx, edx
div ebx
mov [hwm_rpms + 16], eax
.wb_f_e:
ret
;-----------------------------------
wb_get_volt:

View File

@ -1,7 +1,7 @@
Ghost Monitor
Автор : Михайлов Илья Андреевич aka Ghost
Версия : 0.4 от 25/11/06
Версия : 0.4
ОС : для полного функционирования скачайте последнне ядро, или последний дистрибутив.
files : svn://kolibrios.org/programs/system/gmon/
http://iam.gorodok.net/Gmon.zip