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

关于LVDS 与 VGA的切换请教,

[复制链接]
发表于 2009-3-15 10:52:11 | 显示全部楼层 |阅读模式
关于LVDS 与 VGA的切换请教,谢谢5 u# o; [: K  q. K) r" _- f/ D
EC 中拿到了FN+F7,但怎么才能通知北桥把VGA接口打开呢,谢谢.2 ~" @3 c$ k; Q+ b' p
是否是BIOS控制呢?
发表于 2009-3-16 11:28:22 | 显示全部楼层
想自己搞明白再做,得看一下ACPI Spec 的Display Switch 相关的,和你所用的芯片的VGA 部分的BIOS PortGuid文档,就知道什么做了.
4 s9 g3 S* E$ Y9 T$ n( ]* ^3 E想最快的直接的,找一个已经写好的BIOS CODE来参考就行了!
回复

使用道具 举报

 楼主| 发表于 2009-3-20 19:46:42 | 显示全部楼层
多谢,因为我搞EC ,bios基本不参与,我只用发一个SCI EVENT 通知 bios, 由BIOS去控制北桥切换.BIOS中原厂因该有基本的切换代码.
回复

使用道具 举报

发表于 2009-3-25 22:02:45 | 显示全部楼层
只要請BIOS 弟兄幫你 留debug port 80h , 當fn+f7 你定義一個 Q_event (ex: f7h) 經由EC runtime_sci pin to 南橋後, 之後就是 ACPI driver 轉換成 ASL code method 去通知 BIOS 經由此時BIOS 收到 method _QF7 就丟個燈號經由 Debug port 80h method ~~我大概描述一下.
4 V" u* `5 x3 G0 h重要是只要能丟出燈號就不是你的問題 ~~ 切換 RGB and LVDS 就是BIOS vs VGA driver 問題了.祝順利喔
回复

使用道具 举报

 楼主| 发表于 2009-3-29 20:42:22 | 显示全部楼层

多谢多谢

Method(_Q52) {                                // Hotkey
: E4 d$ X$ p1 ^                Store (SCAN, DBG8)
7 j& w2 H! v( Q$ I                If (\_SB.PCI0.GFX0.IGEF) {        // If on Internal Grapics Display
. z/ Z7 ]. ]1 f) b, D) Z                        If( LAnd( LGreater( SCAN, 0x3a ), LLess( SCAN, 0x59 ) ) ) {        // Process video keys if F1-F129 ~: `* ^5 M: |* f7 C0 A% C
                                If( LEqual( SCAN, 0x40 ) ) {        // Don't process F6
& `! n! q" Q7 K+ ^/ M- Q9 _3 r                                }8 b4 [0 l) Y1 o. q3 l
                                else {; w7 o! g9 u$ Q( B3 e% A
                                        If( LAnd( LGreater( SCAN, 0x3a ), LLess( SCAN, 0x3F ) ) ) {        // Process video keys if F1-F49 o% ]: ?9 j1 C- m" L
                                                if (LEQUAL(\_SB.PCI0.GFX0.DSEN, 0)){        // WinXP
3 [& F: V2 k" p' e  n6 ]" `- g                                                        Store( Or(SCAN, 0x80), DPB3)
+ i3 t1 E7 n4 D% }1 `                                                        Store( 0x77, DPB2 )
( a9 U+ h. [6 P4 ~* A8 B$ K' B: U  u                                                        Sleep (250)
; w8 ~0 Q9 _& V                                                        Notify (\_SB.PCI0.GFX0,0x80)
* \2 }" W+ b. t                                                }
% i0 O" [" g& e# }, d                                                else {                                        // Non-XP path
0 ~5 ^$ E" V. H3 K9 I# b                                                        Store (SCAN, DPB3)5 N( J8 x& e* Q+ [- |
                                                        Store( 0x77, DPB2 )
/ N7 ~6 l; Y0 @5 Q8 c                                                        Notify (\_SB.PCI0.GFX0,0x80)
3 t3 `' O; K. a! O" h# o                                                }
2 B9 i: W) p2 Q9 y; H; W# x                                        }
; F/ q5 U; u  E# `5 c                                        else {                                                                // Path for keys >F45 Q/ w1 f8 Z2 i8 N* t& _" M
                                                Store (SCAN, DPB3)
4 a: a/ I, Y" I+ r& z/ Z% v) z                                                Store( 0x77, DPB2 )
& l* R( ~3 w6 A# m! N( g" v/ l                                        }
) C8 w& M. G  O  ^/ L1 a                                }
. ^, o$ s* G2 D7 ], |5 j                        }
* \9 u: f6 D1 L& J, U+ }                }
回复

使用道具 举报

发表于 2009-7-17 22:51:50 | 显示全部楼层
Notify (\_SB.PCI0.GFX0,0x80)% i2 J) K4 w" D: }6 r( M

3 |% R. {' b3 s- E) w7 ^$ `俺有个疑问
, }, @6 h6 y6 o4 f4 v
. c5 V8 o- S, [' |' l对于DEV, 这个NOTIFICATION在ACPI SPEC里没讲明白哦, 还有的ASL CODE发的是0x81, 0x76之类的, 一直不明白是怎么回事
回复

使用道具 举报

发表于 2009-7-17 22:53:38 | 显示全部楼层
另外, 在NON-ACPI OS下, HOTKEY切换仍然有效, 那看起来走了SMI了, 那又怎么样实现的呢? 第一玩接触这个东东, 嘿嘿~ 惭愧, 老革命问新问题.
回复

使用道具 举报

发表于 2009-7-18 00:10:48 | 显示全部楼层
问题解决了, 呵呵, 居然在ACPI SPEC的附录里
回复

使用道具 举报

发表于 2009-7-18 00:11:40 | 显示全部楼层
不过, SMI下切换还是有点不明白, 没找到MBI SPEC, 哪位兄弟有, 麻烦SHARE一下, 谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-21 18:52 , Processed in 0.254605 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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