/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20140214-64
 * Copyright (c) 2000 - 2014 Intel Corporation
 * 
 * Disassembly of DSDT.aml, Thu Jan 12 13:46:08 2017
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x0001DB37 (121655)
 *     Revision         0x02
 *     Checksum         0x2A
 *     OEM ID           "ALASKA"
 *     OEM Table ID     "A M I "
 *     OEM Revision     0x01072009 (17244169)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20120913 (538052883)
 */
DefinitionBlock ("DSDT.aml", "DSDT", 2, "ALASKA", "A M I ", 0x01072009)
{
    /*
     * iASL Warning: There were 2 external control methods found during
     * disassembly, but additional ACPI tables to resolve these externals
     * were not specified. This resulting disassembler output file may not
     * compile because the disassembler did not know how many arguments
     * to assign to these methods. To specify the tables needed to resolve
     * external control method references, the -e option can be used to
     * specify the filenames. Example iASL invocations:
     *     iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
     *     iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
     *     iasl -e ssdt*.aml -d dsdt.aml
     *
     * In addition, the -fe option can be used to specify a file containing
     * control method external declarations with the associated method
     * argument counts. Each line of the file must be of the form:
     *     External (<method pathname>, MethodObj, <argument count>)
     */
    External (_SB_.PCI0.LPCB.TPM_.PTS_, MethodObj)    // Warning: Unresolved Method, guessing 1 arguments (may be incorrect, see warning above)
    External (NDN3, MethodObj)    // Warning: Unresolved Method, guessing 1 arguments (may be incorrect, see warning above)

    External (_PR_.CPU0._PPC)
    External (_SB_.DPTF)
    External (CFGD)
    External (DPTF)
    External (PDC0)
    External (PDC1)
    External (PDC2)
    External (PDC3)
    External (TCHG)
    External (UBTC)

    Name (LAPB, 0xFEE00000)
    Name (CPVD, Zero)
    Name (SMBS, 0xEFA0)
    Name (SMBL, 0x20)
    Name (SRCB, 0xFED1C000)
    Name (SRCL, 0x4000)
    Name (PMBS, 0x0400)
    Name (PMLN, 0x80)
    Name (SMIP, 0xB2)
    Name (APCB, 0xFEC00000)
    Name (APCL, 0x1000)
    Name (RCRB, 0xFED1C000)
    Name (RCRL, 0x4000)
    Name (HPTB, 0xFED00000)
    Name (HPTC, 0xFED1F404)
    Name (ASSB, Zero)
    Name (AOTB, Zero)
    Name (AAXB, Zero)
    Name (PEHP, One)
    Name (SHPC, Zero)
    Name (PEPM, One)
    Name (PEER, One)
    Name (PECS, One)
    Name (ITKE, Zero)
    Name (MBEC, 0xFFFF)
    Name (PEBS, 0xE0000000)
    Name (PELN, 0x10000000)
    Name (SRSI, 0xB2)
    Name (CSMI, 0x61)
    Name (SMIA, 0xB2)
    Name (SMIB, 0xB3)
    Name (OFST, 0x35)
    Name (TRST, 0x02)
    Name (TCMF, Zero)
    Name (TMF1, Zero)
    Name (TMF2, Zero)
    Name (TMF3, Zero)
    Name (TTPF, Zero)
    Name (DTPT, Zero)
    Name (TTDP, One)
    Name (TPMB, 0xFFFFFFFF)
    Name (TPMC, 0xFFFFFFFF)
    Name (TPMM, 0x7FF00000)
    Name (FTPM, 0x7FF00000)
    Name (AMDT, Zero)
    Name (TPMF, One)
    Name (PMCB, 0xFED03000)
    Name (PMCP, 0xFED030A0)
    Name (PUNB, 0xFED06000)
    Name (IBAS, 0xFED08000)
    Name (FMBL, One)
    Name (FDTP, 0x02)
    Name (RCOM, 0xFED98000)
    OperationRegion (GNVS, SystemMemory, 0x7B6A9000, 0x0367)
    Field (GNVS, AnyAcc, Lock, Preserve)
    {
        OSYS,   16, 
        SMIF,   8, 
        PRM0,   8, 
        PRM1,   8, 
        SCIF,   8, 
        PRM2,   8, 
        PRM3,   8, 
        LCKF,   8, 
        PRM4,   8, 
        PRM5,   8, 
        P80D,   32, 
        LIDS,   8, 
        PWRS,   8, 
        DBGS,   8, 
        THOF,   8, 
        ACT1,   8, 
        ACTT,   8, 
        PSVT,   8, 
        TC1V,   8, 
        TC2V,   8, 
        TSPV,   8, 
        CRTT,   8, 
        DTSE,   8, 
        DTS1,   8, 
        DTS2,   8, 
        DTSF,   8, 
        BNUM,   8, 
        B0SC,   8, 
        B1SC,   8, 
        B2SC,   8, 
        B0SS,   8, 
        B1SS,   8, 
        B2SS,   8, 
        REVS,   8, 
        OSID,   8, 
        ADED,   8, 
        APIC,   8, 
        MPEN,   8, 
        PCP0,   8, 
        PCP1,   8, 
        PPCM,   8, 
        PPMF,   32, 
        Offset (0x32), 
        NATP,   8, 
        CMAP,   8, 
        CMBP,   8, 
        LPTP,   8, 
        FDCP,   8, 
        CMCP,   8, 
        CIRP,   8, 
        W381,   8, 
        NPCE,   8, 
        Offset (0x3C), 
        IGDS,   8, 
        TLST,   8, 
        CADL,   8, 
        PADL,   8, 
        CSTE,   16, 
        NSTE,   16, 
        SSTE,   16, 
        NDID,   8, 
        DID1,   32, 
        DID2,   32, 
        DID3,   32, 
        DID4,   32, 
        DID5,   32, 
        KSV0,   32, 
        KSV1,   8, 
        Offset (0x67), 
        BLCS,   8, 
        BRTL,   8, 
        ALSE,   8, 
        ALAF,   8, 
        LLOW,   8, 
        LHIH,   8, 
        Offset (0x6E), 
        EMAE,   8, 
        EMAP,   16, 
        EMAL,   16, 
        Offset (0x74), 
        MEFE,   8, 
        DSTS,   8, 
        Offset (0x78), 
        TPMP,   8, 
        TM2E,   8, 
        MORD,   8, 
        TCGP,   8, 
        PPRP,   32, 
        PPRQ,   8, 
        LPPR,   8, 
        GTF0,   56, 
        GTF2,   56, 
        IDEM,   8, 
        GTF1,   56, 
        Offset (0xAA), 
        ASLB,   32, 
        IBTT,   8, 
        IPAT,   8, 
        ITVF,   8, 
        ITVM,   8, 
        IPSC,   8, 
        IBLC,   8, 
        IBIA,   8, 
        ISSC,   8, 
        I409,   8, 
        I509,   8, 
        I609,   8, 
        I709,   8, 
        IDMM,   8, 
        IDMS,   8, 
        IF1E,   8, 
        HVCO,   8, 
        NXD1,   32, 
        NXD2,   32, 
        NXD3,   32, 
        NXD4,   32, 
        NXD5,   32, 
        NXD6,   32, 
        NXD7,   32, 
        NXD8,   32, 
        GSMI,   8, 
        PAVP,   8, 
        Offset (0xE1), 
        OSCC,   8, 
        NEXP,   8, 
        Offset (0xEB), 
        DSEN,   8, 
        ECON,   8, 
        GPIC,   8, 
        CTYP,   8, 
        L01C,   8, 
        VFN0,   8, 
        VFN1,   8, 
        Offset (0x100), 
        NVGA,   32, 
        NVHA,   32, 
        AMDA,   32, 
        DID6,   32, 
        DID7,   32, 
        DID8,   32, 
        Offset (0x147), 
        OTG0,   32, 
        OTG1,   32, 
        LPE0,   32, 
        LPE1,   32, 
        LPE2,   32, 
        ACST,   8, 
        BTST,   8, 
        PFLV,   8, 
        BREV,   8, 
        AOAC,   8, 
        XHCI,   8, 
        PMEN,   8, 
        USEL,   8, 
        ISPA,   32, 
        ISPD,   8, 
        D10A,   32, 
        D10L,   32, 
        D11A,   32, 
        D11L,   32, 
        P10A,   32, 
        P10L,   32, 
        P11A,   32, 
        P11L,   32, 
        P20A,   32, 
        P20L,   32, 
        P21A,   32, 
        P21L,   32, 
        U10A,   32, 
        U10L,   32, 
        U11A,   32, 
        U11L,   32, 
        U20A,   32, 
        U20L,   32, 
        U21A,   32, 
        U21L,   32, 
        SP0A,   32, 
        SP0L,   32, 
        SP1A,   32, 
        SP1L,   32, 
        S20A,   32, 
        S20L,   32, 
        S21A,   32, 
        S21L,   32, 
        S30A,   32, 
        S30L,   32, 
        S31A,   32, 
        S31L,   32, 
        D20A,   32, 
        D20L,   32, 
        D21A,   32, 
        D21L,   32, 
        I10A,   32, 
        I10L,   32, 
        I11A,   32, 
        I11L,   32, 
        I20A,   32, 
        I20L,   32, 
        I21A,   32, 
        I21L,   32, 
        I30A,   32, 
        I30L,   32, 
        I31A,   32, 
        I31L,   32, 
        I40A,   32, 
        I40L,   32, 
        I41A,   32, 
        I41L,   32, 
        I50A,   32, 
        I50L,   32, 
        I51A,   32, 
        I51L,   32, 
        I60A,   32, 
        I60L,   32, 
        I61A,   32, 
        I61L,   32, 
        I70A,   32, 
        I70L,   32, 
        I71A,   32, 
        I71L,   32, 
        EM0A,   32, 
        EM0L,   32, 
        EM1A,   32, 
        EM1L,   32, 
        SI0A,   32, 
        SI0L,   32, 
        SI1A,   32, 
        SI1L,   32, 
        SD0A,   32, 
        SD0L,   32, 
        SD1A,   32, 
        SD1L,   32, 
        ISH0,   32, 
        ISH1,   32, 
        Offset (0x2A4), 
        Offset (0x2A8), 
        DPTE,   8, 
        THM0,   8, 
        THM1,   8, 
        THM2,   8, 
        THM3,   8, 
        THM4,   8, 
        CHGR,   8, 
        DDSP,   8, 
        DSOC,   8, 
        DPSR,   8, 
        DPCT,   32, 
        DPPT,   32, 
        DGC0,   32, 
        DGP0,   32, 
        DGC1,   32, 
        DGP1,   32, 
        DGC2,   32, 
        DGP2,   32, 
        DGC3,   32, 
        DGP3,   32, 
        DGC4,   32, 
        DGP4,   32, 
        DLPM,   8, 
        DSC0,   32, 
        DSC1,   32, 
        DSC2,   32, 
        DSC3,   32, 
        DSC4,   32, 
        DDBG,   8, 
        LPOE,   32, 
        LPPS,   32, 
        LPST,   32, 
        LPPC,   32, 
        LPPF,   32, 
        DPME,   8, 
        BCSL,   8, 
        RSVD,   8, 
        BTHS,   8, 
        TM2A,   32, 
        TM2L,   32, 
        PSSD,   8, 
        ITSA,   8, 
        S0IX,   8, 
        SDMD,   8, 
        EMVR,   8, 
        BMBD,   32, 
        FSAS,   8, 
        BDID,   8, 
        FBID,   8, 
        OTGM,   8, 
        STEP,   8, 
        SOCS,   8, 
        AMTE,   8, 
        ABC0,   8, 
        ABC1,   8, 
        ABC2,   8, 
        ABC3,   8, 
        ABC4,   8, 
        ABC5,   8, 
        DPHL,   8, 
        DPLL,   8, 
        DBAT,   8, 
        DTPM,   8, 
        RSV,    8, 
        PSDE,   8, 
        RSD2,   8, 
        MODS,   8, 
        WWEN,   8, 
        WWCR,   32, 
        WWPS,   32, 
        ABS0,   8, 
        ABS1,   8, 
        ABS2,   8, 
        ABS3,   8, 
        ABS4,   8, 
        ABS5,   8, 
        RCAM,   8, 
        ECAM,   8, 
        AUCD,   8, 
        BTHM,   8, 
        PMID,   8, 
        MPNL,   8, 
        VTSP,   16, 
        Offset (0x34E), 
        Offset (0x34F), 
        FMDM,   8, 
        SDVL,   8, 
        MLSD,   8, 
        SCDD,   8, 
        HPME,   8, 
        GPSD,   8, 
        PAVB,   32, 
        PAVL,   32, 
        NUSB,   8, 
        DSFG,   8, 
        DAMT,   8, 
        MODM,   8, 
        UBCB,   32, 
        PSSE,   8, 
        ISPE,   8
    }

    Method (ADBG, 1, Serialized)
    {
        Return (Zero)
    }

    Name (WAKP, Package (0x02)
    {
        Zero, 
        Zero
    })
    Name (SS1, Zero)
    Name (SS2, Zero)
    Name (SS3, Zero)
    Name (SS4, One)
    Name (IOST, 0xFFFF)
    Name (TOPM, 0x00000000)
    Name (ROMS, 0xFFE00000)
    Name (VGAF, One)
    Scope (_SB)
    {
        Name (PRSA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {3,4,5,6,10,11,12,14,15}
        })
        Alias (PRSA, PRSB)
        Alias (PRSA, PRSC)
        Alias (PRSA, PRSD)
        Alias (PRSA, PRSE)
        Alias (PRSA, PRSF)
        Alias (PRSA, PRSG)
        Alias (PRSA, PRSH)
        Name (PR00, Package (0x17)
        {
            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                Zero, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0010FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0011FFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                Zero, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0x0018FFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0018FFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0018FFFF, 
                0x03, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0018FFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                Zero, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                0x03, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                0x02, 
                LNKC, 
                Zero
            }
        })
        Name (AR00, Package (0x17)
        {
            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                Zero, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                Zero, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0010FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0011FFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                Zero, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0x0018FFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0018FFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0018FFFF, 
                0x03, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0018FFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                Zero, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                0x03, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                0x02, 
                Zero, 
                0x12
            }
        })
        Name (PR01, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR01, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PR02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PR03, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR03, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PR04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
    }

    Scope (_SB)
    {
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A08"))  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0A03"))  // _CID: Compatible ID
            Name (_ADR, Zero)  // _ADR: Address
            Method (^BN00, 0, NotSerialized)
            {
                Return (Zero)
            }

            Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
            {
                Return (BN00 ())
            }

            Name (_UID, Zero)  // _UID: Unique ID
            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (PICM)
                {
                    Return (AR00)
                }

                Return (PR00)
            }

            Device (CHVC)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (HBUS, PCI_Config, Zero, 0xFF)
                Field (HBUS, DWordAcc, NoLock, Preserve)
                {
                    Offset (0xD0), 
                    SMCR,   32, 
                    SMDR,   32, 
                    MCRX,   32, 
                    MCXX,   32
                }

                Method (RMBR, 2, Serialized)
                {
                    Or (ShiftLeft (Arg0, 0x10), ShiftLeft (Arg1, 0x08), Local0)
                    Or (0x100000F0, Local0, SMCR)
                    Return (SMDR)
                }

                Method (WMBR, 3, Serialized)
                {
                    Store (Arg2, SMDR)
                    Or (ShiftLeft (Arg0, 0x10), ShiftLeft (Arg1, 0x08), Local0)
                    Or (0x110000F0, Local0, SMCR)
                }

                Method (RMBX, 6, Serialized)
                {
                    And (Arg3, 0x07, Local4)
                    Store (ShiftLeft (Local4, 0x08), Local4)
                    Or (ShiftLeft (Arg4, 0x03), Arg5, Local5)
                    And (Local5, 0xFF, Local5)
                    Or (Local4, Local5, MCXX)
                    And (Arg1, 0xFFFFFF00, Local3)
                    Store (Local3, MCRX)
                    And (Arg1, 0xFF, Local0)
                    Or (ShiftLeft (Arg2, 0x18), ShiftLeft (Arg0, 0x10), Local1)
                    And (Local1, 0xFFFF0000, Local1)
                    Or (ShiftLeft (Local0, 0x08), 0xF0, Local2)
                    And (Local2, 0xFFFF, Local2)
                    Or (Local1, Local2, SMCR)
                    Return (SMDR)
                }

                Method (WMBX, 7, Serialized)
                {
                    And (Arg4, 0x07, Local4)
                    Store (ShiftLeft (Local4, 0x08), Local4)
                    Or (ShiftLeft (Arg5, 0x03), Arg6, Local5)
                    And (Local5, 0xFF, Local5)
                    Or (Local4, Local5, MCXX)
                    And (Arg1, 0xFFFFFF00, Local3)
                    Store (Local3, MCRX)
                    Store (Arg2, SMDR)
                    And (Arg1, 0xFF, Local0)
                    Or (ShiftLeft (Arg3, 0x18), ShiftLeft (Arg0, 0x10), Local1)
                    And (Local1, 0xFFFF0000, Local1)
                    Or (ShiftLeft (Local0, 0x08), 0xF0, Local2)
                    And (Local2, 0xFFFF, Local2)
                    Or (Local1, Local2, SMCR)
                }
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (FTSZ, 0x00100000)
                CreateDWordField (RES0, \_SB.PCI0._Y00._MIN, LPMN)  // _MIN: Minimum Base Address
                CreateDWordField (RES0, \_SB.PCI0._Y00._MAX, LPMX)  // _MAX: Maximum Base Address
                CreateDWordField (RES0, \_SB.PCI0._Y00._LEN, LPLN)  // _LEN: Length
                If (LAnd (LNotEqual (LPE2, Zero), LEqual (LPED, Zero)))
                {
                    Store (LPE2, LPMN)
                    Add (LPMN, LPLN, LPMX)
                    Subtract (LPMX, One, LPMX)
                }
                Else
                {
                    Store (Zero, LPMN)
                    Store (Zero, LPMX)
                    Store (Zero, LPLN)
                }

                CreateDWordField (RES0, \_SB.PCI0._Y01._MIN, ISMN)  // _MIN: Minimum Base Address
                CreateDWordField (RES0, \_SB.PCI0._Y01._MAX, ISMX)  // _MAX: Maximum Base Address
                CreateDWordField (RES0, \_SB.PCI0._Y01._LEN, ISLN)  // _LEN: Length
                If (LEqual (ISPD, One))
                {
                    Store (ISPA, ISMN)
                    Add (ISMN, ISLN, ISMX)
                    Subtract (ISMX, One, ISMX)
                }
                Else
                {
                    Store (Zero, ISMN)
                    Store (Zero, ISMX)
                    Store (Zero, ISLN)
                }

                CreateDWordField (RES0, \_SB.PCI0._Y02._MIN, M1MN)  // _MIN: Minimum Base Address
                CreateDWordField (RES0, \_SB.PCI0._Y02._MAX, M1MX)  // _MAX: Maximum Base Address
                CreateDWordField (RES0, \_SB.PCI0._Y02._LEN, M1LN)  // _LEN: Length
                And (BMBD, 0xFF000000, M1MN)
                Add (Subtract (M1MX, M1MN), One, M1LN)
                CreateDWordField (RES0, \_SB.PCI0._Y03._MIN, GSMN)  // _MIN: Minimum Base Address
                CreateDWordField (RES0, \_SB.PCI0._Y03._MAX, GSMX)  // _MAX: Maximum Base Address
                CreateDWordField (RES0, \_SB.PCI0._Y03._LEN, GSLN)  // _LEN: Length
                Store (^GFX0.GSTM, GSMN)
                ShiftLeft (^GFX0.GUMA, 0x19, GSLN)
                Add (GSMN, GSLN, GSMX)
                Subtract (GSMX, One, GSMX)
                Return (RES0)
            }

            Name (RES0, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x00FF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0100,             // Length
                    ,, )
                IO (Decode16,
                    0x0070,             // Range Minimum
                    0x0077,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                IO (Decode16,
                    0x0CF8,             // Range Minimum
                    0x0CF8,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x006F,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0070,             // Length
                    ,, , TypeStatic)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,             // Granularity
                    0x0078,             // Range Minimum
                    0x0CF7,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0C80,             // Length
                    ,, , TypeStatic)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,             // Granularity
                    0x0D00,             // Range Minimum
                    0xFFFF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0xF300,             // Length
                    ,, , TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000A0000,         // Range Minimum
                    0x000BFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C0000,         // Range Minimum
                    0x000DFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E0000,         // Range Minimum
                    0x000FFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x20000000,         // Range Minimum
                    0x201FFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00200000,         // Length
                    ,, _Y00, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x7A000000,         // Range Minimum
                    0x7A3FFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00400000,         // Length
                    ,, _Y01, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x7C000000,         // Range Minimum
                    0x7FFFFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x04000000,         // Length
                    ,, _Y03, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x80000000,         // Range Minimum
                    0xDFFFFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x60000000,         // Length
                    ,, _Y02, AddressRangeMemory, TypeStatic)
            })
            Name (GUID, Buffer (0x10)
            {
                /* 0000 */   0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
                /* 0008 */   0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
            })
            Name (SUPP, Zero)
            Name (CTRL, Zero)
            Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
            {
                Store (Arg3, Local0)
                CreateDWordField (Local0, Zero, CDW1)
                CreateDWordField (Local0, 0x04, CDW2)
                CreateDWordField (Local0, 0x08, CDW3)
                If (LEqual (Arg0, GUID))
                {
                    Store (CDW2, SUPP)
                    Store (CDW3, CTRL)
                    If (Not (And (CDW1, One)))
                    {
                        If (And (CTRL, 0x02))
                        {
                            NHPG ()
                        }

                        If (And (CTRL, 0x04))
                        {
                            NPME ()
                        }
                    }

                    If (LNotEqual (Arg1, One))
                    {
                        Or (CDW1, 0x08, CDW1)
                    }

                    If (LNotEqual (CDW3, CTRL))
                    {
                        Or (CDW1, 0x10, CDW1)
                    }

                    Store (CTRL, CDW3)
                    Store (CTRL, OSCC)
                    Return (Local0)
                }
                Else
                {
                    Or (CDW1, 0x04, CDW1)
                    Return (Local0)
                }
            }

            Device (GFX0)
            {
                Name (_ADR, 0x00020000)  // _ADR: Address
            }

            Device (ISP3)
            {
                Name (_ADR, 0x00030000)  // _ADR: Address
            }

            Device (LPCB)
            {
                Name (_ADR, 0x001F0000)  // _ADR: Address
                Scope (\_SB)
                {
                    OperationRegion (ILBR, SystemMemory, IBAS, 0x8C)
                    Field (ILBR, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x08), 
                        PARC,   8, 
                        PBRC,   8, 
                        PCRC,   8, 
                        PDRC,   8, 
                        PERC,   8, 
                        PFRC,   8, 
                        PGRC,   8, 
                        PHRC,   8, 
                        Offset (0x88), 
                            ,   4, 
                        UI4E,   1
                    }

                    Device (LNKA)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, One)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PARC, 0x80, PARC)
                        }

                        Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                        {
                            Return (PRSA)
                        }

                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLA, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLA, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PARC, 0x0F), IRQ0)
                            Return (RTLA)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PARC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PARC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKB)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x02)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PBRC, 0x80, PBRC)
                        }

                        Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                        {
                            Return (PRSB)
                        }

                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLB, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLB, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PBRC, 0x0F), IRQ0)
                            Return (RTLB)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PBRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PBRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKC)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x03)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PCRC, 0x80, PCRC)
                        }

                        Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                        {
                            Return (PRSC)
                        }

                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLC, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLC, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PCRC, 0x0F), IRQ0)
                            Return (RTLC)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PCRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PCRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKD)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x04)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PDRC, 0x80, PDRC)
                        }

                        Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                        {
                            Return (PRSD)
                        }

                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLD, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLD, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PDRC, 0x0F), IRQ0)
                            Return (RTLD)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PDRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PDRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKE)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x05)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PERC, 0x80, PERC)
                        }

                        Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                        {
                            Return (PRSE)
                        }

                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLE, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLE, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PERC, 0x0F), IRQ0)
                            Return (RTLE)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PERC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PERC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKF)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x06)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PFRC, 0x80, PFRC)
                        }

                        Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                        {
                            Return (PRSF)
                        }

                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLF, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLF, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PFRC, 0x0F), IRQ0)
                            Return (RTLF)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PFRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PFRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKG)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x07)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PGRC, 0x80, PGRC)
                        }

                        Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                        {
                            Return (PRSG)
                        }

                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLG, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLG, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PGRC, 0x0F), IRQ0)
                            Return (RTLG)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PGRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PGRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKH)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x08)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PHRC, 0x80, PHRC)
                        }

                        Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                        {
                            Return (PRSH)
                        }

                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLH, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLH, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PHRC, 0x0F), IRQ0)
                            Return (RTLH)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PHRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PHRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }
                }

                OperationRegion (LPC0, PCI_Config, Zero, 0xC0)
                Field (LPC0, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x08), 
                    SRID,   8, 
                    Offset (0x80), 
                    C1EN,   1, 
                    Offset (0x84)
                }

                Device (FWHD)
                {
                    Name (_HID, EisaId ("INT0800"))  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        Memory32Fixed (ReadOnly,
                            0xFF000000,         // Address Base
                            0x01000000,         // Address Length
                            )
                    })
                }

                Scope (\_SB)
                {
                    Device (RTC)
                    {
                        Name (_HID, EisaId ("PNP0B00"))  // _HID: Hardware ID
                        Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                        {
                            IO (Decode16,
                                0x0070,             // Range Minimum
                                0x0070,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                        })
                    }

                    Device (HPET)
                    {
                        Name (_HID, EisaId ("PNP0103"))  // _HID: Hardware ID
                        Name (_UID, Zero)  // _UID: Unique ID
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            Return (0x0F)
                        }

                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RBUF, ResourceTemplate ()
                            {
                                Memory32Fixed (ReadWrite,
                                    0xFED00000,         // Address Base
                                    0x00000400,         // Address Length
                                    )
                                Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
                                {
                                    0x00000008,
                                }
                            })
                            Name (GBUF, ResourceTemplate ()
                            {
                                Memory32Fixed (ReadWrite,
                                    0xFED00000,         // Address Base
                                    0x00000400,         // Address Length
                                    )
                                Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
                                {
                                    0x00000008,
                                }
                            })
                            If (LEqual (OSID, One))
                            {
                                Return (RBUF)
                            }

                            Return (GBUF)
                        }
                    }
                }

                Device (IPIC)
                {
                    Name (_HID, EisaId ("PNP0000"))  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0020,             // Range Minimum
                            0x0020,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0024,             // Range Minimum
                            0x0024,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0028,             // Range Minimum
                            0x0028,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x002C,             // Range Minimum
                            0x002C,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0030,             // Range Minimum
                            0x0030,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0034,             // Range Minimum
                            0x0034,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0038,             // Range Minimum
                            0x0038,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x003C,             // Range Minimum
                            0x003C,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A0,             // Range Minimum
                            0x00A0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A4,             // Range Minimum
                            0x00A4,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A8,             // Range Minimum
                            0x00A8,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00AC,             // Range Minimum
                            0x00AC,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B0,             // Range Minimum
                            0x00B0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B4,             // Range Minimum
                            0x00B4,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B8,             // Range Minimum
                            0x00B8,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00BC,             // Range Minimum
                            0x00BC,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x04D0,             // Range Minimum
                            0x04D0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {2}
                    })
                }

                Device (LDRC)
                {
                    Name (_HID, EisaId ("PNP0C02"))  // _HID: Hardware ID
                    Name (_UID, 0x02)  // _UID: Unique ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x004E,             // Range Minimum
                            0x004E,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0061,             // Range Minimum
                            0x0061,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0063,             // Range Minimum
                            0x0063,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0065,             // Range Minimum
                            0x0065,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0067,             // Range Minimum
                            0x0067,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0080,             // Range Minimum
                            0x0080,             // Range Maximum
                            0x01,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x0092,             // Range Minimum
                            0x0092,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x00B2,             // Range Minimum
                            0x00B2,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0680,             // Range Minimum
                            0x0680,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                        IO (Decode16,
                            0x0400,             // Range Minimum
                            0x0400,             // Range Maximum
                            0x01,               // Alignment
                            0x80,               // Length
                            )
                        IO (Decode16,
                            0x0500,             // Range Minimum
                            0x0500,             // Range Maximum
                            0x01,               // Alignment
                            0xFF,               // Length
                            )
                    })
                }

                Device (TIMR)
                {
                    Name (_HID, EisaId ("PNP0100"))  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x01,               // Alignment
                            0x04,               // Length
                            )
                        IO (Decode16,
                            0x0050,             // Range Minimum
                            0x0050,             // Range Maximum
                            0x10,               // Alignment
                            0x04,               // Length
                            )
                        IRQNoFlags ()
                            {0}
                    })
                }

                Device (IURT)
                {
                    Name (_HID, EisaId ("PNP0501"))  // _HID: Hardware ID
                    Name (_UID, One)  // _UID: Unique ID
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        If (LEqual (USEL, Zero))
                        {
                            Store (One, UI4E)
                            Store (One, C1EN)
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                    {
                        If (LAnd (LNotEqual (BDID, One), LAnd (LNotEqual (BDID, 
                            0x0A), LNotEqual (BDID, 0x09))))
                        {
                            Store (Zero, UI4E)
                            Store (Zero, C1EN)
                        }
                    }

                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        Name (BUF0, ResourceTemplate ()
                        {
                            IO (Decode16,
                                0x03F8,             // Range Minimum
                                0x03F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {4}
                        })
                        Return (BUF0)
                    }
                }
            }

            Device (PISH)
            {
                Name (_ADR, 0x000A0000)  // _ADR: Address
            }

            Device (D006)
            {
                Name (_ADR, 0x000B0000)  // _ADR: Address
            }

            Device (RP01)
            {
                Name (_ADR, 0x001C0000)  // _ADR: Address
                OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    L0SE,   1, 
                    Offset (0x11), 
                    Offset (0x12), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x1A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x1B), 
                    Offset (0x20), 
                    Offset (0x22), 
                    PSPX,   1, 
                    Offset (0x98), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0x9C), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                    {
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (PMSX)
                    {
                        Store (0xC8, Local0)
                        While (Local0)
                        {
                            Store (One, PMSX)
                            If (PMSX)
                            {
                                Decrement (Local0)
                            }
                            Else
                            {
                                Store (Zero, Local0)
                            }
                        }

                        Notify (PXSX, 0x02)
                    }
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }

                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (Zero)
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR01)
                    }

                    Return (PR01)
                }

                Device (D00B)
                {
                    Name (_ADR, 0xFF)  // _ADR: Address
                }
            }

            Device (RP02)
            {
                Name (_ADR, 0x001C0001)  // _ADR: Address
                OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    L0SE,   1, 
                    Offset (0x11), 
                    Offset (0x12), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x1A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x1B), 
                    Offset (0x20), 
                    Offset (0x22), 
                    PSPX,   1, 
                    Offset (0x98), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0x9C), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                    {
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
                        If (LEqual (Arg0, Buffer (0x10)
                                {
                                    /* 0000 */   0x1D, 0xE7, 0x30, 0x17, 0xDD, 0xE5, 0x34, 0x4A,
                                    /* 0008 */   0xBE, 0x57, 0x4D, 0x76, 0xB6, 0xA2, 0xFE, 0x37
                                }))
                        {
                            If (LEqual (Arg2, Zero))
                            {
                                If (LEqual (Arg1, Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03
                                    })
                                }
                                Else
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00
                                    })
                                }
                            }

                            If (LEqual (Arg2, One))
                            {
                                While (One)
                                {
                                    Store (DerefOf (Index (Arg3, Zero)), _T_0)
                                    If (LEqual (_T_0, Zero))
                                    {
                                        ^^^HIDD.HPEM (0x1B)
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, One))
                                        {
                                            ^^^HIDD.HPEM (0x0B)
                                        }
                                    }

                                    Break
                                }

                                Return (Zero)
                            }

                            Return (Zero)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (PMSX)
                    {
                        Store (0xC8, Local0)
                        While (Local0)
                        {
                            Store (One, PMSX)
                            If (PMSX)
                            {
                                Decrement (Local0)
                            }
                            Else
                            {
                                Store (Zero, Local0)
                            }
                        }

                        Notify (PXSX, 0x02)
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR02)
                    }

                    Return (PR02)
                }

                Device (D00C)
                {
                    Name (_ADR, 0xFF)  // _ADR: Address
                }
            }

            Device (RP03)
            {
                Name (_ADR, 0x001C0002)  // _ADR: Address
                OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    L0SE,   1, 
                    Offset (0x11), 
                    Offset (0x12), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x1A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x1B), 
                    Offset (0x20), 
                    Offset (0x22), 
                    PSPX,   1, 
                    Offset (0x98), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0x9C), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                    {
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (PMSX)
                    {
                        Store (0xC8, Local0)
                        While (Local0)
                        {
                            Store (One, PMSX)
                            If (PMSX)
                            {
                                Decrement (Local0)
                            }
                            Else
                            {
                                Store (Zero, Local0)
                            }
                        }

                        Notify (PXSX, 0x02)
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR03)
                    }

                    Return (PR03)
                }

                Device (D00D)
                {
                    Name (_ADR, 0xFF)  // _ADR: Address
                }
            }

            Device (RP04)
            {
                Name (_ADR, 0x001C0003)  // _ADR: Address
                OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    L0SE,   1, 
                    Offset (0x11), 
                    Offset (0x12), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x1A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x1B), 
                    Offset (0x20), 
                    Offset (0x22), 
                    PSPX,   1, 
                    Offset (0x98), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0x9C), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                    {
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (PMSX)
                    {
                        Store (0xC8, Local0)
                        While (Local0)
                        {
                            Store (One, PMSX)
                            If (PMSX)
                            {
                                Decrement (Local0)
                            }
                            Else
                            {
                                Store (Zero, Local0)
                            }
                        }

                        Notify (PXSX, 0x02)
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR04)
                    }

                    Return (PR04)
                }

                Device (D00E)
                {
                    Name (_ADR, 0xFF)  // _ADR: Address
                }
            }

            Device (D00F)
            {
                Name (_ADR, 0x00100000)  // _ADR: Address
            }

            Device (D010)
            {
                Name (_ADR, 0x00110000)  // _ADR: Address
            }

            Device (D011)
            {
                Name (_ADR, 0x00120000)  // _ADR: Address
            }

            Device (XHC1)
            {
                Name (_ADR, 0x00140000)  // _ADR: Address
            }

            Device (D013)
            {
                Name (_ADR, 0x00150000)  // _ADR: Address
            }

            Device (D014)
            {
                Name (_ADR, 0x00160000)  // _ADR: Address
            }

            Device (D015)
            {
                Name (_ADR, 0x00180000)  // _ADR: Address
            }

            Device (D016)
            {
                Name (_ADR, 0x00180001)  // _ADR: Address
            }

            Device (D017)
            {
                Name (_ADR, 0x00180002)  // _ADR: Address
            }

            Device (D018)
            {
                Name (_ADR, 0x00180003)  // _ADR: Address
            }

            Device (D019)
            {
                Name (_ADR, 0x00180004)  // _ADR: Address
            }

            Device (D01A)
            {
                Name (_ADR, 0x00180005)  // _ADR: Address
            }

            Device (D01B)
            {
                Name (_ADR, 0x00180006)  // _ADR: Address
            }

            Device (D01C)
            {
                Name (_ADR, 0x00180007)  // _ADR: Address
            }

            Device (SEC0)
            {
                Name (_ADR, 0x001A0000)  // _ADR: Address
            }

            Device (D01E)
            {
                Name (_ADR, 0x001E0000)  // _ADR: Address
            }

            Device (D01F)
            {
                Name (_ADR, 0x001E0001)  // _ADR: Address
            }

            Device (D020)
            {
                Name (_ADR, 0x001E0002)  // _ADR: Address
            }

            Device (D021)
            {
                Name (_ADR, 0x001E0003)  // _ADR: Address
            }

            Device (D022)
            {
                Name (_ADR, 0x001E0004)  // _ADR: Address
            }

            Device (D023)
            {
                Name (_ADR, 0x001E0005)  // _ADR: Address
            }

            Device (D024)
            {
                Name (_ADR, 0x001E0006)  // _ADR: Address
            }

            Device (D025)
            {
                Name (_ADR, 0x001E0007)  // _ADR: Address
            }
        }
    }

    Scope (_GPE)
    {
    }

    Name (_S0, Package (0x04)  // _S0_: S0 System State
    {
        Zero, 
        Zero, 
        Zero, 
        Zero
    })
    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)  // _PTS: Prepare To Sleep
    {
        If (Arg0)
        {
            \_SB.TPM.TPTS (Arg0)
            PPTS (Arg0)
        }
    }

    Method (_WAK, 1, NotSerialized)  // _WAK: Wake
    {
        PWAK (Arg0)
        Return (WAKP)
    }

    Scope (\)
    {
        OperationRegion (PMIO, SystemIO, PMBS, 0x46)
        Field (PMIO, ByteAcc, NoLock, Preserve)
        {
            Offset (0x01), 
            PWBS,   1, 
            Offset (0x20), 
                ,   13, 
            PMEB,   1, 
            Offset (0x30), 
                ,   4, 
            SLPE,   1, 
            Offset (0x34), 
                ,   4, 
            SLPS,   1, 
            Offset (0x35), 
            PM1S,   1, 
            Offset (0x42), 
                ,   1, 
            GPEC,   1
        }

        Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
        {
            Offset (0x20), 
                ,   4, 
            PSCI,   1, 
            SCIS,   1
        }

        OperationRegion (PMCR, SystemMemory, PMCB, 0x0100)
        Field (PMCR, DWordAcc, Lock, Preserve)
        {
            Offset (0x34), 
            L10D,   1, 
            L11D,   1, 
            L12D,   1, 
            L13D,   1, 
            L14D,   1, 
            L15D,   1, 
            L16D,   1, 
            L17D,   1, 
            SD1D,   1, 
            SD2D,   1, 
            SD3D,   1, 
                ,   1, 
                ,   1, 
            LPED,   1, 
            OTGD,   1, 
            Offset (0x36), 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            RP1D,   1, 
            RP2D,   1, 
            RP3D,   1, 
            RP4D,   1, 
            L20D,   1, 
            L21D,   1, 
            L22D,   1, 
            L23D,   1, 
            L24D,   1, 
            L25D,   1, 
            L26D,   1, 
            L27D,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            ISHD,   1, 
            Offset (0x3C), 
            Offset (0x60), 
            CKC0,   2, 
            CKF0,   1, 
            Offset (0x64), 
            CKC1,   2, 
            CKF1,   1, 
            Offset (0x68), 
            CKC2,   2, 
            CKF2,   1, 
            Offset (0x6C), 
            CKC3,   2, 
            CKF3,   1, 
            Offset (0x70), 
            CKC4,   2, 
            CKF4,   1, 
            Offset (0x74), 
            CKC5,   2, 
            CKF5,   1, 
            Offset (0x78), 
            Offset (0xA0), 
            PMCD,   32, 
            Offset (0xEC), 
            PMCC,   32
        }

        OperationRegion (PPSC, SystemMemory, PMCP, 0x08)
        Field (PPSC, DWordAcc, Lock, Preserve)
        {
            DM1P,   1, 
            PW1P,   1, 
            PW2P,   1, 
            UR1P,   1, 
            UR2P,   1, 
            SP1P,   1, 
            SP2P,   1, 
            SP3P,   1, 
            EMMP,   1, 
            SDI1,   1, 
            SDI2,   1, 
                ,   2, 
            LPEP,   1, 
                ,   1, 
            Offset (0x02), 
                ,   1, 
            SATP,   1, 
            USBP,   1, 
            SECP,   1, 
            PRP1,   1, 
            PRP2,   1, 
            PRP3,   1, 
            PRP4,   1, 
            DM2P,   1, 
            IC1P,   1, 
            IC2P,   1, 
            IC3P,   1, 
            IC4P,   1, 
            IC5P,   1, 
            IC6P,   1, 
            IC7P,   1, 
                ,   2, 
            ISHP,   1, 
            Offset (0x08)
        }
    }

    Scope (_SB.PCI0)
    {
        Scope (XHC1)
        {
            Name (_DDN, "Baytrail XHCI controller (CCG core/Host only)")  // _DDN: DOS Device Name
            Name (XHD3, Zero)
            Name (XCD3, Zero)
            Name (_STR, Unicode ("Baytrail XHCI controller (CCG core/Host only)"))  // _STR: Description String
            Name (MSET, Zero)
            Name (DDST, Zero)
            Name (XFLT, Zero)
            Method (MINF, 0, NotSerialized)
            {
                If (LEqual (OSID, 0x04))
                {
                    Return (Package (0x03)
                    {
                        PSSE, 
                        0x05, 
                        MODM
                    })
                }
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
            }

            OperationRegion (XHOP, SystemMemory, 0xE00A0000, 0x40)
            Field (XHOP, DWordAcc, NoLock, Preserve)
            {
                Offset (0x10), 
                XBAR,   32
            }

            OperationRegion (XOP1, SystemMemory, XBAR, 0x884C)
            Field (XOP1, DWordAcc, NoLock, Preserve)
            {
                Offset (0x52C), 
                CCS,    1, 
                    ,   4, 
                PLS,    4, 
                PP,     1, 
                Offset (0x869C), 
                    ,   18, 
                D3HE,   1, 
                Offset (0x8808), 
                    ,   30, 
                S1PD,   1, 
                S1PU,   1
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xB7, 0x0C, 0x34, 0xAC, 0x01, 0xE9, 0xBF, 0x45,
                            /* 0008 */   0xB7, 0xE6, 0x2B, 0x34, 0xEC, 0x93, 0x1E, 0x23
                        }))
                {
                    If (LEqual (Arg1, 0x03))
                    {
                        Store (Arg1, XFLT)
                    }

                    If (LEqual (Arg1, 0x05))
                    {
                        If (LEqual (PSSE, One))
                        {
                            Store (Zero, XCD3)
                            If (LEqual (XHD3, One))
                            {
                                Store (Zero, XHD3)
                                Store (Zero, D3HE)
                            }

                            If (LOr (LOr (LEqual (CCS, Zero), LEqual (PP, Zero)), LAnd (
                                LGreaterEqual (PLS, 0x04), LLessEqual (PLS, 0x0F))))
                            {
                                Store (Zero, D3HE)
                            }
                            Else
                            {
                                Store (One, D3HE)
                            }
                        }
                    }

                    If (LEqual (Arg1, 0x06))
                    {
                        If (LEqual (PSSE, One))
                        {
                            Store (One, XCD3)
                            If (LOr (LOr (LEqual (CCS, Zero), LEqual (PP, Zero)), LAnd (
                                LGreaterEqual (PLS, 0x04), LLessEqual (PLS, 0x0F))))
                            {
                                Store (Zero, D3HE)
                                Notify (XHC1, 0x02)
                            }
                            Else
                            {
                                Store (One, D3HE)
                            }
                        }
                    }
                }
            }

            Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
            {
                If (LOr (LEqual (OSID, 0x02), LEqual (OSID, 0x04)))
                {
                    Return (0x03)
                }

                If (LEqual (XFLT, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (UBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0007
                        }
                })
                Name (WBUF, ResourceTemplate ()
                {
                })
                If (LAnd (LNotEqual (BDID, One), LOr (LEqual (OSID, 0x02), 
                    LEqual (OSID, 0x04))))
                {
                    Return (UBUF)
                }
                Else
                {
                    Return (WBUF)
                }
            }

            OperationRegion (XHCR, PCI_Config, 0x75, One)
            Field (XHCR, ByteAcc, NoLock, WriteAsZeros)
            {
                PMEE,   1, 
                    ,   6, 
                PMES,   1
            }

            Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
            {
                Return (Zero)
            }

            Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
            {
            }

            Name (IPRW, Package (0x02)
            {
                0x0D, 
                0x04
            })
            Method (_PR3, 0, NotSerialized)  // _PR3: Power Resources for D3hot
            {
                Return (Package (0x01)
                {
                    USBC
                })
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LNotEqual (XHCI, Zero))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            OperationRegion (XPRT, PCI_Config, 0xD0, 0x10)
            Field (XPRT, DWordAcc, NoLock, Preserve)
            {
                PR2,    32, 
                PR2M,   32, 
                PR3,    32, 
                PR3M,   32
            }

            Device (RHUB)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Method (TPLD, 2, Serialized)
                {
                    Name (PCKG, Package (0x01)
                    {
                        Buffer (0x10) {}
                    })
                    CreateField (DerefOf (Index (PCKG, Zero)), Zero, 0x07, REV)
                    Store (One, REV)
                    CreateField (DerefOf (Index (PCKG, Zero)), 0x40, One, VISI)
                    Store (Arg0, VISI)
                    CreateField (DerefOf (Index (PCKG, Zero)), 0x57, 0x08, GPOS)
                    Store (Arg1, GPOS)
                    CreateField (DerefOf (Index (PCKG, Zero)), 0x4A, 0x04, SHAP)
                    Store (One, SHAP)
                    CreateField (DerefOf (Index (PCKG, Zero)), 0x20, 0x10, WID)
                    Store (0x08, WID)
                    CreateField (DerefOf (Index (PCKG, Zero)), 0x30, 0x10, HGT)
                    Store (0x03, HGT)
                    Return (PCKG)
                }

                Device (SSP1)
                {
                    Name (_ADR, 0x08)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x06, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x4B, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }
                }

                Device (HS01)
                {
                    Name (_ADR, One)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x06, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x4B, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }
                }

                Device (SSP2)
                {
                    Name (_ADR, 0x09)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCD, Package (0x04)
                        {
                            Zero, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (UPCR, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        If (LEqual (NUSB, One))
                        {
                            Return (UPCD)
                        }
                        Else
                        {
                            If (LEqual (BDID, 0x02))
                            {
                                Return (UPCR)
                            }
                            Else
                            {
                                Return (UPCP)
                            }
                        }
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x43, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Name (PLDR, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        If (LEqual (BDID, 0x02))
                        {
                            Return (PLDR)
                        }
                        Else
                        {
                            Return (PLDP)
                        }
                    }
                }

                Device (HS02)
                {
                    Name (_ADR, 0x02)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCD, Package (0x04)
                        {
                            Zero, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (UPCR, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        If (LEqual (NUSB, One))
                        {
                            Return (UPCD)
                        }
                        Else
                        {
                            If (LEqual (BDID, 0x02))
                            {
                                Return (UPCR)
                            }
                            Else
                            {
                                Return (UPCP)
                            }
                        }
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x43, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Name (PLDR, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        If (LEqual (BDID, 0x02))
                        {
                            Return (PLDR)
                        }
                        Else
                        {
                            Return (PLDP)
                        }
                    }
                }

                Device (SSP3)
                {
                    Name (_ADR, 0x0A)  // _ADR: Address
                    Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                    Name (_DEP, Package (0x02)  // _DEP: Dependencies
                    {
                        GPO1, 
                        ^^^I2C7.PMIC
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (LEqual (PMID, Zero))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x30, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }
                }

                Device (HS03)
                {
                    Name (_ADR, 0x03)  // _ADR: Address
                    Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                    Name (_DEP, Package (0x02)  // _DEP: Dependencies
                    {
                        GPO1, 
                        ^^^I2C7.PMIC
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (LEqual (PMID, Zero))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
                    Field (BAD0, DWordAcc, NoLock, Preserve)
                    {
                        MRB0,   32, 
                        MRB1,   32
                    }

                    OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
                    Field (BAD1, DWordAcc, NoLock, Preserve)
                    {
                        MRP0,   32, 
                        MRP1,   32
                    }

                    PowerResource (WWPR, 0x00, 0x0000)
                    {
                        Name (_DEP, Package (0x02)  // _DEP: Dependencies
                        {
                            GPO1, 
                            ^^^^I2C7.PMIC
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            If (LEqual (^^^^^I2C7.PMIC.AVBG, One))
                            {
                                Return (^^^^^I2C7.PMIC.MOXX)
                            }

                            Return (Zero)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                            If (LEqual (FMDM, Zero))
                            {
                                If (LEqual (OSID, One))
                                {
                                    If (LEqual (^^^^^I2C7.PMIC.AVBG, One))
                                    {
                                        Store (One, ^^^^^I2C7.PMIC.MOXX)
                                        Stall (0x0A)
                                    }

                                    If (LEqual (\_SB.GPO1.AVBL, One))
                                    {
                                        Store (One, \_SB.GPO1.MRD3)
                                        Stall (0x0A)
                                        Store (Zero, \_SB.GPO1.MPD3)
                                        Stall (0x0A)
                                        Store (One, \_SB.GPO1.MPD3)
                                        Stall (0x5B)
                                        Store (Zero, \_SB.GPO1.MPD3)
                                    }
                                    Else
                                    {
                                        And (MRB0, 0xFFFFFFFD, MRB0)
                                        Or (MRB0, 0x02, MRB0)
                                        Stall (0x0A)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, Zero, MRP0)
                                        Stall (0x0A)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, 0x02, MRP0)
                                        Stall (0x5B)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, Zero, MRP0)
                                    }
                                }
                            }
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                        }
                    }

                    Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                    {
                        WWPR
                    })
                    Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                    {
                        WWPR
                    })
                    Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                    {
                        WWPR
                    })
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                    {
                        Return (Zero)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x30, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }

                    Device (MDM1)
                    {
                        Name (_ADR, 0x03)  // _ADR: Address
                        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                        {
                            WWPR
                        })
                        Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                        {
                            WWPR
                        })
                        Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                        {
                            WWPR
                        })
                    }
                }

                Device (HS13)
                {
                    Name (_ADR, 0x03)  // _ADR: Address
                    Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                    Name (_DEP, Package (0x02)  // _DEP: Dependencies
                    {
                        GPO1, 
                        ^^^I2C7.PMI5
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (LEqual (PMID, 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    OperationRegion (BADR, SystemMemory, 0xFED8C410, 0x08)
                    Field (BADR, DWordAcc, NoLock, Preserve)
                    {
                        MRB0,   32, 
                        MRB1,   32
                    }

                    OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
                    Field (BAD1, DWordAcc, NoLock, Preserve)
                    {
                        MRP0,   32, 
                        MRP1,   32
                    }

                    PowerResource (WWPR, 0x00, 0x0000)
                    {
                        Name (_DEP, Package (0x02)  // _DEP: Dependencies
                        {
                            GPO1, 
                            ^^^^I2C7.PMI5
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            If (LAnd (LEqual (OSID, One), LEqual (^^^^^I2C7.PMI5.AVBG, One)))
                            {
                                Return (^^^^^I2C7.PMI5.MOXX)
                            }

                            Return (Zero)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                            If (LEqual (FMDM, Zero))
                            {
                                If (LEqual (OSID, One))
                                {
                                    If (LEqual (^^^^^I2C7.PMI5.AVBG, One))
                                    {
                                        Store (One, ^^^^^I2C7.PMI5.MOXX)
                                        Stall (0x0A)
                                    }

                                    If (LEqual (\_SB.GPO1.AVBL, One))
                                    {
                                        Store (One, \_SB.GPO1.MRD3)
                                        Stall (0x0A)
                                        Store (Zero, \_SB.GPO1.MPD3)
                                        Stall (0x0A)
                                        Store (One, \_SB.GPO1.MPD3)
                                        Stall (0x5B)
                                        Store (Zero, \_SB.GPO1.MPD3)
                                    }
                                    Else
                                    {
                                        And (MRB0, 0xFFFFFFFD, MRB0)
                                        Or (MRB0, 0x02, MRB0)
                                        Stall (0x0A)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, Zero, MRP0)
                                        Stall (0x0A)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, 0x02, MRP0)
                                        Stall (0x5B)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, Zero, MRP0)
                                    }
                                }
                            }
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                        }
                    }

                    Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                    {
                        WWPR
                    })
                    Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                    {
                        WWPR
                    })
                    Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                    {
                        WWPR
                    })
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                    {
                        Return (Zero)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x30, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }

                    Device (MDM1)
                    {
                        Name (_ADR, 0x03)  // _ADR: Address
                        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                        {
                            WWPR
                        })
                        Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                        {
                            WWPR
                        })
                        Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                        {
                            WWPR
                        })
                    }
                }

                Device (SSP4)
                {
                    Name (_ADR, 0x0B)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x31, 0x08, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }
                }

                Device (HS04)
                {
                    Name (_ADR, 0x04)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x31, 0x08, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }
                }

                Device (SSC2)
                {
                    Name (_ADR, 0x0D)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x30, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }
                }

                Device (HSC2)
                {
                    Name (_ADR, 0x07)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x30, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }
                }

                Device (SSC1)
                {
                    Name (_ADR, 0x0C)  // _ADR: Address
                    Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                    Name (_DEP, Package (0x02)  // _DEP: Dependencies
                    {
                        GPO1, 
                        ^^^I2C7.PMIC
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (LEqual (PMID, Zero))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
                    Field (BAD0, DWordAcc, NoLock, Preserve)
                    {
                        MRB0,   32, 
                        MRB1,   32
                    }

                    OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
                    Field (BAD1, DWordAcc, NoLock, Preserve)
                    {
                        MRP0,   32, 
                        MRP1,   32
                    }

                    PowerResource (WWPR, 0x00, 0x0000)
                    {
                        Name (_DEP, Package (0x02)  // _DEP: Dependencies
                        {
                            GPO1, 
                            ^^^^I2C7.PMIC
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            If (LEqual (^^^^^I2C7.PMIC.AVBG, One))
                            {
                                Return (^^^^^I2C7.PMIC.MOXX)
                            }

                            Return (Zero)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                            If (LEqual (PSSE, One))
                            {
                                Store (Zero, D3HE)
                            }

                            If (LEqual (OSID, 0x04))
                            {
                                If (LEqual (^^^^^I2C7.PMIC.AVBG, One))
                                {
                                    If (LEqual (\_SB.GPO1.AVBL, One))
                                    {
                                        Store (Zero, \_SB.GPO1.MRD3)
                                        Sleep (One)
                                        Store (Zero, ^^^^^I2C7.PMIC.MOXX)
                                        Sleep (One)
                                    }
                                }
                            }
                        }
                    }

                    Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                    {
                        WWPR
                    })
                    Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                    {
                        WWPR
                    })
                    Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                    {
                        WWPR
                    })
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x30, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }

                    Device (MDM3)
                    {
                        Name (_ADR, 0x0C)  // _ADR: Address
                        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                        {
                            WWPR
                        })
                        Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                        {
                            WWPR
                        })
                        Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                        {
                            WWPR
                        })
                    }
                }

                Device (SSCW)
                {
                    Name (_ADR, 0x0C)  // _ADR: Address
                    Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                    Name (_DEP, Package (0x02)  // _DEP: Dependencies
                    {
                        GPO1, 
                        ^^^I2C7.PMI5
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (LEqual (PMID, 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
                    Field (BAD0, DWordAcc, NoLock, Preserve)
                    {
                        MRB0,   32, 
                        MRB1,   32
                    }

                    OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
                    Field (BAD1, DWordAcc, NoLock, Preserve)
                    {
                        MRP0,   32, 
                        MRP1,   32
                    }

                    PowerResource (WWPR, 0x00, 0x0000)
                    {
                        Name (_DEP, Package (0x02)  // _DEP: Dependencies
                        {
                            GPO1, 
                            ^^^^I2C7.PMI5
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            If (LEqual (^^^^^I2C7.PMI5.AVBG, One))
                            {
                                Return (^^^^^I2C7.PMI5.MOXX)
                            }

                            Return (Zero)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                            If (LEqual (PSSE, One))
                            {
                                Store (Zero, D3HE)
                            }

                            If (LEqual (OSID, 0x04))
                            {
                                If (LEqual (^^^^^I2C7.PMI5.AVBG, One))
                                {
                                    If (LEqual (\_SB.GPO1.AVBL, One))
                                    {
                                        Store (Zero, \_SB.GPO1.MRD3)
                                        Sleep (One)
                                        Store (Zero, ^^^^^I2C7.PMI5.MOXX)
                                        Sleep (One)
                                    }
                                }
                            }
                        }
                    }

                    Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                    {
                        WWPR
                    })
                    Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                    {
                        WWPR
                    })
                    Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                    {
                        WWPR
                    })
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x30, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }

                    Device (MDM3)
                    {
                        Name (_ADR, 0x0C)  // _ADR: Address
                        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                        {
                            WWPR
                        })
                        Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                        {
                            WWPR
                        })
                        Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                        {
                            WWPR
                        })
                    }
                }

                Device (HSC1)
                {
                    Name (_ADR, 0x06)  // _ADR: Address
                    Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                    Name (_DEP, Package (0x02)  // _DEP: Dependencies
                    {
                        GPO1, 
                        ^^^I2C7.PMIC
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (LEqual (PMID, Zero))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    OperationRegion (BADR, SystemMemory, 0xFED8C410, 0x08)
                    Field (BADR, DWordAcc, NoLock, Preserve)
                    {
                        MRB0,   32, 
                        MRB1,   32
                    }

                    OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
                    Field (BAD1, DWordAcc, NoLock, Preserve)
                    {
                        MRP0,   32, 
                        MRP1,   32
                    }

                    PowerResource (WWPR, 0x00, 0x0000)
                    {
                        Name (_DEP, Package (0x02)  // _DEP: Dependencies
                        {
                            GPO1, 
                            ^^^^I2C7.PMIC
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            If (LAnd (LEqual (OSID, One), LEqual (^^^^^I2C7.PMIC.AVBG, One)))
                            {
                                Return (^^^^^I2C7.PMIC.MOXX)
                            }

                            Return (Zero)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                            If (LEqual (FMDM, Zero))
                            {
                                If (LEqual (OSID, One))
                                {
                                    If (LEqual (^^^^^I2C7.PMIC.AVBG, One))
                                    {
                                        Store (One, ^^^^^I2C7.PMIC.MOXX)
                                        Stall (0x0A)
                                    }

                                    If (LEqual (\_SB.GPO1.AVBL, One))
                                    {
                                        Store (One, \_SB.GPO1.MRD3)
                                        Stall (0x0A)
                                        Store (Zero, \_SB.GPO1.MPD3)
                                        Stall (0x0A)
                                        Store (One, \_SB.GPO1.MPD3)
                                        Stall (0x5B)
                                        Store (Zero, \_SB.GPO1.MPD3)
                                    }
                                    Else
                                    {
                                        And (MRB0, 0xFFFFFFFD, MRB0)
                                        Or (MRB0, 0x02, MRB0)
                                        Stall (0x0A)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, Zero, MRP0)
                                        Stall (0x0A)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, 0x02, MRP0)
                                        Stall (0x5B)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, Zero, MRP0)
                                    }
                                }
                            }
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                        }
                    }

                    Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                    {
                        WWPR
                    })
                    Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                    {
                        WWPR
                    })
                    Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                    {
                        WWPR
                    })
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x30, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }

                    Device (MDM2)
                    {
                        Name (_ADR, 0x06)  // _ADR: Address
                        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                        {
                            WWPR
                        })
                        Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                        {
                            WWPR
                        })
                        Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                        {
                            WWPR
                        })
                    }
                }

                Device (HSC3)
                {
                    Name (_ADR, 0x06)  // _ADR: Address
                    Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                    Name (_DEP, Package (0x02)  // _DEP: Dependencies
                    {
                        GPO1, 
                        ^^^I2C7.PMI5
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (LEqual (PMID, 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
                    Field (BAD0, DWordAcc, NoLock, Preserve)
                    {
                        MRB0,   32, 
                        MRB1,   32
                    }

                    OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
                    Field (BAD1, DWordAcc, NoLock, Preserve)
                    {
                        MRP0,   32, 
                        MRP1,   32
                    }

                    PowerResource (WWPR, 0x00, 0x0000)
                    {
                        Name (_DEP, Package (0x02)  // _DEP: Dependencies
                        {
                            GPO1, 
                            ^^^^I2C7.PMI5
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            If (LAnd (LEqual (OSID, One), LEqual (^^^^^I2C7.PMI5.AVBG, One)))
                            {
                                Return (^^^^^I2C7.PMI5.MOXX)
                            }

                            Return (Zero)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                            If (LEqual (FMDM, Zero))
                            {
                                If (LEqual (OSID, One))
                                {
                                    If (LEqual (^^^^^I2C7.PMI5.AVBG, One))
                                    {
                                        Store (One, ^^^^^I2C7.PMI5.MOXX)
                                        Stall (0x0A)
                                    }

                                    If (LEqual (\_SB.GPO1.AVBL, One))
                                    {
                                        Store (One, \_SB.GPO1.MRD3)
                                        Stall (0x0A)
                                        Store (Zero, \_SB.GPO1.MPD3)
                                        Stall (0x0A)
                                        Store (One, \_SB.GPO1.MPD3)
                                        Stall (0x5B)
                                        Store (Zero, \_SB.GPO1.MPD3)
                                    }
                                    Else
                                    {
                                        And (MRB0, 0xFFFFFFFD, MRB0)
                                        Or (MRB0, 0x02, MRB0)
                                        Stall (0x0A)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, Zero, MRP0)
                                        Stall (0x0A)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, 0x02, MRP0)
                                        Stall (0x5B)
                                        And (MRP0, 0xFFFFFFFD, MRP0)
                                        Or (MRP0, Zero, MRP0)
                                    }
                                }
                            }
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                        }
                    }

                    Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                    {
                        WWPR
                    })
                    Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                    {
                        WWPR
                    })
                    Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                    {
                        WWPR
                    })
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }

                    Device (MDM4)
                    {
                        Name (_ADR, 0x06)  // _ADR: Address
                        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                        {
                            WWPR
                        })
                        Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
                        {
                            WWPR
                        })
                        Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
                        {
                            WWPR
                        })
                    }
                }

                Device (HS05)
                {
                    Name (_ADR, 0x05)  // _ADR: Address
                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                    {
                        Name (UPCP, Package (0x04)
                        {
                            Zero, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x14)
                            {
                                /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */   0x00, 0x19, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00,
                                /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                            }
                        })
                        Return (PLDP)
                    }
                }
            }
        }

        Device (OTG1)
        {
            Name (_ADR, 0x00160000)  // _ADR: Address
            Name (_DDN, "Baytrail XHCI controller (Synopsys core/OTG)")  // _DDN: DOS Device Name
            Name (_STR, Unicode ("Baytrail XHCI controller (Synopsys core/OTG)"))  // _STR: Description String
            Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
            OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
            Field (PMEB, WordAcc, NoLock, Preserve)
            {
                Offset (0x01), 
                PMEE,   1, 
                    ,   6, 
                PMES,   1
            }

            OperationRegion (GENR, PCI_Config, 0xA0, 0x10)
            Field (GENR, WordAcc, NoLock, Preserve)
            {
                    ,   18, 
                CPME,   1, 
                U2EN,   1, 
                U3EN,   1
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Store (One, CPME)
                Store (One, U2EN)
                Store (One, U3EN)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                Store (Zero, CPME)
                Store (Zero, U2EN)
                Store (Zero, U3EN)
            }

            Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
            {
            }

            Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
            {
                Return (Zero)
            }

            Method (_PR3, 0, NotSerialized)  // _PR3: Power Resources for D3hot
            {
                Return (Package (0x01)
                {
                    USBC
                })
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LNotEqual (OTGM, Zero))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (SMBC, 2, NotSerialized)
            {
                Name (BUFF, Buffer (0x03)
                {
                     0x00, 0x01, 0x00
                })
                CreateByteField (BUFF, Zero, BYAT)
                CreateByteField (BUFF, 0x02, DATA)
                If (LEqual (Arg0, Zero))
                {
                    Store (0x50, DATA)
                    Store (BUFF, ^^I2C1.BC00)
                }
                Else
                {
                    Store (0x51, DATA)
                    Store (BUFF, ^^I2C1.BC00)
                }

                Store (^^I2C1.BC01, BUFF)
                And (DATA, 0xFD, DATA)
                Store (BUFF, ^^I2C1.BC01)
                If (LEqual (Arg1, Zero))
                {
                    Store (^^I2C1.BC31, BUFF)
                    And (DATA, 0xFB, DATA)
                    Store (BUFF, ^^I2C1.BC31)
                }
                Else
                {
                    Store (^^I2C1.BC31, BUFF)
                    Or (DATA, 0x04, DATA)
                    Store (BUFF, ^^I2C1.BC31)
                }
            }

            Method (TIBC, 2, NotSerialized)
            {
                If (LEqual (Arg0, Zero))
                {
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x38)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
                    ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                }
                Else
                {
                    If (LEqual (Arg0, One))
                    {
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x39)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
                        ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x02))
                        {
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3A)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
                            ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                        }
                        Else
                        {
                            If (LEqual (Arg0, 0x03))
                            {
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
                                ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
                            }
                        }
                    }
                }
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xA9, 0xAF, 0xA3, 0xEA, 0x69, 0x64, 0x15, 0x40,
                            /* 0008 */   0x90, 0x41, 0xA8, 0x36, 0x34, 0xA7, 0xFA, 0x2D
                        }))
                {
                    If (LEqual (Arg2, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg2, One))
                    {
                        Return (One)
                    }
                }

                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xA0, 0x8A, 0x52, 0xE2, 0x63, 0x88, 0xF4, 0x48,
                            /* 0008 */   0xAA, 0x40, 0x86, 0x5E, 0x05, 0x90, 0x24, 0x49
                        }))
                {
                    If (LEqual (BDID, 0x08))
                    {
                        Store (^^I2C7.BATC.PSRC (), Local0)
                    }
                    Else
                    {
                        If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                        {
                            Store (^^I2C7.WIDR.PSRC (), Local0)
                        }
                        Else
                        {
                            Store (^^I2C1.BATC.PSRC (), Local0)
                        }
                    }

                    If (LEqual (Arg2, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg2, One))
                    {
                        If (LEqual (Local0, One))
                        {
                            Return (0x03)
                        }

                        If (LEqual (Local0, 0x02))
                        {
                            Return (Zero)
                        }

                        If (LEqual (Local0, 0x03))
                        {
                            Return (0x02)
                        }

                        If (LEqual (Local0, 0x04))
                        {
                            Return (One)
                        }

                        If (LEqual (Local0, 0x05))
                        {
                            Return (0x04)
                        }

                        If (LEqual (Local0, Zero))
                        {
                            Return (0x05)
                        }
                    }
                }

                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xB6, 0x0D, 0x09, 0xB2, 0x35, 0x91, 0xF6, 0x4E,
                            /* 0008 */   0xBD, 0x18, 0xD5, 0x59, 0x0D, 0xDA, 0x90, 0xBE
                        }))
                {
                    Name (BUFF, Buffer (0x03)
                    {
                         0x00, 0x01, 0x00
                    })
                    CreateByteField (BUFF, Zero, BYAT)
                    CreateByteField (BUFF, 0x02, DATA)
                    If (LEqual (Arg2, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg2, One))
                    {
                        If (LEqual (BDID, 0x03))
                        {
                            SMBC (Zero, Zero)
                        }
                        Else
                        {
                            If (LOr (LEqual (BDID, 0x08), LOr (LEqual (BDID, 0x09), LEqual (
                                BDID, 0x0A))))
                            {
                                TIBC (Zero, Zero)
                            }
                        }
                    }

                    If (LEqual (Arg2, 0x02))
                    {
                        If (LEqual (BDID, 0x03))
                        {
                            SMBC (Zero, Zero)
                        }
                        Else
                        {
                            If (LOr (LEqual (BDID, 0x08), LOr (LEqual (BDID, 0x09), LEqual (
                                BDID, 0x0A))))
                            {
                                TIBC (0x02, Zero)
                            }
                        }
                    }

                    If (LEqual (Arg2, 0x03))
                    {
                        If (LEqual (BDID, 0x03))
                        {
                            SMBC (Zero, One)
                        }
                        Else
                        {
                            If (LOr (LEqual (BDID, 0x08), LOr (LEqual (BDID, 0x09), LEqual (
                                BDID, 0x0A))))
                            {
                                TIBC (One, One)
                            }
                        }
                    }

                    If (LEqual (Arg2, 0x04))
                    {
                        If (LEqual (BDID, 0x03))
                        {
                            SMBC (One, One)
                        }
                        Else
                        {
                            If (LOr (LEqual (BDID, 0x08), LOr (LEqual (BDID, 0x09), LEqual (
                                BDID, 0x0A))))
                            {
                                TIBC (0x03, One)
                            }
                        }
                    }

                    If (LEqual (Arg2, 0x05))
                    {
                        If (LEqual (BDID, 0x03))
                        {
                            Store (^^I2C1.BC30, BUFF)
                            Store (DATA, Local0)
                            And (Local0, 0xFF, Local1)
                            Or (Local1, 0x04, DATA)
                            Store (BUFF, ^^I2C1.BC30)
                            Return (BYAT)
                        }
                    }
                }
            }
        }

        Device (OTG2)
        {
            Name (_HID, "INT3496")  // _HID: Hardware ID
            Name (_CID, "INT3496")  // _CID: Compatible ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LEqual (BDID, One), LNotEqual (OSID, One)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (ABUF, ResourceTemplate ()
                {
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0003
                        }
                })
                Return (ABUF)
            }
        }

        Device (GPTC)
        {
            Name (_HID, "GPTC0001")  // _HID: Hardware ID
            Name (_CID, "GPTC0001")  // _CID: Compatible ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LNotEqual (OSID, One), LOr (LEqual (BDID, 0x09), 
                    LEqual (BDID, 0x0A))))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (ABUF, ResourceTemplate ()
                {
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0002
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0003
                        }
                })
                Return (ABUF)
            }
        }

        Device (PEPD)
        {
            Name (_HID, "INT33A4")  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0D80"))  // _CID: Compatible ID
            Name (_UID, One)  // _UID: Unique ID
            Name (CDMP, Package (0x02) {})
            Name (DEVY, Package (0x17)
            {
                Package (0x03)
                {
                    "\\_PR.CPU0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU1", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU2", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU3", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.GFX0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C4", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C5", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C6", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C7", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.XHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SEC0", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.LPEA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHB", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHC", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }
            })
            Name (DEVL, Package (0x17)
            {
                Package (0x03)
                {
                    "\\_PR.CPU0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU1", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU2", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU3", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.GFX0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C4", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C5", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C6", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C7", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.XHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SEC0", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.LPEA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHB", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }
            })
            Name (BUF0, Package (0x18)
            {
                Package (0x03)
                {
                    "\\_PR.CPU0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU1", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU2", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU3", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.GFX0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C4", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C5", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C6", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C7", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.XHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SEC0", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.LPEA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHB", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C2.RTKC", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }
            })
            Name (BUF2, Package (0x18)
            {
                Package (0x03)
                {
                    "\\_PR.CPU0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU1", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU2", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU3", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.GFX0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C4", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C5", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C6", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C7", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.XHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SEC0", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.LPEA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHB", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.RP01.PXSX", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            0x03
                        }
                    }
                }
            })
            Name (DEHY, Package (0x16)
            {
                Package (0x03)
                {
                    "\\_PR.CPU0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU1", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU2", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU3", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.GFX0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C4", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C5", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C6", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C7", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.XHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SEC0", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.LPEA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHC", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }
            })
            Name (DEHL, Package (0x16)
            {
                Package (0x03)
                {
                    "\\_PR.CPU0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU1", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU2", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU3", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.GFX0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C4", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C5", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C6", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C7", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.XHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SEC0", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.LPEA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }
            })
            Name (BUF1, Package (0x17)
            {
                Package (0x03)
                {
                    "\\_PR.CPU0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU1", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU2", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_PR.CPU3", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            Zero
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.GFX0", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C4", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C5", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C6", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.I2C7", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.XHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SEC0", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.LPEA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SDHA", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SHC1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.SPI3", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT1", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.URT2", 
                    One, 
                    Package (0x05)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            Zero, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            One, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x02, 
                            0x03
                        }, 

                        Package (0x02)
                        {
                            0x03, 
                            0x03
                        }
                    }
                }, 

                Package (0x03)
                {
                    "\\_SB.PCI0.RP01.PXSX", 
                    One, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0xFF, 
                            0x03
                        }
                    }
                }
            })
            Name (BCCD, Package (0x01)
            {
                Package (0x02)
                {
                    "\\_SB.PCI0.SDHA", 
                    Package (0x01)
                    {
                        Package (0x03)
                        {
                            Package (0x05)
                            {
                                Zero, 
                                0x20, 
                                Zero, 
                                0x03, 
                                Ones
                            }, 

                            Package (0x03)
                            {
                                0xFFFFFFFC, 
                                Zero, 
                                0x04
                            }, 

                            Zero
                        }
                    }
                }
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x0F)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xA0, 0x40, 0xEB, 0xC4, 0xD2, 0x6C, 0xE2, 0x11,
                            /* 0008 */   0xBC, 0xFD, 0x08, 0x00, 0x20, 0x0C, 0x9A, 0x66
                        }))
                {
                    If (LEqual (Arg2, Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x07
                        })
                    }

                    If (LEqual (Arg2, One))
                    {
                        If (LEqual (MLSD, One))
                        {
                            If (LOr (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)), LEqual (
                                BDID, 0x08)))
                            {
                                If (LEqual (OSYS, 0x07DF))
                                {
                                    Return (BUF1)
                                }
                                Else
                                {
                                    Return (DEHL)
                                }
                            }
                            Else
                            {
                                If (LEqual (OSYS, 0x07DF))
                                {
                                    If (LEqual (BDID, One))
                                    {
                                        Return (BUF0)
                                    }

                                    Return (BUF2)
                                }
                                Else
                                {
                                    Return (DEVL)
                                }
                            }
                        }
                        Else
                        {
                            If (LOr (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)), LEqual (
                                BDID, 0x08)))
                            {
                                Return (DEHY)
                            }
                            Else
                            {
                                Return (DEVY)
                            }
                        }
                    }

                    If (LEqual (Arg2, 0x02))
                    {
                        Store (EM1A, Local0)
                        Add (Local0, 0x84, Local0)
                        Store (Local0, Index (DerefOf (Index (DerefOf (Index (DerefOf (Index (DerefOf (
                            Index (BCCD, Zero)), One)), Zero)), Zero)), 0x04
                            ))
                        Return (BCCD)
                    }
                }

                Return (One)
            }
        }

        Device (SDHA)
        {
            Name (_HID, "80860F14")  // _HID: Hardware ID
            Name (_CID, "PNP0D40")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) eMMC Controller - 80862294")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (_HRV, One)  // _HRV: Hardware Revision
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y04)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000002D,
                }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.SDHA._Y04._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.SDHA._Y04._LEN, B0LN)  // _LEN: Length
                Store (EM0A, B0BA)
                Store (EM0L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (EM0A, Zero), LEqual (SD1D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (EMMP, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, EM1A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
            }

            Device (EMMD)
            {
                Name (_ADR, 0x08)  // _ADR: Address
                Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                {
                    Return (Zero)
                }
            }
        }

        Device (PEMC)
        {
            Name (_ADR, 0x00100000)  // _ADR: Address
            OperationRegion (SDIO, PCI_Config, 0x84, 0x04)
            Field (SDIO, WordAcc, NoLock, Preserve)
            {
                Offset (0x01), 
                PMEE,   1, 
                    ,   6, 
                PMES,   1
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LEqual (EM0A, Zero), LEqual (SD1D, Zero)))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
            {
            }

            Device (CARD)
            {
                Name (_ADR, 0x08)  // _ADR: Address
                Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                {
                    Return (Zero)
                }
            }
        }

        Device (SDHB)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, "80860F14")  // _HID: Hardware ID
            Name (AHID, "INT33BB")
            Name (_CID, "PNP0D40")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) SDIO Controller - 80862295")  // _DDN: DOS Device Name
            Name (_UID, 0x02)  // _UID: Unique ID
            Name (_HRV, One)  // _HRV: Hardware Revision
            Name (AHRV, 0x02)
            Name (_DEP, Package (0x03)  // _DEP: Dependencies
            {
                PEPD, 
                GPO1, 
                GPO3
            })
            Name (PSTS, Zero)
            Name (SBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y05)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000002E,
                }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (SBUF, \_SB.PCI0.SDHB._Y05._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (SBUF, \_SB.PCI0.SDHB._Y05._LEN, B0LN)  // _LEN: Length
                Store (SI0A, B0BA)
                Store (SI0L, B0LN)
                Return (SBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (SI0A, Zero), LEqual (SD2D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
                If (LEqual (OSID, One))
                {
                    If (LEqual (PSTS, Zero))
                    {
                        If (LAnd (LNotEqual (BDID, One), LEqual (^^^GPO3.AVBL, One)))
                        {
                            P8XH (Zero, 0x58)
                            If (LAnd (LNotEqual (BDID, 0x09), LNotEqual (BDID, 0x0A)))
                            {
                                Store (One, ^^^GPO3.WFD3)
                            }

                            Store (One, PSTS)
                        }
                        Else
                        {
                            If (LEqual (^^^GPO1.AVBL, One))
                            {
                                If (LAnd (LNotEqual (BDID, 0x09), LNotEqual (BDID, 0x0A)))
                                {
                                    Store (One, ^^^GPO1.WLD3)
                                }

                                Store (One, PSTS)
                            }
                        }
                    }
                }
            }

            OperationRegion (KEYS, SystemMemory, SI1A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (SDI1, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Device (BRCM)
            {
                Name (_ADR, One)  // _ADR: Address
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    GPO2, 
                    GPO3
                })
                Name (_HID, "BCM43241")  // _HID: Hardware ID
                Name (_CID, "BCM43241")  // _CID: Compatible ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LOr (LEqual (BDID, One), LEqual (BDID, 0x09)))
                    {
                        Return (Zero)
                    }

                    If (LOr (LEqual (BDID, 0x08), LEqual (BDID, 0x0A)))
                    {
                        Return (Zero)
                    }

                    If (LOr (LEqual (OSID, 0x02), LEqual (OSID, 0x04)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                {
                    Return (Zero)
                }

                Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
                Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (RBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
                        {
                            0x00000044,
                        }
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x000A
                            }
                        GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004B
                            }
                    })
                    Return (RBUF)
                }

                Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                {
                    If (LEqual (^^^^GPO3.AVBL, One))
                    {
                        Store (Zero, ^^^^GPO3.WFD3)
                    }
                }

                Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                {
                    If (LEqual (^^^^GPO3.AVBL, One))
                    {
                        Store (One, ^^^^GPO3.WFD3)
                    }
                }
            }

            Device (BRC1)
            {
                Name (_ADR, One)  // _ADR: Address
                Name (_DEP, Package (0x01)  // _DEP: Dependencies
                {
                    GPO3
                })
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LEqual (OSID, One))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                {
                    Return (Zero)
                }

                Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
                Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (RBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
                        {
                            0x00000044,
                        }
                    })
                    Return (RBUF)
                }

                Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                {
                    If (LEqual (^^^^GPO3.AVBL, One))
                    {
                        Store (Zero, ^^^^GPO3.WFD3)
                        Store (Zero, PSTS)
                    }
                }

                Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                {
                    If (LEqual (PSTS, Zero))
                    {
                        If (LEqual (^^^^GPO3.AVBL, One))
                        {
                            Store (One, ^^^^GPO3.WFD3)
                            Store (One, PSTS)
                        }
                    }
                }
            }

            Device (BRC2)
            {
                Name (_ADR, 0x02)  // _ADR: Address
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    Return (0x0F)
                }

                Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                {
                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (NAM, Buffer (0x14)
                    {
                        "\\_SB.PCI0.SDHB.BRC1"
                    })
                    Name (SPB, Buffer (0x0C)
                    {
                        /* 0000 */   0x8E, 0x1D, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00,
                        /* 0008 */   0x00, 0x01, 0x00, 0x00
                    })
                    Name (END, ResourceTemplate ()
                    {
                    })
                    Concatenate (SPB, NAM, Local0)
                    Concatenate (Local0, END, Local1)
                    Return (Local1)
                }
            }

            Device (RTLW)
            {
                Name (AHID, "RTL8723")
                Name (ACID, "RTL8723")
                Name (_ADR, One)  // _ADR: Address
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    GPO1, 
                    GPO2
                })
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                {
                    Return (Zero)
                }

                Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
                Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (RBUF, ResourceTemplate ()
                    {
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
                            "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x000A
                            }
                        GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0017
                            }
                    })
                    Return (RBUF)
                }

                Method (APS3, 0, NotSerialized)
                {
                    If (LEqual (^^^^GPO1.AVBL, One))
                    {
                        Store (Zero, ^^^^GPO1.WLD3)
                    }
                }

                Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                {
                    If (LEqual (^^^^GPO1.AVBL, One))
                    {
                        Store (Zero, PSTS)
                    }
                }

                Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
                {
                }

                Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                {
                    If (LEqual (PSTS, Zero))
                    {
                        If (LEqual (^^^^GPO1.AVBL, One))
                        {
                            Store (One, ^^^^GPO1.WLD3)
                            Store (One, PSTS)
                        }
                    }
                }

                Method (APS0, 0, NotSerialized)
                {
                    If (LEqual (^^^^GPO1.AVBL, One))
                    {
                        Store (One, ^^^^GPO1.WLD3)
                    }
                }
            }

            Device (RTL2)
            {
                Name (_ADR, 0x02)  // _ADR: Address
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LAnd (LEqual (BDID, One), LEqual (OSID, One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                {
                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (NAM, Buffer (0x14)
                    {
                        "\\_SB.PCI0.SDHB.RTLW"
                    })
                    Name (SPB, Buffer (0x0C)
                    {
                        /* 0000 */   0x8E, 0x1D, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00,
                        /* 0008 */   0x00, 0x01, 0x00, 0x00
                    })
                    Name (END, ResourceTemplate ()
                    {
                    })
                    Concatenate (SPB, NAM, Local0)
                    Concatenate (Local0, END, Local1)
                    Return (Local1)
                }
            }
        }

        Device (SDHC)
        {
            Name (_HID, "INT33BB")  // _HID: Hardware ID
            Name (_CID, "PNP0D40")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) SD Card Controller - 80862296")  // _DDN: DOS Device Name
            Name (_UID, 0x03)  // _UID: Unique ID
            Name (CPR0, Package (0x01)
            {
                P33X
            })
            Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
            {
                P33W
            })
            Name (CDEP, Package (0x02)
            {
                I2C7, 
                ^I2C7.PMIC
            })
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                I2C7, 
                ^I2C7.PMI5
            })
            Name (ABUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y06)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000002F,
                }
                GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x2710,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0051
                    }
                GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0051
                    }
                GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0055
                    }
                GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x004E
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (ABUF, \_SB.PCI0.SDHC._Y06._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (ABUF, \_SB.PCI0.SDHC._Y06._LEN, B0LN)  // _LEN: Length
                Store (SD0A, B0BA)
                Store (SD0L, B0LN)
                Return (ABUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (SD0A, Zero), LEqual (SD3D, One)))
                {
                    Return (Zero)
                }

                If (LEqual (OSID, 0x04))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                If (LEqual (SCDD, One))
                {
                    Or (^^CHVC.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero), One, Local0)
                    ^^CHVC.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
                }

                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                If (LEqual (SCDD, One))
                {
                    And (^^CHVC.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero), 0xFFFFFFFC, Local0)
                    ^^CHVC.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
                }

                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (SDI2, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (SHC1)
        {
            Name (_HID, "80860F14")  // _HID: Hardware ID
            Name (_CID, "PNP0D40")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) SD Card Controller - 80862296")  // _DDN: DOS Device Name
            Name (_UID, 0x03)  // _UID: Unique ID
            Name (_HRV, One)  // _HRV: Hardware Revision
            Name (CDEP, Package (0x02)
            {
                MBID, 
                I2C7
            })
            Name (XDEP, Package (0x03)
            {
                MBID, 
                I2C7, 
                ^I2C7.PMI1
            })
            Name (TDEP, Package (0x03)
            {
                MBID, 
                I2C7, 
                ^I2C7.PMI2
            })
            Name (_DEP, Package (0x03)  // _DEP: Dependencies
            {
                MBID, 
                I2C7, 
                ^I2C7.PMI5
            })
            Name (CPR0, Package (0x01)
            {
                P33X
            })
            Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
            {
                P18W
            })
            Name (WBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y07)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000002F,
                }
                GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x2710,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0051
                    }
                GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0051
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (WBUF, \_SB.PCI0.SHC1._Y07._BAS, B01A)  // _BAS: Base Address
                CreateDWordField (WBUF, \_SB.PCI0.SHC1._Y07._LEN, B01N)  // _LEN: Length
                Store (SD0A, B01A)
                Store (SD0L, B01N)
                Return (WBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (SD0A, Zero), LEqual (SD3D, One)))
                {
                    Return (Zero)
                }

                If (LEqual (OSID, 0x04))
                {
                    Return (Zero)
                }

                If (LEqual (MLSD, One))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                If (LEqual (SCDD, One))
                {
                    Or (^^^MBID.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero), One, Local0)
                    ^^^MBID.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
                }

                If (LEqual (^^I2C7.AVBL, One))
                {
                    If (LEqual (PMID, One))
                    {
                        Store (^^I2C7.DL02, BUFF)
                        And (DATA, 0xFE, DATA)
                        Store (BUFF, ^^I2C7.DL02)
                        Sleep (0x0A)
                        Store (^^I2C7.DL03, BUFF)
                        And (DATA, 0xFE, DATA)
                        Store (BUFF, ^^I2C7.DL03)
                    }
                    Else
                    {
                        If (LEqual (PMID, 0x02))
                        {
                            Store (^^I2C7.XD31, BUFF)
                            If (LEqual (STAT, Zero))
                            {
                                And (DATA, 0xEF, DATA)
                                Store (BUFF, ^^I2C7.XD31)
                                Sleep (0x0A)
                                Store (^^I2C7.XD31, BUFF)
                                If (LEqual (STAT, Zero))
                                {
                                    And (DATA, 0xDF, DATA)
                                    Store (BUFF, ^^I2C7.XD31)
                                }
                            }
                        }
                        Else
                        {
                            If (LEqual (PMID, 0x03))
                            {
                                ADBG ("PS3")
                                Store (^^I2C7.PMI5.GET (One, 0x6E, 0x67), Local0)
                                Sleep (0x0A)
                                And (Local0, 0xF8, Local0)
                                ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
                            }
                        }
                    }
                }

                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                If (LEqual (SCDD, One))
                {
                    And (^^^MBID.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero), 0xFFFFFFFC, Local0)
                    ^^^MBID.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
                }

                If (LEqual (SDVL, Zero))
                {
                    If (LEqual (^^I2C7.AVBL, One))
                    {
                        If (LEqual (PMID, One))
                        {
                            Store (0x1D, DATA)
                            Store (BUFF, ^^I2C7.DL03)
                            Sleep (0x0A)
                            Store (BUFF, ^^I2C7.DL02)
                        }
                        Else
                        {
                            If (LEqual (PMID, 0x02))
                            {
                                Store (^^I2C7.XD31, BUFF)
                                If (LEqual (STAT, Zero))
                                {
                                    Or (DATA, 0x10, DATA)
                                    Store (BUFF, ^^I2C7.XD31)
                                }

                                Store (^^I2C7.XD32, BUFF)
                                If (LEqual (STAT, Zero))
                                {
                                    Or (DATA, 0x1A, DATA)
                                    And (DATA, 0xFA, DATA)
                                    Store (BUFF, ^^I2C7.XD32)
                                }

                                Sleep (0x0A)
                                Store (^^I2C7.XD31, BUFF)
                                If (LEqual (STAT, Zero))
                                {
                                    Or (DATA, 0x20, DATA)
                                    Store (BUFF, ^^I2C7.XD31)
                                }
                            }
                            Else
                            {
                                If (LEqual (PMID, 0x03))
                                {
                                    ADBG ("PS0 3p3")
                                    Store (^^I2C7.PMI5.GET (One, 0x6E, 0x67), Local0)
                                    Sleep (0x0A)
                                    Or (Local0, One, Local0)
                                    And (Local0, 0xF9, Local0)
                                    ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
                                    Sleep (0x0A)
                                    ^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x3D)
                                    Sleep (0x0A)
                                }
                            }
                        }
                    }
                }
                Else
                {
                    If (LEqual (SDVL, One))
                    {
                        If (LEqual (^^I2C7.AVBL, One))
                        {
                            If (LEqual (PMID, One))
                            {
                                Store (0x59, DATA)
                                Store (BUFF, ^^I2C7.DL03)
                                Sleep (0x05)
                            }
                            Else
                            {
                                If (LEqual (PMID, 0x02))
                                {
                                    Store (^^I2C7.XD31, BUFF)
                                    If (LEqual (STAT, Zero))
                                    {
                                        Or (DATA, 0x10, DATA)
                                        Store (BUFF, ^^I2C7.XD31)
                                    }

                                    Store (^^I2C7.XD32, BUFF)
                                    If (LEqual (STAT, Zero))
                                    {
                                        Or (DATA, 0x0B, DATA)
                                        And (DATA, 0xEB, DATA)
                                        Store (BUFF, ^^I2C7.XD32)
                                    }

                                    Sleep (0x0A)
                                    Store (^^I2C7.XD31, BUFF)
                                    If (LEqual (STAT, Zero))
                                    {
                                        Or (DATA, 0x20, DATA)
                                        Store (BUFF, ^^I2C7.XD31)
                                    }
                                }
                                Else
                                {
                                    If (LEqual (PMID, 0x03))
                                    {
                                        ADBG ("PS0 1p8")
                                        Store (^^I2C7.PMI5.GET (One, 0x6E, 0x67), Local0)
                                        Sleep (0x0A)
                                        Or (Local0, One, Local0)
                                        And (Local0, 0xF9, Local0)
                                        ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
                                        Sleep (0x0A)
                                        ^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x1F)
                                        Sleep (0x0A)
                                    }
                                }
                            }
                        }
                    }
                }

                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
                If (LEqual (OSID, One))
                {
                    Sleep (0x03E8)
                }
            }

            OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (SDI2, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Name (BUFF, Buffer (0x03) {})
            CreateByteField (BUFF, Zero, STAT)
            CreateByteField (BUFF, 0x02, DATA)
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (SCDD, One))
                {
                    And (^^^MBID.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero), 0xFFFFFFFC, Local0)
                    ^^^MBID.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
                }

                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xA5, 0x3E, 0xC1, 0xF6, 0xCD, 0x65, 0x1F, 0x46,
                            /* 0008 */   0xAB, 0x7A, 0x29, 0xF7, 0xE8, 0xD5, 0xBD, 0x61
                        }))
                {
                    If (LEqual (Arg1, Zero))
                    {
                        If (LEqual (Arg2, Zero))
                        {
                            Return (Buffer (0x04)
                            {
                                 0x1F, 0x01, 0x00, 0x00
                            })
                        }

                        If (LEqual (Arg2, 0x08))
                        {
                            Return (Buffer (One)
                            {
                                 0x03
                            })
                        }

                        If (LEqual (Arg2, One))
                        {
                            Return (One)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x02)
                        }

                        If (LEqual (Arg2, 0x03))
                        {
                            ADBG ("DSM 1p8")
                            If (LEqual (^^I2C7.AVBL, One))
                            {
                                If (LEqual (PMID, One))
                                {
                                    Store (0x59, DATA)
                                    Store (BUFF, ^^I2C7.DL03)
                                }
                                Else
                                {
                                    If (LEqual (PMID, 0x02))
                                    {
                                        Store (^^I2C7.XD31, BUFF)
                                        If (LEqual (STAT, Zero))
                                        {
                                            Or (DATA, 0x10, DATA)
                                            Store (BUFF, ^^I2C7.XD31)
                                        }

                                        Store (^^I2C7.XD32, BUFF)
                                        If (LEqual (STAT, Zero))
                                        {
                                            Or (DATA, 0x0B, DATA)
                                            And (DATA, 0xEB, DATA)
                                            Store (BUFF, ^^I2C7.XD32)
                                        }

                                        Sleep (0x0A)
                                        Store (^^I2C7.XD31, BUFF)
                                        If (LEqual (STAT, Zero))
                                        {
                                            Or (DATA, 0x20, DATA)
                                            Store (BUFF, ^^I2C7.XD31)
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (PMID, 0x03))
                                        {
                                            Store (^^I2C7.PMI5.GET (One, 0x6E, 0x67), Local0)
                                            Sleep (0x0A)
                                            And (Local0, 0xF8, Local0)
                                            ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
                                            Sleep (0x64)
                                            Store (^^I2C7.PMI5.GET (One, 0x6E, 0x67), Local0)
                                            Sleep (0x0A)
                                            Or (Local0, One, Local0)
                                            And (Local0, 0xF9, Local0)
                                            ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
                                            Sleep (0x0A)
                                            ^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x1F)
                                            Sleep (0x0A)
                                        }
                                    }
                                }
                            }

                            Store (One, SDVL)
                            Return (0x03)
                        }

                        If (LEqual (Arg2, 0x04))
                        {
                            ADBG ("DSM 3p3")
                            If (LEqual (^^I2C7.AVBL, One))
                            {
                                If (LEqual (PMID, One))
                                {
                                    Store (^^I2C7.DL02, BUFF)
                                    And (DATA, 0xFE, DATA)
                                    Store (BUFF, ^^I2C7.DL02)
                                    Sleep (0x0A)
                                    Store (^^I2C7.DL03, BUFF)
                                    And (DATA, 0xFE, DATA)
                                    Store (BUFF, ^^I2C7.DL03)
                                    Sleep (0x32)
                                    Store (0x1D, DATA)
                                    Store (BUFF, ^^I2C7.DL02)
                                    Sleep (0x0A)
                                    Store (0x1D, DATA)
                                    Store (BUFF, ^^I2C7.DL03)
                                }
                                Else
                                {
                                    If (LEqual (PMID, 0x02))
                                    {
                                        Store (^^I2C7.XD31, BUFF)
                                        If (LEqual (STAT, Zero))
                                        {
                                            And (DATA, 0xEF, DATA)
                                            Store (BUFF, ^^I2C7.XD31)
                                        }

                                        Sleep (0x0A)
                                        Store (^^I2C7.XD31, BUFF)
                                        If (LEqual (STAT, Zero))
                                        {
                                            And (DATA, 0xDF, DATA)
                                            Store (BUFF, ^^I2C7.XD31)
                                        }

                                        Sleep (0x32)
                                        Store (^^I2C7.XD32, BUFF)
                                        If (LEqual (STAT, Zero))
                                        {
                                            Or (DATA, 0x1A, DATA)
                                            And (DATA, 0xFA, DATA)
                                            Store (BUFF, ^^I2C7.XD32)
                                        }

                                        Store (^^I2C7.XD31, BUFF)
                                        If (LEqual (STAT, Zero))
                                        {
                                            Or (DATA, 0x10, DATA)
                                            Store (BUFF, ^^I2C7.XD31)
                                            Sleep (0x05)
                                            Or (DATA, 0x20, DATA)
                                            Store (BUFF, ^^I2C7.XD31)
                                            Sleep (0x0A)
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (PMID, 0x03))
                                        {
                                            Store (^^I2C7.PMI5.GET (One, 0x6E, 0x5F), Local0)
                                            Sleep (0x0A)
                                            And (Local0, 0xF8, Local0)
                                            ^^I2C7.PMI5.SET (One, 0x6E, 0x5F, Local0)
                                            Sleep (0x0A)
                                            Store (^^I2C7.PMI5.GET (One, 0x6E, 0x67), Local0)
                                            Sleep (0x0A)
                                            And (Local0, 0xF8, Local0)
                                            ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
                                            Sleep (0x03E8)
                                            Store (^^I2C7.PMI5.GET (One, 0x6E, 0x67), Local0)
                                            Sleep (0x0A)
                                            Or (Local0, One, Local0)
                                            And (Local0, 0xF9, Local0)
                                            ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
                                            Sleep (0x0A)
                                            ^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x3D)
                                            Sleep (0x0A)
                                            Store (^^I2C7.PMI5.GET (One, 0x6E, 0x5F), Local0)
                                            Sleep (0x0A)
                                            Or (Local0, One, Local0)
                                            And (Local0, 0xF9, Local0)
                                            ^^I2C7.PMI5.SET (One, 0x6E, 0x5F, Local0)
                                            Sleep (0x0A)
                                        }
                                    }
                                }
                            }

                            Sleep (0x32)
                            Store (Zero, SDVL)
                            Return (0x04)
                        }
                    }
                    Else
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }
            }
        }

        Device (GDM1)
        {
            Name (_HID, "INTL9C60")  // _HID: Hardware ID
            Name (_DDN, "Intel(R) DMA Controller #1 - INTL9C60")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00004000,         // Address Length
                    _Y08)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000002A,
                }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.GDM1._Y08._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.GDM1._Y08._LEN, B0LN)  // _LEN: Length
                Store (D10A, B0BA)
                Store (D10L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (D10A, Zero), LEqual (L10D, One)))
                {
                    Return (Zero)
                }

                If (LEqual (OSID, One))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (DM1P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (GDM2)
        {
            Name (_HID, "80862286")  // _HID: Hardware ID
            Name (_CID, "80862286")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) DMA Controller #1 - 80862286")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00004000,         // Address Length
                    _Y09)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000002A,
                }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.GDM2._Y09._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.GDM2._Y09._LEN, B0LN)  // _LEN: Length
                Store (D10A, B0BA)
                Store (D10L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (D10A, Zero), LEqual (L10D, One)))
                {
                    Return (Zero)
                }

                If (LNotEqual (OSID, One))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (DM1P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (GDM3)
        {
            Name (_HID, "INTL9C60")  // _HID: Hardware ID
            Name (_DDN, "Intel(R) DMA Controller #2 - INTL9C60")  // _DDN: DOS Device Name
            Name (_UID, 0x02)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00004000,         // Address Length
                    _Y0A)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000002B,
                }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.GDM3._Y0A._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.GDM3._Y0A._LEN, B0LN)  // _LEN: Length
                Store (D20A, B0BA)
                Store (D20L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (D20A, Zero), LEqual (L20D, One)))
                {
                    Return (Zero)
                }

                If (LEqual (OSID, One))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (DM2P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (GDM4)
        {
            Name (_HID, "808622C0")  // _HID: Hardware ID
            Name (_CID, "808622C0")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) DMA Controller #2 - 808622C0")  // _DDN: DOS Device Name
            Name (_UID, 0x02)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00004000,         // Address Length
                    _Y0B)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000002B,
                }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.GDM4._Y0B._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.GDM4._Y0B._LEN, B0LN)  // _LEN: Length
                Store (D20A, B0BA)
                Store (D20L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (D20A, Zero), LEqual (L20D, One)))
                {
                    Return (Zero)
                }

                If (LNotEqual (OSID, One))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (DM2P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (PWM1)
        {
            Name (_HID, "80862288")  // _HID: Hardware ID
            Name (_CID, "80862288")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) PWM Controller #1 - 80862288")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y0C)
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.PWM1._Y0C._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.PWM1._Y0C._LEN, B0LN)  // _LEN: Length
                Store (P10A, B0BA)
                Store (P10L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (P10A, Zero), LEqual (L11D, One)))
                {
                    Return (Zero)
                }

                If (LEqual (OSID, One))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, P11A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (PW1P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (PWM2)
        {
            Name (_HID, "80862289")  // _HID: Hardware ID
            Name (_CID, "80862289")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) PWM Controller #2 - 80862289")  // _DDN: DOS Device Name
            Name (_UID, 0x02)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y0D)
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.PWM2._Y0D._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.PWM2._Y0D._LEN, B0LN)  // _LEN: Length
                Store (P20A, B0BA)
                Store (P20L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (P20A, Zero), LEqual (L12D, One)))
                {
                    Return (Zero)
                }

                If (LOr (LOr (LEqual (BDID, 0x08), LEqual (BDID, 0x0A)), LEqual (
                    OSID, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, P21A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (PW2P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (URT1)
        {
            Name (_HID, "8086228A")  // _HID: Hardware ID
            Name (_CID, "8086228A")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) HS-UART Controller #1 - 8086228A")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y0E)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000027,
                }
                FixedDMA (0x0002, 0x0002, Width32bit, )
                FixedDMA (0x0003, 0x0003, Width32bit, )
            })
            Name (ABUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y0F)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000027,
                }
                FixedDMA (0x0002, 0x0002, Width32bit, )
                FixedDMA (0x0003, 0x0003, Width32bit, )
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0010
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0014
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x000F
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0012
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                If (LEqual (OSID, One))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.URT1._Y0E._BAS, B0BA)  // _BAS: Base Address
                    CreateDWordField (RBUF, \_SB.PCI0.URT1._Y0E._LEN, B0LN)  // _LEN: Length
                    Store (U10A, B0BA)
                    Store (U10L, B0LN)
                    Return (RBUF)
                }
                Else
                {
                    CreateDWordField (ABUF, \_SB.PCI0.URT1._Y0F._BAS, ABBA)  // _BAS: Base Address
                    CreateDWordField (ABUF, \_SB.PCI0.URT1._Y0F._LEN, ABLN)  // _LEN: Length
                    Store (U10A, ABBA)
                    Store (U10L, ABLN)
                    Return (ABUF)
                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (U10A, Zero), LEqual (L13D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, U11A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (UR1P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Device (BTH0)
            {
                Name (_HID, "BCM2E1A")  // _HID: Hardware ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LAnd (LEqual (OSID, 0x04), LEqual (BTHM, One)))
                    {
                        If (LOr (LEqual (BDID, 0x03), LEqual (BDID, 0x08)))
                        {
                            Return (Zero)
                        }
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (UBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xFC, LittleEndian, ParityTypeNone, FlowControlNone,
                            0x0020, 0x0020, "\\_SB.PCIO.URT1",
                            0x00, ResourceConsumer, ,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0001
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0003
                            }
                        GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004C
                            }
                    })
                    Return (UBUF)
                }
            }

            Device (BTH1)
            {
                Name (_HID, "BCM2E3A")  // _HID: Hardware ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LAnd (LEqual (BTHM, One), LEqual (BTHS, One)))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xFC, LittleEndian, ParityTypeNone, FlowControlNone,
                            0x0020, 0x0020, "\\_SB.PCI0.URT1",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004C
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0001
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0003
                            }
                    })
                    Return (BBUF)
                }
            }

            Device (BTH2)
            {
                Name (_HID, "BCM2E64")  // _HID: Hardware ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LAnd (LEqual (BTHM, One), LEqual (BTHS, 0x02)))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xFC, LittleEndian, ParityTypeNone, FlowControlNone,
                            0x0020, 0x0020, "\\_SB.PCI0.URT1",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004C
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0001
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0003
                            }
                    })
                    Return (BBUF)
                }
            }

            Device (BTH4)
            {
                Name (_HID, "BCM2E7B")  // _HID: Hardware ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LOr (LEqual (BTHM, 0x02), LEqual (BDID, One)))
                    {
                        Return (Zero)
                    }

                    If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                    {
                        Return (Zero)
                    }

                    If (LAnd (LEqual (BTHM, One), LEqual (BTHS, 0x04)))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xFC, LittleEndian, ParityTypeNone, FlowControlNone,
                            0x0020, 0x0020, "\\_SB.PCI0.URT1",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004C
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0001
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0003
                            }
                    })
                    Return (BBUF)
                }
            }

            Device (BTH5)
            {
                Name (_HID, "INT33E1")  // _HID: Hardware ID
                Name (UART, Zero)
                Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (UBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PCI0.URT1",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004C
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0003
                            }
                    })
                    Return (UBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LOr (LEqual (BTHM, 0x02), LEqual (BDID, One)))
                    {
                        Return (Zero)
                    }

                    If (LOr (LEqual (BTHM, 0x03), LOr (LEqual (BDID, 0x09), LEqual (
                        BDID, 0x0A))))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }
            }
        }

        Device (URT2)
        {
            Name (_HID, "8086228A")  // _HID: Hardware ID
            Name (_CID, "8086228A")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) HS-UART Controller #2 - 8086228C")  // _DDN: DOS Device Name
            Name (_UID, 0x02)  // _UID: Unique ID
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y10)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000028,
                }
                FixedDMA (0x0004, 0x0004, Width32bit, )
                FixedDMA (0x0005, 0x0005, Width32bit, )
            })
            Name (ABUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y11)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000028,
                }
                FixedDMA (0x0004, 0x0004, Width32bit, )
                FixedDMA (0x0005, 0x0005, Width32bit, )
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0011
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0015
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0013
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0016
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                If (LEqual (OSID, One))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.URT2._Y10._BAS, B0BA)  // _BAS: Base Address
                    CreateDWordField (RBUF, \_SB.PCI0.URT2._Y10._LEN, B0LN)  // _LEN: Length
                    Store (U20A, B0BA)
                    Store (U20L, B0LN)
                    Return (RBUF)
                }
                Else
                {
                    CreateDWordField (ABUF, \_SB.PCI0.URT2._Y11._BAS, ABBA)  // _BAS: Base Address
                    CreateDWordField (ABUF, \_SB.PCI0.URT2._Y11._LEN, ABLN)  // _LEN: Length
                    Store (U20A, ABBA)
                    Store (U20L, ABLN)
                    Return (ABUF)
                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (U20A, Zero), LEqual (L14D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
                If (LEqual (^^^GPO1.AMMR, One))
                {
                    Store (Zero, ^^^GPO1.GPSC)
                    Store (Zero, ^^^GPO1.GPSE)
                }
            }

            OperationRegion (KEYS, SystemMemory, U21A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (UR2P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Device (GPS0)
            {
                Name (_HID, "BCM47521")  // _HID: Hardware ID
                Name (ZHID, "INT33A2")
                Name (_HRV, Zero)  // _HRV: Hardware Revision
                Name (UART, One)
                Name (ENAB, One)
                Name (HSTW, Zero)
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LOr (LEqual (BDID, One), LEqual (GPSD, Zero)))
                    {
                        Return (Zero)
                    }

                    If (LEqual (MODM, Zero))
                    {
                        Return (0x0F)
                    }

                    If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                    {
                        Return (Zero)
                    }

                    If (LNotEqual (OSID, One))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (UBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PCI0.URT2",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004B
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0018
                            }
                    })
                    Return (UBUF)
                }
            }

            Device (GPS1)
            {
                Name (_HID, "BCM4752")  // _HID: Hardware ID
                Name (_HRV, One)  // _HRV: Hardware Revision
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LOr (LEqual (BDID, One), LEqual (GPSD, Zero)))
                    {
                        Return (Zero)
                    }

                    If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                    {
                        Return (Zero)
                    }

                    If (LEqual (OSID, One))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PCI0.URT2",
                            0x00, ResourceConsumer, ,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0018
                            }
                    })
                    Return (BBUF)
                }
            }

            Device (GPS2)
            {
                Name (_HID, "INT33A2")  // _HID: Hardware ID
                Name (_HRV, Zero)  // _HRV: Hardware Revision
                Name (UART, One)
                Name (ENAB, One)
                Name (HSTW, Zero)
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LEqual (MODM, Zero))
                    {
                        Return (Zero)
                    }

                    If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (ABUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PCI0.URT2",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004B
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0018
                            }
                    })
                    Name (WBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PCI0.URT2",
                            0x00, ResourceConsumer, ,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0018
                            }
                        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004B
                            }
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004B
                            }
                    })
                    If (LEqual (OSID, One))
                    {
                        Return (WBUF)
                    }

                    Return (ABUF)
                }
            }
        }

        Device (SPI1)
        {
            Name (_HID, "8086228E")  // _HID: Hardware ID
            Name (_CID, "8086228E")  // _CID: Compatible ID
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Name (_DDN, "Intel(R) SPI Controller #1 - 8086228E")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y12)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000029,
                }
                FixedDMA (0x0000, 0x0000, Width32bit, )
                FixedDMA (0x0001, 0x0001, Width32bit, )
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.SPI1._Y12._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.SPI1._Y12._LEN, B0LN)  // _LEN: Length
                Store (SP0A, B0BA)
                Store (SP0L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (SP0A, Zero), LEqual (L15D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, SP1A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (SP1P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Device (FPNT)
            {
                Name (_HID, "AUTH2750")  // _HID: Hardware ID
                Name (_DDN, "AuthenTec AES2750")  // _DDN: DOS Device Name
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (UBUF, ResourceTemplate ()
                    {
                        SpiSerialBus (0x0001, PolarityLow, FourWireMode, 0x08,
                            ControllerInitiated, 0x007A1200, ClockPolarityLow,
                            ClockPhaseSecond, "\\_SB.PCI0.SPI1",
                            0x00, ResourceConsumer, ,
                            )
                        Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
                        {
                            0x00000048,
                        }
                    })
                    Return (UBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (Zero)
                }
            }
        }

        Device (SPI2)
        {
            Name (_HID, "8086228E")  // _HID: Hardware ID
            Name (_CID, "8086228E")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) SPI Controller #2 - 80862290")  // _DDN: DOS Device Name
            Name (_UID, 0x02)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y13)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000059,
                }
                FixedDMA (0x0006, 0x0006, Width32bit, )
                FixedDMA (0x0007, 0x0007, Width32bit, )
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.SPI2._Y13._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.SPI2._Y13._LEN, B0LN)  // _LEN: Length
                Store (S20A, B0BA)
                Store (S20L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (S20A, Zero), LEqual (L16D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, S21A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (SP2P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (SPI3)
        {
            Name (_HID, "8086228E")  // _HID: Hardware ID
            Name (_CID, "8086228E")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) SPI Controller #3 - 808622AC")  // _DDN: DOS Device Name
            Name (_UID, 0x03)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y14)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000005A,
                }
                FixedDMA (0x0008, 0x0008, Width32bit, )
                FixedDMA (0x0009, 0x0009, Width32bit, )
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.SPI3._Y14._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.SPI3._Y14._LEN, B0LN)  // _LEN: Length
                Store (S30A, B0BA)
                Store (S30L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (S30A, Zero), LEqual (L16D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, S31A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (SP3P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (I2C1)
        {
            Name (_HID, "808622C1")  // _HID: Hardware ID
            Name (_CID, "808622C1")  // _CID: Compatible ID
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Name (_DDN, "Intel(R) I2C Controller #1 - 808622C1")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y15)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000020,
                }
                FixedDMA (0x0010, 0x0000, Width32bit, )
                FixedDMA (0x0011, 0x0001, Width32bit, )
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.I2C1._Y15._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.I2C1._Y15._LEN, B0LN)  // _LEN: Length
                Store (I10A, B0BA)
                Store (I10L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (I10A, Zero), LEqual (L21D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, I11A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (IC1P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Device (STRA)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INTCF1C")  // _HID: Hardware ID
                Name (_CID, "INTCF1C")  // _CID: Compatible ID
                Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
                Name (_DDN, "Flash LM3554")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LEqual (RCAM, One))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0038
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002D
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0035
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002E
                            }
                        I2cSerialBus (0x0053, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    Return (SBUF)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x6A, 0xA7, 0x7B, 0x37, 0x90, 0xF3, 0xFF, 0x4A,
                                /* 0008 */   0xAB, 0x38, 0x9B, 0x1B, 0xF3, 0x3A, 0x30, 0x15
                            }))
                    {
                        Return ("INTCF1C")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x8F, 0xCE, 0x2A, 0x82, 0x14, 0x28, 0x74, 0x41,
                                /* 0008 */   0xA5, 0x6B, 0x5F, 0x02, 0x9F, 0xE0, 0x79, 0xEE
                            }))
                    {
                        Return ("LM3554")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x2A, 0x51, 0x59, 0x29, 0x8C, 0x02, 0x46, 0x46,
                                /* 0008 */   0xB7, 0x3D, 0x4D, 0x1B, 0x56, 0x72, 0xFA, 0xD8
                            }))
                    {
                        Return ("CHV_ITL_RVP")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x39, 0xA6, 0xC9, 0x75, 0x8A, 0x5C, 0x00, 0x4A,
                                /* 0008 */   0x9F, 0x48, 0xA9, 0xC3, 0xB5, 0xDA, 0x78, 0x9F
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x49, 0x75, 0x25, 0x26, 0x71, 0x92, 0xA4, 0x4C,
                                /* 0008 */   0xBB, 0x43, 0xC4, 0x89, 0x9D, 0x5A, 0x48, 0x81
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (One)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x04005300)
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x40, 0x46, 0x23, 0x79, 0x10, 0x9E, 0xEA, 0x4F,
                                /* 0008 */   0xA5, 0xC1, 0xB5, 0xAA, 0x8B, 0x19, 0x75, 0x6F
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (0x04)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x01003802)
                        }

                        If (LEqual (Arg2, 0x03))
                        {
                            Return (0x01002D03)
                        }

                        If (LEqual (Arg2, 0x04))
                        {
                            Return (0x01003501)
                        }

                        If (LEqual (Arg2, 0x05))
                        {
                            Return (0x01002E04)
                        }
                    }

                    Return (Zero)
                }
            }
        }

        Device (I2C2)
        {
            Name (_HID, "808622C1")  // _HID: Hardware ID
            Name (_CID, "808622C1")  // _CID: Compatible ID
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Name (_DDN, "Intel(R) I2C Controller #2 - 808622C2")  // _DDN: DOS Device Name
            Name (_UID, 0x02)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y16)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000021,
                }
                FixedDMA (0x0012, 0x0002, Width32bit, )
                FixedDMA (0x0013, 0x0003, Width32bit, )
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.I2C2._Y16._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.I2C2._Y16._LEN, B0LN)  // _LEN: Length
                Store (I20A, B0BA)
                Store (I20L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (I20A, Zero), LEqual (L22D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, I21A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (IC2P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            PowerResource (CLK3, 0x00, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (CKC3)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    Store (One, CKC3)
                    Sleep (0x05)
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    Store (0x02, CKC3)
                }
            }

            PowerResource (CLK4, 0x00, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (CKC4)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    Store (One, CKC4)
                    Sleep (0x05)
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    Store (0x02, CKC4)
                }
            }

            Device (RTK1)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "10EC5670")  // _HID: Hardware ID
                Name (_CID, "10EC5670")  // _CID: Compatible ID
                Name (_DDN, "ALC5642")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                {
                    CLK3
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x001C, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C2",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x005B
                            }
                    })
                    Name (WBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x001C, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C2",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004F
                            }
                    })
                    If (LAnd (LEqual (OSID, 0x04), LOr (LEqual (BDID, 0x09), LEqual (
                        BDID, 0x0A))))
                    {
                        Return (WBUF)
                    }

                    Return (SBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LEqual (OSID, One))
                    {
                        Return (Zero)
                    }

                    Return (0x0F)
                }

                Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                {
                }
            }
        }

        Device (I2C3)
        {
            Name (_HID, "808622C1")  // _HID: Hardware ID
            Name (_CID, "808622C1")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) I2C Controller #3 - 808622C3")  // _DDN: DOS Device Name
            Name (_UID, 0x03)  // _UID: Unique ID
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y17)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000022,
                }
                FixedDMA (0x0014, 0x0004, Width32bit, )
                FixedDMA (0x0015, 0x0005, Width32bit, )
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.I2C3._Y17._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.I2C3._Y17._LEN, B0LN)  // _LEN: Length
                Store (I30A, B0BA)
                Store (I30L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (I30A, Zero), LEqual (L23D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, I31A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (IC3P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            PowerResource (CLK2, 0x00, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (CKC2)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    Store (One, CKC2)
                    Sleep (0x05)
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    Store (0x02, CKC2)
                }
            }

            Device (NFC1)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "NXP5472")  // _HID: Hardware ID
                Name (_CID, "NXP5472")  // _CID: Compatible ID
                Name (_DDN, "NXP NFC")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x0029, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004F
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0051
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0052
                            }
                    })
                    Name (GBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x0029, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                            0x00, ResourceConsumer, ,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0051
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0052
                            }
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004F
                            }
                    })
                    If (LEqual (OSID, 0x02))
                    {
                        Return (SBUF)
                    }

                    Return (GBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                    {
                        Return (Zero)
                    }

                    If (LOr (LEqual (OSID, 0x02), LEqual (OSID, 0x04)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }
            }

            Device (NFC2)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT339A")  // _HID: Hardware ID
                Name (_CID, "INT339A")  // _CID: Compatible ID
                Name (_DDN, "FDP NFC")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                {
                    CLK2
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x005E, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                            0x00, ResourceConsumer, ,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0051
                            }
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004F
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0052
                            }
                    })
                    Name (GBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x005E, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                            0x00, ResourceConsumer, ,
                            )
                        GpioIo (Exclusive, PullUp, 0x0000, 0x0000, IoRestrictionNone,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0051
                            }
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004F
                            }
                    })
                    If (LEqual (OSID, 0x02))
                    {
                        Return (SBUF)
                    }

                    Return (GBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }
            }

            PowerResource (CLK1, 0x00, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (CKC1)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    Store (One, CKC1)
                    Sleep (0x05)
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    Store (0x02, CKC1)
                }
            }

            OperationRegion (TIP1, GenericSerialBus, Zero, 0x0100)
            Field (TIP1, BufferAcc, NoLock, Preserve)
            {
                Connection (
                    I2cSerialBus (0x006B, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                        0x00, ResourceConsumer, ,
                        )
                ), 
                Offset (0x01), 
                AccessAs (BufferAcc, AttribByte), 
                RG01,   8, 
                Offset (0x08), 
                AccessAs (BufferAcc, AttribByte), 
                RG08,   8
            }

            Name (AVBL, Zero)
            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x09))
                {
                    Store (Arg1, AVBL)
                }
            }
        }

        Device (I2C4)
        {
            Name (_HID, "808622C1")  // _HID: Hardware ID
            Name (_CID, "808622C1")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) I2C Controller #4 - 808622C4")  // _DDN: DOS Device Name
            Name (_UID, 0x04)  // _UID: Unique ID
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                PEPD, 
                GPO0
            })
            Name (FCFG, Zero)
            Name (RCFG, Zero)
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y18)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000023,
                }
                FixedDMA (0x0016, 0x0006, Width32bit, )
                FixedDMA (0x0017, 0x0007, Width32bit, )
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.I2C4._Y18._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.I2C4._Y18._LEN, B0LN)  // _LEN: Length
                Store (I40A, B0BA)
                Store (I40L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (I40A, Zero), LEqual (L24D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
                If (LEqual (^^^GPO0.AMMR, One))
                {
                    Store (One, ^^^GPO0.I4AE)
                    Store (One, ^^^GPO0.I4CE)
                    Store (0x03, ^^^GPO0.I4AF)
                    Store (0x03, ^^^GPO0.I4CF)
                    Store (0x0A, ^^^GPO0.I4AD)
                    Store (0x0A, ^^^GPO0.I4CD)
                }
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
                If (LEqual (^^^GPO0.AMMR, One))
                {
                    Store (0x0A, ^^^GPO0.I4AD)
                    Store (0x0A, ^^^GPO0.I4CD)
                    Store (Zero, ^^^GPO0.I4AF)
                    Store (Zero, ^^^GPO0.I4CF)
                    Sleep (0x03)
                    Store (Zero, ^^^GPO0.I4AE)
                    Store (Zero, ^^^GPO0.I4CE)
                    Sleep (0x03)
                }
            }

            OperationRegion (KEYS, SystemMemory, I41A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            PowerResource (CLK0, 0x00, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (CKC0)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    Store (One, CKC0)
                    Sleep (0x05)
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    Store (0x02, CKC0)
                }
            }

            PowerResource (CLK1, 0x00, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (CKC1)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    Store (One, CKC1)
                    Sleep (0x05)
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    Store (0x02, CKC1)
                }
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (IC4P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Device (CA10)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT33CF")  // _HID: Hardware ID
                Name (_CID, "INT33CF")  // _CID: Compatible ID
                Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
                Name (_DDN, "OV680")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Name (CDEP, Package (0x02)
                {
                    I2C7, 
                    ^^I2C7.PMIC
                })
                Name (CPR0, Package (0x03)
                {
                    P28X, 
                    P18X, 
                    CLK0
                })
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    I2C7, 
                    ^^I2C7.PMI5
                })
                Name (_PR0, Package (0x03)  // _PR0: Power Resources for D0
                {
                    P28W, 
                    P18W, 
                    CLK0
                })
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LOr (LEqual (BDID, One), LEqual (OSID, One)))
                    {
                        Return (Zero)
                    }

                    If (LEqual (RCAM, One))
                    {
                        If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (WBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0030
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0036
                            }
                        I2cSerialBus (0x0035, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    Name (ABUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002D
                            }
                        I2cSerialBus (0x0035, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    If (LEqual (OSID, One))
                    {
                        Return (WBUF)
                    }
                    Else
                    {
                        Return (ABUF)
                    }
                }
            }

            Device (CAM9)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT3477")  // _HID: Hardware ID
                Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
                Name (_DDN, "OV8858")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Name (CDEP, Package (0x02)
                {
                    I2C7, 
                    ^^I2C7.PMIC
                })
                Name (CPR0, Package (0x03)
                {
                    P28X, 
                    P18X, 
                    CLK0
                })
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    I2C7, 
                    ^^I2C7.PMI5
                })
                Name (UPR0, Package (0x03)
                {
                    P28W, 
                    P18W, 
                    CLK0
                })
                Name (_PR0, Package (0x04)  // _PR0: Power Resources for D0
                {
                    P4BW, 
                    P28W, 
                    P18W, 
                    CLK0
                })
                Name (PLDB, Package (0x01)
                {
                    Buffer (0x14)
                    {
                        /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                        /* 0008 */   0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
                        /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                    }
                })
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (PLDB)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LEqual (RCAM, One))
                    {
                        If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                        {
                            Return (Zero)
                        }
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (WBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0034
                            }
                        I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                        I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    Name (ABUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0034
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                        I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    If (LEqual (OSID, One))
                    {
                        Return (WBUF)
                    }
                    Else
                    {
                        Return (ABUF)
                    }
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x4F, 0x6C, 0x2F, 0xDC, 0x5B, 0x04, 0x1D, 0x4F,
                                /* 0008 */   0x97, 0xB9, 0x88, 0x2A, 0x68, 0x60, 0xA4, 0xBE
                            }))
                    {
                        Store (Package (0x12)
                            {
                                "CamId", 
                                "ov8858", 
                                "CamType", 
                                "1", 
                                "CsiPort", 
                                "1", 
                                "CsiLanes", 
                                "2", 
                                "CsiFmt", 
                                "15", 
                                "CsiBayer", 
                                "2", 
                                "CamClk", 
                                "0", 
                                "Regulator1p8v", 
                                "0", 
                                "Regulator2p8v", 
                                "0"
                            }, Local0)
                        Return (Local0)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x6A, 0xA7, 0x7B, 0x37, 0x90, 0xF3, 0xFF, 0x4A,
                                /* 0008 */   0xAB, 0x38, 0x9B, 0x1B, 0xF3, 0x3A, 0x30, 0x15
                            }))
                    {
                        Return ("INT3477")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xAA, 0xAA, 0x62, 0x3C, 0xE0, 0xD8, 0x1A, 0x40,
                                /* 0008 */   0x84, 0xC3, 0xFC, 0x05, 0x65, 0x6F, 0xA2, 0x8C
                            }))
                    {
                        Return ("OV8858")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x8F, 0xCE, 0x2A, 0x82, 0x14, 0x28, 0x74, 0x41,
                                /* 0008 */   0xA5, 0x6B, 0x5F, 0x02, 0x9F, 0xE0, 0x79, 0xEE
                            }))
                    {
                        If (LEqual (OSID, One))
                        {
                            Return ("P8V12F203")
                        }

                        Return ("12P2BA535")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x2A, 0x51, 0x59, 0x29, 0x8C, 0x02, 0x46, 0x46,
                                /* 0008 */   0xB7, 0x3D, 0x4D, 0x1B, 0x56, 0x72, 0xFA, 0xD8
                            }))
                    {
                        Return ("CHV_ITL_RVP")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x42, 0xB2, 0x8A, 0x91, 0x7C, 0xC3, 0x0A, 0x45,
                                /* 0008 */   0x9D, 0x0F, 0xF4, 0x7A, 0xB9, 0x7C, 0x3D, 0xEA
                            }))
                    {
                        Return (0x0102)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xD8, 0x7B, 0x3B, 0xEA, 0x9B, 0xE0, 0x39, 0x42,
                                /* 0008 */   0xAD, 0x6E, 0xED, 0x52, 0x5F, 0x3F, 0x26, 0xAB
                            }))
                    {
                        If (LEqual (OSID, One))
                        {
                            Return (0x1040)
                        }

                        Return (One)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x92, 0xC4, 0x5A, 0xB6, 0x30, 0x9E, 0x60, 0x4D,
                                /* 0008 */   0xB5, 0xB2, 0xF4, 0x97, 0xC7, 0x90, 0xD9, 0xCF
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x0F, 0xAB, 0x70, 0xE7, 0x44, 0x26, 0xAB, 0x4B,
                                /* 0008 */   0x86, 0x28, 0xD6, 0x2F, 0x16, 0x83, 0xFB, 0x9D
                            }))
                    {
                        Return (One)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xB2, 0x4A, 0xA5, 0x1E, 0x84, 0xCD, 0xCC, 0x48,
                                /* 0008 */   0x9D, 0xD4, 0x7F, 0x59, 0x4E, 0xC3, 0xB0, 0x15
                            }))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x51, 0x26, 0xBE, 0x8D, 0xC1, 0x70, 0x6F, 0x4C,
                                /* 0008 */   0xAC, 0x87, 0xA3, 0x7C, 0xB4, 0x6E, 0x4A, 0xF6
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x39, 0xA6, 0xC9, 0x75, 0x8A, 0x5C, 0x00, 0x4A,
                                /* 0008 */   0x9F, 0x48, 0xA9, 0xC3, 0xB5, 0xDA, 0x78, 0x9F
                            }))
                    {
                        If (LEqual (OSID, One))
                        {
                            Return ("DW9718")
                        }

                        Return ("AD5823")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x49, 0x75, 0x25, 0x26, 0x71, 0x92, 0xA4, 0x4C,
                                /* 0008 */   0xBB, 0x43, 0xC4, 0x89, 0x9D, 0x5A, 0x48, 0x81
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            If (LEqual (OSID, One))
                            {
                                Return (0x02)
                            }

                            Return (0x03)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x04001000)
                        }

                        If (LEqual (Arg2, 0x03))
                        {
                            Return (0x04000C01)
                        }

                        If (LEqual (Arg2, 0x04))
                        {
                            Return (0x04005402)
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x40, 0x46, 0x23, 0x79, 0x10, 0x9E, 0xEA, 0x4F,
                                /* 0008 */   0xA5, 0xC1, 0xB5, 0xAA, 0x8B, 0x19, 0x75, 0x6F
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (One)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x01003400)
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x94, 0xBB, 0xA9, 0x2F, 0x5D, 0x9C, 0xEB, 0x4A,
                                /* 0008 */   0x8E, 0x6E, 0x27, 0x43, 0x4F, 0x81, 0xE3, 0xD3
                            }))
                    {
                        Return ("CHT")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xA2, 0x6C, 0x7A, 0x64, 0x29, 0x8B, 0xAC, 0x49,
                                /* 0008 */   0x88, 0x06, 0xD5, 0x8B, 0x3D, 0x2D, 0x3E, 0xF5
                            }))
                    {
                        Return ("FFD")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xA1, 0x22, 0xE9, 0xA6, 0xB3, 0xF7, 0x99, 0x43,
                                /* 0008 */   0xB5, 0x6A, 0x40, 0x6A, 0xE4, 0x16, 0x84, 0x3B
                            }))
                    {
                        Return ("CHV")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x3B, 0x31, 0x60, 0x59, 0xB0, 0x0A, 0x40, 0x49,
                                /* 0008 */   0x88, 0x40, 0x2C, 0xAF, 0xA4, 0x20, 0xC0, 0x15
                            }))
                    {
                        Return ("INTEL")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x9F, 0xD3, 0x86, 0xF4, 0x57, 0xD6, 0x4B, 0x48,
                                /* 0008 */   0x84, 0xA6, 0x42, 0xA5, 0x65, 0x71, 0x2B, 0x92
                            }))
                    {
                        If (LEqual (OSID, One))
                        {
                            Return (Buffer (0x20)
                            {
                                /* 0000 */   0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x03,
                                /* 0008 */   0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0018 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                            })
                        }

                        Return (Buffer (0x20)
                        {
                            /* 0000 */   0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x01,
                            /* 0008 */   0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0010 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0018 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                    }

                    Return (Zero)
                }
            }

            Device (CAM3)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT33BE")  // _HID: Hardware ID
                Name (_CID, "INT33BE")  // _CID: Compatible ID
                Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
                Name (_DDN, "OV5693")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Name (CDEP, Package (0x02)
                {
                    I2C7, 
                    ^^I2C7.PMIC
                })
                Name (CPR0, Package (0x04)
                {
                    P28X, 
                    P18X, 
                    P33X, 
                    CLK0
                })
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    I2C7, 
                    ^^I2C7.PMI5
                })
                Name (_PR0, Package (0x04)  // _PR0: Power Resources for D0
                {
                    P28W, 
                    P18W, 
                    P33W, 
                    CLK0
                })
                Name (PLDB, Package (0x01)
                {
                    Buffer (0x14)
                    {
                        /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                        /* 0008 */   0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
                        /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                    }
                })
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (PLDB)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LOr (LEqual (BDID, One), LEqual (BDID, 0x0A)))
                    {
                        Return (Zero)
                    }

                    If (LEqual (RCAM, One))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    If (LEqual (^^^^GPO1.AVBL, One))
                    {
                        Store (Zero, RCFG)
                        If (LAnd (LEqual (FCFG, Zero), LEqual (OSID, One)))
                        {
                            Store (Zero, ^^^^GPO1.CRST)
                        }
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    Store (One, RCFG)
                    If (LAnd (LEqual (^^^^GPO1.AVBL, One), LEqual (OSID, One)))
                    {
                        Store (One, ^^^^GPO1.CRST)
                    }
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (WBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0034
                            }
                        I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                        I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                        I2cSerialBus (0x0054, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    Name (ABUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0034
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                        I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    If (LEqual (OSID, One))
                    {
                        Return (WBUF)
                    }
                    Else
                    {
                        Return (ABUF)
                    }
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x4F, 0x6C, 0x2F, 0xDC, 0x5B, 0x04, 0x1D, 0x4F,
                                /* 0008 */   0x97, 0xB9, 0x88, 0x2A, 0x68, 0x60, 0xA4, 0xBE
                            }))
                    {
                        Store (Package (0x12)
                            {
                                "CamId", 
                                "ov5693", 
                                "CamType", 
                                "1", 
                                "CsiPort", 
                                "1", 
                                "CsiLanes", 
                                "2", 
                                "CsiFmt", 
                                "15", 
                                "CsiBayer", 
                                "2", 
                                "CamClk", 
                                "0", 
                                "Regulator1p8v", 
                                "0", 
                                "Regulator2p8v", 
                                "0"
                            }, Local0)
                        Return (Local0)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x6A, 0xA7, 0x7B, 0x37, 0x90, 0xF3, 0xFF, 0x4A,
                                /* 0008 */   0xAB, 0x38, 0x9B, 0x1B, 0xF3, 0x3A, 0x30, 0x15
                            }))
                    {
                        Return ("INT33BE")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xAA, 0xAA, 0x62, 0x3C, 0xE0, 0xD8, 0x1A, 0x40,
                                /* 0008 */   0x84, 0xC3, 0xFC, 0x05, 0x65, 0x6F, 0xA2, 0x8C
                            }))
                    {
                        Return ("OV5693")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x8F, 0xCE, 0x2A, 0x82, 0x14, 0x28, 0x74, 0x41,
                                /* 0008 */   0xA5, 0x6B, 0x5F, 0x02, 0x9F, 0xE0, 0x79, 0xEE
                            }))
                    {
                        Return ("12P2BA535")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x2A, 0x51, 0x59, 0x29, 0x8C, 0x02, 0x46, 0x46,
                                /* 0008 */   0xB7, 0x3D, 0x4D, 0x1B, 0x56, 0x72, 0xFA, 0xD8
                            }))
                    {
                        Return ("CHV_ITL_RVP")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x42, 0xB2, 0x8A, 0x91, 0x7C, 0xC3, 0x0A, 0x45,
                                /* 0008 */   0x9D, 0x0F, 0xF4, 0x7A, 0xB9, 0x7C, 0x3D, 0xEA
                            }))
                    {
                        Return (0x0102)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xD8, 0x7B, 0x3B, 0xEA, 0x9B, 0xE0, 0x39, 0x42,
                                /* 0008 */   0xAD, 0x6E, 0xED, 0x52, 0x5F, 0x3F, 0x26, 0xAB
                            }))
                    {
                        Return (One)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x92, 0xC4, 0x5A, 0xB6, 0x30, 0x9E, 0x60, 0x4D,
                                /* 0008 */   0xB5, 0xB2, 0xF4, 0x97, 0xC7, 0x90, 0xD9, 0xCF
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x0F, 0xAB, 0x70, 0xE7, 0x44, 0x26, 0xAB, 0x4B,
                                /* 0008 */   0x86, 0x28, 0xD6, 0x2F, 0x16, 0x83, 0xFB, 0x9D
                            }))
                    {
                        Return (One)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xB2, 0x4A, 0xA5, 0x1E, 0x84, 0xCD, 0xCC, 0x48,
                                /* 0008 */   0x9D, 0xD4, 0x7F, 0x59, 0x4E, 0xC3, 0xB0, 0x15
                            }))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x51, 0x26, 0xBE, 0x8D, 0xC1, 0x70, 0x6F, 0x4C,
                                /* 0008 */   0xAC, 0x87, 0xA3, 0x7C, 0xB4, 0x6E, 0x4A, 0xF6
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x39, 0xA6, 0xC9, 0x75, 0x8A, 0x5C, 0x00, 0x4A,
                                /* 0008 */   0x9F, 0x48, 0xA9, 0xC3, 0xB5, 0xDA, 0x78, 0x9F
                            }))
                    {
                        Return ("AD5823")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x49, 0x75, 0x25, 0x26, 0x71, 0x92, 0xA4, 0x4C,
                                /* 0008 */   0xBB, 0x43, 0xC4, 0x89, 0x9D, 0x5A, 0x48, 0x81
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (0x03)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x04001000)
                        }

                        If (LEqual (Arg2, 0x03))
                        {
                            Return (0x04000C01)
                        }

                        If (LEqual (Arg2, 0x04))
                        {
                            Return (0x04005402)
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x40, 0x46, 0x23, 0x79, 0x10, 0x9E, 0xEA, 0x4F,
                                /* 0008 */   0xA5, 0xC1, 0xB5, 0xAA, 0x8B, 0x19, 0x75, 0x6F
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (One)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x01003400)
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x94, 0xBB, 0xA9, 0x2F, 0x5D, 0x9C, 0xEB, 0x4A,
                                /* 0008 */   0x8E, 0x6E, 0x27, 0x43, 0x4F, 0x81, 0xE3, 0xD3
                            }))
                    {
                        Return ("CHT")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xA2, 0x6C, 0x7A, 0x64, 0x29, 0x8B, 0xAC, 0x49,
                                /* 0008 */   0x88, 0x06, 0xD5, 0x8B, 0x3D, 0x2D, 0x3E, 0xF5
                            }))
                    {
                        Return ("FFD")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xA1, 0x22, 0xE9, 0xA6, 0xB3, 0xF7, 0x99, 0x43,
                                /* 0008 */   0xB5, 0x6A, 0x40, 0x6A, 0xE4, 0x16, 0x84, 0x3B
                            }))
                    {
                        Return ("CHV")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x3B, 0x31, 0x60, 0x59, 0xB0, 0x0A, 0x40, 0x49,
                                /* 0008 */   0x88, 0x40, 0x2C, 0xAF, 0xA4, 0x20, 0xC0, 0x15
                            }))
                    {
                        Return ("INTEL")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x9F, 0xD3, 0x86, 0xF4, 0x57, 0xD6, 0x4B, 0x48,
                                /* 0008 */   0x84, 0xA6, 0x42, 0xA5, 0x65, 0x71, 0x2B, 0x92
                            }))
                    {
                        Return (Buffer (0x20)
                        {
                            /* 0000 */   0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x01,
                            /* 0008 */   0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0010 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0018 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                    }

                    Return (Zero)
                }
            }

            Device (CAM4)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT33FB")  // _HID: Hardware ID
                Name (_CID, "INT33FB")  // _CID: Compatible ID
                Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
                Name (_DDN, "OV2722")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Name (CDEP, Package (0x02)
                {
                    I2C7, 
                    ^^I2C7.PMIC
                })
                Name (CPR0, Package (0x04)
                {
                    P28X, 
                    P18X, 
                    P33X, 
                    CLK1
                })
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    I2C7, 
                    ^^I2C7.PMI5
                })
                Name (_PR0, Package (0x04)  // _PR0: Power Resources for D0
                {
                    P28W, 
                    P18W, 
                    P33W, 
                    CLK1
                })
                Name (PLDB, Package (0x01)
                {
                    Buffer (0x14)
                    {
                        /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                        /* 0008 */   0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
                        /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                    }
                })
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (PLDB)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    If (LEqual (RCAM, One))
                    {
                        If (LEqual (^^^^GPO1.AVBL, One))
                        {
                            Store (Zero, FCFG)
                            If (LAnd (LEqual (RCFG, Zero), LEqual (OSID, One)))
                            {
                                Store (Zero, ^^^^GPO1.CRST)
                            }
                        }
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    Store (One, FCFG)
                    If (LEqual (RCAM, One))
                    {
                        If (LAnd (LEqual (^^^^GPO1.AVBL, One), LEqual (OSID, One)))
                        {
                            Store (One, ^^^^GPO1.CRST)
                        }
                    }
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (WBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0032
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0036
                            }
                        I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    Name (ABUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0032
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0036
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                        I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C4",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    If (LOr (LEqual (OSID, One), LEqual (OSID, 0x04)))
                    {
                        Return (WBUF)
                    }
                    Else
                    {
                        Return (ABUF)
                    }
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x4F, 0x6C, 0x2F, 0xDC, 0x5B, 0x04, 0x1D, 0x4F,
                                /* 0008 */   0x97, 0xB9, 0x88, 0x2A, 0x68, 0x60, 0xA4, 0xBE
                            }))
                    {
                        Store (Package (0x12)
                            {
                                "CamId", 
                                "ov2722", 
                                "CamType", 
                                "1", 
                                "CsiPort", 
                                "0", 
                                "CsiLanes", 
                                "1", 
                                "CsiFmt", 
                                "15", 
                                "CsiBayer", 
                                "0", 
                                "CamClk", 
                                "1", 
                                "Regulator1p8v", 
                                "0", 
                                "Regulator2p8v", 
                                "0"
                            }, Local0)
                        Return (Local0)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x6A, 0xA7, 0x7B, 0x37, 0x90, 0xF3, 0xFF, 0x4A,
                                /* 0008 */   0xAB, 0x38, 0x9B, 0x1B, 0xF3, 0x3A, 0x30, 0x15
                            }))
                    {
                        Return ("INT33FB")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xAA, 0xAA, 0x62, 0x3C, 0xE0, 0xD8, 0x1A, 0x40,
                                /* 0008 */   0x84, 0xC3, 0xFC, 0x05, 0x65, 0x6F, 0xA2, 0x8C
                            }))
                    {
                        Return ("OV2722")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x8F, 0xCE, 0x2A, 0x82, 0x14, 0x28, 0x74, 0x41,
                                /* 0008 */   0xA5, 0x6B, 0x5F, 0x02, 0x9F, 0xE0, 0x79, 0xEE
                            }))
                    {
                        Return ("13P2SF206")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x2A, 0x51, 0x59, 0x29, 0x8C, 0x02, 0x46, 0x46,
                                /* 0008 */   0xB7, 0x3D, 0x4D, 0x1B, 0x56, 0x72, 0xFA, 0xD8
                            }))
                    {
                        Return ("CHV_ITL_RVP")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x42, 0xB2, 0x8A, 0x91, 0x7C, 0xC3, 0x0A, 0x45,
                                /* 0008 */   0x9D, 0x0F, 0xF4, 0x7A, 0xB9, 0x7C, 0x3D, 0xEA
                            }))
                    {
                        Return (0x0101)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xD8, 0x7B, 0x3B, 0xEA, 0x9B, 0xE0, 0x39, 0x42,
                                /* 0008 */   0xAD, 0x6E, 0xED, 0x52, 0x5F, 0x3F, 0x26, 0xAB
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x92, 0xC4, 0x5A, 0xB6, 0x30, 0x9E, 0x60, 0x4D,
                                /* 0008 */   0xB5, 0xB2, 0xF4, 0x97, 0xC7, 0x90, 0xD9, 0xCF
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x0F, 0xAB, 0x70, 0xE7, 0x44, 0x26, 0xAB, 0x4B,
                                /* 0008 */   0x86, 0x28, 0xD6, 0x2F, 0x16, 0x83, 0xFB, 0x9D
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xB2, 0x4A, 0xA5, 0x1E, 0x84, 0xCD, 0xCC, 0x48,
                                /* 0008 */   0x9D, 0xD4, 0x7F, 0x59, 0x4E, 0xC3, 0xB0, 0x15
                            }))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x51, 0x26, 0xBE, 0x8D, 0xC1, 0x70, 0x6F, 0x4C,
                                /* 0008 */   0xAC, 0x87, 0xA3, 0x7C, 0xB4, 0x6E, 0x4A, 0xF6
                            }))
                    {
                        Return (One)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x39, 0xA6, 0xC9, 0x75, 0x8A, 0x5C, 0x00, 0x4A,
                                /* 0008 */   0x9F, 0x48, 0xA9, 0xC3, 0xB5, 0xDA, 0x78, 0x9F
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x49, 0x75, 0x25, 0x26, 0x71, 0x92, 0xA4, 0x4C,
                                /* 0008 */   0xBB, 0x43, 0xC4, 0x89, 0x9D, 0x5A, 0x48, 0x81
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (One)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x04003600)
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x40, 0x46, 0x23, 0x79, 0x10, 0x9E, 0xEA, 0x4F,
                                /* 0008 */   0xA5, 0xC1, 0xB5, 0xAA, 0x8B, 0x19, 0x75, 0x6F
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (0x02)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x01003200)
                        }

                        If (LEqual (Arg2, 0x03))
                        {
                            If (LEqual (RCAM, One))
                            {
                                Return (0x3601)
                            }
                            Else
                            {
                                Return (0x01003601)
                            }
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x94, 0xBB, 0xA9, 0x2F, 0x5D, 0x9C, 0xEB, 0x4A,
                                /* 0008 */   0x8E, 0x6E, 0x27, 0x43, 0x4F, 0x81, 0xE3, 0xD3
                            }))
                    {
                        Return ("CHT")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xA2, 0x6C, 0x7A, 0x64, 0x29, 0x8B, 0xAC, 0x49,
                                /* 0008 */   0x88, 0x06, 0xD5, 0x8B, 0x3D, 0x2D, 0x3E, 0xF5
                            }))
                    {
                        Return ("FFD")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xA1, 0x22, 0xE9, 0xA6, 0xB3, 0xF7, 0x99, 0x43,
                                /* 0008 */   0xB5, 0x6A, 0x40, 0x6A, 0xE4, 0x16, 0x84, 0x3B
                            }))
                    {
                        Return ("CHV")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x3B, 0x31, 0x60, 0x59, 0xB0, 0x0A, 0x40, 0x49,
                                /* 0008 */   0x88, 0x40, 0x2C, 0xAF, 0xA4, 0x20, 0xC0, 0x15
                            }))
                    {
                        Return ("INTEL")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x9F, 0xD3, 0x86, 0xF4, 0x57, 0xD6, 0x4B, 0x48,
                                /* 0008 */   0x84, 0xA6, 0x42, 0xA5, 0x65, 0x71, 0x2B, 0x92
                            }))
                    {
                        Return (Buffer (0x20)
                        {
                            /* 0000 */   0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0008 */   0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0010 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0018 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                    }

                    Return (Zero)
                }
            }
        }

        Device (I2C5)
        {
            Name (_HID, "808622C1")  // _HID: Hardware ID
            Name (_CID, "808622C1")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) I2C Controller #5 - 808622C5")  // _DDN: DOS Device Name
            Name (_UID, 0x05)  // _UID: Unique ID
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y19)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000024,
                }
                FixedDMA (0x0018, 0x0000, Width32bit, )
                FixedDMA (0x0019, 0x0001, Width32bit, )
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.I2C5._Y19._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.I2C5._Y19._LEN, B0LN)  // _LEN: Length
                Store (I50A, B0BA)
                Store (I50L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (I50A, Zero), LEqual (L25D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, I51A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (IC5P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (I2C6)
        {
            Name (_HID, "808622C1")  // _HID: Hardware ID
            Name (_CID, "808622C1")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) I2C Controller #6 - 808622C6")  // _DDN: DOS Device Name
            Name (_UID, 0x06)  // _UID: Unique ID
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y1A)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000025,
                }
                FixedDMA (0x001A, 0x0002, Width32bit, )
                FixedDMA (0x001B, 0x0003, Width32bit, )
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.I2C6._Y1A._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.I2C6._Y1A._LEN, B0LN)  // _LEN: Length
                Store (I60A, B0BA)
                Store (I60L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (I60A, Zero), LEqual (L26D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, I61A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (IC6P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Device (TCSE)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "GDIX1001")  // _HID: Hardware ID
                Name (_CID, "GDIX1001")  // _CID: Compatible ID
                Name (_S0W, Zero)  // _S0W: S0 Device Wake State
                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (WBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x0014, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C6",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x0000,
                            "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004D
                            }
                        GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0014
                            }
                    })
                    Return (WBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                OperationRegion (IADR, SystemMemory, 0xFED9D810, 0x08)
                Field (IADR, DWordAcc, NoLock, Preserve)
                {
                    CNF0,   32, 
                    CNF1,   32
                }

                OperationRegion (SADR, SystemMemory, 0xFED98300, 0x04)
                Field (SADR, DWordAcc, NoLock, Preserve)
                {
                    ISTS,   32
                }

                OperationRegion (MADR, SystemMemory, 0xFED98380, 0x04)
                Field (MADR, DWordAcc, NoLock, Preserve)
                {
                    IMSK,   32
                }

                Method (_REG, 2, NotSerialized)  // _REG: Region Availability
                {
                    If (LEqual (Arg0, Zero))
                    {
                        If (LEqual (Arg1, One))
                        {
                            If (LEqual (CFB1, Zero))
                            {
                                Store (CNF1, Local0)
                                Store (Local0, CFB1)
                            }
                        }
                    }
                }

                Name (CFB1, Zero)
                Name (IOST, Zero)
                Mutex (MTEX, 0x00)
                Method (INTI, 0, Serialized)
                {
                    Acquire (MTEX, 0x0064)
                    Store (CNF0, Local0)
                    And (Local0, 0xFFFFF8FF, Local0)
                    Or (Local0, 0x0200, Local0)
                    Store (Local0, CNF0)
                    If (LNotEqual (CFB1, Zero))
                    {
                        Store (CFB1, CNF1)
                    }

                    Store (CNF0, Local0)
                    And (ShiftRight (Local0, 0x1C), 0x0F, Local1)
                    Store (IMSK, Local0)
                    Or (ShiftLeft (One, Local1), Local0, Local0)
                    Store (Local0, IMSK)
                    Release (MTEX)
                }

                Method (INTO, 1, Serialized)
                {
                    Acquire (MTEX, 0x0064)
                    Store (CNF0, Local0)
                    And (Local0, 0x0700, Local0)
                    If (LEqual (Local0, 0x0100))
                    {
                        Store (Zero, IOST)
                    }
                    Else
                    {
                        Store (One, IOST)
                    }

                    If (LEqual (CFB1, Zero))
                    {
                        Store (CNF1, CFB1)
                    }

                    And (CNF1, 0xFFFFFFF8, CNF1)
                    Store (CNF0, Local0)
                    And (ShiftRight (Local0, 0x1C), 0x0F, Local1)
                    Store (IMSK, Local0)
                    And (Not (ShiftLeft (One, Local1)), Local0, Local0)
                    Store (Local0, IMSK)
                    Store (ISTS, Local0)
                    Or (ShiftLeft (One, Local1), Local0, Local0)
                    Store (Local0, ISTS)
                    Store (CNF0, Local0)
                    And (Local0, 0xFFFFF8FF, Local0)
                    Or (Local0, 0x0100, Local0)
                    If (LEqual (Arg0, One))
                    {
                        Or (Local0, 0x02, Local0)
                    }
                    Else
                    {
                        If (LEqual (Arg0, Zero))
                        {
                            And (Local0, 0xFFFFFFFD, Local0)
                        }
                        Else
                        {
                            If (LEqual (IOST, One))
                            {
                                If (And (Local0, One))
                                {
                                    Or (Local0, 0x02, Local0)
                                }
                                Else
                                {
                                    And (Local0, 0xFFFFFFFD, Local0)
                                }
                            }
                        }
                    }

                    Store (Local0, CNF0)
                    Release (MTEX)
                }

                Method (INTS, 0, Serialized)
                {
                    Acquire (MTEX, 0x0064)
                    Store (CNF0, Local0)
                    And (Local0, 0x0700, Local0)
                    If (LEqual (Local0, 0x0100))
                    {
                        Store (Zero, IOST)
                    }
                    Else
                    {
                        Store (One, IOST)
                    }

                    Store (CNF0, Local0)
                    If (LEqual (IOST, One))
                    {
                        If (And (Local0, One))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                    Else
                    {
                        If (And (Local0, 0x02))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Release (MTEX)
                }
            }
        }

        Device (I2C7)
        {
            Name (_HID, "808622C1")  // _HID: Hardware ID
            Name (_CID, "808622C1")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) I2C Controller #7 - 808622C7")  // _DDN: DOS Device Name
            Name (_UID, 0x07)  // _UID: Unique ID
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Method (_SEM, 0, NotSerialized)
            {
                If (LOr (LEqual (PMID, One), LEqual (PMID, 0x02)))
                {
                    ADBG ("$COVE")
                    Return (One)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y1B)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000026,
                }
                FixedDMA (0x001C, 0x0004, Width32bit, )
                FixedDMA (0x001D, 0x0005, Width32bit, )
            })
            Method (_IRC, 0, NotSerialized)  // _IRC: Inrush Current
            {
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.I2C7._Y1B._BAS, B0BA)  // _BAS: Base Address
                CreateDWordField (RBUF, \_SB.PCI0.I2C7._Y1B._LEN, B0LN)  // _LEN: Length
                Store (I70A, B0BA)
                Store (I70L, B0LN)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (I70A, Zero), LEqual (L27D, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                If (LOr (LEqual (PMID, One), LEqual (PMID, 0x02)))
                {
                    Return (Zero)
                }

                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, I71A, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            OperationRegion (GPEX, GenericSerialBus, Zero, 0x0100)
            Field (GPEX, BufferAcc, NoLock, Preserve)
            {
                Connection (
                    I2cSerialBus (0x0023, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                        0x00, ResourceConsumer, ,
                        )
                ), 
                Offset (0x04), 
                AccessAs (BufferAcc, AttribByte), 
                P0DT,   8, 
                Offset (0x0C), 
                AccessAs (BufferAcc, AttribByte), 
                P0CF,   8
            }

            OperationRegion (GPUS, GenericSerialBus, Zero, 0x0100)
            Field (GPUS, BufferAcc, NoLock, Preserve)
            {
                Connection (
                    I2cSerialBus (0x005E, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                        0x00, ResourceConsumer, ,
                        )
                ), 
                Offset (0x03), 
                AccessAs (BufferAcc, AttribByte), 
                SIRQ,   8
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (IC7P, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Scope (URT1)
        {
            Device (BTH7)
            {
                Name (_HID, "OBDA8723")  // _HID: Hardware ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (ABUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PCI0.URT1",
                            0x00, ResourceConsumer, ,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0001
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x001B
                            }
                        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDown, 0x0000,
                            "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002E
                            }
                    })
                    Name (WBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PCI0.URT1",
                            0x00, ResourceConsumer, ,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0003
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004C
                            }
                        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDown, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x005A
                            }
                    })
                    If (LEqual (OSID, One))
                    {
                        Return (WBUF)
                    }

                    Return (ABUF)
                }
            }

            Device (BTH3)
            {
                Name (_HID, "BCM2E7E")  // _HID: Hardware ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (UBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PCI0.URT1",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveLow, Exclusive, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004C
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004E
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0003
                            }
                    })
                    Return (UBUF)
                }
            }
        }

        Scope (I2C2)
        {
            Device (CAMB)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT33F8")  // _HID: Hardware ID
                Name (_CID, "INT33F8")  // _CID: Compatible ID
                Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
                Name (_DDN, "GC2235")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Name (TPR0, Package (0x04)
                {
                    P18T, 
                    P18D, 
                    P28T, 
                    CLK4
                })
                Name (PLDB, Package (0x01)
                {
                    Buffer (0x14)
                    {
                        /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                        /* 0008 */   0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
                        /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                    }
                })
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (PLDB)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002F
                            }
                        I2cSerialBus (0x003C, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C2",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    Return (SBUF)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x6A, 0xA7, 0x7B, 0x37, 0x90, 0xF3, 0xFF, 0x4A,
                                /* 0008 */   0xAB, 0x38, 0x9B, 0x1B, 0xF3, 0x3A, 0x30, 0x15
                            }))
                    {
                        Return ("INT33F8")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xAA, 0xAA, 0x62, 0x3C, 0xE0, 0xD8, 0x1A, 0x40,
                                /* 0008 */   0x84, 0xC3, 0xFC, 0x05, 0x65, 0x6F, 0xA2, 0x8C
                            }))
                    {
                        Return ("GC2235")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x8F, 0xCE, 0x2A, 0x82, 0x14, 0x28, 0x74, 0x41,
                                /* 0008 */   0xA5, 0x6B, 0x5F, 0x02, 0x9F, 0xE0, 0x79, 0xEE
                            }))
                    {
                        Return ("DCBINT05UFGFC")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x2A, 0x51, 0x59, 0x29, 0x8C, 0x02, 0x46, 0x46,
                                /* 0008 */   0xB7, 0x3D, 0x4D, 0x1B, 0x56, 0x72, 0xFA, 0xD8
                            }))
                    {
                        Return ("CHV_ITL_CR")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x42, 0xB2, 0x8A, 0x91, 0x7C, 0xC3, 0x0A, 0x45,
                                /* 0008 */   0x9D, 0x0F, 0xF4, 0x7A, 0xB9, 0x7C, 0x3D, 0xEA
                            }))
                    {
                        Return (0x0104)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xD8, 0x7B, 0x3B, 0xEA, 0x9B, 0xE0, 0x39, 0x42,
                                /* 0008 */   0xAD, 0x6E, 0xED, 0x52, 0x5F, 0x3F, 0x26, 0xAB
                            }))
                    {
                        Return (0x1020)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x92, 0xC4, 0x5A, 0xB6, 0x30, 0x9E, 0x60, 0x4D,
                                /* 0008 */   0xB5, 0xB2, 0xF4, 0x97, 0xC7, 0x90, 0xD9, 0xCF
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x0F, 0xAB, 0x70, 0xE7, 0x44, 0x26, 0xAB, 0x4B,
                                /* 0008 */   0x86, 0x28, 0xD6, 0x2F, 0x16, 0x83, 0xFB, 0x9D
                            }))
                    {
                        Return (One)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xB2, 0x4A, 0xA5, 0x1E, 0x84, 0xCD, 0xCC, 0x48,
                                /* 0008 */   0x9D, 0xD4, 0x7F, 0x59, 0x4E, 0xC3, 0xB0, 0x15
                            }))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x51, 0x26, 0xBE, 0x8D, 0xC1, 0x70, 0x6F, 0x4C,
                                /* 0008 */   0xAC, 0x87, 0xA3, 0x7C, 0xB4, 0x6E, 0x4A, 0xF6
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x39, 0xA6, 0xC9, 0x75, 0x8A, 0x5C, 0x00, 0x4A,
                                /* 0008 */   0x9F, 0x48, 0xA9, 0xC3, 0xB5, 0xDA, 0x78, 0x9F
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x49, 0x75, 0x25, 0x26, 0x71, 0x92, 0xA4, 0x4C,
                                /* 0008 */   0xBB, 0x43, 0xC4, 0x89, 0x9D, 0x5A, 0x48, 0x81
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (One)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x04003C00)
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x40, 0x46, 0x23, 0x79, 0x10, 0x9E, 0xEA, 0x4F,
                                /* 0008 */   0xA5, 0xC1, 0xB5, 0xAA, 0x8B, 0x19, 0x75, 0x6F
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (0x02)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x01003700)
                        }

                        If (LEqual (Arg2, 0x03))
                        {
                            Return (0x2F01)
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x94, 0xBB, 0xA9, 0x2F, 0x5D, 0x9C, 0xEB, 0x4A,
                                /* 0008 */   0x8E, 0x6E, 0x27, 0x43, 0x4F, 0x81, 0xE3, 0xD3
                            }))
                    {
                        Return ("CHT_CR")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xA2, 0x6C, 0x7A, 0x64, 0x29, 0x8B, 0xAC, 0x49,
                                /* 0008 */   0x88, 0x06, 0xD5, 0x8B, 0x3D, 0x2D, 0x3E, 0xF5
                            }))
                    {
                        Return ("FFD")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xA1, 0x22, 0xE9, 0xA6, 0xB3, 0xF7, 0x99, 0x43,
                                /* 0008 */   0xB5, 0x6A, 0x40, 0x6A, 0xE4, 0x16, 0x84, 0x3B
                            }))
                    {
                        Return ("CHV_CR")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x3B, 0x31, 0x60, 0x59, 0xB0, 0x0A, 0x40, 0x49,
                                /* 0008 */   0x88, 0x40, 0x2C, 0xAF, 0xA4, 0x20, 0xC0, 0x15
                            }))
                    {
                        Return ("INTEL")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x9F, 0xD3, 0x86, 0xF4, 0x57, 0xD6, 0x4B, 0x48,
                                /* 0008 */   0x84, 0xA6, 0x42, 0xA5, 0x65, 0x71, 0x2B, 0x92
                            }))
                    {
                        Return (Buffer (0x20)
                        {
                            /* 0000 */   0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00,
                            /* 0008 */   0x05, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0010 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0018 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                    }

                    Return (Zero)
                }
            }

            Device (RTKA)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "10EC5645")  // _HID: Hardware ID
                Name (_CID, "10EC5645")  // _CID: Compatible ID
                Name (_DDN, "ALC5642")  // _DDN: DOS Device Name
                Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
                {
                    CLK3
                })
                Name (CHAN, Package (0x02)
                {
                    One, 
                    0x0124F800
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
                    Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x44, 0x0C, 0x24, 0xA9, 0x32, 0xF0, 0x4D, 0x45,
                                /* 0008 */   0x80, 0xE5, 0x7A, 0xEE, 0xD8, 0x0E, 0x95, 0x51
                            }))
                    {
                        CreateByteField (Arg3, Zero, FARG)
                        While (One)
                        {
                            Store (Arg2, _T_0)
                            If (LEqual (_T_0, 0x03))
                            {
                                While (One)
                                {
                                    Store (Arg3, _T_1)
                                    If (LEqual (_T_1, Zero))
                                    {
                                        Return (0x1D)
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_1, 0x04))
                                        {
                                            Return (Buffer (0x44)
                                            {
                                                /* 0000 */   0x08, 0x00, 0x00, 0xCE, 0x40, 0x00, 0x01, 0x00,
                                                /* 0008 */   0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x01, 0x00,
                                                /* 0010 */   0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x01, 0x00,
                                                /* 0018 */   0x02, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x01, 0x00,
                                                /* 0020 */   0x00, 0x00, 0x0D, 0x00, 0x14, 0x00, 0x01, 0x00,
                                                /* 0028 */   0x00, 0x20, 0x16, 0x00, 0x4B, 0x00, 0x01, 0x00,
                                                /* 0030 */   0x01, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x01, 0x00,
                                                /* 0038 */   0x89, 0x89, 0x01, 0x00, 0x4D, 0x00, 0x01, 0x00,
                                                /* 0040 */   0x01, 0x00, 0x00, 0x00
                                            })
                                        }
                                        Else
                                        {
                                            If (LEqual (_T_1, 0x02))
                                            {
                                                Return (Buffer (0x03CC)
                                                {
                                                    /* 0000 */   0x01, 0x30, 0x45, 0x56, 0x1E, 0x00, 0x01, 0x00,
                                                    /* 0008 */   0xA4, 0x00, 0x5D, 0x06, 0x01, 0x00, 0xA5, 0x00,
                                                    /* 0010 */   0x00, 0x00, 0x01, 0x00, 0xEB, 0x00, 0x15, 0x01,
                                                    /* 0018 */   0x01, 0x00, 0xEC, 0x00, 0xC4, 0xFD, 0x01, 0x00,
                                                    /* 0020 */   0xED, 0x00, 0x29, 0x1F, 0x01, 0x00, 0xEE, 0x00,
                                                    /* 0028 */   0xDA, 0x92, 0x01, 0x00, 0xE7, 0x00, 0xBA, 0x1E,
                                                    /* 0030 */   0x01, 0x00, 0xE8, 0x00, 0x9D, 0xE1, 0x01, 0x00,
                                                    /* 0038 */   0xE9, 0x00, 0x51, 0x01, 0x01, 0x00, 0xEA, 0x00,
                                                    /* 0040 */   0x8C, 0x93, 0x01, 0x00, 0xE5, 0x00, 0xB5, 0x01,
                                                    /* 0048 */   0x01, 0x00, 0xE6, 0x00, 0x82, 0xC8, 0x01, 0x00,
                                                    /* 0050 */   0xAE, 0x00, 0xEA, 0xC0, 0x01, 0x00, 0xAF, 0x00,
                                                    /* 0058 */   0x2C, 0x1F, 0x01, 0x00, 0xB0, 0x00, 0xEC, 0x0F,
                                                    /* 0060 */   0x01, 0x00, 0xB4, 0x00, 0x04, 0xE9, 0x01, 0x00,
                                                    /* 0068 */   0xB5, 0x00, 0x10, 0x1C, 0x01, 0x00, 0xB6, 0x00,
                                                    /* 0070 */   0x00, 0x00, 0x01, 0x00, 0xBA, 0x00, 0x00, 0x00,
                                                    /* 0078 */   0x01, 0x00, 0xBB, 0x00, 0x10, 0x1C, 0x01, 0x00,
                                                    /* 0080 */   0xBC, 0x00, 0x00, 0x00, 0x01, 0x00, 0xC0, 0x00,
                                                    /* 0088 */   0x36, 0x04, 0x01, 0x00, 0xC1, 0x00, 0x00, 0x00,
                                                    /* 0090 */   0x01, 0x00, 0xC4, 0x00, 0xB4, 0x1F, 0x01, 0x00,
                                                    /* 0098 */   0xC5, 0x00, 0x4B, 0x00, 0x01, 0x00, 0xC6, 0x00,
                                                    /* 00A0 */   0xB4, 0x1F, 0x01, 0x00, 0xCA, 0x00, 0xA9, 0x05,
                                                    /* 00A8 */   0x01, 0x00, 0xCC, 0x00, 0x00, 0x08, 0x00, 0x00,
                                                    /* 00B0 */   0xB1, 0x00, 0xC2, 0x30, 0x00, 0x00, 0xB0, 0x00,
                                                    /* 00B8 */   0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 00C0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 00C8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 00D0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 00D8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 00E0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 00E8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 00F0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00,
                                                    /* 00F8 */   0x01, 0x00, 0xA6, 0x00, 0x5D, 0x06, 0x01, 0x00,
                                                    /* 0100 */   0xA7, 0x00, 0x00, 0x00, 0x01, 0x00, 0xF5, 0x00,
                                                    /* 0108 */   0x15, 0x01, 0x01, 0x00, 0xF6, 0x00, 0xC4, 0xFD,
                                                    /* 0110 */   0x01, 0x00, 0xF7, 0x00, 0x29, 0x1F, 0x01, 0x00,
                                                    /* 0118 */   0xF8, 0x00, 0xDA, 0x92, 0x01, 0x00, 0xF1, 0x00,
                                                    /* 0120 */   0xBA, 0x1E, 0x01, 0x00, 0xF2, 0x00, 0x9D, 0xE1,
                                                    /* 0128 */   0x01, 0x00, 0xF3, 0x00, 0x51, 0x01, 0x01, 0x00,
                                                    /* 0130 */   0xF4, 0x00, 0x8C, 0x93, 0x01, 0x00, 0xEF, 0x00,
                                                    /* 0138 */   0xB5, 0x01, 0x01, 0x00, 0xF0, 0x00, 0x82, 0xC8,
                                                    /* 0140 */   0x01, 0x00, 0xB1, 0x00, 0xEA, 0xC0, 0x01, 0x00,
                                                    /* 0148 */   0xB2, 0x00, 0x2C, 0x1F, 0x01, 0x00, 0xB3, 0x00,
                                                    /* 0150 */   0xEC, 0x0F, 0x01, 0x00, 0xB7, 0x00, 0x04, 0xE9,
                                                    /* 0158 */   0x01, 0x00, 0xB8, 0x00, 0x10, 0x1C, 0x01, 0x00,
                                                    /* 0160 */   0xB9, 0x00, 0x00, 0x00, 0x01, 0x00, 0xBD, 0x00,
                                                    /* 0168 */   0x00, 0x00, 0x01, 0x00, 0xBE, 0x00, 0x10, 0x1C,
                                                    /* 0170 */   0x01, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x01, 0x00,
                                                    /* 0178 */   0xC2, 0x00, 0x36, 0x04, 0x01, 0x00, 0xC3, 0x00,
                                                    /* 0180 */   0x00, 0x00, 0x01, 0x00, 0xC7, 0x00, 0xB4, 0x1F,
                                                    /* 0188 */   0x01, 0x00, 0xC8, 0x00, 0x4B, 0x00, 0x01, 0x00,
                                                    /* 0190 */   0xC9, 0x00, 0xB4, 0x1F, 0x01, 0x00, 0xCB, 0x00,
                                                    /* 0198 */   0xA9, 0x05, 0x01, 0x00, 0xCD, 0x00, 0x00, 0x08,
                                                    /* 01A0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 01A8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 01B0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 01B8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 01C0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 01C8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 01D0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 01D8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 01E0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 01E8 */   0x14, 0x00, 0x01, 0x00, 0xCE, 0x00, 0x00, 0x00,
                                                    /* 01F0 */   0x01, 0x00, 0xCF, 0x00, 0x00, 0x00, 0x01, 0x00,
                                                    /* 01F8 */   0xD0, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD1, 0x00,
                                                    /* 0200 */   0x00, 0x00, 0x01, 0x00, 0xD2, 0x00, 0x00, 0x00,
                                                    /* 0208 */   0x01, 0x00, 0xD3, 0x00, 0x00, 0x00, 0x01, 0x00,
                                                    /* 0210 */   0xD4, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD5, 0x00,
                                                    /* 0218 */   0x00, 0x00, 0x01, 0x00, 0xD6, 0x00, 0x00, 0x00,
                                                    /* 0220 */   0x01, 0x00, 0xD7, 0x00, 0x00, 0x00, 0x01, 0x00,
                                                    /* 0228 */   0xD8, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD9, 0x00,
                                                    /* 0230 */   0x00, 0x00, 0x01, 0x00, 0xDA, 0x00, 0x00, 0x00,
                                                    /* 0238 */   0x01, 0x00, 0xDB, 0x00, 0x00, 0x00, 0x01, 0x00,
                                                    /* 0240 */   0xDC, 0x00, 0x00, 0x00, 0x01, 0x00, 0xDD, 0x00,
                                                    /* 0248 */   0x00, 0x00, 0x01, 0x00, 0xE1, 0x00, 0x00, 0x00,
                                                    /* 0250 */   0x01, 0x00, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0258 */   0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x00,
                                                    /* 0260 */   0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0268 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0270 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0278 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0280 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0288 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0290 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0298 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 02A0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 02A8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 02B0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 02B8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 02C0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 02C8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 02D0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 02D8 */   0x00, 0x00, 0x14, 0x00, 0x01, 0x00, 0xCE, 0x00,
                                                    /* 02E0 */   0x00, 0x00, 0x01, 0x00, 0xCF, 0x00, 0x00, 0x00,
                                                    /* 02E8 */   0x01, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x01, 0x00,
                                                    /* 02F0 */   0xD1, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD2, 0x00,
                                                    /* 02F8 */   0x00, 0x00, 0x01, 0x00, 0xD3, 0x00, 0x00, 0x00,
                                                    /* 0300 */   0x01, 0x00, 0xD4, 0x00, 0x00, 0x00, 0x01, 0x00,
                                                    /* 0308 */   0xD5, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD6, 0x00,
                                                    /* 0310 */   0x00, 0x00, 0x01, 0x00, 0xD7, 0x00, 0x00, 0x00,
                                                    /* 0318 */   0x01, 0x00, 0xD8, 0x00, 0x00, 0x00, 0x01, 0x00,
                                                    /* 0320 */   0xD9, 0x00, 0x00, 0x00, 0x01, 0x00, 0xDA, 0x00,
                                                    /* 0328 */   0x00, 0x00, 0x01, 0x00, 0xDB, 0x00, 0x00, 0x00,
                                                    /* 0330 */   0x01, 0x00, 0xDC, 0x00, 0x00, 0x00, 0x01, 0x00,
                                                    /* 0338 */   0xDD, 0x00, 0x00, 0x00, 0x01, 0x00, 0xE1, 0x00,
                                                    /* 0340 */   0x00, 0x00, 0x01, 0x00, 0xE2, 0x00, 0x00, 0x00,
                                                    /* 0348 */   0x00, 0x00, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0350 */   0xAE, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0358 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0360 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0368 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0370 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0378 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0380 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0388 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0390 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 0398 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 03A0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 03A8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 03B0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 03B8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 03C0 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                    /* 03C8 */   0x00, 0x00, 0x00, 0x00
                                                })
                                            }
                                            Else
                                            {
                                                If (LEqual (_T_1, 0x03))
                                                {
                                                    Return (Buffer (0x0132)
                                                    {
                                                        /* 0000 */   0x00, 0x20, 0x45, 0x56, 0x15, 0x00, 0x00, 0x00,
                                                        /* 0008 */   0xB3, 0x00, 0x1F, 0x06, 0x00, 0x00, 0xB4, 0x00,
                                                        /* 0010 */   0x2C, 0x42, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x1F,
                                                        /* 0018 */   0x00, 0x00, 0xB6, 0x00, 0x1F, 0x00, 0x00, 0x00,
                                                        /* 0020 */   0xB7, 0x00, 0x00, 0x40, 0x00, 0x00, 0xF0, 0x00,
                                                        /* 0028 */   0x1F, 0x06, 0x00, 0x00, 0xF1, 0x00, 0x2C, 0x02,
                                                        /* 0030 */   0x00, 0x00, 0xF2, 0x00, 0x00, 0x1F, 0x00, 0x00,
                                                        /* 0038 */   0xF3, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xF4, 0x00,
                                                        /* 0040 */   0x00, 0x40, 0x00, 0x00, 0xEA, 0x00, 0x20, 0x0F,
                                                        /* 0048 */   0x01, 0x00, 0x94, 0x00, 0x00, 0x87, 0x01, 0x00,
                                                        /* 0050 */   0x95, 0x00, 0xC2, 0x7D, 0x01, 0x00, 0x96, 0x00,
                                                        /* 0058 */   0x77, 0xA1, 0x01, 0x00, 0x97, 0x00, 0x83, 0x53,
                                                        /* 0060 */   0x01, 0x00, 0x98, 0x00, 0xC2, 0x7D, 0x01, 0x00,
                                                        /* 0068 */   0x99, 0x00, 0x77, 0xA1, 0x01, 0x00, 0x9A, 0x00,
                                                        /* 0070 */   0x83, 0x53, 0x01, 0x00, 0x9B, 0x00, 0x3E, 0x00,
                                                        /* 0078 */   0x01, 0x00, 0x9C, 0x00, 0xC1, 0x02, 0x01, 0x00,
                                                        /* 0080 */   0x9D, 0x00, 0x7D, 0xD3, 0x05, 0x00, 0x00, 0x00,
                                                        /* 0088 */   0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
                                                        /* 0090 */   0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
                                                        /* 0098 */   0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
                                                        /* 00A0 */   0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
                                                        /* 00A8 */   0x05, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF,
                                                        /* 00B0 */   0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00,
                                                        /* 00B8 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                        /* 00C0 */   0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
                                                        /* 00C8 */   0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
                                                        /* 00D0 */   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                        /* 00D8 */   0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
                                                        /* 00E0 */   0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
                                                        /* 00E8 */   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                        /* 00F0 */   0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
                                                        /* 00F8 */   0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
                                                        /* 0100 */   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                        /* 0108 */   0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
                                                        /* 0110 */   0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
                                                        /* 0118 */   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                        /* 0120 */   0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
                                                        /* 0128 */   0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
                                                        /* 0130 */   0x01, 0x00
                                                    })
                                                }
                                                Else
                                                {
                                                    Return (0x80000002)
                                                }
                                            }
                                        }
                                    }

                                    Break
                                }
                            }

                            Break
                        }
                    }

                    Return (0x80000002)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x001A, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C2",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004F
                            }
                    })
                    Return (SBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (OSID, One))
                    {
                        If (LEqual (BDID, One))
                        {
                            Return (0x0F)
                        }

                        Return (0x0F)
                    }

                    Return (0x0F)
                }

                Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                {
                }
            }

            Device (RTKC)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "10EC5640")  // _HID: Hardware ID
                Name (_CID, "10EC5640")  // _CID: Compatible ID
                Name (_DDN, "ALC5642")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Name (_DEP, Package (0x01)  // _DEP: Dependencies
                {
                    PEPD
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x001C, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C2",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0041
                            }
                    })
                    Return (SBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (OSID, One))
                    {
                        If (LEqual (BDID, One))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                {
                }
            }

            Device (TLV1)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "10TI3100")  // _HID: Hardware ID
                Name (_CID, "10TI3100")  // _CID: Compatible ID
                Name (_DDN, "TI TLV320AIC3100 Codec Controller ")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Name (OBJ1, Package (0x0A)
                {
                    One, 
                    0x017D7840, 
                    One, 
                    0x62, 
                    One, 
                    0x41, 
                    One, 
                    One, 
                    0x14, 
                    0xB3
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x0018, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.I2C2",
                            0x00, ResourceConsumer, ,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0041
                            }
                    })
                    Return (SBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LOr (LEqual (OSID, 0x02), LEqual (OSID, 0x04)))
                    {
                        If (LEqual (BDID, One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                {
                }
            }
        }

        Scope (I2C3)
        {
            Device (CAMC)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT33F8")  // _HID: Hardware ID
                Name (_CID, "INT33F8")  // _CID: Compatible ID
                Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
                Name (_DDN, "GC2235")  // _DDN: DOS Device Name
                Name (_UID, 0x02)  // _UID: Unique ID
                Name (TPR0, Package (0x04)
                {
                    P18T, 
                    P18D, 
                    P28T, 
                    CLK2
                })
                Name (PLDB, Package (0x01)
                {
                    Buffer (0x14)
                    {
                        /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                        /* 0008 */   0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
                        /* 0010 */   0xFF, 0xFF, 0xFF, 0xFF
                    }
                })
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (PLDB)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (RBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0032
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0034
                            }
                        I2cSerialBus (0x003C, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    Return (RBUF)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x6A, 0xA7, 0x7B, 0x37, 0x90, 0xF3, 0xFF, 0x4A,
                                /* 0008 */   0xAB, 0x38, 0x9B, 0x1B, 0xF3, 0x3A, 0x30, 0x15
                            }))
                    {
                        Return ("INT33F8")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xAA, 0xAA, 0x62, 0x3C, 0xE0, 0xD8, 0x1A, 0x40,
                                /* 0008 */   0x84, 0xC3, 0xFC, 0x05, 0x65, 0x6F, 0xA2, 0x8C
                            }))
                    {
                        Return ("GC2235")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x8F, 0xCE, 0x2A, 0x82, 0x14, 0x28, 0x74, 0x41,
                                /* 0008 */   0xA5, 0x6B, 0x5F, 0x02, 0x9F, 0xE0, 0x79, 0xEE
                            }))
                    {
                        Return ("DCBINT05UFGFC")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x2A, 0x51, 0x59, 0x29, 0x8C, 0x02, 0x46, 0x46,
                                /* 0008 */   0xB7, 0x3D, 0x4D, 0x1B, 0x56, 0x72, 0xFA, 0xD8
                            }))
                    {
                        Return ("CHV_ITL_CR")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x42, 0xB2, 0x8A, 0x91, 0x7C, 0xC3, 0x0A, 0x45,
                                /* 0008 */   0x9D, 0x0F, 0xF4, 0x7A, 0xB9, 0x7C, 0x3D, 0xEA
                            }))
                    {
                        Return (0x0104)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xD8, 0x7B, 0x3B, 0xEA, 0x9B, 0xE0, 0x39, 0x42,
                                /* 0008 */   0xAD, 0x6E, 0xED, 0x52, 0x5F, 0x3F, 0x26, 0xAB
                            }))
                    {
                        Return (0x1021)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x92, 0xC4, 0x5A, 0xB6, 0x30, 0x9E, 0x60, 0x4D,
                                /* 0008 */   0xB5, 0xB2, 0xF4, 0x97, 0xC7, 0x90, 0xD9, 0xCF
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x0F, 0xAB, 0x70, 0xE7, 0x44, 0x26, 0xAB, 0x4B,
                                /* 0008 */   0x86, 0x28, 0xD6, 0x2F, 0x16, 0x83, 0xFB, 0x9D
                            }))
                    {
                        Return (One)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xB2, 0x4A, 0xA5, 0x1E, 0x84, 0xCD, 0xCC, 0x48,
                                /* 0008 */   0x9D, 0xD4, 0x7F, 0x59, 0x4E, 0xC3, 0xB0, 0x15
                            }))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x51, 0x26, 0xBE, 0x8D, 0xC1, 0x70, 0x6F, 0x4C,
                                /* 0008 */   0xAC, 0x87, 0xA3, 0x7C, 0xB4, 0x6E, 0x4A, 0xF6
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x39, 0xA6, 0xC9, 0x75, 0x8A, 0x5C, 0x00, 0x4A,
                                /* 0008 */   0x9F, 0x48, 0xA9, 0xC3, 0xB5, 0xDA, 0x78, 0x9F
                            }))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x49, 0x75, 0x25, 0x26, 0x71, 0x92, 0xA4, 0x4C,
                                /* 0008 */   0xBB, 0x43, 0xC4, 0x89, 0x9D, 0x5A, 0x48, 0x81
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (One)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x04003C00)
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x40, 0x46, 0x23, 0x79, 0x10, 0x9E, 0xEA, 0x4F,
                                /* 0008 */   0xA5, 0xC1, 0xB5, 0xAA, 0x8B, 0x19, 0x75, 0x6F
                            }))
                    {
                        If (LEqual (Arg2, One))
                        {
                            Return (0x02)
                        }

                        If (LEqual (Arg2, 0x02))
                        {
                            Return (0x01003200)
                        }

                        If (LEqual (Arg2, 0x03))
                        {
                            Return (0x3401)
                        }
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x94, 0xBB, 0xA9, 0x2F, 0x5D, 0x9C, 0xEB, 0x4A,
                                /* 0008 */   0x8E, 0x6E, 0x27, 0x43, 0x4F, 0x81, 0xE3, 0xD3
                            }))
                    {
                        Return ("CHT_CR")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xA2, 0x6C, 0x7A, 0x64, 0x29, 0x8B, 0xAC, 0x49,
                                /* 0008 */   0x88, 0x06, 0xD5, 0x8B, 0x3D, 0x2D, 0x3E, 0xF5
                            }))
                    {
                        Return ("FFD")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xA1, 0x22, 0xE9, 0xA6, 0xB3, 0xF7, 0x99, 0x43,
                                /* 0008 */   0xB5, 0x6A, 0x40, 0x6A, 0xE4, 0x16, 0x84, 0x3B
                            }))
                    {
                        Return ("CHV_CR")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x3B, 0x31, 0x60, 0x59, 0xB0, 0x0A, 0x40, 0x49,
                                /* 0008 */   0x88, 0x40, 0x2C, 0xAF, 0xA4, 0x20, 0xC0, 0x15
                            }))
                    {
                        Return ("INTEL")
                    }

                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0x9F, 0xD3, 0x86, 0xF4, 0x57, 0xD6, 0x4B, 0x48,
                                /* 0008 */   0x84, 0xA6, 0x42, 0xA5, 0x65, 0x71, 0x2B, 0x92
                            }))
                    {
                        Return (Buffer (0x20)
                        {
                            /* 0000 */   0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00,
                            /* 0008 */   0x05, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0010 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            /* 0018 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                    }

                    Return (Zero)
                }
            }

            Device (STRB)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INTCF1D")  // _HID: Hardware ID
                Name (_CID, "INTCF1D")  // _CID: Compatible ID
                Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
                Name (_DDN, "Flash LM3642")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LAnd (LEqual (BDID, One), LEqual (OSID, 0x04)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x0063, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    Return (SBUF)
                }
            }

            Device (KXJ0)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "KIOX000A")  // _HID: Hardware ID
                Name (_CID, "KIOX000A")  // _CID: Compatible ID
                Name (_DDN, "KionixKXCJ9 Accelerometer")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (RBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x000F, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0015
                            }
                    })
                    Return (RBUF)
                }

                Method (_CDM, 1, NotSerialized)  // _CDM: Clock Domain
                {
                    Store (0x00ABCD03, Local0)
                    Return (Local0)
                }
            }
        }

        Scope (I2C6)
        {
            Device (TCS3)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "ATML1000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50")  // _CID: Compatible ID
                Name (_S0W, Zero)  // _S0W: S0 Device Wake State
                Name (XPR0, Package (0x01)
                {
                    P19X
                })
                Name (TPR0, Package (0x01)
                {
                    P3P3
                })
                Name (XDEP, Package (0x02)
                {
                    I2C7, 
                    ^^I2C7.PMI1
                })
                Name (TDEP, Package (0x02)
                {
                    I2C7, 
                    ^^I2C7.PMI2
                })
                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    If (LEqual (^^^^GPO1.AVBL, One))
                    {
                        Store (Zero, ^^^^GPO1.TCTL)
                    }

                    Sleep (0x78)
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    If (LEqual (^^^^GPO1.AVBL, One))
                    {
                        Store (One, ^^^^GPO1.TCTL)
                    }

                    Sleep (0x78)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (WBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x004A, ControllerInitiated, 0x0019F0A0,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C6",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Level, ActiveLow, Shared, PullDefault, 0x0000,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0011
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0019
                            }
                    })
                    Name (ABUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x004A, ControllerInitiated, 0x0019F0A0,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C6",
                            0x00, ResourceConsumer, ,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0019
                            }
                        GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0xFFFF
                            }
                        GpioInt (Level, ActiveLow, Shared, PullDefault, 0x0000,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0011
                            }
                    })
                    If (LEqual (OSID, One))
                    {
                        Return (WBUF)
                    }

                    Return (ABUF)
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
                    Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
                    Store ("Method _DSM begin", Debug)
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xF7, 0xF6, 0xDF, 0x3C, 0x67, 0x42, 0x55, 0x45,
                                /* 0008 */   0xAD, 0x05, 0xB3, 0x0A, 0x3D, 0x89, 0x38, 0xDE
                            }))
                    {
                        While (One)
                        {
                            Store (ToInteger (Arg2), _T_0)
                            If (LEqual (_T_0, Zero))
                            {
                                While (One)
                                {
                                    Store (ToInteger (Arg1), _T_1)
                                    If (LEqual (_T_1, One))
                                    {
                                        Store ("Method _DSM Function Query", Debug)
                                        Return (Buffer (One)
                                        {
                                             0x03
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00
                                        })
                                    }

                                    Break
                                }
                            }
                            Else
                            {
                                If (LEqual (_T_0, One))
                                {
                                    Store ("Method _DSM Function HID", Debug)
                                    Return (Zero)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            Break
                        }
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00
                        })
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LAnd (LEqual (BDID, One), LEqual (MPNL, Zero)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }
            }

            Device (SYN1)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "SYNP1000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50")  // _CID: Compatible ID
                Name (_S0W, Zero)  // _S0W: S0 Device Wake State
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    GPO1, 
                    I2C6
                })
                Name (XPR0, Package (0x01)
                {
                    P19X
                })
                Name (TPR0, Package (0x01)
                {
                    P3P3
                })
                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    If (LNotEqual (OSID, 0x04))
                    {
                        If (LEqual (^^^^GPO1.AVBL, One))
                        {
                            Store (Zero, ^^^^GPO1.TCTL)
                        }
                    }

                    Sleep (0x78)
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    If (LNotEqual (OSID, 0x04))
                    {
                        If (LEqual (^^^^GPO1.AVBL, One))
                        {
                            Store (One, ^^^^GPO1.TCTL)
                        }
                    }

                    Sleep (0x78)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (RBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x002C, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C6",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Level, ActiveLow, Shared, PullDefault, 0x0000,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0011
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0019
                            }
                    })
                    Return (RBUF)
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
                    Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
                    Store ("Method _DSM begin", Debug)
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xF7, 0xF6, 0xDF, 0x3C, 0x67, 0x42, 0x55, 0x45,
                                /* 0008 */   0xAD, 0x05, 0xB3, 0x0A, 0x3D, 0x89, 0x38, 0xDE
                            }))
                    {
                        While (One)
                        {
                            Store (ToInteger (Arg2), _T_0)
                            If (LEqual (_T_0, Zero))
                            {
                                While (One)
                                {
                                    Store (ToInteger (Arg1), _T_1)
                                    If (LEqual (_T_1, One))
                                    {
                                        Store ("Method _DSM Function Query", Debug)
                                        Return (Buffer (One)
                                        {
                                             0x03
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00
                                        })
                                    }

                                    Break
                                }
                            }
                            Else
                            {
                                If (LEqual (_T_0, One))
                                {
                                    Store ("Method _DSM Function HID", Debug)
                                    Return (0x20)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            Break
                        }
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00
                        })
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LAnd (LEqual (BDID, One), LEqual (MPNL, 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }
            }
        }

        Scope (\_SB)
        {
            Device (LID0)
            {
                Name (_HID, EisaId ("PNP0C0D"))  // _HID: Hardware ID
                OperationRegion (NSHR, SystemMemory, 0xFED84C28, 0x04)
                Field (NSHR, DWordAcc, NoLock, Preserve)
                {
                    PVAL,   8, 
                    Offset (0x04)
                }

                Method (_LID, 0, NotSerialized)  // _LID: Lid Status
                {
                    If (LEqual (^^GPO0.AVBL, One))
                    {
                        Store (PVAL, Local0)
                        If (And (Local0, One))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (One)
                }
            }
        }

        Scope (\_SB)
        {
            PowerResource (USBC, 0x00, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                }
            }
        }

        Device (IISH)
        {
            Name (_HID, "808622D8")  // _HID: Hardware ID
            Name (_CID, "808622D8")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) Integrated Sensor Hub - 808622D8")  // _DDN: DOS Device Name
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y1C)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y1D)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000072,
                }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.IISH._Y1C._BAS, B0BA)  // _BAS: Base Address
                Store (ISH0, B0BA)
                CreateDWordField (RBUF, \_SB.PCI0.IISH._Y1D._BAS, B1BA)  // _BAS: Base Address
                Store (ISH1, B1BA)
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LEqual (ISH0, Zero), LEqual (ISHD, One)))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            OperationRegion (KEYS, SystemMemory, ISH1, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (ISHP, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }
        }

        Device (LPEA)
        {
            Name (_HID, "808622A8")  // _HID: Hardware ID
            Name (_CID, "808622A8")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) Low Power Audio Controller - 808622A8")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00200000,         // Address Length
                    _Y1E)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y1F)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00200000,         // Address Length
                    _Y20)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000018,
                }
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000019,
                }
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000001A,
                }
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000001B,
                }
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000001C,
                }
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000001D,
                }
                GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x004F
                    }
            })
            Name (WBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00200000,         // Address Length
                    _Y21)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y22)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00200000,         // Address Length
                    _Y23)
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000018,
                }
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x00000019,
                }
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000001A,
                }
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000001B,
                }
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000001C,
                }
                Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                {
                    0x0000001D,
                }
                GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x005B
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                If (LAnd (LNotEqual (BDID, 0x09), LNotEqual (BDID, 0x0A)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y1E._BAS, B0BA)  // _BAS: Base Address
                    Store (LPE0, B0BA)
                    CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y1F._BAS, B1BA)  // _BAS: Base Address
                    Store (LPE1, B1BA)
                    CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y20._BAS, B2BA)  // _BAS: Base Address
                    Store (LPE2, B2BA)
                    Return (RBUF)
                }

                CreateDWordField (WBUF, \_SB.PCI0.LPEA._Y21._BAS, B3BA)  // _BAS: Base Address
                Store (LPE0, B3BA)
                CreateDWordField (WBUF, \_SB.PCI0.LPEA._Y22._BAS, B4BA)  // _BAS: Base Address
                Store (LPE1, B4BA)
                CreateDWordField (WBUF, \_SB.PCI0.LPEA._Y23._BAS, B5BA)  // _BAS: Base Address
                Store (LPE2, B5BA)
                Return (WBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LNotEqual (LPE0, Zero), LEqual (LPED, Zero)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                Or (PSAT, 0x03, PSAT)
                Or (PSAT, Zero, PSAT)
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                If (LEqual (LPEP, Zero))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                And (PSAT, 0xFFFFFFFC, PSAT)
                Or (PSAT, Zero, PSAT)
                Sleep (0x0A)
            }

            OperationRegion (KEYS, SystemMemory, LPE1, 0x0100)
            Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x84), 
                PSAT,   32
            }

            Device (ADMA)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "ADMA22A8")  // _HID: Hardware ID
                Name (_CID, "ADMA22A8")  // _CID: Compatible ID
                Name (_DDN, "Intel(R) Audio  DMA0 - DMA0F28")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Name (RBUF, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00200000,         // Address Length
                        _Y24)
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                    {
                        0x00000018,
                    }
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    CreateDWordField (RBUF, \_SB.PCI0.LPEA.ADMA._Y24._BAS, B3BA)  // _BAS: Base Address
                    Store (LPE0, B3BA)
                    Return (RBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LNotEqual (OSID, One))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }
            }
        }

        Scope (\_SB)
        {
            Device (VIBR)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "VIBR22A8")  // _HID: Hardware ID
                Name (_CID, "VIBR22A8")  // _CID: Compatible ID
                Name (_DDN, "Intel(R) Vibra Driver - VIB8601")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (RBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0004
                            }
                    })
                    Name (SBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0001
                            }
                    })
                    If (LEqual (BDID, One))
                    {
                        Return (SBUF)
                    }
                    Else
                    {
                        Return (RBUF)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LAnd (LNotEqual (OSID, One), LAnd (LNotEqual (BDID, 
                        0x08), LNotEqual (BDID, 0x0A))))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }
            }
        }

        Device (HAD0)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, "HAD022A8")  // _HID: Hardware ID
            Name (_CID, "HAD022A8")  // _CID: Compatible ID
            Name (_DDN, "Intel(R) HDMI Audio Driver - HAD")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x00065800,         // Address Base
                        0x00000140,         // Address Length
                        )
                })
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LNotEqual (OSID, One))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }
        }

        Device (SPRC)
        {
            Name (_HID, EisaId ("PNP0C02"))  // _HID: Hardware ID
            Name (_UID, 0x03)  // _UID: Unique ID
            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y25)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y26)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y27)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y28)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y29)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y2A)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y2B)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y2C)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y2D)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y2E)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y2F)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y30)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y31)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y32)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y33)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y34)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y35)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y36)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y37)
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y25._BAS, BR01)  // _BAS: Base Address
                Store (EM1A, BR01)
                If (LAnd (LNotEqual (BR01, Zero), LNotEqual (BR01, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y25._LEN, LN01)  // _LEN: Length
                    Store (EM1L, LN01)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y26._BAS, BR02)  // _BAS: Base Address
                Store (SI1A, BR02)
                If (LAnd (LNotEqual (BR02, Zero), LNotEqual (BR02, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y26._LEN, LN02)  // _LEN: Length
                    Store (SI1L, LN02)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y27._BAS, BR03)  // _BAS: Base Address
                Store (SD1A, BR03)
                If (LAnd (LNotEqual (BR03, Zero), LNotEqual (BR03, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y27._LEN, LN03)  // _LEN: Length
                    Store (SD1L, LN03)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y28._BAS, BR04)  // _BAS: Base Address
                Store (D11A, BR04)
                If (LAnd (LNotEqual (BR04, Zero), LNotEqual (BR04, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y28._LEN, LN04)  // _LEN: Length
                    Store (D11L, LN04)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y29._BAS, BR05)  // _BAS: Base Address
                Store (P11A, BR05)
                If (LAnd (LNotEqual (BR05, Zero), LNotEqual (BR05, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y29._LEN, LN05)  // _LEN: Length
                    Store (P11L, LN05)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2A._BAS, BR06)  // _BAS: Base Address
                Store (P21A, BR06)
                If (LAnd (LNotEqual (BR06, Zero), LNotEqual (BR06, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2A._LEN, LN06)  // _LEN: Length
                    Store (P21L, LN06)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2B._BAS, BR07)  // _BAS: Base Address
                Store (U11A, BR07)
                If (LAnd (LNotEqual (BR07, Zero), LNotEqual (BR07, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2B._LEN, LN07)  // _LEN: Length
                    Store (U11L, LN07)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2C._BAS, BR08)  // _BAS: Base Address
                Store (U21A, BR08)
                If (LAnd (LNotEqual (BR08, Zero), LNotEqual (BR08, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2C._LEN, LN08)  // _LEN: Length
                    Store (U21L, LN08)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2D._BAS, BR09)  // _BAS: Base Address
                Store (SP1A, BR09)
                If (LAnd (LNotEqual (BR09, Zero), LNotEqual (BR09, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2D._LEN, LN09)  // _LEN: Length
                    Store (SP1L, LN09)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2E._BAS, BR10)  // _BAS: Base Address
                Store (S21A, BR10)
                If (LAnd (LNotEqual (BR10, Zero), LNotEqual (BR10, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2E._LEN, LN10)  // _LEN: Length
                    Store (S21L, LN10)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2F._BAS, BR11)  // _BAS: Base Address
                Store (S31A, BR11)
                If (LAnd (LNotEqual (BR11, Zero), LNotEqual (BR11, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2F._LEN, LN11)  // _LEN: Length
                    Store (S31L, LN11)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y30._BAS, BR12)  // _BAS: Base Address
                Store (D21A, BR12)
                If (LAnd (LNotEqual (BR12, Zero), LNotEqual (BR12, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y30._LEN, LN12)  // _LEN: Length
                    Store (D21L, LN12)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y31._BAS, BR13)  // _BAS: Base Address
                Store (I11A, BR13)
                If (LAnd (LNotEqual (BR13, Zero), LNotEqual (BR13, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y31._LEN, LN13)  // _LEN: Length
                    Store (I11L, LN13)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y32._BAS, BR14)  // _BAS: Base Address
                Store (I21A, BR14)
                If (LAnd (LNotEqual (BR14, Zero), LNotEqual (BR14, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y32._LEN, LN14)  // _LEN: Length
                    Store (I21L, LN14)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y33._BAS, BR15)  // _BAS: Base Address
                Store (I31A, BR15)
                If (LAnd (LNotEqual (BR15, Zero), LNotEqual (BR15, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y33._LEN, LN15)  // _LEN: Length
                    Store (I31L, LN15)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y34._BAS, BR16)  // _BAS: Base Address
                Store (I41A, BR16)
                If (LAnd (LNotEqual (BR16, Zero), LNotEqual (BR16, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y34._LEN, LN16)  // _LEN: Length
                    Store (I41L, LN16)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y35._BAS, BR17)  // _BAS: Base Address
                Store (I51A, BR17)
                If (LAnd (LNotEqual (BR17, Zero), LNotEqual (BR17, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y35._LEN, LN17)  // _LEN: Length
                    Store (I51L, LN17)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y36._BAS, BR18)  // _BAS: Base Address
                Store (I61A, BR18)
                If (LAnd (LNotEqual (BR18, Zero), LNotEqual (BR18, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y36._LEN, LN18)  // _LEN: Length
                    Store (I61L, LN18)
                }

                CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y37._BAS, BR19)  // _BAS: Base Address
                Store (I71A, BR19)
                If (LAnd (LNotEqual (BR19, Zero), LNotEqual (BR19, 0xFFFFF000)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y37._LEN, LN19)  // _LEN: Length
                    Store (I71L, LN19)
                }

                Return (RBUF)
            }
        }

        Scope (SEC0)
        {
            Name (AHID, "TXE8086")
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                PEPD
            })
            Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
            OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
            Field (PMEB, WordAcc, NoLock, Preserve)
            {
                Offset (0x01), 
                PMEE,   1, 
                    ,   6, 
                PMES,   1
            }

            Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
            {
            }

            Name (RBUF, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y38)
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                If (LAnd (LOr (LEqual (OSYS, 0x07DF), LEqual (OSID, 0x04)), 
                    LNotEqual (PAVL, Zero)))
                {
                    CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y38._BAS, B0BA)  // _BAS: Base Address
                    CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y38._LEN, B0LN)  // _LEN: Length
                    Store (PAVB, B0BA)
                    Store (PAVL, B0LN)
                    Return (RBUF)
                }

                Return (ResourceTemplate ()
                {
                })
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
            }
        }

        Device (BRCM)
        {
            Name (_ADR, One)  // _ADR: Address
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                GPO2, 
                GPO3
            })
            Name (_HID, "BCM4356")  // _HID: Hardware ID
            Name (_CID, "BCM4356")  // _CID: Compatible ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LNotEqual (BDID, 0x08), LNotEqual (BDID, 0x0A)))
                {
                    Return (Zero)
                }

                If (LAnd (LEqual (OSID, 0x04), LEqual (BTHM, One)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
            {
                Return (Zero)
            }

            Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
            Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
                    {
                        0x00000044,
                    }
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                        "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x000A
                        }
                    GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x004B
                        }
                })
                Return (RBUF)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                If (LEqual (^^^GPO3.AVBL, One))
                {
                    Store (Zero, ^^^GPO3.WFD3)
                }
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                If (LEqual (^^^GPO3.AVBL, One))
                {
                    Store (One, ^^^GPO3.WFD3)
                }
            }
        }

        Device (LNPW)
        {
            Name (_ADR, One)  // _ADR: Address
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                GPO2, 
                GPO3
            })
            Name (_HID, "INT8260")  // _HID: Hardware ID
            Name (_CID, "INT8260")  // _CID: Compatible ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (OSID, 0x04))
                {
                    If (LOr (LEqual (BTHM, 0x03), LOr (LEqual (BDID, 0x09), LEqual (
                        BDID, 0x0A))))
                    {
                        Return (0x0F)
                    }
                }

                Return (Zero)
            }

            Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
            {
                Return (Zero)
            }

            Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
            Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
                    {
                        0x00000044,
                    }
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                        "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x000A
                        }
                })
                Return (RBUF)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                If (LEqual (^^^GPO3.AVBL, One))
                {
                    Store (Zero, ^^^GPO3.WFD3)
                }
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                If (LEqual (^^^GPO3.AVBL, One))
                {
                    Store (One, ^^^GPO3.WFD3)
                }
            }
        }
    }

    Scope (_SB.PCI0)
    {
        Scope (ISP3)
        {
            Method (_PR3, 0, NotSerialized)  // _PR3: Power Resources for D3hot
            {
                Return (Package (0x01)
                {
                    ID3C
                })
            }

            PowerResource (ID3C, 0x00, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LAnd (LEqual (ISPD, 0x02), LEqual (ISPE, One)))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                }
            }
        }

        Scope (GFX0)
        {
            Name (PWMB, Zero)
            Name (CPR0, Package (0x01)
            {
                P33X
            })
            Name (UPR0, Package (0x01)
            {
                P33W
            })
            Name (_PR0, Package (0x02)  // _PR0: Power Resources for D0
            {
                P18W, 
                P33W
            })
            Name (XPR0, Package (0x01)
            {
                P06X
            })
            Name (TPR0, Package (0x02)
            {
                P12T, 
                P12A
            })
            Name (CDEP, Package (0x03)
            {
                PEPD, 
                I2C7, 
                ^I2C7.PMIC
            })
            Name (XDEP, Package (0x03)
            {
                PEPD, 
                I2C7, 
                ^I2C7.PMI1
            })
            Name (TDEP, Package (0x03)
            {
                PEPD, 
                I2C7, 
                ^I2C7.PMI2
            })
            Name (_DEP, Package (0x03)  // _DEP: Dependencies
            {
                PEPD, 
                I2C7, 
                ^I2C7.PMI5
            })
            Name (PDEP, Package (0x01)
            {
                PEPD
            })
            Name (SBUF, ResourceTemplate ()
            {
                I2cSerialBus (0x002C, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C2",
                    0x00, ResourceConsumer, ,
                    )
            })
            Name (RBUF, ResourceTemplate ()
            {
                I2cSerialBus (0x002C, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C6",
                    0x00, ResourceConsumer, ,
                    )
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0048
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0046
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                If (LOr (LEqual (BDID, 0x08), LEqual (BDID, 0x0A)))
                {
                    Return (RBUF)
                }
                Else
                {
                    Return (RBUF)
                }
            }

            Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
            OperationRegion (LPS2, SystemMemory, P11A, 0x0100)
            Field (LPS2, DWordAcc, NoLock, WriteAsZeros)
            {
                Offset (0x10), 
                BR0P,   32, 
                Offset (0x84), 
                PSAT,   32
            }

            OperationRegion (POP1, SystemMemory, BR0P, 0x0810)
            Field (POP1, DWordAcc, NoLock, Preserve)
            {
                PWMC,   32, 
                Offset (0x804), 
                RSTA,   1, 
                RSTF,   1, 
                Offset (0x808)
            }

            OperationRegion (PMCS, PCI_Config, 0xD4, 0x08)
            Field (PMCS, DWordAcc, NoLock, Preserve)
            {
                PSPS,   32
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                Store (^^^MBID.READ (0x04, 0xD5, 0x0F), Local0)
                And (Local0, 0xFFFFFFFE, Local0)
                ^^^MBID.WRIT (0x04, 0xD5, 0x0F, Local0)
                Store (^^^MBID.READ (0x04, 0xD5, 0x0F), Local0)
                If (LNotEqual (OSID, 0x04))
                {
                    If (LAnd (LNotEqual (L11D, One), LGreaterEqual (SOCS, 0x10)))
                    {
                        Store (PSAT, Local0)
                        If (LEqual (And (Local0, 0x03), 0x03))
                        {
                            And (PSAT, 0xFFFFFFFC, PSAT)
                            Store (PSAT, Local1)
                            Store (Zero, RSTA)
                            Store (Zero, RSTF)
                            Store (One, RSTA)
                            Store (One, RSTF)
                            Or (PWMB, 0xC0000000, PWMB)
                            Store (PWMB, PWMC)
                        }
                    }
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                Store (^^^MBID.READ (0x04, 0xD5, 0x0F), Local0)
                Or (Local0, One, Local0)
                ^^^MBID.WRIT (0x04, 0xD5, 0x0F, Local0)
                Store (^^^MBID.READ (0x04, 0xD5, 0x0F), Local0)
                Notify (\_PR.CPU0, 0xC0)
                Notify (\_PR.CPU1, 0xC0)
                Notify (\_PR.CPU2, 0xC0)
                Notify (\_PR.CPU3, 0xC0)
                If (LNotEqual (OSID, 0x04))
                {
                    If (LAnd (LNotEqual (L11D, One), LGreaterEqual (SOCS, 0x10)))
                    {
                        Store (PSPS, Local2)
                        And (Local2, 0x03, Local2)
                        If (LEqual (Local2, 0x03))
                        {
                            Store (PWMC, PWMB)
                            Or (PSAT, 0x03, PSAT)
                            Store (PSAT, Local0)
                        }
                    }
                }
            }

            Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
            {
                Store (And (Arg0, 0x07), DSEN)
            }

            Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
            {
                If (LEqual (ISPE, One))
                {
                    Store (One, NDID)
                }
                Else
                {
                    Store (Zero, NDID)
                }

                If (LNotEqual (DIDL, Zero))
                {
                    Store (SDDL (DIDL), DID1)
                }

                If (LNotEqual (DDL2, Zero))
                {
                    Store (SDDL (DDL2), DID2)
                }

                If (LNotEqual (DDL3, Zero))
                {
                    Store (SDDL (DDL3), DID3)
                }

                If (LNotEqual (DDL4, Zero))
                {
                    Store (SDDL (DDL4), DID4)
                }

                If (LNotEqual (DDL5, Zero))
                {
                    Store (SDDL (DDL5), DID5)
                }

                If (LEqual (NDID, One))
                {
                    Name (TMP1, Package (0x02)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP1, Zero))
                    If (LEqual (ISPE, One))
                    {
                        Store (0x000222B8, Index (TMP1, One))
                    }
                    Else
                    {
                        Store (Or (0x00010000, DID2), Index (TMP1, One))
                    }

                    Return (TMP1)
                }

                If (LEqual (NDID, 0x02))
                {
                    Name (TMP2, Package (0x03)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP2, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP2, One))
                    If (LEqual (ISPE, One))
                    {
                        Store (0x000222B8, Index (TMP2, 0x02))
                    }
                    Else
                    {
                        Store (Or (0x00010000, DID3), Index (TMP2, 0x02))
                    }

                    Return (TMP2)
                }

                If (LEqual (NDID, 0x03))
                {
                    Name (TMP3, Package (0x04)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP3, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP3, One))
                    Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
                    If (LEqual (ISPE, One))
                    {
                        Store (0x000222B8, Index (TMP3, 0x03))
                    }
                    Else
                    {
                        Store (Or (0x00010000, DID4), Index (TMP3, 0x03))
                    }

                    Return (TMP3)
                }

                If (LEqual (NDID, 0x04))
                {
                    Name (TMP4, Package (0x05)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP4, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP4, One))
                    Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
                    Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
                    If (LEqual (ISPE, One))
                    {
                        Store (0x000222B8, Index (TMP4, 0x04))
                    }
                    Else
                    {
                        Store (Or (0x00010000, DID5), Index (TMP4, 0x04))
                    }

                    Return (TMP4)
                }

                If (LGreater (NDID, 0x04))
                {
                    Name (TMP5, Package (0x06)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP5, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP5, One))
                    Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
                    Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
                    Store (Or (0x00010000, DID5), Index (TMP5, 0x04))
                    If (LEqual (ISPE, One))
                    {
                        Store (0x000222B8, Index (TMP5, 0x05))
                    }
                    Else
                    {
                        Store (Or (0x00010000, DID6), Index (TMP5, 0x05))
                    }

                    Return (TMP5)
                }

                Return (Package (0x02)
                {
                    0x0400, 
                    0x000222B8
                })
            }

            Device (DD01)
            {
                Method (_ADR, 0, Serialized)  // _ADR: Address
                {
                    If (LEqual (DID1, Zero))
                    {
                        Return (One)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID1))
                    }
                }

                Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                {
                    Return (CDDS (DID1))
                }

                Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                {
                    Return (NDDS (DID1))
                }

                Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }

                Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                {
                    Return (Package (0x66)
                    {
                        0x50, 
                        0x32, 
                        One, 
                        0x02, 
                        0x03, 
                        0x04, 
                        0x05, 
                        0x06, 
                        0x07, 
                        0x08, 
                        0x09, 
                        0x0A, 
                        0x0B, 
                        0x0C, 
                        0x0D, 
                        0x0E, 
                        0x0F, 
                        0x10, 
                        0x11, 
                        0x12, 
                        0x13, 
                        0x14, 
                        0x15, 
                        0x16, 
                        0x17, 
                        0x18, 
                        0x19, 
                        0x1A, 
                        0x1B, 
                        0x1C, 
                        0x1D, 
                        0x1E, 
                        0x1F, 
                        0x20, 
                        0x21, 
                        0x22, 
                        0x23, 
                        0x24, 
                        0x25, 
                        0x26, 
                        0x27, 
                        0x28, 
                        0x29, 
                        0x2A, 
                        0x2B, 
                        0x2C, 
                        0x2D, 
                        0x2E, 
                        0x2F, 
                        0x30, 
                        0x31, 
                        0x32, 
                        0x33, 
                        0x34, 
                        0x35, 
                        0x36, 
                        0x37, 
                        0x38, 
                        0x39, 
                        0x3A, 
                        0x3B, 
                        0x3C, 
                        0x3D, 
                        0x3E, 
                        0x3F, 
                        0x40, 
                        0x41, 
                        0x42, 
                        0x43, 
                        0x44, 
                        0x45, 
                        0x46, 
                        0x47, 
                        0x48, 
                        0x49, 
                        0x4A, 
                        0x4B, 
                        0x4C, 
                        0x4D, 
                        0x4E, 
                        0x4F, 
                        0x50, 
                        0x51, 
                        0x52, 
                        0x53, 
                        0x54, 
                        0x55, 
                        0x56, 
                        0x57, 
                        0x58, 
                        0x59, 
                        0x5A, 
                        0x5B, 
                        0x5C, 
                        0x5D, 
                        0x5E, 
                        0x5F, 
                        0x60, 
                        0x61, 
                        0x62, 
                        0x63, 
                        0x64
                    })
                }

                Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
                {
                    If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
                    {
                        AINT (One, Arg0)
                        Store (Arg0, BRTL)
                    }
                }

                Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
                {
                    Return (BRTL)
                }
            }

            Device (DD02)
            {
                Method (_ADR, 0, Serialized)  // _ADR: Address
                {
                    If (LEqual (DID2, Zero))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID2))
                    }
                }

                Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                {
                    Return (CDDS (DID2))
                }

                Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                {
                    Return (NDDS (DID2))
                }

                Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }

                Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                {
                    Return (Package (0x66)
                    {
                        0x50, 
                        0x32, 
                        One, 
                        0x02, 
                        0x03, 
                        0x04, 
                        0x05, 
                        0x06, 
                        0x07, 
                        0x08, 
                        0x09, 
                        0x0A, 
                        0x0B, 
                        0x0C, 
                        0x0D, 
                        0x0E, 
                        0x0F, 
                        0x10, 
                        0x11, 
                        0x12, 
                        0x13, 
                        0x14, 
                        0x15, 
                        0x16, 
                        0x17, 
                        0x18, 
                        0x19, 
                        0x1A, 
                        0x1B, 
                        0x1C, 
                        0x1D, 
                        0x1E, 
                        0x1F, 
                        0x20, 
                        0x21, 
                        0x22, 
                        0x23, 
                        0x24, 
                        0x25, 
                        0x26, 
                        0x27, 
                        0x28, 
                        0x29, 
                        0x2A, 
                        0x2B, 
                        0x2C, 
                        0x2D, 
                        0x2E, 
                        0x2F, 
                        0x30, 
                        0x31, 
                        0x32, 
                        0x33, 
                        0x34, 
                        0x35, 
                        0x36, 
                        0x37, 
                        0x38, 
                        0x39, 
                        0x3A, 
                        0x3B, 
                        0x3C, 
                        0x3D, 
                        0x3E, 
                        0x3F, 
                        0x40, 
                        0x41, 
                        0x42, 
                        0x43, 
                        0x44, 
                        0x45, 
                        0x46, 
                        0x47, 
                        0x48, 
                        0x49, 
                        0x4A, 
                        0x4B, 
                        0x4C, 
                        0x4D, 
                        0x4E, 
                        0x4F, 
                        0x50, 
                        0x51, 
                        0x52, 
                        0x53, 
                        0x54, 
                        0x55, 
                        0x56, 
                        0x57, 
                        0x58, 
                        0x59, 
                        0x5A, 
                        0x5B, 
                        0x5C, 
                        0x5D, 
                        0x5E, 
                        0x5F, 
                        0x60, 
                        0x61, 
                        0x62, 
                        0x63, 
                        0x64
                    })
                }

                Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
                {
                    If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
                    {
                        AINT (One, Arg0)
                        Store (Arg0, BRTL)
                    }
                }

                Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
                {
                    Return (BRTL)
                }
            }

            Device (DD03)
            {
                Method (_ADR, 0, Serialized)  // _ADR: Address
                {
                    If (LEqual (DID3, Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID3))
                    }
                }

                Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                {
                    If (LEqual (DID3, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID3))
                    }
                }

                Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                {
                    Return (NDDS (DID3))
                }

                Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }

                Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                {
                    Return (Package (0x66)
                    {
                        0x50, 
                        0x32, 
                        One, 
                        0x02, 
                        0x03, 
                        0x04, 
                        0x05, 
                        0x06, 
                        0x07, 
                        0x08, 
                        0x09, 
                        0x0A, 
                        0x0B, 
                        0x0C, 
                        0x0D, 
                        0x0E, 
                        0x0F, 
                        0x10, 
                        0x11, 
                        0x12, 
                        0x13, 
                        0x14, 
                        0x15, 
                        0x16, 
                        0x17, 
                        0x18, 
                        0x19, 
                        0x1A, 
                        0x1B, 
                        0x1C, 
                        0x1D, 
                        0x1E, 
                        0x1F, 
                        0x20, 
                        0x21, 
                        0x22, 
                        0x23, 
                        0x24, 
                        0x25, 
                        0x26, 
                        0x27, 
                        0x28, 
                        0x29, 
                        0x2A, 
                        0x2B, 
                        0x2C, 
                        0x2D, 
                        0x2E, 
                        0x2F, 
                        0x30, 
                        0x31, 
                        0x32, 
                        0x33, 
                        0x34, 
                        0x35, 
                        0x36, 
                        0x37, 
                        0x38, 
                        0x39, 
                        0x3A, 
                        0x3B, 
                        0x3C, 
                        0x3D, 
                        0x3E, 
                        0x3F, 
                        0x40, 
                        0x41, 
                        0x42, 
                        0x43, 
                        0x44, 
                        0x45, 
                        0x46, 
                        0x47, 
                        0x48, 
                        0x49, 
                        0x4A, 
                        0x4B, 
                        0x4C, 
                        0x4D, 
                        0x4E, 
                        0x4F, 
                        0x50, 
                        0x51, 
                        0x52, 
                        0x53, 
                        0x54, 
                        0x55, 
                        0x56, 
                        0x57, 
                        0x58, 
                        0x59, 
                        0x5A, 
                        0x5B, 
                        0x5C, 
                        0x5D, 
                        0x5E, 
                        0x5F, 
                        0x60, 
                        0x61, 
                        0x62, 
                        0x63, 
                        0x64
                    })
                }

                Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
                {
                    If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
                    {
                        AINT (One, Arg0)
                        Store (Arg0, BRTL)
                    }
                }

                Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
                {
                    Return (BRTL)
                }
            }

            Device (DD04)
            {
                Method (_ADR, 0, Serialized)  // _ADR: Address
                {
                    If (LEqual (DID4, Zero))
                    {
                        Return (0x04)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID4))
                    }
                }

                Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                {
                    If (LEqual (DID4, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID4))
                    }
                }

                Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                {
                    Return (NDDS (DID4))
                }

                Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }

                Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                {
                    Return (Package (0x66)
                    {
                        0x50, 
                        0x32, 
                        One, 
                        0x02, 
                        0x03, 
                        0x04, 
                        0x05, 
                        0x06, 
                        0x07, 
                        0x08, 
                        0x09, 
                        0x0A, 
                        0x0B, 
                        0x0C, 
                        0x0D, 
                        0x0E, 
                        0x0F, 
                        0x10, 
                        0x11, 
                        0x12, 
                        0x13, 
                        0x14, 
                        0x15, 
                        0x16, 
                        0x17, 
                        0x18, 
                        0x19, 
                        0x1A, 
                        0x1B, 
                        0x1C, 
                        0x1D, 
                        0x1E, 
                        0x1F, 
                        0x20, 
                        0x21, 
                        0x22, 
                        0x23, 
                        0x24, 
                        0x25, 
                        0x26, 
                        0x27, 
                        0x28, 
                        0x29, 
                        0x2A, 
                        0x2B, 
                        0x2C, 
                        0x2D, 
                        0x2E, 
                        0x2F, 
                        0x30, 
                        0x31, 
                        0x32, 
                        0x33, 
                        0x34, 
                        0x35, 
                        0x36, 
                        0x37, 
                        0x38, 
                        0x39, 
                        0x3A, 
                        0x3B, 
                        0x3C, 
                        0x3D, 
                        0x3E, 
                        0x3F, 
                        0x40, 
                        0x41, 
                        0x42, 
                        0x43, 
                        0x44, 
                        0x45, 
                        0x46, 
                        0x47, 
                        0x48, 
                        0x49, 
                        0x4A, 
                        0x4B, 
                        0x4C, 
                        0x4D, 
                        0x4E, 
                        0x4F, 
                        0x50, 
                        0x51, 
                        0x52, 
                        0x53, 
                        0x54, 
                        0x55, 
                        0x56, 
                        0x57, 
                        0x58, 
                        0x59, 
                        0x5A, 
                        0x5B, 
                        0x5C, 
                        0x5D, 
                        0x5E, 
                        0x5F, 
                        0x60, 
                        0x61, 
                        0x62, 
                        0x63, 
                        0x64
                    })
                }

                Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
                {
                    If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
                    {
                        AINT (One, Arg0)
                        Store (Arg0, BRTL)
                    }
                }

                Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
                {
                    Return (BRTL)
                }
            }

            Device (DD05)
            {
                Method (_ADR, 0, Serialized)  // _ADR: Address
                {
                    If (LEqual (DID5, Zero))
                    {
                        Return (0x05)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID5))
                    }
                }

                Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                {
                    If (LEqual (DID5, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID5))
                    }
                }

                Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                {
                    Return (NDDS (DID5))
                }

                Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }

                Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                {
                    Return (Package (0x66)
                    {
                        0x50, 
                        0x32, 
                        One, 
                        0x02, 
                        0x03, 
                        0x04, 
                        0x05, 
                        0x06, 
                        0x07, 
                        0x08, 
                        0x09, 
                        0x0A, 
                        0x0B, 
                        0x0C, 
                        0x0D, 
                        0x0E, 
                        0x0F, 
                        0x10, 
                        0x11, 
                        0x12, 
                        0x13, 
                        0x14, 
                        0x15, 
                        0x16, 
                        0x17, 
                        0x18, 
                        0x19, 
                        0x1A, 
                        0x1B, 
                        0x1C, 
                        0x1D, 
                        0x1E, 
                        0x1F, 
                        0x20, 
                        0x21, 
                        0x22, 
                        0x23, 
                        0x24, 
                        0x25, 
                        0x26, 
                        0x27, 
                        0x28, 
                        0x29, 
                        0x2A, 
                        0x2B, 
                        0x2C, 
                        0x2D, 
                        0x2E, 
                        0x2F, 
                        0x30, 
                        0x31, 
                        0x32, 
                        0x33, 
                        0x34, 
                        0x35, 
                        0x36, 
                        0x37, 
                        0x38, 
                        0x39, 
                        0x3A, 
                        0x3B, 
                        0x3C, 
                        0x3D, 
                        0x3E, 
                        0x3F, 
                        0x40, 
                        0x41, 
                        0x42, 
                        0x43, 
                        0x44, 
                        0x45, 
                        0x46, 
                        0x47, 
                        0x48, 
                        0x49, 
                        0x4A, 
                        0x4B, 
                        0x4C, 
                        0x4D, 
                        0x4E, 
                        0x4F, 
                        0x50, 
                        0x51, 
                        0x52, 
                        0x53, 
                        0x54, 
                        0x55, 
                        0x56, 
                        0x57, 
                        0x58, 
                        0x59, 
                        0x5A, 
                        0x5B, 
                        0x5C, 
                        0x5D, 
                        0x5E, 
                        0x5F, 
                        0x60, 
                        0x61, 
                        0x62, 
                        0x63, 
                        0x64
                    })
                }

                Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
                {
                    If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
                    {
                        AINT (One, Arg0)
                        Store (Arg0, BRTL)
                    }
                }

                Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
                {
                    Return (BRTL)
                }
            }

            Device (DD06)
            {
                Method (_ADR, 0, Serialized)  // _ADR: Address
                {
                    If (LEqual (DID6, Zero))
                    {
                        Return (0x06)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID6))
                    }
                }

                Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                {
                    If (LEqual (DID6, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID6))
                    }
                }

                Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                {
                    Return (NDDS (DID6))
                }

                Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }

                Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                {
                    Return (Package (0x66)
                    {
                        0x50, 
                        0x32, 
                        One, 
                        0x02, 
                        0x03, 
                        0x04, 
                        0x05, 
                        0x06, 
                        0x07, 
                        0x08, 
                        0x09, 
                        0x0A, 
                        0x0B, 
                        0x0C, 
                        0x0D, 
                        0x0E, 
                        0x0F, 
                        0x10, 
                        0x11, 
                        0x12, 
                        0x13, 
                        0x14, 
                        0x15, 
                        0x16, 
                        0x17, 
                        0x18, 
                        0x19, 
                        0x1A, 
                        0x1B, 
                        0x1C, 
                        0x1D, 
                        0x1E, 
                        0x1F, 
                        0x20, 
                        0x21, 
                        0x22, 
                        0x23, 
                        0x24, 
                        0x25, 
                        0x26, 
                        0x27, 
                        0x28, 
                        0x29, 
                        0x2A, 
                        0x2B, 
                        0x2C, 
                        0x2D, 
                        0x2E, 
                        0x2F, 
                        0x30, 
                        0x31, 
                        0x32, 
                        0x33, 
                        0x34, 
                        0x35, 
                        0x36, 
                        0x37, 
                        0x38, 
                        0x39, 
                        0x3A, 
                        0x3B, 
                        0x3C, 
                        0x3D, 
                        0x3E, 
                        0x3F, 
                        0x40, 
                        0x41, 
                        0x42, 
                        0x43, 
                        0x44, 
                        0x45, 
                        0x46, 
                        0x47, 
                        0x48, 
                        0x49, 
                        0x4A, 
                        0x4B, 
                        0x4C, 
                        0x4D, 
                        0x4E, 
                        0x4F, 
                        0x50, 
                        0x51, 
                        0x52, 
                        0x53, 
                        0x54, 
                        0x55, 
                        0x56, 
                        0x57, 
                        0x58, 
                        0x59, 
                        0x5A, 
                        0x5B, 
                        0x5C, 
                        0x5D, 
                        0x5E, 
                        0x5F, 
                        0x60, 
                        0x61, 
                        0x62, 
                        0x63, 
                        0x64
                    })
                }

                Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
                {
                    If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
                    {
                        AINT (One, Arg0)
                        Store (Arg0, BRTL)
                    }
                }

                Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
                {
                    Return (BRTL)
                }
            }

            Device (DD07)
            {
                Method (_ADR, 0, Serialized)  // _ADR: Address
                {
                    If (LEqual (DID7, Zero))
                    {
                        Return (0x07)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID7))
                    }
                }

                Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                {
                    If (LEqual (DID7, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID7))
                    }
                }

                Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                {
                    Return (NDDS (DID7))
                }

                Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }

                Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                {
                    Return (Package (0x66)
                    {
                        0x50, 
                        0x32, 
                        One, 
                        0x02, 
                        0x03, 
                        0x04, 
                        0x05, 
                        0x06, 
                        0x07, 
                        0x08, 
                        0x09, 
                        0x0A, 
                        0x0B, 
                        0x0C, 
                        0x0D, 
                        0x0E, 
                        0x0F, 
                        0x10, 
                        0x11, 
                        0x12, 
                        0x13, 
                        0x14, 
                        0x15, 
                        0x16, 
                        0x17, 
                        0x18, 
                        0x19, 
                        0x1A, 
                        0x1B, 
                        0x1C, 
                        0x1D, 
                        0x1E, 
                        0x1F, 
                        0x20, 
                        0x21, 
                        0x22, 
                        0x23, 
                        0x24, 
                        0x25, 
                        0x26, 
                        0x27, 
                        0x28, 
                        0x29, 
                        0x2A, 
                        0x2B, 
                        0x2C, 
                        0x2D, 
                        0x2E, 
                        0x2F, 
                        0x30, 
                        0x31, 
                        0x32, 
                        0x33, 
                        0x34, 
                        0x35, 
                        0x36, 
                        0x37, 
                        0x38, 
                        0x39, 
                        0x3A, 
                        0x3B, 
                        0x3C, 
                        0x3D, 
                        0x3E, 
                        0x3F, 
                        0x40, 
                        0x41, 
                        0x42, 
                        0x43, 
                        0x44, 
                        0x45, 
                        0x46, 
                        0x47, 
                        0x48, 
                        0x49, 
                        0x4A, 
                        0x4B, 
                        0x4C, 
                        0x4D, 
                        0x4E, 
                        0x4F, 
                        0x50, 
                        0x51, 
                        0x52, 
                        0x53, 
                        0x54, 
                        0x55, 
                        0x56, 
                        0x57, 
                        0x58, 
                        0x59, 
                        0x5A, 
                        0x5B, 
                        0x5C, 
                        0x5D, 
                        0x5E, 
                        0x5F, 
                        0x60, 
                        0x61, 
                        0x62, 
                        0x63, 
                        0x64
                    })
                }

                Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
                {
                    If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
                    {
                        AINT (One, Arg0)
                        Store (Arg0, BRTL)
                    }
                }

                Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
                {
                    Return (BRTL)
                }
            }

            Device (DD08)
            {
                Method (_ADR, 0, Serialized)  // _ADR: Address
                {
                    If (LEqual (DID8, Zero))
                    {
                        Return (0x08)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID8))
                    }
                }

                Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                {
                    If (LEqual (DID8, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID8))
                    }
                }

                Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                {
                    Return (NDDS (DID8))
                }

                Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }

                Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                {
                    Return (Package (0x66)
                    {
                        0x50, 
                        0x32, 
                        One, 
                        0x02, 
                        0x03, 
                        0x04, 
                        0x05, 
                        0x06, 
                        0x07, 
                        0x08, 
                        0x09, 
                        0x0A, 
                        0x0B, 
                        0x0C, 
                        0x0D, 
                        0x0E, 
                        0x0F, 
                        0x10, 
                        0x11, 
                        0x12, 
                        0x13, 
                        0x14, 
                        0x15, 
                        0x16, 
                        0x17, 
                        0x18, 
                        0x19, 
                        0x1A, 
                        0x1B, 
                        0x1C, 
                        0x1D, 
                        0x1E, 
                        0x1F, 
                        0x20, 
                        0x21, 
                        0x22, 
                        0x23, 
                        0x24, 
                        0x25, 
                        0x26, 
                        0x27, 
                        0x28, 
                        0x29, 
                        0x2A, 
                        0x2B, 
                        0x2C, 
                        0x2D, 
                        0x2E, 
                        0x2F, 
                        0x30, 
                        0x31, 
                        0x32, 
                        0x33, 
                        0x34, 
                        0x35, 
                        0x36, 
                        0x37, 
                        0x38, 
                        0x39, 
                        0x3A, 
                        0x3B, 
                        0x3C, 
                        0x3D, 
                        0x3E, 
                        0x3F, 
                        0x40, 
                        0x41, 
                        0x42, 
                        0x43, 
                        0x44, 
                        0x45, 
                        0x46, 
                        0x47, 
                        0x48, 
                        0x49, 
                        0x4A, 
                        0x4B, 
                        0x4C, 
                        0x4D, 
                        0x4E, 
                        0x4F, 
                        0x50, 
                        0x51, 
                        0x52, 
                        0x53, 
                        0x54, 
                        0x55, 
                        0x56, 
                        0x57, 
                        0x58, 
                        0x59, 
                        0x5A, 
                        0x5B, 
                        0x5C, 
                        0x5D, 
                        0x5E, 
                        0x5F, 
                        0x60, 
                        0x61, 
                        0x62, 
                        0x63, 
                        0x64
                    })
                }

                Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
                {
                    If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
                    {
                        AINT (One, Arg0)
                        Store (Arg0, BRTL)
                    }
                }

                Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
                {
                    Return (BRTL)
                }
            }

            Method (SDDL, 1, NotSerialized)
            {
                Increment (NDID)
                Store (And (Arg0, 0x0F0F), Local0)
                Or (0x80000000, Local0, Local1)
                If (LEqual (DIDL, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL2, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL3, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL4, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL5, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL6, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL7, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL8, Local0))
                {
                    Return (Local1)
                }

                Return (Zero)
            }

            Method (CDDS, 1, NotSerialized)
            {
                Store (And (Arg0, 0x0F0F), Local0)
                If (LEqual (Zero, Local0))
                {
                    Return (0x1D)
                }

                If (LEqual (CADL, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL2, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL3, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL4, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL5, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL6, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL7, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL8, Local0))
                {
                    Return (0x1F)
                }

                Return (0x1D)
            }

            Method (NDDS, 1, NotSerialized)
            {
                Store (And (Arg0, 0x0F0F), Local0)
                If (LEqual (Zero, Local0))
                {
                    Return (Zero)
                }

                If (LEqual (NADL, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL2, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL3, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL4, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL5, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL6, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL7, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL8, Local0))
                {
                    Return (One)
                }

                Return (Zero)
            }

            OperationRegion (IGDP, PCI_Config, Zero, 0x0100)
            Field (IGDP, AnyAcc, NoLock, Preserve)
            {
                Offset (0x10), 
                MADR,   32, 
                Offset (0x50), 
                    ,   1, 
                GIVD,   1, 
                    ,   1, 
                GUMA,   5, 
                Offset (0x52), 
                Offset (0x54), 
                    ,   4, 
                GMFN,   1, 
                Offset (0x58), 
                Offset (0x5C), 
                GSTM,   32, 
                Offset (0xE0), 
                GSSE,   1, 
                GSSB,   14, 
                GSES,   1, 
                Offset (0xE4), 
                ASLE,   8, 
                Offset (0xE8), 
                Offset (0xFC), 
                ASLS,   32
            }

            OperationRegion (IGMM, SystemMemory, MADR, 0x3000)
            Field (IGMM, AnyAcc, NoLock, Preserve)
            {
                Offset (0x20C8), 
                    ,   4, 
                DCFE,   4
            }

            OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
            Field (IGDM, AnyAcc, NoLock, Preserve)
            {
                SIGN,   128, 
                SIZE,   32, 
                OVER,   32, 
                SVER,   256, 
                VVER,   128, 
                GVER,   128, 
                MBOX,   32, 
                DMOD,   32, 
                Offset (0x100), 
                DRDY,   32, 
                CSTS,   32, 
                CEVT,   32, 
                Offset (0x120), 
                DIDL,   32, 
                DDL2,   32, 
                DDL3,   32, 
                DDL4,   32, 
                DDL5,   32, 
                DDL6,   32, 
                DDL7,   32, 
                DDL8,   32, 
                CPDL,   32, 
                CPL2,   32, 
                CPL3,   32, 
                CPL4,   32, 
                CPL5,   32, 
                CPL6,   32, 
                CPL7,   32, 
                CPL8,   32, 
                CAD1,   32, 
                CAL2,   32, 
                CAL3,   32, 
                CAL4,   32, 
                CAL5,   32, 
                CAL6,   32, 
                CAL7,   32, 
                CAL8,   32, 
                NADL,   32, 
                NDL2,   32, 
                NDL3,   32, 
                NDL4,   32, 
                NDL5,   32, 
                NDL6,   32, 
                NDL7,   32, 
                NDL8,   32, 
                ASLP,   32, 
                TIDX,   32, 
                CHPD,   32, 
                CLID,   32, 
                CDCK,   32, 
                SXSW,   32, 
                EVTS,   32, 
                CNOT,   32, 
                NRDY,   32, 
                Offset (0x200), 
                SCIE,   1, 
                GEFC,   4, 
                GXFC,   3, 
                GESF,   8, 
                Offset (0x204), 
                PARM,   32, 
                DSLP,   32, 
                Offset (0x300), 
                ARDY,   32, 
                ASLC,   32, 
                TCHE,   32, 
                ALSI,   32, 
                BCLP,   32, 
                PFIT,   32, 
                CBLV,   32, 
                BCLM,   320, 
                CPFM,   32, 
                EPFM,   32, 
                PLUT,   592, 
                PFMB,   32, 
                CCDV,   32, 
                PCFT,   32, 
                Offset (0x400), 
                GVD1,   49152, 
                PHED,   32, 
                BDDC,   2048
            }

            Name (DBTB, Package (0x15)
            {
                Zero, 
                0x07, 
                0x38, 
                0x01C0, 
                0x0E00, 
                0x3F, 
                0x01C7, 
                0x0E07, 
                0x01F8, 
                0x0E38, 
                0x0FC0, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                0x7000, 
                0x7007, 
                0x7038, 
                0x71C0, 
                0x7E00
            })
            Name (CDCT, Package (0x06)
            {
                Package (0x01)
                {
                    0xA0
                }, 

                Package (0x01)
                {
                    0xC8
                }, 

                Package (0x01)
                {
                    0x010B
                }, 

                Package (0x01)
                {
                    0x0140
                }, 

                Package (0x01)
                {
                    0x0164
                }, 

                Package (0x01)
                {
                    0x0190
                }
            })
            Name (SUCC, One)
            Name (NVLD, 0x02)
            Name (CRIT, 0x04)
            Name (NCRT, 0x06)
            Method (GSCI, 0, Serialized)
            {
                Method (GBDA, 0, Serialized)
                {
                    If (LEqual (GESF, Zero))
                    {
                        Store (0x0279, PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, One))
                    {
                        Store (0x0240, PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x04))
                    {
                        And (PARM, 0xEFFF0000, PARM)
                        And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), 
                            PARM)
                        Or (IBTT, PARM, PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x05))
                    {
                        Store (IPSC, PARM)
                        Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
                        Add (PARM, 0x0100, PARM)
                        Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
                        Add (PARM, 0x00010000, PARM)
                        Or (PARM, ShiftLeft (IBLC, 0x12), PARM)
                        Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x06))
                    {
                        Store (ITVF, PARM)
                        Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x07))
                    {
                        Store (GIVD, PARM)
                        XOr (PARM, One, PARM)
                        Or (PARM, ShiftLeft (GMFN, One), PARM)
                        Or (PARM, 0x1800, PARM)
                        Or (PARM, ShiftLeft (IDMS, 0x11), PARM)
                        Or (ShiftLeft (DerefOf (Index (CDCT, DCFE)), 0x15), PARM, 
                            PARM)
                        Store (One, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x0A))
                    {
                        Store (Zero, PARM)
                        If (ISSC)
                        {
                            Or (PARM, 0x03, PARM)
                        }

                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    Store (Zero, GESF)
                    Return (CRIT)
                }

                Method (SBCB, 0, Serialized)
                {
                    If (LEqual (GESF, Zero))
                    {
                        Store (Zero, PARM)
                        If (LEqual (PFLV, FMBL))
                        {
                            Store (0x000F87FD, PARM)
                        }

                        If (LEqual (PFLV, FDTP))
                        {
                            Store (0x000F87BD, PARM)
                        }

                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, One))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x03))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x04))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x05))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x06))
                    {
                        Store (And (PARM, 0x0F), ITVF)
                        Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM)
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x07))
                    {
                        If (LEqual (PARM, Zero))
                        {
                            Store (CLID, Local0)
                            If (And (0x80000000, Local0))
                            {
                                And (CLID, 0x0F, CLID)
                                GLID (CLID)
                            }
                        }

                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x08))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x09))
                    {
                        And (PARM, 0xFF, IBTT)
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x0A))
                    {
                        And (PARM, 0xFF, IPSC)
                        If (And (ShiftRight (PARM, 0x08), 0xFF))
                        {
                            And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
                            Decrement (IPAT)
                        }

                        And (ShiftRight (PARM, 0x12), 0x03, IBLC)
                        And (ShiftRight (PARM, 0x14), 0x07, IBIA)
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x0B))
                    {
                        And (ShiftRight (PARM, One), One, IF1E)
                        And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x10))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x11))
                    {
                        Store (ShiftLeft (LIDS, 0x08), PARM)
                        Add (PARM, 0x0100, PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x12))
                    {
                        If (And (PARM, One))
                        {
                            If (LEqual (ShiftRight (PARM, One), One))
                            {
                                Store (One, ISSC)
                            }
                            Else
                            {
                                Store (Zero, GESF)
                                Return (CRIT)
                            }
                        }
                        Else
                        {
                            Store (Zero, ISSC)
                        }

                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x13))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x14))
                    {
                        And (PARM, 0x0F, PAVP)
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    Store (Zero, GESF)
                    Return (SUCC)
                }

                If (LEqual (GEFC, 0x04))
                {
                    Store (GBDA (), GXFC)
                }

                If (LEqual (GEFC, 0x06))
                {
                    Store (SBCB (), GXFC)
                }

                Store (Zero, GEFC)
                Store (One, SCIS)
                Store (Zero, GSSE)
                Store (Zero, SCIE)
                Return (Zero)
            }

            Method (PDRD, 0, NotSerialized)
            {
                If (LNot (DRDY))
                {
                    Sleep (ASLP)
                }

                Return (LNot (DRDY))
            }

            Method (PSTS, 0, NotSerialized)
            {
                If (LGreater (CSTS, 0x02))
                {
                    Sleep (ASLP)
                }

                Return (LEqual (CSTS, 0x03))
            }

            Method (GNOT, 2, NotSerialized)
            {
                If (PDRD ())
                {
                    Return (One)
                }

                Store (Arg0, CEVT)
                Store (0x03, CSTS)
                If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero)))
                {
                    If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                    {
                        Notify (PCI0, Arg1)
                    }
                    Else
                    {
                        Notify (GFX0, Arg1)
                    }
                }

                Notify (GFX0, 0x80)
                Return (Zero)
            }

            Method (GHDS, 1, NotSerialized)
            {
                Store (Arg0, TIDX)
                Return (GNOT (One, Zero))
            }

            Method (GLID, 1, NotSerialized)
            {
                Store (Arg0, CLID)
                Return (GNOT (0x02, Zero))
            }

            Method (GDCK, 1, NotSerialized)
            {
                Store (Arg0, CDCK)
                Return (GNOT (0x04, Zero))
            }

            Method (PARD, 0, NotSerialized)
            {
                If (LNot (ARDY))
                {
                    Sleep (ASLP)
                }

                Return (LNot (ARDY))
            }

            Method (AINT, 2, NotSerialized)
            {
                If (LNot (And (TCHE, ShiftLeft (One, Arg0))))
                {
                    Return (One)
                }

                If (PARD ())
                {
                    Return (One)
                }

                If (LEqual (Arg0, 0x02))
                {
                    If (CPFM)
                    {
                        And (CPFM, 0x0F, Local0)
                        And (EPFM, 0x0F, Local1)
                        If (LEqual (Local0, One))
                        {
                            If (And (Local1, 0x06))
                            {
                                Store (0x06, PFIT)
                            }
                            Else
                            {
                                If (And (Local1, 0x08))
                                {
                                    Store (0x08, PFIT)
                                }
                                Else
                                {
                                    Store (One, PFIT)
                                }
                            }
                        }

                        If (LEqual (Local0, 0x06))
                        {
                            If (And (Local1, 0x08))
                            {
                                Store (0x08, PFIT)
                            }
                            Else
                            {
                                If (And (Local1, One))
                                {
                                    Store (One, PFIT)
                                }
                                Else
                                {
                                    Store (0x06, PFIT)
                                }
                            }
                        }

                        If (LEqual (Local0, 0x08))
                        {
                            If (And (Local1, One))
                            {
                                Store (One, PFIT)
                            }
                            Else
                            {
                                If (And (Local1, 0x06))
                                {
                                    Store (0x06, PFIT)
                                }
                                Else
                                {
                                    Store (0x08, PFIT)
                                }
                            }
                        }
                    }
                    Else
                    {
                        XOr (PFIT, 0x07, PFIT)
                    }

                    Or (PFIT, 0x80000000, PFIT)
                    Store (0x04, ASLC)
                }
                Else
                {
                    If (LEqual (Arg0, One))
                    {
                        Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP)
                        Or (BCLP, 0x80000000, BCLP)
                        Store (0x02, ASLC)
                    }
                    Else
                    {
                        If (LEqual (Arg0, Zero))
                        {
                            Store (Arg1, ALSI)
                            Store (One, ASLC)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }
                }

                Store (One, ASLE)
                Return (Zero)
            }

            Method (SCIP, 0, NotSerialized)
            {
                If (LNotEqual (OVER, Zero))
                {
                    Return (LNot (GSMI))
                }

                Return (Zero)
            }

            Device (ISP0)
            {
                Name (_ADR, 0x22B8)  // _ADR: Address
                Name (_DDN, "CHV ISP - 808622B8")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LAnd (LNotEqual (ISPA, Zero), LEqual (ISPD, One)))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Name (SBUF, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00400000,         // Address Length
                        _Y39)
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    CreateDWordField (SBUF, \_SB.PCI0.GFX0.ISP0._Y39._BAS, B0BA)  // _BAS: Base Address
                    Store (ISPA, B0BA)
                    Return (SBUF)
                }

                Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
                {
                }

                Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                {
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg0, One))
                    {
                        Return (One)
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x02))
                        {
                            Return (0x02)
                        }
                        Else
                        {
                            Return (0x0F)
                        }
                    }
                }
            }
        }

        Device (HIDD)
        {
            Name (_HID, "INT33D5")  // _HID: Hardware ID
            Name (_CID, "INT33D5")  // _CID: Compatible ID
            Name (HBSY, Zero)
            Name (HIDX, Zero)
            Name (HMDE, Zero)
            Name (HRDY, Zero)
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0F)
            }

            Method (HDDM, 0, Serialized)
            {
                Name (DPKG, Package (0x04)
                {
                    0x11111111, 
                    0x22222222, 
                    0x33333333, 
                    0x44444444
                })
                Return (DPKG)
            }

            Method (HDEM, 0, Serialized)
            {
                Store (Zero, HBSY)
                If (LEqual (HMDE, Zero))
                {
                    Return (HIDX)
                }

                Return (HMDE)
            }

            Method (HDMM, 0, Serialized)
            {
                Return (HMDE)
            }

            Method (HDSM, 1, Serialized)
            {
                Store (Arg0, HRDY)
            }

            Method (HPEM, 1, Serialized)
            {
                Store (One, HBSY)
                If (LEqual (HMDE, Zero))
                {
                    Store (Arg0, HIDX)
                }
                Else
                {
                    Store (Arg0, HIDX)
                }

                Notify (HIDD, 0xC0)
                Store (Zero, Local0)
                While (LAnd (LLess (Local0, 0xFA), HBSY))
                {
                    Sleep (0x04)
                    Increment (Local0)
                }

                If (LEqual (HBSY, One))
                {
                    Store (Zero, HBSY)
                    Store (Zero, HIDX)
                    Return (One)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }

        Scope (PISH)
        {
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x0F)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0x1D, 0xE7, 0x30, 0x17, 0xDD, 0xE5, 0x34, 0x4A,
                            /* 0008 */   0xBE, 0x57, 0x4D, 0x76, 0xB6, 0xA2, 0xFE, 0x37
                        }))
                {
                    If (LEqual (Arg2, Zero))
                    {
                        If (LEqual (Arg1, Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03
                            })
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If (LEqual (Arg2, One))
                    {
                        While (One)
                        {
                            Store (DerefOf (Index (Arg3, Zero)), _T_0)
                            If (LEqual (_T_0, Zero))
                            {
                                ^^HIDD.HPEM (0x1B)
                            }
                            Else
                            {
                                If (LEqual (_T_0, One)) {}
                                Else
                                {
                                    If (LEqual (_T_0, 0x02)) {}
                                    Else
                                    {
                                        If (LEqual (_T_0, 0x03)) {}
                                    }
                                }
                            }

                            Break
                        }

                        Return (Zero)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }
                Else
                {
                    Return (Buffer (One)
                    {
                         0x00
                    })
                }
            }
        }
    }

    Scope (_PR)
    {
        Processor (CPU0, 0x01, 0x00000000, 0x00) {}
        Processor (CPU1, 0x02, 0x00000000, 0x00) {}
        Processor (CPU2, 0x03, 0x00000000, 0x00) {}
        Processor (CPU3, 0x04, 0x00000000, 0x00) {}
    }

    Name (PICM, Zero)
    Mutex (MUTX, 0x00)
    OperationRegion (PRT0, SystemIO, 0x80, 0x04)
    Field (PRT0, DWordAcc, Lock, Preserve)
    {
        P80H,   32
    }

    Method (P8XH, 2, Serialized)
    {
        If (LEqual (Arg0, Zero))
        {
            Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
        }

        If (LEqual (Arg0, One))
        {
            Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)
                ), P80D)
        }

        If (LEqual (Arg0, 0x02))
        {
            Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)
                ), P80D)
        }

        If (LEqual (Arg0, 0x03))
        {
            Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)
                ), P80D)
        }

        Store (P80D, P80H)
    }

    OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
    Field (SPRT, ByteAcc, Lock, Preserve)
    {
        SSMP,   8
    }

    Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
    {
        Store (Arg0, GPIC)
        Store (Arg0, PICM)
    }

    OperationRegion (SWC0, SystemIO, 0x0610, 0x0F)
    Field (SWC0, ByteAcc, NoLock, Preserve)
    {
        G1S,    8, 
        Offset (0x04), 
        G1E,    8, 
        Offset (0x0A), 
        G1S2,   8, 
        G1S3,   8
    }

    OperationRegion (SWC1, SystemIO, PMBS, 0x2C)
    Field (SWC1, DWordAcc, NoLock, Preserve)
    {
        Offset (0x20), 
        G0S,    32, 
        Offset (0x28), 
        G0EN,   32
    }

    Method (PPTS, 1, NotSerialized)
    {
        Store (Zero, P80D)
        P8XH (Zero, Arg0)
        Store (Ones, G1S3)
        Store (Ones, G1S2)
        Store (One, G1S)
        Store (One, G1E)
        Store (Ones, G0S)
        If (LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x05)))
        {
            Store (Zero, G0EN)
            Store (One, PWBS)
            Store (One, PM1S)
        }

        If (CondRefOf (TCGM))
        {
            \_SB.PCI0.LPCB.TPM.PTS (Arg0)
        }
    }

    Method (PWAK, 1, Serialized)
    {
        P8XH (One, 0xAB)
        If (NEXP)
        {
            If (And (OSCC, 0x02))
            {
                \_SB.PCI0.NHPG ()
            }

            If (And (OSCC, 0x04))
            {
                \_SB.PCI0.NPME ()
            }
        }

        If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
        {
            If (LEqual (PFLV, FMBL))
            {
                If (LEqual (Arg0, 0x04))
                {
                    PNOT ()
                }
            }

            If (And (CFGD, 0x01000000)) {}
            If (LEqual (OSYS, 0x07D2))
            {
                If (And (CFGD, One))
                {
                    If (LGreater (\_PR.CPU0._PPC, Zero))
                    {
                        Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                        Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                    }
                    Else
                    {
                        Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                        Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                    }
                }
            }
        }
    }

    Method (PNOT, 0, Serialized)
    {
        If (MPEN)
        {
            If (And (PDC0, 0x08))
            {
                Notify (\_PR.CPU0, 0x80)
                If (And (PDC0, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU0, 0x81)
                }
            }

            If (And (PDC1, 0x08))
            {
                Notify (\_PR.CPU1, 0x80)
                If (And (PDC1, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU1, 0x81)
                }
            }

            If (And (PDC2, 0x08))
            {
                Notify (\_PR.CPU2, 0x80)
                If (And (PDC2, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU2, 0x81)
                }
            }

            If (And (PDC3, 0x08))
            {
                Notify (\_PR.CPU3, 0x80)
                If (And (PDC3, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU3, 0x81)
                }
            }
        }
        Else
        {
            Notify (\_PR.CPU0, 0x80)
            Sleep (0x64)
            Notify (\_PR.CPU0, 0x81)
        }
    }

    Scope (_SB)
    {
        Name (CRTT, 0x6E)
        Name (ACTT, 0x55)
        Name (SCR0, 0x0102)
        Name (SCR1, 0x0102)
        Name (SCR2, 0x0102)
        Name (SCR3, 0x0102)
        Name (GCR0, 0x46)
        Name (GCR1, 0x46)
        Name (GCR2, 0x46)
        Name (GCR3, 0x46)
        Name (GCR4, 0x46)
        Name (PST0, 0x3C)
        Name (PST1, 0x3C)
        Name (PST2, 0x3C)
        Name (PST3, 0x3C)
        Name (PST4, 0x3C)
        Name (WCR0, 0x4B)
        Name (WPPT, 0x28)
        Name (LPMV, 0x03)
        Name (PDBG, Zero)
        Name (PDPM, One)
        Name (PDBP, One)
        Name (DLPO, Package (0x06)
        {
            One, 
            One, 
            One, 
            0x19, 
            One, 
            One
        })
        Name (BRQD, Zero)
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            Store (DPCT, CRTT)
            Store (DPPT, ACTT)
            Store (DGC0, GCR0)
            Store (DGC1, GCR1)
            Store (DGC2, GCR2)
            Store (DGC3, GCR3)
            Store (DGC4, GCR4)
            Store (DGP0, PST0)
            Store (DGP1, PST1)
            Store (DGP2, PST2)
            Store (DGP3, PST3)
            Store (DGP4, PST4)
            Store (DSC0, SCR0)
            Store (DSC1, SCR1)
            Store (DSC2, SCR2)
            Store (DSC3, SCR3)
            Store (WWCR, WCR0)
            Store (WWPS, WPPT)
            Store (DLPM, LPMV)
            Store (DDBG, PDBG)
            Store (LPOE, Index (DLPO, One))
            Store (LPPS, Index (DLPO, 0x02))
            Store (LPST, Index (DLPO, 0x03))
            Store (LPPC, Index (DLPO, 0x04))
            Store (LPPF, Index (DLPO, 0x05))
            Store (DPME, PDPM)
        }

        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))  // _HID: Hardware ID
        }

        Scope (PCI0)
        {
            OperationRegion (XHBA, SystemMemory, 0xE00A0000, 0x40)
            Field (XHBA, DWordAcc, NoLock, Preserve)
            {
                Offset (0x10), 
                BR0X,   32
            }

            OperationRegion (XOP1, SystemMemory, BR0X, 0x80F8)
            Field (XOP1, DWordAcc, NoLock, Preserve)
            {
                Offset (0x80D4), 
                    ,   11, 
                BT11,   1, 
                    ,   8, 
                BT20,   1, 
                BT21,   1, 
                Offset (0x80D7), 
                BT24,   1
            }

            Method (CDRH, 1, Serialized)
            {
                If (LEqual (DAMT, Zero))
                {
                    Store (Zero, BT20)
                    If (LEqual (Arg0, Zero))
                    {
                        Store (Zero, BT24)
                    }
                    Else
                    {
                        Store (One, BT24)
                    }

                    Store (One, BT11)
                    Store (One, BT21)
                }
                Else
                {
                    Or (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero), 0x02, Local1)
                    ^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
                    Store (^^MBID.RMBX (0x5A, 0x80D8, Zero, Zero, Zero, Zero), Local0)
                    ADBG ("Value@offset: 0x80d8, Before Write @HostMode")
                    ADBG (Local0)
                    And (Local0, 0xFFEFFFFF, Local0)
                    Or (Local0, 0x00200800, Local0)
                    If (LEqual (Arg0, One))
                    {
                        Or (Local0, 0x01000000, Local0)
                    }
                    Else
                    {
                        And (Local0, 0xFEFFFFFF, Local0)
                    }

                    Or (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero), 0x02, Local1)
                    ^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
                    ^^MBID.WMBX (0x5A, 0x80D8, Local0, One, Zero, Zero, Zero)
                }
            }

            Method (CDRD, 1, Serialized)
            {
                If (LEqual (DAMT, Zero))
                {
                    Store (One, BT11)
                    Store (One, BT20)
                    Store (One, BT21)
                    If (LEqual (Arg0, Zero))
                    {
                        Store (Zero, BT24)
                    }
                    Else
                    {
                        Store (One, BT24)
                    }
                }
                Else
                {
                    Or (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero), 0x02, Local1)
                    ^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
                    Store (^^MBID.RMBX (0x5A, 0x80D8, Zero, Zero, Zero, Zero), Local0)
                    ADBG ("Value@offset: 0x80d8, Before Write@devicemode")
                    ADBG (Local0)
                    Or (Local0, 0x00300800, Local0)
                    If (LEqual (Arg0, One))
                    {
                        Or (Local0, 0x01000000, Local0)
                    }
                    Else
                    {
                        And (Local0, 0xFEFFFFFF, Local0)
                    }

                    Or (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero), 0x02, Local1)
                    ^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
                    ^^MBID.WMBX (0x5A, 0x80D8, Local0, One, Zero, Zero, Zero)
                }
            }

            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                Store (0x07D0, OSYS)
                If (CondRefOf (\_OSI, Local0))
                {
                    If (_OSI ("Windows 2001"))
                    {
                        Store (0x07D1, OSYS)
                    }

                    If (_OSI ("Windows 2001 SP1"))
                    {
                        Store (0x07D1, OSYS)
                    }

                    If (_OSI ("Windows 2001 SP2"))
                    {
                        Store (0x07D2, OSYS)
                    }

                    If (_OSI ("Windows 2006"))
                    {
                        Store (0x07D6, OSYS)
                    }

                    If (_OSI ("Windows 2009"))
                    {
                        Store (0x07D9, OSYS)
                    }

                    If (_OSI ("Windows 2012"))
                    {
                        Store (0x07DC, OSYS)
                    }

                    If (_OSI ("Windows 2013"))
                    {
                        Store (0x07DD, OSYS)
                    }

                    If (_OSI ("Windows 2015"))
                    {
                        Store (0x07DF, OSYS)
                    }
                }
            }

            Method (NHPG, 0, Serialized)
            {
            }

            Method (NPME, 0, Serialized)
            {
            }
        }

        Device (GPED)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, "INT0002")  // _HID: Hardware ID
            Name (_CID, "INT0002")  // _CID: Compatible ID
            Name (_DDN, "Virtual GPIO controller")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (INST, One)
            Name (XTMP, Zero)
            OperationRegion (SCIS, SystemMemory, 0xFED030C0, 0x04)
            Field (SCIS, DWordAcc, NoLock, Preserve)
            {
                    ,   1, 
                LHAD,   1, 
                LATA,   1, 
                LDIO,   1, 
                LARD,   1, 
                LIO1,   1, 
                LCEP,   1, 
                LANB,   1, 
                LHCI,   1, 
                LOTG,   1, 
                LECI,   1, 
                LHSI,   1
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0x69, 0xB4, 0x38, 0x8B, 0x95, 0x6F, 0x08, 0x4B,
                            /* 0008 */   0x9B, 0x02, 0x2D, 0xEF, 0xCC, 0x2D, 0x2C, 0x35
                        }))
                {
                    If (LEqual (Arg2, Zero))
                    {
                        If (LEqual (Arg1, One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03
                            })
                        }
                    }

                    If (LEqual (Arg2, One))
                    {
                        Return (Add (PMBS, 0x20))
                    }

                    Return (Zero)
                }
                Else
                {
                    Return (Buffer (One)
                    {
                         0x00
                    })
                }
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
                    {
                        0x00000009,
                    }
                })
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LLessEqual (SOCS, 0x04))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
            {
                Name (RBUF, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
                        "\\_SB.GPED", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0002
                        }
                })
                Return (RBUF)
            }

            Method (_L02, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
            {
                If (LEqual (XHCI, Zero)) {}
                Else
                {
                    If (LEqual (^^PCI0.XHC1.PMES, One))
                    {
                        Store (One, ^^PCI0.XHC1.PMES)
                        Notify (^^PCI0.XHC1, 0x02)
                    }
                }

                If (LNotEqual (OTGM, Zero))
                {
                    If (LEqual (^^PCI0.OTG1.PMES, One))
                    {
                        ADBG ("OTG wake")
                        Store (Zero, ^^PCI0.OTG1.PMEE)
                        Store (Zero, ^^PCI0.OTG1.CPME)
                        Store (Zero, ^^PCI0.OTG1.U2EN)
                        Store (Zero, ^^PCI0.OTG1.U3EN)
                        Notify (^^PCI0.OTG1, 0x02)
                    }
                }

                If (LEqual (^^PCI0.SEC0.PMES, One))
                {
                    Store (Zero, ^^PCI0.SEC0.PMEE)
                    Store (^^PCI0.SEC0.PMEE, Local0)
                    Notify (^^PCI0.SEC0, 0x02)
                }
            }
        }

        Device (GPO0)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, "INT33FF")  // _HID: Hardware ID
            Name (_CID, "INT33FF")  // _CID: Compatible ID
            Name (_DDN, "General Purpose Input/Output (GPIO) controller - SOUTHWEST")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xFED80000,         // Address Base
                        0x00008000,         // Address Length
                        )
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
                    {
                        0x00000031,
                    }
                })
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x0F)
            }

            Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
            {
                Name (WBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0023
                        }
                })
                If (LEqual (OSID, One))
                {
                    Return (WBUF)
                }
            }

            OperationRegion (XCFG, SystemMemory, 0xE00A0000, 0x40)
            Field (XCFG, DWordAcc, NoLock, Preserve)
            {
                Offset (0x10), 
                XBAD,   32
            }

            OperationRegion (BADR, SystemMemory, XBAD, 0x04E0)
            Field (BADR, DWordAcc, NoLock, Preserve)
            {
                Offset (0x4CC), 
                STTD,   32
            }

            Method (_E23, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
            {
                Notify (LID0, 0x80)
            }

            Method (_E4E, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
            {
                Sleep (0x03)
                And (STTD, 0xFFFFFDEE, STTD)
                Sleep (One)
                Or (STTD, 0x0211, STTD)
                Sleep (0x60)
            }

            Name (AVBL, Zero)
            Name (AMMR, Zero)
            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x08))
                {
                    Store (Arg1, AVBL)
                }
                Else
                {
                    If (LEqual (Arg0, 0x91))
                    {
                        Store (Arg1, AMMR)
                    }
                }
            }

            OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
            Field (GPOP, ByteAcc, NoLock, Preserve)
            {
                Connection (
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0035
                        }
                ), 
                BTD3,   1, 
                Connection (
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x003A
                        }
                ), 
                SUSB,   1, 
                Connection (
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x003B
                        }
                ), 
                SHD3,   1
            }

            OperationRegion (GMMR, 0x91, Zero, 0x8000)
            Field (GMMR, DWordAcc, NoLock, Preserve)
            {
                Offset (0x5420), 
                Offset (0x5421), 
                I4AF,   3, 
                    ,   4, 
                I4AE,   1, 
                    ,   4, 
                I4AD,   4, 
                Offset (0x5438), 
                Offset (0x5439), 
                I4CF,   3, 
                    ,   4, 
                I4CE,   1, 
                    ,   4, 
                I4CD,   4
            }
        }

        Device (GPO1)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, "INT33FF")  // _HID: Hardware ID
            Name (_CID, "INT33FF")  // _CID: Compatible ID
            Name (_DDN, "General Purpose Input/Output (GPIO) controller - NORTH")  // _DDN: DOS Device Name
            Name (_UID, 0x02)  // _UID: Unique ID
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                MBID
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xFED88000,         // Address Base
                        0x00008000,         // Address Length
                        )
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
                    {
                        0x00000030,
                    }
                })
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x0F)
            }

            Name (BUFF, Buffer (0x03) {})
            CreateByteField (BUFF, Zero, STAT)
            CreateByteField (BUFF, 0x02, DATA)
            Name (CHTY, Zero)
            Method (FICH, 0, NotSerialized)
            {
                ADBG ("FICH")
                If (LEqual (^^PCI0.I2C3.AVBL, One))
                {
                    Store (^^PCI0.I2C3.RG08, BUFF)
                    ShiftRight (DATA, 0x06, DATA)
                    And (DATA, 0x03, DATA)
                    Store (DATA, CHTY)
                }
            }

            Method (OTCF, 1, NotSerialized)
            {
                If (LEqual (^^PCI0.I2C3.AVBL, One))
                {
                    Store (^^PCI0.I2C3.RG01, BUFF)
                    If (LEqual (ToInteger (Arg0), One))
                    {
                        ADBG ("Enable VBUS")
                        If (LEqual (^^PCI0.I2C7.AVBL, One))
                        {
                            Store (^^PCI0.I2C7.P0DT, BUFF)
                            And (DATA, 0xDF, DATA)
                            Store (BUFF, ^^PCI0.I2C7.P0DT)
                        }
                    }
                    Else
                    {
                        And (DATA, 0xDF, DATA)
                    }

                    Store (BUFF, ^^PCI0.I2C3.RG01)
                }
            }

            Method (SAEI, 0, NotSerialized)
            {
                Name (CBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0003
                        }
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0005
                        }
                })
                Name (RBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0005
                        }
                })
                If (LEqual (OSID, One))
                {
                    If (LEqual (BDID, One))
                    {
                        Return (CBUF)
                    }
                    Else
                    {
                        Return (RBUF)
                    }
                }
            }

            Method (_E03, 0, Serialized)  // _Exx: Edge-Triggered GPE
            {
                If (LAnd (LEqual (BDID, One), LEqual (PMID, One)))
                {
                    If (LEqual (USBI, Zero))
                    {
                        ^^PCI0.CDRH (Zero)
                        If (LEqual (^^PCI0.I2C7.AVBL, One))
                        {
                            Store (^^PCI0.I2C7.P0DT, BUFF)
                            Or (DATA, Zero, DATA)
                            Store (BUFF, ^^PCI0.I2C7.P0DT)
                            Store (0xDF, DATA)
                            Store (BUFF, ^^PCI0.I2C7.P0CF)
                            Store (^^PCI0.I2C7.P0DT, BUFF)
                            Or (DATA, 0x20, DATA)
                            Store (BUFF, ^^PCI0.I2C7.P0DT)
                        }

                        If (LEqual (^^PCI0.I2C3.AVBL, One))
                        {
                            Store (^^PCI0.I2C3.P0TG, BUFF)
                            Or (DATA, 0x20, DATA)
                            Store (BUFF, ^^PCI0.I2C3.P0TG)
                        }

                        If (LEqual (^^GPO3.AMMR, One))
                        {
                            Store (0x8102, ^^GPO3.DMTX)
                        }
                    }
                    Else
                    {
                        If (LEqual (^^GPO3.AMMR, One))
                        {
                            Store (0x8100, ^^GPO3.DMTX)
                        }

                        If (LEqual (^^PCI0.I2C3.AVBL, One))
                        {
                            Store (^^PCI0.I2C3.P0TG, BUFF)
                            And (DATA, 0xDF, DATA)
                            Store (BUFF, ^^PCI0.I2C3.P0TG)
                        }

                        If (LEqual (DSFG, One))
                        {
                            ^^PCI0.CDRH (Zero)
                        }
                        Else
                        {
                            ^^PCI0.CDRD (Zero)
                        }
                    }
                }
                Else
                {
                    If (LAnd (LEqual (BDID, One), LEqual (PMID, 0x02)))
                    {
                        If (LEqual (USBI, Zero))
                        {
                            ^^PCI0.CDRH (Zero)
                            If (LEqual (AVBL, One))
                            {
                                Store (One, GN66)
                            }

                            If (LEqual (^^GPO3.AMMR, One))
                            {
                                Store (0x8102, ^^GPO3.DMTX)
                            }
                        }
                        Else
                        {
                            If (LEqual (DSFG, One))
                            {
                                ^^PCI0.CDRH (Zero)
                                If (LEqual (^^GPO3.AMMR, One))
                                {
                                    Store (0x8102, ^^GPO3.DMTX)
                                }
                            }
                            Else
                            {
                                ^^PCI0.CDRD (Zero)
                                If (LEqual (^^GPO3.AMMR, One))
                                {
                                    Store (0x8100, ^^GPO3.DMTX)
                                }

                                If (LEqual (AVBL, One))
                                {
                                    Store (Zero, GN66)
                                }
                            }
                        }
                    }
                }
            }

            Method (_E05, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
            {
                If (LNotEqual (BDID, One))
                {
                    If (LEqual (^^PCI0.I2C1.AVBL, One))
                    {
                        If (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
                        {
                            Store (^^PCI0.I2C1.BATC.INTC (), Local0)
                            If (LEqual (One, Local0))
                            {
                                Notify (ADP1, 0x80)
                                Notify (^^PCI0.I2C1.BATC, 0x80)
                                Notify (^^PCI0.I2C1.BATC, 0x81)
                            }
                        }

                        If (CondRefOf (\_SB.DPTF, Local3))
                        {
                            If (LEqual (One, Local0))
                            {
                                ADBG ("DPTFNOTIFY")
                                Notify (DPTF, 0x86)
                                Notify (TCHG, 0x80)
                            }
                        }
                    }
                }
            }

            Name (AVBL, Zero)
            Name (AMMR, Zero)
            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x08))
                {
                    Store (Arg1, AVBL)
                }
                Else
                {
                    If (LEqual (Arg0, 0x92))
                    {
                        Store (Arg1, AMMR)
                    }
                }
            }

            OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x11)
            Field (GPOP, ByteAcc, NoLock, Preserve)
            {
                Connection (
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                ), 
                MPD3,   1, 
                Connection (
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0002
                        }
                ), 
                MRD3,   1, 
                Connection (
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0014
                        }
                ), 
                TCD3,   1, 
                Connection (
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0037
                        }
                ), 
                CRST,   1, 
                Connection (
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0017
                        }
                ), 
                WLD3,   1, 
                Connection (
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0019
                        }
                ), 
                TCTL,   1, 
                Connection (
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0042
                        }
                ), 
                GN66,   1
            }

            OperationRegion (GMMR, 0x92, Zero, 0x8000)
            Field (GMMR, DWordAcc, NoLock, Preserve)
            {
                Offset (0x4418), 
                USBI,   1, 
                Offset (0x4818), 
                Offset (0x4819), 
                GPSC,   3, 
                    ,   4, 
                GPSE,   1, 
                Offset (0x5460), 
                COPM,   1
            }
        }

        Device (GPO2)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, "INT33FF")  // _HID: Hardware ID
            Name (_CID, "INT33FF")  // _CID: Compatible ID
            Name (_DDN, "General Purpose Input/Output (GPIO) controller - EAST")  // _DDN: DOS Device Name
            Name (_UID, 0x03)  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xFED90000,         // Address Base
                        0x00008000,         // Address Length
                        )
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
                    {
                        0x00000032,
                    }
                })
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x0F)
            }

            Name (BUFF, Buffer (0x07)
            {
                 0xFF
            })
            CreateByteField (BUFF, Zero, STAT)
            CreateByteField (BUFF, One, LEN)
            CreateByteField (BUFF, 0x02, TMP0)
            CreateByteField (BUFF, 0x03, AX00)
            CreateByteField (BUFF, 0x04, AX01)
            CreateByteField (BUFF, 0x05, AX10)
            CreateByteField (BUFF, 0x06, AX11)
        }

        Device (GPO3)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, "INT33FF")  // _HID: Hardware ID
            Name (_CID, "INT33FF")  // _CID: Compatible ID
            Name (_DDN, "General Purpose Input/Output (GPIO) controller - SOUTHEAST")  // _DDN: DOS Device Name
            Name (_UID, 0x04)  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xFED98000,         // Address Base
                        0x00008000,         // Address Length
                        )
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
                    {
                        0x0000005B,
                    }
                })
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x0F)
            }

            Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
            {
                Name (CBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x003D
                        }
                })
                Name (WBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0001
                        }
                })
                If (LAnd (LEqual (BDID, 0x02), LEqual (OSID, One)))
                {
                    Return (CBUF)
                }
                Else
                {
                    If (LAnd (LNotEqual (BDID, One), LEqual (OSID, One)))
                    {
                        Return (WBUF)
                    }
                }
            }

            Method (_E01, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
            {
                ADBG ("BINTR")
                If (LEqual (BDID, 0x08))
                {
                    If (CondRefOf (\_SB.PCI0.I2C7.BATC, Local1))
                    {
                        Store (^^PCI0.I2C7.BATC.INTF (), Local0)
                        ADBG (Local0)
                    }

                    Notify (ADP1, 0x80)
                    Notify (^^PCI0.I2C7.BATC, 0x80)
                    Notify (^^PCI0.I2C7.BATC, 0x81)
                }
                Else
                {
                    If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                    {
                        If (LEqual (^^PCI0.I2C7.WIDR.AVBL, One))
                        {
                            Notify (ADP1, 0x80)
                            Notify (^^PCI0.I2C7.WIDR, 0x87)
                        }
                    }
                    Else
                    {
                        If (LEqual (^^PCI0.I2C1.AVBL, One))
                        {
                            If (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
                            {
                                Store (^^PCI0.I2C1.BATC.INTF (), Local0)
                                ADBG (Local0)
                            }

                            Notify (ADP1, 0x80)
                            Notify (^^PCI0.I2C1.BATC, 0x80)
                            Notify (^^PCI0.I2C1.BATC, 0x81)
                        }
                    }
                }
            }

            Method (_E3D, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
            {
                ADBG ("BINTR")
                If (LEqual (^^PCI0.I2C1.AVBL, One))
                {
                    If (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
                    {
                        Store (^^PCI0.I2C1.BATC.INTF (), Local0)
                        ADBG (Local0)
                    }

                    Notify (ADP1, 0x80)
                    Notify (^^PCI0.I2C1.BATC, 0x80)
                    Notify (^^PCI0.I2C1.BATC, 0x81)
                }
            }

            Name (AVBL, Zero)
            Name (AMMR, Zero)
            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x08))
                {
                    Store (Arg1, AVBL)
                }
                Else
                {
                    If (LEqual (Arg0, 0x94))
                    {
                        Store (Arg1, AMMR)
                    }
                }
            }

            Name (GMOD, ResourceTemplate ()
            {
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x004B
                    }
            })
            OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
            Field (GPOP, ByteAcc, NoLock, Preserve)
            {
                Connection (GMOD), 
                WFD3,   1
            }

            OperationRegion (GMMR, 0x94, Zero, 0x8000)
            Field (GMMR, DWordAcc, NoLock, Preserve)
            {
                Offset (0x5420), 
                FGGP,   32, 
                Offset (0x5448), 
                DMTX,   32
            }
        }

        Device (GPO4)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, "INT33FF")  // _HID: Hardware ID
            Name (_CID, "INT33FF")  // _CID: Compatible ID
            Name (_DDN, "General Purpose Input/Output (GPIO) controller - GPIO VIRTUAL")  // _DDN: DOS Device Name
            Name (_UID, 0x05)  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xFEDA0000,         // Address Base
                        0x00008000,         // Address Length
                        )
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
                    {
                        0x0000006C,
                    }
                })
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LLessEqual (SOCS, 0x04))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x0F)
                }
            }

            Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
            {
                Name (RBUF, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                        "\\_SB.GPO4", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0006
                        }
                })
                Return (RBUF)
            }

            Name (AVBL, Zero)
            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x08))
                {
                    Store (Arg1, AVBL)
                }
            }

            Method (_L06, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
            {
                If (LNotEqual (XHCI, Zero))
                {
                    If (LEqual (^^PCI0.XHC1.PMES, One))
                    {
                        Store (One, ^^PCI0.XHC1.PMES)
                        Notify (^^PCI0.XHC1, 0x02)
                    }
                }

                If (LNotEqual (OTGM, Zero))
                {
                    If (LEqual (^^PCI0.OTG1.PMES, One))
                    {
                        ADBG ("OTG wake")
                        Store (Zero, ^^PCI0.OTG1.PMEE)
                        Store (Zero, ^^PCI0.OTG1.CPME)
                        Store (Zero, ^^PCI0.OTG1.U2EN)
                        Store (Zero, ^^PCI0.OTG1.U3EN)
                        Notify (^^PCI0.OTG1, 0x02)
                    }
                }

                If (LEqual (^^PCI0.SEC0.PMES, One))
                {
                    Store (Zero, ^^PCI0.SEC0.PMEE)
                    Store (^^PCI0.SEC0.PMEE, Local0)
                    Notify (^^PCI0.SEC0, 0x02)
                }

                Stall (0x0A)
                Store (One, PMEB)
                Stall (0x0A)
            }
        }

        Device (WLCH)
        {
            Name (_HID, "INTA4321")  // _HID: Hardware ID
            Name (_CID, "INTA4321")  // _CID: Compatible ID
            Name (_DDN, "WIRELESS CHARGER")  // _DDN: DOS Device Name
            Name (_DEP, Package (0x03)  // _DEP: Dependencies
            {
                ^PCI0.I2C1, 
                GPO3, 
                GPO0
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    I2cSerialBus (0x0020, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                        0x00, ResourceConsumer, ,
                        )
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0032
                        }
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x004D
                        }
                })
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LEqual (BDID, 0x0A), LNotEqual (OSID, One)))
                {
                    Return (Zero)
                }

                Return (Zero)
            }
        }

        Device (WCH2)
        {
            Name (_HID, "INTA4322")  // _HID: Hardware ID
            Name (_CID, "INTA4322")  // _CID: Compatible ID
            Name (_DDN, "WIRELESS CHARGER 2")  // _DDN: DOS Device Name
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                GPO3, 
                GPO1
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0031
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x003E
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0040
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x003C
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x003D
                        }
                })
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LEqual (BDID, 0x0A), LNotEqual (OSID, One)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }
        }

        Device (FLDM)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, "INT34D0")  // _HID: Hardware ID
            Name (_CID, "INT34D0")  // _CID: Compatible ID
            Name (_DDN, "Modem Reset device for CHT")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (CDEP, Package (0x03)
            {
                GPO1, 
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMIC
            })
            Name (_DEP, Package (0x03)  // _DEP: Dependencies
            {
                GPO1, 
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI5
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (FMDM, One))
                {
                    Return (Zero)
                }

                Return (Zero)
            }

            OperationRegion (BADR, SystemMemory, 0xFED8C410, 0x08)
            Field (BADR, DWordAcc, NoLock, Preserve)
            {
                MRB0,   32, 
                MRB1,   32
            }

            OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
            Field (BAD1, DWordAcc, NoLock, Preserve)
            {
                MRP0,   32, 
                MRP1,   32
            }

            OperationRegion (CFG1, SystemMemory, 0xE00A0000, 0x40)
            Field (CFG1, DWordAcc, NoLock, Preserve)
            {
                Offset (0x10), 
                BAD2,   32
            }

            OperationRegion (ADR3, SystemMemory, BAD2, 0x0560)
            Field (ADR3, DWordAcc, NoLock, Preserve)
            {
                Offset (0x52C), 
                STTD,   32
            }

            Method (MDON, 0, NotSerialized)
            {
                If (LEqual (PMID, 0x03))
                {
                    Store (One, ^^PCI0.I2C7.PMI5.MOXX)
                }
                Else
                {
                    If (LEqual (PMID, Zero))
                    {
                        Store (One, ^^PCI0.I2C7.PMIC.MOXX)
                    }
                }

                Stall (0xFF)
                If (LEqual (^^GPO1.AVBL, One))
                {
                    Stall (0x0A)
                    Store (One, ^^GPO1.MRD3)
                    Stall (0x0A)
                    Store (Zero, ^^GPO1.MPD3)
                    Stall (0x0A)
                    Store (One, ^^GPO1.MPD3)
                    Stall (0x4B)
                    Store (Zero, ^^GPO1.MPD3)
                }

                Stall (0xFF)
                And (STTD, 0xFFFEFE1D, Local1)
                Or (Local1, 0x00010000, STTD)
                Stall (0xFF)
                If (LEqual (STTD, 0x02F0))
                {
                    And (STTD, 0xFFFEFC0D, Local2)
                    Or (Local2, 0x00010000, STTD)
                }

                Stall (0xFF)
                If (LEqual (STTD, 0x0E0002F0))
                {
                    And (STTD, 0xFFFEFC0D, Local3)
                    Or (Local3, 0x00010000, STTD)
                }
            }

            Method (MOFF, 0, NotSerialized)
            {
                And (STTD, 0xFFFEFE1D, Local1)
                Or (Local1, 0x00010000, STTD)
                Stall (0xFF)
                If (LEqual (^^GPO1.AVBL, One))
                {
                    Store (Zero, ^^GPO1.MRD3)
                    Stall (0xFF)
                }

                If (LEqual (PMID, 0x03))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI5.MOXX)
                }
                Else
                {
                    If (LEqual (PMID, Zero))
                    {
                        Store (Zero, ^^PCI0.I2C7.PMIC.MOXX)
                    }
                }

                Stall (0xFF)
            }

            Method (MRST, 0, NotSerialized)
            {
                If (LEqual (PSSE, One))
                {
                    If (LEqual (^^PCI0.XHC1.XCD3, One))
                    {
                        Store (One, ^^PCI0.XHC1.XHD3)
                        Notify (^^PCI0.XHC1, 0x02)
                    }
                    Else
                    {
                        Store (Zero, ^^PCI0.XHC1.XHD3)
                        MOFF ()
                        Store (Zero, ^^PCI0.XHC1.S1PD)
                        Store (One, ^^PCI0.XHC1.S1PU)
                        Store (One, ^^PCI0.XHC1.S1PD)
                        Stall (0xFF)
                        MDON ()
                        Store (Zero, ^^PCI0.XHC1.S1PD)
                        Store (Zero, ^^PCI0.XHC1.S1PU)
                        Store (One, ^^PCI0.XHC1.S1PD)
                        Stall (0xFF)
                        If (LEqual (^^PCI0.XHC1.XCD3, One))
                        {
                            Store (One, ^^PCI0.XHC1.XHD3)
                            Notify (^^PCI0.XHC1, 0x02)
                        }
                    }
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xB7, 0x0C, 0x34, 0xAC, 0x01, 0xE9, 0xBF, 0x45,
                            /* 0008 */   0xB7, 0xE6, 0x2B, 0x34, 0xEC, 0x93, 0x1E, 0x23
                        }))
                {
                    If (LEqual (Arg2, Zero))
                    {
                        Return (0x03)
                    }

                    While (One)
                    {
                        Store (Arg2, _T_0)
                        If (LEqual (_T_0, One))
                        {
                            MOFF ()
                        }
                        Else
                        {
                            If (LEqual (_T_0, 0x02))
                            {
                                MDON ()
                            }
                            Else
                            {
                                If (LEqual (_T_0, 0x03))
                                {
                                    MRST ()
                                }
                            }
                        }

                        Break
                    }
                }
                Else
                {
                    Return (Zero)
                }
            }
        }

        Scope (PCI0.I2C7)
        {
            OperationRegion (DZFG, GenericSerialBus, Zero, 0x0100)
            Field (DZFG, BufferAcc, NoLock, Preserve)
            {
                Connection (
                    I2cSerialBus (0x005E, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                        0x00, ResourceConsumer, ,
                        )
                ), 
                Offset (0x47), 
                AccessAs (BufferAcc, AttribByte), 
                DL03,   8, 
                DL02,   8
            }

            OperationRegion (XOPR, GenericSerialBus, Zero, 0x20)
            Field (XOPR, BufferAcc, NoLock, Preserve)
            {
                Connection (
                    I2cSerialBus (0x0034, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                        0x00, ResourceConsumer, ,
                        )
                ), 
                Offset (0x12), 
                AccessAs (BufferAcc, AttribByte), 
                XD31,   8, 
                Offset (0x16), 
                AccessAs (BufferAcc, AttribByte), 
                XD33,   8, 
                XD32,   8
            }

            Device (PMI1)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT33F4")  // _HID: Hardware ID
                Name (_CID, "INT33F4")  // _CID: Compatible ID
                Name (_DDN, "XPOWER PMIC Controller")  // _DDN: DOS Device Name
                Name (_HRV, 0x03)  // _HRV: Hardware Revision
                Name (_UID, One)  // _UID: Unique ID
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    I2C7, 
                    GPO1
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x0034, ControllerInitiated, 0x000F4240,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Level, ActiveLow, Shared, PullDefault, 0x0000,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x000F
                            }
                    })
                    Name (ABUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x0034, ControllerInitiated, 0x000F4240,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x000F
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0045
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0042
                            }
                    })
                    If (LNotEqual (OSID, One))
                    {
                        Return (ABUF)
                    }
                    Else
                    {
                        Return (SBUF)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (PMEN, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (PMID, 0x02))
                    {
                        ADBG ("XPWR_DCOVE")
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                OperationRegion (PMOP, 0x8D, Zero, 0x0100)
                Field (PMOP, DWordAcc, NoLock, Preserve)
                {
                    ALD1,   32, 
                    ALD2,   32, 
                    ALD3,   32, 
                    DLD1,   32, 
                    DLD2,   32, 
                    DLD3,   32, 
                    DLD4,   32, 
                    ELD1,   32, 
                    ELD2,   32, 
                    ELD3,   32, 
                    FLD1,   32, 
                    FLD2,   32, 
                    FLD3,   32, 
                    BUC1,   32, 
                    BUC2,   32, 
                    BUC3,   32, 
                    BUC4,   32, 
                    BUC5,   32, 
                    BUC6,   32, 
                    GPI1,   32
                }

                OperationRegion (DPTF, 0x8C, Zero, 0x0100)
                Field (DPTF, DWordAcc, NoLock, Preserve)
                {
                    TMP0,   32, 
                    AX00,   32, 
                    AX01,   32, 
                    TMP1,   32, 
                    AX10,   32, 
                    AX11,   32, 
                    TMP2,   32, 
                    AX20,   32, 
                    AX21,   32, 
                    TMP3,   32, 
                    AX30,   32, 
                    AX31,   32, 
                    TMP4,   32, 
                    AX40,   32, 
                    AX41,   32, 
                    TMP5,   32, 
                    AX50,   32, 
                    AX51,   32, 
                    PEN0,   32, 
                    PEN1,   32, 
                    PEN2,   32, 
                    PEN3,   32, 
                    PEN4,   32, 
                    PEN5,   32
                }

                Name (LPAT, Package (0x44)
                {
                    0x091B, 
                    0x00029462, 
                    0x094D, 
                    0x0001DABB, 
                    0x097F, 
                    0x000158E2, 
                    0x09B1, 
                    0xFD17, 
                    0x09E3, 
                    0xBB86, 
                    0x0A15, 
                    0x8C3C, 
                    0x0A47, 
                    0x69CE, 
                    0x0A79, 
                    0x5083, 
                    0x0AAB, 
                    0x3DC4, 
                    0x0ADD, 
                    0x2FC2, 
                    0x0B0F, 
                    0x2535, 
                    0x0B41, 
                    0x1D33, 
                    0x0B73, 
                    0x1713, 
                    0x0BA5, 
                    0x125C, 
                    0x0BD7, 
                    0x0EB3, 
                    0x0C09, 
                    0x0BD8, 
                    0x0C3B, 
                    0x099A, 
                    0x0C6D, 
                    0x07D4, 
                    0x0C9F, 
                    0x066B, 
                    0x0CD1, 
                    0x054A, 
                    0x0D03, 
                    0x0462, 
                    0x0D35, 
                    0x03A6, 
                    0x0D67, 
                    0x030D, 
                    0x0D99, 
                    0x0291, 
                    0x0DCB, 
                    0x022A, 
                    0x0DFD, 
                    0x01D6, 
                    0x0E2F, 
                    0x0190, 
                    0x0E61, 
                    0x0156, 
                    0x0E93, 
                    0x0125, 
                    0x0EC5, 
                    0xFC, 
                    0x0EF7, 
                    0xDA, 
                    0x0F29, 
                    0xBD, 
                    0x0F5B, 
                    0xA4, 
                    0x0F8D, 
                    0x8F
                })
                OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
                Field (GPOP, ByteAcc, NoLock, Preserve)
                {
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0020
                            }
                    ), 
                    GMP0,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0021
                            }
                    ), 
                    GX00,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0022
                            }
                    ), 
                    GX01,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0023
                            }
                    ), 
                    GMP1,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0024
                            }
                    ), 
                    GX10,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0025
                            }
                    ), 
                    GX11,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0026
                            }
                    ), 
                    GMP2,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0027
                            }
                    ), 
                    GX20,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0028
                            }
                    ), 
                    GX21,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0029
                            }
                    ), 
                    GMP3,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002A
                            }
                    ), 
                    GX30,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002B
                            }
                    ), 
                    GX31,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002C
                            }
                    ), 
                    GMP4,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002D
                            }
                    ), 
                    GX40,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002E
                            }
                    ), 
                    GX41,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002F
                            }
                    ), 
                    GMP5,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0030
                            }
                    ), 
                    GX50,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0031
                            }
                    ), 
                    GX51,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0032
                            }
                    ), 
                    GEN0,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0033
                            }
                    ), 
                    GEN1,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0034
                            }
                    ), 
                    GEN2,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0035
                            }
                    ), 
                    GEN3,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0036
                            }
                    ), 
                    GEN4,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                    ), 
                    GEN5,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0040
                            }
                    ), 
                    G28X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0046
                            }
                    ), 
                    G06X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0048
                            }
                    ), 
                    G18X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0053
                            }
                    ), 
                    GSDX,   1
                }

                Name (AVBL, Zero)
                Name (AVBD, Zero)
                Name (AVBG, Zero)
                Method (_REG, 2, NotSerialized)  // _REG: Region Availability
                {
                    If (LEqual (Arg0, 0x08))
                    {
                        Store (Arg1, AVBG)
                    }

                    If (LEqual (Arg0, 0x8D))
                    {
                        Store (Arg1, AVBL)
                    }

                    If (LEqual (Arg0, 0x8C))
                    {
                        Store (Arg1, AVBD)
                    }
                }

                Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
                {
                    Name (RBUF, ResourceTemplate ()
                    {
                        GpioInt (Edge, ActiveLow, Exclusive, PullNone, 0x0000,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0011
                            }
                        GpioInt (Edge, ActiveLow, Exclusive, PullNone, 0x0000,
                            "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0013
                            }
                    })
                    Return (RBUF)
                }

                Method (_E11, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
                {
                    If (LEqual (OSID, One))
                    {
                        If (LNotEqual (^^^^GPO1.USBI, Zero))
                        {
                            If (LEqual (^^AVBL, One))
                            {
                                Notify (BMDR, 0x87)
                            }
                        }
                    }
                }

                Method (_E13, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
                {
                    If (LEqual (OSID, One))
                    {
                        If (LNotEqual (^^^^GPO1.USBI, Zero))
                        {
                            If (LEqual (^^AVBL, One))
                            {
                                Notify (BMDR, 0x87)
                            }
                        }
                    }
                }
            }

            Device (PMI2)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT33F5")  // _HID: Hardware ID
                Name (_CID, "INT33F5")  // _CID: Compatible ID
                Name (_DDN, "TI PMIC Controller")  // _DDN: DOS Device Name
                Name (_HRV, 0x03)  // _HRV: Hardware Revision
                Name (_UID, One)  // _UID: Unique ID
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    I2C7, 
                    GPO1
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x005E, ControllerInitiated, 0x000F4240,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x000F
                            }
                    })
                    Return (SBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (PMEN, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (PMID, One))
                    {
                        ADBG ("TI_DCOVE")
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                OperationRegion (PMOP, 0x8D, Zero, 0x0100)
                Field (PMOP, DWordAcc, NoLock, Preserve)
                {
                    LDO1,   32, 
                    LDO2,   32, 
                    LDO3,   32, 
                    LDO5,   32, 
                    LDO6,   32, 
                    LDO7,   32, 
                    LDO8,   32, 
                    LDO9,   32, 
                    LD10,   32, 
                    LD11,   32, 
                    LD12,   32, 
                    LD13,   32, 
                    LD14,   32
                }

                OperationRegion (DPTF, 0x8C, Zero, 0x0100)
                Field (DPTF, DWordAcc, NoLock, Preserve)
                {
                    TMP0,   32, 
                    AX00,   32, 
                    AX01,   32, 
                    TMP1,   32, 
                    AX10,   32, 
                    AX11,   32, 
                    TMP2,   32, 
                    AX20,   32, 
                    AX21,   32, 
                    TMP3,   32, 
                    AX30,   32, 
                    AX31,   32, 
                    TMP4,   32, 
                    AX40,   32, 
                    AX41,   32, 
                    TMP5,   32, 
                    AX50,   32, 
                    AX51,   32, 
                    PEN0,   32, 
                    PEN1,   32, 
                    PEN2,   32, 
                    PEN3,   32, 
                    PEN4,   32, 
                    PEN5,   32
                }

                Name (LPAT, Package (0x44)
                {
                    0x091B, 
                    0x03F1, 
                    0x094D, 
                    0x03EB, 
                    0x097F, 
                    0x03E4, 
                    0x09B1, 
                    0x03DA, 
                    0x09E3, 
                    0x03CE, 
                    0x0A15, 
                    0x03BE, 
                    0x0A47, 
                    0x03AA, 
                    0x0A79, 
                    0x0392, 
                    0x0AAB, 
                    0x0375, 
                    0x0ADD, 
                    0x0353, 
                    0x0B0F, 
                    0x032C, 
                    0x0B41, 
                    0x0300, 
                    0x0B73, 
                    0x02D0, 
                    0x0BA5, 
                    0x029D, 
                    0x0BD7, 
                    0x0268, 
                    0x0C09, 
                    0x0232, 
                    0x0C3B, 
                    0x01FD, 
                    0x0C6D, 
                    0x01C9, 
                    0x0C9F, 
                    0x0197, 
                    0x0CD1, 
                    0x0169, 
                    0x0D03, 
                    0x013E, 
                    0x0D35, 
                    0x0117, 
                    0x0D67, 
                    0xF5, 
                    0x0D99, 
                    0xD6, 
                    0x0DCB, 
                    0xBB, 
                    0x0DFD, 
                    0xA3, 
                    0x0E2F, 
                    0x8E, 
                    0x0E61, 
                    0x7C, 
                    0x0E93, 
                    0x6C, 
                    0x0EC5, 
                    0x5E, 
                    0x0EF7, 
                    0x53, 
                    0x0F29, 
                    0x48, 
                    0x0F5B, 
                    0x3F, 
                    0x0F8D, 
                    0x38
                })
                OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
                Field (GPOP, ByteAcc, NoLock, Preserve)
                {
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0020
                            }
                    ), 
                    GMP0,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0021
                            }
                    ), 
                    GX00,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0022
                            }
                    ), 
                    GX01,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0023
                            }
                    ), 
                    GMP1,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0024
                            }
                    ), 
                    GX10,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0025
                            }
                    ), 
                    GX11,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0026
                            }
                    ), 
                    GMP2,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0027
                            }
                    ), 
                    GX20,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0028
                            }
                    ), 
                    GX21,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0029
                            }
                    ), 
                    GMP3,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002A
                            }
                    ), 
                    GX30,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002B
                            }
                    ), 
                    GX31,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002C
                            }
                    ), 
                    GMP4,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002D
                            }
                    ), 
                    GX40,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002E
                            }
                    ), 
                    GX41,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002F
                            }
                    ), 
                    GMP5,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0030
                            }
                    ), 
                    GX50,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0031
                            }
                    ), 
                    GX51,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0032
                            }
                    ), 
                    GEN0,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0033
                            }
                    ), 
                    GEN1,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0034
                            }
                    ), 
                    GEN2,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0035
                            }
                    ), 
                    GEN3,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0036
                            }
                    ), 
                    GEN4,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                    ), 
                    GEN5,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0040
                            }
                    ), 
                    G12A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0044
                            }
                    ), 
                    GSDX,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0047
                            }
                    ), 
                    G28X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0048
                            }
                    ), 
                    G18U,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0049
                            }
                    ), 
                    G18X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004B
                            }
                    ), 
                    G3P3,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004C
                            }
                    ), 
                    G12T,   1
                }

                Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
                {
                    Name (RBUF, ResourceTemplate ()
                    {
                        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0011
                            }
                    })
                    Return (RBUF)
                }

                Method (_E11, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
                {
                    If (LEqual (OSID, One))
                    {
                        If (LNotEqual (^^^^GPO1.USBI, Zero))
                        {
                            If (LEqual (^^^I2C3.AVBL, One))
                            {
                                Notify (^^^I2C3.TIDR, 0x87)
                            }
                        }
                    }
                }

                Name (AVBL, Zero)
                Name (AVBD, Zero)
                Name (AVBG, Zero)
                Method (_REG, 2, NotSerialized)  // _REG: Region Availability
                {
                    If (LEqual (Arg0, 0x08))
                    {
                        Store (Arg1, AVBG)
                    }

                    If (LEqual (Arg0, 0x8D))
                    {
                        Store (Arg1, AVBL)
                    }

                    If (LEqual (Arg0, 0x8C))
                    {
                        Store (Arg1, AVBD)
                    }
                }
            }

            Device (PMI5)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT34D3")  // _HID: Hardware ID
                Name (_CID, "INT34D3")  // _CID: Compatible ID
                Name (_DDN, "WHISKEY COVE AIC")  // _DDN: DOS Device Name
                Name (_HRV, 0x03)  // _HRV: Hardware Revision
                Name (_UID, One)  // _UID: Unique ID
                Name (ADEP, Package (0x03)
                {
                    I2C7, 
                    GPO1, 
                    GPO3
                })
                Name (_DEP, Package (0x03)  // _DEP: Dependencies
                {
                    I2C7, 
                    GPO1, 
                    MBID
                })
                Name (ACDC, One)
                Name (SBUF, ResourceTemplate ()
                {
                    I2cSerialBus (0x004F, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                        0x00, ResourceConsumer, ,
                        )
                    I2cSerialBus (0x005E, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                        0x00, ResourceConsumer, ,
                        )
                    I2cSerialBus (0x006E, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                        0x00, ResourceConsumer, ,
                        )
                    GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x000F
                        }
                })
                Name (HBUF, ResourceTemplate ()
                {
                    I2cSerialBus (0x004F, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                        0x00, ResourceConsumer, ,
                        )
                    I2cSerialBus (0x005E, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                        0x00, ResourceConsumer, ,
                        )
                    I2cSerialBus (0x006E, ControllerInitiated, 0x000F4240,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                        0x00, ResourceConsumer, ,
                        )
                    GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x000F
                        }
                    GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x003D
                        }
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If (LAnd (LEqual (BDID, 0x0A), LEqual (OSID, 0x04)))
                    {
                        Return (HBUF)
                    }
                    Else
                    {
                        Return (SBUF)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (PMEN, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (PMID, 0x03))
                    {
                        ADBG ("W_COVE")
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                OperationRegion (DPTF, 0x8C, Zero, 0x0100)
                Field (DPTF, DWordAcc, NoLock, Preserve)
                {
                    TMP0,   32, 
                    AX00,   32, 
                    AX01,   32, 
                    TMP1,   32, 
                    AX10,   32, 
                    AX11,   32, 
                    TMP2,   32, 
                    AX20,   32, 
                    AX21,   32, 
                    TMP3,   32, 
                    AX30,   32, 
                    AX31,   32, 
                    TMP4,   32, 
                    AX40,   32, 
                    AX41,   32, 
                    TMP5,   32, 
                    AX50,   32, 
                    AX51,   32, 
                    PEN0,   32, 
                    PEN1,   32, 
                    PEN2,   32, 
                    PEN3,   32, 
                    PEN4,   32, 
                    PEN5,   32
                }

                OperationRegion (PMOP, 0x8D, Zero, 0x0100)
                Field (PMOP, DWordAcc, NoLock, Preserve)
                {
                    V18A,   32, 
                    V18X,   32, 
                    VDDQ,   32, 
                    V12A,   32, 
                    V12X,   32, 
                    V28X,   32, 
                    V33A,   32, 
                    V3SD,   32, 
                    VSD,    32, 
                    VSW2,   32, 
                    VSW1,   32, 
                    VUPY,   32, 
                    VRSO,   32, 
                    VP1A,   32, 
                    VP1B,   32, 
                    VP1F,   32, 
                    VP2D,   32, 
                    VP3A,   32, 
                    VP3B,   32, 
                    VP4A,   32, 
                    VP4B,   32, 
                    VP4C,   32, 
                    VP4D,   32, 
                    VP5A,   32, 
                    VP5B,   32, 
                    VP6A,   32, 
                    VP6B,   32, 
                    VP7A,   32
                }

                OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
                Field (GPOP, ByteAcc, NoLock, Preserve)
                {
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0020
                            }
                    ), 
                    GMP0,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0021
                            }
                    ), 
                    GX00,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0022
                            }
                    ), 
                    GX01,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0023
                            }
                    ), 
                    GMP1,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0024
                            }
                    ), 
                    GX10,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0025
                            }
                    ), 
                    GX11,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0026
                            }
                    ), 
                    GMP2,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0027
                            }
                    ), 
                    GX20,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0028
                            }
                    ), 
                    GX21,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0029
                            }
                    ), 
                    GMP3,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002A
                            }
                    ), 
                    GX30,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002B
                            }
                    ), 
                    GX31,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002C
                            }
                    ), 
                    GMP4,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002D
                            }
                    ), 
                    GX40,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002E
                            }
                    ), 
                    GX41,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002F
                            }
                    ), 
                    GMP5,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0030
                            }
                    ), 
                    GX50,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0031
                            }
                    ), 
                    GX51,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0032
                            }
                    ), 
                    GEN0,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0033
                            }
                    ), 
                    GEN1,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0034
                            }
                    ), 
                    GEN2,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0035
                            }
                    ), 
                    GEN3,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0036
                            }
                    ), 
                    GEN4,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                    ), 
                    GEN5,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0040
                            }
                    ), 
                    G18A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0041
                            }
                    ), 
                    G18X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0042
                            }
                    ), 
                    GDDQ,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0043
                            }
                    ), 
                    G12A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0044
                            }
                    ), 
                    G12X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0045
                            }
                    ), 
                    G28X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0046
                            }
                    ), 
                    G33A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0047
                            }
                    ), 
                    G3SD,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0048
                            }
                    ), 
                    GSD,    1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0049
                            }
                    ), 
                    GSW2,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004A
                            }
                    ), 
                    GSW1,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004B
                            }
                    ), 
                    GUPY,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004C
                            }
                    ), 
                    GRS0,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004D
                            }
                    ), 
                    GP1A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004E
                            }
                    ), 
                    GP1B,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004F
                            }
                    ), 
                    GP1F,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0050
                            }
                    ), 
                    GP2D,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0051
                            }
                    ), 
                    GP3A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0052
                            }
                    ), 
                    GP3B,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0053
                            }
                    ), 
                    GP4A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0054
                            }
                    ), 
                    GP4B,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0055
                            }
                    ), 
                    GP4C,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0056
                            }
                    ), 
                    GP4D,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0057
                            }
                    ), 
                    GP5A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0058
                            }
                    ), 
                    GP5B,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0059
                            }
                    ), 
                    GP6A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x005A
                            }
                    ), 
                    GP6B,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x005B
                            }
                    ), 
                    GP7A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x005D
                            }
                    ), 
                    MOXX,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x005F
                            }
                    ), 
                    GPRW,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0009
                            }
                    ), 
                    G1P1,   1
                }

                OperationRegion (REGS, 0x8F, Zero, 0x50)
                Field (REGS, ByteAcc, NoLock, Preserve)
                {
                    CLNT,   8, 
                    SA,     8, 
                    OFF,    8, 
                    VAL,    8, 
                    RWM,    8
                }

                Name (AVBL, Zero)
                Name (AVBD, Zero)
                Name (AVBG, Zero)
                Name (AVBE, Zero)
                Method (_REG, 2, NotSerialized)  // _REG: Region Availability
                {
                    If (LEqual (Arg0, 0x08))
                    {
                        Store (Arg1, AVBG)
                    }

                    If (LEqual (Arg0, 0x8D))
                    {
                        Store (Arg1, AVBL)
                    }

                    If (LEqual (Arg0, 0x8C))
                    {
                        Store (Arg1, AVBD)
                    }

                    If (LEqual (Arg0, 0x8F))
                    {
                        Store (Arg1, AVBE)
                    }
                }

                Method (GET, 3, Serialized)
                {
                    If (LEqual (AVBE, One))
                    {
                        Store (Arg0, CLNT)
                        Store (Arg1, SA)
                        Store (Arg2, OFF)
                        Store (Zero, RWM)
                        If (LEqual (AVBG, One))
                        {
                            Store (Zero, GPRW)
                        }
                    }

                    Return (VAL)
                }

                Method (SET, 4, Serialized)
                {
                    If (LEqual (AVBE, One))
                    {
                        Store (Arg0, CLNT)
                        Store (Arg1, SA)
                        Store (Arg2, OFF)
                        Store (Arg3, VAL)
                        Store (One, RWM)
                        If (LEqual (AVBG, One))
                        {
                            Store (One, GPRW)
                        }
                    }
                }

                Method (EOTG, 0, NotSerialized)
                {
                    ADBG ("PH2")
                    Store (GET (One, 0x5E, 0x17), Local0)
                    Or (Local0, 0x40, Local0)
                    SET (One, 0x5E, 0x17, Local0)
                    SET (One, 0x5E, 0x25, 0x6B)
                    SET (One, 0x5E, 0x26, 0x05)
                    SET (One, 0x5E, 0x24, 0x02)
                    Store (GET (One, 0x5E, 0x28), Local0)
                    ADBG ("B4 Set")
                    ADBG (Local0)
                    And (Local0, 0xCF, Local0)
                    SET (One, 0x5E, 0x25, 0x6B)
                    SET (One, 0x5E, 0x26, 0x05)
                    SET (One, 0x5E, 0x27, Local0)
                    SET (One, 0x5E, 0x24, One)
                    SET (One, 0x5E, 0x25, 0x6B)
                    SET (One, 0x5E, 0x26, 0x05)
                    SET (One, 0x5E, 0x24, 0x02)
                    Store (GET (One, 0x5E, 0x28), Local0)
                    ADBG ("After Set")
                    ADBG ("REG05")
                    ADBG (Local0)
                    SET (One, 0x5E, 0x25, 0x6B)
                    SET (One, 0x5E, 0x26, One)
                    SET (One, 0x5E, 0x24, 0x02)
                    Store (GET (One, 0x5E, 0x28), Local0)
                    And (Local0, 0xEF, Local0)
                    Or (Local0, 0x20, Local0)
                    SET (One, 0x5E, 0x25, 0x6B)
                    SET (One, 0x5E, 0x26, One)
                    SET (One, 0x5E, 0x27, Local0)
                    SET (One, 0x5E, 0x24, One)
                    SET (One, 0x5E, 0x25, 0x6B)
                    SET (One, 0x5E, 0x26, 0x08)
                    SET (One, 0x5E, 0x24, 0x02)
                    Store (GET (One, 0x5E, 0x28), Local0)
                    ADBG ("PH3")
                    ShiftRight (Local0, 0x06, Local0)
                    If (LEqual (Local0, One))
                    {
                        ADBG ("USB Host")
                    }
                    Else
                    {
                        If (LEqual (Local0, 0x03))
                        {
                            ADBG ("REG08 St OTG")
                        }
                    }
                }

                Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
                {
                    Name (HBUF, ResourceTemplate ()
                    {
                        GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0000,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x001F
                            }
                    })
                    Name (WBUF, ResourceTemplate ()
                    {
                        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0012
                            }
                        GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0000,
                            "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x001F
                            }
                    })
                    If (LAnd (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)), LEqual (
                        OSID, One)))
                    {
                        Return (HBUF)
                    }
                    Else
                    {
                        If (LAnd (LEqual (BDID, 0x08), LEqual (OSID, One)))
                        {
                            Return (WBUF)
                        }
                    }
                }

                Method (_E12, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
                {
                    If (LEqual (BDID, 0x08))
                    {
                        Sleep (0x0384)
                        If (CondRefOf (\_SB.PCI0.I2C7.BATC, Local1))
                        {
                            Store (GET (One, 0x6E, 0x1E), Local0)
                            ShiftRight (Local0, 0x03, Local0)
                            And (Local0, 0x03, Local0)
                            If (LNotEqual (Local0, One))
                            {
                                Store (GET (One, 0x5E, 0x29), Local0)
                                ShiftRight (Local0, 0x02, Local0)
                                And (Local0, 0x0F, Local0)
                                Store (^^BATC.INTC (), Local0)
                                If (LEqual (One, Local0))
                                {
                                    ADBG ("BADP1")
                                    Notify (ADP1, 0x80)
                                    ADBG ("AfADP1")
                                    Notify (BATC, 0x80)
                                    Notify (BATC, 0x81)
                                    ADBG ("PINTC")
                                }

                                If (CondRefOf (\_SB.DPTF, Local3))
                                {
                                    If (LEqual (One, Local0))
                                    {
                                        ADBG ("DPTFNOTIFY")
                                        Notify (^^^^DPTF, 0x86)
                                        Notify (TCHG, 0x80)
                                    }
                                }
                            }
                        }
                    }
                }

                Method (_E1F, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
                {
                    If (LOr (LEqual (BDID, 0x08), LOr (LEqual (BDID, 0x09), LEqual (
                        BDID, 0x0A))))
                    {
                        If (LEqual (AVBL, One))
                        {
                            Store (GET (One, 0x6E, 0x1E), Local0)
                            ShiftRight (Local0, 0x03, Local0)
                            And (Local0, 0x03, Local0)
                            If (LEqual (Local0, Zero)) {}
                            Else
                            {
                                If (LEqual (Local0, One))
                                {
                                    ADBG ("RID_GND")
                                    Store (GET (One, 0x5E, 0x07), Local0)
                                    Or (Local0, One, Local0)
                                    ADBG (Local0)
                                    SET (One, 0x5E, 0x07, Local0)
                                    CDRH (Zero)
                                    ADBG ("PH1")
                                    EOTG ()
                                }
                                Else
                                {
                                    If (LEqual (Local0, 0x02))
                                    {
                                        Store (GET (One, 0x6E, 0x1E), Local0)
                                        ShiftRight (Local0, 0x03, Local0)
                                        And (Local0, 0x03, Local0)
                                        If (LNotEqual (Local0, Zero))
                                        {
                                            Store (GET (One, 0x5E, 0x07), Local0)
                                            And (Local0, 0xFE, Local0)
                                            SET (One, 0x5E, 0x07, Local0)
                                            Store (GET (One, 0x5E, 0x17), Local0)
                                            Or (Local0, 0x40, Local0)
                                            SET (One, 0x5E, 0x17, Local0)
                                            SET (One, 0x5E, 0x25, 0x6B)
                                            SET (One, 0x5E, 0x26, One)
                                            SET (One, 0x5E, 0x24, 0x02)
                                            Store (GET (One, 0x5E, 0x28), Local0)
                                            Or (Local0, 0x10, Local0)
                                            And (Local0, 0xDF, Local0)
                                            SET (One, 0x5E, 0x25, 0x6B)
                                            SET (One, 0x5E, 0x26, One)
                                            SET (One, 0x5E, 0x27, Local0)
                                            SET (One, 0x5E, 0x24, One)
                                            Store (GET (One, 0x5E, 0x17), Local0)
                                            And (Local0, 0xBF, Local0)
                                            SET (One, 0x5E, 0x17, Local0)
                                        }
                                    }
                                    Else
                                    {
                                        ADBG ("Reserved")
                                        If (LEqual (DSFG, One))
                                        {
                                            CDRH (Zero)
                                        }
                                        Else
                                        {
                                            CDRD (Zero)
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                Method (SRCD, 0, Serialized)
                {
                    If (LEqual (AVBL, One))
                    {
                        ADBG ("ACDC")
                        ADBG (ACDC)
                        Return (ACDC)
                    }
                    Else
                    {
                        ADBG ("SRCD AC, PMIC Unavailable")
                        Return (One)
                    }
                }

                Name (LPAT, Package (0x3C)
                {
                    0x09E3, 
                    0x00076272, 
                    0x0A15, 
                    0x00058192, 
                    0x0A47, 
                    0x00042551, 
                    0x0A79, 
                    0x0003267F, 
                    0x0AAB, 
                    0x00026A06, 
                    0x0ADD, 
                    0x0001DD93, 
                    0x0B0F, 
                    0x000173FB, 
                    0x0B41, 
                    0x000123EA, 
                    0x0B73, 
                    0xE6B9, 
                    0x0BA5, 
                    0xB798, 
                    0x0BD7, 
                    0x930B, 
                    0x0C09, 
                    0x767E, 
                    0x0C3B, 
                    0x600F, 
                    0x0C6D, 
                    0x4E50, 
                    0x0C9F, 
                    0x4031, 
                    0x0CD1, 
                    0x34E3, 
                    0x0D03, 
                    0x2BC9, 
                    0x0D35, 
                    0x2470, 
                    0x0D67, 
                    0x1E76, 
                    0x0D99, 
                    0x1990, 
                    0x0DCB, 
                    0x158E, 
                    0x0DFD, 
                    0x1242, 
                    0x0E2F, 
                    0x0F84, 
                    0x0E61, 
                    0x0D3C, 
                    0x0E93, 
                    0x0B56, 
                    0x0EC5, 
                    0x09BE, 
                    0x0EF7, 
                    0x0866, 
                    0x0F29, 
                    0x0744, 
                    0x0F5B, 
                    0x064F, 
                    0x0F8D, 
                    0x057E
                })
            }

            Device (PMIF)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "DMY0001")  // _HID: Hardware ID
                Name (_CID, "DMY0001")  // _CID: Compatible ID
                Name (_DDN, "Dummy PMIC controller")  // _DDN: DOS Device Name
                Name (_HRV, Zero)  // _HRV: Hardware Revision
                Name (_UID, One)  // _UID: Unique ID
                Name (_DEP, Package (0x01)  // _DEP: Dependencies
                {
                    I2C7
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x005E, ControllerInitiated, 0x000F4240,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                            0x00, ResourceConsumer, ,
                            )
                        Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
                        {
                            0x00000043,
                        }
                        Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
                        {
                            0x00000043,
                        }
                        Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
                        {
                            0x00000043,
                        }
                    })
                    Return (SBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (PMEN, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (PMID, 0xFE))
                    {
                        ADBG ("DMPMIC")
                        Return (0x0F)
                    }

                    Return (Zero)
                }
            }

            Device (PMIC)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "INT33FD")  // _HID: Hardware ID
                Name (_CID, "INT33FD")  // _CID: Compatible ID
                Name (_DDN, "CRYSTAL COVE+ AIC")  // _DDN: DOS Device Name
                Name (_HRV, 0x03)  // _HRV: Hardware Revision
                Name (_UID, One)  // _UID: Unique ID
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    I2C7, 
                    GPO1
                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x006E, ControllerInitiated, 0x000F4240,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
                            "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x000F
                            }
                    })
                    Return (SBUF)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (PMEN, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (PMID, Zero))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                OperationRegion (DPTF, 0x8C, Zero, 0x0100)
                Field (DPTF, DWordAcc, NoLock, Preserve)
                {
                    TMP0,   32, 
                    AX00,   32, 
                    AX01,   32, 
                    TMP1,   32, 
                    AX10,   32, 
                    AX11,   32, 
                    TMP2,   32, 
                    AX20,   32, 
                    AX21,   32, 
                    TMP3,   32, 
                    AX30,   32, 
                    AX31,   32, 
                    TMP4,   32, 
                    AX40,   32, 
                    AX41,   32, 
                    TMP5,   32, 
                    AX50,   32, 
                    AX51,   32, 
                    PEN0,   32, 
                    PEN1,   32, 
                    PEN2,   32, 
                    PEN3,   32, 
                    PEN4,   32, 
                    PEN5,   32
                }

                OperationRegion (PMOP, 0x8D, Zero, 0x0100)
                Field (PMOP, DWordAcc, NoLock, Preserve)
                {
                    VSYS,   32, 
                    SYSX,   32, 
                    SYSU,   32, 
                    SYSS,   32, 
                    V50S,   32, 
                    HOST,   32, 
                    VBUS,   32, 
                    HDMI,   32, 
                    S285,   32, 
                    X285,   32, 
                    V33A,   32, 
                    V33S,   32, 
                    V33U,   32, 
                    V33I,   32, 
                    V18A,   32, 
                    REFQ,   32, 
                    V12A,   32, 
                    V18S,   32, 
                    V18X,   32, 
                    V18U,   32, 
                    V12X,   32, 
                    V12S,   32, 
                    V10A,   32, 
                    V10S,   32, 
                    V10X,   32, 
                    V105,   32, 
                    V33X,   32
                }

                OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
                Field (GPOP, ByteAcc, NoLock, Preserve)
                {
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0020
                            }
                    ), 
                    GMP0,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0021
                            }
                    ), 
                    GX00,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0022
                            }
                    ), 
                    GX01,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0023
                            }
                    ), 
                    GMP1,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0024
                            }
                    ), 
                    GX10,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0025
                            }
                    ), 
                    GX11,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0026
                            }
                    ), 
                    GMP2,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0027
                            }
                    ), 
                    GX20,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0028
                            }
                    ), 
                    GX21,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0029
                            }
                    ), 
                    GMP3,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002A
                            }
                    ), 
                    GX30,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002B
                            }
                    ), 
                    GX31,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002C
                            }
                    ), 
                    GMP4,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002D
                            }
                    ), 
                    GX40,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002E
                            }
                    ), 
                    GX41,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x002F
                            }
                    ), 
                    GMP5,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0030
                            }
                    ), 
                    GX50,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0031
                            }
                    ), 
                    GX51,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0032
                            }
                    ), 
                    GEN0,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0033
                            }
                    ), 
                    GEN1,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0034
                            }
                    ), 
                    GEN2,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0035
                            }
                    ), 
                    GEN3,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0036
                            }
                    ), 
                    GEN4,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                    ), 
                    GEN5,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0040
                            }
                    ), 
                    GSYS,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0041
                            }
                    ), 
                    GYSX,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0042
                            }
                    ), 
                    GYSU,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0043
                            }
                    ), 
                    GYSS,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0044
                            }
                    ), 
                    G50S,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0045
                            }
                    ), 
                    GOST,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0046
                            }
                    ), 
                    GBUS,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0047
                            }
                    ), 
                    GDMI,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0048
                            }
                    ), 
                    G28S,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0049
                            }
                    ), 
                    G28X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004A
                            }
                    ), 
                    G33A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004B
                            }
                    ), 
                    G33S,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004C
                            }
                    ), 
                    G33U,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004D
                            }
                    ), 
                    G33I,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004E
                            }
                    ), 
                    G18A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x004F
                            }
                    ), 
                    GEFQ,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0050
                            }
                    ), 
                    G12A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0051
                            }
                    ), 
                    G18S,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0052
                            }
                    ), 
                    G18X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0053
                            }
                    ), 
                    G18U,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0054
                            }
                    ), 
                    G12X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0055
                            }
                    ), 
                    G12S,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0056
                            }
                    ), 
                    G10A,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0057
                            }
                    ), 
                    G10S,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0058
                            }
                    ), 
                    G10X,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0059
                            }
                    ), 
                    G105,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x005E
                            }
                    ), 
                    FCOT,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x005D
                            }
                    ), 
                    MOXX,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x000B
                            }
                    ), 
                    TCON,   1, 
                    Connection (
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x005A
                            }
                    ), 
                    G33X,   1
                }

                Name (AVBL, Zero)
                Name (AVBD, Zero)
                Name (AVBG, Zero)
                Method (_REG, 2, NotSerialized)  // _REG: Region Availability
                {
                    If (LEqual (Arg0, 0x08))
                    {
                        Store (Arg1, AVBG)
                    }

                    If (LEqual (Arg0, 0x8D))
                    {
                        Store (Arg1, AVBL)
                    }

                    If (LEqual (Arg0, 0x8C))
                    {
                        Store (Arg1, AVBD)
                    }
                }

                Name (LPAT, Package (0x30)
                {
                    0x09E3, 
                    0x03D1, 
                    0x0A15, 
                    0x03C1, 
                    0x0A47, 
                    0x03AD, 
                    0x0A79, 
                    0x0395, 
                    0x0AAB, 
                    0x0377, 
                    0x0ADD, 
                    0x0355, 
                    0x0B0F, 
                    0x032D, 
                    0x0B41, 
                    0x0301, 
                    0x0B73, 
                    0x02D0, 
                    0x0BA5, 
                    0x029D, 
                    0x0BD7, 
                    0x0267, 
                    0x0C09, 
                    0x0231, 
                    0x0C3B, 
                    0x01FC, 
                    0x0C6D, 
                    0x01C8, 
                    0x0C9F, 
                    0x0197, 
                    0x0CD1, 
                    0x0165, 
                    0x0D03, 
                    0x013B, 
                    0x0D35, 
                    0x0115, 
                    0x0D67, 
                    0xF3, 
                    0x0D99, 
                    0xD4, 
                    0x0DCB, 
                    0xBA, 
                    0x0DFD, 
                    0xA2, 
                    0x0E2F, 
                    0x8C, 
                    0x0E93, 
                    0x6B
                })
            }
        }

        Scope (PCI0.I2C1)
        {
            Device (IMP3)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "IMPJ0003")  // _HID: Hardware ID
                Name (_CID, "IMPJ0003")  // _CID: Compatible ID
                Name (_UID, One)  // _UID: Unique ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LEqual (PSDE, 0x02))
                    {
                        Return (Zero)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x006E, ControllerInitiated, 0x000186A0,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    Return (SBUF)
                }
            }
        }

        Scope (PCI0.I2C2)
        {
            Device (IMP3)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Name (_HID, "IMPJ0003")  // _HID: Hardware ID
                Name (_CID, "IMPJ0003")  // _CID: Compatible ID
                Name (_UID, One)  // _UID: Unique ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (LNotEqual (BDID, One))
                    {
                        Return (Zero)
                    }

                    If (LEqual (PSDE, 0x02))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBus (0x006E, ControllerInitiated, 0x000186A0,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C2",
                            0x00, ResourceConsumer, ,
                            )
                    })
                    Return (SBUF)
                }
            }
        }

        PowerResource (P28X, 0x05, 0x0008)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMIC
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMIC.G28X)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMIC.X285)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMIC.X285)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMIC.G28X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMIC.X285)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMIC.G28X)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P18X, 0x05, 0x0002)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMIC
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMIC.G18X)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMIC.V18X)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMIC.V18X)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMIC.G18X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMIC.V18X)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMIC.G18X)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P12X, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMIC
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMIC.G12X)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMIC.V12X)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMIC.V12X)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMIC.G12X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMIC.V12X)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMIC.G12X)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P28P, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI1
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI1.G28X)
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI1.ALD1)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMI1.ALD1)
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI1.G28X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI1.ALD1)
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI1.G28X)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P18P, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI1
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI1.G18X)
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI1.ELD2)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMI1.ELD2)
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI1.G18X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI1.ELD2)
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI1.G18X)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P19X, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI1
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI1.GSDX)
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI1.GPI1)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (OSID, 0x04))
                {
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI1.GPI1)
                        If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                        {
                            Store (One, ^^PCI0.I2C7.PMI1.GSDX)
                            Sleep (0x1E)
                        }
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (OSID, 0x04))
                {
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                    {
                        Store (Zero, ^^PCI0.I2C7.PMI1.GPI1)
                        If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                        {
                            Store (One, ^^PCI0.I2C7.PMI1.GSDX)
                            Sleep (0x1E)
                        }
                    }
                }
            }
        }

        PowerResource (P06X, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI1
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI1.G06X)
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI1.DLD4)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (OSID, 0x04))
                {
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI1.DLD4)
                        If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                        {
                            Store (One, ^^PCI0.I2C7.PMI1.G06X)
                            Sleep (0x1E)
                        }
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (OSID, 0x04))
                {
                    If (LEqual (^^PCI0.I2C7.PMI1.AVBL, One))
                    {
                        Store (Zero, ^^PCI0.I2C7.PMI1.DLD4)
                        If (LEqual (^^PCI0.I2C7.PMI1.AVBG, One))
                        {
                            Store (One, ^^PCI0.I2C7.PMI1.G06X)
                            Sleep (0x1E)
                        }
                    }
                }
            }
        }

        PowerResource (P12A, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI2
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (OSID, 0x04))
                {
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                    {
                        Store (Zero, ^^PCI0.I2C7.PMI2.G12A)
                        If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                        {
                            Return (^^PCI0.I2C7.PMI2.LDO1)
                        }
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (OSID, 0x04))
                {
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI2.LDO1)
                        If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                        {
                            Store (One, ^^PCI0.I2C7.PMI2.G12A)
                            Sleep (0x1E)
                        }
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (OSID, 0x04))
                {
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                    {
                        Store (Zero, ^^PCI0.I2C7.PMI2.LDO1)
                        If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                        {
                            Store (One, ^^PCI0.I2C7.PMI2.G12A)
                            Sleep (0x1E)
                        }
                    }
                }
            }
        }

        PowerResource (P28T, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI2
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI2.G28X)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI2.LDO9)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMI2.LDO9)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI2.G28X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI2.LDO9)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI2.G28X)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P18D, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI2
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI2.G18U)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI2.LD10)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMI2.LD10)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI2.G18U)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI2.LD10)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI2.G18U)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P18T, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI2
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI2.G18X)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI2.LD11)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMI2.LD11)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI2.G18X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI2.LD11)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI2.G18X)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P3P3, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI2
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI2.G3P3)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI2.LD13)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMI2.LD13)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI2.G3P3)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI2.LD13)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI2.G3P3)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P12T, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI2
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI2.G12T)
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI2.LD14)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (OSID, 0x04))
                {
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI2.LD14)
                        If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                        {
                            Store (One, ^^PCI0.I2C7.PMI2.G12T)
                            Sleep (0x1E)
                        }
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (OSID, 0x04))
                {
                    If (LEqual (^^PCI0.I2C7.PMI2.AVBL, One))
                    {
                        Store (Zero, ^^PCI0.I2C7.PMI2.LD14)
                        If (LEqual (^^PCI0.I2C7.PMI2.AVBG, One))
                        {
                            Store (One, ^^PCI0.I2C7.PMI2.G12T)
                            Sleep (0x1E)
                        }
                    }
                }
            }
        }

        PowerResource (P28W, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI5
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI5.G28X)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI5.V28X)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMI5.V28X)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI5.G28X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI5.V28X)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI5.G28X)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P18W, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI5
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI5.G18X)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI5.V18X)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMI5.V18X)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI5.G18X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI5.V18X)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI5.G18X)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P12W, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI5
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI5.G12X)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI5.V12X)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMI5.V12X)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI5.G12X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI5.V12X)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI5.G12X)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P33W, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI5
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                {
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI5.G1P1)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                {
                    If (LOr (LEqual (OSID, One), LEqual (OSYS, 0x07DF)))
                    {
                        Store (One, ^^PCI0.I2C7.PMI5.G1P1)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                Store (^^PCI0.GFX0.PSPS, Local2)
                And (Local2, 0x03, Local2)
                If (LEqual (Local2, 0x03))
                {
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                    {
                        Store (Zero, ^^PCI0.I2C7.PMI5.G1P1)
                        Sleep (0x1E)
                    }
                }
            }
        }

        PowerResource (P33X, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMIC
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMIC.G33X)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMIC.V33X)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMIC.V33X)
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMIC.G33X)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                Store (^^PCI0.GFX0.PSPS, Local2)
                And (Local2, 0x03, Local2)
                If (LEqual (Local2, 0x03))
                {
                    If (LEqual (^^PCI0.I2C7.PMIC.AVBL, One))
                    {
                        Store (Zero, ^^PCI0.I2C7.PMIC.V33X)
                        If (LEqual (^^PCI0.I2C7.PMIC.AVBG, One))
                        {
                            Store (One, ^^PCI0.I2C7.PMIC.G33X)
                            Sleep (0x1E)
                        }
                    }
                }
            }
        }

        PowerResource (P4BW, 0x05, 0x0000)
        {
            Name (_DEP, Package (0x02)  // _DEP: Dependencies
            {
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI5
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI5.GP4B)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                    {
                        Return (^^PCI0.I2C7.PMI5.VP4B)
                    }
                }

                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                {
                    Store (One, ^^PCI0.I2C7.PMI5.VP4B)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI5.GP4B)
                        Sleep (0x1E)
                    }
                }
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
                If (LEqual (^^PCI0.I2C7.PMI5.AVBL, One))
                {
                    Store (Zero, ^^PCI0.I2C7.PMI5.VP4B)
                    If (LEqual (^^PCI0.I2C7.PMI5.AVBG, One))
                    {
                        Store (One, ^^PCI0.I2C7.PMI5.GP4B)
                        Sleep (0x1E)
                    }
                }
            }
        }

        Device (BTNS)
        {
            Name (_HID, "ACPI0011")  // _HID: Hardware ID
            Name (_DDN, "Generic HID over Interrupt Button Interface")  // _DDN: DOS Device Name
            Name (CDEP, Package (0x05)
            {
                GPO0, 
                GPO2, 
                GPO1, 
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMIC
            })
            Name (_DEP, Package (0x05)  // _DEP: Dependencies
            {
                GPO0, 
                GPO2, 
                GPO1, 
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI5
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (CBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0BB8,
                        "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x005D
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                })
                Name (WBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0BB8,
                        "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x005D
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x004D
                        }
                })
                Name (FBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0BB8,
                        "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x005D
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                })
                Name (PBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0BB8,
                        "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x005D
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x003D
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x004D
                        }
                })
                If (LEqual (BDID, One))
                {
                    Return (PBUF)
                }
                Else
                {
                    If (LEqual (PMID, 0x03))
                    {
                        If (LOr (LEqual (BDID, 0x03), LEqual (BDID, 0x02)))
                        {
                            Return (WBUF)
                        }
                        Else
                        {
                            Return (FBUF)
                        }
                    }

                    Return (CBUF)
                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LEqual (OSID, One), LEqual (OSYS, 0x07DF)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Name (_DSD, Package (0x02)
            {
                Buffer (0x10)
                {
                    /* 0000 */   0x25, 0xD6, 0x6B, 0xFA, 0xE8, 0x9C, 0x0D, 0x47,
                    /* 0008 */   0xA2, 0xC7, 0xB3, 0xCA, 0x36, 0xC4, 0x28, 0x2E
                }, 

                Package (0x04)
                {
                    Package (0x05)
                    {
                        Zero, 
                        One, 
                        Zero, 
                        One, 
                        0x0D
                    }, 

                    Package (0x05)
                    {
                        One, 
                        Zero, 
                        One, 
                        One, 
                        0x81
                    }, 

                    Package (0x05)
                    {
                        One, 
                        One, 
                        One, 
                        0x0C, 
                        0xE9
                    }, 

                    Package (0x05)
                    {
                        One, 
                        0x02, 
                        One, 
                        0x0C, 
                        0xEA
                    }
                }
            })
        }

        Device (TCO0)
        {
            Name (_HID, "8086229C")  // _HID: Hardware ID
            Name (_DDN, "Watchdog Timer Device")  // _DDN: DOS Device Name
            Name (_UID, One)  // _UID: Unique ID
            Name (_GPE, 0x0E)  // _GPE: General Purpose Events
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (OSID, 0x04))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }
        }

        Device (TBAD)
        {
            Name (_HID, "INTCFD9")  // _HID: Hardware ID
            Name (_CID, "PNP0C40")  // _CID: Compatible ID
            Name (_DDN, "Keyboard less system - 5 Button Array Device")  // _DDN: DOS Device Name
            Name (CDEP, Package (0x05)
            {
                GPO0, 
                GPO2, 
                GPO1, 
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMIC
            })
            Name (_DEP, Package (0x05)  // _DEP: Dependencies
            {
                GPO0, 
                GPO2, 
                GPO1, 
                ^PCI0.I2C7, 
                ^PCI0.I2C7.PMI5
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (CBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0BB8,
                        "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x005D
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x004D
                        }
                })
                Name (WBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0BB8,
                        "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0BB8,
                        "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x005D
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x004D
                        }
                })
                Name (PBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0BB8,
                        "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0BB8,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x005D
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x003D
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x004D
                        }
                })
                Name (RBUF, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0BB8,
                        "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x005D
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDefault, 0x0BB8,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0008
                        }
                })
                If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                {
                    Return (RBUF)
                }

                If (LEqual (BDID, One))
                {
                    Return (PBUF)
                }
                Else
                {
                    If (LEqual (PMID, 0x03))
                    {
                        Return (WBUF)
                    }

                    Return (CBUF)
                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LOr (LNotEqual (OSID, One), LLessEqual (OSYS, 0x07DD)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
                Store ("Method _DSM for Button Device", Debug)
                If (LEqual (PMID, Zero))
                {
                    If (LEqual (OSYS, 0x07DD))
                    {
                        Store (One, ^^PCI0.I2C7.PMIC.FCOT)
                    }
                    Else
                    {
                        Store (Zero, ^^PCI0.I2C7.PMIC.FCOT)
                    }
                }

                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xC5, 0xF3, 0xBC, 0xDF, 0xA5, 0xE7, 0xE6, 0x44,
                            /* 0008 */   0x9C, 0x1F, 0x29, 0xC7, 0x6F, 0x6E, 0x05, 0x9C
                        }))
                {
                    While (One)
                    {
                        Store (ToInteger (Arg2), _T_0)
                        If (LEqual (_T_0, Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03
                            })
                        }
                        Else
                        {
                            If (LEqual (_T_0, One))
                            {
                                Return (0x07)
                            }
                        }

                        Break
                    }
                }
                Else
                {
                    Return (Buffer (One)
                    {
                         0x00
                    })
                }

                Return (Zero)
            }
        }

        Device (MBID)
        {
            Name (_HID, "INT33BD")  // _HID: Hardware ID
            Name (_CID, "INT33BD")  // _CID: Compatible ID
            Name (_HRV, 0x02)  // _HRV: Hardware Revision
            Name (_UID, One)  // _UID: Unique ID
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xE00000D0,         // Address Base
                        0x00000010,         // Address Length
                        )
                })
                Return (RBUF)
            }

            OperationRegion (REGS, 0x87, Zero, 0x30)
            Field (REGS, DWordAcc, NoLock, Preserve)
            {
                PORT,   32, 
                REG,    32, 
                DATA,   32, 
                MASK,   32, 
                BE,     32, 
                OP,     32, 
                CODE,   32, 
                BAR,    32, 
                DEV,    32, 
                FUN,    32
            }

            Name (AVBL, Zero)
            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x87))
                {
                    Store (Arg1, AVBL)
                }
            }

            Method (READ, 3, Serialized)
            {
                Store (0xFFFFFFFF, Local0)
                If (LEqual (AVBL, One))
                {
                    Store (Zero, OP)
                    Store (Arg0, PORT)
                    Store (Arg1, REG)
                    Store (Arg2, BE)
                    Store (DATA, Local0)
                }

                Return (Local0)
            }

            Method (WRIT, 4, Serialized)
            {
                If (LEqual (AVBL, One))
                {
                    Store (One, OP)
                    Store (Arg0, PORT)
                    Store (Arg1, REG)
                    Store (Arg2, BE)
                    Store (Arg3, DATA)
                }
            }

            Method (MODI, 5, Serialized)
            {
                If (LEqual (AVBL, One))
                {
                    Store (0x02, OP)
                    Store (Arg0, PORT)
                    Store (Arg1, REG)
                    Store (Arg2, BE)
                    Store (Arg3, DATA)
                    Store (Arg4, MASK)
                }
            }

            Method (RMBX, 6, Serialized)
            {
                Store (0xFFFFFFFF, Local0)
                If (LEqual (AVBL, One))
                {
                    Store (0x03, OP)
                    Store (Arg0, PORT)
                    Store (Arg1, REG)
                    Store (0x03, BE)
                    Store (Arg2, CODE)
                    Store (Arg3, BAR)
                    Store (Arg4, DEV)
                    Store (Arg5, FUN)
                    Store (DATA, Local0)
                }

                Return (Local0)
            }

            Method (WMBX, 7, Serialized)
            {
                If (LEqual (AVBL, One))
                {
                    Store (0x04, OP)
                    Store (Arg0, PORT)
                    Store (Arg1, REG)
                    Store (0x03, BE)
                    Store (Arg2, DATA)
                    Store (Arg3, CODE)
                    Store (Arg4, BAR)
                    Store (Arg5, DEV)
                    Store (Arg6, FUN)
                }
            }
        }

        Device (PAGD)
        {
            Name (_HID, "ACPI000C")  // _HID: Hardware ID
            Name (_CID, "ACPI000C")  // _CID: Compatible ID
            Name (IDCN, Zero)
            Name (PURP, Package (0x02)
            {
                One, 
                Zero
            })
            Method (_PUR, 0, Serialized)  // _PUR: Processor Utilization Request
            {
                Store (IDCN, Index (PURP, One))
                Return (PURP)
            }

            Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
            {
                Store ("_OST is invoked", Debug)
            }
        }
    }

    Scope (_TZ)
    {
        ThermalZone (TZ00)
        {
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                \_SB.PCI0.I2C7
            })
            Method (_TMP, 0, Serialized)  // _TMP: Temperature
            {
                If (LEqual (PMID, Zero))
                {
                    If (LEqual (\_SB.PCI0.I2C7.PMIC.AVBG, One))
                    {
                        Store (Zero, \_SB.PCI0.I2C7.PMIC.GMP2)
                        If (LEqual (\_SB.PCI0.I2C7.PMIC.AVBD, One))
                        {
                            Return (\_SB.PCI0.I2C7.PMIC.TMP2)
                        }
                    }
                }

                If (LEqual (PMID, 0x03))
                {
                    If (LEqual (\_SB.PCI0.I2C7.PMI5.AVBG, One))
                    {
                        Store (Zero, \_SB.PCI0.I2C7.PMI5.GMP2)
                        If (LEqual (\_SB.PCI0.I2C7.PMI5.AVBD, One))
                        {
                            Return (\_SB.PCI0.I2C7.PMI5.TMP2)
                        }
                    }
                }

                If (LEqual (PMID, One))
                {
                    If (LEqual (\_SB.PCI0.I2C7.PMI2.AVBG, One))
                    {
                        Store (Zero, \_SB.PCI0.I2C7.PMI2.GMP0)
                        If (LEqual (\_SB.PCI0.I2C7.PMI2.AVBD, One))
                        {
                            Return (\_SB.PCI0.I2C7.PMI2.TMP0)
                        }
                    }
                }

                If (LEqual (PMID, 0x02))
                {
                    If (LEqual (\_SB.PCI0.I2C7.PMI1.AVBG, One))
                    {
                        Store (Zero, \_SB.PCI0.I2C7.PMI1.GMP0)
                        If (LEqual (\_SB.PCI0.I2C7.PMI1.AVBD, One))
                        {
                            Return (\_SB.PCI0.I2C7.PMI1.TMP0)
                        }
                    }
                }

                Return (0x0AAC)
            }

            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
            {
                Return (Add (0x0AAC, Multiply (CRTT, 0x0A)))
            }
        }
    }

    Scope (_SB.PCI0)
    {
        Device (PDRC)
        {
            Name (_HID, EisaId ("PNP0C02"))  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Name (BUF0, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0xE0000000,         // Address Base
                    0x10000000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFEA00000,         // Address Base
                    0x00100000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED01000,         // Address Base
                    0x00001000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED03000,         // Address Base
                    0x00001000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED06000,         // Address Base
                    0x00001000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED08000,         // Address Base
                    0x00002000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED80000,         // Address Base
                    0x00040000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED1C000,         // Address Base
                    0x00001000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFEE00000,         // Address Base
                    0x00100000,         // Address Length
                    )
            })
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Return (BUF0)
            }
        }
    }

    Method (BRTN, 1, Serialized)
    {
        If (LEqual (And (DID1, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD01, Arg0)
        }

        If (LEqual (And (DID2, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD02, Arg0)
        }

        If (LEqual (And (DID3, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD03, Arg0)
        }

        If (LEqual (And (DID4, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD04, Arg0)
        }

        If (LEqual (And (DID5, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD05, Arg0)
        }

        If (CondRefOf (NDN3))
        {
            NDN3 (Arg0)
        }
    }

    Scope (_SB.PCI0.I2C7)
    {
        Device (BMDR)
        {
            Name (_HID, "INT33FE")  // _HID: Hardware ID
            Name (_CID, "INT33FE")  // _CID: Compatible ID
            Name (_DDN, "XPOWER Battery Device")  // _DDN: DOS Device Name
            Name (_DEP, Package (0x04)  // _DEP: Dependencies
            {
                I2C7, 
                PMI1, 
                GPO1, 
                MBID
            })
            Name (BCCC, 0x40)
            Name (BDCP, 0x189C)
            Name (BCCE, One)
            Name (BSTP, Package (0x04)
            {
                Zero, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0xFFFFFFFF
            })
            Name (BUFF, Buffer (0x03) {})
            CreateByteField (BUFF, Zero, STAT)
            CreateByteField (BUFF, 0x02, DATA)
            Name (RBUF, ResourceTemplate ()
            {
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (OSID, One))
                {
                    If (LAnd (LEqual (BDID, One), LEqual (PMID, 0x02)))
                    {
                        Return (0x0F)
                    }
                }

                Return (Zero)
            }

            OperationRegion (BMOP, 0x9E, Zero, 0x0100)
            Field (BMOP, DWordAcc, NoLock, Preserve)
            {
                SOC,    32, 
                FCCP,   32, 
                CHST,   32, 
                RMCP,   32, 
                VOLT,   32, 
                BATP,   32, 
                SRP0,   32, 
                STYP,   32, 
                CHGC,   32, 
                STPC,   32, 
                GADC,   32, 
                TTEM,   32, 
                TTCH,   32, 
                CYCL,   32, 
                BTP,    32, 
                DPCU,   32, 
                DSCP,   32, 
                CHEN,   32
            }

            Name (AVBL, Zero)
            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x9E))
                {
                    Store (Arg1, AVBL)
                }
            }

            Method (DPTU, 0, NotSerialized)
            {
                ADBG ("DPTU BMDR")
                If (LEqual (AVBL, One))
                {
                    Store (BCCC, DPCU)
                    Store (BCCE, CHEN)
                }

                Return (One)
            }

            Method (CMUX, 1, Serialized)
            {
                If (LEqual (^^AVBL, One))
                {
                    If (LEqual (^^^^GPO1.AVBL, One))
                    {
                        If (LNotEqual (Arg0, 0x03))
                        {
                            CDRD (One)
                            If (LEqual (^^^^GPO3.AMMR, One))
                            {
                                Store (0x8102, ^^^^GPO3.DMTX)
                            }
                        }
                        Else
                        {
                            CDRD (Zero)
                            If (LEqual (^^^^GPO3.AMMR, One))
                            {
                                Store (0x8100, ^^^^GPO3.DMTX)
                            }
                        }
                    }
                }
            }

            Method (SBTP, 0, NotSerialized)
            {
                ADBG ("SBTP BMDR")
                Notify (ADP1, 0x80)
                If (CondRefOf (\_SB.DPTF, Local3))
                {
                    ADBG ("SBTP Notify DPTF")
                    Notify (DPTF, 0x86)
                    Notify (TCHG, 0x80)
                }

                Return (One)
            }

            Method (PTYP, 0, NotSerialized)
            {
                If (LEqual (PMID, One))
                {
                    Return (0x06)
                }

                If (LEqual (PMID, 0x02))
                {
                    Return (0x05)
                }

                Return (Zero)
            }

            Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
            {
                Return (_SB)
            }

            Method (PSOC, 0, NotSerialized)
            {
                ADBG ("PSOC")
                If (LEqual (AVBL, One))
                {
                    Store (SOC, Local1)
                    Return (Local1)
                }

                Return (Zero)
            }

            Method (PMAX, 0, NotSerialized)
            {
                ADBG ("PMAX")
                If (LEqual (AVBL, One))
                {
                    Store (FCCP, Local1)
                    Return (Local1)
                }

                Return (Zero)
            }

            Method (VMIN, 0, NotSerialized)
            {
                Return (0x0DAC)
            }

            Method (APWR, 0, NotSerialized)
            {
                Return (0x0365C040)
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0x77, 0xCF, 0x7B, 0xAA, 0x3F, 0x26, 0x28, 0x4E,
                            /* 0008 */   0x8E, 0x16, 0x9C, 0xAC, 0x5C, 0x61, 0x09, 0x28
                        }))
                {
                    If (LEqual (Arg2, One))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg2, 0x02))
                    {
                        Return (0x2F)
                    }

                    If (LEqual (Arg2, 0x03))
                    {
                        Return (0xE0)
                    }

                    If (LEqual (Arg2, 0x04))
                    {
                        Return (0x03)
                    }

                    If (LEqual (Arg2, 0x05))
                    {
                        Return (One)
                    }

                    If (LEqual (Arg2, 0x06))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Arg2, 0x07))
                    {
                        Return (One)
                    }

                    Return (0xFFFFFFFF)
                }
            }

            Method (PSRC, 0, NotSerialized)
            {
                ADBG ("BMDR PSRC")
                If (LEqual (AVBL, One))
                {
                    ADBG ("Read STYP")
                    Store (STYP, Local0)
                    If (LEqual (Local0, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Local0, One))
                    {
                        Return (One)
                    }

                    If (LEqual (Local0, 0x02))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Local0, 0x03))
                    {
                        Return (0x03)
                    }

                    If (LEqual (Local0, 0x04))
                    {
                        Return (0x04)
                    }

                    If (LEqual (Local0, 0x05))
                    {
                        Return (0x05)
                    }
                }

                Return (One)
            }

            Method (BATD, 0, NotSerialized)
            {
                If (LEqual (AVBL, One))
                {
                    ADBG ("BATD")
                    Store (CHST, Local0)
                    And (Local0, 0x0F, Local0)
                    If (LEqual (Local0, 0x02))
                    {
                        Store (0x02, Local1)
                    }

                    If (LEqual (Local0, One))
                    {
                        Store (One, Local1)
                    }

                    If (LEqual (Local0, 0x08))
                    {
                        Store (Zero, Local1)
                    }

                    Store (Local1, Index (BSTP, Zero))
                    Store (CHGC, Index (BSTP, One))
                    Store (RMCP, Index (BSTP, 0x02))
                    Store (VOLT, Index (BSTP, 0x03))
                    Store (BCCC, DPCU)
                }

                Return (BSTP)
            }

            Method (CTYP, 0, NotSerialized)
            {
                Return (0x02)
            }

            Method (ARTG, 0, NotSerialized)
            {
                Return (0x0365C040)
            }

            Method (BMDC, 0, NotSerialized)
            {
                Return (BDCP)
            }
        }
    }

    Scope (_SB.PCI0.I2C3)
    {
        Device (TIDR)
        {
            Name (_HID, "INT33FE")  // _HID: Hardware ID
            Name (_CID, "INT33FE")  // _CID: Compatible ID
            Name (_DDN, "TI PMIC Battery Device")  // _DDN: DOS Device Name
            Name (BCCC, 0x80)
            Name (BCCE, One)
            Name (OTGS, Zero)
            Name (CHPR, One)
            Name (FGDV, 0x0A)
            Name (BCIL, 0x65)
            Name (BCVF, 0x93)
            Name (BCFV, 0xED)
            Name (BCCH, 0x38)
            Name (BCST, 0x05)
            Name (BCPE, 0x74)
            Name (BCCL, 0xFFFFFFFF)
            Name (BCLP, 0x1004)
            Name (DSVO, 0x0EA6)
            Name (BTPC, Zero)
            Name (AVCU, Zero)
            Name (BSTP, Package (0x04)
            {
                Zero, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0xFFFFFFFF
            })
            Name (_DEP, Package (0x05)  // _DEP: Dependencies
            {
                I2C7, 
                ^^I2C7.PMI2, 
                I2C3, 
                GPO1, 
                MBID
            })
            Name (BUFF, Buffer (0x03) {})
            CreateByteField (BUFF, Zero, STAT)
            CreateByteField (BUFF, 0x02, DATA)
            Name (RBUF, ResourceTemplate ()
            {
                I2cSerialBus (0x006B, ControllerInitiated, 0x000186A0,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                    0x00, ResourceConsumer, ,
                    )
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (OSID, One))
                {
                    If (LAnd (LEqual (BDID, One), LEqual (PMID, One)))
                    {
                        Return (0x0F)
                    }
                }

                Return (Zero)
            }

            OperationRegion (BMOP, 0x9E, Zero, 0x0100)
            Field (BMOP, DWordAcc, NoLock, Preserve)
            {
                SOC,    32, 
                FCCP,   32, 
                CHST,   32, 
                RMCP,   32, 
                VOLT,   32, 
                BATP,   32, 
                SRP0,   32, 
                STYP,   32, 
                CHGC,   32, 
                STPC,   32, 
                GADC,   32, 
                TTEM,   32, 
                TTCH,   32, 
                CYCL,   32, 
                BTP,    32, 
                DPCU,   32, 
                DSCP,   32, 
                CHEN,   32
            }

            Name (AVBL, Zero)
            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x9E))
                {
                    Store (Arg1, AVBL)
                }
            }

            Method (DPTU, 0, NotSerialized)
            {
                ADBG ("DPTU TIDR")
                If (LEqual (AVBL, One))
                {
                    Store (BCCC, DPCU)
                    Store (BCCE, CHEN)
                }

                Return (One)
            }

            Method (CMUX, 1, Serialized)
            {
                If (LEqual (^^^I2C7.AVBL, One))
                {
                    If (LEqual (^^^^GPO1.AVBL, One))
                    {
                        Store (^^^I2C7.SIRQ, BUFF)
                        And (DATA, 0x20, DATA)
                        If (LEqual (DATA, 0x20))
                        {
                            If (LNotEqual (Arg0, 0x03))
                            {
                                CDRD (One)
                                If (LEqual (^^^^GPO3.AMMR, One))
                                {
                                    Store (0x8102, ^^^^GPO3.DMTX)
                                }
                            }
                        }
                        Else
                        {
                            CDRD (Zero)
                            If (LEqual (^^^^GPO3.AMMR, One))
                            {
                                Store (0x8100, ^^^^GPO3.DMTX)
                            }
                        }
                    }
                }
            }

            Method (SBTP, 0, NotSerialized)
            {
                ADBG ("SBTP TIDR")
                Notify (ADP1, 0x80)
                If (CondRefOf (\_SB.DPTF, Local3))
                {
                    ADBG ("SBTP Notify DPTF")
                    Notify (DPTF, 0x86)
                    Notify (TCHG, 0x80)
                }

                Return (One)
            }

            Method (PTYP, 0, NotSerialized)
            {
                If (LEqual (PMID, One))
                {
                    Return (0x06)
                }

                If (LEqual (PMID, 0x02))
                {
                    Return (0x05)
                }

                Return (Zero)
            }

            Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
            {
                Return (_SB)
            }

            Method (PSOC, 0, NotSerialized)
            {
                ADBG ("PSOC")
                If (LEqual (AVBL, One))
                {
                    Store (SOC, Local1)
                    Return (Local1)
                }

                Return (Zero)
            }

            Method (PMAX, 0, NotSerialized)
            {
                ADBG ("PMAX")
                If (LEqual (AVBL, One))
                {
                    Store (FCCP, Local1)
                    Return (Local1)
                }

                Return (Zero)
            }

            Method (VMIN, 0, NotSerialized)
            {
                Return (0x0DAC)
            }

            Method (APWR, 0, NotSerialized)
            {
                Return (0x0365C040)
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0x77, 0xCF, 0x7B, 0xAA, 0x3F, 0x26, 0x28, 0x4E,
                            /* 0008 */   0x8E, 0x16, 0x9C, 0xAC, 0x5C, 0x61, 0x09, 0x28
                        }))
                {
                    If (LEqual (Arg2, One))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg2, 0x02))
                    {
                        Return (0x08)
                    }

                    If (LEqual (Arg2, 0x03))
                    {
                        Return (0xC0)
                    }

                    If (LEqual (Arg2, 0x04))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Arg2, 0x05))
                    {
                        Return (One)
                    }

                    If (LEqual (Arg2, 0x06))
                    {
                        Return (0xFFFFFFFF)
                    }

                    If (LEqual (Arg2, 0x07))
                    {
                        Return (Zero)
                    }

                    Return (0xFFFFFFFF)
                }
            }

            Method (PSRC, 0, NotSerialized)
            {
                ADBG ("TIDR PSRC")
                If (LEqual (AVBL, One))
                {
                    ADBG ("Read STYP")
                    Store (STYP, Local0)
                    If (LEqual (Local0, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Local0, One))
                    {
                        Return (One)
                    }

                    If (LEqual (Local0, 0x02))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Local0, 0x03))
                    {
                        Return (0x03)
                    }

                    If (LEqual (Local0, 0x04))
                    {
                        Return (0x04)
                    }

                    If (LEqual (Local0, 0x05))
                    {
                        Return (0x05)
                    }
                }

                Return (One)
            }

            Method (BATD, 0, NotSerialized)
            {
                If (LEqual (AVBL, One))
                {
                    ADBG ("BATD")
                    Store (CHST, Local0)
                    And (Local0, 0x0F, Local0)
                    If (LEqual (Local0, 0x02))
                    {
                        Store (0x02, Local1)
                    }

                    If (LEqual (Local0, One))
                    {
                        Store (One, Local1)
                    }

                    If (LEqual (Local0, 0x08))
                    {
                        Store (Zero, Local1)
                    }

                    Store (Local1, Index (BSTP, Zero))
                    Store (CHGC, Index (BSTP, One))
                    Store (RMCP, Index (BSTP, 0x02))
                    Store (VOLT, Index (BSTP, 0x03))
                    Store (BCCC, DPCU)
                }

                Return (BSTP)
            }

            Method (CTYP, 0, NotSerialized)
            {
                Return (0x02)
            }

            Method (ARTG, 0, NotSerialized)
            {
                Return (0x0365C040)
            }
        }

        OperationRegion (POCR, GenericSerialBus, Zero, 0x0100)
        Field (POCR, BufferAcc, NoLock, Preserve)
        {
            Connection (
                I2cSerialBus (0x006B, ControllerInitiated, 0x000F4240,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                    0x00, ResourceConsumer, ,
                    )
            ), 
            Offset (0x01), 
            AccessAs (BufferAcc, AttribByte), 
            P0TG,   8
        }

        Device (ABAT)
        {
            Name (_HID, "TBQ24296")  // _HID: Hardware ID
            Name (_CID, "TBQ24296")  // _CID: Compatible ID
            Name (_DDN, "TI PMIC Battery Device")  // _DDN: DOS Device Name
            Name (_DEP, Package (0x03)  // _DEP: Dependencies
            {
                GPO1, 
                GPO3, 
                I2C3
            })
            Name (RBUF, ResourceTemplate ()
            {
                I2cSerialBus (0x006B, ControllerInitiated, 0x000186A0,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C3",
                    0x00, ResourceConsumer, ,
                    )
                GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0000,
                    "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0005
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0045
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0041
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LEqual (BDID, One), LEqual (PMID, One)))
                {
                    If (LNotEqual (OSID, One))
                    {
                        Return (0x0F)
                    }
                }

                Return (Zero)
            }
        }
    }

    Scope (_SB.PCI0.I2C1)
    {
        Device (USTC)
        {
            Name (_HID, "FUSB0300")  // _HID: Hardware ID
            Name (_UID, Zero)  // _UID: Unique ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LEqual (OSID, 0x04), LOr (LEqual (BDID, 0x09), LEqual (
                    BDID, 0x0A))))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (SBUF, ResourceTemplate ()
                {
                    I2cSerialBus (0x0022, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                        0x00, ResourceConsumer, ,
                        )
                    GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0005
                        }
                })
                Return (SBUF)
            }
        }

        Device (PER1)
        {
            Name (_HID, "PI330532")  // _HID: Hardware ID
            Name (_UID, Zero)  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (SBUF, ResourceTemplate ()
                {
                    I2cSerialBus (0x0054, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                        0x00, ResourceConsumer, ,
                        )
                })
                Return (SBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LEqual (OSID, 0x04), LOr (LEqual (BDID, 0x09), LEqual (
                    BDID, 0x0A))))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }
        }

        Device (ANFG)
        {
            Name (_HID, "MAX17047")  // _HID: Hardware ID
            Name (_CID, "MAX17047")  // _CID: Compatible ID
            Name (_DDN, "Fuel Gauge Controller")  // _DDN: DOS Device Name
            Name (RBUF, ResourceTemplate ()
            {
                I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, ,
                    )
                GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0001
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LNotEqual (OSID, One), LNotEqual (BDID, One)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }
        }

        Device (ANCG)
        {
            Name (_HID, "SMB0349")  // _HID: Hardware ID
            Name (_CID, "SMB0349")  // _CID: Compatible ID
            Name (_DDN, "Charger")  // _DDN: DOS Device Name
            Name (RBUF, ResourceTemplate ()
            {
                I2cSerialBus (0x0035, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, ,
                    )
                GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0000,
                    "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0005
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LNotEqual (OSID, One), LNotEqual (BDID, One)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }
        }

        Device (ANF1)
        {
            Name (_HID, "TXN27501")  // _HID: Hardware ID
            Name (_CID, "TXN27501")  // _CID: Compatible ID
            Name (_DDN, "TI Fuel Gauge Controller")  // _DDN: DOS Device Name
            Name (RBUF, ResourceTemplate ()
            {
                I2cSerialBus (0x006B, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, ,
                    )
                GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0001
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LNotEqual (OSID, One))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }
        }

        Device (ANC2)
        {
            Name (_HID, "TXN24292")  // _HID: Hardware ID
            Name (_CID, "TXN24292")  // _CID: Compatible ID
            Name (_DDN, "TI Charger")  // _DDN: DOS Device Name
            Name (RBUF, ResourceTemplate ()
            {
                I2cSerialBus (0x0055, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, ,
                    )
                GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullUp, 0x0000,
                    "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0005
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LNotEqual (OSID, One))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }
        }

        Name (SMFG, ResourceTemplate ()
        {
            I2cSerialBus (0x0036, ControllerInitiated, 0x000186A0,
                AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                0x00, ResourceConsumer, ,
                )
        })
        Name (AVBL, Zero)
        Method (_REG, 2, NotSerialized)  // _REG: Region Availability
        {
            If (LEqual (Arg0, 0x09))
            {
                Store (Arg1, AVBL)
            }
        }

        OperationRegion (DVFG, GenericSerialBus, Zero, 0x0100)
        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x05), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG05,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x10), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG10,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x17), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG17,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x18), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG18,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x09), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG09,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x0A), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG0A,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x11), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG11,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG00,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x03), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG03,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x1D), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG1D,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x2B), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            FG2B,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x08), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            THRM,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x06), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            SOCR,   8
        }

        Field (DVFG, BufferAcc, NoLock, Preserve)
        {
            Connection (SMFG), 
            Offset (0x1C), 
            AccessAs (BufferAcc, AttribBytes (0x02)), 
            MXCU,   8
        }

        Name (SMBC, ResourceTemplate ()
        {
            I2cSerialBus (0x0035, ControllerInitiated, 0x000186A0,
                AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                0x00, ResourceConsumer, ,
                )
        })
        OperationRegion (DVBC, GenericSerialBus, Zero, 0x0100)
        Field (DVBC, BufferAcc, NoLock, Preserve)
        {
            Connection (SMBC), 
            AccessAs (BufferAcc, AttribByte), 
            BC00,   8, 
            BC01,   8, 
            BC02,   8, 
            BC03,   8, 
            BC04,   8, 
            BC05,   8, 
            BC06,   8, 
            BC07,   8, 
            BC08,   8, 
            BC09,   8, 
            BC0A,   8, 
            BC0B,   8, 
            BC0C,   8, 
            BC0D,   8, 
            BC0E,   8, 
            BC0F,   8, 
            BC10,   8
        }

        Field (DVBC, BufferAcc, NoLock, Preserve)
        {
            Connection (SMBC), 
            Offset (0x3D), 
            AccessAs (BufferAcc, AttribByte), 
            BC3D,   8
        }

        Field (DVBC, BufferAcc, NoLock, Preserve)
        {
            Connection (SMBC), 
            Offset (0x30), 
            AccessAs (BufferAcc, AttribByte), 
            BC30,   8
        }

        Field (DVBC, BufferAcc, NoLock, Preserve)
        {
            Connection (SMBC), 
            Offset (0x31), 
            AccessAs (BufferAcc, AttribByte), 
            BC31,   8
        }

        Field (DVBC, BufferAcc, NoLock, Preserve)
        {
            Connection (SMBC), 
            Offset (0x3C), 
            AccessAs (BufferAcc, AttribByte), 
            BC3C,   8
        }

        Field (DVBC, BufferAcc, NoLock, Preserve)
        {
            Connection (SMBC), 
            Offset (0x3E), 
            AccessAs (BufferAcc, AttribByte), 
            BC3E,   8
        }

        Field (DVBC, BufferAcc, NoLock, Preserve)
        {
            Connection (SMBC), 
            Offset (0x35), 
            AccessAs (BufferAcc, AttribBytes (0x06)), 
            BC35,   8
        }

        Device (BATC)
        {
            Name (_HID, EisaId ("PNP0C0A"))  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Name (BCCE, One)
            Name (OTGS, Zero)
            Name (HSMD, Zero)
            Name (CHPR, Zero)
            Name (FGDV, 0x0A)
            Name (BCCC, 0x46)
            Name (RECT, Zero)
            Name (BCCL, 0xFFFFFFFF)
            Name (BCLP, 0x1004)
            Name (DSCP, 0x1300)
            Name (DSVO, 0x0EA6)
            Name (BTPC, Zero)
            Name (AVCU, Zero)
            Name (DCPS, Zero)
            Name (_DEP, Package (0x01)  // _DEP: Dependencies
            {
                I2C1
            })
            Name (BUFF, Buffer (0x03)
            {
                 0x00, 0x01, 0x00
            })
            CreateByteField (BUFF, Zero, BYAT)
            CreateByteField (BUFF, 0x02, DATA)
            Name (BUF1, Buffer (0x06)
            {
                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (BUF1, Zero, BSTA)
            CreateByteField (BUF1, One, BLEN)
            CreateDWordField (BUF1, 0x02, DAT1)
            Name (BUF2, Buffer (0x04)
            {
                 0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (BUF2, Zero, BSTS)
            CreateByteField (BUF2, One, SLEN)
            CreateWordField (BUF2, 0x02, WRD1)
            Name (INBU, Buffer (0x08)
            {
                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (INBU, Zero, INST)
            CreateByteField (INBU, One, INLN)
            CreateByteField (INBU, 0x02, INT0)
            CreateByteField (INBU, 0x03, INT1)
            CreateByteField (INBU, 0x04, INT2)
            CreateByteField (INBU, 0x05, INT3)
            CreateByteField (INBU, 0x06, INT4)
            CreateByteField (INBU, 0x07, INT5)
            Name (BIXP, Package (0x14)
            {
                Zero, 
                One, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                One, 
                0xFFFFFFFF, 
                0x0A, 
                0x04, 
                Zero, 
                0x00017318, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0x88B8, 
                0x61A8, 
                One, 
                One, 
                "SR Real Battery", 
                "123456789", 
                "LION", 
                "Intel SR 1"
            })
            Name (BSTP, Package (0x04)
            {
                Zero, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0xFFFFFFFF
            })
            Method (_BIX, 0, NotSerialized)  // _BIX: Battery Information Extended
            {
                If (LEqual (AVBL, One))
                {
                    Store (FG10, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        Multiply (Local1, 0x05, Local2)
                        Divide (Local2, FGDV, Local0, Local1)
                        Store (Local1, Index (BIXP, 0x03))
                    }

                    Store (FG17, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        Divide (Local1, 0x64, Local0, Local2)
                        Store (Local2, Index (BIXP, 0x08))
                    }
                }

                Store (DSCP, Index (BIXP, 0x02))
                Store (DSVO, Index (BIXP, 0x05))
                Divide (DSCP, 0x0A, Local0, Local1)
                Store (Local1, Index (BIXP, 0x06))
                Divide (DSCP, 0x14, Local0, Local1)
                Store (Local1, Index (BIXP, 0x07))
                Return (BIXP)
            }

            Method (_BST, 0, NotSerialized)  // _BST: Battery Status
            {
                If (LEqual (AVBL, One))
                {
                    ADBG ("CH PR")
                    Store (BC30, BUFF)
                    And (DATA, 0x7F, Local1)
                    Or (Local1, 0x80, DATA)
                    Store (BUFF, BC30)
                    Store (0x3D, DATA)
                    Store (BUFF, BC04)
                    Store (0x05, DATA)
                    Store (BUFF, BC05)
                    Store (0xA5, DATA)
                    Store (BUFF, BC07)
                    Store (0xCF, DATA)
                    Store (BUFF, BC09)
                    Store (0x47, DATA)
                    Store (BUFF, BC0A)
                    Store (0x66, DATA)
                    Store (BUFF, BC10)
                    Store (Zero, CHPR)
                    ADBG ("CH PR DONE")
                    Store (BC3D, BUFF)
                    If (LNotEqual (BYAT, One))
                    {
                        ShiftRight (DATA, One, Local0)
                        And (Local0, 0x03, Local0)
                        If (LOr (LEqual (Local0, One), LEqual (Local0, 0x02)))
                        {
                            Store (0x02, Local1)
                        }

                        If (LEqual (Local0, Zero))
                        {
                            Store (One, Local1)
                        }

                        If (LEqual (Local0, 0x03))
                        {
                            Store (Zero, Local1)
                        }

                        Store (Local1, Index (BSTP, Zero))
                    }

                    Store (FG0A, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        If (And (Local1, 0x8000))
                        {
                            Subtract (0xFFFF, Local1, Local1)
                        }

                        Divide (Local1, FGDV, Local0, Local2)
                        Multiply (Local2, 0x9C, Local1)
                        Divide (Local1, 0x64, Local0, Local2)
                        Store (Local2, Index (BSTP, One))
                    }

                    Store (FG05, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        Multiply (Local1, 0x05, Local2)
                        Divide (Local2, FGDV, Local0, Local1)
                        Store (Local1, Index (BSTP, 0x02))
                    }

                    Store (FG09, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        ShiftRight (Local1, 0x03, Local2)
                        Multiply (Local2, 0x0271, Local1)
                        Divide (Local1, 0x03E8, Local0, Local2)
                        Store (Local2, Index (BSTP, 0x03))
                    }

                    Store (BC30, BUFF)
                    And (DATA, 0x7F, Local1)
                    Or (Local1, 0x80, DATA)
                    Store (BUFF, BC30)
                    Store (BC00, BUFF)
                    Store (BCCC, Local1)
                    Store (Local1, Local3)
                    And (DATA, 0xF0, Local2)
                    And (Local3, 0xF0, Local0)
                    If (LNotEqual (Local2, Local0))
                    {
                        And (DATA, 0x0F, Local2)
                        And (Local1, 0xF0, Local0)
                        Or (Local2, Local0, DATA)
                        Store (BUFF, BC00)
                    }

                    Store (BC06, BUFF)
                    And (DATA, 0x9F, Local1)
                    Or (Local1, 0x20, DATA)
                    Store (BUFF, BC06)
                    Store (BC30, BUFF)
                    And (DATA, 0x7D, Local1)
                    If (LEqual (BCCE, One))
                    {
                        ADBG ("EN CH")
                        Or (Local1, Zero, DATA)
                        And (DATA, 0xFB, DATA)
                        Store (BUFF, BC30)
                    }
                    Else
                    {
                        ADBG ("DIS CH")
                        Or (Local1, 0x02, DATA)
                        Store (BUFF, BC30)
                    }
                }

                Return (BSTP)
            }

            Method (INTC, 0, NotSerialized)
            {
                ADBG ("INTC")
                If (LEqual (AVBL, One))
                {
                    Store (BC35, INBU)
                }

                Store (PSRC (), Local0)
                If (LEqual (Local0, One))
                {
                    ADBG ("ACA CHG")
                }
                Else
                {
                    If (LEqual (Local0, 0x02))
                    {
                        ADBG ("SDP")
                        Store (Zero, DCPS)
                    }
                    Else
                    {
                        If (LEqual (Local0, 0x03))
                        {
                            ADBG ("DCP")
                            Store (One, DCPS)
                        }
                        Else
                        {
                            If (LEqual (Local0, 0x04))
                            {
                                ADBG ("CDP")
                                Store (Zero, DCPS)
                            }
                            Else
                            {
                                If (LEqual (Local0, 0x05))
                                {
                                    ADBG ("OTH")
                                }
                                Else
                                {
                                    If (LEqual (Local0, Zero))
                                    {
                                        Store (One, CHPR)
                                        ADBG ("NOINP")
                                    }
                                }
                            }
                        }
                    }
                }

                And (INT5, 0x0C, Local1)
                And (INT5, 0x08, Local0)
                If (LEqual (Local1, 0x0C))
                {
                    If (LNotEqual (OTGS, One))
                    {
                        ADBG ("OTG Detected")
                        Store (One, OTGS)
                    }
                }
                Else
                {
                    If (LEqual (Local0, 0x08))
                    {
                        If (LNotEqual (OTGS, Zero))
                        {
                            ADBG ("OTG Removal")
                            Store (Zero, OTGS)
                        }
                    }
                }

                If (LEqual (AVBL, One))
                {
                    Store (BC3C, BUFF)
                }

                If (LNotEqual (BYAT, One))
                {
                    And (DATA, 0x1F, Local0)
                    If (LEqual (Local0, 0x10))
                    {
                        CDRH (Zero)
                        If (LEqual (BDID, 0x02))
                        {
                            If (LEqual (^^^^GPO1.AMMR, One))
                            {
                                Store (One, ^^^^GPO1.COPM)
                            }
                        }

                        Store (One, HSMD)
                        ADBG ("RID GND")
                    }
                    Else
                    {
                        If (LEqual (Local0, 0x08))
                        {
                            CDRH (Zero)
                            If (LEqual (BDID, 0x02))
                            {
                                If (LEqual (^^^^GPO1.AMMR, One))
                                {
                                    Store (One, ^^^^GPO1.COPM)
                                }
                            }

                            Store (One, HSMD)
                            ADBG ("RID A")
                        }
                        Else
                        {
                            If (LEqual (Local0, 0x04))
                            {
                                CDRH (Zero)
                                If (LEqual (BDID, 0x02))
                                {
                                    If (LEqual (^^^^GPO1.AMMR, One))
                                    {
                                        Store (One, ^^^^GPO1.COPM)
                                    }
                                }

                                Store (One, HSMD)
                                ADBG ("RID B")
                            }
                            Else
                            {
                                If (LEqual (Local0, 0x02))
                                {
                                    CDRH (Zero)
                                    If (LEqual (BDID, 0x02))
                                    {
                                        If (LEqual (^^^^GPO1.AMMR, One))
                                        {
                                            Store (One, ^^^^GPO1.COPM)
                                        }
                                    }

                                    Store (One, HSMD)
                                    ADBG ("RID C")
                                }
                                Else
                                {
                                    If (LEqual (Local0, One))
                                    {
                                        If (LEqual (DCPS, Zero))
                                        {
                                            CDRD (One)
                                            If (LEqual (BDID, 0x02))
                                            {
                                                If (LEqual (^^^^GPO1.AMMR, One))
                                                {
                                                    Store (One, ^^^^GPO1.COPM)
                                                }
                                            }
                                        }
                                        Else
                                        {
                                            CDRD (Zero)
                                        }

                                        Store (Zero, HSMD)
                                        ADBG ("RID Float")
                                    }
                                    Else
                                    {
                                        CDRH (Zero)
                                        If (LEqual (BDID, 0x02))
                                        {
                                            If (LEqual (^^^^GPO1.AMMR, One))
                                            {
                                                Store (One, ^^^^GPO1.COPM)
                                            }
                                        }

                                        ADBG ("RID Unknown")
                                        Store (One, HSMD)
                                    }
                                }
                            }
                        }
                    }
                }

                And (INT3, 0x80, Local0)
                And (INT3, 0x20, Local1)
                If (LOr (LEqual (Local0, 0x80), LEqual (Local1, 0x20)))
                {
                    Return (One)
                }

                If (LEqual (CHPR, One))
                {
                    If (LEqual (HSMD, Zero))
                    {
                        ADBG ("CHG Rmv")
                        If (LEqual (DSFG, One))
                        {
                            CDRH (Zero)
                        }
                        Else
                        {
                            CDRD (Zero)
                        }

                        ADBG ("Charger removed")
                        If (LEqual (BDID, 0x02))
                        {
                            If (LEqual (^^^^GPO1.AMMR, One))
                            {
                                Store (Zero, ^^^^GPO1.COPM)
                            }
                        }

                        Store (Zero, HSMD)
                    }

                    Return (One)
                }

                If (LEqual (AVBL, One))
                {
                    Store (BC30, BUFF)
                }

                If (LNotEqual (BYAT, One))
                {
                    Store (DATA, Local0)
                    Or (Local0, 0x40, DATA)
                }

                If (LEqual (AVBL, One))
                {
                    Store (BUFF, BC30)
                }

                Return (One)
            }

            Method (INTF, 0, NotSerialized)
            {
                ADBG ("INTF")
                If (LEqual (AVBL, One))
                {
                    Store (FG00, BUF2)
                }

                If (LNotEqual (BSTS, One))
                {
                    Store (WRD1, Local1)
                }

                Return (One)
            }

            Method (CHCU, 1, NotSerialized)
            {
                Store (Arg0, Local0)
                Store (BC00, BUFF)
                If (LNotEqual (BYAT, One))
                {
                    And (Local0, 0x0F, Local1)
                    And (DATA, 0x0F, Local2)
                    If (LNotEqual (Local1, Local2))
                    {
                        And (Local0, 0x0F, Local1)
                        And (DATA, 0xF0, Local2)
                        Or (Local2, Local1, Local0)
                        If (LEqual (AVBL, One))
                        {
                            Store (0x80, DATA)
                            Store (BUFF, BC30)
                            Store (Local0, DATA)
                            Store (BUFF, BC00)
                            Store (0x87, DATA)
                            Store (BUFF, BC02)
                            Store (0x97, DATA)
                            Store (BUFF, BC02)
                            Store (Zero, DATA)
                            Store (BUFF, BC30)
                        }
                    }
                }
            }

            Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
            {
                Store (Arg0, BTPC)
                If (LEqual (AVBL, One))
                {
                    Store (Arg0, DAT1)
                    Store (0x04, BLEN)
                    Store (FG2B, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        And (WRD1, 0xFFFC, Local1)
                        Store (Local1, WRD1)
                        Store (BUF2, FG2B)
                    }

                    Store (FG1D, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        And (WRD1, 0xFFFB, Local1)
                        Or (Local1, 0x04, Local2)
                        Store (Local2, WRD1)
                        Store (BUF2, FG1D)
                    }

                    Store (SOCR, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        ShiftRight (WRD1, 0x08, Local0)
                        And (Local0, 0xFF, Local1)
                    }

                    Add (Local1, One, Local2)
                    Subtract (Local1, One, Local3)
                    ShiftLeft (Local2, 0x08, Local1)
                    Or (Local1, Local3, Local2)
                    Store (Local2, WRD1)
                    Store (BUF2, FG03)
                }
            }

            Method (_BTM, 1, NotSerialized)  // _BTM: Battery Time
            {
                If (LGreater (Arg0, 0x7530))
                {
                    Return (Zero)
                }

                If (LEqual (AVBL, One))
                {
                    Store (FG11, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        If (LEqual (Arg0, Zero))
                        {
                            ShiftRight (Local1, 0x05, Local2)
                            Multiply (Local2, 0x03, Local1)
                            Multiply (Local1, 0x3C, Local2)
                            Return (Local2)
                        }

                        Store (FG05, BUF2)
                        If (LNotEqual (BSTS, One))
                        {
                            Store (WRD1, Local1)
                            Multiply (Local1, 0x05, Local2)
                            Divide (Local2, FGDV, Local0, Local1)
                            Multiply (Local1, 0x0E10, Local0)
                            Divide (Local0, Arg0, Local1, Local2)
                            Return (Local2)
                        }
                    }
                }

                Return (0xFFFFFFFF)
            }

            Method (_BCT, 1, NotSerialized)  // _BCT: Battery Charge Time
            {
                If (LOr (LGreater (Arg0, 0x64), LLess (Arg0, One)))
                {
                    Return (Zero)
                }

                If (LEqual (AVBL, One))
                {
                    Store (FG05, BUF2)
                    Store (WRD1, Local1)
                    If (LNotEqual (BSTS, One))
                    {
                        Multiply (Local1, 0x05, Local2)
                        Divide (Local2, FGDV, Local0, Local1)
                        If (LLess (Arg0, Local1))
                        {
                            Return (Zero)
                        }

                        Store (Local1, RECT)
                    }

                    Store (FG10, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        Multiply (Local1, 0x05, Local2)
                        Divide (Local2, FGDV, Local0, Local1)
                        Store (Local1, BCLP)
                    }

                    Store (FG0A, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        If (And (Local1, 0x8000))
                        {
                            Return (Zero)
                        }
                    }

                    Multiply (BCLP, Arg0, Local0)
                    Subtract (Local0, RECT, Local0)
                    Multiply (Local0, 0x0E10, Local0)
                    Divide (Local0, Local1, Local2, Local3)
                    Return (Local3)
                }

                Return (0xFFFFFFFF)
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xE3, 0x67, 0x20, 0x4C, 0x7D, 0x88, 0x5C, 0x47,
                            /* 0008 */   0x97, 0x20, 0x4A, 0xF1, 0xD3, 0xED, 0x60, 0x2E
                        }))
                {
                    If (LEqual (Arg2, 0x02))
                    {
                        If (LEqual (Arg1, Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x00
                            })
                        }
                    }
                }

                Return (Zero)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (BDID, One))
                {
                    Return (Zero)
                }

                If (LOr (LOr (LEqual (BDID, 0x08), LEqual (BDID, 0x0A)), LEqual (
                    BDID, 0x09)))
                {
                    Return (Zero)
                }

                If (LNotEqual (OSID, One))
                {
                    Return (Zero)
                }

                If (LEqual (AVBL, One))
                {
                    Store (FG05, BUF2)
                    If (LNotEqual (BSTS, Zero))
                    {
                        Return (Zero)
                    }
                }

                Return (0x1F)
            }

            Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
            {
                Return (_SB)
            }

            Method (PSOC, 0, NotSerialized)
            {
                If (LEqual (AVBL, One))
                {
                    Store (SOCR, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        ShiftRight (WRD1, 0x08, Local0)
                        And (Local0, 0xFF, Local1)
                    }

                    Return (Local1)
                }

                Return (Zero)
            }

            Method (PMAX, 0, NotSerialized)
            {
                If (LEqual (AVBL, One))
                {
                    Store (MXCU, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        If (And (Local1, 0x8000))
                        {
                            ShiftRight (Local1, 0x08, Local0)
                            And (Local0, 0xFF, Local1)
                            Subtract (0xFFFF, Local1, Local0)
                            Multiply (Local0, 0x04, Local1)
                        }
                        Else
                        {
                            ShiftRight (Local1, 0x08, Local0)
                            And (Local0, 0xFF, Local2)
                            Multiply (Local2, 0x04, Local1)
                        }

                        Divide (Local1, 0x0A, Local0, Local2)
                        Divide (Local2, FGDV, Local0, Local1)
                        Multiply (Local1, 0x03E8, Local2)
                        Multiply (DSVO, Local2, Local1)
                        Return (Local1)
                    }
                }

                Return (Zero)
            }

            Method (VMIN, 0, NotSerialized)
            {
                Return (0x0DAC)
            }

            Method (APWR, 0, NotSerialized)
            {
                Return (0x0365C040)
            }

            Method (NPWR, 0, NotSerialized)
            {
                Store (APWR (), Local3)
                If (LEqual (AVBL, One))
                {
                    Store (FG0A, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        If (And (Local1, 0x8000))
                        {
                            Subtract (0xFFFF, Local1, Local1)
                        }

                        Divide (Local1, FGDV, Local0, Local2)
                        Multiply (Local2, 0x9C, Local1)
                        Divide (Local1, 0x64, Local0, Local2)
                        Store (Local2, AVCU)
                        Store (FG09, BUF2)
                        If (LNotEqual (BSTS, One))
                        {
                            Store (WRD1, Local1)
                            ShiftRight (Local1, 0x03, Local2)
                            Multiply (Local2, 0x0271, Local1)
                            Divide (Local1, 0x03E8, Local0, Local2)
                        }

                        Multiply (Local2, AVCU, Local1)
                        Subtract (Local3, Local1, Local0)
                        Return (Local0)
                    }
                }

                Return (Local0)
            }

            Method (PSRC, 0, NotSerialized)
            {
                If (LEqual (AVBL, One))
                {
                    Store (BC3E, BUFF)
                    If (LNotEqual (BYAT, One))
                    {
                        Store (DATA, Local0)
                        If (LEqual (Local0, Zero))
                        {
                            Return (Zero)
                        }

                        If (LOr (LOr (LEqual (Local0, 0x10), LEqual (Local0, 0x20)), LOr (
                            LEqual (Local0, 0x40), LEqual (Local0, 0x80))))
                        {
                            Return (One)
                        }

                        If (LEqual (Local0, 0x02))
                        {
                            Return (0x02)
                        }

                        If (LEqual (Local0, 0x04))
                        {
                            Return (0x03)
                        }

                        If (LEqual (Local0, 0x08))
                        {
                            Return (0x04)
                        }

                        If (LEqual (Local0, One))
                        {
                            Return (0x05)
                        }
                    }
                }

                Return (One)
            }

            Method (CTYP, 0, NotSerialized)
            {
                Return (0x02)
            }

            Method (ARTG, 0, NotSerialized)
            {
                Return (0x0365C040)
            }
        }
    }

    Scope (_SB.PCI0.I2C7)
    {
        Name (AVBL, Zero)
        Method (_REG, 2, NotSerialized)  // _REG: Region Availability
        {
            If (LEqual (Arg0, 0x09))
            {
                Store (Arg1, AVBL)
            }
        }

        Device (WIDR)
        {
            Name (_HID, "INT33FE")  // _HID: Hardware ID
            Name (_CID, "INT33FE")  // _CID: Compatible ID
            Name (_DDN, "WC PMIC Battery Device")  // _DDN: DOS Device Name
            Name (BCCC, 0x80)
            Name (BCCE, One)
            Name (OTGS, Zero)
            Name (CHPR, One)
            Name (FGDV, 0x0A)
            Name (BCIL, 0x65)
            Name (BCVF, 0x93)
            Name (BCFV, 0xED)
            Name (BCCH, 0x38)
            Name (BCST, 0x05)
            Name (BCPE, 0x74)
            Name (BCCL, 0xFFFFFFFF)
            Name (BCLP, 0x1004)
            Name (DSVO, 0x0EA6)
            Name (BTPC, Zero)
            Name (AVCU, Zero)
            Name (BSTP, Package (0x04)
            {
                Zero, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0xFFFFFFFF
            })
            Name (_DEP, Package (0x05)  // _DEP: Dependencies
            {
                I2C7, 
                PMI5, 
                I2C1, 
                GPO3, 
                MBID
            })
            Name (RBUF, ResourceTemplate ()
            {
                I2cSerialBus (0x005E, ControllerInitiated, 0x000186A0,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C7",
                    0x00, ResourceConsumer, ,
                    )
                I2cSerialBus (0x0036, ControllerInitiated, 0x000186A0,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, ,
                    )
                I2cSerialBus (0x0022, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, ,
                    )
                I2cSerialBus (0x0054, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, ,
                    )
                GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
                    "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0012
                    }
                GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0005
                    }
                GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
                    "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0013
                    }
            })
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (RBUF)
            }

            Method (GETM, 0, NotSerialized)
            {
                Return (UBCB)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (OSID, One))
                {
                    If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                    {
                        Return (0x0F)
                    }
                }

                Return (Zero)
            }

            OperationRegion (BMOP, 0x9E, Zero, 0x0100)
            Field (BMOP, DWordAcc, NoLock, Preserve)
            {
                SOC,    32, 
                FCCP,   32, 
                CHST,   32, 
                RMCP,   32, 
                VOLT,   32, 
                BATP,   32, 
                SRP0,   32, 
                STYP,   32, 
                CHGC,   32, 
                STPC,   32, 
                GADC,   32, 
                TTEM,   32, 
                TTCH,   32, 
                CYCL,   32, 
                BTP,    32, 
                DPCU,   32, 
                DSCP,   32, 
                CHEN,   32
            }

            Name (AVBL, Zero)
            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x9E))
                {
                    Store (Arg1, AVBL)
                }
            }

            Method (DPTU, 0, NotSerialized)
            {
                ADBG ("DPTU WIDR")
                If (LEqual (AVBL, One))
                {
                    Store (BCCC, DPCU)
                    Store (BCCE, CHEN)
                }

                Return (One)
            }

            Method (SBTP, 0, NotSerialized)
            {
                ADBG ("SBTP WIDR")
                If (CondRefOf (\_SB.PCI0.I2C7.WIDR, Local1))
                {
                    Store (^^PMI5.GET (One, 0x6E, 0x1E), Local0)
                    ShiftRight (Local0, 0x03, Local0)
                    And (Local0, 0x03, Local0)
                    If (LNotEqual (Local0, One))
                    {
                        Notify (ADP1, 0x80)
                    }
                }

                If (CondRefOf (\_SB.DPTF, Local3))
                {
                    ADBG ("SBTP NOTIFY DPTF 86")
                    Notify (DPTF, 0x86)
                    Notify (TCHG, 0x80)
                }

                Return (One)
            }

            Method (PTYP, 0, NotSerialized)
            {
                If (LEqual (PMID, One))
                {
                    Return (0x06)
                }

                If (LEqual (PMID, 0x02))
                {
                    Return (0x05)
                }

                If (LEqual (PMID, 0x03))
                {
                    Return (0x04)
                }

                Return (Zero)
            }

            Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
            {
                Return (_SB)
            }

            Method (PSOC, 0, NotSerialized)
            {
                ADBG ("PSOC")
                If (LEqual (AVBL, One))
                {
                    Store (WIDR, Local1)
                    Return (Local1)
                }

                Return (Zero)
            }

            Method (PMAX, 0, NotSerialized)
            {
                ADBG ("PMAX")
                If (LEqual (AVBL, One))
                {
                    Store (FCCP, Local1)
                    Return (Local1)
                }

                Return (Zero)
            }

            Method (VMIN, 0, NotSerialized)
            {
                Return (0x0DAC)
            }

            Method (APWR, 0, NotSerialized)
            {
                Return (0x0365C040)
            }

            Method (DSM2, 0, NotSerialized)
            {
                Notify (UBTC, 0x80)
                Return (0x0F)
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0x77, 0xCF, 0x7B, 0xAA, 0x3F, 0x26, 0x28, 0x4E,
                            /* 0008 */   0x8E, 0x16, 0x9C, 0xAC, 0x5C, 0x61, 0x09, 0x28
                        }))
                {
                    If (LEqual (Arg2, One))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg2, 0x02))
                    {
                        Return (0x08)
                    }

                    If (LEqual (Arg2, 0x03))
                    {
                        Return (0xC0)
                    }

                    If (LEqual (Arg2, 0x04))
                    {
                        Return (0x06)
                    }

                    If (LEqual (Arg2, 0x05))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Arg2, 0x06))
                    {
                        Return (0x05)
                    }

                    If (LEqual (Arg2, 0x07))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Arg2, 0x08))
                    {
                        Return (0x07)
                    }

                    If (LEqual (Arg2, 0x09))
                    {
                        Return (0xA0)
                    }

                    If (LEqual (Arg2, 0x0A))
                    {
                        Return (0xD6)
                    }

                    Return (0xFFFFFFFF)
                }
            }

            Method (PSRC, 0, NotSerialized)
            {
                If (LEqual (AVBL, One))
                {
                    Store (STYP, Local0)
                    If (LEqual (Local0, Zero))
                    {
                        Return (Zero)
                    }

                    If (LEqual (Local0, One))
                    {
                        Return (One)
                    }

                    If (LEqual (Local0, 0x02))
                    {
                        Return (0x02)
                    }

                    If (LEqual (Local0, 0x03))
                    {
                        Return (0x03)
                    }

                    If (LEqual (Local0, 0x04))
                    {
                        Return (0x04)
                    }

                    If (LEqual (Local0, 0x05))
                    {
                        Return (0x05)
                    }
                }

                Return (One)
            }

            Method (GPTG, 1, Serialized)
            {
                If (LEqual (^^^^GPO3.AMMR, One))
                {
                    Store (^^^^GPO3.FGGP, Local0)
                }

                ADBG ("GPO PAD BEFORE")
                ADBG (Local0)
                Or (Local0, 0x02, Local0)
                ADBG ("GPO PAD AFTER")
                ADBG (Local0)
                If (LEqual (^^^^GPO3.AMMR, One))
                {
                    Store (Local0, ^^^^GPO3.FGGP)
                }
            }

            Method (USBH, 1, Serialized)
            {
                If (LEqual (Arg0, One))
                {
                    Store (^^PMI5.GET (One, 0x5E, 0x07), Local0)
                    Or (Local0, One, Local0)
                    ADBG (Local0)
                    ^^PMI5.SET (One, 0x5E, 0x07, Local0)
                    CDRH (Zero)
                    Store (^^PMI5.GET (One, 0x5E, 0x17), Local0)
                    Or (Local0, 0x40, Local0)
                    ^^PMI5.SET (One, 0x5E, 0x17, Local0)
                }
                Else
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        ADBG ("CDP/SDP")
                        Store (^^PMI5.GET (One, 0x5E, 0x07), Local0)
                        Or (Local0, One, Local0)
                        ^^PMI5.SET (One, 0x5E, 0x07, Local0)
                        CDRD (One)
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x03))
                        {
                            Store (^^PMI5.GET (One, 0x5E, 0x07), Local0)
                            Or (Local0, One, Local0)
                            ADBG (Local0)
                            ^^PMI5.SET (One, 0x5E, 0x07, Local0)
                            CDRH (Zero)
                        }
                        Else
                        {
                            ADBG ("DCP/no cable is connected")
                            Store (^^PMI5.GET (One, 0x5E, 0x07), Local0)
                            And (Local0, 0xFE, Local0)
                            ^^PMI5.SET (One, 0x5E, 0x07, Local0)
                            CDRD (Zero)
                        }
                    }
                }

                ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                ADBG ("B4 Set")
                ADBG (Local0)
                And (Local0, 0xCF, Local0)
                ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                ^^PMI5.SET (One, 0x5E, 0x27, Local0)
                ^^PMI5.SET (One, 0x5E, 0x24, One)
                ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                ADBG ("After Set")
                ADBG ("REG05")
                ADBG (Local0)
                ADBG ("USB Host")
            }

            Method (BATD, 0, NotSerialized)
            {
                ADBG ("BATD")
                If (LEqual (AVBL, One))
                {
                    ADBG ("BATD")
                    Store (CHST, Local0)
                    And (Local0, 0x0F, Local0)
                    If (LEqual (Local0, 0x02))
                    {
                        Store (0x02, Local1)
                    }

                    If (LEqual (Local0, One))
                    {
                        Store (One, Local1)
                    }

                    If (LEqual (Local0, 0x08))
                    {
                        Store (Zero, Local1)
                    }

                    Store (Local1, Index (BSTP, Zero))
                    Store (CHGC, Index (BSTP, One))
                    Store (RMCP, Index (BSTP, 0x02))
                    Store (VOLT, Index (BSTP, 0x03))
                    Store (BCCC, DPCU)
                }

                Return (BSTP)
            }
        }

        Device (BATC)
        {
            Name (_HID, EisaId ("PNP0C0A"))  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Name (BCCE, One)
            Name (OTGS, Zero)
            Name (HSMD, Zero)
            Name (CHPR, One)
            Name (FGDV, 0x0A)
            Name (RECT, Zero)
            Name (BCCL, 0xFFFFFFFF)
            Name (BCLP, 0x1004)
            Name (DSCP, 0x1023)
            Name (DSVO, 0x0EA6)
            Name (BTPC, Zero)
            Name (AVCU, Zero)
            Name (BQCC, 0x50)
            Name (TSHV, Zero)
            Name (BCCC, 0x50)
            Name (_DEP, Package (0x03)  // _DEP: Dependencies
            {
                I2C1, 
                I2C7, 
                PMI5
            })
            Name (BUFF, Buffer (0x03)
            {
                 0x00, 0x01, 0x00
            })
            CreateByteField (BUFF, Zero, BYAT)
            CreateByteField (BUFF, 0x02, DATA)
            Name (BUF1, Buffer (0x06)
            {
                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (BUF1, Zero, BSTA)
            CreateByteField (BUF1, One, BLEN)
            CreateDWordField (BUF1, 0x02, DAT1)
            Name (BUF2, Buffer (0x04)
            {
                 0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (BUF2, Zero, BSTS)
            CreateByteField (BUF2, One, SLEN)
            CreateWordField (BUF2, 0x02, WRD1)
            Name (INBU, Buffer (0x08)
            {
                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (INBU, Zero, INST)
            CreateByteField (INBU, One, INLN)
            CreateByteField (INBU, 0x02, INT0)
            CreateByteField (INBU, 0x03, INT1)
            CreateByteField (INBU, 0x04, INT2)
            CreateByteField (INBU, 0x05, INT3)
            CreateByteField (INBU, 0x06, INT4)
            CreateByteField (INBU, 0x07, INT5)
            Name (BIXP, Package (0x14)
            {
                Zero, 
                One, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                One, 
                0xFFFFFFFF, 
                0x0A, 
                0x04, 
                Zero, 
                0x00017318, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0x88B8, 
                0x61A8, 
                One, 
                One, 
                "SR Real Battery", 
                "123456789", 
                "LION", 
                "Intel SR 1"
            })
            Name (BSTP, Package (0x04)
            {
                Zero, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0xFFFFFFFF
            })
            Method (_BIX, 0, NotSerialized)  // _BIX: Battery Information Extended
            {
                If (LEqual (^^^I2C1.AVBL, One))
                {
                    Store (^^^I2C1.FG10, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        Multiply (Local1, 0x05, Local2)
                        Divide (Local2, FGDV, Local0, Local1)
                        Store (Local1, Index (BIXP, 0x03))
                    }

                    Store (^^^I2C1.FG17, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        Divide (Local1, 0x64, Local0, Local2)
                        Store (Local2, Index (BIXP, 0x08))
                    }
                }

                Store (DSCP, Index (BIXP, 0x02))
                Store (DSVO, Index (BIXP, 0x05))
                Divide (DSCP, 0x0A, Local0, Local1)
                Store (Local1, Index (BIXP, 0x06))
                Divide (DSCP, 0x14, Local0, Local1)
                Store (Local1, Index (BIXP, 0x07))
                Return (BIXP)
            }

            Method (_BST, 0, NotSerialized)  // _BST: Battery Status
            {
                Name (RGND, One)
                If (LEqual (^^PMI5.AVBL, One))
                {
                    Store (^^PMI5.GET (One, 0x6E, 0x1E), Local0)
                    ShiftRight (Local0, 0x03, Local0)
                    And (Local0, 0x03, Local0)
                    If (LNotEqual (Local0, One))
                    {
                        Store (Zero, RGND)
                    }

                    If (LEqual (RGND, Zero))
                    {
                        If (LEqual (TSHV, Zero))
                        {
                            Store (One, TSHV)
                            ^^PMI5.SET (One, 0x5E, 0x20, 0x02)
                            ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                            ^^PMI5.SET (One, 0x5E, 0x26, One)
                            ^^PMI5.SET (One, 0x5E, 0x27, 0x19)
                            ^^PMI5.SET (One, 0x5E, 0x24, One)
                            ADBG ("Min Sys vol")
                        }

                        ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                        ^^PMI5.SET (One, 0x5E, 0x26, 0x04)
                        ^^PMI5.SET (One, 0x5E, 0x27, 0xD6)
                        ^^PMI5.SET (One, 0x5E, 0x24, One)
                        ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                        ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                        ^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
                        ^^PMI5.SET (One, 0x5E, 0x24, One)
                        Store (^^PMI5.GET (One, 0x5E, 0x16), Local0)
                        Or (Local0, 0xA8, Local2)
                        ^^PMI5.SET (One, 0x5E, 0x16, Local2)
                        Store (^^PMI5.GET (One, 0x5E, 0x16), Local0)
                        ADBG ("WC16")
                        ADBG (Local0)
                        ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                        ^^PMI5.SET (One, 0x5E, 0x26, 0x09)
                        ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                        Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                        If (LNotEqual (Local0, Zero))
                        {
                            ADBG ("FAULT OCCURED")
                            ADBG (Local0)
                            Store (PSRC (), Local0)
                        }

                        ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                        ^^PMI5.SET (One, 0x5E, 0x26, One)
                        ^^PMI5.SET (One, 0x5E, 0x27, 0x1B)
                        ^^PMI5.SET (One, 0x5E, 0x24, One)
                    }

                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^PMI5.SET (One, 0x5E, 0x26, One)
                    ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                    Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                    ADBG ("CH REG01")
                    ADBG (Local0)
                    If (LEqual (RGND, Zero))
                    {
                        ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                        ^^PMI5.SET (One, 0x5E, 0x26, 0x02)
                        ^^PMI5.SET (One, 0x5E, 0x27, 0x42)
                        ^^PMI5.SET (One, 0x5E, 0x24, One)
                    }

                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^PMI5.SET (One, 0x5E, 0x26, 0x09)
                    ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                    Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                    ADBG ("REG09")
                    ADBG (Local0)
                    Store (Zero, CHPR)
                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^PMI5.SET (One, 0x5E, 0x26, 0x08)
                    ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                    Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                    ShiftRight (Local0, 0x04, Local0)
                    And (Local0, 0x03, Local0)
                    If (LOr (LEqual (Local0, One), LEqual (Local0, 0x02)))
                    {
                        Store (0x02, Local1)
                    }

                    If (LEqual (Local0, Zero))
                    {
                        Store (One, Local1)
                    }

                    If (LEqual (Local0, 0x03))
                    {
                        Store (Zero, Local1)
                    }

                    Store (Local1, Index (BSTP, Zero))
                    Store (^^^I2C1.FG0A, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        If (And (Local1, 0x8000))
                        {
                            Subtract (0xFFFF, Local1, Local1)
                        }

                        Divide (Local1, FGDV, Local0, Local2)
                        Multiply (Local2, 0x9C, Local1)
                        Divide (Local1, 0x64, Local0, Local2)
                        Store (Local2, Index (BSTP, One))
                    }

                    Store (^^^I2C1.FG05, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        Multiply (Local1, 0x05, Local2)
                        Divide (Local2, FGDV, Local0, Local1)
                        Store (Local1, Index (BSTP, 0x02))
                    }

                    Store (^^^I2C1.FG09, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        ShiftRight (Local1, 0x03, Local2)
                        Multiply (Local2, 0x0271, Local1)
                        Divide (Local1, 0x03E8, Local0, Local2)
                        Store (Local2, Index (BSTP, 0x03))
                    }

                    Store (^^^I2C1.FG1D, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        And (WRD1, Zero, Local1)
                        Or (Local1, 0x0104, Local2)
                        Store (Local2, WRD1)
                        Store (BUF2, ^^^I2C1.FG1D)
                    }

                    Store (0x18, Local2)
                    ShiftLeft (Local2, 0x08, Local1)
                    Store (Local1, WRD1)
                    Store (BUF2, ^^^I2C1.THRM)
                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^PMI5.SET (One, 0x5E, 0x26, 0x02)
                    ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                    Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                    Store (BQCC, Local1)
                    Store (Local1, Local3)
                    And (Local0, 0xFC, Local2)
                    And (Local3, 0xFC, Local3)
                    If (LNotEqual (Local2, Local3))
                    {
                        And (Local0, 0x03, Local2)
                        And (Local1, 0xFC, Local1)
                        Or (Local2, Local1, Local0)
                    }

                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^PMI5.SET (One, 0x5E, 0x26, One)
                    ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                    Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                    And (Local0, 0xCF, Local1)
                    If (LEqual (BCCE, One))
                    {
                        Or (Local1, 0x10, Local0)
                        If (LEqual (RGND, Zero))
                        {
                            ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                            ^^PMI5.SET (One, 0x5E, 0x26, One)
                            ^^PMI5.SET (One, 0x5E, 0x27, Local0)
                            ^^PMI5.SET (One, 0x5E, 0x24, One)
                        }
                    }
                    Else
                    {
                        If (LEqual (RGND, Zero))
                        {
                            Or (Local1, Zero, Local0)
                            ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                            ^^PMI5.SET (One, 0x5E, 0x26, One)
                            ^^PMI5.SET (One, 0x5E, 0x27, Local0)
                            ^^PMI5.SET (One, 0x5E, 0x24, One)
                        }
                    }
                }

                Return (BSTP)
            }

            Method (INTC, 0, NotSerialized)
            {
                ADBG ("INTC")
                Name (RGND, One)
                Store (^^PMI5.GET (One, 0x6E, 0x1E), Local0)
                ShiftRight (Local0, 0x03, Local0)
                And (Local0, 0x03, Local0)
                If (LNotEqual (Local0, One))
                {
                    Store (Zero, RGND)
                }

                If (LEqual (RGND, Zero))
                {
                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^PMI5.SET (One, 0x5E, 0x26, 0x09)
                    ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                    Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                    If (LNotEqual (Local0, Zero))
                    {
                        ADBG ("FAULT OCCURED")
                        ADBG (Local0)
                    }

                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^PMI5.SET (One, 0x5E, 0x26, 0x04)
                    ^^PMI5.SET (One, 0x5E, 0x27, 0xD6)
                    ^^PMI5.SET (One, 0x5E, 0x24, One)
                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                    ^^PMI5.SET (One, 0x5E, 0x26, One)
                    ^^PMI5.SET (One, 0x5E, 0x27, 0x19)
                    ^^PMI5.SET (One, 0x5E, 0x24, One)
                }

                Store (PSRC (), Local0)
                If (LOr (LOr (LEqual (Local0, One), LEqual (Local0, 0x02)), LOr (
                    LEqual (Local0, 0x03), LEqual (Local0, 0x04))))
                {
                    Store (One, ^^PMI5.ACDC)
                }
                Else
                {
                    Store (Zero, ^^PMI5.ACDC)
                }

                If (LEqual (Local0, One))
                {
                    Store (One, HSMD)
                }
                Else
                {
                    If (LEqual (Local0, 0x02))
                    {
                        Store (Zero, HSMD)
                    }
                    Else
                    {
                        If (LEqual (Local0, 0x03))
                        {
                            Store (Zero, HSMD)
                        }
                        Else
                        {
                            If (LEqual (Local0, 0x04))
                            {
                                Store (Zero, HSMD)
                            }
                            Else
                            {
                                If (LEqual (Local0, 0x05))
                                {
                                    Store (Zero, HSMD)
                                }
                                Else
                                {
                                    If (LEqual (Local0, Zero))
                                    {
                                        Store (One, CHPR)
                                        Store (Zero, HSMD)
                                    }
                                }
                            }
                        }
                    }
                }

                ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                ^^PMI5.SET (One, 0x5E, 0x26, 0x08)
                ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                And (Local0, 0xC0, Local1)
                If (LEqual (Local1, 0xC0))
                {
                    If (LNotEqual (OTGS, One))
                    {
                        Store (One, OTGS)
                    }
                }
                Else
                {
                    If (LNotEqual (OTGS, Zero))
                    {
                        Store (Zero, OTGS)
                    }
                }

                If (LEqual (HSMD, Zero))
                {
                    Store (^^PMI5.GET (One, 0x5E, 0x29), Local0)
                    ShiftRight (Local0, 0x02, Local1)
                    And (Local1, 0x0F, Local1)
                    If (LEqual (Local1, 0x02))
                    {
                        ADBG ("DCP Detected")
                        CDRD (Zero)
                    }
                    Else
                    {
                        ADBG ("None DCP Charger")
                        Store (^^PMI5.GET (One, 0x5E, 0x07), Local0)
                        Or (Local0, One, Local0)
                        ^^PMI5.SET (One, 0x5E, 0x07, Local0)
                        CDRD (One)
                    }
                }
                Else
                {
                    Store (^^PMI5.GET (One, 0x5E, 0x07), Local0)
                    And (Local0, 0xFE, Local0)
                    ^^PMI5.SET (One, 0x5E, 0x07, Local0)
                    ADBG ("Host Mode")
                    ADBG (Local0)
                    Store (^^PMI5.GET (One, 0x6E, 0x1E), Local0)
                    ShiftRight (Local0, 0x03, Local0)
                    And (Local0, 0x03, Local0)
                    If (LEqual (Local0, Zero))
                    {
                        Store (^^PMI5.GET (One, 0x5E, 0x07), Local0)
                        Or (Local0, One, Local0)
                        ^^PMI5.SET (One, 0x5E, 0x07, Local0)
                        Store (^^PMI5.GET (One, 0x5E, 0x17), Local0)
                        Or (Local0, 0x40, Local0)
                        ^^PMI5.SET (One, 0x5E, 0x17, Local0)
                        CDRH (One)
                    }
                    Else
                    {
                        CDRH (Zero)
                    }
                }

                If (LEqual (CHPR, One))
                {
                    Store (^^PMI5.GET (One, 0x5E, 0x07), Local0)
                    And (Local0, 0xFE, Local0)
                    ^^PMI5.SET (One, 0x5E, 0x07, Local0)
                    If (LEqual (DSFG, One))
                    {
                        CDRH (Zero)
                    }
                    Else
                    {
                        CDRD (Zero)
                    }

                    Store (One, HSMD)
                    ^^PMI5.SET (One, 0x5E, 0x1F, 0x18)
                    Return (One)
                }

                ^^PMI5.SET (One, 0x5E, 0x1F, 0x1B)
                Return (One)
            }

            Method (INTF, 0, NotSerialized)
            {
                ADBG ("INTF")
                Store (^^^I2C1.FG00, BUF2)
                If (LNotEqual (BSTS, One))
                {
                    Store (WRD1, Local1)
                    ADBG ("FG00")
                    ADBG (Local1)
                }

                Return (One)
            }

            Method (CHCU, 1, NotSerialized)
            {
                Store (Arg0, Local0)
                ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                ^^PMI5.SET (One, 0x5E, 0x26, Zero)
                ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                Store (^^PMI5.GET (One, 0x5E, 0x28), Local1)
                And (Local0, 0x07, Local2)
                And (Local1, 0x07, Local1)
                If (LNotEqual (Local1, Local2))
                {
                    And (Local0, 0x07, Local2)
                    And (DATA, 0xF8, Local1)
                    Or (Local1, Local2, Local0)
                }
            }

            Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
            {
                Store (Arg0, BTPC)
                If (LEqual (^^^I2C1.AVBL, One))
                {
                    ADBG ("BTP")
                    Store (Arg0, DAT1)
                    Store (0x04, BLEN)
                    Store (^^^I2C1.FG2B, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        And (WRD1, 0xFFFC, Local1)
                        Store (Local1, WRD1)
                        Store (BUF2, ^^^I2C1.FG2B)
                    }

                    Store (^^^I2C1.FG1D, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        And (WRD1, 0xFFFB, Local1)
                        Or (Local1, 0x04, Local2)
                        Store (Local2, WRD1)
                        Store (BUF2, ^^^I2C1.FG1D)
                    }

                    Store (^^^I2C1.SOCR, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        ShiftRight (WRD1, 0x08, Local0)
                        And (Local0, 0xFF, Local1)
                    }

                    Add (Local1, One, Local2)
                    Subtract (Local1, One, Local3)
                    ShiftLeft (Local2, 0x08, Local1)
                    Or (Local1, Local3, Local2)
                    Store (Local2, WRD1)
                    Store (BUF2, ^^^I2C1.FG03)
                }
            }

            Method (_BTM, 1, NotSerialized)  // _BTM: Battery Time
            {
                If (LGreater (Arg0, 0x7530))
                {
                    Return (Zero)
                }

                If (LEqual (^^^I2C1.AVBL, One))
                {
                    Store (^^^I2C1.FG11, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        If (LEqual (Arg0, Zero))
                        {
                            ShiftRight (Local1, 0x05, Local2)
                            Multiply (Local2, 0x03, Local1)
                            Multiply (Local1, 0x3C, Local2)
                            Return (Local2)
                        }

                        Store (^^^I2C1.FG05, BUF2)
                        If (LNotEqual (BSTS, One))
                        {
                            Store (WRD1, Local1)
                            Multiply (Local1, 0x05, Local2)
                            Divide (Local2, FGDV, Local0, Local1)
                            Multiply (Local1, 0x0E10, Local0)
                            Divide (Local0, Arg0, Local1, Local2)
                            Return (Local2)
                        }
                    }
                }

                Return (0xFFFFFFFF)
            }

            Method (_BCT, 1, NotSerialized)  // _BCT: Battery Charge Time
            {
                If (LOr (LGreater (Arg0, 0x64), LLess (Arg0, One)))
                {
                    Return (Zero)
                }

                If (LEqual (^^^I2C1.AVBL, One))
                {
                    Store (^^^I2C1.FG05, BUF2)
                    Store (WRD1, Local1)
                    If (LNotEqual (BSTS, One))
                    {
                        Multiply (Local1, 0x05, Local2)
                        Divide (Local2, FGDV, Local0, Local1)
                        If (LLess (Arg0, Local1))
                        {
                            Return (Zero)
                        }

                        Store (Local1, RECT)
                    }

                    Store (^^^I2C1.FG10, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        Multiply (Local1, 0x05, Local2)
                        Divide (Local2, FGDV, Local0, Local1)
                        Store (Local1, BCLP)
                    }

                    Store (^^^I2C1.FG0A, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        If (And (Local1, 0x8000))
                        {
                            Return (Zero)
                        }
                    }

                    Multiply (BCLP, Arg0, Local0)
                    Subtract (Local0, RECT, Local0)
                    Multiply (Local0, 0x0E10, Local0)
                    Divide (Local0, Local1, Local2, Local3)
                    Return (Local3)
                }

                Return (0xFFFFFFFF)
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xE3, 0x67, 0x20, 0x4C, 0x7D, 0x88, 0x5C, 0x47,
                            /* 0008 */   0x97, 0x20, 0x4A, 0xF1, 0xD3, 0xED, 0x60, 0x2E
                        }))
                {
                    If (LEqual (Arg2, 0x02))
                    {
                        If (LEqual (Arg1, Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x00
                            })
                        }
                    }
                }

                Return (Zero)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LNotEqual (BDID, 0x08))
                {
                    Return (Zero)
                }

                If (LNotEqual (OSID, One))
                {
                    Return (Zero)
                }

                If (LEqual (^^^I2C1.AVBL, One))
                {
                    Store (^^^I2C1.FG05, BUF2)
                    If (LNotEqual (BSTS, Zero))
                    {
                        Return (Zero)
                    }
                }

                ADBG ("TI CHARGER")
                Return (0x1F)
            }

            Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
            {
                Return (_SB)
            }

            Method (PSOC, 0, NotSerialized)
            {
                If (LEqual (^^^I2C1.AVBL, One))
                {
                    Store (^^^I2C1.SOCR, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        ShiftRight (WRD1, 0x08, Local0)
                        And (Local0, 0xFF, Local1)
                    }

                    Return (Local1)
                }

                Return (Zero)
            }

            Method (PMAX, 0, NotSerialized)
            {
                If (LEqual (^^^I2C1.AVBL, One))
                {
                    Store (^^^I2C1.MXCU, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        If (And (Local1, 0x8000))
                        {
                            ShiftRight (Local1, 0x08, Local0)
                            And (Local0, 0xFF, Local1)
                            Subtract (0xFFFF, Local1, Local0)
                            Multiply (Local0, 0x04, Local1)
                        }
                        Else
                        {
                            ShiftRight (Local1, 0x08, Local0)
                            And (Local0, 0xFF, Local2)
                            Multiply (Local2, 0x04, Local1)
                        }

                        Divide (Local1, 0x0A, Local0, Local2)
                        Divide (Local2, FGDV, Local0, Local1)
                        Multiply (Local1, 0x03E8, Local2)
                        Multiply (DSVO, Local2, Local1)
                        Return (Local1)
                    }
                }

                Return (Zero)
            }

            Method (VMIN, 0, NotSerialized)
            {
                Return (0x0DAC)
            }

            Method (APWR, 0, NotSerialized)
            {
                Return (0x0365C040)
            }

            Method (NPWR, 0, NotSerialized)
            {
                Store (APWR (), Local3)
                If (LEqual (^^^I2C1.AVBL, One))
                {
                    Store (^^^I2C1.FG0A, BUF2)
                    If (LNotEqual (BSTS, One))
                    {
                        Store (WRD1, Local1)
                        If (And (Local1, 0x8000))
                        {
                            Subtract (0xFFFF, Local1, Local1)
                        }

                        Divide (Local1, FGDV, Local0, Local2)
                        Multiply (Local2, 0x9C, Local1)
                        Divide (Local1, 0x64, Local0, Local2)
                        Store (Local2, AVCU)
                        Store (^^^I2C1.FG09, BUF2)
                        If (LNotEqual (BSTS, One))
                        {
                            Store (WRD1, Local1)
                            ShiftRight (Local1, 0x03, Local2)
                            Multiply (Local2, 0x0271, Local1)
                            Divide (Local1, 0x03E8, Local0, Local2)
                        }

                        Multiply (Local2, AVCU, Local1)
                        Subtract (Local3, Local1, Local0)
                        Return (Local0)
                    }
                }

                Return (Local0)
            }

            Method (PSRC, 0, Serialized)
            {
                Name (RGND, One)
                If (LEqual (^^PMI5.AVBL, One))
                {
                    Store (^^PMI5.GET (One, 0x6E, 0x1E), Local7)
                    ShiftRight (Local7, 0x03, Local7)
                    And (Local7, 0x03, Local7)
                    If (LNotEqual (Local7, One))
                    {
                        Store (Zero, RGND)
                    }

                    Store (^^PMI5.GET (One, 0x5E, 0x29), Local0)
                    ADBG (Local0)
                    ShiftRight (Local0, 0x02, Local1)
                    And (Local1, 0x0F, Local1)
                    If (LOr (LEqual (Local1, Zero), LNotEqual (RGND, Zero)))
                    {
                        ADBG ("NONE")
                        Return (Zero)
                    }
                    Else
                    {
                        If (LEqual (Local1, 0x04))
                        {
                            ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                            ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                            ^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
                            ^^PMI5.SET (One, 0x5E, 0x24, One)
                            ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                            ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                            ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                            Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                            ADBG ("REG05")
                            ADBG (Local0)
                            If (LEqual (RGND, Zero))
                            {
                                ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                ^^PMI5.SET (One, 0x5E, 0x26, Zero)
                                ^^PMI5.SET (One, 0x5E, 0x27, 0x3D)
                                ^^PMI5.SET (One, 0x5E, 0x24, One)
                            }

                            ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                            ^^PMI5.SET (One, 0x5E, 0x26, Zero)
                            ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                            Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                            ADBG ("ACA")
                            ADBG (Local0)
                            Return (One)
                        }
                        Else
                        {
                            If (LEqual (Local1, One))
                            {
                                ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                                ^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
                                ^^PMI5.SET (One, 0x5E, 0x24, One)
                                ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                                ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                                Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                                ADBG ("REG05")
                                ADBG (Local0)
                                If (LEqual (RGND, Zero))
                                {
                                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                    ^^PMI5.SET (One, 0x5E, 0x26, Zero)
                                    ^^PMI5.SET (One, 0x5E, 0x27, 0x3A)
                                    ^^PMI5.SET (One, 0x5E, 0x24, One)
                                }

                                ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                ^^PMI5.SET (One, 0x5E, 0x26, Zero)
                                ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                                Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                                ADBG ("SDP")
                                ADBG (Local0)
                                Return (0x02)
                            }
                            Else
                            {
                                If (LEqual (Local1, 0x02))
                                {
                                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                    ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                                    ^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
                                    ^^PMI5.SET (One, 0x5E, 0x24, One)
                                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                    ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                                    ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                                    Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                                    ADBG ("REG05")
                                    ADBG (Local0)
                                    If (LEqual (RGND, Zero))
                                    {
                                        ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                        ^^PMI5.SET (One, 0x5E, 0x26, Zero)
                                        ^^PMI5.SET (One, 0x5E, 0x27, 0x3D)
                                        ^^PMI5.SET (One, 0x5E, 0x24, One)
                                    }

                                    ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                    ^^PMI5.SET (One, 0x5E, 0x26, Zero)
                                    ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                                    Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                                    ADBG ("DCP")
                                    ADBG (Local0)
                                    Return (0x03)
                                }
                                Else
                                {
                                    If (LEqual (Local1, 0x03))
                                    {
                                        ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                        ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                                        ^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
                                        ^^PMI5.SET (One, 0x5E, 0x24, One)
                                        ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                        ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
                                        ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                                        Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                                        ADBG ("REG05")
                                        ADBG (Local0)
                                        If (LEqual (RGND, Zero))
                                        {
                                            ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                            ^^PMI5.SET (One, 0x5E, 0x26, Zero)
                                            ^^PMI5.SET (One, 0x5E, 0x27, 0x3D)
                                            ^^PMI5.SET (One, 0x5E, 0x24, One)
                                        }

                                        ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
                                        ^^PMI5.SET (One, 0x5E, 0x26, Zero)
                                        ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
                                        Store (^^PMI5.GET (One, 0x5E, 0x28), Local0)
                                        ADBG ("CDP")
                                        ADBG (Local0)
                                        Return (0x04)
                                    }
                                    Else
                                    {
                                        If (LEqual (Local1, 0x08))
                                        {
                                            ADBG ("OTG")
                                            Return (0x05)
                                        }
                                        Else
                                        {
                                            Return (Zero)
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                Return (One)
            }
        }
    }

    Scope (_SB)
    {
        Device (ADP1)
        {
            Name (_HID, "ACPI0003")  // _HID: Hardware ID
            Method (_PSR, 0, Serialized)  // _PSR: Power Source
            {
                ADBG ("ADP1 _PSR")
                If (LEqual (BDID, 0x08))
                {
                    ADBG ("ADP1 _PSR FFD")
                    If (CondRefOf (\_SB.PCI0.I2C7.BATC, Local1))
                    {
                        Store (^^PCI0.I2C7.BATC.PSRC (), Local0)
                        If (LEqual (Local0, Zero))
                        {
                            ADBG ("DC")
                            Return (Zero)
                        }
                        Else
                        {
                            ADBG ("AC")
                            Return (One)
                        }
                    }
                }

                If (LOr (LEqual (BDID, 0x09), LEqual (BDID, 0x0A)))
                {
                    ADBG ("ADP1 _PSR FFD HR")
                    If (CondRefOf (\_SB.PCI0.I2C7.WIDR, Local1))
                    {
                        Store (^^PCI0.I2C7.WIDR.PSRC (), Local0)
                        If (LEqual (Local0, Zero))
                        {
                            ADBG ("DC")
                            Return (Zero)
                        }
                        Else
                        {
                            ADBG ("AC")
                            Return (One)
                        }
                    }
                }

                If (LEqual (BDID, One))
                {
                    ADBG ("ADP1 _PSR CHTCR")
                    If (LEqual (PMID, 0x02))
                    {
                        If (CondRefOf (\_SB.PCI0.I2C7.BMDR, Local1))
                        {
                            Store (^^PCI0.I2C7.BMDR.PSRC (), Local0)
                            If (LEqual (Local0, Zero))
                            {
                                ADBG ("DC")
                                Return (Zero)
                            }
                            Else
                            {
                                ADBG ("AC")
                                Return (One)
                            }
                        }
                    }
                    Else
                    {
                        If (CondRefOf (\_SB.PCI0.I2C3.TIDR, Local1))
                        {
                            Store (^^PCI0.I2C3.TIDR.PSRC (), Local0)
                            If (LEqual (Local0, Zero))
                            {
                                ADBG ("DC")
                                Return (Zero)
                            }
                            Else
                            {
                                ADBG ("AC")
                                Return (One)
                            }
                        }
                    }
                }
                Else
                {
                    If (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
                    {
                        Store (^^PCI0.I2C1.BATC.PSRC (), Local0)
                        If (LEqual (Local0, Zero))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }
                }

                ADBG ("_PSR DEF")
                Return (One)
            }

            Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
            {
                Return (_SB)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LNotEqual (OSID, One))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }
        }
    }

    Scope (_SB)
    {
        Device (MDM3)
        {
            Name (_HID, EisaId ("MCD0001"))  // _HID: Hardware ID
            Name (_CID, "MCD0001")  // _CID: Compatible ID
            Name (_UID, One)  // _UID: Unique ID
            Name (MDMN, "XMM_7360")
            Name (CONF, "XMM7360_CONF_2")
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (BDID, One))
                {
                    Return (Zero)
                }

                If (LAnd (LNotEqual (OSID, One), LEqual (MODS, Zero)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Name (PMIC, Package (0x04)
            {
                0x29, 
                One, 
                Zero, 
                0xFA
            })
            Name (EPWR, Package (0x02)
            {
                Zero, 
                One
            })
        }

        Device (MDM2)
        {
            Name (_HID, EisaId ("MCD0001"))  // _HID: Hardware ID
            Name (_CID, "MCD0001")  // _CID: Compatible ID
            Name (CPU, "CherryView")
            Name (MDMN, "XMM_7260")
            Name (CONF, "XMM7260_CONF_3")
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (UBUF, ResourceTemplate ()
                {
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0013
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0006
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0002
                        }
                })
                Return (UBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (BDID, One))
                {
                    Return (Zero)
                }

                If (LAnd (LNotEqual (OSID, One), LEqual (MODS, One)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Name (PMIC, Package (0x04)
            {
                0x29, 
                One, 
                Zero, 
                0xFC
            })
            Name (EPWR, Package (0x02)
            {
                Zero, 
                One
            })
        }

        Device (MDM)
        {
            Name (_HID, EisaId ("MCD0001"))  // _HID: Hardware ID
            Name (_CID, "MCD0001")  // _CID: Compatible ID
            Name (CPU, "CherryView")
            Name (MDMN, "XMM_7260")
            Name (CONF, "XMM7260_CONF_7")
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (UBUF, ResourceTemplate ()
                {
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0013
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0006
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0002
                        }
                })
                Return (UBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (BDID, One))
                {
                    Return (Zero)
                }

                If (LAnd (LNotEqual (OSID, One), LEqual (MODS, 0x02)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Name (PMIC, Package (0x04)
            {
                0x29, 
                One, 
                Zero, 
                0xFC
            })
            Name (EPWR, Package (0x02)
            {
                Zero, 
                One
            })
        }

        Device (MDM4)
        {
            Name (_HID, EisaId ("MCD0001"))  // _HID: Hardware ID
            Name (_CID, "MCD0001")  // _CID: Compatible ID
            Name (CPU, "CherryView")
            Name (MDMN, "XMM_7160")
            Name (CONF, "XMM7160_CONF_9")
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (UBUF, ResourceTemplate ()
                {
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0006
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0016
                        }
                    GpioIo (Exclusive, PullUp, 0x0001, 0x0001, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0006
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0002
                        }
                })
                Return (UBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LNotEqual (BDID, One))
                {
                    Return (Zero)
                }

                If (LAnd (LOr (LEqual (OSID, 0x02), LEqual (OSID, 0x04)), LEqual (
                    MODS, 0x03)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Name (PMIC, Package (0x04)
            {
                0x29, 
                One, 
                Zero, 
                0xFC
            })
            Name (EPWR, Package (0x02)
            {
                Zero, 
                One
            })
        }

        Device (MDM5)
        {
            Name (_HID, EisaId ("MCD0001"))  // _HID: Hardware ID
            Name (_CID, "MCD0001")  // _CID: Compatible ID
            Name (CPU, "CherryView")
            Name (MDMN, "XMM_7260")
            Name (CONF, "XMM7260_CONF_13")
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (UBUF, ResourceTemplate ()
                {
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO3", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0006
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0016
                        }
                    GpioIo (Exclusive, PullUp, 0x0001, 0x0001, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0006
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0002
                        }
                })
                Name (RBUF, ResourceTemplate ()
                {
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                    GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0007
                        }
                    GpioIo (Exclusive, PullUp, 0x0001, 0x0001, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0006
                        }
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0002
                        }
                })
                If (LEqual (BDID, One))
                {
                    Return (UBUF)
                }

                Return (RBUF)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LAnd (LAnd (LNotEqual (BDID, 0x09), LNotEqual (BDID, 
                    0x0A)), LNotEqual (BDID, One)))
                {
                    Return (Zero)
                }

                If (LAnd (LOr (LEqual (OSID, 0x02), LEqual (OSID, 0x04)), LEqual (
                    MODS, 0x04)))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Name (PMIC, Package (0x04)
            {
                0x29, 
                One, 
                Zero, 
                0xFC
            })
            Name (EPWR, Package (0x02)
            {
                Zero, 
                One
            })
        }
    }

    Scope (_GPE)
    {
        Method (_L09, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
        {
            If (LAnd (LNotEqual (BDID, One), LNotEqual (OSID, One)))
            {
                If (LEqual (RP1D, Zero))
                {
                    \_SB.PCI0.RP01.HPME ()
                    Notify (\_SB.PCI0.RP01, 0x02)
                }

                If (LEqual (RP2D, Zero))
                {
                    \_SB.PCI0.RP02.HPME ()
                    Notify (\_SB.PCI0.RP02, 0x02)
                }

                If (LEqual (RP3D, Zero))
                {
                    \_SB.PCI0.RP03.HPME ()
                    Notify (\_SB.PCI0.RP03, 0x02)
                }

                If (LEqual (RP4D, Zero))
                {
                    \_SB.PCI0.RP04.HPME ()
                    Notify (\_SB.PCI0.RP04, 0x02)
                }
            }
        }
    }

    Device (_SB.TPM)
    {
        Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
        {
            If (TCMF)
            {
                Return (0x01013469)
            }
            Else
            {
                If (LEqual (TTDP, Zero))
                {
                    Return (0x310CD041)
                }
                Else
                {
                    Return ("MSFT0101")
                }
            }
        }

        Method (_STR, 0, NotSerialized)  // _STR: Description String
        {
            If (LEqual (TTDP, Zero))
            {
                Return (Unicode ("TPM 1.2 Device"))
            }
            Else
            {
                Return (Unicode ("TPM 2.0 Device"))
            }
        }

        Name (_UID, One)  // _UID: Unique ID
        Name (CRST, ResourceTemplate ()
        {
            Memory32Fixed (ReadOnly,
                0x00000000,         // Address Base
                0x00001000,         // Address Length
                _Y3A)
            Memory32Fixed (ReadOnly,
                0xFED70000,         // Address Base
                0x00001000,         // Address Length
                _Y3B)
        })
        Name (CRSD, ResourceTemplate ()
        {
            Memory32Fixed (ReadOnly,
                0xFED40000,         // Address Base
                0x00001000,         // Address Length
                _Y3C)
        })
        Name (CRSI, ResourceTemplate ()
        {
            Memory32Fixed (ReadOnly,
                0xFED40000,         // Address Base
                0x00001000,         // Address Length
                _Y3D)
        })
        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
        {
            If (LEqual (AMDT, One))
            {
                CreateDWordField (CRST, \_SB.TPM._Y3A._BAS, MTFB)  // _BAS: Base Address
                CreateDWordField (CRST, \_SB.TPM._Y3A._LEN, LTFB)  // _LEN: Length
                Store (TPMB, MTFB)
                Store (0x1000, LTFB)
                CreateDWordField (CRST, \_SB.TPM._Y3B._BAS, MTFC)  // _BAS: Base Address
                CreateDWordField (CRST, \_SB.TPM._Y3B._LEN, LTFC)  // _LEN: Length
                Store (TPMC, MTFC)
                Store (0x1000, LTFC)
                Return (CRST)
            }
            Else
            {
                If (LEqual (DTPT, One))
                {
                    CreateDWordField (CRSD, \_SB.TPM._Y3C._BAS, MTFE)  // _BAS: Base Address
                    CreateDWordField (CRSD, \_SB.TPM._Y3C._LEN, LTFE)  // _LEN: Length
                    Store (0xFED40000, MTFE)
                    Store (0x0880, LTFE)
                    Return (CRSD)
                }
                Else
                {
                    If (LEqual (TTPF, One))
                    {
                        CreateDWordField (CRSI, \_SB.TPM._Y3D._BAS, MTFD)  // _BAS: Base Address
                        CreateDWordField (CRSI, \_SB.TPM._Y3D._LEN, LTFD)  // _LEN: Length
                        Store (0xFED40000, MTFD)
                        Store (0x5000, LTFD)
                        Return (CRSI)
                    }
                    Else
                    {
                        If (LEqual (TTPF, Zero))
                        {
                            CreateDWordField (CRSI, \_SB.TPM._Y3D._BAS, MTFF)  // _BAS: Base Address
                            Store (TPMM, MTFF)
                            Return (CRSI)
                        }
                    }
                }

                Store (Zero, MTFE)
                Store (Zero, LTFE)
                Return (CRSI)
            }
        }

        OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x5000)
        Field (TMMB, ByteAcc, Lock, Preserve)
        {
            Offset (0x04), 
            LCST,   32, 
            Offset (0x40), 
            CREQ,   32, 
            CSTS,   32, 
            Offset (0x4C), 
            SCMD,   32
        }

        OperationRegion (CRBD, SystemMemory, TPMM, 0x48)
        Field (CRBD, AnyAcc, NoLock, Preserve)
        {
            Offset (0x04), 
            HERR,   32, 
            Offset (0x40), 
            HCMD,   32, 
            HSTS,   32
        }

        OperationRegion (TICR, SystemMemory, 0xE00D0000, 0x0100)
        Field (TICR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x8C), 
            STAT,   32
        }

        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            If (LEqual (TTDP, Zero))
            {
                If (TPMF)
                {
                    Return (0x0F)
                }

                Return (Zero)
            }
            Else
            {
                If (LEqual (TTDP, One))
                {
                    If (TPMF)
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }
            }

            Return (Zero)
        }

        Method (STRT, 3, Serialized)
        {
            Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
            OperationRegion (TPMR, SystemMemory, FTPM, 0x1000)
            Field (TPMR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x04), 
                FERR,   32, 
                Offset (0x0C), 
                BEGN,   32
            }

            Name (TIMR, Zero)
            While (One)
            {
                Store (ToInteger (Arg1), _T_0)
                If (LEqual (_T_0, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03
                    })
                }
                Else
                {
                    If (LEqual (_T_0, One))
                    {
                        Store (One, STAT)
                        Return (Zero)
                    }
                }

                Break
            }

            Return (One)
        }

        Method (CRYF, 3, Serialized)
        {
            Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
            While (One)
            {
                Store (ToInteger (Arg1), _T_0)
                If (LEqual (_T_0, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03
                    })
                }
                Else
                {
                    If (LEqual (_T_0, One))
                    {
                        Name (TPMV, Package (0x02)
                        {
                            One, 
                            Package (0x02)
                            {
                                One, 
                                0x20
                            }
                        })
                        If (LEqual (_STA (), Zero))
                        {
                            Return (Package (0x01)
                            {
                                Zero
                            })
                        }

                        Return (TPMV)
                    }
                }

                Break
            }

            Return (Buffer (One)
            {
                 0x00
            })
        }
    }

    Scope (_SB.TPM)
    {
        OperationRegion (TSMI, SystemIO, SMIA, 0x02)
        Field (TSMI, WordAcc, NoLock, Preserve)
        {
            SMI,    16
        }

        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
        {
            Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
            Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
            If (LEqual (Arg0, Buffer (0x10)
                    {
                        /* 0000 */   0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E,
                        /* 0008 */   0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
                    }))
            {
                While (One)
                {
                    Store (ToInteger (Arg2), _T_0)
                    If (LEqual (_T_0, Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x01
                        })
                    }
                    Else
                    {
                        If (LEqual (_T_0, One))
                        {
                            Return ("1.2")
                        }
                        Else
                        {
                            If (LEqual (_T_0, 0x02))
                            {
                                ToInteger (DerefOf (Index (Arg3, Zero)), TMF2)
                                Store (OFST, TMF1)
                                Or (0x1200, TMF1, TMF1)
                                Store (TMF1, SMI)
                                Store (SMI, TMF1)
                                ShiftRight (TMF1, 0x08, TMF1)
                                If (LEqual (TMF1, 0xFF))
                                {
                                    Return (0x02)
                                }

                                ShiftLeft (TMF2, 0x08, TMF2)
                                Or (OFST, TMF2, TMF2)
                                Store (TMF2, SMI)
                                Store (SMI, TMF1)
                                ShiftRight (TMF1, 0x08, TMF1)
                                If (LEqual (TMF1, 0xFF))
                                {
                                    Return (0x02)
                                }

                                If (LEqual (TMF1, 0xFF))
                                {
                                    Return (One)
                                }

                                Return (Zero)
                            }
                            Else
                            {
                                If (LEqual (_T_0, 0x03))
                                {
                                    Name (PPI1, Package (0x02)
                                    {
                                        Zero, 
                                        Zero
                                    })
                                    Store (OFST, TMF1)
                                    Or (0x1100, TMF1, TMF1)
                                    Store (TMF1, SMI)
                                    Store (SMI, TMF1)
                                    ShiftRight (TMF1, 0x08, TMF1)
                                    If (LEqual (TMF1, 0xFF))
                                    {
                                        Return (One)
                                    }

                                    Store (TMF1, Index (PPI1, One))
                                    Return (PPI1)
                                }
                                Else
                                {
                                    If (LEqual (_T_0, 0x04))
                                    {
                                        Return (TRST)
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, 0x05))
                                        {
                                            Name (PPI2, Package (0x03)
                                            {
                                                Zero, 
                                                Zero, 
                                                Zero
                                            })
                                            Store (OFST, TMF1)
                                            Or (0x2100, TMF1, TMF1)
                                            Store (TMF1, SMI)
                                            Store (SMI, TMF1)
                                            ShiftRight (TMF1, 0x08, TMF1)
                                            If (LEqual (TMF1, 0xFF))
                                            {
                                                Return (0x02)
                                            }

                                            Store (TMF1, Index (PPI2, One))
                                            Store (OFST, TMF1)
                                            Or (0x3100, TMF1, TMF1)
                                            Store (TMF1, SMI)
                                            Store (SMI, TMF1)
                                            ShiftRight (TMF1, 0x08, TMF1)
                                            If (LEqual (TMF1, 0xFF))
                                            {
                                                Return (0x02)
                                            }

                                            If (LEqual (TMF1, 0xF0))
                                            {
                                                Store (OFST, TMF1)
                                                Or (0x5100, TMF1, TMF1)
                                                Store (TMF1, SMI)
                                                Store (SMI, TMF1)
                                                ShiftRight (TMF1, 0x08, TMF1)
                                                If (LEqual (TMF1, 0xFF))
                                                {
                                                    Store (0xFFFFFFF0, Index (PPI2, 0x02))
                                                    Return (PPI2)
                                                }
                                            }
                                            Else
                                            {
                                                If (LEqual (TMF1, 0xF1))
                                                {
                                                    Store (OFST, TMF1)
                                                    Or (0x5100, TMF1, TMF1)
                                                    Store (TMF1, SMI)
                                                    Store (SMI, TMF1)
                                                    ShiftRight (TMF1, 0x08, TMF1)
                                                    If (LEqual (TMF1, 0xFF))
                                                    {
                                                        Store (0xFFFFFFF1, Index (PPI2, 0x02))
                                                        Return (PPI2)
                                                    }
                                                }
                                                Else
                                                {
                                                    Store (TMF1, Index (PPI2, 0x02))
                                                }
                                            }

                                            Return (PPI2)
                                        }
                                        Else
                                        {
                                            If (LEqual (_T_0, 0x06))
                                            {
                                                Return (0x03)
                                            }
                                            Else
                                            {
                                                If (LEqual (_T_0, 0x07))
                                                {
                                                    ToInteger (DerefOf (Index (Arg3, Zero)), TMF2)
                                                    Store (OFST, TMF1)
                                                    Or (0x1200, TMF1, TMF1)
                                                    Store (TMF1, SMI)
                                                    Store (SMI, TMF1)
                                                    ShiftRight (TMF1, 0x08, TMF1)
                                                    If (LEqual (TMF1, 0xFF))
                                                    {
                                                        Return (0x02)
                                                    }

                                                    ShiftLeft (TMF2, 0x08, TMF2)
                                                    Or (OFST, TMF2, TMF2)
                                                    Store (TMF2, SMI)
                                                    Store (SMI, TMF1)
                                                    ShiftRight (TMF1, 0x08, TMF1)
                                                    If (LEqual (TMF1, 0xFF))
                                                    {
                                                        Return (0x02)
                                                    }

                                                    If (LEqual (TMF1, 0xF1))
                                                    {
                                                        Return (One)
                                                    }

                                                    Return (Zero)
                                                }
                                                Else
                                                {
                                                    If (LEqual (_T_0, 0x08))
                                                    {
                                                        ToInteger (DerefOf (Index (Arg3, Zero)), TMF2)
                                                        Store (OFST, TMF1)
                                                        Or (0x4300, TMF1, TMF1)
                                                        Store (TMF1, SMI)
                                                        Store (SMI, TMF1)
                                                        ShiftLeft (TMF2, 0x08, TMF2)
                                                        Or (OFST, TMF2, TMF2)
                                                        Store (TMF2, SMI)
                                                        Store (SMI, TMF1)
                                                        ShiftRight (TMF1, 0x08, TMF1)
                                                        Return (TMF1)
                                                    }
                                                    Else
                                                    {
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }

                    Break
                }
            }
            Else
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */   0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46,
                            /* 0008 */   0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
                        }))
                {
                    While (One)
                    {
                        Store (ToInteger (Arg2), _T_1)
                        If (LEqual (_T_1, Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03
                            })
                        }
                        Else
                        {
                            If (LEqual (_T_1, One))
                            {
                                Store (OFST, TMF1)
                                Or (0x2200, TMF1, TMF1)
                                Store (TMF1, SMI)
                                Store (SMI, TMF1)
                                ShiftRight (TMF1, 0x08, TMF1)
                                If (LEqual (TMF1, 0xFF))
                                {
                                    Return (0x02)
                                }

                                ToInteger (DerefOf (Index (Arg3, Zero)), TMF1)
                                ShiftLeft (TMF1, 0x08, TMF1)
                                Or (OFST, TMF1, TMF1)
                                Store (TMF1, SMI)
                                Store (SMI, TMF1)
                                ShiftRight (TMF1, 0x08, TMF1)
                                If (LEqual (TMF1, 0xFF))
                                {
                                    Return (0x02)
                                }

                                Return (Zero)
                            }
                            Else
                            {
                            }
                        }

                        Break
                    }
                }
            }

            If (LEqual (Arg0, Buffer (0x10)
                    {
                        /* 0000 */   0xA5, 0x16, 0x8E, 0xCF, 0xE8, 0xC1, 0x25, 0x4E,
                        /* 0008 */   0xB7, 0x12, 0x4F, 0x54, 0xA9, 0x67, 0x02, 0xC8
                    }))
            {
                Return (CRYF (Arg1, Arg2, Arg3))
            }

            If (LEqual (Arg0, Buffer (0x10)
                    {
                        /* 0000 */   0xAB, 0x6C, 0xBF, 0x6B, 0x63, 0x54, 0x14, 0x47,
                        /* 0008 */   0xB7, 0xCD, 0xF0, 0x20, 0x3C, 0x03, 0x68, 0xD4
                    }))
            {
                Return (STRT (Arg1, Arg2, Arg3))
            }

            Return (Buffer (One)
            {
                 0x00
            })
        }

        Method (TPTS, 1, NotSerialized)
        {
        }
    }
}

