Subversion Repositories Kolibri OS

Rev

Rev 518 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 518 Rev 2429
Line 2... Line 2...
2
; Ghost Monitor - óòèëèòà (ñòðåññ) òåñòèðîâàíèÿ è ìîíèòîðèíãà ñèñòåìû
2
; Ghost Monitor - óòèëèòà (ñòðåññ) òåñòèðîâàíèÿ è ìîíèòîðèíãà ñèñòåìû
3
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
3
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
4
; All Right Reserved
4
; All Right Reserved
Line 5... Line 5...
5
 
5
 
6
; Integrated Technology Express
6
; Integrated Technology Express
7
;	Chip	Temp	Volt	Fan   ISA   SMBus
7
;       Chip    Temp    Volt    Fan   ISA   SMBus
8
;	it8705	 3	 8+1*	 3     +      +
8
;       it8705   3       8+1*    3     +      +
Line 9... Line 9...
9
;	it8712	 3	 8+1*	 3     +      +
9
;       it8712   3       8+1*    3     +      +
10
 
10
 
11
; SiS
11
; SiS
12
;	Chip	Temp	Volt	Fan   ISA   SMBus
12
;       Chip    Temp    Volt    Fan   ISA   SMBus
13
;	sis950	 3	 8+1*	 3     +      +
13
;       sis950   3       8+1*    3     +      +
Line 14... Line 14...
14
;
14
;
15
; * - VBAT
15
; * - VBAT
16
 
16
 
17
IT87_REGCHIP	equ	0x58
17
IT87_REGCHIP	equ	0x58
18
IT87_CHIPID	equ	0x90
18
IT87_CHIPID	equ	0x90
19
IT87_FANDIV	equ	0x0B
19
IT87_FANDIV	equ	0x0B
20
it8705		db	'IT8705F/SiS 950', 0
20
it8705		db	'IT8705F/SiS 950', 0
Line 21... Line 21...
21
it8712		db	'IT8712F', 0
21
it8712		db	'IT8712F', 0
22
it8716		db	'IT8716F', 0
22
it8716		db	'IT8716F', 0
23
ite_unk		db	'Unknown ITE', 0
23
ite_unk 	db	'Unknown ITE', 0
24
 
24
 
Line 39... Line 39...
39
	mov	ecx, 0x2e
39
	mov	ecx, 0x2e
40
	mov	edx, 0x2f
40
	mov	edx, 0x2f
41
	call	ReservePorts
41
	call	ReservePorts
42
	jc	.no_io
42
	jc	.no_io
Line 43... Line 43...
43
 
43
 
44
	mov	eax, 0x55550187		; ïåðåõîä â MB PnP Mode
44
	mov	eax, 0x55550187 	; ïåðåõîä â MB PnP Mode
45
	out	0x2e, al
45
	out	0x2e, al
46
	shr	eax, 8
46
	shr	eax, 8
47
	out	0x2e, al
47
	out	0x2e, al
48
	shr	eax, 8
48
	shr	eax, 8
Line 61... Line 61...
61
	push	eax
61
	push	eax
Line 62... Line 62...
62
 
62
 
63
	mov	al, 0x02		; âûõîä èç ðåæèìà
63
	mov	al, 0x02		; âûõîä èç ðåæèìà
64
	out	0x2E, al
64
	out	0x2E, al
65
	out	0x2F, al
65
	out	0x2F, al
66
	
66
 
67
	mov	ecx, 0x2e
67
	mov	ecx, 0x2e
68
	mov	edx, 0x2f
68
	mov	edx, 0x2f
69
	call	FreePorts
69
	call	FreePorts
70
	
70
 
71
	pop	eax
71
	pop	eax
72
	pop	ebx
72
	pop	ebx
73
	cmp	bl, 0x87
73
	cmp	bl, 0x87
74
	jne	.no_io
74
	jne	.no_io
75
	
75
 
76
	mov	edx, it8705
76
	mov	edx, it8705
77
	cmp	al, 0x05
77
	cmp	al, 0x05
78
	je	@f
78
	je	@f
79
	mov	edx, it8712
79
	mov	edx, it8712
Line 83... Line 83...
83
	cmp	al, 0x16
83
	cmp	al, 0x16
84
	je	@f
84
	je	@f
85
	mov	edx, ite_unk
85
	mov	edx, ite_unk
86
@@:	mov	[hwm_chip_name], edx
86
@@:	mov	[hwm_chip_name], edx
87
	clc
87
	clc
88
	ret	
-
 
89
	
-
 
90
.no_io:	stc
-
 
91
	ret
88
	ret
Line -... Line 89...
-
 
89
 
-
 
90
.no_io: stc
-
 
91
	ret
92
 
92
 
93
	; cmp	byte[acc_type], 2	; Only ISA and SMBus
93
	; cmp   byte[acc_type], 2       ; Only ISA and SMBus
94
	; jae	it87_no
94
	; jae   it87_no
95
	;;--- Ïðîâåðÿåì IT87* --------
95
	;;--- Ïðîâåðÿåì IT87* --------
96
	; mov	al, IT87_REGCHIP
96
	; mov   al, IT87_REGCHIP
97
	; call	[IO_Read]
97
	; call  [IO_Read]
98
	; cmp	al, IT87_CHIPID
98
	; cmp   al, IT87_CHIPID
99
	; jne	it87_no		; ýòî íå it87 !!!
99
	; jne   it87_no         ; ýòî íå it87 !!!
100
	;;-~- not tested ~-~-
100
	;;-~- not tested ~-~-
101
	; mov	al, 0x21	; --- óçíà¸ì èäåíòèôèêàòîð ÷èïà --
101
	; mov   al, 0x21        ; --- óçíà¸ì èäåíòèôèêàòîð ÷èïà --
102
	; call	[IO_Read]
102
	; call  [IO_Read]
103
	; mov	edx, it8705
103
	; mov   edx, it8705
104
	; cmp	al, 0x05
104
	; cmp   al, 0x05
105
	; je	@f
105
	; je    @f
106
	; mov	edx, it8712
106
	; mov   edx, it8712
107
	; cmp	al, 0x12
107
	; cmp   al, 0x12
108
	; je	@f
108
	; je    @f
109
	; mov	edx, it8716
109
	; mov   edx, it8716
110
	; cmp	al, 0x16
110
	; cmp   al, 0x16
111
	; je	@f
111
	; je    @f
112
	; mov	edx, ite_unk
112
	; mov   edx, ite_unk
113
; @@:	mov	[hwm_chip_name], edx
113
; @@:   mov     [hwm_chip_name], edx
114
	;;-~-~-~-~-~-~-~-~-~-
114
	;;-~-~-~-~-~-~-~-~-~-
115
	; clc
115
	; clc
116
	; ret
116
	; ret
117
; it87_no:stc
117
; it87_no:stc
Line 152... Line 152...
152
 
152
 
153
	xor	ecx, ecx
153
	xor	ecx, ecx
154
@@:	mov	al, 0x0D
154
@@:	mov	al, 0x0D
155
	add	al, cl
155
	add	al, cl
156
	call	[IO_Read]
156
	call	[IO_Read]
157
	
157
 
158
	test	al, al
158
	test	al, al
159
	jz	@f
159
	jz	@f
160
	cmp	al, 0xff
160
	cmp	al, 0xff
Line 161... Line 161...
161
	je	@f	
161
	je	@f
162
 
162
 
163
	movzx	ebx, al
163
	movzx	ebx, al
164
	push	ecx
164
	push	ecx
165
	mov	cl, [it87_fan_div + ecx]
165
	mov	cl, [it87_fan_div + ecx]
166
	shl	ebx, cl
166
	shl	ebx, cl
167
	pop	ecx
167
	pop	ecx
-
 
168
	mov	eax, 1350000
-
 
169
	xor	edx, edx
168
	mov	eax, 1350000
170
	test	ebx, ebx
169
	xor	edx, edx
171
	jz	@f
170
	div	ebx
172
	div	ebx
171
	mov	[hwm_rpms + 4 * ecx], eax
173
	mov	[hwm_rpms + 4 * ecx], eax
172
	inc	ecx
174
	inc	ecx
Line 178... Line 180...
178
;
180
;
179
; Presets for IT8712
181
; Presets for IT8712
180
;
182
;
181
; Volt = A * read_val + B
183
; Volt = A * read_val + B
182
;
184
;
183
;	A, B
185
;       A, B
184
; --- 0 ---
186
; --- 0 ---
185
; dd 0.01565, 0.0		; VIN0 (Index = 0x20)
187
; dd 0.01565, 0.0               ; VIN0 (Index = 0x20)
186
; dd 0.016, 0.0			; VIN1 (Index = 0x21)
188
; dd 0.016, 0.0                 ; VIN1 (Index = 0x21)
187
; dd 0.016, 0.0			; VIN2 (Index = 0x22)
189
; dd 0.016, 0.0                 ; VIN2 (Index = 0x22)
188
; dd 0.0, 0.0			; VIN3 (Index = 0x23)
190
; dd 0.0, 0.0                   ; VIN3 (Index = 0x23)
189
; dd 0.0608, 0.0		; VIN4 (Index = 0x24)
191
; dd 0.0608, 0.0                ; VIN4 (Index = 0x24)
190
; dd 0.0, 0.0			; VIN5 (Index = 0x25)
192
; dd 0.0, 0.0                   ; VIN5 (Index = 0x25)
191
; dd 0.0, 0.0			; VIN6 (Index = 0x26)
193
; dd 0.0, 0.0                   ; VIN6 (Index = 0x26)
192
; dd 0.08224, -22.104		; VIN7 (Index = 0x27)
194
; dd 0.08224, -22.104           ; VIN7 (Index = 0x27)
193
; dd 0.016, 0.0			; VBAT (Index = 0x28)
195
; dd 0.016, 0.0                 ; VBAT (Index = 0x28)
Line 194... Line 196...
194
 
196
 
195
; --- 1 ---
197
; --- 1 ---
196
; dd 0.01614, 0.0
198
; dd 0.01614, 0.0
197
; dd 0.01614, 0.0
199
; dd 0.01614, 0.0