Device (BAT1)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, One)
Name (BATI, Package (0x0D)
{
One,
0xFFFFFFFF,
0xFFFFFFFF,
One,
0xFFFFFFFF,
0x03,
0x0A,
One,
One,
"Unknown",
"Unknown",
"Unknown",
"Unknown"
})
Method (_BIF, 0, NotSerialized)
{
If (LEqual (ECON, Zero))
{
Store (SECW (0x82, 0xB0, Zero), Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (BATI, One))
}
Else
{
Store (Local0, Index (BATI, One))
}
Store (SECW (0x82, 0xB2, Zero), Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (BATI, 0x02))
}
Else
{
Store (Local0, Index (BATI, 0x02))
}
Store (SECW (0x82, 0xB4, Zero), Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (BATI, 0x04))
}
Else
{
Store (Local0, Index (BATI, 0x04))
}
Store (Zero, Index (BATI, 0x05))
Store (SECW (0x82, 0xB6, Zero), Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (Zero, Index (BATI, 0x06))
}
Else
{
Store (Local0, Index (BATI, 0x06))
}
}
Else
{
Store (^^PCI0.LPCB.H_EC.B1DA, Local0)
ShiftLeft (Local0, 0x08, Local1)
And (Local1, 0xFF00, Local1)
ShiftRight (Local0, 0x08, Local0)
Or (Local0, Local1, Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (BATI, One))
}
Else
{
Store (Local0, Index (BATI, One))
}
Store (^^PCI0.LPCB.H_EC.B1DF, Local0)
ShiftLeft (Local0, 0x08, Local1)
And (Local1, 0xFF00, Local1)
ShiftRight (Local0, 0x08, Local0)
Or (Local0, Local1, Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (BATI, 0x02))
}
Else
{
Store (Local0, Index (BATI, 0x02))
}
Store (^^PCI0.LPCB.H_EC.B1DV, Local0)
ShiftLeft (Local0, 0x08, Local1)
And (Local1, 0xFF00, Local1)
ShiftRight (Local0, 0x08, Local0)
Or (Local0, Local1, Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (BATI, 0x04))
}
Else
{
Store (Local0, Index (BATI, 0x04))
}
Store (Zero, Index (BATI, 0x05))
Store (^^PCI0.LPCB.H_EC.B1DL, Local0)
ShiftLeft (Local0, 0x08, Local1)
And (Local1, 0xFF00, Local1)
ShiftRight (Local0, 0x08, Local0)
Or (Local0, Local1, Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (BATI, 0x06))
}
Else
{
Store (Local0, Index (BATI, 0x06))
}
}
Store ("", Index (BATI, 0x09))
Store ("", Index (BATI, 0x0A))
Store ("LION", Index (BATI, 0x0B))
Store ("SAMSUNG Electronics", Index (BATI, 0x0C))
Return (BATI)
}
Name (STAT, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_BST, 0, NotSerialized)
{
If (LEqual (ECON, Zero))
{
Store (SECB (0x81, 0x84), Local0)
If (LAnd (LNotEqual (Local0, Zero), LNotEqual (Local0, 0x05)))
{
If (LEqual (PWRS, One))
{
Store (0x02, Local0)
}
Else
{
Store (One, Local0)
}
}
Store (Local0, Index (STAT, Zero))
Store (SECW (0x82, 0xA4, Zero), Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (STAT, One))
}
Else
{
If (LGreaterEqual (Local0, 0x8000))
{
XOr (Local0, 0xFFFF, Local0)
Increment (Local0)
}
Store (Local0, Index (STAT, One))
}
Store (SECW (0x82, 0xA2, Zero), Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (STAT, 0x02))
}
Else
{
Store (Local0, Index (STAT, 0x02))
}
Store (SECW (0x82, 0xA6, Zero), Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (STAT, 0x03))
}
Else
{
Store (Local0, Index (STAT, 0x03))
}
}
Else
{
Store (^^PCI0.LPCB.H_EC.B1ST, Local0)
If (LAnd (LNotEqual (Local0, Zero), LNotEqual (Local0, 0x05)))
{
If (LEqual (PWRS, One))
{
Store (0x02, Local0)
}
Else
{
Store (One, Local0)
}
}
Store (Local0, Index (STAT, Zero))
Store (^^PCI0.LPCB.H_EC.B1PR, Local0)
ShiftLeft (Local0, 0x08, Local1)
And (Local1, 0xFF00, Local1)
ShiftRight (Local0, 0x08, Local0)
Or (Local0, Local1, Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (STAT, One))
}
Else
{
If (LGreaterEqual (Local0, 0x8000))
{
XOr (Local0, 0xFFFF, Local0)
Increment (Local0)
}
Store (Local0, Index (STAT, One))
}
Store (^^PCI0.LPCB.H_EC.B1RA, Local0)
ShiftLeft (Local0, 0x08, Local1)
And (Local1, 0xFF00, Local1)
ShiftRight (Local0, 0x08, Local0)
Or (Local0, Local1, Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (STAT, 0x02))
}
Else
{
Store (Local0, Index (STAT, 0x02))
}
Store (^^PCI0.LPCB.H_EC.B1VO, Local0)
ShiftLeft (Local0, 0x08, Local1)
And (Local1, 0xFF00, Local1)
ShiftRight (Local0, 0x08, Local0)
Or (Local0, Local1, Local0)
If (LEqual (Local0, 0xFFFF))
{
Store (0xFFFFFFFF, Index (STAT, 0x03))
}
Else
{
Store (Local0, Index (STAT, 0x03))
}
}
Return (STAT)
}
Method (_STA, 0, NotSerialized)
{
If (LEqual (ECON, Zero))
{
If (LEqual (SECB (0x85, Zero), One))
{
Store (0x1F, Local0)
}
Else
{
Store (0x0F, Local0)
}
}
Else
{
If (LEqual (^^PCI0.LPCB.H_EC.B1EX, One))
{
Store (0x1F, Local0)
}
Else
{
Store (0x0F, Local0)
}
}
Return (Local0)
}
Method (_PCL, 0, NotSerialized)
{
Return (_SB)
}
}