|
|
9 o# t0 b) e. O$ W' }9 @' B x& B1. What’s it? s- Q e! k, {3 W
9 w. s! Z$ n. a" m j7 F" R3 j' P* O) k% \
6 e8 M2 l) b" C6 f1 L# V: C. n, YAuto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。
% q, y/ e# f: w K" u" u
! N5 ?$ G. D/ g2. Why need it?* _ q' X6 l" M O& k. a
$ i2 J& V0 `! K9 T/ ?
8 W0 c+ a$ `0 L; E! U$ C
9 x" `/ g' B5 ^- A1 Y$ Q! W
8 X& x2 ^$ M( U+ V
这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。
5 \2 F: b( J) B# C9 E' B" k9 S ( Z( w/ ^7 M9 @% [* `
3. How to implement?" ]1 W, @$ i! X3 u- G: `- I
: K/ Y0 j( ` `$ K
5 ^9 r0 [" T1 f, X
+ Q3 Y1 ?9 ]3 x* i* Q, WAuto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,
1 M/ f' t, `+ A! q+ h; m然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:
" _/ @2 }% d0 m- j 8 i# X/ E! G) j4 u( m; E
+ F/ ~& R1 N) ^
5 M7 H/ t t% L/ z# K! ]; z图 14 b/ q7 K i5 M0 R; u* C$ Q
' D; j9 X9 E/ \0 N* {5 z( m) D6 r- U1 M# k* ]& P7 L5 ]
Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|