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

关于LVDS 与 VGA的切换请教,

[复制链接]
发表于 2009-3-15 10:52:11 | 显示全部楼层 |阅读模式
关于LVDS 与 VGA的切换请教,谢谢9 D/ p6 U/ g% T" Z' f. x
EC 中拿到了FN+F7,但怎么才能通知北桥把VGA接口打开呢,谢谢.( u, u: L0 N9 R; z) o! M+ w
是否是BIOS控制呢?
发表于 2009-3-16 11:28:22 | 显示全部楼层
想自己搞明白再做,得看一下ACPI Spec 的Display Switch 相关的,和你所用的芯片的VGA 部分的BIOS PortGuid文档,就知道什么做了.
/ Y/ _8 n+ Z: [想最快的直接的,找一个已经写好的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 ~~我大概描述一下.8 y  z: E0 V0 ?6 b- s" f
重要是只要能丟出燈號就不是你的問題 ~~ 切換 RGB and LVDS 就是BIOS vs VGA driver 問題了.祝順利喔
回复

使用道具 举报

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

多谢多谢

Method(_Q52) {                                // Hotkey
8 u( j+ o" a7 D6 \: [9 }                Store (SCAN, DBG8)
! ^. A! u/ _* n                If (\_SB.PCI0.GFX0.IGEF) {        // If on Internal Grapics Display& L+ k& s. L7 w) \9 T$ {
                        If( LAnd( LGreater( SCAN, 0x3a ), LLess( SCAN, 0x59 ) ) ) {        // Process video keys if F1-F12' [& W0 r8 S6 V  U3 d" @6 @
                                If( LEqual( SCAN, 0x40 ) ) {        // Don't process F6# v7 z; Q+ {2 x) f( r& J# w+ p8 I: C
                                }4 ^5 v/ x9 z3 ]/ ^' @
                                else {
0 o6 b% W% o. F6 I: R. U" [                                        If( LAnd( LGreater( SCAN, 0x3a ), LLess( SCAN, 0x3F ) ) ) {        // Process video keys if F1-F4
6 k* H+ a. A0 B/ u( l) w/ M                                                if (LEQUAL(\_SB.PCI0.GFX0.DSEN, 0)){        // WinXP6 N8 `; r2 h1 Q7 g2 D
                                                        Store( Or(SCAN, 0x80), DPB3)7 a6 a- r4 I6 r7 L( p7 c' c
                                                        Store( 0x77, DPB2 )
' m& D- c3 V$ S) i! Y                                                        Sleep (250); f/ [- k- w! M$ }0 X$ w
                                                        Notify (\_SB.PCI0.GFX0,0x80)
8 ^2 S5 H! _4 ~) B                                                }
* n# N! |6 [- ^# ~                                                else {                                        // Non-XP path
# j1 |0 U% Y3 j( g" r                                                        Store (SCAN, DPB3)# \6 }3 p7 ^0 S' n* `$ P  Q6 e
                                                        Store( 0x77, DPB2 )2 W0 _5 b0 D" A7 }% p
                                                        Notify (\_SB.PCI0.GFX0,0x80)0 o( H# j/ u. `) _( R+ s! P
                                                }/ J2 p0 `( d5 G( [% {: H4 m
                                        }* S; |8 x2 ~% a! N9 W# c; I1 I
                                        else {                                                                // Path for keys >F4
# Z  t8 W4 [) V% }4 F) t4 o. f                                                Store (SCAN, DPB3)
! o  B  N  Z. m) k. A                                                Store( 0x77, DPB2 )4 F9 x8 P7 ?) F3 Q$ M
                                        }
2 c0 ~  W  G; i8 p/ O                                }7 ~7 r: G# \  D( E* i9 Q  @4 q+ {
                        }
2 h* c! y. \4 T- Y8 t; o$ z                }
回复

使用道具 举报

发表于 2009-7-17 22:51:50 | 显示全部楼层
Notify (\_SB.PCI0.GFX0,0x80)
9 C8 r- D1 y7 U* l
* f& V, j- i$ N1 X! r& n# R5 ~俺有个疑问
$ _0 {. s% w# i0 I) w7 A3 S% t: d) r2 y( N
对于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, 2026-4-20 03:42 , Processed in 0.039771 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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