    // battery
    // In config ACPI, BTIF renamed XTIF
    // Find:     42544946 09
    // Replace:  58544946 09
    //
    // In config ACPI, BTST renamed XTST
    // Find:     42545354 0A
    // Replace:  58545354 0A
    //
    // In config ACPI, ITLB renamed XTLB
    // Find:     49544C42 00
    // Replace:  58544C42 00
    //
    // In config ACPI, GBTI renamed XBTI
    // Find:     47425449 01
    // Replace:  58425449 01
    //
    // In config ACPI, GBTC renamed XBTC
    // Find:     47425443 00
    // Replace:  58425443 00
    //
    // In config ACPI, SBTC renamed XSTC
    // Find:     53425443 03
    // Replace:  58535443 03
    //
    // In config ACPI, GCGC renamed XCGC
    // Find:     47434743 08
    // Replace:  58434743 08
    //
    DefinitionBlock ("", "SSDT", 2, "OCLT", "BAT0", 0)
    {
        External(_SB.PCI0.LPCB.EC0, DeviceObj)
        External(_SB.NDBS, PkgObj)
        External(_SB.NBST, PkgObj)
        External(_SB.NBTI, PkgObj)
        External(_SB.PCI0.LPCB.EC0.NGBF, IntObj)
        External(_SB.PCI0.LPCB.EC0.NGBT, IntObj)
        External(_SB.PCI0.LPCB.EC0.NLB1, IntObj)
        External(_SB.PCI0.LPCB.EC0.NLB2, IntObj)
        External(_SB.PCI0.LPCB.EC0.NLO2, IntObj)
        External(_SB.PCI0.LPCB.EC0.NDCB, IntObj)
        External(_SB.PCI0.LPCB.EC0.ECRG, IntObj)
        External(_SB.PCI0.LPCB.EC0.BTMX, MutexObj)
        External(_SB.PCI0.LPCB.EC0.ECMX, MutexObj)
        External(_SB.PCI0.LPCB.EC0.BSEL, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.BST, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.LB1, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.LB2, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.BATP, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.BRCC, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.BRCV, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.BATN, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.INAC, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.INCH, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.IDIS, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.PSSB, FieldUnitObj)
        External(_SB.PCI0.LPCB.EC0.BTDR, MethodObj)
        External(_SB.PCI0.LPCB.EC0.BSTA, MethodObj)
        External(_SB.PCI0.LPCB.EC0.GBSS, MethodObj)
        External(_SB.PCI0.LPCB.EC0.GACS, MethodObj)
        External(_SB.PCI0.LPCB.EC0.GBMF, MethodObj)
        External(_SB.PCI0.LPCB.EC0.GCTL, MethodObj)
        External(_SB.PCI0.LPCB.EC0.GDNM, MethodObj)
        External(_SB.PCI0.LPCB.EC0.GDCH, MethodObj)
        External(_SB.PCI0.LPCB.EC0.XTIF, MethodObj)
        External(_SB.PCI0.LPCB.EC0.XTST, MethodObj)
        External(_SB.PCI0.LPCB.EC0.XTLB, MethodObj)
        External(_SB.PCI0.LPCB.EC0.XBTC, MethodObj)
        External(_SB.PCI0.LPCB.EC0.XSTC, MethodObj)
        External(_SB.PCI0.LPCB.EC0.XBTI, MethodObj)
        External(_TZ.XCGC, MethodObj)

        Method (B1B2, 2, NotSerialized)
        {
            ShiftLeft (Arg1, 8, Local0)
            Or (Arg0, Local0, Local0)
            Return (Local0)
        }

        Scope(_SB.PCI0.LPCB.EC0)
        {
            OperationRegion (ERM0, EmbeddedControl, 0x00, 0xFF)
            Field (ERM0, ByteAcc, Lock, Preserve)
            {
                Offset (0x87),
                ,    8,
                ,    8,
                BDC0,8,BDC1,8, //BDC,    16,
                Offset (0x8D),
                BFC0,8,BFC1,8, //BFC,    16,
                RTE0,8,RTE1,8, //BRTE,   16,
                ,    1,
                Offset (0x92),
                BME0,8,BME1,8, //BME,    16,
                ,    8,
                BDV0,8,BDV1,8, //BDV,    16,
                CV10,8,CV11,8, //BCV1,   16,
                ,    4,
                Offset (0x9B),
                ATE0,8,ATE1,8, //BATE,   16,
                BPR0,8,BPR1,8, //BPR,    16,
                BCR0,8,BCR1,8, //BCR,    16,
                BRC0,8,BRC1,8, //BRC,    16,
                BCC0,8,BCC1,8, //BCC,    16,
                BPV0,8,BPV1,8, //BPV,    16,
                CV20,8,CV21,8, //BCV2,   16,
                CV30,8,CV31,8, //BCV3,   16,
                CV40,8,CV41,8, //BCV4,   16,
                ,    16,
                ATF0,8,ATF1,8, //BATF,   16,
                ,    16,
                AXC0,8,AXC1,8, //MAXC,   16,
                ,   8,
                ,   1,
                ,   1,
                    ,   2,
                ,   4,
                STS0,8,STS1,8, //BSTS,   16,
                ,   8,
                Offset (0xC9),
                BSN0,8,BSN1,8, //BSN,    16,
                DAT0,8,DAT1,8, //BDAT,   16,
                ,    8,
                Offset (0xD5),
                ,   8,
                ,   8,
                ,   8,
                ,   8,
                ,   8,
                ,   8,
                ,   8,
                ,   8,
                ,   4,
                ,    4,
                ,   16,
                CBT0,8,CBT1,8, //CBT,    16,
            }
        }

        Scope(\_SB.PCI0.LPCB.EC0)
        {
            Method (BTIF, 1, Serialized)
            {
                If (_OSI ("Darwin"))
                {
                    Local7 = (One << Arg0)
                    BTDR (One)
                    If ((BSTA (Local7) == 0x0F))
                    {
                        Return (0xFF)
                    }

                    Acquire (BTMX, 0xFFFF)
                    Local0 = NGBF /* \_SB_.PCI0.LPCB.EC0_.NGBF */
                    Release (BTMX)
                    If (((Local0 & Local7) == Zero))
                    {
                        Return (Zero)
                    }

                    NBST [Arg0] = NDBS /* \_SB_.NDBS */
                    Acquire (BTMX, 0xFFFF)
                    NGBT |= Local7
                    Release (BTMX)
                    Acquire (ECMX, 0xFFFF)
                    If (ECRG)
                    {
                        BSEL = Arg0
                        Local0 = B1B2 (BFC0,BFC1) /* \_SB_.PCI0.LPCB.EC0_.BFC_ */
                        DerefOf (NBTI [Arg0]) [One] = Local0
                        DerefOf (NBTI [Arg0]) [0x02] = Local0
                        DerefOf (NBTI [Arg0]) [0x04] = B1B2 (BDV0,BDV1) /* \_SB_.PCI0.LPCB.EC0_.BDV_ */
                        Local0 = (B1B2 (BFC0,BFC1) * NLB1) /* \_SB_.PCI0.LPCB.EC0_.NLB1 */
                        Divide (Local0, 0x64, Local3, Local4)
                        DerefOf (NBTI [Arg0]) [0x05] = Local4
                        Local0 = (B1B2 (BFC0,BFC1) * NLO2) /* \_SB_.PCI0.LPCB.EC0_.NLO2 */
                        Divide (Local0, 0x64, Local3, Local4)
                        DerefOf (NBTI [Arg0]) [0x06] = Local4
                        Local0 = B1B2 (BSN0,BSN1) /* \_SB_.PCI0.LPCB.EC0_.BSN_ */
                        Local1 = B1B2 (DAT0,DAT1) /* \_SB_.PCI0.LPCB.EC0_.BDAT */
                    }

                    Release (ECMX)
                    Local2 = GBSS (Local0, Local1)
                    DerefOf (NBTI [Arg0]) [0x0A] = Local2
                    Acquire (BTMX, 0xFFFF)
                    NGBF &= ~Local7
                    Release (BTMX)
                    Return (Zero)
                }
                Else
                {
                    Return (\_SB.PCI0.LPCB.EC0.XTIF (Arg0))
                }
            }

            Method (BTST, 2, Serialized)
            {
                If (_OSI ("Darwin"))
                {
                    Local7 = (One << Arg0)
                    BTDR (One)
                    If ((BSTA (Local7) == 0x0F))
                    {
                        NBST [Arg0] = Package (0x04)
                            {
                                Zero,
                                0xFFFFFFFF,
                                0xFFFFFFFF,
                                0xFFFFFFFF
                            }
                        Return (0xFF)
                    }

                    Acquire (BTMX, 0xFFFF)
                    If (Arg1)
                    {
                        NGBT = 0xFF
                    }

                    Local0 = NGBT /* \_SB_.PCI0.LPCB.EC0_.NGBT */
                    Release (BTMX)
                    If (((Local0 & Local7) == Zero))
                    {
                        Return (Zero)
                    }

                    Acquire (ECMX, 0xFFFF)
                    If (ECRG)
                    {
                        BSEL = Arg0
                        Local0 = BST /* \_SB_.PCI0.LPCB.EC0_.BST_ */
                        Local3 = B1B2 (BPR0,BPR1) /* \_SB_.PCI0.LPCB.EC0_.BPR_ */
                        DerefOf (NBST [Arg0]) [0x02] = B1B2 (BRC0,BRC1) /* \_SB_.PCI0.LPCB.EC0_.BRC_ */
                        DerefOf (NBST [Arg0]) [0x03] = B1B2 (BPV0,BPV1) /* \_SB_.PCI0.LPCB.EC0_.BPV_ */
                    }

                    Release (ECMX)
                    If ((GACS () == One))
                    {
                        Local0 &= 0xFFFFFFFFFFFFFFFE
                    }
                    Else
                    {
                        Local0 &= 0xFFFFFFFFFFFFFFFD
                    }

                    If ((Local0 & One))
                    {
                        Acquire (BTMX, 0xFFFF)
                        NDCB = Local7
                        Release (BTMX)
                    }

                    DerefOf (NBST [Arg0]) [Zero] = Local0
                    If ((Local0 & One))
                    {
                        If (((Local3 < 0x0190) || (Local3 > 0x1964)))
                        {
                            Local5 = DerefOf (DerefOf (NBST [Arg0]) [One])
                            If (((Local5 < 0x0190) || (Local5 > 0x1964)))
                            {
                                Local3 = 0x0D7A
                            }
                            Else
                            {
                                Local3 = Local5
                            }
                        }
                    }
                    ElseIf (((Local0 & 0x02) == Zero))
                    {
                        Local3 = Zero
                    }

                    DerefOf (NBST [Arg0]) [One] = Local3
                    Acquire (BTMX, 0xFFFF)
                    NGBT &= ~Local7
                    Release (BTMX)
                    Return (Zero)
                }
                Else
                {
                    Return (\_SB.PCI0.LPCB.EC0.XTST (Arg0, Arg1))
                }
            }

            Method (ITLB, 0, NotSerialized)
            {
                If (_OSI ("Darwin"))
                {
                    Local0 = (B1B2 (BFC0,BFC1) * NLB1) /* \_SB_.PCI0.LPCB.EC0_.NLB1 */
                    Divide (Local0, 0x64, Local3, Local4)
                    Divide ((Local4 + 0x09), 0x0A, Local0, Local1)
                    Local0 = (B1B2 (BFC0,BFC1) * NLB2) /* \_SB_.PCI0.LPCB.EC0_.NLB2 */
                    Divide (Local0, 0x64, Local3, Local4)
                    Divide ((Local4 + 0x09), 0x0A, Local0, Local2)
                    If (ECRG)
                    {
                        LB1 = Local1
                        LB2 = Local2
                    }
                }
                Else
                {
                    \_SB.PCI0.LPCB.EC0.XTLB ()
                }
            }

            Method (GBTI, 1, NotSerialized)
            {
                If (_OSI ("Darwin"))
                {
                    Debug = "Enter getbattinfo"
                    Acquire (ECMX, 0xFFFF)
                    If (ECRG)
                    {
                        If ((BATP & (One << Arg0)))
                        {
                            BSEL = Arg0
                            Local0 = Package (0x02)
                                {
                                    Zero,
                                    Buffer (0x6B){}
                                }
                            DerefOf (Local0 [One]) [Zero] = B1B2 (BDC0,BDC1) /* \_SB_.PCI0.LPCB.EC0_.BDC_ */
                            DerefOf (Local0 [One]) [One] = (B1B2 (BDC0,BDC1) >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x02] = B1B2 (BFC0,BFC1) /* \_SB_.PCI0.LPCB.EC0_.BFC_ */
                            DerefOf (Local0 [One]) [0x03] = (B1B2 (BFC0,BFC1) >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x04] = B1B2 (BRC0,BRC1) /* \_SB_.PCI0.LPCB.EC0_.BRC_ */
                            DerefOf (Local0 [One]) [0x05] = (B1B2 (BRC0,BRC1) >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x06] = B1B2 (BME0,BME1) /* \_SB_.PCI0.LPCB.EC0_.BME_ */
                            DerefOf (Local0 [One]) [0x07] = (B1B2 (BME0,BME1) >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x08] = B1B2 (BCC0,BCC1) /* \_SB_.PCI0.LPCB.EC0_.BCC_ */
                            DerefOf (Local0 [One]) [0x09] = (B1B2 (BCC0,BCC1) >> 0x08
                                )
                            Local1 = B1B2 (CBT0,CBT1) /* \_SB_.PCI0.LPCB.EC0_.CBT_ */
                            Local1 -= 0x0AAC
                            Divide (Local1, 0x0A, Local2, Local3)
                            DerefOf (Local0 [One]) [0x0A] = Local3
                            DerefOf (Local0 [One]) [0x0B] = (Local3 >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x0C] = B1B2 (BPV0,BPV1) /* \_SB_.PCI0.LPCB.EC0_.BPV_ */
                            DerefOf (Local0 [One]) [0x0D] = (B1B2 (BPV0,BPV1) >> 0x08
                                )
                            Local1 = B1B2 (BPR0,BPR1) /* \_SB_.PCI0.LPCB.EC0_.BPR_ */
                            If (Local1)
                            {
                                If ((B1B2 (STS0,STS1) & 0x40))
                                {
                                    Local1 = (~Local1 + One)
                                    Local1 &= 0xFFFF
                                }
                            }

                            DerefOf (Local0 [One]) [0x0E] = Local1
                            DerefOf (Local0 [One]) [0x0F] = (Local1 >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x10] = B1B2 (BDV0,BDV1) /* \_SB_.PCI0.LPCB.EC0_.BDV_ */
                            DerefOf (Local0 [One]) [0x11] = (B1B2 (BDV0,BDV1) >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x12] = B1B2 (STS0,STS1) /* \_SB_.PCI0.LPCB.EC0_.BSTS */
                            DerefOf (Local0 [One]) [0x13] = (B1B2 (STS0,STS1) >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x14] = B1B2 (CV10,CV11) /* \_SB_.PCI0.LPCB.EC0_.BCV1 */
                            DerefOf (Local0 [One]) [0x15] = (B1B2 (CV10,CV11) >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x16] = B1B2 (CV20,CV21) /* \_SB_.PCI0.LPCB.EC0_.BCV2 */
                            DerefOf (Local0 [One]) [0x17] = (B1B2 (CV20,CV21) >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x18] = B1B2 (CV30,CV31) /* \_SB_.PCI0.LPCB.EC0_.BCV3 */
                            DerefOf (Local0 [One]) [0x19] = (B1B2 (CV30,CV31) >> 0x08
                                )
                            DerefOf (Local0 [One]) [0x1A] = B1B2 (CV40,CV41) /* \_SB_.PCI0.LPCB.EC0_.BCV4 */
                            DerefOf (Local0 [One]) [0x1B] = (B1B2 (CV40,CV41) >> 0x08
                                )
                            CreateField (DerefOf (Local0 [One]), 0xE0, 0x80, BTSN)
                            BTSN = GBSS (B1B2 (BSN0,BSN1), B1B2 (DAT0,DAT1))
                            Local1 = GBMF ()
                            Local2 = SizeOf (Local1)
                            CreateField (DerefOf (Local0 [One]), 0x0160, (Local2 * 0x08), BMAN)
                            BMAN = Local1
                            Local2 += 0x2C
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x80, CLBL)
                            CLBL = GCTL (Zero)
                            Local2 += 0x11
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x38, DNAM)
                            DNAM = GDNM (Zero)
                            Local2 += 0x07
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x20, DCHE)
                            DCHE = GDCH (Zero)
                            Local2 += 0x04
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x10, BMAC)
                            BMAC = Zero
                            Local2 += 0x02
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x10, BMAD)
                            BMAD = B1B2 (DAT0,DAT1) /* \_SB_.PCI0.LPCB.EC0_.BDAT */
                            Local2 += 0x02
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x10, BCCU)
                            BCCU = BRCC /* \_SB_.PCI0.LPCB.EC0_.BRCC */
                            Local2 += 0x02
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x10, BCVO)
                            BCVO = BRCV /* \_SB_.PCI0.LPCB.EC0_.BRCV */
                            Local2 += 0x02
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x10, BAVC)
                            Local1 = B1B2 (BCR0,BCR1) /* \_SB_.PCI0.LPCB.EC0_.BCR_ */
                            If (Local1)
                            {
                                If ((B1B2 (STS0,STS1) & 0x40))
                                {
                                    Local1 = (~Local1 + One)
                                    Local1 &= 0xFFFF
                                }
                            }

                            BAVC = Local1
                            Local2 += 0x02
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x10, RTTE)
                            RTTE = B1B2 (RTE0,RTE1) /* \_SB_.PCI0.LPCB.EC0_.BRTE */
                            Local2 += 0x02
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x10, ATTE)
                            RTTE = B1B2 (ATE0,ATE1) /* \_SB_.PCI0.LPCB.EC0_.BATE */
                            Local2 += 0x02
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x10, ATTF)
                            RTTE = B1B2 (ATF0,ATF1) /* \_SB_.PCI0.LPCB.EC0_.BATF */
                            Local2 += 0x02
                            CreateField (DerefOf (Local0 [One]), (Local2 * 0x08), 0x08, NOBS)
                            NOBS = BATN /* \_SB_.PCI0.LPCB.EC0_.BATN */
                        }
                        Else
                        {
                            Local0 = Package (0x01)
                                {
                                    0x34
                                }
                        }
                    }
                    Else
                    {
                        Local0 = Package (0x01)
                            {
                                0x0D
                            }
                    }

                    Release (ECMX)
                    Return (Local0)
                }
                Else
                {
                    Return (\_SB.PCI0.LPCB.EC0.XBTI (Arg0))
                }
            }

            Method (GBTC, 0, NotSerialized)
            {
                If (_OSI ("Darwin"))
                {
                    Debug = "Enter GetBatteryControl"
                    Acquire (ECMX, 0xFFFF)
                    If (ECRG)
                    {
                        Local0 = Package (0x02)
                            {
                                Zero,
                                Buffer (0x04){}
                            }
                        If ((BATP & One))
                        {
                            BSEL = Zero
                            DerefOf (Local0 [One]) [Zero] = Zero
                            If ((((INAC == Zero) && (INCH == Zero)) && (IDIS == Zero)))
                            {
                                DerefOf (Local0 [One]) [Zero] = Zero
                            }
                            ElseIf (((((INAC == Zero) && (INCH == 0x02)) && (
                                IDIS == One)) && (B1B2 (AXC0,AXC1) == Zero)))
                            {
                                DerefOf (Local0 [One]) [Zero] = One
                            }
                            ElseIf (((INAC == One) && (IDIS == 0x02)))
                            {
                                DerefOf (Local0 [One]) [Zero] = 0x02
                            }
                            ElseIf (((((INAC == Zero) && (INCH == 0x02)) && (
                                IDIS == One)) && (B1B2 (AXC0,AXC1) == 0xFA)))
                            {
                                DerefOf (Local0 [One]) [Zero] = 0x03
                            }
                            ElseIf (((INAC == Zero) && (INCH == 0x03)))
                            {
                                DerefOf (Local0 [One]) [Zero] = 0x04
                            }
                        }
                        Else
                        {
                            DerefOf (Local0 [One]) [Zero] = 0xFF
                        }

                        If ((BATP & 0x02))
                        {
                            BSEL = One
                            DerefOf (Local0 [One]) [One] = Zero
                            If ((((INAC == Zero) && (INCH == Zero)) && (IDIS == Zero)))
                            {
                                DerefOf (Local0 [One]) [One] = Zero
                            }
                            ElseIf (((((INAC == Zero) && (INCH == One)) && (
                                IDIS == 0x02)) && (B1B2 (AXC0,AXC1) == Zero)))
                            {
                                DerefOf (Local0 [One]) [One] = One
                            }
                            ElseIf (((INAC == One) && (IDIS == One)))
                            {
                                DerefOf (Local0 [One]) [One] = 0x02
                            }
                            ElseIf (((((INAC == Zero) && (INCH == One)) && (
                                IDIS == 0x02)) && (B1B2 (AXC0,AXC1) == 0xFA)))
                            {
                                DerefOf (Local0 [One]) [One] = 0x03
                            }
                            ElseIf (((INAC == Zero) && (INCH == 0x03)))
                            {
                                DerefOf (Local0 [One]) [One] = 0x04
                            }
                        }
                        Else
                        {
                            DerefOf (Local0 [One]) [One] = 0xFF
                        }
                    }
                    Else
                    {
                        Local0 = Package (0x02)
                            {
                                0x35,
                                Zero
                            }
                    }

                    Release (ECMX)
                    Return (Local0)
                }
                Else
                {
                    Return (\_SB.PCI0.LPCB.EC0.XBTC ())
                }
            }

            Method (SBTC, 3, NotSerialized)
            {
                If (_OSI ("Darwin"))
                {
                    Debug = "Enter SetBatteryControl"
                    Acquire (ECMX, 0xFFFF)
                    If (ECRG)
                    {
                        Local0 = Arg2
                        Debug = Local0
                        Local4 = Package (0x01)
                            {
                                0x06
                            }
                        Local1 = Zero
                        Local2 = Zero
                        Local1 = DerefOf (Local0 [Zero])
                        If ((Local1 == Zero))
                        {
                            Debug = "battery 0"
                            If ((BATP & One))
                            {
                                Local2 = DerefOf (Local0 [One])
                                If ((Local2 == Zero))
                                {
                                    INCH = Zero
                                    IDIS = Zero
                                    INAC = Zero
                                    B1B2 (AXC0, AXC1) = Package (){Zero}
                                    PSSB = One
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }

                                If ((Local2 == One))
                                {
                                    INAC = Zero
                                    INCH = 0x02
                                    IDIS = One
                                    B1B2 (AXC0,AXC1) = Package (){Zero}
                                    PSSB = Zero
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }

                                If ((Local2 == 0x02))
                                {
                                    INAC = One
                                    INCH = One
                                    IDIS = 0x02
                                    PSSB = Zero
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }

                                If ((Local2 == 0x03))
                                {
                                    INCH = 0x02
                                    IDIS = One
                                    INAC = Zero
                                    B1B2 (AXC0,AXC1) = Package (){0xFA}
                                    PSSB = Zero
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }

                                If ((Local2 == 0x04))
                                {
                                    B1B2 (AXC0,AXC1) = Package (){0xFA}
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }

                                If ((Local2 == 0x05))
                                {
                                    INAC = Zero
                                    INCH = 0x03
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }
                            }
                            Else
                            {
                                Local4 = Package (0x01)
                                    {
                                        0x34
                                    }
                            }
                        }

                        If ((Local1 == One))
                        {
                            If ((BATP & 0x02))
                            {
                                Debug = "battery 1"
                                Local2 = DerefOf (Local0 [One])
                                If ((Local2 == Zero))
                                {
                                    INCH = Zero
                                    IDIS = Zero
                                    INAC = Zero
                                    B1B2 (AXC0,AXC1) = Package (){Zero}
                                    PSSB = One
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }

                                If ((Local2 == One))
                                {
                                    INAC = Zero
                                    INCH = One
                                    IDIS = 0x02
                                    B1B2 (AXC0,AXC1) = Package (){Zero}
                                    PSSB = Zero
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }

                                If ((Local2 == 0x02))
                                {
                                    INAC = One
                                    INCH = 0x02
                                    IDIS = One
                                    PSSB = Zero
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }

                                If ((Local2 == 0x03))
                                {
                                    INCH = One
                                    IDIS = 0x02
                                    INAC = Zero
                                    B1B2 (AXC0,AXC1) = Package (){0xFA}
                                    PSSB = Zero
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }

                                If ((Local2 == 0x04))
                                {
                                    INCH = Zero
                                    IDIS = Zero
                                    INAC = Zero
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }

                                If ((Local2 == 0x05))
                                {
                                    INAC = Zero
                                    INCH = 0x03
                                    Local4 = Package (0x01)
                                        {
                                            Zero
                                        }
                                }
                            }
                            Else
                            {
                                Local4 = Package (0x01)
                                    {
                                        0x34
                                    }
                            }
                        }
                    }

                    Release (ECMX)
                    Return (Local4)
                }
                Else
                {
                    Return (\_SB.PCI0.LPCB.EC0.XSTC (Arg0, Arg1, Arg2))
                }
            }
        }
        Scope (_TZ)
        {
            Method (GCGC, 0, Serialized)
            {
                If (_OSI ("Darwin"))
                {
                    Name (LTMP, Buffer (0x02){})
                    If (\_SB.PCI0.LPCB.EC0.ECRG)
                    {
                        Acquire (\_SB.PCI0.LPCB.EC0.ECMX, 0xFFFF)
                        LTMP = B1B2 (\_SB.PCI0.LPCB.EC0.BPR0, \_SB.PCI0.LPCB.EC0.BPR1)
                        Release (\_SB.PCI0.LPCB.EC0.ECMX)
                    }

                    Return (LTMP) /* \_TZ_.GCGC.LTMP */
                }
                Else
                {
                    Return (\_TZ.XCGC ())
                }
            }
        }
    }

# results matching ""

# No results matching ""