积分 78 最后登录 2023-8-30 精华 0 阅读权限 20 主题 15 UID 3492959 帖子 121 PB币 461 威望 5 贡献 0 技术 1 活跃 286
UID 3492959 帖子 121 PB币 461 贡献 0 技术 1 活跃 286
linioe 发表于 2021-2-7 22:25
电池相关的方法一般在DSDT里面,当然也不排除在某个SSDT里面,但是你用这几个应该都不是本机的SSDT,所以 ...
Method (_BIF, 0, NotSerialized) // _BIF: Battery Information {
IVBI ()
If (ECOK)
{
If (^^PCI0.LPCB.EC0.MBTS)
{
UBIF ()
}
}
Return (PBIF) /* \_SB_.BAT1.PBIF */
}
Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
{
IVBX ()
If (ECOK)
{
If (^^PCI0.LPCB.EC0.MBTS)
{
UBIX ()
}
}
Return (PBIX) /* \_SB_.BAT1.PBIX */
}
Method (IVBI, 0, NotSerialized)
{
PBIF [One] = 0xFFFFFFFF
PBIF [0x02] = 0xFFFFFFFF
PBIF [0x04] = 0xFFFFFFFF
PBIF [0x09] = "Bad"
PBIF [0x0A] = " "
PBIF [0x0B] = "Bad"
PBIF [0x0C] = "Bad"
}
Name (LFCC, 0x1130)
Method (UBIF, 0, Serialized)
{
If (ECOK)
{
Acquire (^^PCI0.LPCB.EC0.MUT1, 0xFFFF)
Local0 = ^^PCI0.LPCB.EC0.BTDC /* \_SB_.PCI0.LPCB.EC0_.BTDC */
Local1 = ^^PCI0.LPCB.EC0.LFCC /* \_SB_.PCI0.LPCB.EC0_.LFCC */
Local2 = ^^PCI0.LPCB.EC0.BTDV /* \_SB_.PCI0.LPCB.EC0_.BTDV */
Local3 = ^^PCI0.LPCB.EC0.BTMD /* \_SB_.PCI0.LPCB.EC0_.BTMD */
Local4 = ^^PCI0.LPCB.EC0.BTMN /* \_SB_.PCI0.LPCB.EC0_.BTMN */
Local5 = ^^PCI0.LPCB.EC0.BTSN /* \_SB_.PCI0.LPCB.EC0_.BTSN */
Release (^^PCI0.LPCB.EC0.MUT1)
PBIF [One] = Local0
PBIF [0x02] = Local1
PBIF [0x04] = Local2
LFCC = Local1
Local7 = (Local1 * 0x04)
Local7 /= 0x64
PBIF [0x06] = Local7
PBIF [0x0B] = "LION"
Switch (Local3)
{
Case (One)
{
PBIF [0x09] = "AL13D32"
}
Case (0x02)
{
PBIF [0x09] = "AL14A32"
}
Case (0x03)
{
PBIF [0x09] = "TW932SM"
}
Case (0x04)
{
PBIF [0x09] = "AP13B8K"
}
Default
{
PBIF [0x09] = "xxxxx"
}
}
Switch (Local4)
{
Case (0x03)
{
PBIF [0x0C] = "SANYO"
}
Case (0x04)
{
PBIF [0x0C] = "SONY"
}
Case (0x05)
{
PBIF [0x0C] = "PANASONIC"
}
Case (0x06)
{
PBIF [0x0C] = "SAMSUNG"
}
Case (0x07)
{
PBIF [0x0C] = "SIMPLO"
}
Case (0x08)
{
PBIF [0x0C] = "MOTOROLA"
}
Case (0x09)
{
PBIF [0x0C] = "CELXPERT"
}
Case (0x0A)
{
PBIF [0x0C] = "LGC"
}
Default
{
PBIF [0x0C] = "UNKNOWN"
}
}
PBIF [0x0A] = ITOS (ToBCD (Local5))
}
}
Method (IVBX, 0, NotSerialized)
{
PBIX [0x02] = 0xFFFFFFFF
PBIX [0x03] = 0xFFFFFFFF
PBIX [0x05] = 0xFFFFFFFF
PBIX [0x10] = "Bad"
PBIX [0x11] = " "
PBIX [0x12] = "Bad"
PBIX [0x13] = "Bad"
}
Method (UBIX, 0, Serialized)
{
If (ECOK)
{
Acquire (^^PCI0.LPCB.EC0.MUT1, 0xFFFF)
Local0 = ^^PCI0.LPCB.EC0.BTDC /* \_SB_.PCI0.LPCB.EC0_.BTDC */
Local1 = ^^PCI0.LPCB.EC0.LFCC /* \_SB_.PCI0.LPCB.EC0_.LFCC */
Local2 = ^^PCI0.LPCB.EC0.BTDV /* \_SB_.PCI0.LPCB.EC0_.BTDV */
Local3 = ^^PCI0.LPCB.EC0.BTMD /* \_SB_.PCI0.LPCB.EC0_.BTMD */
Local4 = ^^PCI0.LPCB.EC0.BTMN /* \_SB_.PCI0.LPCB.EC0_.BTMN */
Local5 = ^^PCI0.LPCB.EC0.BTSN /* \_SB_.PCI0.LPCB.EC0_.BTSN */
Release (^^PCI0.LPCB.EC0.MUT1)
PBIX [0x02] = Local0
PBIX [0x03] = Local1
PBIX [0x05] = Local2
LFCC = Local1
Local7 = (Local1 * 0x04)
Local7 /= 0x64
PBIX [0x07] = Local7
PBIX [0x12] = "LION"
Switch (Local3)
{
Case (One)
{
PBIX [0x10] = "AL13D32"
}
Case (0x02)
{
PBIX [0x10] = "AL14A32"
}
Case (0x03)
{
PBIX [0x10] = "TW932SM"
}
Case (0x04)
{
PBIX [0x10] = "AP13B8K"
}
Default
{
PBIX [0x10] = "UNKNOWN"
}
}
Switch (Local4)
{
Case (0x03)
{
PBIX [0x13] = "SANYO"
}
Case (0x04)
{
PBIX [0x13] = "SONY"
}
Case (0x05)
{
PBIX [0x13] = "PANASONIC"
}
Case (0x06)
{
PBIX [0x13] = "SAMSUNG"
}
Case (0x07)
{
PBIX [0x13] = "SIMPLO"
}
Case (0x08)
{
PBIX [0x13] = "MOTOROLA"
}
Case (0x09)
{
PBIX [0x13] = "CELXPERT"
}
Case (0x0A)
{
PBIX [0x13] = "LGC"
}
Default
{
PBIX [0x13] = "UNKNOWN"
}
}
PBIX [0x11] = ITOS (ToBCD (Local5))
}
}
Name (RCAP, Zero)
Method (_BST, 0, NotSerialized) // _BST: Battery Status
{
If (ECOK)
{
Local0 = ^^PCI0.LPCB.EC0.MBTS /* \_SB_.PCI0.LPCB.EC0_.MBTS */
If ((Local0 == Zero))
{
PBST [Zero] = Zero
PBST [One] = 0xFFFFFFFF
PBST [0x02] = 0xFFFFFFFF
PBST [0x03] = 0xFFFFFFFF
RCAP = Zero
Return (PBST) /* \_SB_.BAT1.PBST */
}
Local1 = ^^PCI0.LPCB.EC0.MBRM /* \_SB_.PCI0.LPCB.EC0_.MBRM */
PBST [0x02] = Local1
RCAP = Local1
Local3 = ^^PCI0.LPCB.EC0.MCUR /* \_SB_.PCI0.LPCB.EC0_.MCUR */
PBST [One] = POSW (Local3)
If (^^PCI0.LPCB.EC0.MFCF)
{
PBST [Zero] = Zero
}
ElseIf (^^PCI0.LPCB.EC0.MBPC)
{
PBST [Zero] = 0x02
}
ElseIf (^^PCI0.LPCB.EC0.MBDX)
{
PBST [Zero] = One
}
Else
{
PBST [Zero] = Zero
}
PBST [0x03] = ^^PCI0.LPCB.EC0.MBVG /* \_SB_.PCI0.LPCB.EC0_.MBVG */
}
Else
{
PBST [Zero] = Zero
PBST [One] = 0xFFFFFFFF
PBST [0x02] = 0xFFFFFFFF
PBST [0x03] = 0xFFFFFFFF
RCAP = Zero
}
Return (PBST) /* \_SB_.BAT1.PBST */
}
}
}
Scope (_SB)
{
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
Method (_LID, 0, NotSerialized) // _LID: Lid Status
{
If (^^PCI0.LPCB.EC0.LIDT)
{
WTGP (0x53, Zero)
Return (Zero)
}
Else
{
WTGP (0x53, One)
Return (One)
}
}
}
}
Scope (_TZ)
{
ThermalZone (TZ01)
{
Method (_TMP, 0, NotSerialized) // _TMP: Temperature
{
If (\_SB.ECOK)
{
Local0 = \_SB.PCI0.LPCB.EC0.CTMP
Return (((Local0 * 0x0A) + 0x0AAC))
}
Else
{
Return (0x0C3C)
}
}
Method (_PSV, 0, NotSerialized) // _PSV: Passive Temperature
{
If ((\_SB.PCI0.LPCB.EC0.TJMX == Zero))
{
Return (0x0F5C)
}
ElseIf ((\_SB.PCI0.LPCB.EC0.TJMX == One))
{
Return (0x0F5C)
}
ElseIf ((\_SB.PCI0.LPCB.EC0.TJMX == 0x02))
{
Return (0x0F5C)
}
ElseIf ((\_SB.PCI0.LPCB.EC0.TJMX == 0x03))
{
Return (0x0F5C)
}
ElseIf ((\_SB.PCI0.LPCB.EC0.TJMX == 0x04))
{
Return (0x0F5C)
}
Else
{
Return (0x0F5C)
}
}
Name (_PSL, Package (0x01) // _PSL: Passive List
{
\_PR.CPU0
})
Name (_TSP, 0x28) // _TSP: Thermal Sampling Period
Name (_TC1, 0x02) // _TC1: Thermal Constant 1
Name (_TC2, 0x03) // _TC2: Thermal Constant 2
Method (_CRT, 0, NotSerialized) // _CRT: Critical Temperature
{
If ((\_SB.PCI0.LPCB.EC0.TJMX == Zero))
{
Return (0x0DFE)
}
ElseIf ((\_SB.PCI0.LPCB.EC0.TJMX == One))
{
Return (0x0E30)
}
ElseIf ((\_SB.PCI0.LPCB.EC0.TJMX == 0x02))
{
Return (0x0E94)
}
ElseIf ((\_SB.PCI0.LPCB.EC0.TJMX == 0x03))
{
Return (0x0EC6)
}
ElseIf ((\_SB.PCI0.LPCB.EC0.TJMX == 0x04))
{
Return (0x0DCC)
}
Else
{
Return (0x0EB2)
}
}
}
}
Scope (_SB.PCI0)
{
Name (PNLT, Buffer (0x0B)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00 // ...
})
Name (PNL7, Buffer (0x0A)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00 // ..
})
Method (CRBL, 0, NotSerialized)
{
If ((OSYS >= 0x07DC))
{
PNLT [Zero] = BCL0 /* \_SB_.BCL0 */
PNLT [One] = BCL1 /* \_SB_.BCL1 */
PNLT [0x02] = BCL2 /* \_SB_.BCL2 */
PNLT [0x03] = BCL3 /* \_SB_.BCL3 */
PNLT [0x04] = BCL4 /* \_SB_.BCL4 */
PNLT [0x05] = BCL5 /* \_SB_.BCL5 */
PNLT [0x06] = BCL6 /* \_SB_.BCL6 */
PNLT [0x07] = BCL7 /* \_SB_.BCL7 */
PNLT [0x08] = BCL8 /* \_SB_.BCL8 */
PNLT [0x09] = BCL9 /* \_SB_.BCL9 */
PNLT [0x0A] = BLVA /* \_SB_.BLVA */
^GFX0.BLM0 = (BCL0 | 0x8000)
^GFX0.BLM1 = (BCL1 | 0x8A00)
^GFX0.BLM2 = (BCL2 | 0x9400)
^GFX0.BLM3 = (BCL3 | 0x9E00)
^GFX0.BLM4 = (BCL4 | 0xA800)
^GFX0.BLM5 = (BCL5 | 0xB200)
^GFX0.BLM6 = (BCL6 | 0xBC00)
^GFX0.BLM7 = (BCL7 | 0xC600)
^GFX0.BLM8 = (BCL8 | 0xD000)
^GFX0.BLM9 = (BCL9 | 0xDA00)
^GFX0.BLMA = (BLVA | 0xE400)
If ((BBTP == One))
{
^GFX0.BLM5 = (BL86 | 0xB200)
^GFX0.BLM6 = (BL87 | 0xBC00)
^GFX0.BLM7 = (BL88 | 0xC600)
^GFX0.BLM8 = (BL89 | 0xD000)
^GFX0.BLM9 = (BL8A | 0xDA00)
}
^GFX0.BLMX = Zero
}
Else
{
PNL7 [Zero] = BCL0 /* \_SB_.BCL0 */
PNL7 [One] = BCL1 /* \_SB_.BCL1 */
PNL7 [0x02] = BCL2 /* \_SB_.BCL2 */
PNL7 [0x03] = BCL3 /* \_SB_.BCL3 */
PNL7 [0x04] = BCL4 /* \_SB_.BCL4 */
PNL7 [0x05] = BCL5 /* \_SB_.BCL5 */
PNL7 [0x06] = BCL6 /* \_SB_.BCL6 */
PNL7 [0x07] = BCL7 /* \_SB_.BCL7 */
PNL7 [0x08] = BCL8 /* \_SB_.BCL8 */
PNL7 [0x09] = BCL9 /* \_SB_.BCL9 */
^GFX0.BLM0 = (BCL0 | 0x8A00)
^GFX0.BLM1 = (BCL1 | 0x9400)
^GFX0.BLM2 = (BCL2 | 0x9E00)
^GFX0.BLM3 = (BCL3 | 0xA800)
^GFX0.BLM4 = (BCL4 | 0xB200)
^GFX0.BLM5 = (BCL5 | 0xBC00)
^GFX0.BLM6 = (BCL6 | 0xC600)
^GFX0.BLM7 = (BCL7 | 0xD000)
^GFX0.BLM8 = (BCL8 | 0xDA00)
^GFX0.BLM9 = (BCL9 | 0xE400)
^GFX0.BLMA = Zero
^GFX0.BLMX = Zero
}
}
}
Scope (_SB)
{
OperationRegion (EXCO, SystemIO, 0x72, 0x02)
Field (EXCO, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x80),
CM2M, 32,
Offset (0x87),
RDWL, 1,
RDBT, 1,
RD3G, 1,
TPDS, 1,
PTWL, 1,
PTBT, 1,
PT3G, 1,
RDTS, 1,
Offset (0xEE),
CSBM, 8,
Offset (0xFF),
Offset (0x100)
}
}
Name (_S0, Package (0x04) // _S0_: S0 System State
{
Zero,
Zero,
Zero,
Zero
})
If (SS1)
{
Name (_S1, Package (0x04) // _S1_: S1 System State
{
One,
Zero,
Zero,
Zero
})
}
If (SS3)
{
Name (_S3, Package (0x04) // _S3_: S3 System State
{
0x05,
Zero,
Zero,
Zero
})
}
If (SS4)
{
Name (_S4, Package (0x04) // _S4_: S4 System State
{
0x06,
Zero,
Zero,
Zero
})
}
Name (_S5, Package (0x04) // _S5_: S5 System State
{
0x07,
Zero,
Zero,
Zero
})
Method (PTS, 1, NotSerialized)
{
If (Arg0){}
}
Method (WAK, 1, NotSerialized)
{
}
}
请问哪个是
展开阅读全文​
附件:
你需要登录 才可以下载或查看附件。没有帐号?注册