找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 16925|回复: 6

EC与BIOS启动XP时候之间的关系

[复制链接]
发表于 2010-1-11 15:00:05 | 显示全部楼层 |阅读模式
请问各位老大,在S5->S0状态过程中 EC与BIOS之间都需要进行什么动作?
' H6 O) {8 A  v4 Z* z- j; N我所知道的:# x" ^! A( C5 H! X1 f$ n0 o' a% m
(1)在按Power button后,EC跑上电时序,需要SCH与CPU给相应的反馈信号;
/ z" k5 g# X8 ]. u& n2 N. k* [& e(2)BIOS通过SHM到SPI Flash上更新数据;, j( _1 z, s( @+ h5 Z
(2)HOST通过PM1端口与EC交互键盘的标准命令;
; q& H  t% Y* C0 L5 F/ v接下来到XP启动阶段BIOS还需要EC配合什么动作?希望各位兄弟指点迷津啊,目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。
7 b1 Z( t. n; o, C9 u
% ]' ]) [0 @3 ~- n6 l小弟出入EC & BIOS领域,请各位老大指教!
发表于 2010-1-13 00:55:32 | 显示全部楼层
进windows时,windows会打开ACPI Mode.EC的一些SMI的功能,会转为SCI来做.见ACPI SPEC中的图.
回复

使用道具 举报

发表于 2010-1-26 22:29:40 | 显示全部楼层
目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。
; M+ ?6 Z) r) [+ N. X- [# D" X0 b. k* x# |
这种问题一般去查几个地方,一个是ACPI mode enable,看你的BIOS code 里面是不是会透过PM1下cmd给ec;+ b3 W2 @0 l0 n
; }' j/ z) }$ a+ o2 Z! J
还有就是xp会访问EC.asl 里面op region里面的东西,这个就要EC 返回正确的状态,不对或者是没相应的话xp启动就会牛慢。
回复

使用道具 举报

发表于 2010-1-27 10:12:39 | 显示全部楼层

回复 1# tequlia 的帖子

1.请检查EC ASL code SCI pin 配置是否有问题.) {; ?1 K! h  p" g& P, C! s
2.调整一下SCI#信号的脉冲宽度试试看.( |* r# |  l0 H- X! ?  }1 y
3.让EC架串口debug抛一些信息出来看看.
) ~; K. R; ~4 I# g+ U4.将EC asl code中有关EC ram space,Battery,AC,Lid..等device的状态不去读EC ram,直接回状态。
: ?, }, e4 a# A! E1 v! q! c3 q* Z或者将ec 相关的asl直接拿掉试试看。
回复

使用道具 举报

发表于 2010-1-27 11:40:14 | 显示全部楼层

我碰到同样的问题

我在滚动条的时候会停很久,在OS底下能发出SCI(ASL Q Event丢80口验证)。在滚动条的时候用示波器量ECSCI不停的被拉低。Debug Code 40-》45-》41-》40-》45-》41-》45-》进OS,看起来时没有读到电池的状态所以一直在读。/ p! g" E/ @/ N
Device(BAT0){- z  ^7 \/ f5 I! s' n+ X" n
        Method(_STA){
, [- _8 M6 k, ^1 n% t                Store(0x0F,Local0)        // Initial state = Absent
9 G$ \5 D/ E' Q( b1 b                  If(\_SB.PCI0.SBRG.H_EC.ECON){                        // EC driver ready ?! ~1 I1 a% O$ k  x
                        Store(0x40,DBG8)
, B& {$ |7 L8 }: }; w                        If(LEqual(Acquire(\MUTX, 0xA000),0x0)){        //tony change to 0xA000
8 f7 F& q0 H% ]$ P3 L# u6 L- n7 }                                Store(0x41,DBG8)9 x* g8 {- r2 b* y2 x
                                If(\_SB.PCI0.SBRG.H_EC.BPRS){5 ?& T, A6 @5 P- ~) V. `% f" D
                                        Store(0x42,DBG8)
/ Q" z% I2 t$ p; Z% H                                        Store(0x1f,Local0)        // Battery Present
, N6 H2 z: p3 p' h0 N" @0 J3 T$ H                                }0 @: A: s7 E  y
                                Store(0x43,DBG8)
3 Z; D* F7 O- H                                     Release(\MUTX)) V4 a9 C0 p6 l% x) g* B/ z: n! e
                            }9 u" G- w9 S7 S
                  } // End of ECON. \7 m# w9 o: H5 P
                Store(0x45,DBG8)' y: O  F, A& e. e; m
                Return(Local0)        // Return Battery Status// ( 1F=Present / 0F=Absent )
2 N$ h( }1 K) e        } // End of _STA: |. Z6 g4 l, U; I
}
回复

使用道具 举报

发表于 2010-12-5 12:20:39 | 显示全部楼层
我碰到同样的问题 用的是win7的系统  在开机时在带电池的情况系反复插拔适配器时  3 h- p. w7 a7 j
系统进入的超慢  sci的时间宽度来回的调也不行 最后解决的方法是在sci命令发出时& e7 h4 M2 O9 N* X  ?
加个限制条件 if(os_apci_mode)  这时就不会出现系统慢的情况  % V* I3 l/ B2 R8 @( D( s3 J# ?
给你点灵感 呵呵
回复

使用道具 举报

发表于 2010-12-5 18:57:12 | 显示全部楼层

望望

望望,打酱油!这个论坛人怎么这么少啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2024-5-18 12:39 , Processed in 0.023977 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表