Attachment 'acpidump.txt'

Download

   1 /*
   2   RSD PTR: OEM=INSYDE, ACPI_Rev=2.0x (2)
   3 	XSDT=0x000000007cdcd188, length=36, cksum=43
   4  */
   5 /*
   6   XSDT: Length=188, Revision=1, Checksum=6,
   7 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x3,
   8 	Creator ID=, Creator Revision=0x1000013
   9 	Entries={ 0x000000007cdf0000, 0x000000007cdf5000, 0x000000007cdf3000, 0x000000007cdf2000, 0x000000007cdf1000, 0x000000007cdef000, 0x000000007cdee000, 0x000000007cded000, 0x000000007cdec000, 0x000000007cdeb000, 0x000000007cdd9000, 0x000000007cdd8000, 0x000000007cdd7000, 0x000000007cdd6000, 0x000000007cdd5000, 0x000000007cdd4000, 0x000000007cdd3000, 0x000000007cdd2000, 0x000000007cdea000 }
  10  */
  11 /*
  12   FACP: Length=268, Revision=5, Checksum=147,
  13 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x3,
  14 	Creator ID=ACPI, Creator Revision=0x40000
  15  	FACS=0x7cdb5000, DSDT=0x7cdda000
  16 	INT_MODEL=APIC
  17 	Preferred_PM_Profile=Reserved (8)
  18 	SCI_INT=9
  19 	SMI_CMD=0xb2, ACPI_ENABLE=0x0, ACPI_DISABLE=0x0, S4BIOS_REQ=0x0
  20 	PSTATE_CNT=0x0
  21 	PM1a_EVT_BLK=0x400-0x403
  22 	PM1a_CNT_BLK=0x404-0x405
  23 	PM2_CNT_BLK=0x450-0x450
  24 	PM_TMR_BLK=0x408-0x40b
  25 	P_LVL2_LAT=0 us, P_LVL3_LAT=0 us
  26 	FLUSH_SIZE=1024, FLUSH_STRIDE=16
  27 	DUTY_OFFSET=1, DUTY_WIDTH=3
  28 	DAY_ALRM=13, MON_ALRM=0, CENTURY=50
  29 	IAPC_BOOT_ARCH={NO_VGA}
  30 	Flags={WBINVD,SLEEP_BUTTON,RESET_REGISTER,LOW_POWER_S0}
  31 	RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0xe
  32  */
  33 /*
  34   FACS:	Length=64, HwSig=0xfb9b2177, Firm_Wake_Vec=0x00000000
  35 	Global_Lock=
  36 	Flags=
  37 	Version=2
  38  */
  39 /*
  40   DSDT: Length=61451, Revision=2, Checksum=182,
  41 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x3,
  42 	Creator ID=ACPI, Creator Revision=0x40000
  43  */
  44 /*
  45   UEFI: Length=566, Revision=1, Checksum=1,
  46 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x1,
  47 	Creator ID=ACPI, Creator Revision=0x40000
  48  */
  49 /*
  50   UEFI: Length=66, Revision=1, Checksum=83,
  51 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x0,
  52 	Creator ID=ACPI, Creator Revision=0x40000
  53  */
  54 /*
  55   OEM0: Length=132, Revision=5, Checksum=17,
  56 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x3,
  57 	Creator ID=ACPI, Creator Revision=0x40000
  58  */
  59 /*
  60   DBG2: Length=114, Revision=0, Checksum=39,
  61 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x3,
  62 	Creator ID=ACPI, Creator Revision=0x40000
  63  */
  64 /*
  65   HPET: Length=56, Revision=1, Checksum=163,
  66 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x3,
  67 	Creator ID=ACPI, Creator Revision=0x40000
  68 	HPET Number=0
  69 	ADDR=0x00000000fed00000:0[64] (Memory)	HW Rev=0x1
  70 	Comparators=2
  71 	Counter Size=1
  72 	Legacy IRQ routing capable={TRUE}
  73 	PCI Vendor ID=0x8086
  74 	Minimal Tick=128
  75 	Flags=0x00
  76  */
  77 /*
  78   LPIT: Length=260, Revision=1, Checksum=55,
  79 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x3,
  80 	Creator ID=ACPI, Creator Revision=0x40000
  81 
  82 	Type=ACPI_LPIT_TYPE_NATIVE_CSTATE
  83 	Length=56
  84 	UniqueId=0x0000
  85 	Flags=
  86 	EntryTrigger=0x0000000000000064 (?)	Residency=15000
  87 	Latency=5000
  88 	ResidencyCounter=0xfed03080:0[32] (Memory)	CounterFrequency=32768
  89 
  90 	Type=ACPI_LPIT_TYPE_NATIVE_CSTATE
  91 	Length=56
  92 	UniqueId=0x0001
  93 	Flags=
  94 	EntryTrigger=0x0000000000000064 (?)	Residency=15000
  95 	Latency=5000
  96 	ResidencyCounter=0xfed03084:0[32] (Memory)	CounterFrequency=32768
  97 
  98 	Type=ACPI_LPIT_TYPE_NATIVE_CSTATE
  99 	Length=56
 100 	UniqueId=0x0002
 101 	Flags=
 102 	EntryTrigger=0x0000000000000064 (?)	Residency=15000
 103 	Latency=5000
 104 	ResidencyCounter=0xfed03088:0[32] (Memory)	CounterFrequency=32768
 105 
 106 	Type=ACPI_LPIT_TYPE_NATIVE_CSTATE
 107 	Length=56
 108 	UniqueId=0x0003
 109 	Flags=
 110 	EntryTrigger=0x0000000000000064 (?)	Residency=15000
 111 	Latency=5000
 112 	ResidencyCounter=0xfed0308c:0[32] (Memory)	CounterFrequency=32768
 113  */
 114 /*
 115   APIC: Length=108, Revision=3, Checksum=153,
 116 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x3,
 117 	Creator ID=ACPI, Creator Revision=0x40000
 118 	Local APIC ADDR=0xfee00000
 119 	Flags={PC-AT}
 120 
 121 	Type=Local APIC
 122 	ACPI CPU=1
 123 	Flags={ENABLED}
 124 	APIC ID=0
 125 
 126 	Type=Local APIC
 127 	ACPI CPU=2
 128 	Flags={ENABLED}
 129 	APIC ID=2
 130 
 131 	Type=Local APIC
 132 	ACPI CPU=3
 133 	Flags={ENABLED}
 134 	APIC ID=4
 135 
 136 	Type=Local APIC
 137 	ACPI CPU=4
 138 	Flags={ENABLED}
 139 	APIC ID=6
 140 
 141 	Type=IO APIC
 142 	APIC ID=2
 143 	INT BASE=0
 144 	ADDR=0x00000000fec00000
 145 
 146 	Type=INT Override
 147 	BUS=0
 148 	IRQ=0
 149 	INTR=2
 150 	Flags={Polarity=conforming, Trigger=conforming}
 151 
 152 	Type=INT Override
 153 	BUS=0
 154 	IRQ=9
 155 	INTR=9
 156 	Flags={Polarity=active-hi, Trigger=level}
 157  */
 158 /*
 159   MCFG: Length=60, Revision=1, Checksum=203,
 160 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x3,
 161 	Creator ID=ACPI, Creator Revision=0x40000
 162 
 163 	Base Address=0x00000000e0000000
 164 	Segment Group=0x0000
 165 	Start Bus=0
 166 	End Bus=63
 167  */
 168 /*
 169   SLIC: Length=374, Revision=1, Checksum=31,
 170 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x3,
 171 	Creator ID=ACPI, Creator Revision=0x40000
 172  */
 173 /*
 174   SSDT: Length=1891, Revision=1, Checksum=244,
 175 	OEMID=INSYDE, OEM Table ID=CpuPm, OEM Revision=0x3000,
 176 	Creator ID=ACPI, Creator Revision=0x40000
 177  */
 178 /*
 179   SSDT: Length=656, Revision=1, Checksum=122,
 180 	OEMID=INSYDE, OEM Table ID=Cpu0Tst, OEM Revision=0x3000,
 181 	Creator ID=ACPI, Creator Revision=0x40000
 182  */
 183 /*
 184   SSDT: Length=378, Revision=1, Checksum=209,
 185 	OEMID=INSYDE, OEM Table ID=ApTst, OEM Revision=0x3000,
 186 	Creator ID=ACPI, Creator Revision=0x40000
 187  */
 188 /*
 189   EM_1: Length=41, Revision=0, Checksum=247,
 190 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x5,
 191 	Creator ID=ACPI, Creator Revision=0x40000
 192  */
 193 /*
 194   OEM1: Length=64, Revision=1, Checksum=24,
 195 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x5,
 196 	Creator ID=ACPI, Creator Revision=0x40000
 197  */
 198 /*
 199   PIDV: Length=220, Revision=2, Checksum=37,
 200 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x2,
 201 	Creator ID=ACPI, Creator Revision=0x40000
 202  */
 203 /*
 204   RSCI: Length=44, Revision=0, Checksum=228,
 205 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x0,
 206 	Creator ID=ACPI, Creator Revision=0x40000
 207  */
 208 /*
 209   FPDT: Length=68, Revision=1, Checksum=51,
 210 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x2,
 211 	Creator ID=ACPI, Creator Revision=0x40000
 212  */
 213 /*
 214   CSRT: Length=332, Revision=0, Checksum=105,
 215 	OEMID=INSYDE, OEM Table ID=INSYDE, OEM Revision=0x5,
 216 	Creator ID=ACPI, Creator Revision=0x40000
 217  */
 218 /*
 219  * Intel ACPI Component Architecture
 220  * AML/ASL+ Disassembler version 20190509 (64-bit version)
 221  * Copyright (c) 2000 - 2019 Intel Corporation
 222  * 
 223  * Disassembling to symbolic ASL+ operators
 224  *
 225  * Disassembly of /tmp/acpidump.IM363f/acpdump.din, Tue Jul 16 19:59:27 2019
 226  *
 227  * Original Table Header:
 228  *     Signature        "DSDT"
 229  *     Length           0x0000FB0C (64268)
 230  *     Revision         0x02
 231  *     Checksum         0xD8
 232  *     OEM ID           "INSYDE"
 233  *     OEM Table ID     "INSYDE"
 234  *     OEM Revision     0x00000003 (3)
 235  *     Compiler ID      "ACPI"
 236  *     Compiler Version 0x00040000 (262144)
 237  */
 238 DefinitionBlock ("", "DSDT", 2, "INSYDE", "INSYDE", 0x00000003)
 239 {
 240     /*
 241      * iASL Warning: There were 2 external control methods found during
 242      * disassembly, but only 0 were resolved (2 unresolved). Additional
 243      * ACPI tables may be required to properly disassemble the code. This
 244      * resulting disassembler output file may not compile because the
 245      * disassembler did not know how many arguments to assign to the
 246      * unresolved methods. Note: SSDTs can be dynamically loaded at
 247      * runtime and may or may not be available via the host OS.
 248      *
 249      * To specify the tables needed to resolve external control method
 250      * references, the -e option can be used to specify the filenames.
 251      * Example iASL invocations:
 252      *     iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
 253      *     iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
 254      *     iasl -e ssdt*.aml -d dsdt.aml
 255      *
 256      * In addition, the -fe option can be used to specify a file containing
 257      * control method external declarations with the associated method
 258      * argument counts. Each line of the file must be of the form:
 259      *     External (<method pathname>, MethodObj, <argument count>)
 260      * Invocation:
 261      *     iasl -fe refs.txt -d dsdt.aml
 262      *
 263      * The following methods were unresolved and many not compile properly
 264      * because the disassembler had to guess at the number of arguments
 265      * required for each:
 266      */
 267     External (_PR_.CPU0._PPC, UnknownObj)
 268     External (_PSS, IntObj)
 269     External (_SB_.PCI0.LPCB.TPM_.PTS_, MethodObj)    // Warning: Unknown method, guessing 1 arguments
 270     External (DPTF, UnknownObj)
 271     External (NDN3, MethodObj)    // Warning: Unknown method, guessing 1 arguments
 272     External (TCH1, UnknownObj)
 273     External (TCH2, UnknownObj)
 274 
 275     Method (ADBG, 1, Serialized)
 276     {
 277         Return (Zero)
 278     }
 279 
 280     Name (SP3O, 0x2E)
 281     Name (IO4B, 0x0A20)
 282     Name (IO4L, 0x20)
 283     Name (SP1O, 0x4E)
 284     Name (PMBS, 0x0400)
 285     Name (SMIP, 0xB2)
 286     Name (GPBS, 0x0500)
 287     Name (APCB, 0xFEC00000)
 288     Name (APCL, 0x1000)
 289     Name (PFDR, 0xFED03034)
 290     Name (PMCB, 0xFED03000)
 291     Name (PCLK, 0xFED03060)
 292     Name (PUNB, 0xFED05000)
 293     Name (IBAS, 0xFED08000)
 294     Name (SRCB, 0xFED1C000)
 295     Name (SRCL, 0x1000)
 296     Name (HPTB, 0xFED00000)
 297     Name (MCHB, 0xFED14000)
 298     Name (MCHL, 0x4000)
 299     Name (EGPB, 0xFED19000)
 300     Name (EGPL, 0x1000)
 301     Name (DMIB, 0xFED18000)
 302     Name (DMIL, 0x1000)
 303     Name (IFPB, 0xFED14000)
 304     Name (IFPL, 0x1000)
 305     Name (PEBS, 0xE0000000)
 306     Name (PELN, 0x10000000)
 307     Name (FMBL, One)
 308     Name (FDTP, 0x02)
 309     Name (GCDD, One)
 310     Name (DSTA, 0x0A)
 311     Name (DSLO, 0x02)
 312     Name (DSLC, 0x03)
 313     Name (PITS, 0x10)
 314     Name (SBCS, 0x12)
 315     Name (SALS, 0x13)
 316     Name (LSSS, 0x2A)
 317     Name (PSSS, 0x2B)
 318     Name (SOOT, 0x35)
 319     Name (ESCS, 0x48)
 320     Name (SDGV, 0x1C)
 321     Name (ACPH, 0xDE)
 322     Name (ASSB, Zero)
 323     Name (AOTB, Zero)
 324     Name (AAXB, Zero)
 325     Name (PEHP, One)
 326     Name (SHPC, Zero)
 327     Name (PEPM, One)
 328     Name (PEER, One)
 329     Name (PECS, One)
 330     Name (FTBL, 0x04)
 331     OperationRegion (GNVS, SystemMemory, 0x7CD6CA98, 0x0335)
 332     Field (GNVS, AnyAcc, Lock, Preserve)
 333     {
 334         OSYS,   16, 
 335         SMIF,   8, 
 336         PRM0,   8, 
 337         PRM1,   8, 
 338         SCIF,   8, 
 339         PRM2,   8, 
 340         PRM3,   8, 
 341         LCKF,   8, 
 342         PRM4,   8, 
 343         PRM5,   8, 
 344         P80D,   32, 
 345         LIDS,   8, 
 346         PWRS,   8, 
 347         DBGS,   8, 
 348         THOF,   8, 
 349         Offset (0x15), 
 350         PSVT,   8, 
 351         TC1V,   8, 
 352         TC2V,   8, 
 353         TSPV,   8, 
 354         CRTT,   8, 
 355         DTSE,   8, 
 356         DTS1,   8, 
 357         DTS2,   8, 
 358         DTSF,   8, 
 359         BNUM,   8, 
 360         B0SC,   8, 
 361         B1SC,   8, 
 362         B2SC,   8, 
 363         B0SS,   8, 
 364         B1SS,   8, 
 365         B2SS,   8, 
 366         Offset (0x28), 
 367         APIC,   8, 
 368         MPEN,   8, 
 369         PCP0,   8, 
 370         PCP1,   8, 
 371         PPCM,   8, 
 372         PPMF,   32, 
 373         Offset (0x32), 
 374         NATP,   8, 
 375         CMAP,   8, 
 376         CMBP,   8, 
 377         LPTP,   8, 
 378         FDCP,   8, 
 379         CMCP,   8, 
 380         CIRP,   8, 
 381         W381,   8, 
 382         NPCE,   8, 
 383         Offset (0x3C), 
 384         IGDS,   8, 
 385         TLST,   8, 
 386         CADL,   8, 
 387         PADL,   8, 
 388         CSTE,   16, 
 389         NSTE,   16, 
 390         SSTE,   16, 
 391         NDID,   8, 
 392         DID1,   32, 
 393         DID2,   32, 
 394         DID3,   32, 
 395         DID4,   32, 
 396         DID5,   32, 
 397         KSV0,   32, 
 398         KSV1,   8, 
 399         Offset (0x67), 
 400         BLCS,   8, 
 401         BRTL,   8, 
 402         ALSE,   8, 
 403         ALAF,   8, 
 404         LLOW,   8, 
 405         LHIH,   8, 
 406         Offset (0x6E), 
 407         EMAE,   8, 
 408         EMAP,   16, 
 409         EMAL,   16, 
 410         Offset (0x74), 
 411         MEFE,   8, 
 412         DSTS,   8, 
 413         Offset (0x78), 
 414         TPMP,   8, 
 415         TPME,   8, 
 416         MORD,   8, 
 417         TCGP,   8, 
 418         PPRP,   32, 
 419         PPRQ,   8, 
 420         LPPR,   8, 
 421         GTF0,   56, 
 422         GTF2,   56, 
 423         IDEM,   8, 
 424         GTF1,   56, 
 425         Offset (0xAA), 
 426         ASLB,   32, 
 427         IBTT,   8, 
 428         IPAT,   8, 
 429         ITVF,   8, 
 430         ITVM,   8, 
 431         IPSC,   8, 
 432         IBLC,   8, 
 433         IBIA,   8, 
 434         ISSC,   8, 
 435         I409,   8, 
 436         I509,   8, 
 437         I609,   8, 
 438         I709,   8, 
 439         IDMM,   8, 
 440         IDMS,   8, 
 441         IF1E,   8, 
 442         HVCO,   8, 
 443         NXD1,   32, 
 444         NXD2,   32, 
 445         NXD3,   32, 
 446         NXD4,   32, 
 447         NXD5,   32, 
 448         NXD6,   32, 
 449         NXD7,   32, 
 450         NXD8,   32, 
 451         GSMI,   8, 
 452         PAVP,   8, 
 453         Offset (0xE1), 
 454         OSCC,   8, 
 455         NEXP,   8, 
 456         Offset (0xEB), 
 457         DSEN,   8, 
 458         ECON,   8, 
 459         GPIC,   8, 
 460         CTYP,   8, 
 461         L01C,   8, 
 462         VFN0,   8, 
 463         VFN1,   8, 
 464         Offset (0x100), 
 465         NVGA,   32, 
 466         NVHA,   32, 
 467         AMDA,   32, 
 468         DID6,   32, 
 469         DID7,   32, 
 470         DID8,   32, 
 471         Offset (0x14C), 
 472         USEL,   8, 
 473         PU1E,   8, 
 474         PU2E,   8, 
 475         LPE0,   32, 
 476         LPE1,   32, 
 477         LPE2,   32, 
 478         ACST,   8, 
 479         BTST,   8, 
 480         PFLV,   8, 
 481         Offset (0x15F), 
 482         AOAC,   8, 
 483         XHCI,   8, 
 484         PMEN,   8, 
 485         LPEE,   8, 
 486         ISPA,   32, 
 487         ISPD,   8, 
 488         PCIB,   32, 
 489         PCIT,   32, 
 490         D10A,   32, 
 491         D10L,   32, 
 492         D11A,   32, 
 493         D11L,   32, 
 494         P10A,   32, 
 495         P10L,   32, 
 496         P11A,   32, 
 497         P11L,   32, 
 498         P20A,   32, 
 499         P20L,   32, 
 500         P21A,   32, 
 501         P21L,   32, 
 502         U10A,   32, 
 503         U10L,   32, 
 504         U11A,   32, 
 505         U11L,   32, 
 506         U20A,   32, 
 507         U20L,   32, 
 508         U21A,   32, 
 509         U21L,   32, 
 510         SP0A,   32, 
 511         SP0L,   32, 
 512         SP1A,   32, 
 513         SP1L,   32, 
 514         D20A,   32, 
 515         D20L,   32, 
 516         D21A,   32, 
 517         D21L,   32, 
 518         I10A,   32, 
 519         I10L,   32, 
 520         I11A,   32, 
 521         I11L,   32, 
 522         I20A,   32, 
 523         I20L,   32, 
 524         I21A,   32, 
 525         I21L,   32, 
 526         I30A,   32, 
 527         I30L,   32, 
 528         I31A,   32, 
 529         I31L,   32, 
 530         I40A,   32, 
 531         I40L,   32, 
 532         I41A,   32, 
 533         I41L,   32, 
 534         I50A,   32, 
 535         I50L,   32, 
 536         I51A,   32, 
 537         I51L,   32, 
 538         I60A,   32, 
 539         I60L,   32, 
 540         I61A,   32, 
 541         I61L,   32, 
 542         I70A,   32, 
 543         I70L,   32, 
 544         I71A,   32, 
 545         I71L,   32, 
 546         EM0A,   32, 
 547         EM0L,   32, 
 548         EM1A,   32, 
 549         EM1L,   32, 
 550         SI0A,   32, 
 551         SI0L,   32, 
 552         SI1A,   32, 
 553         SI1L,   32, 
 554         SD0A,   32, 
 555         SD0L,   32, 
 556         SD1A,   32, 
 557         SD1L,   32, 
 558         MH0A,   32, 
 559         MH0L,   32, 
 560         MH1A,   32, 
 561         MH1L,   32, 
 562         OSSL,   8, 
 563         Offset (0x294), 
 564         DPTE,   8, 
 565         THM0,   8, 
 566         THM1,   8, 
 567         THM2,   8, 
 568         THM3,   8, 
 569         THM4,   8, 
 570         CHGR,   8, 
 571         DDSP,   8, 
 572         DSOC,   8, 
 573         DPSR,   8, 
 574         DPCT,   32, 
 575         DPPT,   32, 
 576         DGC0,   32, 
 577         DGP0,   32, 
 578         DGC1,   32, 
 579         DGP1,   32, 
 580         DGC2,   32, 
 581         DGP2,   32, 
 582         DGC3,   32, 
 583         DGP3,   32, 
 584         DGC4,   32, 
 585         DGP4,   32, 
 586         DLPM,   8, 
 587         DSC0,   32, 
 588         DSC1,   32, 
 589         DSC2,   32, 
 590         DSC3,   32, 
 591         DSC4,   32, 
 592         DDBG,   8, 
 593         LPOE,   32, 
 594         LPPS,   32, 
 595         LPST,   32, 
 596         LPPC,   32, 
 597         LPPF,   32, 
 598         DPME,   8, 
 599         BCSL,   8, 
 600         NFCS,   8, 
 601         Offset (0x2FC), 
 602         TPMA,   32, 
 603         TPML,   32, 
 604         ITSA,   8, 
 605         S0IX,   8, 
 606         SDMD,   8, 
 607         EMVR,   8, 
 608         BMBD,   32, 
 609         USBM,   8, 
 610         BDID,   8, 
 611         FBID,   8, 
 612         OTGM,   8, 
 613         STEP,   8, 
 614         SOCS,   8, 
 615         AMTE,   8, 
 616         SCPE,   8, 
 617         SARE,   8, 
 618         PSSD,   8, 
 619         EDPV,   8, 
 620         DIDX,   32, 
 621         PAVB,   32, 
 622         PAVL,   32, 
 623         PMID,   8, 
 624         PMIS,   8, 
 625         ADOS,   8, 
 626         MIPS,   8, 
 627         WIFS,   8, 
 628         BTSL,   8, 
 629         GPSS,   8, 
 630         RCAS,   8, 
 631         FCAS,   8, 
 632         CHRS,   8, 
 633         FUES,   8, 
 634         ALSS,   8, 
 635         GYRS,   8, 
 636         ACCS,   8, 
 637         SARS,   8, 
 638         IUCE,   8
 639     }
 640 
 641     Scope (_SB)
 642     {
 643         Device (RTC)
 644         {
 645             Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
 646             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
 647             {
 648                 IO (Decode16,
 649                     0x0070,             // Range Minimum
 650                     0x0070,             // Range Maximum
 651                     0x01,               // Alignment
 652                     0x08,               // Length
 653                     )
 654             })
 655         }
 656 
 657         Device (HPET)
 658         {
 659             Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
 660             Name (_UID, Zero)  // _UID: Unique ID
 661             Method (_STA, 0, NotSerialized)  // _STA: Status
 662             {
 663                 Return (0x0F)
 664             }
 665 
 666             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
 667             {
 668                 Name (RBUF, ResourceTemplate ()
 669                 {
 670                     Memory32Fixed (ReadWrite,
 671                         0xFED00000,         // Address Base
 672                         0x00000400,         // Address Length
 673                         )
 674                     Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
 675                     {
 676                         0x00000008,
 677                     }
 678                 })
 679                 Return (RBUF) /* \_SB_.HPET._CRS.RBUF */
 680             }
 681         }
 682 
 683         Name (PR00, Package (0x12)
 684         {
 685             Package (0x04)
 686             {
 687                 0x0010FFFF, 
 688                 Zero, 
 689                 LNKA, 
 690                 Zero
 691             }, 
 692 
 693             Package (0x04)
 694             {
 695                 0x0011FFFF, 
 696                 Zero, 
 697                 LNKB, 
 698                 Zero
 699             }, 
 700 
 701             Package (0x04)
 702             {
 703                 0x0012FFFF, 
 704                 Zero, 
 705                 LNKC, 
 706                 Zero
 707             }, 
 708 
 709             Package (0x04)
 710             {
 711                 0x0014FFFF, 
 712                 Zero, 
 713                 LNKE, 
 714                 Zero
 715             }, 
 716 
 717             Package (0x04)
 718             {
 719                 0x0015FFFF, 
 720                 Zero, 
 721                 LNKF, 
 722                 Zero
 723             }, 
 724 
 725             Package (0x04)
 726             {
 727                 0x0016FFFF, 
 728                 Zero, 
 729                 LNKG, 
 730                 Zero
 731             }, 
 732 
 733             Package (0x04)
 734             {
 735                 0x0017FFFF, 
 736                 Zero, 
 737                 LNKH, 
 738                 Zero
 739             }, 
 740 
 741             Package (0x04)
 742             {
 743                 0x0018FFFF, 
 744                 Zero, 
 745                 LNKB, 
 746                 Zero
 747             }, 
 748 
 749             Package (0x04)
 750             {
 751                 0x0018FFFF, 
 752                 0x02, 
 753                 LNKD, 
 754                 Zero
 755             }, 
 756 
 757             Package (0x04)
 758             {
 759                 0x0018FFFF, 
 760                 0x03, 
 761                 LNKC, 
 762                 Zero
 763             }, 
 764 
 765             Package (0x04)
 766             {
 767                 0x0018FFFF, 
 768                 One, 
 769                 LNKA, 
 770                 Zero
 771             }, 
 772 
 773             Package (0x04)
 774             {
 775                 0x001AFFFF, 
 776                 Zero, 
 777                 LNKF, 
 778                 Zero
 779             }, 
 780 
 781             Package (0x04)
 782             {
 783                 0x001DFFFF, 
 784                 Zero, 
 785                 LNKH, 
 786                 Zero
 787             }, 
 788 
 789             Package (0x04)
 790             {
 791                 0x001EFFFF, 
 792                 Zero, 
 793                 LNKD, 
 794                 Zero
 795             }, 
 796 
 797             Package (0x04)
 798             {
 799                 0x001EFFFF, 
 800                 0x03, 
 801                 LNKA, 
 802                 Zero
 803             }, 
 804 
 805             Package (0x04)
 806             {
 807                 0x001EFFFF, 
 808                 One, 
 809                 LNKB, 
 810                 Zero
 811             }, 
 812 
 813             Package (0x04)
 814             {
 815                 0x001EFFFF, 
 816                 0x02, 
 817                 LNKC, 
 818                 Zero
 819             }, 
 820 
 821             Package (0x04)
 822             {
 823                 0x0002FFFF, 
 824                 Zero, 
 825                 LNKA, 
 826                 Zero
 827             }
 828         })
 829         Name (AR00, Package (0x11)
 830         {
 831             Package (0x04)
 832             {
 833                 0x0010FFFF, 
 834                 Zero, 
 835                 Zero, 
 836                 0x10
 837             }, 
 838 
 839             Package (0x04)
 840             {
 841                 0x0011FFFF, 
 842                 Zero, 
 843                 Zero, 
 844                 0x11
 845             }, 
 846 
 847             Package (0x04)
 848             {
 849                 0x0012FFFF, 
 850                 Zero, 
 851                 Zero, 
 852                 0x12
 853             }, 
 854 
 855             Package (0x04)
 856             {
 857                 0x0014FFFF, 
 858                 Zero, 
 859                 Zero, 
 860                 0x14
 861             }, 
 862 
 863             Package (0x04)
 864             {
 865                 0x0015FFFF, 
 866                 Zero, 
 867                 Zero, 
 868                 0x15
 869             }, 
 870 
 871             Package (0x04)
 872             {
 873                 0x0016FFFF, 
 874                 Zero, 
 875                 Zero, 
 876                 0x16
 877             }, 
 878 
 879             Package (0x04)
 880             {
 881                 0x0018FFFF, 
 882                 Zero, 
 883                 Zero, 
 884                 0x11
 885             }, 
 886 
 887             Package (0x04)
 888             {
 889                 0x0018FFFF, 
 890                 0x02, 
 891                 Zero, 
 892                 0x13
 893             }, 
 894 
 895             Package (0x04)
 896             {
 897                 0x0018FFFF, 
 898                 0x03, 
 899                 Zero, 
 900                 0x12
 901             }, 
 902 
 903             Package (0x04)
 904             {
 905                 0x0018FFFF, 
 906                 One, 
 907                 Zero, 
 908                 0x10
 909             }, 
 910 
 911             Package (0x04)
 912             {
 913                 0x001AFFFF, 
 914                 Zero, 
 915                 Zero, 
 916                 0x15
 917             }, 
 918 
 919             Package (0x04)
 920             {
 921                 0x001DFFFF, 
 922                 Zero, 
 923                 Zero, 
 924                 0x17
 925             }, 
 926 
 927             Package (0x04)
 928             {
 929                 0x001EFFFF, 
 930                 Zero, 
 931                 Zero, 
 932                 0x13
 933             }, 
 934 
 935             Package (0x04)
 936             {
 937                 0x001EFFFF, 
 938                 0x03, 
 939                 Zero, 
 940                 0x10
 941             }, 
 942 
 943             Package (0x04)
 944             {
 945                 0x001EFFFF, 
 946                 One, 
 947                 Zero, 
 948                 0x11
 949             }, 
 950 
 951             Package (0x04)
 952             {
 953                 0x001EFFFF, 
 954                 0x02, 
 955                 Zero, 
 956                 0x12
 957             }, 
 958 
 959             Package (0x04)
 960             {
 961                 0x0002FFFF, 
 962                 Zero, 
 963                 Zero, 
 964                 0x10
 965             }
 966         })
 967         Name (PR04, Package (0x04)
 968         {
 969             Package (0x04)
 970             {
 971                 0xFFFF, 
 972                 Zero, 
 973                 LNKA, 
 974                 Zero
 975             }, 
 976 
 977             Package (0x04)
 978             {
 979                 0xFFFF, 
 980                 One, 
 981                 LNKB, 
 982                 Zero
 983             }, 
 984 
 985             Package (0x04)
 986             {
 987                 0xFFFF, 
 988                 0x02, 
 989                 LNKC, 
 990                 Zero
 991             }, 
 992 
 993             Package (0x04)
 994             {
 995                 0xFFFF, 
 996                 0x03, 
 997                 LNKD, 
 998                 Zero
 999             }
1000         })
1001         Name (AR04, Package (0x04)
1002         {
1003             Package (0x04)
1004             {
1005                 0xFFFF, 
1006                 Zero, 
1007                 Zero, 
1008                 0x10
1009             }, 
1010 
1011             Package (0x04)
1012             {
1013                 0xFFFF, 
1014                 One, 
1015                 Zero, 
1016                 0x11
1017             }, 
1018 
1019             Package (0x04)
1020             {
1021                 0xFFFF, 
1022                 0x02, 
1023                 Zero, 
1024                 0x12
1025             }, 
1026 
1027             Package (0x04)
1028             {
1029                 0xFFFF, 
1030                 0x03, 
1031                 Zero, 
1032                 0x13
1033             }
1034         })
1035         Name (PR05, Package (0x04)
1036         {
1037             Package (0x04)
1038             {
1039                 0xFFFF, 
1040                 Zero, 
1041                 LNKB, 
1042                 Zero
1043             }, 
1044 
1045             Package (0x04)
1046             {
1047                 0xFFFF, 
1048                 One, 
1049                 LNKC, 
1050                 Zero
1051             }, 
1052 
1053             Package (0x04)
1054             {
1055                 0xFFFF, 
1056                 0x02, 
1057                 LNKD, 
1058                 Zero
1059             }, 
1060 
1061             Package (0x04)
1062             {
1063                 0xFFFF, 
1064                 0x03, 
1065                 LNKA, 
1066                 Zero
1067             }
1068         })
1069         Name (AR05, Package (0x04)
1070         {
1071             Package (0x04)
1072             {
1073                 0xFFFF, 
1074                 Zero, 
1075                 Zero, 
1076                 0x11
1077             }, 
1078 
1079             Package (0x04)
1080             {
1081                 0xFFFF, 
1082                 One, 
1083                 Zero, 
1084                 0x12
1085             }, 
1086 
1087             Package (0x04)
1088             {
1089                 0xFFFF, 
1090                 0x02, 
1091                 Zero, 
1092                 0x13
1093             }, 
1094 
1095             Package (0x04)
1096             {
1097                 0xFFFF, 
1098                 0x03, 
1099                 Zero, 
1100                 0x10
1101             }
1102         })
1103         Name (PR06, Package (0x04)
1104         {
1105             Package (0x04)
1106             {
1107                 0xFFFF, 
1108                 Zero, 
1109                 LNKC, 
1110                 Zero
1111             }, 
1112 
1113             Package (0x04)
1114             {
1115                 0xFFFF, 
1116                 One, 
1117                 LNKD, 
1118                 Zero
1119             }, 
1120 
1121             Package (0x04)
1122             {
1123                 0xFFFF, 
1124                 0x02, 
1125                 LNKA, 
1126                 Zero
1127             }, 
1128 
1129             Package (0x04)
1130             {
1131                 0xFFFF, 
1132                 0x03, 
1133                 LNKB, 
1134                 Zero
1135             }
1136         })
1137         Name (AR06, Package (0x04)
1138         {
1139             Package (0x04)
1140             {
1141                 0xFFFF, 
1142                 Zero, 
1143                 Zero, 
1144                 0x12
1145             }, 
1146 
1147             Package (0x04)
1148             {
1149                 0xFFFF, 
1150                 One, 
1151                 Zero, 
1152                 0x13
1153             }, 
1154 
1155             Package (0x04)
1156             {
1157                 0xFFFF, 
1158                 0x02, 
1159                 Zero, 
1160                 0x10
1161             }, 
1162 
1163             Package (0x04)
1164             {
1165                 0xFFFF, 
1166                 0x03, 
1167                 Zero, 
1168                 0x11
1169             }
1170         })
1171         Name (PR07, Package (0x04)
1172         {
1173             Package (0x04)
1174             {
1175                 0xFFFF, 
1176                 Zero, 
1177                 LNKD, 
1178                 Zero
1179             }, 
1180 
1181             Package (0x04)
1182             {
1183                 0xFFFF, 
1184                 One, 
1185                 LNKA, 
1186                 Zero
1187             }, 
1188 
1189             Package (0x04)
1190             {
1191                 0xFFFF, 
1192                 0x02, 
1193                 LNKB, 
1194                 Zero
1195             }, 
1196 
1197             Package (0x04)
1198             {
1199                 0xFFFF, 
1200                 0x03, 
1201                 LNKC, 
1202                 Zero
1203             }
1204         })
1205         Name (AR07, Package (0x04)
1206         {
1207             Package (0x04)
1208             {
1209                 0xFFFF, 
1210                 Zero, 
1211                 Zero, 
1212                 0x13
1213             }, 
1214 
1215             Package (0x04)
1216             {
1217                 0xFFFF, 
1218                 One, 
1219                 Zero, 
1220                 0x10
1221             }, 
1222 
1223             Package (0x04)
1224             {
1225                 0xFFFF, 
1226                 0x02, 
1227                 Zero, 
1228                 0x11
1229             }, 
1230 
1231             Package (0x04)
1232             {
1233                 0xFFFF, 
1234                 0x03, 
1235                 Zero, 
1236                 0x12
1237             }
1238         })
1239         Name (PR01, Package (0x10)
1240         {
1241             Package (0x04)
1242             {
1243                 0xFFFF, 
1244                 Zero, 
1245                 LNKF, 
1246                 Zero
1247             }, 
1248 
1249             Package (0x04)
1250             {
1251                 0xFFFF, 
1252                 One, 
1253                 LNKG, 
1254                 Zero
1255             }, 
1256 
1257             Package (0x04)
1258             {
1259                 0xFFFF, 
1260                 0x02, 
1261                 LNKH, 
1262                 Zero
1263             }, 
1264 
1265             Package (0x04)
1266             {
1267                 0xFFFF, 
1268                 0x03, 
1269                 LNKE, 
1270                 Zero
1271             }, 
1272 
1273             Package (0x04)
1274             {
1275                 0x0001FFFF, 
1276                 Zero, 
1277                 LNKG, 
1278                 Zero
1279             }, 
1280 
1281             Package (0x04)
1282             {
1283                 0x0001FFFF, 
1284                 One, 
1285                 LNKF, 
1286                 Zero
1287             }, 
1288 
1289             Package (0x04)
1290             {
1291                 0x0001FFFF, 
1292                 0x02, 
1293                 LNKE, 
1294                 Zero
1295             }, 
1296 
1297             Package (0x04)
1298             {
1299                 0x0001FFFF, 
1300                 0x03, 
1301                 LNKH, 
1302                 Zero
1303             }, 
1304 
1305             Package (0x04)
1306             {
1307                 0x0002FFFF, 
1308                 Zero, 
1309                 LNKC, 
1310                 Zero
1311             }, 
1312 
1313             Package (0x04)
1314             {
1315                 0x0002FFFF, 
1316                 One, 
1317                 LNKD, 
1318                 Zero
1319             }, 
1320 
1321             Package (0x04)
1322             {
1323                 0x0002FFFF, 
1324                 0x02, 
1325                 LNKB, 
1326                 Zero
1327             }, 
1328 
1329             Package (0x04)
1330             {
1331                 0x0002FFFF, 
1332                 0x03, 
1333                 LNKA, 
1334                 Zero
1335             }, 
1336 
1337             Package (0x04)
1338             {
1339                 0x0003FFFF, 
1340                 Zero, 
1341                 LNKD, 
1342                 Zero
1343             }, 
1344 
1345             Package (0x04)
1346             {
1347                 0x0003FFFF, 
1348                 One, 
1349                 LNKC, 
1350                 Zero
1351             }, 
1352 
1353             Package (0x04)
1354             {
1355                 0x0003FFFF, 
1356                 0x02, 
1357                 LNKF, 
1358                 Zero
1359             }, 
1360 
1361             Package (0x04)
1362             {
1363                 0x0003FFFF, 
1364                 0x03, 
1365                 LNKG, 
1366                 Zero
1367             }
1368         })
1369         Name (AR01, Package (0x10)
1370         {
1371             Package (0x04)
1372             {
1373                 0xFFFF, 
1374                 Zero, 
1375                 Zero, 
1376                 0x15
1377             }, 
1378 
1379             Package (0x04)
1380             {
1381                 0xFFFF, 
1382                 One, 
1383                 Zero, 
1384                 0x16
1385             }, 
1386 
1387             Package (0x04)
1388             {
1389                 0xFFFF, 
1390                 0x02, 
1391                 Zero, 
1392                 0x17
1393             }, 
1394 
1395             Package (0x04)
1396             {
1397                 0xFFFF, 
1398                 0x03, 
1399                 Zero, 
1400                 0x14
1401             }, 
1402 
1403             Package (0x04)
1404             {
1405                 0x0001FFFF, 
1406                 Zero, 
1407                 Zero, 
1408                 0x16
1409             }, 
1410 
1411             Package (0x04)
1412             {
1413                 0x0001FFFF, 
1414                 One, 
1415                 Zero, 
1416                 0x15
1417             }, 
1418 
1419             Package (0x04)
1420             {
1421                 0x0001FFFF, 
1422                 0x02, 
1423                 Zero, 
1424                 0x14
1425             }, 
1426 
1427             Package (0x04)
1428             {
1429                 0x0001FFFF, 
1430                 0x03, 
1431                 Zero, 
1432                 0x17
1433             }, 
1434 
1435             Package (0x04)
1436             {
1437                 0x0002FFFF, 
1438                 Zero, 
1439                 Zero, 
1440                 0x12
1441             }, 
1442 
1443             Package (0x04)
1444             {
1445                 0x0002FFFF, 
1446                 One, 
1447                 Zero, 
1448                 0x13
1449             }, 
1450 
1451             Package (0x04)
1452             {
1453                 0x0002FFFF, 
1454                 0x02, 
1455                 Zero, 
1456                 0x11
1457             }, 
1458 
1459             Package (0x04)
1460             {
1461                 0x0002FFFF, 
1462                 0x03, 
1463                 Zero, 
1464                 0x10
1465             }, 
1466 
1467             Package (0x04)
1468             {
1469                 0x0003FFFF, 
1470                 Zero, 
1471                 Zero, 
1472                 0x13
1473             }, 
1474 
1475             Package (0x04)
1476             {
1477                 0x0003FFFF, 
1478                 One, 
1479                 Zero, 
1480                 0x12
1481             }, 
1482 
1483             Package (0x04)
1484             {
1485                 0x0003FFFF, 
1486                 0x02, 
1487                 Zero, 
1488                 0x15
1489             }, 
1490 
1491             Package (0x04)
1492             {
1493                 0x0003FFFF, 
1494                 0x03, 
1495                 Zero, 
1496                 0x16
1497             }
1498         })
1499         Name (PRSA, ResourceTemplate ()
1500         {
1501             IRQ (Level, ActiveLow, Shared, )
1502                 {3,4,5,6,10,11,12,14,15}
1503         })
1504         Alias (PRSA, PRSB)
1505         Alias (PRSA, PRSC)
1506         Alias (PRSA, PRSD)
1507         Alias (PRSA, PRSE)
1508         Alias (PRSA, PRSF)
1509         Alias (PRSA, PRSG)
1510         Alias (PRSA, PRSH)
1511         Device (PCI0)
1512         {
1513             Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
1514             Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
1515             Name (_ADR, Zero)  // _ADR: Address
1516             Method (^BN00, 0, NotSerialized)
1517             {
1518                 Return (Zero)
1519             }
1520 
1521             Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
1522             {
1523                 Return (BN00 ())
1524             }
1525 
1526             Name (_UID, Zero)  // _UID: Unique ID
1527             Name (_DEP, Package (0x01)  // _DEP: Dependencies
1528             {
1529                 PEPD
1530             })
1531             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
1532             {
1533                 If (PICM)
1534                 {
1535                     Return (AR00) /* \_SB_.AR00 */
1536                 }
1537 
1538                 Return (PR00) /* \_SB_.PR00 */
1539             }
1540 
1541             Device (VLVC)
1542             {
1543                 Name (_ADR, Zero)  // _ADR: Address
1544                 OperationRegion (HBUS, PCI_Config, Zero, 0xFF)
1545                 Field (HBUS, DWordAcc, NoLock, Preserve)
1546                 {
1547                     Offset (0xD0), 
1548                     SMCR,   32, 
1549                     SMDR,   32, 
1550                     MCRX,   32
1551                 }
1552 
1553                 Method (RMBR, 2, Serialized)
1554                 {
1555                     Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08))
1556                     SMCR = (0x100000F0 | Local0)
1557                     Return (SMDR) /* \_SB_.PCI0.VLVC.SMDR */
1558                 }
1559 
1560                 Method (WMBR, 3, Serialized)
1561                 {
1562                     SMDR = Arg2
1563                     Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08))
1564                     SMCR = (0x110000F0 | Local0)
1565                 }
1566             }
1567 
1568             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
1569             {
1570                 If (TPMP)
1571                 {
1572                     CreateDWordField (RES0, \_SB.PCI0._Y00._LEN, TPML)  // _LEN: Length
1573                     TPML = 0x1000
1574                 }
1575 
1576                 CreateDWordField (RES0, \_SB.PCI0._Y01._MIN, ISMN)  // _MIN: Minimum Base Address
1577                 CreateDWordField (RES0, \_SB.PCI0._Y01._MAX, ISMX)  // _MAX: Maximum Base Address
1578                 CreateDWordField (RES0, \_SB.PCI0._Y01._LEN, ISLN)  // _LEN: Length
1579                 If ((ISPD == One))
1580                 {
1581                     ISMN = ISPA /* \ISPA */
1582                     ISMX = (ISMN + ISLN) /* \_SB_.PCI0._CRS.ISLN */
1583                     ISMX -= One
1584                 }
1585                 Else
1586                 {
1587                     ISMN = Zero
1588                     ISMX = Zero
1589                     ISLN = Zero
1590                 }
1591 
1592                 CreateDWordField (RES0, \_SB.PCI0._Y02._MIN, M1MN)  // _MIN: Minimum Base Address
1593                 CreateDWordField (RES0, \_SB.PCI0._Y02._MAX, M1MX)  // _MAX: Maximum Base Address
1594                 CreateDWordField (RES0, \_SB.PCI0._Y02._LEN, M1LN)  // _LEN: Length
1595                 M1MN = (BMBD & 0xFF000000)
1596                 M1MX = PCIT /* \PCIT */
1597                 M1LN = ((M1MX - M1MN) + One)
1598                 M1MX -= One
1599                 CreateDWordField (RES0, \_SB.PCI0._Y03._MIN, GSMN)  // _MIN: Minimum Base Address
1600                 CreateDWordField (RES0, \_SB.PCI0._Y03._MAX, GSMX)  // _MAX: Maximum Base Address
1601                 CreateDWordField (RES0, \_SB.PCI0._Y03._LEN, GSLN)  // _LEN: Length
1602                 GSMN = ^GFX0.GSTM /* \_SB_.PCI0.GFX0.GSTM */
1603                 GSLN = (^GFX0.GUMA << 0x19)
1604                 GSMX = (GSMN + GSLN) /* \_SB_.PCI0._CRS.GSLN */
1605                 GSMX -= One
1606                 Return (RES0) /* \_SB_.PCI0.RES0 */
1607             }
1608 
1609             Name (RES0, ResourceTemplate ()
1610             {
1611                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
1612                     0x0000,             // Granularity
1613                     0x0000,             // Range Minimum
1614                     0x00FF,             // Range Maximum
1615                     0x0000,             // Translation Offset
1616                     0x0100,             // Length
1617                     ,, )
1618                 IO (Decode16,
1619                     0x0070,             // Range Minimum
1620                     0x0077,             // Range Maximum
1621                     0x01,               // Alignment
1622                     0x08,               // Length
1623                     )
1624                 IO (Decode16,
1625                     0x0CF8,             // Range Minimum
1626                     0x0CF8,             // Range Maximum
1627                     0x01,               // Alignment
1628                     0x08,               // Length
1629                     )
1630                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1631                     0x0000,             // Granularity
1632                     0x0000,             // Range Minimum
1633                     0x006F,             // Range Maximum
1634                     0x0000,             // Translation Offset
1635                     0x0070,             // Length
1636                     ,, , TypeStatic, DenseTranslation)
1637                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1638                     0x0000,             // Granularity
1639                     0x0078,             // Range Minimum
1640                     0x0CF7,             // Range Maximum
1641                     0x0000,             // Translation Offset
1642                     0x0C80,             // Length
1643                     ,, , TypeStatic, DenseTranslation)
1644                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1645                     0x0000,             // Granularity
1646                     0x0D00,             // Range Minimum
1647                     0xFFFF,             // Range Maximum
1648                     0x0000,             // Translation Offset
1649                     0xF300,             // Length
1650                     ,, , TypeStatic, DenseTranslation)
1651                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1652                     0x00000000,         // Granularity
1653                     0x000A0000,         // Range Minimum
1654                     0x000BFFFF,         // Range Maximum
1655                     0x00000000,         // Translation Offset
1656                     0x00020000,         // Length
1657                     ,, , AddressRangeMemory, TypeStatic)
1658                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1659                     0x00000000,         // Granularity
1660                     0x000C0000,         // Range Minimum
1661                     0x000DFFFF,         // Range Maximum
1662                     0x00000000,         // Translation Offset
1663                     0x00020000,         // Length
1664                     ,, , AddressRangeMemory, TypeStatic)
1665                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1666                     0x00000000,         // Granularity
1667                     0x000E0000,         // Range Minimum
1668                     0x000FFFFF,         // Range Maximum
1669                     0x00000000,         // Translation Offset
1670                     0x00020000,         // Length
1671                     ,, , AddressRangeMemory, TypeStatic)
1672                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1673                     0x00000000,         // Granularity
1674                     0x7A000000,         // Range Minimum
1675                     0x7A3FFFFF,         // Range Maximum
1676                     0x00000000,         // Translation Offset
1677                     0x00400000,         // Length
1678                     ,, _Y01, AddressRangeMemory, TypeStatic)
1679                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1680                     0x00000000,         // Granularity
1681                     0x7C000000,         // Range Minimum
1682                     0x7FFFFFFF,         // Range Maximum
1683                     0x00000000,         // Translation Offset
1684                     0x04000000,         // Length
1685                     ,, _Y03, AddressRangeMemory, TypeStatic)
1686                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1687                     0x00000000,         // Granularity
1688                     0x80000000,         // Range Minimum
1689                     0xDFFFFFFF,         // Range Maximum
1690                     0x00000000,         // Translation Offset
1691                     0x60000000,         // Length
1692                     ,, _Y02, AddressRangeMemory, TypeStatic)
1693                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1694                     0x00000000,         // Granularity
1695                     0xFED40000,         // Range Minimum
1696                     0xFED40FFF,         // Range Maximum
1697                     0x00000000,         // Translation Offset
1698                     0x00001000,         // Length
1699                     ,, _Y00, AddressRangeMemory, TypeStatic)
1700             })
1701             Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
1702             Name (SUPP, Zero)
1703             Name (CTRL, Zero)
1704             Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
1705             {
1706                 Local0 = Arg3
1707                 CreateDWordField (Local0, Zero, CDW1)
1708                 CreateDWordField (Local0, 0x04, CDW2)
1709                 CreateDWordField (Local0, 0x08, CDW3)
1710                 If (((Arg0 == GUID) && NEXP))
1711                 {
1712                     SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
1713                     CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
1714                     If (~(CDW1 & One))
1715                     {
1716                         If ((CTRL & 0x02))
1717                         {
1718                             NHPG ()
1719                         }
1720 
1721                         If ((CTRL & 0x04))
1722                         {
1723                             NPME ()
1724                         }
1725                     }
1726 
1727                     If ((Arg1 != One))
1728                     {
1729                         CDW1 |= 0x08
1730                     }
1731 
1732                     If ((CDW3 != CTRL))
1733                     {
1734                         CDW1 |= 0x10
1735                     }
1736 
1737                     CDW3 = CTRL /* \_SB_.PCI0.CTRL */
1738                     OSCC = CTRL /* \_SB_.PCI0.CTRL */
1739                     Return (Local0)
1740                 }
1741                 Else
1742                 {
1743                     CDW1 |= 0x04
1744                     Return (Local0)
1745                 }
1746             }
1747 
1748             Device (LPCB)
1749             {
1750                 Name (_ADR, 0x001F0000)  // _ADR: Address
1751                 Scope (\_SB)
1752                 {
1753                     OperationRegion (ILBR, SystemMemory, IBAS, 0x8C)
1754                     Field (ILBR, AnyAcc, NoLock, Preserve)
1755                     {
1756                         Offset (0x08), 
1757                         PARC,   8, 
1758                         PBRC,   8, 
1759                         PCRC,   8, 
1760                         PDRC,   8, 
1761                         PERC,   8, 
1762                         PFRC,   8, 
1763                         PGRC,   8, 
1764                         PHRC,   8, 
1765                         Offset (0x88), 
1766                             ,   3, 
1767                         UI3E,   1, 
1768                         UI4E,   1
1769                     }
1770 
1771                     Device (LNKA)
1772                     {
1773                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1774                         Name (_UID, One)  // _UID: Unique ID
1775                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
1776                         {
1777                             PARC |= 0x80
1778                         }
1779 
1780                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
1781                         {
1782                             Return (PRSA) /* \_SB_.PRSA */
1783                         }
1784 
1785                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
1786                         {
1787                             Name (RTLA, ResourceTemplate ()
1788                             {
1789                                 IRQ (Level, ActiveLow, Shared, )
1790                                     {}
1791                             })
1792                             CreateWordField (RTLA, One, IRQ0)
1793                             IRQ0 = Zero
1794                             IRQ0 = (One << (PARC & 0x0F))
1795                             Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
1796                         }
1797 
1798                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
1799                         {
1800                             CreateWordField (Arg0, One, IRQ0)
1801                             FindSetRightBit (IRQ0, Local0)
1802                             Local0--
1803                             PARC = Local0
1804                         }
1805 
1806                         Method (_STA, 0, Serialized)  // _STA: Status
1807                         {
1808                             If ((PARC & 0x80))
1809                             {
1810                                 Return (0x09)
1811                             }
1812                             Else
1813                             {
1814                                 Return (0x0B)
1815                             }
1816                         }
1817                     }
1818 
1819                     Device (LNKB)
1820                     {
1821                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1822                         Name (_UID, 0x02)  // _UID: Unique ID
1823                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
1824                         {
1825                             PBRC |= 0x80
1826                         }
1827 
1828                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
1829                         {
1830                             Return (PRSB) /* \_SB_.PRSB */
1831                         }
1832 
1833                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
1834                         {
1835                             Name (RTLB, ResourceTemplate ()
1836                             {
1837                                 IRQ (Level, ActiveLow, Shared, )
1838                                     {}
1839                             })
1840                             CreateWordField (RTLB, One, IRQ0)
1841                             IRQ0 = Zero
1842                             IRQ0 = (One << (PBRC & 0x0F))
1843                             Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
1844                         }
1845 
1846                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
1847                         {
1848                             CreateWordField (Arg0, One, IRQ0)
1849                             FindSetRightBit (IRQ0, Local0)
1850                             Local0--
1851                             PBRC = Local0
1852                         }
1853 
1854                         Method (_STA, 0, Serialized)  // _STA: Status
1855                         {
1856                             If ((PBRC & 0x80))
1857                             {
1858                                 Return (0x09)
1859                             }
1860                             Else
1861                             {
1862                                 Return (0x0B)
1863                             }
1864                         }
1865                     }
1866 
1867                     Device (LNKC)
1868                     {
1869                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1870                         Name (_UID, 0x03)  // _UID: Unique ID
1871                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
1872                         {
1873                             PCRC |= 0x80
1874                         }
1875 
1876                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
1877                         {
1878                             Return (PRSC) /* \_SB_.PRSC */
1879                         }
1880 
1881                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
1882                         {
1883                             Name (RTLC, ResourceTemplate ()
1884                             {
1885                                 IRQ (Level, ActiveLow, Shared, )
1886                                     {}
1887                             })
1888                             CreateWordField (RTLC, One, IRQ0)
1889                             IRQ0 = Zero
1890                             IRQ0 = (One << (PCRC & 0x0F))
1891                             Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
1892                         }
1893 
1894                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
1895                         {
1896                             CreateWordField (Arg0, One, IRQ0)
1897                             FindSetRightBit (IRQ0, Local0)
1898                             Local0--
1899                             PCRC = Local0
1900                         }
1901 
1902                         Method (_STA, 0, Serialized)  // _STA: Status
1903                         {
1904                             If ((PCRC & 0x80))
1905                             {
1906                                 Return (0x09)
1907                             }
1908                             Else
1909                             {
1910                                 Return (0x0B)
1911                             }
1912                         }
1913                     }
1914 
1915                     Device (LNKD)
1916                     {
1917                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1918                         Name (_UID, 0x04)  // _UID: Unique ID
1919                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
1920                         {
1921                             PDRC |= 0x80
1922                         }
1923 
1924                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
1925                         {
1926                             Return (PRSD) /* \_SB_.PRSD */
1927                         }
1928 
1929                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
1930                         {
1931                             Name (RTLD, ResourceTemplate ()
1932                             {
1933                                 IRQ (Level, ActiveLow, Shared, )
1934                                     {}
1935                             })
1936                             CreateWordField (RTLD, One, IRQ0)
1937                             IRQ0 = Zero
1938                             IRQ0 = (One << (PDRC & 0x0F))
1939                             Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
1940                         }
1941 
1942                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
1943                         {
1944                             CreateWordField (Arg0, One, IRQ0)
1945                             FindSetRightBit (IRQ0, Local0)
1946                             Local0--
1947                             PDRC = Local0
1948                         }
1949 
1950                         Method (_STA, 0, Serialized)  // _STA: Status
1951                         {
1952                             If ((PDRC & 0x80))
1953                             {
1954                                 Return (0x09)
1955                             }
1956                             Else
1957                             {
1958                                 Return (0x0B)
1959                             }
1960                         }
1961                     }
1962 
1963                     Device (LNKE)
1964                     {
1965                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1966                         Name (_UID, 0x05)  // _UID: Unique ID
1967                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
1968                         {
1969                             PERC |= 0x80
1970                         }
1971 
1972                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
1973                         {
1974                             Return (PRSE) /* \_SB_.PRSE */
1975                         }
1976 
1977                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
1978                         {
1979                             Name (RTLE, ResourceTemplate ()
1980                             {
1981                                 IRQ (Level, ActiveLow, Shared, )
1982                                     {}
1983                             })
1984                             CreateWordField (RTLE, One, IRQ0)
1985                             IRQ0 = Zero
1986                             IRQ0 = (One << (PERC & 0x0F))
1987                             Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
1988                         }
1989 
1990                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
1991                         {
1992                             CreateWordField (Arg0, One, IRQ0)
1993                             FindSetRightBit (IRQ0, Local0)
1994                             Local0--
1995                             PERC = Local0
1996                         }
1997 
1998                         Method (_STA, 0, Serialized)  // _STA: Status
1999                         {
2000                             If ((PERC & 0x80))
2001                             {
2002                                 Return (0x09)
2003                             }
2004                             Else
2005                             {
2006                                 Return (0x0B)
2007                             }
2008                         }
2009                     }
2010 
2011                     Device (LNKF)
2012                     {
2013                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2014                         Name (_UID, 0x06)  // _UID: Unique ID
2015                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2016                         {
2017                             PFRC |= 0x80
2018                         }
2019 
2020                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2021                         {
2022                             Return (PRSF) /* \_SB_.PRSF */
2023                         }
2024 
2025                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2026                         {
2027                             Name (RTLF, ResourceTemplate ()
2028                             {
2029                                 IRQ (Level, ActiveLow, Shared, )
2030                                     {}
2031                             })
2032                             CreateWordField (RTLF, One, IRQ0)
2033                             IRQ0 = Zero
2034                             IRQ0 = (One << (PFRC & 0x0F))
2035                             Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
2036                         }
2037 
2038                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2039                         {
2040                             CreateWordField (Arg0, One, IRQ0)
2041                             FindSetRightBit (IRQ0, Local0)
2042                             Local0--
2043                             PFRC = Local0
2044                         }
2045 
2046                         Method (_STA, 0, Serialized)  // _STA: Status
2047                         {
2048                             If ((PFRC & 0x80))
2049                             {
2050                                 Return (0x09)
2051                             }
2052                             Else
2053                             {
2054                                 Return (0x0B)
2055                             }
2056                         }
2057                     }
2058 
2059                     Device (LNKG)
2060                     {
2061                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2062                         Name (_UID, 0x07)  // _UID: Unique ID
2063                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2064                         {
2065                             PGRC |= 0x80
2066                         }
2067 
2068                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2069                         {
2070                             Return (PRSG) /* \_SB_.PRSG */
2071                         }
2072 
2073                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2074                         {
2075                             Name (RTLG, ResourceTemplate ()
2076                             {
2077                                 IRQ (Level, ActiveLow, Shared, )
2078                                     {}
2079                             })
2080                             CreateWordField (RTLG, One, IRQ0)
2081                             IRQ0 = Zero
2082                             IRQ0 = (One << (PGRC & 0x0F))
2083                             Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
2084                         }
2085 
2086                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2087                         {
2088                             CreateWordField (Arg0, One, IRQ0)
2089                             FindSetRightBit (IRQ0, Local0)
2090                             Local0--
2091                             PGRC = Local0
2092                         }
2093 
2094                         Method (_STA, 0, Serialized)  // _STA: Status
2095                         {
2096                             If ((PGRC & 0x80))
2097                             {
2098                                 Return (0x09)
2099                             }
2100                             Else
2101                             {
2102                                 Return (0x0B)
2103                             }
2104                         }
2105                     }
2106 
2107                     Device (LNKH)
2108                     {
2109                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2110                         Name (_UID, 0x08)  // _UID: Unique ID
2111                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2112                         {
2113                             PHRC |= 0x80
2114                         }
2115 
2116                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2117                         {
2118                             Return (PRSH) /* \_SB_.PRSH */
2119                         }
2120 
2121                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2122                         {
2123                             Name (RTLH, ResourceTemplate ()
2124                             {
2125                                 IRQ (Level, ActiveLow, Shared, )
2126                                     {}
2127                             })
2128                             CreateWordField (RTLH, One, IRQ0)
2129                             IRQ0 = Zero
2130                             IRQ0 = (One << (PHRC & 0x0F))
2131                             Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
2132                         }
2133 
2134                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2135                         {
2136                             CreateWordField (Arg0, One, IRQ0)
2137                             FindSetRightBit (IRQ0, Local0)
2138                             Local0--
2139                             PHRC = Local0
2140                         }
2141 
2142                         Method (_STA, 0, Serialized)  // _STA: Status
2143                         {
2144                             If ((PHRC & 0x80))
2145                             {
2146                                 Return (0x09)
2147                             }
2148                             Else
2149                             {
2150                                 Return (0x0B)
2151                             }
2152                         }
2153                     }
2154                 }
2155 
2156                 OperationRegion (LPC0, PCI_Config, Zero, 0xC0)
2157                 Field (LPC0, AnyAcc, NoLock, Preserve)
2158                 {
2159                     Offset (0x08), 
2160                     SRID,   8, 
2161                     Offset (0x80), 
2162                     C1EN,   1, 
2163                     Offset (0x84)
2164                 }
2165 
2166                 Device (FWHD)
2167                 {
2168                     Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */)  // _HID: Hardware ID
2169                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2170                     {
2171                         Memory32Fixed (ReadOnly,
2172                             0xFF000000,         // Address Base
2173                             0x01000000,         // Address Length
2174                             )
2175                     })
2176                 }
2177 
2178                 Device (IPIC)
2179                 {
2180                     Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
2181                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2182                     {
2183                         IO (Decode16,
2184                             0x0020,             // Range Minimum
2185                             0x0020,             // Range Maximum
2186                             0x01,               // Alignment
2187                             0x02,               // Length
2188                             )
2189                         IO (Decode16,
2190                             0x0024,             // Range Minimum
2191                             0x0024,             // Range Maximum
2192                             0x01,               // Alignment
2193                             0x02,               // Length
2194                             )
2195                         IO (Decode16,
2196                             0x0028,             // Range Minimum
2197                             0x0028,             // Range Maximum
2198                             0x01,               // Alignment
2199                             0x02,               // Length
2200                             )
2201                         IO (Decode16,
2202                             0x002C,             // Range Minimum
2203                             0x002C,             // Range Maximum
2204                             0x01,               // Alignment
2205                             0x02,               // Length
2206                             )
2207                         IO (Decode16,
2208                             0x0030,             // Range Minimum
2209                             0x0030,             // Range Maximum
2210                             0x01,               // Alignment
2211                             0x02,               // Length
2212                             )
2213                         IO (Decode16,
2214                             0x0034,             // Range Minimum
2215                             0x0034,             // Range Maximum
2216                             0x01,               // Alignment
2217                             0x02,               // Length
2218                             )
2219                         IO (Decode16,
2220                             0x0038,             // Range Minimum
2221                             0x0038,             // Range Maximum
2222                             0x01,               // Alignment
2223                             0x02,               // Length
2224                             )
2225                         IO (Decode16,
2226                             0x003C,             // Range Minimum
2227                             0x003C,             // Range Maximum
2228                             0x01,               // Alignment
2229                             0x02,               // Length
2230                             )
2231                         IO (Decode16,
2232                             0x00A0,             // Range Minimum
2233                             0x00A0,             // Range Maximum
2234                             0x01,               // Alignment
2235                             0x02,               // Length
2236                             )
2237                         IO (Decode16,
2238                             0x00A4,             // Range Minimum
2239                             0x00A4,             // Range Maximum
2240                             0x01,               // Alignment
2241                             0x02,               // Length
2242                             )
2243                         IO (Decode16,
2244                             0x00A8,             // Range Minimum
2245                             0x00A8,             // Range Maximum
2246                             0x01,               // Alignment
2247                             0x02,               // Length
2248                             )
2249                         IO (Decode16,
2250                             0x00AC,             // Range Minimum
2251                             0x00AC,             // Range Maximum
2252                             0x01,               // Alignment
2253                             0x02,               // Length
2254                             )
2255                         IO (Decode16,
2256                             0x00B0,             // Range Minimum
2257                             0x00B0,             // Range Maximum
2258                             0x01,               // Alignment
2259                             0x02,               // Length
2260                             )
2261                         IO (Decode16,
2262                             0x00B4,             // Range Minimum
2263                             0x00B4,             // Range Maximum
2264                             0x01,               // Alignment
2265                             0x02,               // Length
2266                             )
2267                         IO (Decode16,
2268                             0x00B8,             // Range Minimum
2269                             0x00B8,             // Range Maximum
2270                             0x01,               // Alignment
2271                             0x02,               // Length
2272                             )
2273                         IO (Decode16,
2274                             0x00BC,             // Range Minimum
2275                             0x00BC,             // Range Maximum
2276                             0x01,               // Alignment
2277                             0x02,               // Length
2278                             )
2279                         IO (Decode16,
2280                             0x04D0,             // Range Minimum
2281                             0x04D0,             // Range Maximum
2282                             0x01,               // Alignment
2283                             0x02,               // Length
2284                             )
2285                         IRQNoFlags ()
2286                             {2}
2287                     })
2288                 }
2289 
2290                 Device (LDRC)
2291                 {
2292                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
2293                     Name (_UID, 0x02)  // _UID: Unique ID
2294                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2295                     {
2296                         IO (Decode16,
2297                             0x002E,             // Range Minimum
2298                             0x002E,             // Range Maximum
2299                             0x01,               // Alignment
2300                             0x02,               // Length
2301                             )
2302                         IO (Decode16,
2303                             0x004E,             // Range Minimum
2304                             0x004E,             // Range Maximum
2305                             0x01,               // Alignment
2306                             0x02,               // Length
2307                             )
2308                         IO (Decode16,
2309                             0x0061,             // Range Minimum
2310                             0x0061,             // Range Maximum
2311                             0x01,               // Alignment
2312                             0x01,               // Length
2313                             )
2314                         IO (Decode16,
2315                             0x0063,             // Range Minimum
2316                             0x0063,             // Range Maximum
2317                             0x01,               // Alignment
2318                             0x01,               // Length
2319                             )
2320                         IO (Decode16,
2321                             0x0065,             // Range Minimum
2322                             0x0065,             // Range Maximum
2323                             0x01,               // Alignment
2324                             0x01,               // Length
2325                             )
2326                         IO (Decode16,
2327                             0x0067,             // Range Minimum
2328                             0x0067,             // Range Maximum
2329                             0x01,               // Alignment
2330                             0x01,               // Length
2331                             )
2332                         IO (Decode16,
2333                             0x0070,             // Range Minimum
2334                             0x0070,             // Range Maximum
2335                             0x01,               // Alignment
2336                             0x01,               // Length
2337                             )
2338                         IO (Decode16,
2339                             0x0080,             // Range Minimum
2340                             0x0080,             // Range Maximum
2341                             0x01,               // Alignment
2342                             0x10,               // Length
2343                             )
2344                         IO (Decode16,
2345                             0x0092,             // Range Minimum
2346                             0x0092,             // Range Maximum
2347                             0x01,               // Alignment
2348                             0x01,               // Length
2349                             )
2350                         IO (Decode16,
2351                             0x00B2,             // Range Minimum
2352                             0x00B2,             // Range Maximum
2353                             0x01,               // Alignment
2354                             0x02,               // Length
2355                             )
2356                         IO (Decode16,
2357                             0x0680,             // Range Minimum
2358                             0x0680,             // Range Maximum
2359                             0x01,               // Alignment
2360                             0x20,               // Length
2361                             )
2362                         IO (Decode16,
2363                             0x0400,             // Range Minimum
2364                             0x0400,             // Range Maximum
2365                             0x01,               // Alignment
2366                             0x80,               // Length
2367                             )
2368                         IO (Decode16,
2369                             0x0500,             // Range Minimum
2370                             0x0500,             // Range Maximum
2371                             0x01,               // Alignment
2372                             0xFF,               // Length
2373                             )
2374                         IO (Decode16,
2375                             0x0600,             // Range Minimum
2376                             0x0600,             // Range Maximum
2377                             0x01,               // Alignment
2378                             0x20,               // Length
2379                             )
2380                         IO (Decode16,
2381                             0x164E,             // Range Minimum
2382                             0x164E,             // Range Maximum
2383                             0x01,               // Alignment
2384                             0x02,               // Length
2385                             )
2386                     })
2387                 }
2388 
2389                 Device (TIMR)
2390                 {
2391                     Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
2392                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2393                     {
2394                         IO (Decode16,
2395                             0x0040,             // Range Minimum
2396                             0x0040,             // Range Maximum
2397                             0x01,               // Alignment
2398                             0x04,               // Length
2399                             )
2400                         IO (Decode16,
2401                             0x0050,             // Range Minimum
2402                             0x0050,             // Range Maximum
2403                             0x10,               // Alignment
2404                             0x04,               // Length
2405                             )
2406                         IRQNoFlags ()
2407                             {0}
2408                     })
2409                 }
2410 
2411                 Device (IUR3)
2412                 {
2413                     Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */)  // _HID: Hardware ID
2414                     Name (_UID, One)  // _UID: Unique ID
2415                     Method (_STA, 0, Serialized)  // _STA: Status
2416                     {
2417                         If ((USEL == Zero))
2418                         {
2419                             If ((PU1E == One))
2420                             {
2421                                 UI3E = One
2422                                 UI4E = One
2423                                 C1EN = One
2424                                 Return (0x0F)
2425                             }
2426                         }
2427 
2428                         Return (Zero)
2429                     }
2430 
2431                     Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2432                     {
2433                         UI3E = Zero
2434                         UI4E = Zero
2435                         C1EN = Zero
2436                     }
2437 
2438                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2439                     {
2440                         Name (BUF0, ResourceTemplate ()
2441                         {
2442                             IO (Decode16,
2443                                 0x03F8,             // Range Minimum
2444                                 0x03F8,             // Range Maximum
2445                                 0x01,               // Alignment
2446                                 0x08,               // Length
2447                                 )
2448                             IRQNoFlags ()
2449                                 {3}
2450                         })
2451                         Name (BUF1, ResourceTemplate ()
2452                         {
2453                             IO (Decode16,
2454                                 0x03F8,             // Range Minimum
2455                                 0x03F8,             // Range Maximum
2456                                 0x01,               // Alignment
2457                                 0x08,               // Length
2458                                 )
2459                             IRQNoFlags ()
2460                                 {4}
2461                         })
2462                         If ((SRID <= 0x04))
2463                         {
2464                             Return (BUF0) /* \_SB_.PCI0.LPCB.IUR3._CRS.BUF0 */
2465                         }
2466                         Else
2467                         {
2468                             Return (BUF1) /* \_SB_.PCI0.LPCB.IUR3._CRS.BUF1 */
2469                         }
2470                     }
2471                 }
2472 
2473                 OperationRegion (PKBS, SystemIO, 0x60, 0x05)
2474                 Field (PKBS, ByteAcc, Lock, Preserve)
2475                 {
2476                     PKBD,   8, 
2477                     Offset (0x02), 
2478                     Offset (0x03), 
2479                     Offset (0x04), 
2480                     PKBC,   8
2481                 }
2482 
2483                 Device (PS2K)
2484                 {
2485                     Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _HID: Hardware ID
2486                     Method (_STA, 0, NotSerialized)  // _STA: Status
2487                     {
2488                         If (((PKBD == 0xFF) & (PKBC == 0xFF)))
2489                         {
2490                             Return (Zero)
2491                         }
2492 
2493                         Return (0x0F)
2494                     }
2495 
2496                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2497                     {
2498                         IO (Decode16,
2499                             0x0060,             // Range Minimum
2500                             0x0060,             // Range Maximum
2501                             0x01,               // Alignment
2502                             0x01,               // Length
2503                             )
2504                         IO (Decode16,
2505                             0x0064,             // Range Minimum
2506                             0x0064,             // Range Maximum
2507                             0x01,               // Alignment
2508                             0x01,               // Length
2509                             )
2510                         IRQ (Edge, ActiveHigh, Exclusive, )
2511                             {1}
2512                     })
2513                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
2514                     {
2515                         StartDependentFn (0x00, 0x00)
2516                         {
2517                             FixedIO (
2518                                 0x0060,             // Address
2519                                 0x01,               // Length
2520                                 )
2521                             FixedIO (
2522                                 0x0064,             // Address
2523                                 0x01,               // Length
2524                                 )
2525                             IRQNoFlags ()
2526                                 {1}
2527                         }
2528                         EndDependentFn ()
2529                     })
2530                 }
2531 
2532                 Device (PS2M)
2533                 {
2534                     Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */)  // _HID: Hardware ID
2535                     Method (_STA, 0, NotSerialized)  // _STA: Status
2536                     {
2537                         If (((PKBD == 0xFF) & (PKBC == 0xFF)))
2538                         {
2539                             Return (Zero)
2540                         }
2541 
2542                         Return (0x0F)
2543                     }
2544 
2545                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2546                     {
2547                         IRQ (Edge, ActiveHigh, Exclusive, )
2548                             {12}
2549                     })
2550                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
2551                     {
2552                         StartDependentFn (0x00, 0x00)
2553                         {
2554                             IRQNoFlags ()
2555                                 {12}
2556                         }
2557                         EndDependentFn ()
2558                     })
2559                 }
2560             }
2561         }
2562     }
2563 
2564     Scope (\)
2565     {
2566         OperationRegion (PMIO, SystemIO, PMBS, 0x46)
2567         Field (PMIO, ByteAcc, NoLock, Preserve)
2568         {
2569             Offset (0x01), 
2570             PWBS,   1, 
2571             Offset (0x20), 
2572                 ,   13, 
2573             PMEB,   1, 
2574             Offset (0x42), 
2575                 ,   1, 
2576             GPEC,   1
2577         }
2578 
2579         Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
2580         {
2581             Offset (0x20), 
2582                 ,   4, 
2583             PSCI,   1, 
2584             SCIS,   1
2585         }
2586 
2587         OperationRegion (PMCR, SystemMemory, PFDR, 0x04)
2588         Field (PMCR, DWordAcc, Lock, Preserve)
2589         {
2590             L10D,   1, 
2591             L11D,   1, 
2592             L12D,   1, 
2593             L13D,   1, 
2594             L14D,   1, 
2595             L15D,   1, 
2596             Offset (0x01), 
2597             SD1D,   1, 
2598             SD2D,   1, 
2599             SD3D,   1, 
2600             HSID,   1, 
2601                 ,   1, 
2602             LPED,   1, 
2603             OTGD,   1, 
2604             Offset (0x02), 
2605                 ,   1, 
2606                 ,   1, 
2607                 ,   1, 
2608                 ,   1, 
2609             RP1D,   1, 
2610             RP2D,   1, 
2611             RP3D,   1, 
2612             RP4D,   1, 
2613             L20D,   1, 
2614             L21D,   1, 
2615             L22D,   1, 
2616             L23D,   1, 
2617             L24D,   1, 
2618             L25D,   1, 
2619             L26D,   1, 
2620             L27D,   1
2621         }
2622 
2623         OperationRegion (CLKC, SystemMemory, PCLK, 0x18)
2624         Field (CLKC, DWordAcc, Lock, Preserve)
2625         {
2626             CKC0,   2, 
2627             CKF0,   1, 
2628             Offset (0x04), 
2629             CKC1,   2, 
2630             CKF1,   1, 
2631             Offset (0x08), 
2632             CKC2,   2, 
2633             CKF2,   1, 
2634             Offset (0x0C), 
2635             CKC3,   2, 
2636             CKF3,   1, 
2637             Offset (0x10), 
2638             CKC4,   2, 
2639             CKF4,   1, 
2640             Offset (0x14), 
2641             CKC5,   2, 
2642             CKF5,   1, 
2643             Offset (0x18)
2644         }
2645     }
2646 
2647     Scope (_SB)
2648     {
2649         Device (LPEA)
2650         {
2651             Name (_ADR, Zero)  // _ADR: Address
2652             Name (_HID, "80860F28" /* Intel SST Audio DSP */)  // _HID: Hardware ID
2653             Name (_CID, "80860F28" /* Intel SST Audio DSP */)  // _CID: Compatible ID
2654             Name (_DDN, "Intel(R) Low Power Audio Controller - 80860F28")  // _DDN: DOS Device Name
2655             Name (_SUB, "80867270")  // _SUB: Subsystem ID
2656             Name (_UID, One)  // _UID: Unique ID
2657             Name (_DEP, Package (0x01)  // _DEP: Dependencies
2658             {
2659                 ^I2C2.TTLV
2660             })
2661             Name (WDEP, Package (0x01)
2662             {
2663                 ^I2C2.RTEK
2664             })
2665             Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
2666             {
2667                 PLPE
2668             })
2669             Method (_STA, 0, NotSerialized)  // _STA: Status
2670             {
2671                 If (((LPEE == 0x02) && (LPED == Zero)))
2672                 {
2673                     Return (0x0F)
2674                 }
2675 
2676                 Return (Zero)
2677             }
2678 
2679             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
2680             {
2681             }
2682 
2683             Name (RBUF, ResourceTemplate ()
2684             {
2685                 Memory32Fixed (ReadWrite,
2686                     0x12345678,         // Address Base
2687                     0x00200000,         // Address Length
2688                     _Y04)
2689                 Memory32Fixed (ReadWrite,
2690                     0xFE830000,         // Address Base
2691                     0x00001000,         // Address Length
2692                     _Y05)
2693                 Memory32Fixed (ReadWrite,
2694                     0x55AA55AA,         // Address Base
2695                     0x00200000,         // Address Length
2696                     _Y06)
2697                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
2698                 {
2699                     0x0000001D,
2700                 }
2701                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
2702                 {
2703                     0x00000018,
2704                 }
2705                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
2706                 {
2707                     0x00000019,
2708                 }
2709                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
2710                 {
2711                     0x0000001A,
2712                 }
2713                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
2714                 {
2715                     0x0000001B,
2716                 }
2717                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
2718                 {
2719                     0x0000001C,
2720                 }
2721             })
2722             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
2723             {
2724                 CreateDWordField (RBUF, \_SB.LPEA._Y04._BAS, B0BA)  // _BAS: Base Address
2725                 B0BA = LPE0 /* \LPE0 */
2726                 CreateDWordField (RBUF, \_SB.LPEA._Y05._BAS, B1BA)  // _BAS: Base Address
2727                 B1BA = LPE1 /* \LPE1 */
2728                 CreateDWordField (RBUF, \_SB.LPEA._Y06._BAS, B2BA)  // _BAS: Base Address
2729                 B2BA = LPE2 /* \LPE2 */
2730                 Return (RBUF) /* \_SB_.LPEA.RBUF */
2731             }
2732 
2733             OperationRegion (KEYS, SystemMemory, LPE1, 0x0100)
2734             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
2735             {
2736                 Offset (0x84), 
2737                 PSAT,   32
2738             }
2739 
2740             PowerResource (PLPE, 0x05, 0x0000)
2741             {
2742                 Method (_STA, 0, NotSerialized)  // _STA: Status
2743                 {
2744                     Return (One)
2745                 }
2746 
2747                 Method (_ON, 0, NotSerialized)  // _ON_: Power On
2748                 {
2749                     PSAT &= 0xFFFFFFFC
2750                     Local0 = PSAT /* \_SB_.LPEA.PSAT */
2751                 }
2752 
2753                 Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
2754                 {
2755                     PSAT |= 0x03
2756                     Local0 = PSAT /* \_SB_.LPEA.PSAT */
2757                 }
2758             }
2759 
2760             Device (ADMA)
2761             {
2762                 Name (_ADR, Zero)  // _ADR: Address
2763                 Name (_HID, "ADMA0F28" /* Intel Audio DMA */)  // _HID: Hardware ID
2764                 Name (_CID, "ADMA0F28" /* Intel Audio DMA */)  // _CID: Compatible ID
2765                 Name (_DDN, "Intel(R) Audio  DMA0 - DMA0F28")  // _DDN: DOS Device Name
2766                 Name (_UID, One)  // _UID: Unique ID
2767                 Method (_STA, 0, NotSerialized)  // _STA: Status
2768                 {
2769                     If ((OSSL & 0x80))
2770                     {
2771                         Return (0x0F)
2772                     }
2773 
2774                     Return (Zero)
2775                 }
2776 
2777                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
2778                 {
2779                     Name (RBUF, ResourceTemplate ()
2780                     {
2781                         Memory32Fixed (ReadWrite,
2782                             0xDF498000,         // Address Base
2783                             0x00001000,         // Address Length
2784                             _Y07)
2785                         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
2786                         {
2787                             0x00000018,
2788                         }
2789                     })
2790                     CreateDWordField (RBUF, \_SB.LPEA.ADMA._CRS._Y07._BAS, B0BA)  // _BAS: Base Address
2791                     B0BA = LPE0 /* \LPE0 */
2792                     Return (RBUF) /* \_SB_.LPEA.ADMA._CRS.RBUF */
2793                 }
2794             }
2795 
2796             Device (SSP1)
2797             {
2798                 Name (_ADR, Zero)  // _ADR: Address
2799                 Name (_HID, "SSPX0000" /* Intel SSP Device */)  // _HID: Hardware ID
2800                 Name (_CID, "SSPX0000" /* Intel SSP Device */)  // _CID: Compatible ID
2801                 Name (_DDN, "Intel(R) SSP Device")  // _DDN: DOS Device Name
2802                 Name (_UID, One)  // _UID: Unique ID
2803                 Method (_STA, 0, NotSerialized)  // _STA: Status
2804                 {
2805                     If ((OSSL & 0x80))
2806                     {
2807                         Return (0x0F)
2808                     }
2809 
2810                     Return (Zero)
2811                 }
2812 
2813                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
2814                 {
2815                     Name (RBUF, ResourceTemplate ()
2816                     {
2817                         Memory32Fixed (ReadWrite,
2818                             0xDF4A1000,         // Address Base
2819                             0x00001000,         // Address Length
2820                             _Y08)
2821                         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
2822                         {
2823                             0x0000001B,
2824                         }
2825                     })
2826                     CreateDWordField (RBUF, \_SB.LPEA.SSP1._CRS._Y08._BAS, B0BA)  // _BAS: Base Address
2827                     B0BA = (LPE0 + 0x000A1000)
2828                     Return (RBUF) /* \_SB_.LPEA.SSP1._CRS.RBUF */
2829                 }
2830 
2831                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
2832                 {
2833                     If ((Arg0 == ToUUID ("886a3f26-600c-4401-b7b1-01e9c2e7e77e")))
2834                     {
2835                         Return ("BLUET")
2836                     }
2837 
2838                     If ((Arg0 == ToUUID ("30d3f83e-2ee1-4bf0-86e9-f69ded2887ee")))
2839                     {
2840                         Return (One)
2841                     }
2842 
2843                     If ((Arg0 == ToUUID ("208b1400-f7c8-4325-ab32-53cd79b7d0a6")))
2844                     {
2845                         Return (0xFF2A1000)
2846                     }
2847 
2848                     If ((Arg0 == ToUUID ("e6e37c60-e78b-4fbd-bd26-5bd3667a6c9a")))
2849                     {
2850                         Switch (ToInteger (Arg1))
2851                         {
2852                             Case (0x08)
2853                             {
2854                                 Return (Buffer (0x05)
2855                                 {
2856                                      0x00, 0x00, 0x00, 0x00, 0x01                     // .....
2857                                 })
2858                             }
2859                             Case (0x10)
2860                             {
2861                                 Return (Buffer (0x05)
2862                                 {
2863                                      0x06, 0x02, 0x00, 0x0E, 0x10                     // .....
2864                                 })
2865                             }
2866                             Case (0x30)
2867                             {
2868                                 Return (Buffer (0x05)
2869                                 {
2870                                      0x06, 0x02, 0x00, 0x0E, 0x10                     // .....
2871                                 })
2872                             }
2873 
2874                         }
2875 
2876                         Return ("ERR-T")
2877                     }
2878 
2879                     Return ("ERR-M")
2880                 }
2881             }
2882         }
2883 
2884         Device (TIMC)
2885         {
2886             Name (_ADR, Zero)  // _ADR: Address
2887             Name (_HID, "TIMC0F28")  // _HID: Hardware ID
2888             Name (_CID, "TIMC0F28")  // _CID: Compatible ID
2889             Name (_DDN, "Intel(R) Audio Machine Driver - TIMC0F28")  // _DDN: DOS Device Name
2890             Name (_UID, One)  // _UID: Unique ID
2891             Name (_DEP, Package (0x02)  // _DEP: Dependencies
2892             {
2893                 GPO2, 
2894                 ^I2C2.TTLV
2895             })
2896             Method (_STA, 0, NotSerialized)  // _STA: Status
2897             {
2898                 If ((OSSL & 0x80))
2899                 {
2900                     Return (Zero)
2901                 }
2902 
2903                 Return (Zero)
2904             }
2905 
2906             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
2907             {
2908                 Name (RBUF, ResourceTemplate ()
2909                 {
2910                     GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
2911                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
2912                         )
2913                         {   // Pin list
2914                             0x0004
2915                         }
2916                     GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
2917                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
2918                         )
2919                         {   // Pin list
2920                             0x001B
2921                         }
2922                 })
2923                 Return (RBUF) /* \_SB_.TIMC._CRS.RBUF */
2924             }
2925         }
2926 
2927         Device (AMCR)
2928         {
2929             Name (_ADR, Zero)  // _ADR: Address
2930             Name (_HID, "AMCR0F28" /* Intel Audio Machine Driver */)  // _HID: Hardware ID
2931             Name (_CID, "AMCR0F28" /* Intel Audio Machine Driver */)  // _CID: Compatible ID
2932             Name (_DDN, "Intel(R) Audio Machine Driver - AMCR0F28")  // _DDN: DOS Device Name
2933             Name (_UID, One)  // _UID: Unique ID
2934             Name (_DEP, Package (0x02)  // _DEP: Dependencies
2935             {
2936                 GPO2, 
2937                 ^I2C2.RTEK
2938             })
2939             Method (_STA, 0, NotSerialized)  // _STA: Status
2940             {
2941                 If ((OSSL & 0x80))
2942                 {
2943                     Return (0x0F)
2944                 }
2945 
2946                 Return (Zero)
2947             }
2948 
2949             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
2950             {
2951                 Name (RBUF, ResourceTemplate ()
2952                 {
2953                     GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
2954                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
2955                         )
2956                         {   // Pin list
2957                             0x0004
2958                         }
2959                     GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
2960                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
2961                         )
2962                         {   // Pin list
2963                             0x001B
2964                         }
2965                 })
2966                 Return (RBUF) /* \_SB_.AMCR._CRS.RBUF */
2967             }
2968         }
2969 
2970         Device (HAD)
2971         {
2972             Name (_ADR, Zero)  // _ADR: Address
2973             Name (_HID, "HAD0F28" /* Intel HDMI Audio Driver */)  // _HID: Hardware ID
2974             Name (_CID, "HAD0F28" /* Intel HDMI Audio Driver */)  // _CID: Compatible ID
2975             Name (_DDN, "Intel(R) HDMI Audio Driver - HAD")  // _DDN: DOS Device Name
2976             Name (_UID, One)  // _UID: Unique ID
2977             Method (_STA, 0, NotSerialized)  // _STA: Status
2978             {
2979                 If ((OSSL & 0x80))
2980                 {
2981                     Return (0x0F)
2982                 }
2983 
2984                 Return (Zero)
2985             }
2986 
2987             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
2988             {
2989                 Name (RBUF, ResourceTemplate ()
2990                 {
2991                     Memory32Fixed (ReadWrite,
2992                         0x00065800,         // Address Base
2993                         0x00000140,         // Address Length
2994                         )
2995                 })
2996                 Return (RBUF) /* \_SB_.HAD_._CRS.RBUF */
2997             }
2998         }
2999     }
3000 
3001     Scope (_SB.PCI0)
3002     {
3003         Device (XHC1)
3004         {
3005             Name (_ADR, 0x00140000)  // _ADR: Address
3006             Name (_DDN, "Baytrail XHCI controller (CCG core/Host only)")  // _DDN: DOS Device Name
3007             Name (_DEP, Package (0x01)  // _DEP: Dependencies
3008             {
3009                 PEPD
3010             })
3011             Name (_STR, Unicode ("Baytrail XHCI controller (CCG core/Host only)"))  // _STR: Description String
3012             Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
3013             Name (MSET, Zero)
3014             Name (DDST, Zero)
3015             OperationRegion (PCSL, SystemMemory, 0xE00A0074, One)
3016             Field (PCSL, ByteAcc, NoLock, WriteAsZeros)
3017             {
3018                 PMPS,   2
3019             }
3020 
3021             OperationRegion (PCSH, SystemMemory, 0xE00A0075, One)
3022             Field (PCSH, ByteAcc, NoLock, Preserve)
3023             {
3024                 PMCH,   8
3025             }
3026 
3027             OperationRegion (XMSE, SystemMemory, 0xE00A0000, 0x0100)
3028             Field (XMSE, AnyAcc, NoLock, Preserve)
3029             {
3030                 Offset (0x04), 
3031                     ,   1, 
3032                 CMSE,   1, 
3033                 Offset (0x10), 
3034                 BAR0,   32, 
3035                 Offset (0x74), 
3036                 PMCS,   16, 
3037                 Offset (0xB0), 
3038                     ,   13, 
3039                 PHY2,   2, 
3040                     ,   13, 
3041                 USHP,   1, 
3042                     ,   1, 
3043                 SCFG,   1
3044             }
3045 
3046             Method (PWOF, 0, Serialized)
3047             {
3048                 SCFG = One
3049             }
3050 
3051             Method (PWON, 0, Serialized)
3052             {
3053                 SCFG = Zero
3054             }
3055 
3056             OperationRegion (XPRT, SystemMemory, (PEBS + 0x000A0000), 0x0100)
3057             Field (XPRT, AnyAcc, NoLock, Preserve)
3058             {
3059                 DVID,   16, 
3060                 Offset (0x74), 
3061                 D0D3,   2, 
3062                 Offset (0x75), 
3063                 PMEE,   1, 
3064                     ,   6, 
3065                 PMES,   1, 
3066                 Offset (0xB0), 
3067                     ,   13, 
3068                 MB13,   1, 
3069                 MB14,   1, 
3070                 Offset (0xB4), 
3071                 Offset (0xD0), 
3072                 PR2,    32, 
3073                 PR2M,   32, 
3074                 PR3,    32, 
3075                 PR3M,   32
3076             }
3077 
3078             OperationRegion (XHCP, SystemMemory, (PEBS + 0x000A0000), 0x0100)
3079             Field (XHCP, AnyAcc, Lock, Preserve)
3080             {
3081                 Offset (0x04), 
3082                 PDBM,   16, 
3083                 Offset (0x10), 
3084                 MEMB,   32
3085             }
3086 
3087             Name (PCHS, Zero)
3088             Name (SRMB, 0x90800000)
3089             Method (_PS0, 0, Serialized)  // _PS0: Power State 0
3090             {
3091                 ADBG ("XHC D0")
3092                 P8XH (Zero, 0xA0)
3093                 If ((DVID == 0xFFFF))
3094                 {
3095                     Return (Zero)
3096                 }
3097 
3098                 SRMB = (MEMB & 0xFFFFFFF0)
3099                 Local2 = MEMB /* \_SB_.PCI0.XHC1.MEMB */
3100                 Local1 = PDBM /* \_SB_.PCI0.XHC1.PDBM */
3101                 PDBM &= 0xFFFFFFFFFFFFFFF9
3102                 MEMB = SRMB /* \_SB_.PCI0.XHC1.SRMB */
3103                 PDBM |= 0x02
3104                 OperationRegion (MCA1, SystemMemory, SRMB, 0x9000)
3105                 Field (MCA1, DWordAcc, Lock, Preserve)
3106                 {
3107                     Offset (0x510), 
3108                     R510,   32, 
3109                     Offset (0x520), 
3110                     R520,   32, 
3111                     Offset (0x530), 
3112                     R530,   32, 
3113                     Offset (0x540), 
3114                     R540,   32, 
3115                     Offset (0x8058), 
3116                     Offset (0x8059), 
3117                     CDES,   1, 
3118                     Offset (0x805A), 
3119                     STSP,   1, 
3120                         ,   3, 
3121                     CFEC,   1, 
3122                     Offset (0x8060), 
3123                         ,   25, 
3124                     EPRE,   1, 
3125                     Offset (0x8094), 
3126                         ,   14, 
3127                     CMMF,   1, 
3128                         ,   6, 
3129                     ESSP,   1, 
3130                         ,   1, 
3131                     DAPA,   1, 
3132                     Offset (0x80E0), 
3133                         ,   15, 
3134                     AX15,   1, 
3135                     Offset (0x80FC), 
3136                         ,   25, 
3137                     PPL1,   1, 
3138                     Offset (0x8110), 
3139                         ,   1, 
3140                     CRNC,   1, 
3141                     Offset (0x8111), 
3142                     EPTD,   1, 
3143                         ,   2, 
3144                     HTPP,   1, 
3145                         ,   8, 
3146                     TRMC,   1, 
3147                     Offset (0x8140), 
3148                     MIDS,   12, 
3149                     AWPC,   12, 
3150                     EIHR,   8, 
3151                         ,   6, 
3152                     SSII,   1, 
3153                     SSIO,   1, 
3154                     HSII,   1, 
3155                     Offset (0x8154), 
3156                         ,   31, 
3157                     CLK2,   1, 
3158                     Offset (0x8164), 
3159                     ETBC,   1, 
3160                     ERBC,   1, 
3161                     ESAI,   1, 
3162                     ETMA,   1, 
3163                     EOAI,   1, 
3164                     EIAI,   1, 
3165                     TTEA,   1, 
3166                     ECMA,   1, 
3167                     Offset (0x816C), 
3168                         ,   2, 
3169                     CLK0,   1, 
3170                         ,   11, 
3171                     CLK1,   1, 
3172                     Offset (0x8188), 
3173                     Offset (0x818B), 
3174                     FIDD,   1, 
3175                         ,   1, 
3176                     FTSS,   1
3177                 }
3178 
3179                 Local3 = D0D3 /* \_SB_.PCI0.XHC1.D0D3 */
3180                 If ((Local3 == 0x03))
3181                 {
3182                     D0D3 = Zero
3183                     Sleep (0x0A)
3184                 }
3185 
3186                 If ((PCHS == 0x02))
3187                 {
3188                     MB13 = Zero
3189                     MB14 = Zero
3190                     CLK0 = Zero
3191                     CLK1 = Zero
3192                 }
3193 
3194                 CLK2 = One
3195                 CDES = One
3196                 STSP = One
3197                 CFEC = Zero
3198                 EPRE = One
3199                 DAPA = One
3200                 ESSP = One
3201                 CMMF = One
3202                 PPL1 = One
3203                 CRNC = Zero
3204                 EPTD = Zero
3205                 HTPP = One
3206                 TRMC = One
3207                 MIDS = 0x3C
3208                 AWPC = 0x0F
3209                 EIHR = 0xFF
3210                 SSII = One
3211                 SSIO = One
3212                 HSII = One
3213                 ERBC = One
3214                 ETBC = One
3215                 ESAI = One
3216                 ETMA = One
3217                 EOAI = One
3218                 EIAI = One
3219                 TTEA = One
3220                 ECMA = One
3221                 FIDD = One
3222                 FTSS = One
3223                 USHP = Zero
3224                 If ((PCHS == 0x02))
3225                 {
3226                     While (((((R510 & 0x03FB) == 0x02E0) || ((R520 & 
3227                         0x03FB) == 0x02E0)) || (((R530 & 0x03FB) == 0x02E0) || ((R540 & 
3228                         0x03FB) == 0x02E0))))
3229                     {
3230                         Stall (0x32)
3231                     }
3232 
3233                     Local0 = R510 /* \_SB_.PCI0.XHC1._PS0.R510 */
3234                     If (((Local0 & 0x000203FB) == 0x02A0))
3235                     {
3236                         R510 = (Local0 | 0x80000000)
3237                         While (((R510 & 0x00180000) == Zero))
3238                         {
3239                             Stall (0x32)
3240                         }
3241 
3242                         Local0 = (R510 & 0xFFFFFFFFFFFFFFFD)
3243                         R510 = (Local0 | 0x00FE0000)
3244                     }
3245 
3246                     Local0 = R520 /* \_SB_.PCI0.XHC1._PS0.R520 */
3247                     If (((Local0 & 0x000203FB) == 0x02A0))
3248                     {
3249                         R520 = (Local0 | 0x80000000)
3250                         While (((R520 & 0x00180000) == Zero))
3251                         {
3252                             Stall (0x32)
3253                         }
3254 
3255                         Local0 = (R520 & 0xFFFFFFFFFFFFFFFD)
3256                         R520 = (Local0 | 0x00FE0000)
3257                     }
3258 
3259                     Local0 = R530 /* \_SB_.PCI0.XHC1._PS0.R530 */
3260                     If (((Local0 & 0x000203FB) == 0x02A0))
3261                     {
3262                         R530 = (Local0 | 0x80000000)
3263                         While (((R530 & 0x00180000) == Zero))
3264                         {
3265                             Stall (0x32)
3266                         }
3267 
3268                         Local0 = (R530 & 0xFFFFFFFFFFFFFFFD)
3269                         R530 = (Local0 | 0x00FE0000)
3270                     }
3271 
3272                     Local0 = R540 /* \_SB_.PCI0.XHC1._PS0.R540 */
3273                     If (((Local0 & 0x000203FB) == 0x02A0))
3274                     {
3275                         R540 = (Local0 | 0x80000000)
3276                         While (((R540 & 0x00180000) == Zero))
3277                         {
3278                             Stall (0x32)
3279                         }
3280 
3281                         Local0 = (R540 & 0xFFFFFFFFFFFFFFFD)
3282                         R540 = (Local0 | 0x00FE0000)
3283                     }
3284 
3285                     AX15 = One
3286                 }
3287 
3288                 If ((Local3 == 0x03))
3289                 {
3290                     ADBG ("PS0->D3")
3291                     P8XH (Zero, 0xA1)
3292                     D0D3 = 0x03
3293                 }
3294                 Else
3295                 {
3296                     P8XH (Zero, 0xA2)
3297                 }
3298 
3299                 PDBM &= 0xFFFFFFFFFFFFFFFD
3300                 MEMB = Local2
3301                 PDBM = Local1
3302             }
3303 
3304             Method (_PS3, 0, Serialized)  // _PS3: Power State 3
3305             {
3306                 ADBG ("XHC D3")
3307                 P8XH (Zero, 0xB0)
3308                 If ((DVID == 0xFFFF))
3309                 {
3310                     Return (Zero)
3311                 }
3312 
3313                 SRMB = (MEMB & 0xFFFFFFF0)
3314                 Local2 = MEMB /* \_SB_.PCI0.XHC1.MEMB */
3315                 Local1 = PDBM /* \_SB_.PCI0.XHC1.PDBM */
3316                 PDBM &= 0xFFFFFFFFFFFFFFF9
3317                 MEMB = SRMB /* \_SB_.PCI0.XHC1.SRMB */
3318                 PDBM |= 0x02
3319                 OperationRegion (MCA1, SystemMemory, SRMB, 0x9000)
3320                 Field (MCA1, DWordAcc, Lock, Preserve)
3321                 {
3322                     Offset (0x80E0), 
3323                         ,   15, 
3324                     AX15,   1, 
3325                     Offset (0x8154), 
3326                         ,   31, 
3327                     CLK2,   1, 
3328                     Offset (0x816C), 
3329                         ,   2, 
3330                     CLK0,   1, 
3331                         ,   11, 
3332                     CLK1,   1, 
3333                     Offset (0x8170)
3334                 }
3335 
3336                 Local3 = D0D3 /* \_SB_.PCI0.XHC1.D0D3 */
3337                 If ((Local3 == 0x03))
3338                 {
3339                     D0D3 = Zero
3340                 }
3341 
3342                 If ((PCHS == 0x02))
3343                 {
3344                     MB13 = One
3345                     MB14 = One
3346                     CLK0 = One
3347                     CLK1 = One
3348                 }
3349 
3350                 CLK2 = Zero
3351                 If ((PCHS == 0x02))
3352                 {
3353                     AX15 = Zero
3354                 }
3355 
3356                 If ((PMEE == One))
3357                 {
3358                     USHP = One
3359                 }
3360 
3361                 If ((Local3 == 0x03))
3362                 {
3363                     ADBG ("PS3->D3")
3364                     P8XH (Zero, 0xB1)
3365                     D0D3 = 0x03
3366                 }
3367                 Else
3368                 {
3369                     P8XH (Zero, 0xB2)
3370                 }
3371 
3372                 PDBM &= 0xFFFFFFFFFFFFFFFD
3373                 MEMB = Local2
3374                 PDBM = Local1
3375             }
3376 
3377             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
3378             {
3379             }
3380 
3381             Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
3382             {
3383                 Return (Zero)
3384             }
3385 
3386             Method (_PR3, 0, NotSerialized)  // _PR3: Power Resources for D3hot
3387             {
3388                 Return (Package (0x01)
3389                 {
3390                     USBC
3391                 })
3392             }
3393 
3394             Method (_STA, 0, NotSerialized)  // _STA: Status
3395             {
3396                 If ((XHCI != Zero))
3397                 {
3398                     Return (0x0F)
3399                 }
3400                 Else
3401                 {
3402                     Return (Zero)
3403                 }
3404             }
3405 
3406             Device (RHUB)
3407             {
3408                 Name (_ADR, Zero)  // _ADR: Address
3409                 Device (SSP1)
3410                 {
3411                     Name (_ADR, 0x07)  // _ADR: Address
3412                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
3413                     {
3414                         Name (UPCP, Package (0x04)
3415                         {
3416                             Zero, 
3417                             0x06, 
3418                             Zero, 
3419                             Zero
3420                         })
3421                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._UPC.UPCP */
3422                     }
3423 
3424                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
3425                     {
3426                         Name (PLDP, Package (0x01)
3427                         {
3428                             Buffer (0x14)
3429                             {
3430                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3431                                 /* 0008 */  0x48, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // H.......
3432                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
3433                             }
3434                         })
3435                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._PLD.PLDP */
3436                     }
3437 
3438                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
3439                     {
3440                         ADBG ("DSM11")
3441                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
3442                         {
3443                             ADBG ("DSM12")
3444                             If ((Arg1 == Zero))
3445                             {
3446                                 ADBG ("DSM13")
3447                                 If ((Arg2 == Zero))
3448                                 {
3449                                     ADBG ("SSP1 QUERY")
3450                                     Debug = "Method _DSM Function Query"
3451                                     Return (Buffer (One)
3452                                     {
3453                                          0x05                                             // .
3454                                     })
3455                                 }
3456 
3457                                 If ((Arg2 == 0x02))
3458                                 {
3459                                     ADBG ("SSP1 DSM")
3460                                     Debug = "Method _DSM Function Index2"
3461                                     Return (Zero)
3462                                 }
3463                             }
3464                         }
3465                         Else
3466                         {
3467                             Return (Zero)
3468                         }
3469 
3470                         Return (Zero)
3471                     }
3472                 }
3473 
3474                 Device (HS01)
3475                 {
3476                     Name (_ADR, One)  // _ADR: Address
3477                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
3478                     {
3479                         Name (UPCP, Package (0x04)
3480                         {
3481                             0xFF, 
3482                             0x06, 
3483                             Zero, 
3484                             Zero
3485                         })
3486                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS01._UPC.UPCP */
3487                     }
3488 
3489                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
3490                     {
3491                         Name (PLDP, Package (0x01)
3492                         {
3493                             Buffer (0x14)
3494                             {
3495                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3496                                 /* 0008 */  0x49, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // I.......
3497                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
3498                             }
3499                         })
3500                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS01._PLD.PLDP */
3501                     }
3502 
3503                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
3504                     {
3505                         ADBG ("DSM21")
3506                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
3507                         {
3508                             ADBG ("DSM22")
3509                             If ((Arg1 == Zero))
3510                             {
3511                                 ADBG ("DSM23")
3512                                 If ((Arg2 == Zero))
3513                                 {
3514                                     ADBG ("HS01 QUERY")
3515                                     Debug = "Method _DSM Function Query"
3516                                     Return (Buffer (One)
3517                                     {
3518                                          0x05                                             // .
3519                                     })
3520                                 }
3521 
3522                                 If ((Arg2 == 0x02))
3523                                 {
3524                                     ADBG ("HS01 DSM")
3525                                     Debug = "Method _DSM Function Index2"
3526                                     Return (Zero)
3527                                 }
3528                             }
3529                         }
3530                         Else
3531                         {
3532                             Return (Zero)
3533                         }
3534 
3535                         Return (Zero)
3536                     }
3537                 }
3538 
3539                 Device (HS02)
3540                 {
3541                     Name (_ADR, 0x02)  // _ADR: Address
3542                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
3543                     {
3544                         Name (UPCP, Package (0x04)
3545                         {
3546                             0xFF, 
3547                             0xFF, 
3548                             Zero, 
3549                             Zero
3550                         })
3551                         Name (UPCR, Package (0x04)
3552                         {
3553                             0xFF, 
3554                             Zero, 
3555                             Zero, 
3556                             Zero
3557                         })
3558                         If ((BDID == 0x02))
3559                         {
3560                             Return (UPCR) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCR */
3561                         }
3562                         Else
3563                         {
3564                             Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCP */
3565                         }
3566                     }
3567 
3568                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
3569                     {
3570                         Name (PLDP, Package (0x01)
3571                         {
3572                             Buffer (0x14)
3573                             {
3574                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3575                                 /* 0008 */  0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // @.......
3576                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
3577                             }
3578                         })
3579                         Name (PLDR, Package (0x01)
3580                         {
3581                             Buffer (0x14)
3582                             {
3583                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3584                                 /* 0008 */  0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // A.......
3585                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
3586                             }
3587                         })
3588                         If ((BDID == 0x02))
3589                         {
3590                             Return (PLDR) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDR */
3591                         }
3592                         Else
3593                         {
3594                             Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDP */
3595                         }
3596                     }
3597 
3598                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
3599                     {
3600                         ADBG ("DSM31")
3601                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
3602                         {
3603                             ADBG ("DSM32")
3604                             If ((Arg1 == Zero))
3605                             {
3606                                 ADBG ("DSM33")
3607                                 If ((Arg2 == Zero))
3608                                 {
3609                                     ADBG ("HS02 QUERY")
3610                                     Debug = "Method _DSM Function Query"
3611                                     Return (Buffer (One)
3612                                     {
3613                                          0x05                                             // .
3614                                     })
3615                                 }
3616 
3617                                 If ((Arg2 == 0x02))
3618                                 {
3619                                     ADBG ("HS02 DSM")
3620                                     Debug = "Method _DSM Function Index2"
3621                                     Return (Zero)
3622                                 }
3623                             }
3624                         }
3625                         Else
3626                         {
3627                             Return (Zero)
3628                         }
3629 
3630                         Return (Zero)
3631                     }
3632                 }
3633 
3634                 Device (HS03)
3635                 {
3636                     Name (_ADR, 0x03)  // _ADR: Address
3637                     Name (_DEP, Package (0x01)  // _DEP: Dependencies
3638                     {
3639                         GPO2
3640                     })
3641                     Name (PSTS, Zero)
3642                     PowerResource (WWPR, 0x00, 0x0000)
3643                     {
3644                         Name (_DEP, Package (0x01)  // _DEP: Dependencies
3645                         {
3646                             GPO2
3647                         })
3648                         Method (_STA, 0, NotSerialized)  // _STA: Status
3649                         {
3650                             If ((\_SB.GPO2.AVBL == One))
3651                             {
3652                                 Return (\_SB.GPO2.WWD3)
3653                             }
3654 
3655                             Return (Zero)
3656                         }
3657 
3658                         Method (_ON, 0, NotSerialized)  // _ON_: Power On
3659                         {
3660                             If ((PSTS == Zero))
3661                             {
3662                                 If ((\_SB.GPO2.AVBL == One))
3663                                 {
3664                                     Sleep (0x0200)
3665                                     \_SB.GPO2.WWD3 = One
3666                                     PSTS = One
3667                                 }
3668                             }
3669                         }
3670 
3671                         Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
3672                         {
3673                             If ((\_SB.GPO2.AVBL == One))
3674                             {
3675                                 \_SB.GPO2.WWD3 = Zero
3676                                 PSTS = Zero
3677                             }
3678                         }
3679                     }
3680 
3681                     Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
3682                     Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
3683                     {
3684                         WWPR
3685                     })
3686                     Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
3687                     {
3688                         WWPR
3689                     })
3690                     Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
3691                     {
3692                         WWPR
3693                     })
3694                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
3695                     {
3696                         Name (UPCP, Package (0x04)
3697                         {
3698                             0xFF, 
3699                             0xFF, 
3700                             Zero, 
3701                             Zero
3702                         })
3703                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS03._UPC.UPCP */
3704                     }
3705 
3706                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
3707                     {
3708                         Name (PLDP, Package (0x01)
3709                         {
3710                             Buffer (0x14)
3711                             {
3712                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3713                                 /* 0008 */  0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // 0.......
3714                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
3715                             }
3716                         })
3717                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS03._PLD.PLDP */
3718                     }
3719 
3720                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
3721                     {
3722                         ADBG ("DSM41")
3723                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
3724                         {
3725                             ADBG ("DSM42")
3726                             If ((Arg1 == Zero))
3727                             {
3728                                 ADBG ("DSM43")
3729                                 If ((Arg2 == Zero))
3730                                 {
3731                                     ADBG ("HS03 QUERY")
3732                                     Debug = "Method _DSM Function Query"
3733                                     Return (Buffer (One)
3734                                     {
3735                                          0x05                                             // .
3736                                     })
3737                                 }
3738 
3739                                 If ((Arg2 == 0x02))
3740                                 {
3741                                     ADBG ("HS03 DSM")
3742                                     Debug = "Method _DSM Function Index2"
3743                                     Return (Zero)
3744                                 }
3745                             }
3746                         }
3747                         Else
3748                         {
3749                             Return (Zero)
3750                         }
3751 
3752                         Return (Zero)
3753                     }
3754 
3755                     Device (MODM)
3756                     {
3757                         Name (_ADR, 0x03)  // _ADR: Address
3758                         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
3759                         {
3760                             WWPR
3761                         })
3762                         Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
3763                         {
3764                             WWPR
3765                         })
3766                         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
3767                         {
3768                             WWPR
3769                         })
3770                     }
3771                 }
3772 
3773                 Device (HS04)
3774                 {
3775                     Name (_ADR, 0x04)  // _ADR: Address
3776                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
3777                     {
3778                         Name (UPCP, Package (0x04)
3779                         {
3780                             0xFF, 
3781                             0xFF, 
3782                             Zero, 
3783                             Zero
3784                         })
3785                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS04._UPC.UPCP */
3786                     }
3787 
3788                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
3789                     {
3790                         Name (PLDP, Package (0x01)
3791                         {
3792                             Buffer (0x14)
3793                             {
3794                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3795                                 /* 0008 */  0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // 0.......
3796                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
3797                             }
3798                         })
3799                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS04._PLD.PLDP */
3800                     }
3801 
3802                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
3803                     {
3804                         ADBG ("DSM51")
3805                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
3806                         {
3807                             ADBG ("DSM52")
3808                             If ((Arg1 == Zero))
3809                             {
3810                                 ADBG ("DSM53")
3811                                 If ((Arg2 == Zero))
3812                                 {
3813                                     ADBG ("HS04 QUERY")
3814                                     Debug = "Method _DSM Function Query"
3815                                     Return (Buffer (One)
3816                                     {
3817                                          0x05                                             // .
3818                                     })
3819                                 }
3820 
3821                                 If ((Arg2 == 0x02))
3822                                 {
3823                                     ADBG ("HS04 DSM")
3824                                     Debug = "Method _DSM Function Index2"
3825                                     Return (Zero)
3826                                 }
3827                             }
3828                         }
3829                         Else
3830                         {
3831                             Return (Zero)
3832                         }
3833 
3834                         Return (Zero)
3835                     }
3836                 }
3837 
3838                 Device (HSC1)
3839                 {
3840                     Name (_ADR, 0x05)  // _ADR: Address
3841                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
3842                     {
3843                         Name (UPCP, Package (0x04)
3844                         {
3845                             0xFF, 
3846                             0xFF, 
3847                             Zero, 
3848                             Zero
3849                         })
3850                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC1._UPC.UPCP */
3851                     }
3852 
3853                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
3854                     {
3855                         Name (PLDP, Package (0x01)
3856                         {
3857                             Buffer (0x14)
3858                             {
3859                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3860                                 /* 0008 */  0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // 0.......
3861                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
3862                             }
3863                         })
3864                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC1._PLD.PLDP */
3865                     }
3866 
3867                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
3868                     {
3869                         ADBG ("DSM61")
3870                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
3871                         {
3872                             ADBG ("DSM62")
3873                             If ((Arg1 == Zero))
3874                             {
3875                                 ADBG ("DSM63")
3876                                 If ((Arg2 == Zero))
3877                                 {
3878                                     ADBG ("HSIC1 QUERY")
3879                                     Debug = "Method _DSM Function Query"
3880                                     Return (Buffer (One)
3881                                     {
3882                                          0x05                                             // .
3883                                     })
3884                                 }
3885 
3886                                 If ((Arg2 == 0x02))
3887                                 {
3888                                     ADBG ("HSIC1 DSM")
3889                                     Debug = "Method _DSM Function Index2"
3890                                     Return (One)
3891                                 }
3892                             }
3893                         }
3894                         Else
3895                         {
3896                             Return (Zero)
3897                         }
3898 
3899                         Return (Zero)
3900                     }
3901                 }
3902 
3903                 Device (HSC2)
3904                 {
3905                     Name (_ADR, 0x06)  // _ADR: Address
3906                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
3907                     {
3908                         Name (UPCP, Package (0x04)
3909                         {
3910                             0xFF, 
3911                             0xFF, 
3912                             Zero, 
3913                             Zero
3914                         })
3915                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._UPC.UPCP */
3916                     }
3917 
3918                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
3919                     {
3920                         Name (PLDP, Package (0x01)
3921                         {
3922                             Buffer (0x14)
3923                             {
3924                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3925                                 /* 0008 */  0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // 0.......
3926                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
3927                             }
3928                         })
3929                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._PLD.PLDP */
3930                     }
3931 
3932                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
3933                     {
3934                         ADBG ("DSM71")
3935                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
3936                         {
3937                             ADBG ("DSM72")
3938                             If ((Arg1 == Zero))
3939                             {
3940                                 ADBG ("DSM73")
3941                                 If ((Arg2 == Zero))
3942                                 {
3943                                     ADBG ("HSIC2 QUERY")
3944                                     Debug = "Method _DSM Function Query"
3945                                     Return (Buffer (One)
3946                                     {
3947                                          0x05                                             // .
3948                                     })
3949                                 }
3950 
3951                                 If ((Arg2 == 0x02))
3952                                 {
3953                                     ADBG ("HSIC2 DSM called")
3954                                     Debug = "Method _DSM Function Index2"
3955                                     Return (One)
3956                                 }
3957                             }
3958                         }
3959                         Else
3960                         {
3961                             Return (Zero)
3962                         }
3963 
3964                         Return (Zero)
3965                     }
3966                 }
3967             }
3968         }
3969 
3970         Device (OTG1)
3971         {
3972             Name (_ADR, 0x00160000)  // _ADR: Address
3973             Name (_DDN, "Baytrail XHCI controller (Synopsys core/OTG)")  // _DDN: DOS Device Name
3974             Name (_STR, Unicode ("Baytrail XHCI controller (Synopsys core/OTG)"))  // _STR: Description String
3975             Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
3976             OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
3977             Field (PMEB, WordAcc, NoLock, Preserve)
3978             {
3979                 Offset (0x01), 
3980                 PMEE,   1, 
3981                     ,   6, 
3982                 PMES,   1
3983             }
3984 
3985             OperationRegion (GENR, PCI_Config, 0xA0, 0x10)
3986             Field (GENR, WordAcc, NoLock, Preserve)
3987             {
3988                     ,   18, 
3989                 CPME,   1, 
3990                 U2EN,   1, 
3991                 U3EN,   1
3992             }
3993 
3994             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
3995             {
3996                 CPME = One
3997                 U2EN = One
3998                 U3EN = One
3999             }
4000 
4001             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
4002             {
4003                 CPME = Zero
4004                 U2EN = Zero
4005                 U3EN = Zero
4006             }
4007 
4008             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
4009             {
4010             }
4011 
4012             Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
4013             {
4014                 Return (Zero)
4015             }
4016 
4017             Method (_PR3, 0, NotSerialized)  // _PR3: Power Resources for D3hot
4018             {
4019                 Return (Package (0x01)
4020                 {
4021                     USBC
4022                 })
4023             }
4024 
4025             Method (_STA, 0, NotSerialized)  // _STA: Status
4026             {
4027                 If ((OTGM != Zero))
4028                 {
4029                     Return (0x0F)
4030                 }
4031                 Else
4032                 {
4033                     Return (Zero)
4034                 }
4035             }
4036         }
4037 
4038         Scope (\_SB)
4039         {
4040             PowerResource (USBC, 0x00, 0x0000)
4041             {
4042                 Method (_STA, 0, NotSerialized)  // _STA: Status
4043                 {
4044                     Return (0x0F)
4045                 }
4046 
4047                 Method (_ON, 0, NotSerialized)  // _ON_: Power On
4048                 {
4049                 }
4050 
4051                 Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
4052                 {
4053                 }
4054             }
4055         }
4056 
4057         Device (EHC1)
4058         {
4059             Name (_ADR, 0x001D0000)  // _ADR: Address
4060             Name (_DEP, Package (0x01)  // _DEP: Dependencies
4061             {
4062                 PEPD
4063             })
4064             OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
4065             Field (PWKE, DWordAcc, NoLock, Preserve)
4066             {
4067                     ,   1, 
4068                 PWUC,   8
4069             }
4070 
4071             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
4072             {
4073                 If (Arg0)
4074                 {
4075                     PWUC = Ones
4076                 }
4077                 Else
4078                 {
4079                     PWUC = Zero
4080                 }
4081             }
4082 
4083             Device (HUBN)
4084             {
4085                 Name (_ADR, Zero)  // _ADR: Address
4086                 Device (PR01)
4087                 {
4088                     Name (_ADR, One)  // _ADR: Address
4089                     Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4090                     {
4091                         0xFF, 
4092                         Zero, 
4093                         Zero, 
4094                         Zero
4095                     })
4096                     Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4097                     {
4098                         ToPLD (
4099                             PLD_Revision           = 0x1,
4100                             PLD_IgnoreColor        = 0x1,
4101                             PLD_Red                = 0x0,
4102                             PLD_Green              = 0x0,
4103                             PLD_Blue               = 0x0,
4104                             PLD_Width              = 0x0,
4105                             PLD_Height             = 0x0,
4106                             PLD_UserVisible        = 0x0,
4107                             PLD_Dock               = 0x0,
4108                             PLD_Lid                = 0x0,
4109                             PLD_Panel              = "UNKNOWN",
4110                             PLD_VerticalPosition   = "UPPER",
4111                             PLD_HorizontalPosition = "LEFT",
4112                             PLD_Shape              = "UNKNOWN",
4113                             PLD_GroupOrientation   = 0x0,
4114                             PLD_GroupToken         = 0x0,
4115                             PLD_GroupPosition      = 0x0,
4116                             PLD_Bay                = 0x0,
4117                             PLD_Ejectable          = 0x0,
4118                             PLD_EjectRequired      = 0x0,
4119                             PLD_CabinetNumber      = 0x0,
4120                             PLD_CardCageNumber     = 0x0,
4121                             PLD_Reference          = 0x0,
4122                             PLD_Rotation           = 0x0,
4123                             PLD_Order              = 0x0)
4124 
4125                     })
4126                     Device (PR11)
4127                     {
4128                         Name (_ADR, One)  // _ADR: Address
4129                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4130                         {
4131                             0xFF, 
4132                             0xFF, 
4133                             Zero, 
4134                             Zero
4135                         })
4136                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4137                         {
4138                             ToPLD (
4139                                 PLD_Revision           = 0x1,
4140                                 PLD_IgnoreColor        = 0x1,
4141                                 PLD_Red                = 0x0,
4142                                 PLD_Green              = 0x0,
4143                                 PLD_Blue               = 0x0,
4144                                 PLD_Width              = 0x0,
4145                                 PLD_Height             = 0x0,
4146                                 PLD_UserVisible        = 0x1,
4147                                 PLD_Dock               = 0x0,
4148                                 PLD_Lid                = 0x0,
4149                                 PLD_Panel              = "FRONT",
4150                                 PLD_VerticalPosition   = "",
4151                                 PLD_HorizontalPosition = "LEFT",
4152                                 PLD_Shape              = "UNKNOWN",
4153                                 PLD_GroupOrientation   = 0x0,
4154                                 PLD_GroupToken         = 0x0,
4155                                 PLD_GroupPosition      = 0x0,
4156                                 PLD_Bay                = 0x0,
4157                                 PLD_Ejectable          = 0x0,
4158                                 PLD_EjectRequired      = 0x0,
4159                                 PLD_CabinetNumber      = 0x0,
4160                                 PLD_CardCageNumber     = 0x0,
4161                                 PLD_Reference          = 0x0,
4162                                 PLD_Rotation           = 0x0,
4163                                 PLD_Order              = 0x0)
4164 
4165                         })
4166                     }
4167 
4168                     Device (PR12)
4169                     {
4170                         Name (_ADR, 0x02)  // _ADR: Address
4171                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4172                         {
4173                             0xFF, 
4174                             0xFF, 
4175                             Zero, 
4176                             Zero
4177                         })
4178                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4179                         {
4180                             ToPLD (
4181                                 PLD_Revision           = 0x1,
4182                                 PLD_IgnoreColor        = 0x1,
4183                                 PLD_Red                = 0x0,
4184                                 PLD_Green              = 0x0,
4185                                 PLD_Blue               = 0x0,
4186                                 PLD_Width              = 0x0,
4187                                 PLD_Height             = 0x0,
4188                                 PLD_UserVisible        = 0x1,
4189                                 PLD_Dock               = 0x0,
4190                                 PLD_Lid                = 0x0,
4191                                 PLD_Panel              = "FRONT",
4192                                 PLD_VerticalPosition   = "",
4193                                 PLD_HorizontalPosition = "CENTER",
4194                                 PLD_Shape              = "UNKNOWN",
4195                                 PLD_GroupOrientation   = 0x0,
4196                                 PLD_GroupToken         = 0x0,
4197                                 PLD_GroupPosition      = 0x0,
4198                                 PLD_Bay                = 0x0,
4199                                 PLD_Ejectable          = 0x0,
4200                                 PLD_EjectRequired      = 0x0,
4201                                 PLD_CabinetNumber      = 0x0,
4202                                 PLD_CardCageNumber     = 0x0,
4203                                 PLD_Reference          = 0x0,
4204                                 PLD_Rotation           = 0x0,
4205                                 PLD_Order              = 0x0)
4206 
4207                         })
4208                     }
4209 
4210                     Device (PR13)
4211                     {
4212                         Name (_ADR, 0x03)  // _ADR: Address
4213                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4214                         {
4215                             0xFF, 
4216                             0xFF, 
4217                             Zero, 
4218                             Zero
4219                         })
4220                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4221                         {
4222                             ToPLD (
4223                                 PLD_Revision           = 0x1,
4224                                 PLD_IgnoreColor        = 0x1,
4225                                 PLD_Red                = 0x0,
4226                                 PLD_Green              = 0x0,
4227                                 PLD_Blue               = 0x0,
4228                                 PLD_Width              = 0x0,
4229                                 PLD_Height             = 0x0,
4230                                 PLD_UserVisible        = 0x1,
4231                                 PLD_Dock               = 0x0,
4232                                 PLD_Lid                = 0x0,
4233                                 PLD_Panel              = "FRONT",
4234                                 PLD_VerticalPosition   = "",
4235                                 PLD_HorizontalPosition = "CENTER",
4236                                 PLD_Shape              = "UNKNOWN",
4237                                 PLD_GroupOrientation   = 0x0,
4238                                 PLD_GroupToken         = 0x0,
4239                                 PLD_GroupPosition      = 0x0,
4240                                 PLD_Bay                = 0x0,
4241                                 PLD_Ejectable          = 0x0,
4242                                 PLD_EjectRequired      = 0x0,
4243                                 PLD_CabinetNumber      = 0x0,
4244                                 PLD_CardCageNumber     = 0x0,
4245                                 PLD_Reference          = 0x0,
4246                                 PLD_Rotation           = 0x0,
4247                                 PLD_Order              = 0x0)
4248 
4249                         })
4250                     }
4251 
4252                     Device (PR14)
4253                     {
4254                         Name (_ADR, 0x04)  // _ADR: Address
4255                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4256                         {
4257                             0xFF, 
4258                             0xFF, 
4259                             Zero, 
4260                             Zero
4261                         })
4262                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4263                         {
4264                             ToPLD (
4265                                 PLD_Revision           = 0x1,
4266                                 PLD_IgnoreColor        = 0x1,
4267                                 PLD_Red                = 0x0,
4268                                 PLD_Green              = 0x0,
4269                                 PLD_Blue               = 0x0,
4270                                 PLD_Width              = 0x0,
4271                                 PLD_Height             = 0x0,
4272                                 PLD_UserVisible        = 0x1,
4273                                 PLD_Dock               = 0x0,
4274                                 PLD_Lid                = 0x0,
4275                                 PLD_Panel              = "FRONT",
4276                                 PLD_VerticalPosition   = "",
4277                                 PLD_HorizontalPosition = "RIGHT",
4278                                 PLD_Shape              = "UNKNOWN",
4279                                 PLD_GroupOrientation   = 0x0,
4280                                 PLD_GroupToken         = 0x0,
4281                                 PLD_GroupPosition      = 0x0,
4282                                 PLD_Bay                = 0x0,
4283                                 PLD_Ejectable          = 0x0,
4284                                 PLD_EjectRequired      = 0x0,
4285                                 PLD_CabinetNumber      = 0x0,
4286                                 PLD_CardCageNumber     = 0x0,
4287                                 PLD_Reference          = 0x0,
4288                                 PLD_Rotation           = 0x0,
4289                                 PLD_Order              = 0x0)
4290 
4291                         })
4292                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
4293                         {
4294                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
4295                             {
4296                                 Switch (ToInteger (Arg2))
4297                                 {
4298                                     Case (Zero)
4299                                     {
4300                                         If ((Arg1 == One))
4301                                         {
4302                                             Return (Buffer (One)
4303                                             {
4304                                                  0x07                                             // .
4305                                             })
4306                                         }
4307                                         Else
4308                                         {
4309                                             Return (Buffer (One)
4310                                             {
4311                                                  0x00                                             // .
4312                                             })
4313                                         }
4314                                     }
4315                                     Case (One)
4316                                     {
4317                                         If ((SDGV == 0xFF))
4318                                         {
4319                                             Return (Zero)
4320                                         }
4321                                         Else
4322                                         {
4323                                             Return (One)
4324                                         }
4325                                     }
4326                                     Case (0x02)
4327                                     {
4328                                         Return (SDGV) /* \SDGV */
4329                                     }
4330 
4331                                 }
4332                             }
4333 
4334                             Return (Zero)
4335                         }
4336                     }
4337 
4338                     Device (PR15)
4339                     {
4340                         Name (_ADR, 0x05)  // _ADR: Address
4341                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4342                         {
4343                             0xFF, 
4344                             0xFF, 
4345                             Zero, 
4346                             Zero
4347                         })
4348                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4349                         {
4350                             ToPLD (
4351                                 PLD_Revision           = 0x1,
4352                                 PLD_IgnoreColor        = 0x1,
4353                                 PLD_Red                = 0x0,
4354                                 PLD_Green              = 0x0,
4355                                 PLD_Blue               = 0x0,
4356                                 PLD_Width              = 0x0,
4357                                 PLD_Height             = 0x0,
4358                                 PLD_UserVisible        = 0x1,
4359                                 PLD_Dock               = 0x0,
4360                                 PLD_Lid                = 0x0,
4361                                 PLD_Panel              = "UNKNOWN",
4362                                 PLD_VerticalPosition   = "LOWER",
4363                                 PLD_HorizontalPosition = "RIGHT",
4364                                 PLD_Shape              = "UNKNOWN",
4365                                 PLD_GroupOrientation   = 0x0,
4366                                 PLD_GroupToken         = 0x0,
4367                                 PLD_GroupPosition      = 0x0,
4368                                 PLD_Bay                = 0x0,
4369                                 PLD_Ejectable          = 0x0,
4370                                 PLD_EjectRequired      = 0x0,
4371                                 PLD_CabinetNumber      = 0x0,
4372                                 PLD_CardCageNumber     = 0x0,
4373                                 PLD_Reference          = 0x0,
4374                                 PLD_Rotation           = 0x0,
4375                                 PLD_Order              = 0x0)
4376 
4377                         })
4378                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
4379                         {
4380                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
4381                             {
4382                                 Switch (ToInteger (Arg2))
4383                                 {
4384                                     Case (Zero)
4385                                     {
4386                                         If ((Arg1 == One))
4387                                         {
4388                                             Return (Buffer (One)
4389                                             {
4390                                                  0x07                                             // .
4391                                             })
4392                                         }
4393                                         Else
4394                                         {
4395                                             Return (Buffer (One)
4396                                             {
4397                                                  0x00                                             // .
4398                                             })
4399                                         }
4400                                     }
4401                                     Case (One)
4402                                     {
4403                                         If ((SDGV == 0xFF))
4404                                         {
4405                                             Return (Zero)
4406                                         }
4407                                         Else
4408                                         {
4409                                             Return (One)
4410                                         }
4411                                     }
4412                                     Case (0x02)
4413                                     {
4414                                         Return (SDGV) /* \SDGV */
4415                                     }
4416 
4417                                 }
4418                             }
4419 
4420                             Return (Zero)
4421                         }
4422                     }
4423 
4424                     Device (PR16)
4425                     {
4426                         Name (_ADR, 0x06)  // _ADR: Address
4427                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4428                         {
4429                             0xFF, 
4430                             0xFF, 
4431                             Zero, 
4432                             Zero
4433                         })
4434                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4435                         {
4436                             ToPLD (
4437                                 PLD_Revision           = 0x1,
4438                                 PLD_IgnoreColor        = 0x1,
4439                                 PLD_Red                = 0x0,
4440                                 PLD_Green              = 0x0,
4441                                 PLD_Blue               = 0x0,
4442                                 PLD_Width              = 0x0,
4443                                 PLD_Height             = 0x0,
4444                                 PLD_UserVisible        = 0x1,
4445                                 PLD_Dock               = 0x0,
4446                                 PLD_Lid                = 0x0,
4447                                 PLD_Panel              = "UNKNOWN",
4448                                 PLD_VerticalPosition   = "LOWER",
4449                                 PLD_HorizontalPosition = "RIGHT",
4450                                 PLD_Shape              = "UNKNOWN",
4451                                 PLD_GroupOrientation   = 0x0,
4452                                 PLD_GroupToken         = 0x0,
4453                                 PLD_GroupPosition      = 0x0,
4454                                 PLD_Bay                = 0x0,
4455                                 PLD_Ejectable          = 0x0,
4456                                 PLD_EjectRequired      = 0x0,
4457                                 PLD_CabinetNumber      = 0x0,
4458                                 PLD_CardCageNumber     = 0x0,
4459                                 PLD_Reference          = 0x0,
4460                                 PLD_Rotation           = 0x0,
4461                                 PLD_Order              = 0x0)
4462 
4463                         })
4464                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
4465                         {
4466                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
4467                             {
4468                                 Switch (ToInteger (Arg2))
4469                                 {
4470                                     Case (Zero)
4471                                     {
4472                                         If ((Arg1 == One))
4473                                         {
4474                                             Return (Buffer (One)
4475                                             {
4476                                                  0x07                                             // .
4477                                             })
4478                                         }
4479                                         Else
4480                                         {
4481                                             Return (Buffer (One)
4482                                             {
4483                                                  0x00                                             // .
4484                                             })
4485                                         }
4486                                     }
4487                                     Case (One)
4488                                     {
4489                                         If ((SDGV == 0xFF))
4490                                         {
4491                                             Return (Zero)
4492                                         }
4493                                         Else
4494                                         {
4495                                             Return (One)
4496                                         }
4497                                     }
4498                                     Case (0x02)
4499                                     {
4500                                         Return (SDGV) /* \SDGV */
4501                                     }
4502 
4503                                 }
4504                             }
4505 
4506                             Return (Zero)
4507                         }
4508                     }
4509 
4510                     Device (PR17)
4511                     {
4512                         Name (_ADR, 0x07)  // _ADR: Address
4513                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4514                         {
4515                             0xFF, 
4516                             0xFF, 
4517                             Zero, 
4518                             Zero
4519                         })
4520                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4521                         {
4522                             ToPLD (
4523                                 PLD_Revision           = 0x1,
4524                                 PLD_IgnoreColor        = 0x1,
4525                                 PLD_Red                = 0x0,
4526                                 PLD_Green              = 0x0,
4527                                 PLD_Blue               = 0x0,
4528                                 PLD_Width              = 0x0,
4529                                 PLD_Height             = 0x0,
4530                                 PLD_UserVisible        = 0x1,
4531                                 PLD_Dock               = 0x0,
4532                                 PLD_Lid                = 0x0,
4533                                 PLD_Panel              = "UNKNOWN",
4534                                 PLD_VerticalPosition   = "LOWER",
4535                                 PLD_HorizontalPosition = "RIGHT",
4536                                 PLD_Shape              = "UNKNOWN",
4537                                 PLD_GroupOrientation   = 0x0,
4538                                 PLD_GroupToken         = 0x0,
4539                                 PLD_GroupPosition      = 0x0,
4540                                 PLD_Bay                = 0x0,
4541                                 PLD_Ejectable          = 0x0,
4542                                 PLD_EjectRequired      = 0x0,
4543                                 PLD_CabinetNumber      = 0x0,
4544                                 PLD_CardCageNumber     = 0x0,
4545                                 PLD_Reference          = 0x0,
4546                                 PLD_Rotation           = 0x0,
4547                                 PLD_Order              = 0x0)
4548 
4549                         })
4550                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
4551                         {
4552                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
4553                             {
4554                                 Switch (ToInteger (Arg2))
4555                                 {
4556                                     Case (Zero)
4557                                     {
4558                                         If ((Arg1 == One))
4559                                         {
4560                                             Return (Buffer (One)
4561                                             {
4562                                                  0x07                                             // .
4563                                             })
4564                                         }
4565                                         Else
4566                                         {
4567                                             Return (Buffer (One)
4568                                             {
4569                                                  0x00                                             // .
4570                                             })
4571                                         }
4572                                     }
4573                                     Case (One)
4574                                     {
4575                                         If ((SDGV == 0xFF))
4576                                         {
4577                                             Return (Zero)
4578                                         }
4579                                         Else
4580                                         {
4581                                             Return (One)
4582                                         }
4583                                     }
4584                                     Case (0x02)
4585                                     {
4586                                         Return (SDGV) /* \SDGV */
4587                                     }
4588 
4589                                 }
4590                             }
4591 
4592                             Return (Zero)
4593                         }
4594                     }
4595 
4596                     Device (PR18)
4597                     {
4598                         Name (_ADR, 0x08)  // _ADR: Address
4599                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4600                         {
4601                             0xFF, 
4602                             0xFF, 
4603                             Zero, 
4604                             Zero
4605                         })
4606                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4607                         {
4608                             ToPLD (
4609                                 PLD_Revision           = 0x1,
4610                                 PLD_IgnoreColor        = 0x1,
4611                                 PLD_Red                = 0x0,
4612                                 PLD_Green              = 0x0,
4613                                 PLD_Blue               = 0x0,
4614                                 PLD_Width              = 0x0,
4615                                 PLD_Height             = 0x0,
4616                                 PLD_UserVisible        = 0x1,
4617                                 PLD_Dock               = 0x0,
4618                                 PLD_Lid                = 0x0,
4619                                 PLD_Panel              = "UNKNOWN",
4620                                 PLD_VerticalPosition   = "LOWER",
4621                                 PLD_HorizontalPosition = "RIGHT",
4622                                 PLD_Shape              = "UNKNOWN",
4623                                 PLD_GroupOrientation   = 0x0,
4624                                 PLD_GroupToken         = 0x0,
4625                                 PLD_GroupPosition      = 0x0,
4626                                 PLD_Bay                = 0x0,
4627                                 PLD_Ejectable          = 0x0,
4628                                 PLD_EjectRequired      = 0x0,
4629                                 PLD_CabinetNumber      = 0x0,
4630                                 PLD_CardCageNumber     = 0x0,
4631                                 PLD_Reference          = 0x0,
4632                                 PLD_Rotation           = 0x0,
4633                                 PLD_Order              = 0x0)
4634 
4635                         })
4636                     }
4637                 }
4638             }
4639 
4640             Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
4641             OperationRegion (USBR, PCI_Config, 0x54, 0x04)
4642             Field (USBR, WordAcc, NoLock, Preserve)
4643             {
4644                 Offset (0x01), 
4645                 PMEE,   1, 
4646                     ,   6, 
4647                 PMES,   1
4648             }
4649 
4650             Method (_STA, 0, NotSerialized)  // _STA: Status
4651             {
4652                 If ((XHCI == Zero))
4653                 {
4654                     Return (0x0F)
4655                 }
4656                 Else
4657                 {
4658                     Return (Zero)
4659                 }
4660             }
4661 
4662             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
4663             {
4664             }
4665 
4666             Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
4667             {
4668                 Return (Zero)
4669             }
4670 
4671             Method (_PR3, 0, NotSerialized)  // _PR3: Power Resources for D3hot
4672             {
4673                 Return (Package (0x01)
4674                 {
4675                     USBC
4676                 })
4677             }
4678         }
4679 
4680         Device (SEC0)
4681         {
4682             Name (_ADR, 0x001A0000)  // _ADR: Address
4683             Name (_DEP, Package (0x01)  // _DEP: Dependencies
4684             {
4685                 PEPD
4686             })
4687             Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
4688             OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
4689             Field (PMEB, WordAcc, NoLock, Preserve)
4690             {
4691                 Offset (0x01), 
4692                 PMEE,   1, 
4693                     ,   6, 
4694                 PMES,   1
4695             }
4696 
4697             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
4698             {
4699             }
4700 
4701             Name (RBUF, ResourceTemplate ()
4702             {
4703                 Memory32Fixed (ReadWrite,
4704                     0x00000000,         // Address Base
4705                     0x00000000,         // Address Length
4706                     _Y09)
4707             })
4708             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4709             {
4710                 If ((PAVP == 0x02))
4711                 {
4712                     CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y09._BAS, B0BA)  // _BAS: Base Address
4713                     CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y09._LEN, B0LN)  // _LEN: Length
4714                     B0BA = PAVB /* \PAVB */
4715                     B0LN = PAVL /* \PAVL */
4716                     Return (RBUF) /* \_SB_.PCI0.SEC0.RBUF */
4717                 }
4718 
4719                 Return (Buffer (0x02)
4720                 {
4721                      0x79, 0x00                                       // y.
4722                 })
4723             }
4724         }
4725     }
4726 
4727     Scope (_SB.PCI0)
4728     {
4729         Device (GFX0)
4730         {
4731             Name (_ADR, 0x00020000)  // _ADR: Address
4732             Name (_DEP, Package (0x01)  // _DEP: Dependencies
4733             {
4734                 PEPD
4735             })
4736             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4737             {
4738                 Name (SBUF, Buffer (0x02)
4739                 {
4740                      0x79, 0x00                                       // y.
4741                 })
4742                 Return (SBUF) /* \_SB_.PCI0.GFX0._CRS.SBUF */
4743             }
4744 
4745             Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
4746             Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
4747             {
4748                 DSEN = (Arg0 & 0x07)
4749             }
4750 
4751             Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
4752             {
4753                 NDID = Zero
4754                 If ((DIDL != Zero))
4755                 {
4756                     DID1 = SDDL (DIDL)
4757                 }
4758 
4759                 If ((DDL2 != Zero))
4760                 {
4761                     DID2 = SDDL (DDL2)
4762                 }
4763 
4764                 If ((DDL3 != Zero))
4765                 {
4766                     DID3 = SDDL (DDL3)
4767                 }
4768 
4769                 If ((DDL4 != Zero))
4770                 {
4771                     DID4 = SDDL (DDL4)
4772                 }
4773 
4774                 If ((DDL5 != Zero))
4775                 {
4776                     DID5 = SDDL (DDL5)
4777                 }
4778 
4779                 If ((NDID == One))
4780                 {
4781                     Name (TMP1, Package (0x02)
4782                     {
4783                         0xFFFFFFFF, 
4784                         0xFFFFFFFF
4785                     })
4786                     TMP1 [Zero] = (0x00010000 | DID1)
4787                     If ((SOCS < 0x02))
4788                     {
4789                         TMP1 [One] = 0x00020F39
4790                     }
4791                     Else
4792                     {
4793                         TMP1 [One] = 0x00020F38
4794                     }
4795 
4796                     Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */
4797                 }
4798 
4799                 If ((NDID == 0x02))
4800                 {
4801                     Name (TMP2, Package (0x03)
4802                     {
4803                         0xFFFFFFFF, 
4804                         0xFFFFFFFF, 
4805                         0xFFFFFFFF
4806                     })
4807                     TMP2 [Zero] = (0x00010000 | DID1)
4808                     TMP2 [One] = (0x00010000 | DID2)
4809                     If ((SOCS < 0x02))
4810                     {
4811                         TMP2 [0x02] = 0x00020F39
4812                     }
4813                     Else
4814                     {
4815                         TMP2 [0x02] = 0x00020F38
4816                     }
4817 
4818                     Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */
4819                 }
4820 
4821                 If ((NDID == 0x03))
4822                 {
4823                     Name (TMP3, Package (0x04)
4824                     {
4825                         0xFFFFFFFF, 
4826                         0xFFFFFFFF, 
4827                         0xFFFFFFFF, 
4828                         0xFFFFFFFF
4829                     })
4830                     TMP3 [Zero] = (0x00010000 | DID1)
4831                     TMP3 [One] = (0x00010000 | DID2)
4832                     TMP3 [0x02] = (0x00010000 | DID3)
4833                     If ((SOCS < 0x02))
4834                     {
4835                         TMP3 [0x03] = 0x00020F39
4836                     }
4837                     Else
4838                     {
4839                         TMP3 [0x03] = 0x00020F38
4840                     }
4841 
4842                     Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */
4843                 }
4844 
4845                 If ((NDID == 0x04))
4846                 {
4847                     Name (TMP4, Package (0x05)
4848                     {
4849                         0xFFFFFFFF, 
4850                         0xFFFFFFFF, 
4851                         0xFFFFFFFF, 
4852                         0xFFFFFFFF, 
4853                         0xFFFFFFFF
4854                     })
4855                     TMP4 [Zero] = (0x00010000 | DID1)
4856                     TMP4 [One] = (0x00010000 | DID2)
4857                     TMP4 [0x02] = (0x00010000 | DID3)
4858                     TMP4 [0x03] = (0x00010000 | DID4)
4859                     If ((SOCS < 0x02))
4860                     {
4861                         TMP4 [0x04] = 0x00020F39
4862                     }
4863                     Else
4864                     {
4865                         TMP4 [0x04] = 0x00020F38
4866                     }
4867 
4868                     Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */
4869                 }
4870 
4871                 If ((NDID > 0x04))
4872                 {
4873                     Name (TMP5, Package (0x06)
4874                     {
4875                         0xFFFFFFFF, 
4876                         0xFFFFFFFF, 
4877                         0xFFFFFFFF, 
4878                         0xFFFFFFFF, 
4879                         0xFFFFFFFF, 
4880                         0xFFFFFFFF
4881                     })
4882                     TMP5 [Zero] = (0x00010000 | DID1)
4883                     TMP5 [One] = (0x00010000 | DID2)
4884                     TMP5 [0x02] = (0x00010000 | DID3)
4885                     TMP5 [0x03] = (0x00010000 | DID4)
4886                     TMP5 [0x04] = (0x00010000 | DID5)
4887                     If ((SOCS < 0x02))
4888                     {
4889                         TMP5 [0x05] = 0x00020F39
4890                     }
4891                     Else
4892                     {
4893                         TMP5 [0x05] = 0x00020F38
4894                     }
4895 
4896                     Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */
4897                 }
4898 
4899                 If ((SOCS < 0x02))
4900                 {
4901                     Return (Package (0x02)
4902                     {
4903                         0x0400, 
4904                         0x00020F39
4905                     })
4906                 }
4907                 Else
4908                 {
4909                     Return (Package (0x02)
4910                     {
4911                         0x0400, 
4912                         0x00020F38
4913                     })
4914                 }
4915             }
4916 
4917             Device (DD01)
4918             {
4919                 Method (_ADR, 0, Serialized)  // _ADR: Address
4920                 {
4921                     If (((0x0F00 & DID1) == 0x0400))
4922                     {
4923                         EDPV = One
4924                         DIDX = DID1 /* \DID1 */
4925                         Return (One)
4926                     }
4927 
4928                     If ((DID1 == Zero))
4929                     {
4930                         Return (One)
4931                     }
4932                     Else
4933                     {
4934                         Return ((0xFFFF & DID1))
4935                     }
4936                 }
4937 
4938                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
4939                 {
4940                     Return (CDDS (DID1))
4941                 }
4942 
4943                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
4944                 {
4945                     Return (NDDS (DID1))
4946                 }
4947 
4948                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
4949                 {
4950                     If (((Arg0 & 0xC0000000) == 0xC0000000))
4951                     {
4952                         CSTE = NSTE /* \NSTE */
4953                     }
4954                 }
4955             }
4956 
4957             Device (DD02)
4958             {
4959                 Method (_ADR, 0, Serialized)  // _ADR: Address
4960                 {
4961                     If (((0x0F00 & DID2) == 0x0400))
4962                     {
4963                         EDPV = 0x02
4964                         DIDX = DID2 /* \DID2 */
4965                         Return (0x02)
4966                     }
4967 
4968                     If ((DID2 == Zero))
4969                     {
4970                         Return (0x02)
4971                     }
4972                     Else
4973                     {
4974                         Return ((0xFFFF & DID2))
4975                     }
4976                 }
4977 
4978                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
4979                 {
4980                     Return (CDDS (DID2))
4981                 }
4982 
4983                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
4984                 {
4985                     Return (NDDS (DID2))
4986                 }
4987 
4988                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
4989                 {
4990                     If (((Arg0 & 0xC0000000) == 0xC0000000))
4991                     {
4992                         CSTE = NSTE /* \NSTE */
4993                     }
4994                 }
4995             }
4996 
4997             Device (DD03)
4998             {
4999                 Method (_ADR, 0, Serialized)  // _ADR: Address
5000                 {
5001                     If (((0x0F00 & DID3) == 0x0400))
5002                     {
5003                         EDPV = 0x03
5004                         DIDX = DID3 /* \DID3 */
5005                         Return (0x03)
5006                     }
5007 
5008                     If ((DID3 == Zero))
5009                     {
5010                         Return (0x03)
5011                     }
5012                     Else
5013                     {
5014                         Return ((0xFFFF & DID3))
5015                     }
5016                 }
5017 
5018                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5019                 {
5020                     If ((DID3 == Zero))
5021                     {
5022                         Return (0x0B)
5023                     }
5024                     Else
5025                     {
5026                         Return (CDDS (DID3))
5027                     }
5028                 }
5029 
5030                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5031                 {
5032                     Return (NDDS (DID3))
5033                 }
5034 
5035                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5036                 {
5037                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5038                     {
5039                         CSTE = NSTE /* \NSTE */
5040                     }
5041                 }
5042             }
5043 
5044             Device (DD04)
5045             {
5046                 Method (_ADR, 0, Serialized)  // _ADR: Address
5047                 {
5048                     If (((0x0F00 & DID4) == 0x0400))
5049                     {
5050                         EDPV = 0x04
5051                         DIDX = DID4 /* \DID4 */
5052                         Return (0x04)
5053                     }
5054 
5055                     If ((DID4 == Zero))
5056                     {
5057                         Return (0x04)
5058                     }
5059                     Else
5060                     {
5061                         Return ((0xFFFF & DID4))
5062                     }
5063                 }
5064 
5065                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5066                 {
5067                     If ((DID4 == Zero))
5068                     {
5069                         Return (0x0B)
5070                     }
5071                     Else
5072                     {
5073                         Return (CDDS (DID4))
5074                     }
5075                 }
5076 
5077                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5078                 {
5079                     Return (NDDS (DID4))
5080                 }
5081 
5082                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5083                 {
5084                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5085                     {
5086                         CSTE = NSTE /* \NSTE */
5087                     }
5088                 }
5089             }
5090 
5091             Device (DD05)
5092             {
5093                 Method (_ADR, 0, Serialized)  // _ADR: Address
5094                 {
5095                     If (((0x0F00 & DID5) == 0x0400))
5096                     {
5097                         EDPV = 0x05
5098                         DIDX = DID5 /* \DID5 */
5099                         Return (0x05)
5100                     }
5101 
5102                     If ((DID5 == Zero))
5103                     {
5104                         Return (0x05)
5105                     }
5106                     Else
5107                     {
5108                         Return ((0xFFFF & DID5))
5109                     }
5110                 }
5111 
5112                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5113                 {
5114                     If ((DID5 == Zero))
5115                     {
5116                         Return (0x0B)
5117                     }
5118                     Else
5119                     {
5120                         Return (CDDS (DID5))
5121                     }
5122                 }
5123 
5124                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5125                 {
5126                     Return (NDDS (DID5))
5127                 }
5128 
5129                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5130                 {
5131                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5132                     {
5133                         CSTE = NSTE /* \NSTE */
5134                     }
5135                 }
5136             }
5137 
5138             Device (DD06)
5139             {
5140                 Method (_ADR, 0, Serialized)  // _ADR: Address
5141                 {
5142                     If (((0x0F00 & DID6) == 0x0400))
5143                     {
5144                         EDPV = 0x06
5145                         DIDX = DID6 /* \DID6 */
5146                         Return (0x06)
5147                     }
5148 
5149                     If ((DID6 == Zero))
5150                     {
5151                         Return (0x06)
5152                     }
5153                     Else
5154                     {
5155                         Return ((0xFFFF & DID6))
5156                     }
5157                 }
5158 
5159                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5160                 {
5161                     If ((DID6 == Zero))
5162                     {
5163                         Return (0x0B)
5164                     }
5165                     Else
5166                     {
5167                         Return (CDDS (DID6))
5168                     }
5169                 }
5170 
5171                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5172                 {
5173                     Return (NDDS (DID6))
5174                 }
5175 
5176                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5177                 {
5178                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5179                     {
5180                         CSTE = NSTE /* \NSTE */
5181                     }
5182                 }
5183             }
5184 
5185             Device (DD07)
5186             {
5187                 Method (_ADR, 0, Serialized)  // _ADR: Address
5188                 {
5189                     If (((0x0F00 & DID7) == 0x0400))
5190                     {
5191                         EDPV = 0x07
5192                         DIDX = DID7 /* \DID7 */
5193                         Return (0x07)
5194                     }
5195 
5196                     If ((DID7 == Zero))
5197                     {
5198                         Return (0x07)
5199                     }
5200                     Else
5201                     {
5202                         Return ((0xFFFF & DID7))
5203                     }
5204                 }
5205 
5206                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5207                 {
5208                     If ((DID7 == Zero))
5209                     {
5210                         Return (0x0B)
5211                     }
5212                     Else
5213                     {
5214                         Return (CDDS (DID7))
5215                     }
5216                 }
5217 
5218                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5219                 {
5220                     Return (NDDS (DID7))
5221                 }
5222 
5223                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5224                 {
5225                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5226                     {
5227                         CSTE = NSTE /* \NSTE */
5228                     }
5229                 }
5230             }
5231 
5232             Device (DD08)
5233             {
5234                 Method (_ADR, 0, Serialized)  // _ADR: Address
5235                 {
5236                     If (((0x0F00 & DID8) == 0x0400))
5237                     {
5238                         EDPV = 0x08
5239                         DIDX = DID8 /* \DID8 */
5240                         Return (0x08)
5241                     }
5242 
5243                     If ((DID8 == Zero))
5244                     {
5245                         Return (0x08)
5246                     }
5247                     Else
5248                     {
5249                         Return ((0xFFFF & DID8))
5250                     }
5251                 }
5252 
5253                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5254                 {
5255                     If ((DID8 == Zero))
5256                     {
5257                         Return (0x0B)
5258                     }
5259                     Else
5260                     {
5261                         Return (CDDS (DID8))
5262                     }
5263                 }
5264 
5265                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5266                 {
5267                     Return (NDDS (DID8))
5268                 }
5269 
5270                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5271                 {
5272                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5273                     {
5274                         CSTE = NSTE /* \NSTE */
5275                     }
5276                 }
5277             }
5278 
5279             Device (DD1F)
5280             {
5281                 Method (_ADR, 0, Serialized)  // _ADR: Address
5282                 {
5283                     If ((EDPV == Zero))
5284                     {
5285                         Return (0x1F)
5286                     }
5287                     Else
5288                     {
5289                         Return ((0xFFFF & DIDX))
5290                     }
5291                 }
5292 
5293                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5294                 {
5295                     If ((EDPV == Zero))
5296                     {
5297                         Return (Zero)
5298                     }
5299                     Else
5300                     {
5301                         Return (CDDS (DIDX))
5302                     }
5303                 }
5304 
5305                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5306                 {
5307                     Return (NDDS (DIDX))
5308                 }
5309 
5310                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5311                 {
5312                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5313                     {
5314                         CSTE = NSTE /* \NSTE */
5315                     }
5316                 }
5317 
5318                 Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
5319                 {
5320                     Return (Package (0x67)
5321                     {
5322                         0x50, 
5323                         0x32, 
5324                         Zero, 
5325                         One, 
5326                         0x02, 
5327                         0x03, 
5328                         0x04, 
5329                         0x05, 
5330                         0x06, 
5331                         0x07, 
5332                         0x08, 
5333                         0x09, 
5334                         0x0A, 
5335                         0x0B, 
5336                         0x0C, 
5337                         0x0D, 
5338                         0x0E, 
5339                         0x0F, 
5340                         0x10, 
5341                         0x11, 
5342                         0x12, 
5343                         0x13, 
5344                         0x14, 
5345                         0x15, 
5346                         0x16, 
5347                         0x17, 
5348                         0x18, 
5349                         0x19, 
5350                         0x1A, 
5351                         0x1B, 
5352                         0x1C, 
5353                         0x1D, 
5354                         0x1E, 
5355                         0x1F, 
5356                         0x20, 
5357                         0x21, 
5358                         0x22, 
5359                         0x23, 
5360                         0x24, 
5361                         0x25, 
5362                         0x26, 
5363                         0x27, 
5364                         0x28, 
5365                         0x29, 
5366                         0x2A, 
5367                         0x2B, 
5368                         0x2C, 
5369                         0x2D, 
5370                         0x2E, 
5371                         0x2F, 
5372                         0x30, 
5373                         0x31, 
5374                         0x32, 
5375                         0x33, 
5376                         0x34, 
5377                         0x35, 
5378                         0x36, 
5379                         0x37, 
5380                         0x38, 
5381                         0x39, 
5382                         0x3A, 
5383                         0x3B, 
5384                         0x3C, 
5385                         0x3D, 
5386                         0x3E, 
5387                         0x3F, 
5388                         0x40, 
5389                         0x41, 
5390                         0x42, 
5391                         0x43, 
5392                         0x44, 
5393                         0x45, 
5394                         0x46, 
5395                         0x47, 
5396                         0x48, 
5397                         0x49, 
5398                         0x4A, 
5399                         0x4B, 
5400                         0x4C, 
5401                         0x4D, 
5402                         0x4E, 
5403                         0x4F, 
5404                         0x50, 
5405                         0x51, 
5406                         0x52, 
5407                         0x53, 
5408                         0x54, 
5409                         0x55, 
5410                         0x56, 
5411                         0x57, 
5412                         0x58, 
5413                         0x59, 
5414                         0x5A, 
5415                         0x5B, 
5416                         0x5C, 
5417                         0x5D, 
5418                         0x5E, 
5419                         0x5F, 
5420                         0x60, 
5421                         0x61, 
5422                         0x62, 
5423                         0x63, 
5424                         0x64
5425                     })
5426                 }
5427 
5428                 Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
5429                 {
5430                     If (((Arg0 >= Zero) && (Arg0 <= 0x64)))
5431                     {
5432                         AINT (One, Arg0)
5433                         BRTL = Arg0
5434                     }
5435                 }
5436 
5437                 Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
5438                 {
5439                     Return (BRTL) /* \BRTL */
5440                 }
5441             }
5442 
5443             Method (SDDL, 1, NotSerialized)
5444             {
5445                 NDID++
5446                 Local0 = (Arg0 & 0x0F0F)
5447                 Local1 = (0x80000000 | Local0)
5448                 If ((DIDL == Local0))
5449                 {
5450                     Return (Local1)
5451                 }
5452 
5453                 If ((DDL2 == Local0))
5454                 {
5455                     Return (Local1)
5456                 }
5457 
5458                 If ((DDL3 == Local0))
5459                 {
5460                     Return (Local1)
5461                 }
5462 
5463                 If ((DDL4 == Local0))
5464                 {
5465                     Return (Local1)
5466                 }
5467 
5468                 If ((DDL5 == Local0))
5469                 {
5470                     Return (Local1)
5471                 }
5472 
5473                 If ((DDL6 == Local0))
5474                 {
5475                     Return (Local1)
5476                 }
5477 
5478                 If ((DDL7 == Local0))
5479                 {
5480                     Return (Local1)
5481                 }
5482 
5483                 If ((DDL8 == Local0))
5484                 {
5485                     Return (Local1)
5486                 }
5487 
5488                 Return (Zero)
5489             }
5490 
5491             Method (CDDS, 1, NotSerialized)
5492             {
5493                 Local0 = (Arg0 & 0x0F0F)
5494                 If ((Zero == Local0))
5495                 {
5496                     Return (0x1D)
5497                 }
5498 
5499                 If ((CADL == Local0))
5500                 {
5501                     Return (0x1F)
5502                 }
5503 
5504                 If ((CAL2 == Local0))
5505                 {
5506                     Return (0x1F)
5507                 }
5508 
5509                 If ((CAL3 == Local0))
5510                 {
5511                     Return (0x1F)
5512                 }
5513 
5514                 If ((CAL4 == Local0))
5515                 {
5516                     Return (0x1F)
5517                 }
5518 
5519                 If ((CAL5 == Local0))
5520                 {
5521                     Return (0x1F)
5522                 }
5523 
5524                 If ((CAL6 == Local0))
5525                 {
5526                     Return (0x1F)
5527                 }
5528 
5529                 If ((CAL7 == Local0))
5530                 {
5531                     Return (0x1F)
5532                 }
5533 
5534                 If ((CAL8 == Local0))
5535                 {
5536                     Return (0x1F)
5537                 }
5538 
5539                 Return (0x1D)
5540             }
5541 
5542             Method (NDDS, 1, NotSerialized)
5543             {
5544                 Local0 = (Arg0 & 0x0F0F)
5545                 If ((Zero == Local0))
5546                 {
5547                     Return (Zero)
5548                 }
5549 
5550                 If ((NADL == Local0))
5551                 {
5552                     Return (One)
5553                 }
5554 
5555                 If ((NDL2 == Local0))
5556                 {
5557                     Return (One)
5558                 }
5559 
5560                 If ((NDL3 == Local0))
5561                 {
5562                     Return (One)
5563                 }
5564 
5565                 If ((NDL4 == Local0))
5566                 {
5567                     Return (One)
5568                 }
5569 
5570                 If ((NDL5 == Local0))
5571                 {
5572                     Return (One)
5573                 }
5574 
5575                 If ((NDL6 == Local0))
5576                 {
5577                     Return (One)
5578                 }
5579 
5580                 If ((NDL7 == Local0))
5581                 {
5582                     Return (One)
5583                 }
5584 
5585                 If ((NDL8 == Local0))
5586                 {
5587                     Return (One)
5588                 }
5589 
5590                 Return (Zero)
5591             }
5592 
5593             OperationRegion (IGDP, PCI_Config, Zero, 0x0100)
5594             Field (IGDP, AnyAcc, NoLock, Preserve)
5595             {
5596                 Offset (0x10), 
5597                 MADR,   32, 
5598                 Offset (0x50), 
5599                     ,   1, 
5600                 GIVD,   1, 
5601                     ,   1, 
5602                 GUMA,   5, 
5603                 Offset (0x52), 
5604                 Offset (0x54), 
5605                     ,   4, 
5606                 GMFN,   1, 
5607                 Offset (0x58), 
5608                 Offset (0x5C), 
5609                 GSTM,   32, 
5610                 Offset (0xE0), 
5611                 GSSE,   1, 
5612                 GSSB,   14, 
5613                 GSES,   1, 
5614                 Offset (0xE4), 
5615                 ASLE,   8, 
5616                 Offset (0xE8), 
5617                 Offset (0xFC), 
5618                 ASLS,   32
5619             }
5620 
5621             OperationRegion (IGMM, SystemMemory, MADR, 0x3000)
5622             Field (IGMM, AnyAcc, NoLock, Preserve)
5623             {
5624                 Offset (0x20C8), 
5625                     ,   4, 
5626                 DCFE,   4
5627             }
5628 
5629             OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
5630             Field (IGDM, AnyAcc, NoLock, Preserve)
5631             {
5632                 SIGN,   128, 
5633                 SIZE,   32, 
5634                 OVER,   32, 
5635                 SVER,   256, 
5636                 VVER,   128, 
5637                 GVER,   128, 
5638                 MBOX,   32, 
5639                 DMOD,   32, 
5640                 Offset (0x100), 
5641                 DRDY,   32, 
5642                 CSTS,   32, 
5643                 CEVT,   32, 
5644                 Offset (0x120), 
5645                 DIDL,   32, 
5646                 DDL2,   32, 
5647                 DDL3,   32, 
5648                 DDL4,   32, 
5649                 DDL5,   32, 
5650                 DDL6,   32, 
5651                 DDL7,   32, 
5652                 DDL8,   32, 
5653                 CPDL,   32, 
5654                 CPL2,   32, 
5655                 CPL3,   32, 
5656                 CPL4,   32, 
5657                 CPL5,   32, 
5658                 CPL6,   32, 
5659                 CPL7,   32, 
5660                 CPL8,   32, 
5661                 CAD1,   32, 
5662                 CAL2,   32, 
5663                 CAL3,   32, 
5664                 CAL4,   32, 
5665                 CAL5,   32, 
5666                 CAL6,   32, 
5667                 CAL7,   32, 
5668                 CAL8,   32, 
5669                 NADL,   32, 
5670                 NDL2,   32, 
5671                 NDL3,   32, 
5672                 NDL4,   32, 
5673                 NDL5,   32, 
5674                 NDL6,   32, 
5675                 NDL7,   32, 
5676                 NDL8,   32, 
5677                 ASLP,   32, 
5678                 TIDX,   32, 
5679                 CHPD,   32, 
5680                 CLID,   32, 
5681                 CDCK,   32, 
5682                 SXSW,   32, 
5683                 EVTS,   32, 
5684                 CNOT,   32, 
5685                 NRDY,   32, 
5686                 Offset (0x200), 
5687                 SCIE,   1, 
5688                 GEFC,   4, 
5689                 GXFC,   3, 
5690                 GESF,   8, 
5691                 Offset (0x204), 
5692                 PARM,   32, 
5693                 DSLP,   32, 
5694                 Offset (0x300), 
5695                 ARDY,   32, 
5696                 ASLC,   32, 
5697                 TCHE,   32, 
5698                 ALSI,   32, 
5699                 BCLP,   32, 
5700                 PFIT,   32, 
5701                 CBLV,   32, 
5702                 BCLM,   320, 
5703                 CPFM,   32, 
5704                 EPFM,   32, 
5705                 PLUT,   592, 
5706                 PFMB,   32, 
5707                 CCDV,   32, 
5708                 PCFT,   32, 
5709                 Offset (0x400), 
5710                 GVD1,   49152, 
5711                 PHED,   32, 
5712                 BDDC,   2048
5713             }
5714 
5715             Name (DBTB, Package (0x15)
5716             {
5717                 Zero, 
5718                 0x07, 
5719                 0x38, 
5720                 0x01C0, 
5721                 0x0E00, 
5722                 0x3F, 
5723                 0x01C7, 
5724                 0x0E07, 
5725                 0x01F8, 
5726                 0x0E38, 
5727                 0x0FC0, 
5728                 Zero, 
5729                 Zero, 
5730                 Zero, 
5731                 Zero, 
5732                 Zero, 
5733                 0x7000, 
5734                 0x7007, 
5735                 0x7038, 
5736                 0x71C0, 
5737                 0x7E00
5738             })
5739             Name (CDCT, Package (0x06)
5740             {
5741                 Package (0x01)
5742                 {
5743                     0xA0
5744                 }, 
5745 
5746                 Package (0x01)
5747                 {
5748                     0xC8
5749                 }, 
5750 
5751                 Package (0x01)
5752                 {
5753                     0x010B
5754                 }, 
5755 
5756                 Package (0x01)
5757                 {
5758                     0x0140
5759                 }, 
5760 
5761                 Package (0x01)
5762                 {
5763                     0x0164
5764                 }, 
5765 
5766                 Package (0x01)
5767                 {
5768                     0x0190
5769                 }
5770             })
5771             Name (SUCC, One)
5772             Name (NVLD, 0x02)
5773             Name (CRIT, 0x04)
5774             Name (NCRT, 0x06)
5775             Method (GSCI, 0, Serialized)
5776             {
5777                 Method (GBDA, 0, Serialized)
5778                 {
5779                     If ((GESF == Zero))
5780                     {
5781                         PARM = 0x0279
5782                         GESF = Zero
5783                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5784                     }
5785 
5786                     If ((GESF == One))
5787                     {
5788                         PARM = 0x0240
5789                         GESF = Zero
5790                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5791                     }
5792 
5793                     If ((GESF == 0x04))
5794                     {
5795                         PARM &= 0xEFFF0000
5796                         PARM &= (DerefOf (DBTB [IBTT]) << 0x10)
5797                         PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */
5798                         GESF = Zero
5799                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5800                     }
5801 
5802                     If ((GESF == 0x05))
5803                     {
5804                         PARM = IPSC /* \IPSC */
5805                         PARM |= (IPAT << 0x08)
5806                         PARM += 0x0100
5807                         PARM |= (LIDS << 0x10)
5808                         PARM += 0x00010000
5809                         PARM |= (IBLC << 0x12)
5810                         PARM |= (IBIA << 0x14)
5811                         GESF = Zero
5812                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5813                     }
5814 
5815                     If ((GESF == 0x06))
5816                     {
5817                         PARM = ITVF /* \ITVF */
5818                         PARM |= (ITVM << 0x04)
5819                         GESF = Zero
5820                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5821                     }
5822 
5823                     If ((GESF == 0x07))
5824                     {
5825                         PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */
5826                         PARM ^= One
5827                         PARM |= (GMFN << One)
5828                         PARM |= 0x1800
5829                         PARM |= (IDMS << 0x11)
5830                         PARM |= (DerefOf (CDCT [DCFE]) << 0x15) /* \_SB_.PCI0.GFX0.PARM */
5831                         GESF = One
5832                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5833                     }
5834 
5835                     If ((GESF == 0x0A))
5836                     {
5837                         PARM = Zero
5838                         If (ISSC)
5839                         {
5840                             PARM |= 0x03
5841                         }
5842 
5843                         GESF = Zero
5844                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5845                     }
5846 
5847                     GESF = Zero
5848                     Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
5849                 }
5850 
5851                 Method (SBCB, 0, Serialized)
5852                 {
5853                     If ((GESF == Zero))
5854                     {
5855                         PARM = Zero
5856                         If ((PFLV == FMBL))
5857                         {
5858                             PARM = 0x000F87FD
5859                         }
5860 
5861                         If ((PFLV == FDTP))
5862                         {
5863                             PARM = 0x000F87BD
5864                         }
5865 
5866                         GESF = Zero
5867                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5868                     }
5869 
5870                     If ((GESF == One))
5871                     {
5872                         GESF = Zero
5873                         PARM = Zero
5874                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5875                     }
5876 
5877                     If ((GESF == 0x03))
5878                     {
5879                         GESF = Zero
5880                         PARM = Zero
5881                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5882                     }
5883 
5884                     If ((GESF == 0x04))
5885                     {
5886                         GESF = Zero
5887                         PARM = Zero
5888                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5889                     }
5890 
5891                     If ((GESF == 0x05))
5892                     {
5893                         GESF = Zero
5894                         PARM = Zero
5895                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5896                     }
5897 
5898                     If ((GESF == 0x06))
5899                     {
5900                         ITVF = (PARM & 0x0F)
5901                         ITVM = ((PARM & 0xF0) >> 0x04)
5902                         GESF = Zero
5903                         PARM = Zero
5904                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5905                     }
5906 
5907                     If ((GESF == 0x07))
5908                     {
5909                         If ((PARM == Zero))
5910                         {
5911                             Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */
5912                             If ((0x80000000 & Local0))
5913                             {
5914                                 CLID &= 0x0F
5915                                 GLID (CLID)
5916                             }
5917                         }
5918 
5919                         GESF = Zero
5920                         PARM = Zero
5921                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5922                     }
5923 
5924                     If ((GESF == 0x08))
5925                     {
5926                         GESF = Zero
5927                         PARM = Zero
5928                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5929                     }
5930 
5931                     If ((GESF == 0x09))
5932                     {
5933                         IBTT = (PARM & 0xFF)
5934                         GESF = Zero
5935                         PARM = Zero
5936                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5937                     }
5938 
5939                     If ((GESF == 0x0A))
5940                     {
5941                         IPSC = (PARM & 0xFF)
5942                         If (((PARM >> 0x08) & 0xFF))
5943                         {
5944                             IPAT = ((PARM >> 0x08) & 0xFF)
5945                             IPAT--
5946                         }
5947 
5948                         IBLC = ((PARM >> 0x12) & 0x03)
5949                         IBIA = ((PARM >> 0x14) & 0x07)
5950                         GESF = Zero
5951                         PARM = Zero
5952                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5953                     }
5954 
5955                     If ((GESF == 0x0B))
5956                     {
5957                         IF1E = ((PARM >> One) & One)
5958                         IDMS = ((PARM >> 0x11) & 0x0F)
5959                         GESF = Zero
5960                         PARM = Zero
5961                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5962                     }
5963 
5964                     If ((GESF == 0x10))
5965                     {
5966                         GESF = Zero
5967                         PARM = Zero
5968                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5969                     }
5970 
5971                     If ((GESF == 0x11))
5972                     {
5973                         PARM = (LIDS << 0x08)
5974                         PARM += 0x0100
5975                         GESF = Zero
5976                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5977                     }
5978 
5979                     If ((GESF == 0x12))
5980                     {
5981                         If ((PARM & One))
5982                         {
5983                             If (((PARM >> One) == One))
5984                             {
5985                                 ISSC = One
5986                             }
5987                             Else
5988                             {
5989                                 GESF = Zero
5990                                 Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
5991                             }
5992                         }
5993                         Else
5994                         {
5995                             ISSC = Zero
5996                         }
5997 
5998                         GESF = Zero
5999                         PARM = Zero
6000                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
6001                     }
6002 
6003                     If ((GESF == 0x13))
6004                     {
6005                         GESF = Zero
6006                         PARM = Zero
6007                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
6008                     }
6009 
6010                     If ((GESF == 0x14))
6011                     {
6012                         PAVP = (PARM & 0x0F)
6013                         GESF = Zero
6014                         PARM = Zero
6015                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
6016                     }
6017 
6018                     GESF = Zero
6019                     Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
6020                 }
6021 
6022                 If ((GEFC == 0x04))
6023                 {
6024                     GXFC = GBDA ()
6025                 }
6026 
6027                 If ((GEFC == 0x06))
6028                 {
6029                     GXFC = SBCB ()
6030                 }
6031 
6032                 GEFC = Zero
6033                 SCIS = One
6034                 GSSE = Zero
6035                 SCIE = Zero
6036                 Return (Zero)
6037             }
6038 
6039             Method (PDRD, 0, NotSerialized)
6040             {
6041                 If (!DRDY)
6042                 {
6043                     Sleep (ASLP)
6044                 }
6045 
6046                 Return (!DRDY)
6047             }
6048 
6049             Method (PSTS, 0, NotSerialized)
6050             {
6051                 If ((CSTS > 0x02))
6052                 {
6053                     Sleep (ASLP)
6054                 }
6055 
6056                 Return ((CSTS == 0x03))
6057             }
6058 
6059             Method (GNOT, 2, NotSerialized)
6060             {
6061                 If (PDRD ())
6062                 {
6063                     Return (One)
6064                 }
6065 
6066                 CEVT = Arg0
6067                 CSTS = 0x03
6068                 If (((CHPD == Zero) && (Arg1 == Zero)))
6069                 {
6070                     If (((OSYS > 0x07D0) || (OSYS < 0x07D6)))
6071                     {
6072                         Notify (PCI0, Arg1)
6073                     }
6074                     Else
6075                     {
6076                         Notify (GFX0, Arg1)
6077                     }
6078                 }
6079 
6080                 Notify (GFX0, 0x80) // Status Change
6081                 Return (Zero)
6082             }
6083 
6084             Method (GHDS, 1, NotSerialized)
6085             {
6086                 TIDX = Arg0
6087                 Return (GNOT (One, Zero))
6088             }
6089 
6090             Method (GLID, 1, NotSerialized)
6091             {
6092                 CLID = Arg0
6093                 Return (GNOT (0x02, Zero))
6094             }
6095 
6096             Method (GDCK, 1, NotSerialized)
6097             {
6098                 CDCK = Arg0
6099                 Return (GNOT (0x04, Zero))
6100             }
6101 
6102             Method (PARD, 0, NotSerialized)
6103             {
6104                 If (!ARDY)
6105                 {
6106                     Sleep (ASLP)
6107                 }
6108 
6109                 Return (!ARDY)
6110             }
6111 
6112             Method (AINT, 2, NotSerialized)
6113             {
6114                 If (!(TCHE & (One << Arg0)))
6115                 {
6116                     Return (One)
6117                 }
6118 
6119                 If (PARD ())
6120                 {
6121                     Return (One)
6122                 }
6123 
6124                 If ((Arg0 == 0x02))
6125                 {
6126                     If (CPFM)
6127                     {
6128                         Local0 = (CPFM & 0x0F)
6129                         Local1 = (EPFM & 0x0F)
6130                         If ((Local0 == One))
6131                         {
6132                             If ((Local1 & 0x06))
6133                             {
6134                                 PFIT = 0x06
6135                             }
6136                             ElseIf ((Local1 & 0x08))
6137                             {
6138                                 PFIT = 0x08
6139                             }
6140                             Else
6141                             {
6142                                 PFIT = One
6143                             }
6144                         }
6145 
6146                         If ((Local0 == 0x06))
6147                         {
6148                             If ((Local1 & 0x08))
6149                             {
6150                                 PFIT = 0x08
6151                             }
6152                             ElseIf ((Local1 & One))
6153                             {
6154                                 PFIT = One
6155                             }
6156                             Else
6157                             {
6158                                 PFIT = 0x06
6159                             }
6160                         }
6161 
6162                         If ((Local0 == 0x08))
6163                         {
6164                             If ((Local1 & One))
6165                             {
6166                                 PFIT = One
6167                             }
6168                             ElseIf ((Local1 & 0x06))
6169                             {
6170                                 PFIT = 0x06
6171                             }
6172                             Else
6173                             {
6174                                 PFIT = 0x08
6175                             }
6176                         }
6177                     }
6178                     Else
6179                     {
6180                         PFIT ^= 0x07
6181                     }
6182 
6183                     PFIT |= 0x80000000
6184                     ASLC = 0x04
6185                 }
6186                 ElseIf ((Arg0 == One))
6187                 {
6188                     BCLP = ((Arg1 * 0xFF) / 0x64)
6189                     BCLP |= 0x80000000
6190                     ASLC = 0x02
6191                 }
6192                 ElseIf ((Arg0 == Zero))
6193                 {
6194                     ALSI = Arg1
6195                     ASLC = One
6196                 }
6197                 Else
6198                 {
6199                     Return (One)
6200                 }
6201 
6202                 ASLE = One
6203                 Return (Zero)
6204             }
6205 
6206             Method (SCIP, 0, NotSerialized)
6207             {
6208                 If ((OVER != Zero))
6209                 {
6210                     Return (!GSMI)
6211                 }
6212 
6213                 Return (Zero)
6214             }
6215 
6216             Device (ISP0)
6217             {
6218                 Name (_ADR, 0x0F38)  // _ADR: Address
6219                 Name (_DDN, "VLV2 ISP - 80860F38")  // _DDN: DOS Device Name
6220                 Name (_UID, One)  // _UID: Unique ID
6221                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
6222                 {
6223                     PEPD
6224                 })
6225                 Method (_STA, 0, NotSerialized)  // _STA: Status
6226                 {
6227                     If ((OSSL & 0x80))
6228                     {
6229                         Return (Zero)
6230                     }
6231 
6232                     If ((SOCS >= 0x02))
6233                     {
6234                         If ((ISPD == One))
6235                         {
6236                             Return (0x0F)
6237                         }
6238                         Else
6239                         {
6240                             Return (Zero)
6241                         }
6242                     }
6243                     Else
6244                     {
6245                         _ADR = 0x0F39
6246                         _DDN = "VLV2 ISP - 80860F39"
6247                         If ((ISPD == One))
6248                         {
6249                             Return (0x0F)
6250                         }
6251                         Else
6252                         {
6253                             Return (Zero)
6254                         }
6255                     }
6256                 }
6257 
6258                 Name (SBUF, ResourceTemplate ()
6259                 {
6260                     Memory32Fixed (ReadWrite,
6261                         0x00000000,         // Address Base
6262                         0x00400000,         // Address Length
6263                         )
6264                 })
6265                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6266                 {
6267                     Return (SBUF) /* \_SB_.PCI0.GFX0.ISP0.SBUF */
6268                 }
6269 
6270                 Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
6271                 {
6272                 }
6273 
6274                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
6275                 {
6276                 }
6277 
6278                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
6279                 {
6280                     If ((Arg0 == One))
6281                     {
6282                         Return (One)
6283                     }
6284                     ElseIf ((Arg0 == 0x02))
6285                     {
6286                         Return (0x02)
6287                     }
6288                     Else
6289                     {
6290                         Return (0x0F)
6291                     }
6292                 }
6293             }
6294         }
6295     }
6296 
6297     Scope (_PR)
6298     {
6299         Processor (CPU0, 0x01, 0x00000000, 0x00){}
6300         Processor (CPU1, 0x02, 0x00000000, 0x00){}
6301         Processor (CPU2, 0x03, 0x00000000, 0x00){}
6302         Processor (CPU3, 0x04, 0x00000000, 0x00){}
6303     }
6304 
6305     Mutex (MUTX, 0x00)
6306     OperationRegion (PRT0, SystemIO, 0x80, 0x04)
6307     Field (PRT0, DWordAcc, Lock, Preserve)
6308     {
6309         P80H,   32
6310     }
6311 
6312     Method (P8XH, 2, Serialized)
6313     {
6314         If ((Arg0 == Zero))
6315         {
6316             P80D = ((P80D & 0xFFFFFF00) | Arg1)
6317         }
6318 
6319         If ((Arg0 == One))
6320         {
6321             P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
6322         }
6323 
6324         If ((Arg0 == 0x02))
6325         {
6326             P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
6327         }
6328 
6329         If ((Arg0 == 0x03))
6330         {
6331             P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
6332         }
6333 
6334         P80H = P80D /* \P80D */
6335     }
6336 
6337     OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
6338     Field (SPRT, ByteAcc, Lock, Preserve)
6339     {
6340         SSMP,   8
6341     }
6342 
6343     Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
6344     {
6345         GPIC = Arg0
6346         PICM = Arg0
6347     }
6348 
6349     OperationRegion (SWC0, SystemIO, 0x0610, 0x0F)
6350     Field (SWC0, ByteAcc, NoLock, Preserve)
6351     {
6352         G1S,    8, 
6353         Offset (0x04), 
6354         G1E,    8, 
6355         Offset (0x0A), 
6356         G1S2,   8, 
6357         G1S3,   8
6358     }
6359 
6360     OperationRegion (SWC1, SystemIO, PMBS, 0x2C)
6361     Field (SWC1, DWordAcc, NoLock, Preserve)
6362     {
6363         Offset (0x20), 
6364         G0S,    32, 
6365         Offset (0x28), 
6366         G0EN,   32
6367     }
6368 
6369     Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
6370     {
6371         P80D = Zero
6372         P8XH (Zero, Arg0)
6373         G1S3 = Ones
6374         G1S2 = Ones
6375         G1S = One
6376         G1E = One
6377         G0S = Ones
6378         If (CondRefOf (TCGM))
6379         {
6380             \_SB.PCI0.LPCB.TPM.PTS (Arg0)
6381         }
6382 
6383         If ((Arg0 == 0x04))
6384         {
6385             SSMP = 0x74
6386         }
6387 
6388         If ((Arg0 == 0x05))
6389         {
6390             SSMP = 0x75
6391         }
6392     }
6393 
6394     Method (_WAK, 1, Serialized)  // _WAK: Wake
6395     {
6396         P8XH (One, 0xAB)
6397         If (NEXP)
6398         {
6399             If ((OSCC & 0x02))
6400             {
6401                 \_SB.PCI0.NHPG ()
6402             }
6403 
6404             If ((OSCC & 0x04))
6405             {
6406                 \_SB.PCI0.NPME ()
6407             }
6408         }
6409 
6410         If (((Arg0 == 0x03) || (Arg0 == 0x04)))
6411         {
6412             If ((PFLV == FMBL))
6413             {
6414                 If ((Arg0 == 0x04))
6415                 {
6416                     PNOT ()
6417                 }
6418             }
6419 
6420             If ((CFGD & 0x01000000)){}
6421             If ((OSYS == 0x07D2))
6422             {
6423                 If ((CFGD & One))
6424                 {
6425                     If ((\_PR.CPU0._PPC > Zero))
6426                     {
6427                         \_PR.CPU0._PPC -= One
6428                         PNOT ()
6429                         \_PR.CPU0._PPC += One
6430                         PNOT ()
6431                     }
6432                     Else
6433                     {
6434                         \_PR.CPU0._PPC += One
6435                         PNOT ()
6436                         \_PR.CPU0._PPC -= One
6437                         PNOT ()
6438                     }
6439                 }
6440             }
6441         }
6442 
6443         Return (Package (0x02)
6444         {
6445             Zero, 
6446             Zero
6447         })
6448     }
6449 
6450     Method (PNOT, 0, Serialized)
6451     {
6452         If (MPEN)
6453         {
6454             If ((PDC0 & 0x08))
6455             {
6456                 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
6457                 If ((PDC0 & 0x10))
6458                 {
6459                     Sleep (0x64)
6460                     Notify (\_PR.CPU0, 0x81) // C-State Change
6461                 }
6462             }
6463 
6464             If ((PDC1 & 0x08))
6465             {
6466                 Notify (\_PR.CPU1, 0x80) // Performance Capability Change
6467                 If ((PDC1 & 0x10))
6468                 {
6469                     Sleep (0x64)
6470                     Notify (\_PR.CPU1, 0x81) // C-State Change
6471                 }
6472             }
6473 
6474             If ((PDC2 & 0x08))
6475             {
6476                 Notify (\_PR.CPU2, 0x80) // Performance Capability Change
6477                 If ((PDC2 & 0x10))
6478                 {
6479                     Sleep (0x64)
6480                     Notify (\_PR.CPU2, 0x81) // C-State Change
6481                 }
6482             }
6483 
6484             If ((PDC3 & 0x08))
6485             {
6486                 Notify (\_PR.CPU3, 0x80) // Performance Capability Change
6487                 If ((PDC3 & 0x10))
6488                 {
6489                     Sleep (0x64)
6490                     Notify (\_PR.CPU3, 0x81) // C-State Change
6491                 }
6492             }
6493         }
6494         Else
6495         {
6496             Notify (\_PR.CPU0, 0x80) // Performance Capability Change
6497             Sleep (0x64)
6498             Notify (\_PR.CPU0, 0x81) // C-State Change
6499         }
6500     }
6501 
6502     Scope (_SB)
6503     {
6504         Name (CRTT, 0x6E)
6505         Name (ACTT, 0x55)
6506         Name (SCR0, 0x0102)
6507         Name (SCR1, 0x0102)
6508         Name (SCR2, 0x0102)
6509         Name (SCR3, 0x0102)
6510         Name (GCR0, 0x46)
6511         Name (GCR1, 0x46)
6512         Name (GCR2, 0x46)
6513         Name (GCR3, 0x46)
6514         Name (GCR4, 0x46)
6515         Name (PST0, 0x3C)
6516         Name (PST1, 0x3C)
6517         Name (PST2, 0x3C)
6518         Name (PST3, 0x3C)
6519         Name (PST4, 0x3C)
6520         Name (LPMV, 0x03)
6521         Name (PDBG, Zero)
6522         Name (PDPM, One)
6523         Name (PDBP, One)
6524         Name (DLPO, Package (0x06)
6525         {
6526             One, 
6527             One, 
6528             One, 
6529             0x19, 
6530             One, 
6531             One
6532         })
6533         Name (BRQD, Zero)
6534         Name (PSC1, Zero)
6535         Name (PSC2, Zero)
6536         Name (PSC3, Zero)
6537         Name (PSA1, Zero)
6538         Name (PSA2, Zero)
6539         Name (PSA3, Zero)
6540         Method (_INI, 0, NotSerialized)  // _INI: Initialize
6541         {
6542             CRTT = DPCT /* \DPCT */
6543             ACTT = DPPT /* \DPPT */
6544             GCR0 = DGC0 /* \DGC0 */
6545             GCR1 = DGC1 /* \DGC1 */
6546             GCR2 = DGC2 /* \DGC2 */
6547             GCR3 = DGC3 /* \DGC3 */
6548             GCR4 = DGC4 /* \DGC4 */
6549             PST0 = DGP0 /* \DGP0 */
6550             PST1 = DGP1 /* \DGP1 */
6551             PST2 = DGP2 /* \DGP2 */
6552             PST3 = DGP3 /* \DGP3 */
6553             PST4 = DGP4 /* \DGP4 */
6554             SCR0 = DSC0 /* \DSC0 */
6555             SCR1 = DSC1 /* \DSC1 */
6556             SCR2 = DSC2 /* \DSC2 */
6557             SCR3 = DSC3 /* \DSC3 */
6558             LPMV = DLPM /* \DLPM */
6559             PDBG = DDBG /* \DDBG */
6560             DLPO [One] = LPOE /* \LPOE */
6561             DLPO [0x02] = LPPS /* \LPPS */
6562             DLPO [0x03] = LPST /* \LPST */
6563             DLPO [0x04] = LPPC /* \LPPC */
6564             DLPO [0x05] = LPPF /* \LPPF */
6565             PDPM = DPME /* \DPME */
6566         }
6567 
6568         Device (LID0)
6569         {
6570             Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
6571             Method (_STA, 0, NotSerialized)  // _STA: Status
6572             {
6573                 Return (0x0F)
6574             }
6575 
6576             Method (_LID, 0, NotSerialized)  // _LID: Lid Status
6577             {
6578                 Return (Zero)
6579             }
6580         }
6581 
6582         Device (CIND)
6583         {
6584             Name (_HID, "INT33D3" /* Intel GPIO Buttons */)  // _HID: Hardware ID
6585             Name (_CID, "PNP0C60" /* Display Sensor Device */)  // _CID: Compatible ID
6586             Method (_STA, 0, Serialized)  // _STA: Status
6587             {
6588                 If (((IUCE & One) && (OSYS >= 0x07DC)))
6589                 {
6590                     Return (0x0F)
6591                 }
6592 
6593                 Return (Zero)
6594             }
6595         }
6596 
6597         Scope (PCI0)
6598         {
6599             Method (_INI, 0, NotSerialized)  // _INI: Initialize
6600             {
6601                 OSYS = 0x07D0
6602                 If (CondRefOf (\_OSI, Local0))
6603                 {
6604                     If (_OSI ("Windows 2001"))
6605                     {
6606                         OSYS = 0x07D1
6607                     }
6608 
6609                     If (_OSI ("Windows 2001 SP1"))
6610                     {
6611                         OSYS = 0x07D1
6612                     }
6613 
6614                     If (_OSI ("Windows 2001 SP2"))
6615                     {
6616                         OSYS = 0x07D2
6617                     }
6618 
6619                     If (_OSI ("Windows 2006"))
6620                     {
6621                         OSYS = 0x07D6
6622                     }
6623 
6624                     If (_OSI ("Windows 2009"))
6625                     {
6626                         OSYS = 0x07D9
6627                     }
6628 
6629                     If (_OSI ("Windows 2012"))
6630                     {
6631                         OSYS = 0x07DC
6632                     }
6633 
6634                     If (_OSI ("Windows 2013"))
6635                     {
6636                         OSYS = 0x07DD
6637                     }
6638                 }
6639             }
6640 
6641             Method (NHPG, 0, Serialized)
6642             {
6643             }
6644 
6645             Method (NPME, 0, Serialized)
6646             {
6647             }
6648         }
6649 
6650         Device (GPED)
6651         {
6652             Name (_ADR, Zero)  // _ADR: Address
6653             Name (_HID, "INT0002" /* Virtual GPIO Controller */)  // _HID: Hardware ID
6654             Name (_CID, "INT0002" /* Virtual GPIO Controller */)  // _CID: Compatible ID
6655             Name (_DDN, "Virtual GPIO controller")  // _DDN: DOS Device Name
6656             Name (_UID, One)  // _UID: Unique ID
6657             Name (INST, One)
6658             Name (XTMP, Zero)
6659             OperationRegion (SCIS, SystemMemory, 0xFED030C0, 0x04)
6660             Field (SCIS, DWordAcc, NoLock, Preserve)
6661             {
6662                 LGBE,   1, 
6663                 LHAD,   1, 
6664                 LATA,   1, 
6665                 LDIO,   1, 
6666                 LARD,   1, 
6667                 LIO1,   1, 
6668                 LCEP,   1, 
6669                 LANB,   1, 
6670                 LHCI,   1, 
6671                 LOTG,   1, 
6672                 LECI,   1, 
6673                 LHSI,   1
6674             }
6675 
6676             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
6677             {
6678                 Return (SOCS) /* \SOCS */
6679             }
6680 
6681             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
6682             {
6683                 If ((Arg0 == ToUUID ("8b38b469-6f95-4b08-9b02-2defcc2d2c35")))
6684                 {
6685                     If ((Arg2 == Zero))
6686                     {
6687                         If ((Arg1 == One))
6688                         {
6689                             Return (Buffer (One)
6690                             {
6691                                  0x03                                             // .
6692                             })
6693                         }
6694                     }
6695 
6696                     If ((Arg2 == One))
6697                     {
6698                         Return ((PMBS + 0x20))
6699                     }
6700 
6701                     Return (Zero)
6702                 }
6703                 Else
6704                 {
6705                     Return (Buffer (One)
6706                     {
6707                          0x00                                             // .
6708                     })
6709                 }
6710             }
6711 
6712             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6713             {
6714                 Name (RBUF, ResourceTemplate ()
6715                 {
6716                     Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
6717                     {
6718                         0x00000009,
6719                     }
6720                 })
6721                 Return (RBUF) /* \_SB_.GPED._CRS.RBUF */
6722             }
6723 
6724             Method (_STA, 0, NotSerialized)  // _STA: Status
6725             {
6726                 Return (0x0F)
6727             }
6728 
6729             Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
6730             {
6731                 Name (RBUF, ResourceTemplate ()
6732                 {
6733                     GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
6734                         "\\_SB.GPED", 0x00, ResourceConsumer, ,
6735                         )
6736                         {   // Pin list
6737                             0x0002
6738                         }
6739                 })
6740                 Return (RBUF) /* \_SB_.GPED._AEI.RBUF */
6741             }
6742 
6743             Method (_L02, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
6744             {
6745                 If ((XHCI == Zero))
6746                 {
6747                     If ((^^PCI0.EHC1.PMES == One))
6748                     {
6749                         ^^PCI0.EHC1.PMEE = Zero
6750                         Local0 = ^^PCI0.EHC1.PMEE /* \_SB_.PCI0.EHC1.PMEE */
6751                         Notify (^^PCI0.EHC1, 0x02) // Device Wake
6752                     }
6753                 }
6754                 ElseIf ((SOCS > 0x05))
6755                 {
6756                     XTMP = (^^PCI0.XHC1.PMCS & 0x8000)
6757                     If ((XTMP == 0x8000))
6758                     {
6759                         Notify (^^PCI0.XHC1, 0x02) // Device Wake
6760                     }
6761                 }
6762                 ElseIf ((SOCS > 0x02))
6763                 {
6764                     XTMP = (^^PCI0.XHC1.PMCS & 0x8000)
6765                     If ((XTMP == 0x8000))
6766                     {
6767                         ^^PCI0.XHC1.PMCH = 0x81
6768                         Notify (^^PCI0.XHC1, 0x02) // Device Wake
6769                     }
6770                 }
6771                 Else
6772                 {
6773                     XTMP = (^^PCI0.XHC1.PMCS & 0x0103)
6774                     If ((XTMP == 0x0103))
6775                     {
6776                         ^^PCI0.XHC1.PMCS = 0x0100
6777                         Sleep (0x0A)
6778                         XTMP = (^^PCI0.XHC1.PMCS & 0x8000)
6779                         If ((XTMP == 0x8000))
6780                         {
6781                             ^^PCI0.XHC1.PMCH = 0x81
6782                         }
6783                         Else
6784                         {
6785                             ^^PCI0.XHC1.PMCS = 0x0103
6786                         }
6787 
6788                         Sleep (0x0A)
6789                         Notify (^^PCI0.XHC1, 0x02) // Device Wake
6790                     }
6791                     Else
6792                     {
6793                         ^^PCI0.XHC1.PMCH = 0x81
6794                         Sleep (0x0A)
6795                     }
6796                 }
6797 
6798                 If ((OTGM != Zero))
6799                 {
6800                     If ((^^PCI0.OTG1.PMES == One))
6801                     {
6802                         ADBG ("OTG wake")
6803                         ^^PCI0.OTG1.PMEE = Zero
6804                         ^^PCI0.OTG1.CPME = Zero
6805                         ^^PCI0.OTG1.U2EN = Zero
6806                         ^^PCI0.OTG1.U3EN = Zero
6807                         Notify (^^PCI0.OTG1, 0x02) // Device Wake
6808                     }
6809                 }
6810 
6811                 If ((^^PCI0.SEC0.PMES == One))
6812                 {
6813                     ^^PCI0.SEC0.PMEE = Zero
6814                     Local0 = ^^PCI0.SEC0.PMEE /* \_SB_.PCI0.SEC0.PMEE */
6815                     Notify (^^PCI0.SEC0, 0x02) // Device Wake
6816                 }
6817             }
6818         }
6819 
6820         Device (GPO0)
6821         {
6822             Name (_ADR, Zero)  // _ADR: Address
6823             Name (_HID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _HID: Hardware ID
6824             Name (_CID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _CID: Compatible ID
6825             Name (_DDN, "ValleyView General Purpose Input/Output (GPIO) controller")  // _DDN: DOS Device Name
6826             Name (_UID, One)  // _UID: Unique ID
6827             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6828             {
6829                 Name (RBUF, ResourceTemplate ()
6830                 {
6831                     Memory32Fixed (ReadWrite,
6832                         0xFED0C000,         // Address Base
6833                         0x00001000,         // Address Length
6834                         )
6835                     Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6836                     {
6837                         0x00000031,
6838                     }
6839                 })
6840                 Return (RBUF) /* \_SB_.GPO0._CRS.RBUF */
6841             }
6842 
6843             Method (_STA, 0, NotSerialized)  // _STA: Status
6844             {
6845                 Return (0x0F)
6846             }
6847 
6848             Name (AVBL, Zero)
6849             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
6850             {
6851                 If ((Arg0 == 0x08))
6852                 {
6853                     AVBL = Arg1
6854                 }
6855             }
6856 
6857             OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
6858             Field (GPOP, ByteAcc, NoLock, Preserve)
6859             {
6860                 Connection (
6861                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6862                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
6863                         )
6864                         {   // Pin list
6865                             0x0002
6866                         }
6867                 ), 
6868                 CCU2,   1, 
6869                 Connection (
6870                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6871                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
6872                         )
6873                         {   // Pin list
6874                             0x0003
6875                         }
6876                 ), 
6877                 CCU3,   1
6878             }
6879         }
6880 
6881         Device (GPO1)
6882         {
6883             Name (_ADR, Zero)  // _ADR: Address
6884             Name (_HID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _HID: Hardware ID
6885             Name (_CID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _CID: Compatible ID
6886             Name (_DDN, "ValleyView GPNCORE controller")  // _DDN: DOS Device Name
6887             Name (_UID, 0x02)  // _UID: Unique ID
6888             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6889             {
6890                 Name (RBUF, ResourceTemplate ()
6891                 {
6892                     Memory32Fixed (ReadWrite,
6893                         0xFED0D000,         // Address Base
6894                         0x00001000,         // Address Length
6895                         )
6896                     Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6897                     {
6898                         0x00000030,
6899                     }
6900                 })
6901                 Return (RBUF) /* \_SB_.GPO1._CRS.RBUF */
6902             }
6903 
6904             Name (AVBL, Zero)
6905             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
6906             {
6907                 If ((Arg0 == 0x08))
6908                 {
6909                     AVBL = Arg1
6910                 }
6911             }
6912 
6913             OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
6914             Field (GPOP, ByteAcc, NoLock, Preserve)
6915             {
6916                 Connection (
6917                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6918                         "\\_SB.GPO1", 0x00, ResourceConsumer, ,
6919                         )
6920                         {   // Pin list
6921                             0x000F
6922                         }
6923                 ), 
6924                 BST5,   1, 
6925                 Connection (
6926                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6927                         "\\_SB.GPO1", 0x00, ResourceConsumer, ,
6928                         )
6929                         {   // Pin list
6930                             0x001A
6931                         }
6932                 ), 
6933                 TCD3,   1
6934             }
6935 
6936             Method (_STA, 0, NotSerialized)  // _STA: Status
6937             {
6938                 Return (0x0F)
6939             }
6940         }
6941 
6942         Device (GPO2)
6943         {
6944             Name (_ADR, Zero)  // _ADR: Address
6945             Name (_HID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _HID: Hardware ID
6946             Name (_CID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _CID: Compatible ID
6947             Name (_DDN, "ValleyView GPSUS controller")  // _DDN: DOS Device Name
6948             Name (_UID, 0x03)  // _UID: Unique ID
6949             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6950             {
6951                 Name (RBUF, ResourceTemplate ()
6952                 {
6953                     Memory32Fixed (ReadWrite,
6954                         0xFED0E000,         // Address Base
6955                         0x00001000,         // Address Length
6956                         )
6957                     Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6958                     {
6959                         0x00000032,
6960                     }
6961                 })
6962                 Return (RBUF) /* \_SB_.GPO2._CRS.RBUF */
6963             }
6964 
6965             Method (_STA, 0, NotSerialized)  // _STA: Status
6966             {
6967                 Return (0x0F)
6968             }
6969 
6970             Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
6971             {
6972                 Name (RBUF, ResourceTemplate ()
6973                 {
6974                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
6975                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
6976                         )
6977                         {   // Pin list
6978                             0x0012
6979                         }
6980                     GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
6981                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
6982                         )
6983                         {   // Pin list
6984                             0x0002
6985                         }
6986                 })
6987                 Name (FBUF, ResourceTemplate ()
6988                 {
6989                     GpioInt (Edge, ActiveBoth, SharedAndWake, PullUp, 0x0000,
6990                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
6991                         )
6992                         {   // Pin list
6993                             0x0012
6994                         }
6995                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
6996                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
6997                         )
6998                         {   // Pin list
6999                             0x0006
7000                         }
7001                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
7002                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
7003                         )
7004                         {   // Pin list
7005                             0x000A
7006                         }
7007                     GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
7008                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
7009                         )
7010                         {   // Pin list
7011                             0x0002
7012                         }
7013                 })
7014                 If ((USBM == One))
7015                 {
7016                     Return (FBUF) /* \_SB_.GPO2._AEI.FBUF */
7017                 }
7018 
7019                 Return (RBUF) /* \_SB_.GPO2._AEI.RBUF */
7020             }
7021 
7022             Name (BMUX, Buffer (0x03)
7023             {
7024                  0x00, 0x01, 0x00                                 // ...
7025             })
7026             CreateByteField (BMUX, Zero, BBBY)
7027             CreateByteField (BMUX, 0x02, DDDT)
7028             Method (_E12, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
7029             {
7030                 If (((AVBL == One) && (^^GPO1.AVBL == One)))
7031                 {
7032                     If (USID)
7033                     {
7034                         ^^GPO1.BST5 = Zero
7035                         Sleep (0x05)
7036                         BMUX = ^^I2C5.XP30 /* \_SB_.I2C5.XP30 */
7037                         DDDT &= 0x7F
7038                         ^^I2C5.XP30 = BMUX /* \_SB_.GPO2.BMUX */
7039                         MOTG = One
7040                     }
7041                     Else
7042                     {
7043                         BMUX = ^^I2C5.XP30 /* \_SB_.I2C5.XP30 */
7044                         DDDT |= 0x80
7045                         ^^I2C5.XP30 = BMUX /* \_SB_.GPO2.BMUX */
7046                         Sleep (0x05)
7047                         ^^GPO1.BST5 = One
7048                         Sleep (0x05)
7049                         MOTG = Zero
7050                     }
7051                 }
7052             }
7053 
7054             Name (BMBQ, Buffer (0x03)
7055             {
7056                  0x00, 0x01, 0x00                                 // ...
7057             })
7058             CreateByteField (BMBQ, Zero, BBBQ)
7059             CreateByteField (BMBQ, 0x02, DDBQ)
7060             Method (BOST, 1, NotSerialized)
7061             {
7062                 BMBQ = ^^I2C1.BQ01 /* \_SB_.I2C1.BQ01 */
7063                 If ((Arg0 == One))
7064                 {
7065                     DDBQ &= 0xCF
7066                     DDBQ |= 0x20
7067                 }
7068                 Else
7069                 {
7070                     DDBQ &= 0xCF
7071                     DDBQ |= 0x10
7072                 }
7073 
7074                 ^^I2C1.BQ01 = BMBQ /* \_SB_.GPO2.BMBQ */
7075             }
7076 
7077             Name (BUFC, Buffer (0x03)
7078             {
7079                  0x00, 0x01, 0x00                                 // ...
7080             })
7081             CreateByteField (BUFC, Zero, BYAT)
7082             CreateByteField (BUFC, 0x02, DATA)
7083             Method (_E0A, 0, NotSerialized)  // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
7084             {
7085                 Notify (LID0, 0x80) // Status Change
7086             }
7087 
7088             Name (AVBL, Zero)
7089             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
7090             {
7091                 If ((Arg0 == 0x08))
7092                 {
7093                     AVBL = Arg1
7094                 }
7095             }
7096 
7097             OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
7098             Field (GPOP, ByteAcc, NoLock, Preserve)
7099             {
7100                 Connection (
7101                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
7102                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
7103                         )
7104                         {   // Pin list
7105                             0x0014
7106                         }
7107                 ), 
7108                 WFD3,   1, 
7109                 Connection (
7110                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
7111                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
7112                         )
7113                         {   // Pin list
7114                             0x0016
7115                         }
7116                 ), 
7117                 WWD3,   1, 
7118                 Connection (
7119                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
7120                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
7121                         )
7122                         {   // Pin list
7123                             0x0001
7124                         }
7125                 ), 
7126                 MOTG,   1, 
7127                 Connection (
7128                     GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
7129                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
7130                         )
7131                         {   // Pin list
7132                             0x0012
7133                         }
7134                 ), 
7135                 USID,   1, 
7136                 Connection (
7137                     GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
7138                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
7139                         )
7140                         {   // Pin list
7141                             0x0006
7142                         }
7143                 ), 
7144                 DCIN,   1
7145             }
7146         }
7147 
7148         Device (PEPD)
7149         {
7150             Name (_HID, "INT3396" /* Standard Power Management Controller */)  // _HID: Hardware ID
7151             Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */)  // _CID: Compatible ID
7152             Name (_UID, One)  // _UID: Unique ID
7153             Name (PEPP, Zero)
7154             Name (DEVS, Package (0x01)
7155             {
7156                 Zero
7157             })
7158             Name (DEVX, Package (0x0E)
7159             {
7160                 Package (0x02)
7161                 {
7162                     "\\_SB.PCI0.XHC1", 
7163                     One
7164                 }, 
7165 
7166                 Package (0x02)
7167                 {
7168                     "\\_SB.PCI0.GFX0", 
7169                     One
7170                 }, 
7171 
7172                 Package (0x02)
7173                 {
7174                     "\\_SB.PCI0.GFX0.ISP0", 
7175                     One
7176                 }, 
7177 
7178                 Package (0x02)
7179                 {
7180                     "\\_SB.PCI0.SEC0", 
7181                     One
7182                 }, 
7183 
7184                 Package (0x02)
7185                 {
7186                     "\\_SB.I2C1", 
7187                     One
7188                 }, 
7189 
7190                 Package (0x02)
7191                 {
7192                     "\\_SB.I2C2", 
7193                     One
7194                 }, 
7195 
7196                 Package (0x02)
7197                 {
7198                     "\\_SB.I2C3", 
7199                     One
7200                 }, 
7201 
7202                 Package (0x02)
7203                 {
7204                     "\\_SB.I2C4", 
7205                     One
7206                 }, 
7207 
7208                 Package (0x02)
7209                 {
7210                     "\\_SB.I2C5", 
7211                     One
7212                 }, 
7213 
7214                 Package (0x02)
7215                 {
7216                     "\\_SB.SDHA", 
7217                     One
7218                 }, 
7219 
7220                 Package (0x02)
7221                 {
7222                     "\\_SB.SDHB", 
7223                     One
7224                 }, 
7225 
7226                 Package (0x02)
7227                 {
7228                     "\\_SB.SDHC", 
7229                     One
7230                 }, 
7231 
7232                 Package (0x02)
7233                 {
7234                     "\\_SB.URT1", 
7235                     One
7236                 }, 
7237 
7238                 Package (0x02)
7239                 {
7240                     "\\_SB.URT2", 
7241                     One
7242                 }
7243             })
7244             Name (DEX1, Package (0x0D)
7245             {
7246                 Package (0x02)
7247                 {
7248                     "\\_SB.PCI0.XHC1", 
7249                     One
7250                 }, 
7251 
7252                 Package (0x02)
7253                 {
7254                     "\\_SB.PCI0.GFX0", 
7255                     One
7256                 }, 
7257 
7258                 Package (0x02)
7259                 {
7260                     "\\_SB.PCI0.GFX0.ISP0", 
7261                     One
7262                 }, 
7263 
7264                 Package (0x02)
7265                 {
7266                     "\\_SB.PCI0.SEC0", 
7267                     One
7268                 }, 
7269 
7270                 Package (0x02)
7271                 {
7272                     "\\_SB.I2C1", 
7273                     One
7274                 }, 
7275 
7276                 Package (0x02)
7277                 {
7278                     "\\_SB.I2C2", 
7279                     One
7280                 }, 
7281 
7282                 Package (0x02)
7283                 {
7284                     "\\_SB.I2C3", 
7285                     One
7286                 }, 
7287 
7288                 Package (0x02)
7289                 {
7290                     "\\_SB.I2C4", 
7291                     One
7292                 }, 
7293 
7294                 Package (0x02)
7295                 {
7296                     "\\_SB.SDHA", 
7297                     One
7298                 }, 
7299 
7300                 Package (0x02)
7301                 {
7302                     "\\_SB.SDHB", 
7303                     One
7304                 }, 
7305 
7306                 Package (0x02)
7307                 {
7308                     "\\_SB.SDHC", 
7309                     One
7310                 }, 
7311 
7312                 Package (0x02)
7313                 {
7314                     "\\_SB.URT1", 
7315                     One
7316                 }, 
7317 
7318                 Package (0x02)
7319                 {
7320                     "\\_SB.URT2", 
7321                     One
7322                 }
7323             })
7324             Name (DEX2, Package (0x0D)
7325             {
7326                 Package (0x02)
7327                 {
7328                     "\\_SB.PCI0.XHC1", 
7329                     One
7330                 }, 
7331 
7332                 Package (0x02)
7333                 {
7334                     "\\_SB.PCI0.GFX0", 
7335                     One
7336                 }, 
7337 
7338                 Package (0x02)
7339                 {
7340                     "\\_SB.PCI0.GFX0.ISP0", 
7341                     One
7342                 }, 
7343 
7344                 Package (0x02)
7345                 {
7346                     "\\_SB.PCI0.SEC0", 
7347                     One
7348                 }, 
7349 
7350                 Package (0x02)
7351                 {
7352                     "\\_SB.I2C1", 
7353                     One
7354                 }, 
7355 
7356                 Package (0x02)
7357                 {
7358                     "\\_SB.I2C2", 
7359                     One
7360                 }, 
7361 
7362                 Package (0x02)
7363                 {
7364                     "\\_SB.I2C3", 
7365                     One
7366                 }, 
7367 
7368                 Package (0x02)
7369                 {
7370                     "\\_SB.I2C4", 
7371                     One
7372                 }, 
7373 
7374                 Package (0x02)
7375                 {
7376                     "\\_SB.SDHA", 
7377                     One
7378                 }, 
7379 
7380                 Package (0x02)
7381                 {
7382                     "\\_SB.SDHB", 
7383                     One
7384                 }, 
7385 
7386                 Package (0x02)
7387                 {
7388                     "\\_SB.SDHD", 
7389                     One
7390                 }, 
7391 
7392                 Package (0x02)
7393                 {
7394                     "\\_SB.URT1", 
7395                     One
7396                 }, 
7397 
7398                 Package (0x02)
7399                 {
7400                     "\\_SB.URT2", 
7401                     One
7402                 }
7403             })
7404             Name (CDMP, Package (0x02){})
7405             Name (DEVY, Package (0x13)
7406             {
7407                 Package (0x03)
7408                 {
7409                     "\\_PR.CPU0", 
7410                     One, 
7411                     Package (0x02)
7412                     {
7413                         Zero, 
7414                         Package (0x02)
7415                         {
7416                             0xFF, 
7417                             Zero
7418                         }
7419                     }
7420                 }, 
7421 
7422                 Package (0x03)
7423                 {
7424                     "\\_PR.CPU1", 
7425                     One, 
7426                     Package (0x02)
7427                     {
7428                         Zero, 
7429                         Package (0x02)
7430                         {
7431                             0xFF, 
7432                             Zero
7433                         }
7434                     }
7435                 }, 
7436 
7437                 Package (0x03)
7438                 {
7439                     "\\_PR.CPU2", 
7440                     One, 
7441                     Package (0x02)
7442                     {
7443                         Zero, 
7444                         Package (0x02)
7445                         {
7446                             0xFF, 
7447                             Zero
7448                         }
7449                     }
7450                 }, 
7451 
7452                 Package (0x03)
7453                 {
7454                     "\\_PR.CPU3", 
7455                     One, 
7456                     Package (0x02)
7457                     {
7458                         Zero, 
7459                         Package (0x02)
7460                         {
7461                             0xFF, 
7462                             Zero
7463                         }
7464                     }
7465                 }, 
7466 
7467                 Package (0x03)
7468                 {
7469                     "\\_SB.PCI0.GFX0", 
7470                     One, 
7471                     Package (0x02)
7472                     {
7473                         Zero, 
7474                         Package (0x02)
7475                         {
7476                             0xFF, 
7477                             0x03
7478                         }
7479                     }
7480                 }, 
7481 
7482                 Package (0x03)
7483                 {
7484                     "\\_SB.PCI0.GFX0.ISP0", 
7485                     One, 
7486                     Package (0x02)
7487                     {
7488                         Zero, 
7489                         Package (0x02)
7490                         {
7491                             0xFF, 
7492                             0x03
7493                         }
7494                     }
7495                 }, 
7496 
7497                 Package (0x03)
7498                 {
7499                     "\\_SB.I2C1", 
7500                     One, 
7501                     Package (0x05)
7502                     {
7503                         Zero, 
7504                         Package (0x02)
7505                         {
7506                             Zero, 
7507                             Zero
7508                         }, 
7509 
7510                         Package (0x02)
7511                         {
7512                             One, 
7513                             0x03
7514                         }, 
7515 
7516                         Package (0x02)
7517                         {
7518                             0x02, 
7519                             0x03
7520                         }, 
7521 
7522                         Package (0x02)
7523                         {
7524                             0x03, 
7525                             0x03
7526                         }
7527                     }
7528                 }, 
7529 
7530                 Package (0x03)
7531                 {
7532                     "\\_SB.I2C2", 
7533                     One, 
7534                     Package (0x05)
7535                     {
7536                         Zero, 
7537                         Package (0x02)
7538                         {
7539                             Zero, 
7540                             Zero
7541                         }, 
7542 
7543                         Package (0x02)
7544                         {
7545                             One, 
7546                             0x03
7547                         }, 
7548 
7549                         Package (0x02)
7550                         {
7551                             0x02, 
7552                             0x03
7553                         }, 
7554 
7555                         Package (0x02)
7556                         {
7557                             0x03, 
7558                             0x03
7559                         }
7560                     }
7561                 }, 
7562 
7563                 Package (0x03)
7564                 {
7565                     "\\_SB.I2C3", 
7566                     One, 
7567                     Package (0x05)
7568                     {
7569                         Zero, 
7570                         Package (0x02)
7571                         {
7572                             Zero, 
7573                             Zero
7574                         }, 
7575 
7576                         Package (0x02)
7577                         {
7578                             One, 
7579                             0x03
7580                         }, 
7581 
7582                         Package (0x02)
7583                         {
7584                             0x02, 
7585                             0x03
7586                         }, 
7587 
7588                         Package (0x02)
7589                         {
7590                             0x03, 
7591                             0x03
7592                         }
7593                     }
7594                 }, 
7595 
7596                 Package (0x03)
7597                 {
7598                     "\\_SB.I2C4", 
7599                     One, 
7600                     Package (0x05)
7601                     {
7602                         Zero, 
7603                         Package (0x02)
7604                         {
7605                             Zero, 
7606                             Zero
7607                         }, 
7608 
7609                         Package (0x02)
7610                         {
7611                             One, 
7612                             0x03
7613                         }, 
7614 
7615                         Package (0x02)
7616                         {
7617                             0x02, 
7618                             0x03
7619                         }, 
7620 
7621                         Package (0x02)
7622                         {
7623                             0x03, 
7624                             0x03
7625                         }
7626                     }
7627                 }, 
7628 
7629                 Package (0x03)
7630                 {
7631                     "\\_SB.I2C5", 
7632                     One, 
7633                     Package (0x05)
7634                     {
7635                         Zero, 
7636                         Package (0x02)
7637                         {
7638                             Zero, 
7639                             Zero
7640                         }, 
7641 
7642                         Package (0x02)
7643                         {
7644                             One, 
7645                             0x03
7646                         }, 
7647 
7648                         Package (0x02)
7649                         {
7650                             0x02, 
7651                             0x03
7652                         }, 
7653 
7654                         Package (0x02)
7655                         {
7656                             0x03, 
7657                             0x03
7658                         }
7659                     }
7660                 }, 
7661 
7662                 Package (0x03)
7663                 {
7664                     "\\_SB.PCI0.XHC1", 
7665                     One, 
7666                     Package (0x05)
7667                     {
7668                         Zero, 
7669                         Package (0x02)
7670                         {
7671                             Zero, 
7672                             0x03
7673                         }, 
7674 
7675                         Package (0x02)
7676                         {
7677                             One, 
7678                             0x03
7679                         }, 
7680 
7681                         Package (0x02)
7682                         {
7683                             0x02, 
7684                             0x03
7685                         }, 
7686 
7687                         Package (0x02)
7688                         {
7689                             0x03, 
7690                             0x03
7691                         }
7692                     }
7693                 }, 
7694 
7695                 Package (0x03)
7696                 {
7697                     "\\_SB.PCI0.SEC0", 
7698                     One, 
7699                     Package (0x05)
7700                     {
7701                         Zero, 
7702                         Package (0x02)
7703                         {
7704                             Zero, 
7705                             Zero
7706                         }, 
7707 
7708                         Package (0x02)
7709                         {
7710                             One, 
7711                             0x03
7712                         }, 
7713 
7714                         Package (0x02)
7715                         {
7716                             0x02, 
7717                             0x03
7718                         }, 
7719 
7720                         Package (0x02)
7721                         {
7722                             0x03, 
7723                             0x03
7724                         }
7725                     }
7726                 }, 
7727 
7728                 Package (0x03)
7729                 {
7730                     "\\_SB.LPEA", 
7731                     One, 
7732                     Package (0x05)
7733                     {
7734                         Zero, 
7735                         Package (0x02)
7736                         {
7737                             Zero, 
7738                             Zero
7739                         }, 
7740 
7741                         Package (0x02)
7742                         {
7743                             One, 
7744                             Zero
7745                         }, 
7746 
7747                         Package (0x02)
7748                         {
7749                             0x02, 
7750                             0x03
7751                         }, 
7752 
7753                         Package (0x02)
7754                         {
7755                             0x03, 
7756                             0x03
7757                         }
7758                     }
7759                 }, 
7760 
7761                 Package (0x03)
7762                 {
7763                     "\\_SB.SDHA", 
7764                     One, 
7765                     Package (0x05)
7766                     {
7767                         Zero, 
7768                         Package (0x02)
7769                         {
7770                             Zero, 
7771                             Zero
7772                         }, 
7773 
7774                         Package (0x02)
7775                         {
7776                             One, 
7777                             0x03
7778                         }, 
7779 
7780                         Package (0x02)
7781                         {
7782                             0x02, 
7783                             0x03
7784                         }, 
7785 
7786                         Package (0x02)
7787                         {
7788                             0x03, 
7789                             0x03
7790                         }
7791                     }
7792                 }, 
7793 
7794                 Package (0x03)
7795                 {
7796                     "\\_SB.SDHB", 
7797                     One, 
7798                     Package (0x05)
7799                     {
7800                         Zero, 
7801                         Package (0x02)
7802                         {
7803                             Zero, 
7804                             Zero
7805                         }, 
7806 
7807                         Package (0x02)
7808                         {
7809                             One, 
7810                             0x03
7811                         }, 
7812 
7813                         Package (0x02)
7814                         {
7815                             0x02, 
7816                             0x03
7817                         }, 
7818 
7819                         Package (0x02)
7820                         {
7821                             0x03, 
7822                             0x03
7823                         }
7824                     }
7825                 }, 
7826 
7827                 Package (0x03)
7828                 {
7829                     "\\_SB.SDHC", 
7830                     One, 
7831                     Package (0x05)
7832                     {
7833                         Zero, 
7834                         Package (0x02)
7835                         {
7836                             Zero, 
7837                             Zero
7838                         }, 
7839 
7840                         Package (0x02)
7841                         {
7842                             One, 
7843                             0x03
7844                         }, 
7845 
7846                         Package (0x02)
7847                         {
7848                             0x02, 
7849                             0x03
7850                         }, 
7851 
7852                         Package (0x02)
7853                         {
7854                             0x03, 
7855                             0x03
7856                         }
7857                     }
7858                 }, 
7859 
7860                 Package (0x03)
7861                 {
7862                     "\\_SB.URT1", 
7863                     One, 
7864                     Package (0x05)
7865                     {
7866                         Zero, 
7867                         Package (0x02)
7868                         {
7869                             Zero, 
7870                             Zero
7871                         }, 
7872 
7873                         Package (0x02)
7874                         {
7875                             One, 
7876                             0x03
7877                         }, 
7878 
7879                         Package (0x02)
7880                         {
7881                             0x02, 
7882                             0x03
7883                         }, 
7884 
7885                         Package (0x02)
7886                         {
7887                             0x03, 
7888                             0x03
7889                         }
7890                     }
7891                 }, 
7892 
7893                 Package (0x03)
7894                 {
7895                     "\\_SB.URT2", 
7896                     One, 
7897                     Package (0x05)
7898                     {
7899                         Zero, 
7900                         Package (0x02)
7901                         {
7902                             Zero, 
7903                             Zero
7904                         }, 
7905 
7906                         Package (0x02)
7907                         {
7908                             One, 
7909                             0x03
7910                         }, 
7911 
7912                         Package (0x02)
7913                         {
7914                             0x02, 
7915                             0x03
7916                         }, 
7917 
7918                         Package (0x02)
7919                         {
7920                             0x03, 
7921                             0x03
7922                         }
7923                     }
7924                 }
7925             })
7926             Name (DEY1, Package (0x12)
7927             {
7928                 Package (0x03)
7929                 {
7930                     "\\_PR.CPU0", 
7931                     One, 
7932                     Package (0x02)
7933                     {
7934                         Zero, 
7935                         Package (0x02)
7936                         {
7937                             0xFF, 
7938                             Zero
7939                         }
7940                     }
7941                 }, 
7942 
7943                 Package (0x03)
7944                 {
7945                     "\\_PR.CPU1", 
7946                     One, 
7947                     Package (0x02)
7948                     {
7949                         Zero, 
7950                         Package (0x02)
7951                         {
7952                             0xFF, 
7953                             Zero
7954                         }
7955                     }
7956                 }, 
7957 
7958                 Package (0x03)
7959                 {
7960                     "\\_PR.CPU2", 
7961                     One, 
7962                     Package (0x02)
7963                     {
7964                         Zero, 
7965                         Package (0x02)
7966                         {
7967                             0xFF, 
7968                             Zero
7969                         }
7970                     }
7971                 }, 
7972 
7973                 Package (0x03)
7974                 {
7975                     "\\_PR.CPU3", 
7976                     One, 
7977                     Package (0x02)
7978                     {
7979                         Zero, 
7980                         Package (0x02)
7981                         {
7982                             0xFF, 
7983                             Zero
7984                         }
7985                     }
7986                 }, 
7987 
7988                 Package (0x03)
7989                 {
7990                     "\\_SB.PCI0.GFX0", 
7991                     One, 
7992                     Package (0x02)
7993                     {
7994                         Zero, 
7995                         Package (0x02)
7996                         {
7997                             0xFF, 
7998                             0x03
7999                         }
8000                     }
8001                 }, 
8002 
8003                 Package (0x03)
8004                 {
8005                     "\\_SB.PCI0.GFX0.ISP0", 
8006                     One, 
8007                     Package (0x02)
8008                     {
8009                         Zero, 
8010                         Package (0x02)
8011                         {
8012                             0xFF, 
8013                             0x03
8014                         }
8015                     }
8016                 }, 
8017 
8018                 Package (0x03)
8019                 {
8020                     "\\_SB.I2C1", 
8021                     One, 
8022                     Package (0x05)
8023                     {
8024                         Zero, 
8025                         Package (0x02)
8026                         {
8027                             Zero, 
8028                             Zero
8029                         }, 
8030 
8031                         Package (0x02)
8032                         {
8033                             One, 
8034                             0x03
8035                         }, 
8036 
8037                         Package (0x02)
8038                         {
8039                             0x02, 
8040                             0x03
8041                         }, 
8042 
8043                         Package (0x02)
8044                         {
8045                             0x03, 
8046                             0x03
8047                         }
8048                     }
8049                 }, 
8050 
8051                 Package (0x03)
8052                 {
8053                     "\\_SB.I2C2", 
8054                     One, 
8055                     Package (0x05)
8056                     {
8057                         Zero, 
8058                         Package (0x02)
8059                         {
8060                             Zero, 
8061                             Zero
8062                         }, 
8063 
8064                         Package (0x02)
8065                         {
8066                             One, 
8067                             0x03
8068                         }, 
8069 
8070                         Package (0x02)
8071                         {
8072                             0x02, 
8073                             0x03
8074                         }, 
8075 
8076                         Package (0x02)
8077                         {
8078                             0x03, 
8079                             0x03
8080                         }
8081                     }
8082                 }, 
8083 
8084                 Package (0x03)
8085                 {
8086                     "\\_SB.I2C3", 
8087                     One, 
8088                     Package (0x05)
8089                     {
8090                         Zero, 
8091                         Package (0x02)
8092                         {
8093                             Zero, 
8094                             Zero
8095                         }, 
8096 
8097                         Package (0x02)
8098                         {
8099                             One, 
8100                             0x03
8101                         }, 
8102 
8103                         Package (0x02)
8104                         {
8105                             0x02, 
8106                             0x03
8107                         }, 
8108 
8109                         Package (0x02)
8110                         {
8111                             0x03, 
8112                             0x03
8113                         }
8114                     }
8115                 }, 
8116 
8117                 Package (0x03)
8118                 {
8119                     "\\_SB.I2C4", 
8120                     One, 
8121                     Package (0x05)
8122                     {
8123                         Zero, 
8124                         Package (0x02)
8125                         {
8126                             Zero, 
8127                             Zero
8128                         }, 
8129 
8130                         Package (0x02)
8131                         {
8132                             One, 
8133                             0x03
8134                         }, 
8135 
8136                         Package (0x02)
8137                         {
8138                             0x02, 
8139                             0x03
8140                         }, 
8141 
8142                         Package (0x02)
8143                         {
8144                             0x03, 
8145                             0x03
8146                         }
8147                     }
8148                 }, 
8149 
8150                 Package (0x03)
8151                 {
8152                     "\\_SB.PCI0.XHC1", 
8153                     One, 
8154                     Package (0x05)
8155                     {
8156                         Zero, 
8157                         Package (0x02)
8158                         {
8159                             Zero, 
8160                             0x03
8161                         }, 
8162 
8163                         Package (0x02)
8164                         {
8165                             One, 
8166                             0x03
8167                         }, 
8168 
8169                         Package (0x02)
8170                         {
8171                             0x02, 
8172                             0x03
8173                         }, 
8174 
8175                         Package (0x02)
8176                         {
8177                             0x03, 
8178                             0x03
8179                         }
8180                     }
8181                 }, 
8182 
8183                 Package (0x03)
8184                 {
8185                     "\\_SB.PCI0.SEC0", 
8186                     One, 
8187                     Package (0x05)
8188                     {
8189                         Zero, 
8190                         Package (0x02)
8191                         {
8192                             Zero, 
8193                             Zero
8194                         }, 
8195 
8196                         Package (0x02)
8197                         {
8198                             One, 
8199                             0x03
8200                         }, 
8201 
8202                         Package (0x02)
8203                         {
8204                             0x02, 
8205                             0x03
8206                         }, 
8207 
8208                         Package (0x02)
8209                         {
8210                             0x03, 
8211                             0x03
8212                         }
8213                     }
8214                 }, 
8215 
8216                 Package (0x03)
8217                 {
8218                     "\\_SB.LPEA", 
8219                     One, 
8220                     Package (0x05)
8221                     {
8222                         Zero, 
8223                         Package (0x02)
8224                         {
8225                             Zero, 
8226                             Zero
8227                         }, 
8228 
8229                         Package (0x02)
8230                         {
8231                             One, 
8232                             Zero
8233                         }, 
8234 
8235                         Package (0x02)
8236                         {
8237                             0x02, 
8238                             0x03
8239                         }, 
8240 
8241                         Package (0x02)
8242                         {
8243                             0x03, 
8244                             0x03
8245                         }
8246                     }
8247                 }, 
8248 
8249                 Package (0x03)
8250                 {
8251                     "\\_SB.SDHA", 
8252                     One, 
8253                     Package (0x05)
8254                     {
8255                         Zero, 
8256                         Package (0x02)
8257                         {
8258                             Zero, 
8259                             Zero
8260                         }, 
8261 
8262                         Package (0x02)
8263                         {
8264                             One, 
8265                             0x03
8266                         }, 
8267 
8268                         Package (0x02)
8269                         {
8270                             0x02, 
8271                             0x03
8272                         }, 
8273 
8274                         Package (0x02)
8275                         {
8276                             0x03, 
8277                             0x03
8278                         }
8279                     }
8280                 }, 
8281 
8282                 Package (0x03)
8283                 {
8284                     "\\_SB.SDHB", 
8285                     One, 
8286                     Package (0x05)
8287                     {
8288                         Zero, 
8289                         Package (0x02)
8290                         {
8291                             Zero, 
8292                             Zero
8293                         }, 
8294 
8295                         Package (0x02)
8296                         {
8297                             One, 
8298                             0x03
8299                         }, 
8300 
8301                         Package (0x02)
8302                         {
8303                             0x02, 
8304                             0x03
8305                         }, 
8306 
8307                         Package (0x02)
8308                         {
8309                             0x03, 
8310                             0x03
8311                         }
8312                     }
8313                 }, 
8314 
8315                 Package (0x03)
8316                 {
8317                     "\\_SB.SDHC", 
8318                     One, 
8319                     Package (0x05)
8320                     {
8321                         Zero, 
8322                         Package (0x02)
8323                         {
8324                             Zero, 
8325                             Zero
8326                         }, 
8327 
8328                         Package (0x02)
8329                         {
8330                             One, 
8331                             0x03
8332                         }, 
8333 
8334                         Package (0x02)
8335                         {
8336                             0x02, 
8337                             0x03
8338                         }, 
8339 
8340                         Package (0x02)
8341                         {
8342                             0x03, 
8343                             0x03
8344                         }
8345                     }
8346                 }, 
8347 
8348                 Package (0x03)
8349                 {
8350                     "\\_SB.URT1", 
8351                     One, 
8352                     Package (0x05)
8353                     {
8354                         Zero, 
8355                         Package (0x02)
8356                         {
8357                             Zero, 
8358                             Zero
8359                         }, 
8360 
8361                         Package (0x02)
8362                         {
8363                             One, 
8364                             0x03
8365                         }, 
8366 
8367                         Package (0x02)
8368                         {
8369                             0x02, 
8370                             0x03
8371                         }, 
8372 
8373                         Package (0x02)
8374                         {
8375                             0x03, 
8376                             0x03
8377                         }
8378                     }
8379                 }, 
8380 
8381                 Package (0x03)
8382                 {
8383                     "\\_SB.URT2", 
8384                     One, 
8385                     Package (0x05)
8386                     {
8387                         Zero, 
8388                         Package (0x02)
8389                         {
8390                             Zero, 
8391                             Zero
8392                         }, 
8393 
8394                         Package (0x02)
8395                         {
8396                             One, 
8397                             0x03
8398                         }, 
8399 
8400                         Package (0x02)
8401                         {
8402                             0x02, 
8403                             0x03
8404                         }, 
8405 
8406                         Package (0x02)
8407                         {
8408                             0x03, 
8409                             0x03
8410                         }
8411                     }
8412                 }
8413             })
8414             Name (DEY2, Package (0x12)
8415             {
8416                 Package (0x03)
8417                 {
8418                     "\\_PR.CPU0", 
8419                     One, 
8420                     Package (0x02)
8421                     {
8422                         Zero, 
8423                         Package (0x02)
8424                         {
8425                             0xFF, 
8426                             Zero
8427                         }
8428                     }
8429                 }, 
8430 
8431                 Package (0x03)
8432                 {
8433                     "\\_PR.CPU1", 
8434                     One, 
8435                     Package (0x02)
8436                     {
8437                         Zero, 
8438                         Package (0x02)
8439                         {
8440                             0xFF, 
8441                             Zero
8442                         }
8443                     }
8444                 }, 
8445 
8446                 Package (0x03)
8447                 {
8448                     "\\_PR.CPU2", 
8449                     One, 
8450                     Package (0x02)
8451                     {
8452                         Zero, 
8453                         Package (0x02)
8454                         {
8455                             0xFF, 
8456                             Zero
8457                         }
8458                     }
8459                 }, 
8460 
8461                 Package (0x03)
8462                 {
8463                     "\\_PR.CPU3", 
8464                     One, 
8465                     Package (0x02)
8466                     {
8467                         Zero, 
8468                         Package (0x02)
8469                         {
8470                             0xFF, 
8471                             Zero
8472                         }
8473                     }
8474                 }, 
8475 
8476                 Package (0x03)
8477                 {
8478                     "\\_SB.PCI0.GFX0", 
8479                     One, 
8480                     Package (0x02)
8481                     {
8482                         Zero, 
8483                         Package (0x02)
8484                         {
8485                             0xFF, 
8486                             0x03
8487                         }
8488                     }
8489                 }, 
8490 
8491                 Package (0x03)
8492                 {
8493                     "\\_SB.PCI0.GFX0.ISP0", 
8494                     One, 
8495                     Package (0x02)
8496                     {
8497                         Zero, 
8498                         Package (0x02)
8499                         {
8500                             0xFF, 
8501                             0x03
8502                         }
8503                     }
8504                 }, 
8505 
8506                 Package (0x03)
8507                 {
8508                     "\\_SB.I2C1", 
8509                     One, 
8510                     Package (0x05)
8511                     {
8512                         Zero, 
8513                         Package (0x02)
8514                         {
8515                             Zero, 
8516                             Zero
8517                         }, 
8518 
8519                         Package (0x02)
8520                         {
8521                             One, 
8522                             0x03
8523                         }, 
8524 
8525                         Package (0x02)
8526                         {
8527                             0x02, 
8528                             0x03
8529                         }, 
8530 
8531                         Package (0x02)
8532                         {
8533                             0x03, 
8534                             0x03
8535                         }
8536                     }
8537                 }, 
8538 
8539                 Package (0x03)
8540                 {
8541                     "\\_SB.I2C2", 
8542                     One, 
8543                     Package (0x05)
8544                     {
8545                         Zero, 
8546                         Package (0x02)
8547                         {
8548                             Zero, 
8549                             Zero
8550                         }, 
8551 
8552                         Package (0x02)
8553                         {
8554                             One, 
8555                             0x03
8556                         }, 
8557 
8558                         Package (0x02)
8559                         {
8560                             0x02, 
8561                             0x03
8562                         }, 
8563 
8564                         Package (0x02)
8565                         {
8566                             0x03, 
8567                             0x03
8568                         }
8569                     }
8570                 }, 
8571 
8572                 Package (0x03)
8573                 {
8574                     "\\_SB.I2C3", 
8575                     One, 
8576                     Package (0x05)
8577                     {
8578                         Zero, 
8579                         Package (0x02)
8580                         {
8581                             Zero, 
8582                             Zero
8583                         }, 
8584 
8585                         Package (0x02)
8586                         {
8587                             One, 
8588                             0x03
8589                         }, 
8590 
8591                         Package (0x02)
8592                         {
8593                             0x02, 
8594                             0x03
8595                         }, 
8596 
8597                         Package (0x02)
8598                         {
8599                             0x03, 
8600                             0x03
8601                         }
8602                     }
8603                 }, 
8604 
8605                 Package (0x03)
8606                 {
8607                     "\\_SB.I2C4", 
8608                     One, 
8609                     Package (0x05)
8610                     {
8611                         Zero, 
8612                         Package (0x02)
8613                         {
8614                             Zero, 
8615                             Zero
8616                         }, 
8617 
8618                         Package (0x02)
8619                         {
8620                             One, 
8621                             0x03
8622                         }, 
8623 
8624                         Package (0x02)
8625                         {
8626                             0x02, 
8627                             0x03
8628                         }, 
8629 
8630                         Package (0x02)
8631                         {
8632                             0x03, 
8633                             0x03
8634                         }
8635                     }
8636                 }, 
8637 
8638                 Package (0x03)
8639                 {
8640                     "\\_SB.PCI0.XHC1", 
8641                     One, 
8642                     Package (0x05)
8643                     {
8644                         Zero, 
8645                         Package (0x02)
8646                         {
8647                             Zero, 
8648                             0x03
8649                         }, 
8650 
8651                         Package (0x02)
8652                         {
8653                             One, 
8654                             0x03
8655                         }, 
8656 
8657                         Package (0x02)
8658                         {
8659                             0x02, 
8660                             0x03
8661                         }, 
8662 
8663                         Package (0x02)
8664                         {
8665                             0x03, 
8666                             0x03
8667                         }
8668                     }
8669                 }, 
8670 
8671                 Package (0x03)
8672                 {
8673                     "\\_SB.PCI0.SEC0", 
8674                     One, 
8675                     Package (0x05)
8676                     {
8677                         Zero, 
8678                         Package (0x02)
8679                         {
8680                             Zero, 
8681                             Zero
8682                         }, 
8683 
8684                         Package (0x02)
8685                         {
8686                             One, 
8687                             0x03
8688                         }, 
8689 
8690                         Package (0x02)
8691                         {
8692                             0x02, 
8693                             0x03
8694                         }, 
8695 
8696                         Package (0x02)
8697                         {
8698                             0x03, 
8699                             0x03
8700                         }
8701                     }
8702                 }, 
8703 
8704                 Package (0x03)
8705                 {
8706                     "\\_SB.LPEA", 
8707                     One, 
8708                     Package (0x05)
8709                     {
8710                         Zero, 
8711                         Package (0x02)
8712                         {
8713                             Zero, 
8714                             Zero
8715                         }, 
8716 
8717                         Package (0x02)
8718                         {
8719                             One, 
8720                             Zero
8721                         }, 
8722 
8723                         Package (0x02)
8724                         {
8725                             0x02, 
8726                             0x03
8727                         }, 
8728 
8729                         Package (0x02)
8730                         {
8731                             0x03, 
8732                             0x03
8733                         }
8734                     }
8735                 }, 
8736 
8737                 Package (0x03)
8738                 {
8739                     "\\_SB.SDHA", 
8740                     One, 
8741                     Package (0x05)
8742                     {
8743                         Zero, 
8744                         Package (0x02)
8745                         {
8746                             Zero, 
8747                             Zero
8748                         }, 
8749 
8750                         Package (0x02)
8751                         {
8752                             One, 
8753                             0x03
8754                         }, 
8755 
8756                         Package (0x02)
8757                         {
8758                             0x02, 
8759                             0x03
8760                         }, 
8761 
8762                         Package (0x02)
8763                         {
8764                             0x03, 
8765                             0x03
8766                         }
8767                     }
8768                 }, 
8769 
8770                 Package (0x03)
8771                 {
8772                     "\\_SB.SDHB", 
8773                     One, 
8774                     Package (0x05)
8775                     {
8776                         Zero, 
8777                         Package (0x02)
8778                         {
8779                             Zero, 
8780                             Zero
8781                         }, 
8782 
8783                         Package (0x02)
8784                         {
8785                             One, 
8786                             0x03
8787                         }, 
8788 
8789                         Package (0x02)
8790                         {
8791                             0x02, 
8792                             0x03
8793                         }, 
8794 
8795                         Package (0x02)
8796                         {
8797                             0x03, 
8798                             0x03
8799                         }
8800                     }
8801                 }, 
8802 
8803                 Package (0x03)
8804                 {
8805                     "\\_SB.SDHD", 
8806                     One, 
8807                     Package (0x05)
8808                     {
8809                         Zero, 
8810                         Package (0x02)
8811                         {
8812                             Zero, 
8813                             Zero
8814                         }, 
8815 
8816                         Package (0x02)
8817                         {
8818                             One, 
8819                             0x03
8820                         }, 
8821 
8822                         Package (0x02)
8823                         {
8824                             0x02, 
8825                             0x03
8826                         }, 
8827 
8828                         Package (0x02)
8829                         {
8830                             0x03, 
8831                             0x03
8832                         }
8833                     }
8834                 }, 
8835 
8836                 Package (0x03)
8837                 {
8838                     "\\_SB.URT1", 
8839                     One, 
8840                     Package (0x05)
8841                     {
8842                         Zero, 
8843                         Package (0x02)
8844                         {
8845                             Zero, 
8846                             Zero
8847                         }, 
8848 
8849                         Package (0x02)
8850                         {
8851                             One, 
8852                             0x03
8853                         }, 
8854 
8855                         Package (0x02)
8856                         {
8857                             0x02, 
8858                             0x03
8859                         }, 
8860 
8861                         Package (0x02)
8862                         {
8863                             0x03, 
8864                             0x03
8865                         }
8866                     }
8867                 }, 
8868 
8869                 Package (0x03)
8870                 {
8871                     "\\_SB.URT2", 
8872                     One, 
8873                     Package (0x05)
8874                     {
8875                         Zero, 
8876                         Package (0x02)
8877                         {
8878                             Zero, 
8879                             Zero
8880                         }, 
8881 
8882                         Package (0x02)
8883                         {
8884                             One, 
8885                             0x03
8886                         }, 
8887 
8888                         Package (0x02)
8889                         {
8890                             0x02, 
8891                             0x03
8892                         }, 
8893 
8894                         Package (0x02)
8895                         {
8896                             0x03, 
8897                             0x03
8898                         }
8899                     }
8900                 }
8901             })
8902             Name (BCCD, Package (0x01)
8903             {
8904                 Package (0x02)
8905                 {
8906                     "\\_SB.SDHA", 
8907                     Package (0x01)
8908                     {
8909                         Package (0x03)
8910                         {
8911                             Package (0x05)
8912                             {
8913                                 Zero, 
8914                                 0x20, 
8915                                 Zero, 
8916                                 0x03, 
8917                                 Ones
8918                             }, 
8919 
8920                             Package (0x03)
8921                             {
8922                                 0xFFFFFFFC, 
8923                                 Zero, 
8924                                 0x04
8925                             }, 
8926 
8927                             Zero
8928                         }
8929                     }
8930                 }
8931             })
8932             Method (_STA, 0, NotSerialized)  // _STA: Status
8933             {
8934                 Return (0x0F)
8935             }
8936 
8937             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
8938             {
8939                 If ((Arg0 == ToUUID ("b8febfe0-baf8-454b-aecd-49fb91137b21")))
8940                 {
8941                     If ((Arg2 == Zero))
8942                     {
8943                         Return (Buffer (One)
8944                         {
8945                              0x0F                                             // .
8946                         })
8947                     }
8948 
8949                     If ((Arg2 == One))
8950                     {
8951                         PEPP = One
8952                         Return (0x0F)
8953                     }
8954 
8955                     If ((Arg2 == 0x02))
8956                     {
8957                         If ((Arg1 == Zero))
8958                         {
8959                             Return (DEVS) /* \_SB_.PEPD.DEVS */
8960                         }
8961 
8962                         If ((Arg1 == One))
8963                         {
8964                             If ((PMID == 0x02))
8965                             {
8966                                 Return (DEVX) /* \_SB_.PEPD.DEVX */
8967                             }
8968                             Else
8969                             {
8970                                 If ((PMID == 0x05))
8971                                 {
8972                                     Return (DEX2) /* \_SB_.PEPD.DEX2 */
8973                                 }
8974 
8975                                 Return (DEX1) /* \_SB_.PEPD.DEX1 */
8976                             }
8977                         }
8978                     }
8979 
8980                     If ((Arg2 == 0x03))
8981                     {
8982                         CDMP [Zero] = "\\_SB.SDHA"
8983                         CDMP [One] = EM1A /* \EM1A */
8984                         Return (CDMP) /* \_SB_.PEPD.CDMP */
8985                     }
8986                 }
8987 
8988                 If ((Arg0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66")))
8989                 {
8990                     If ((Arg2 == Zero))
8991                     {
8992                         Return (Buffer (One)
8993                         {
8994                              0x07                                             // .
8995                         })
8996                     }
8997 
8998                     If ((Arg2 == One))
8999                     {
9000                         If ((PMID == 0x02))
9001                         {
9002                             Return (DEVY) /* \_SB_.PEPD.DEVY */
9003                         }
9004                         Else
9005                         {
9006                             If ((PMID == 0x05))
9007                             {
9008                                 Return (DEY2) /* \_SB_.PEPD.DEY2 */
9009                             }
9010 
9011                             Return (DEY1) /* \_SB_.PEPD.DEY1 */
9012                         }
9013                     }
9014 
9015                     If ((Arg2 == 0x02))
9016                     {
9017                         Local0 = EM1A /* \EM1A */
9018                         Local0 += 0x84
9019                         DerefOf (DerefOf (DerefOf (DerefOf (BCCD [Zero]
9020                             ) [One]) [Zero]) [Zero]) [0x04] = Local0
9021                         Return (BCCD) /* \_SB_.PEPD.BCCD */
9022                     }
9023                 }
9024 
9025                 Return (One)
9026             }
9027         }
9028 
9029         Device (SDHA)
9030         {
9031             Name (_ADR, Zero)  // _ADR: Address
9032             Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */)  // _HID: Hardware ID
9033             Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */)  // _CID: Compatible ID
9034             Name (_DDN, "Intel(R) eMMC Controller - 80860F14")  // _DDN: DOS Device Name
9035             Name (_UID, One)  // _UID: Unique ID
9036             Name (_DEP, Package (0x01)  // _DEP: Dependencies
9037             {
9038                 PEPD
9039             })
9040             Name (RBF1, ResourceTemplate ()
9041             {
9042                 Memory32Fixed (ReadWrite,
9043                     0x00000000,         // Address Base
9044                     0x00001000,         // Address Length
9045                     _Y0A)
9046                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9047                 {
9048                     0x0000002D,
9049                 }
9050             })
9051             Name (RBF2, ResourceTemplate ()
9052             {
9053                 Memory32Fixed (ReadWrite,
9054                     0x00000000,         // Address Base
9055                     0x00001000,         // Address Length
9056                     _Y0B)
9057                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9058                 {
9059                     0x0000002C,
9060                 }
9061             })
9062             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9063             {
9064                 CreateDWordField (RBF1, \_SB.SDHA._Y0A._BAS, B0B1)  // _BAS: Base Address
9065                 CreateDWordField (RBF1, \_SB.SDHA._Y0A._LEN, B0L1)  // _LEN: Length
9066                 B0B1 = EM0A /* \EM0A */
9067                 B0L1 = EM0L /* \EM0L */
9068                 CreateDWordField (RBF2, \_SB.SDHA._Y0B._BAS, B0B2)  // _BAS: Base Address
9069                 CreateDWordField (RBF2, \_SB.SDHA._Y0B._LEN, B0L2)  // _LEN: Length
9070                 B0B2 = EM0A /* \EM0A */
9071                 B0L2 = EM0L /* \EM0L */
9072                 If ((EMVR == One))
9073                 {
9074                     Return (RBF2) /* \_SB_.SDHA.RBF2 */
9075                 }
9076 
9077                 Return (RBF1) /* \_SB_.SDHA.RBF1 */
9078             }
9079 
9080             Method (_STA, 0, NotSerialized)  // _STA: Status
9081             {
9082                 Return (0x0F)
9083             }
9084 
9085             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9086             {
9087                 PSAT |= 0x03
9088                 Local0 = PSAT /* \_SB_.SDHA.PSAT */
9089                 If (((SOCS < 0x02) || ((SOCS == 0x02) && (EMVR == One))))
9090                 {
9091                     Sleep (0x02)
9092                 }
9093             }
9094 
9095             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9096             {
9097                 PSAT &= 0xFFFFFFFC
9098                 Local0 = PSAT /* \_SB_.SDHA.PSAT */
9099                 If (((SOCS < 0x02) || ((SOCS == 0x02) && (EMVR == One))))
9100                 {
9101                     Sleep (0x02)
9102                 }
9103             }
9104 
9105             OperationRegion (KEYS, SystemMemory, EM1A, 0x0100)
9106             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9107             {
9108                 Offset (0x84), 
9109                 PSAT,   32
9110             }
9111 
9112             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
9113             {
9114             }
9115 
9116             Device (EMMD)
9117             {
9118                 Name (_ADR, 0x08)  // _ADR: Address
9119                 Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
9120                 {
9121                     Return (Zero)
9122                 }
9123             }
9124         }
9125 
9126         Device (SDHB)
9127         {
9128             Name (_ADR, Zero)  // _ADR: Address
9129             Name (_HID, "INT33BB" /* Intel Baytrail SD Host Controller */)  // _HID: Hardware ID
9130             Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */)  // _CID: Compatible ID
9131             Name (_DDN, "Intel(R) SDIO Controller - 80860F15")  // _DDN: DOS Device Name
9132             Name (_UID, 0x02)  // _UID: Unique ID
9133             Name (_HRV, 0x02)  // _HRV: Hardware Revision
9134             Name (_DEP, Package (0x02)  // _DEP: Dependencies
9135             {
9136                 PEPD, 
9137                 GPO2
9138             })
9139             Name (PSTS, Zero)
9140             Name (RBUF, ResourceTemplate ()
9141             {
9142                 Memory32Fixed (ReadWrite,
9143                     0x00000000,         // Address Base
9144                     0x00001000,         // Address Length
9145                     _Y0C)
9146                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9147                 {
9148                     0x0000002E,
9149                 }
9150             })
9151             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9152             {
9153                 CreateDWordField (RBUF, \_SB.SDHB._Y0C._BAS, B0BA)  // _BAS: Base Address
9154                 CreateDWordField (RBUF, \_SB.SDHB._Y0C._LEN, B0LN)  // _LEN: Length
9155                 B0BA = SI0A /* \SI0A */
9156                 B0LN = SI0L /* \SI0L */
9157                 Return (RBUF) /* \_SB_.SDHB.RBUF */
9158             }
9159 
9160             Method (_STA, 0, NotSerialized)  // _STA: Status
9161             {
9162                 If ((STEP <= 0x04))
9163                 {
9164                     _HRV = SDMD /* \SDMD */
9165                 }
9166 
9167                 If (((SI0A == Zero) || (SD2D == One)))
9168                 {
9169                     Return (Zero)
9170                 }
9171 
9172                 Return (0x0F)
9173             }
9174 
9175             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
9176             {
9177             }
9178 
9179             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9180             {
9181                 PSAT |= 0x03
9182                 Local0 = PSAT /* \_SB_.SDHB.PSAT */
9183             }
9184 
9185             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9186             {
9187                 PSAT &= 0xFFFFFFFC
9188                 Local0 = PSAT /* \_SB_.SDHB.PSAT */
9189                 If ((PSTS == Zero))
9190                 {
9191                     If ((^^GPO2.AVBL == One))
9192                     {
9193                         ^^GPO2.WFD3 = One
9194                         PSTS = One
9195                     }
9196                 }
9197             }
9198 
9199             OperationRegion (KEYS, SystemMemory, SI1A, 0x0100)
9200             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9201             {
9202                 Offset (0x84), 
9203                 PSAT,   32
9204             }
9205 
9206             Device (WLAN)
9207             {
9208                 Name (_ADR, One)  // _ADR: Address
9209                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
9210                 {
9211                     GPO2
9212                 })
9213                 Method (_STA, 0, NotSerialized)  // _STA: Status
9214                 {
9215                     If ((OSSL & 0x80))
9216                     {
9217                         Return (Zero)
9218                     }
9219 
9220                     Return (Zero)
9221                 }
9222 
9223                 Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
9224                 {
9225                     Return (Zero)
9226                 }
9227 
9228                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
9229                 {
9230                     Zero, 
9231                     Zero
9232                 })
9233                 Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
9234                 Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
9235                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9236                 {
9237                     Name (RBUF, ResourceTemplate ()
9238                     {
9239                         Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
9240                         {
9241                             0x00000045,
9242                         }
9243                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9244                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
9245                             )
9246                             {   // Pin list
9247                                 0x0014
9248                             }
9249                     })
9250                     Return (RBUF) /* \_SB_.SDHB.WLAN._CRS.RBUF */
9251                 }
9252 
9253                 Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
9254                 {
9255                 }
9256 
9257                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9258                 {
9259                 }
9260 
9261                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9262                 {
9263                 }
9264             }
9265 
9266             Device (WLA2)
9267             {
9268                 Name (_ADR, 0x02)  // _ADR: Address
9269                 Method (_STA, 0, NotSerialized)  // _STA: Status
9270                 {
9271                     If ((OSSL & 0x80))
9272                     {
9273                         Return (Zero)
9274                     }
9275 
9276                     Return (Zero)
9277                 }
9278 
9279                 Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
9280                 {
9281                     Return (Zero)
9282                 }
9283 
9284                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9285                 {
9286                     Name (NAM, Buffer (0x0F)
9287                     {
9288                         "\\_SB.SDHB.WLAN"
9289                     })
9290                     Name (SPB, Buffer (0x0C)
9291                     {
9292                         /* 0000 */  0x8E, 0x18, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00,  // ........
9293                         /* 0008 */  0x00, 0x01, 0x00, 0x00                           // ....
9294                     })
9295                     Name (END, Buffer (0x02)
9296                     {
9297                          0x79, 0x00                                       // y.
9298                     })
9299                     Concatenate (SPB, NAM, Local0)
9300                     Concatenate (Local0, END, Local1)
9301                     Return (Local1)
9302                 }
9303             }
9304 
9305             Device (RTLW)
9306             {
9307                 Name (_ADR, One)  // _ADR: Address
9308                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
9309                 {
9310                     GPO2
9311                 })
9312                 Name (_HID, "RTL8723" /* Realtek Wireless Controller */)  // _HID: Hardware ID
9313                 Name (_CID, "RTL8723" /* Realtek Wireless Controller */)  // _CID: Compatible ID
9314                 Method (_STA, 0, NotSerialized)  // _STA: Status
9315                 {
9316                     If ((OSSL & 0x80))
9317                     {
9318                         Return (0x0F)
9319                     }
9320 
9321                     Return (Zero)
9322                 }
9323 
9324                 Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
9325                 {
9326                     Return (Zero)
9327                 }
9328 
9329                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
9330                 {
9331                     Zero, 
9332                     Zero
9333                 })
9334                 Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
9335                 Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
9336                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9337                 {
9338                     Name (RBUF, ResourceTemplate ()
9339                     {
9340                         GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
9341                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
9342                             )
9343                             {   // Pin list
9344                                 0x000F
9345                             }
9346                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9347                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
9348                             )
9349                             {   // Pin list
9350                                 0x0014
9351                             }
9352                     })
9353                     Return (RBUF) /* \_SB_.SDHB.RTLW._CRS.RBUF */
9354                 }
9355 
9356                 Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
9357                 {
9358                 }
9359 
9360                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9361                 {
9362                     If ((^^^GPO2.AVBL == One))
9363                     {
9364                         PSTS = Zero
9365                     }
9366                 }
9367 
9368                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9369                 {
9370                     If ((PSTS == Zero))
9371                     {
9372                         If ((^^^GPO2.AVBL == One))
9373                         {
9374                             ^^^GPO2.WFD3 = One
9375                             PSTS = One
9376                         }
9377                     }
9378                 }
9379             }
9380 
9381             Device (BRCM)
9382             {
9383                 Name (_ADR, One)  // _ADR: Address
9384                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
9385                 {
9386                     GPO2
9387                 })
9388                 Name (_STA, 0x0F)  // _STA: Status
9389                 Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
9390                 {
9391                     Return (Zero)
9392                 }
9393 
9394                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
9395                 {
9396                     Zero, 
9397                     Zero
9398                 })
9399                 Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
9400                 Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
9401                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9402                 {
9403                     Name (RBUF, ResourceTemplate ()
9404                     {
9405                         Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
9406                         {
9407                             0x00000045,
9408                         }
9409                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9410                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
9411                             )
9412                             {   // Pin list
9413                                 0x0014
9414                             }
9415                     })
9416                     Return (RBUF) /* \_SB_.SDHB.BRCM._CRS.RBUF */
9417                 }
9418 
9419                 Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
9420                 {
9421                 }
9422 
9423                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9424                 {
9425                 }
9426 
9427                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9428                 {
9429                 }
9430             }
9431 
9432             Device (BRC2)
9433             {
9434                 Name (_ADR, 0x02)  // _ADR: Address
9435                 Name (_STA, 0x0F)  // _STA: Status
9436                 Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
9437                 {
9438                     Return (Zero)
9439                 }
9440 
9441                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9442                 {
9443                     Name (NAM, Buffer (0x0F)
9444                     {
9445                         "\\_SB.SDHB.BRCM"
9446                     })
9447                     Name (SPB, Buffer (0x0C)
9448                     {
9449                         /* 0000 */  0x8E, 0x18, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00,  // ........
9450                         /* 0008 */  0x00, 0x01, 0x00, 0x00                           // ....
9451                     })
9452                     Name (END, Buffer (0x02)
9453                     {
9454                          0x79, 0x00                                       // y.
9455                     })
9456                     Concatenate (SPB, NAM, Local0)
9457                     Concatenate (Local0, END, Local1)
9458                     Return (Local1)
9459                 }
9460             }
9461         }
9462 
9463         Device (SDHC)
9464         {
9465             Name (_ADR, Zero)  // _ADR: Address
9466             Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */)  // _HID: Hardware ID
9467             Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */)  // _CID: Compatible ID
9468             Name (_DDN, "Intel(R) SD Card Controller - 80860F16")  // _DDN: DOS Device Name
9469             Name (_UID, 0x03)  // _UID: Unique ID
9470             Name (_DEP, Package (0x02)  // _DEP: Dependencies
9471             {
9472                 PEPD, 
9473                 GPO0
9474             })
9475             Name (TDEP, Package (0x04)
9476             {
9477                 PEPD, 
9478                 GPO0, 
9479                 I2C5, 
9480                 ^I2C5.PMI2
9481             })
9482             Name (RBUF, ResourceTemplate ()
9483             {
9484                 Memory32Fixed (ReadWrite,
9485                     0x00000000,         // Address Base
9486                     0x00001000,         // Address Length
9487                     _Y0D)
9488                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9489                 {
9490                     0x0000002F,
9491                 }
9492                 GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710,
9493                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9494                     )
9495                     {   // Pin list
9496                         0x0026
9497                     }
9498                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
9499                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9500                     )
9501                     {   // Pin list
9502                         0x0026
9503                     }
9504             })
9505             Name (ABUF, ResourceTemplate ()
9506             {
9507                 Memory32Fixed (ReadWrite,
9508                     0x00000000,         // Address Base
9509                     0x00001000,         // Address Length
9510                     _Y0E)
9511                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9512                 {
9513                     0x0000002F,
9514                 }
9515                 GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710,
9516                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9517                     )
9518                     {   // Pin list
9519                         0x0026
9520                     }
9521                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
9522                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9523                     )
9524                     {   // Pin list
9525                         0x0026
9526                     }
9527                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9528                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9529                     )
9530                     {   // Pin list
9531                         0x0028
9532                     }
9533                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9534                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9535                     )
9536                     {   // Pin list
9537                         0x0029
9538                     }
9539             })
9540             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9541             {
9542                 CreateDWordField (RBUF, \_SB.SDHC._Y0D._BAS, B0BA)  // _BAS: Base Address
9543                 CreateDWordField (RBUF, \_SB.SDHC._Y0D._LEN, B0LN)  // _LEN: Length
9544                 B0BA = SD0A /* \SD0A */
9545                 B0LN = SD0L /* \SD0L */
9546                 CreateDWordField (ABUF, \_SB.SDHC._Y0E._BAS, B0BX)  // _BAS: Base Address
9547                 CreateDWordField (ABUF, \_SB.SDHC._Y0E._LEN, B0LX)  // _LEN: Length
9548                 B0BX = SD0A /* \SD0A */
9549                 B0LX = SD0L /* \SD0L */
9550                 If ((OSSL & 0x80))
9551                 {
9552                     Return (ABUF) /* \_SB_.SDHC.ABUF */
9553                 }
9554 
9555                 Return (RBUF) /* \_SB_.SDHC.RBUF */
9556             }
9557 
9558             Method (_STA, 0, NotSerialized)  // _STA: Status
9559             {
9560                 If (((SD0A == Zero) || (SD3D == One)))
9561                 {
9562                     Return (Zero)
9563                 }
9564 
9565                 If ((PMID == 0x05))
9566                 {
9567                     Return (Zero)
9568                 }
9569 
9570                 Return (0x0F)
9571             }
9572 
9573             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9574             {
9575                 PSAT |= 0x03
9576                 Local0 = PSAT /* \_SB_.SDHC.PSAT */
9577                 If (CondRefOf (\_SB.I2C5.PMI2, Local2))
9578                 {
9579                     If ((^^I2C5.PMI2.AVBL == One))
9580                     {
9581                         ^^I2C5.PMI2.LDO7 = Zero
9582                         If ((^^I2C5.PMI2.AVBG == One))
9583                         {
9584                             ^^I2C5.PMI2.GSDX = One
9585                             Sleep (0x1E)
9586                         }
9587                     }
9588                 }
9589             }
9590 
9591             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9592             {
9593                 If (CondRefOf (\_SB.I2C5.PMI2, Local2))
9594                 {
9595                     If ((^^I2C5.PMI2.AVBL == One))
9596                     {
9597                         ^^I2C5.PMI2.LDO7 = One
9598                         If ((^^I2C5.PMI2.AVBG == One))
9599                         {
9600                             ^^I2C5.PMI2.GSDX = One
9601                             Sleep (0x1E)
9602                         }
9603                     }
9604                 }
9605 
9606                 PSAT &= 0xFFFFFFFC
9607                 Local0 = PSAT /* \_SB_.SDHC.PSAT */
9608             }
9609 
9610             OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
9611             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9612             {
9613                 Offset (0x84), 
9614                 PSAT,   32
9615             }
9616         }
9617 
9618         Device (SDHD)
9619         {
9620             Name (_ADR, Zero)  // _ADR: Address
9621             Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */)  // _HID: Hardware ID
9622             Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */)  // _CID: Compatible ID
9623             Name (_DDN, "Intel(R) SD Card Controller - 80860F16")  // _DDN: DOS Device Name
9624             Name (_UID, 0x03)  // _UID: Unique ID
9625             Name (_DEP, Package (0x04)  // _DEP: Dependencies
9626             {
9627                 PEPD, 
9628                 GPO0, 
9629                 I2C5, 
9630                 ^I2C5.PMI1
9631             })
9632             Name (RBUF, ResourceTemplate ()
9633             {
9634                 Memory32Fixed (ReadWrite,
9635                     0x00000000,         // Address Base
9636                     0x00001000,         // Address Length
9637                     _Y0F)
9638                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9639                 {
9640                     0x0000002F,
9641                 }
9642                 GpioInt (Edge, ActiveHigh, Shared, PullNone, 0x2710,
9643                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9644                     )
9645                     {   // Pin list
9646                         0x0026
9647                     }
9648                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
9649                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9650                     )
9651                     {   // Pin list
9652                         0x0026
9653                     }
9654             })
9655             Name (ABUF, ResourceTemplate ()
9656             {
9657                 Memory32Fixed (ReadWrite,
9658                     0x00000000,         // Address Base
9659                     0x00001000,         // Address Length
9660                     _Y10)
9661                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9662                 {
9663                     0x0000002F,
9664                 }
9665                 GpioInt (Edge, ActiveHigh, Shared, PullNone, 0x2710,
9666                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9667                     )
9668                     {   // Pin list
9669                         0x0026
9670                     }
9671                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
9672                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9673                     )
9674                     {   // Pin list
9675                         0x0026
9676                     }
9677                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9678                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9679                     )
9680                     {   // Pin list
9681                         0x0028
9682                     }
9683                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9684                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9685                     )
9686                     {   // Pin list
9687                         0x0029
9688                     }
9689             })
9690             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9691             {
9692                 CreateDWordField (RBUF, \_SB.SDHD._Y0F._BAS, B0BA)  // _BAS: Base Address
9693                 CreateDWordField (RBUF, \_SB.SDHD._Y0F._LEN, B0LN)  // _LEN: Length
9694                 B0BA = SD0A /* \SD0A */
9695                 B0LN = SD0L /* \SD0L */
9696                 CreateDWordField (ABUF, \_SB.SDHD._Y10._BAS, B0BX)  // _BAS: Base Address
9697                 CreateDWordField (ABUF, \_SB.SDHD._Y10._LEN, B0LX)  // _LEN: Length
9698                 B0BX = SD0A /* \SD0A */
9699                 B0LX = SD0L /* \SD0L */
9700                 If ((OSSL & 0x80))
9701                 {
9702                     Return (ABUF) /* \_SB_.SDHD.ABUF */
9703                 }
9704 
9705                 Return (RBUF) /* \_SB_.SDHD.RBUF */
9706             }
9707 
9708             Method (_STA, 0, NotSerialized)  // _STA: Status
9709             {
9710                 If (((SD0A == Zero) || (SD3D == One)))
9711                 {
9712                     Return (Zero)
9713                 }
9714 
9715                 If ((PMID == 0x05))
9716                 {
9717                     ADBG ("XPWR_DCOVE")
9718                     Return (0x0F)
9719                 }
9720 
9721                 Return (Zero)
9722             }
9723 
9724             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9725             {
9726                 ADBG ("SD card-----ps3 Xpower")
9727                 PSAT |= 0x03
9728                 Local0 = PSAT /* \_SB_.SDHD.PSAT */
9729                 If (CondRefOf (\_SB.I2C5.PMI1, Local1))
9730                 {
9731                     ADBG ("SD card-----1ps3 Xpower")
9732                     If ((^^I2C5.PMI1.AVBL == One))
9733                     {
9734                         ADBG ("SD card-----2ps3 Xpower")
9735                         ^^I2C5.PMI1.GPI1 = Zero
9736                         If ((^^I2C5.PMI1.AVBG == One))
9737                         {
9738                             ADBG ("SD card-----3ps3 Xpower")
9739                             ^^I2C5.PMI1.GSDX = One
9740                             Sleep (0x1E)
9741                         }
9742                     }
9743                 }
9744             }
9745 
9746             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9747             {
9748                 ADBG ("SD card-----ps0")
9749                 If (CondRefOf (\_SB.I2C5.PMI1, Local1))
9750                 {
9751                     ADBG ("SD card-----1ps0 Xpower")
9752                     If ((^^I2C5.PMI1.AVBL == One))
9753                     {
9754                         ADBG ("SD card-----2ps0 Xpower")
9755                         ^^I2C5.PMI1.GPI1 = One
9756                         If ((^^I2C5.PMI1.AVBG == One))
9757                         {
9758                             ADBG ("SD card-----3ps0 Xpower")
9759                             ^^I2C5.PMI1.GSDX = One
9760                             Sleep (0x1E)
9761                         }
9762                     }
9763                 }
9764 
9765                 PSAT &= 0xFFFFFFFC
9766                 Local0 = PSAT /* \_SB_.SDHD.PSAT */
9767             }
9768 
9769             OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
9770             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9771             {
9772                 Offset (0x84), 
9773                 PSAT,   32
9774             }
9775         }
9776 
9777         Device (GDM1)
9778         {
9779             Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */)  // _HID: Hardware ID
9780             Name (_DDN, "Intel(R) DMA Controller #1 - INTL9C60")  // _DDN: DOS Device Name
9781             Name (_UID, One)  // _UID: Unique ID
9782             Name (RBUF, ResourceTemplate ()
9783             {
9784                 Memory32Fixed (ReadWrite,
9785                     0x00000000,         // Address Base
9786                     0x00004000,         // Address Length
9787                     _Y11)
9788                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9789                 {
9790                     0x0000002A,
9791                 }
9792             })
9793             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9794             {
9795                 CreateDWordField (RBUF, \_SB.GDM1._Y11._BAS, B0BA)  // _BAS: Base Address
9796                 CreateDWordField (RBUF, \_SB.GDM1._Y11._LEN, B0LN)  // _LEN: Length
9797                 B0BA = D10A /* \D10A */
9798                 B0LN = D10L /* \D10L */
9799                 Return (RBUF) /* \_SB_.GDM1.RBUF */
9800             }
9801 
9802             Method (_STA, 0, NotSerialized)  // _STA: Status
9803             {
9804                 If (((D10A == Zero) || (L10D == One)))
9805                 {
9806                     Return (Zero)
9807                 }
9808 
9809                 Return (0x0F)
9810             }
9811         }
9812 
9813         Device (GDM2)
9814         {
9815             Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */)  // _HID: Hardware ID
9816             Name (_DDN, "Intel(R) DMA Controller #2 - INTL9C60")  // _DDN: DOS Device Name
9817             Name (_UID, 0x02)  // _UID: Unique ID
9818             Name (RBUF, ResourceTemplate ()
9819             {
9820                 Memory32Fixed (ReadWrite,
9821                     0x00000000,         // Address Base
9822                     0x00004000,         // Address Length
9823                     _Y12)
9824                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9825                 {
9826                     0x0000002B,
9827                 }
9828             })
9829             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9830             {
9831                 CreateDWordField (RBUF, \_SB.GDM2._Y12._BAS, B0BA)  // _BAS: Base Address
9832                 CreateDWordField (RBUF, \_SB.GDM2._Y12._LEN, B0LN)  // _LEN: Length
9833                 B0BA = D20A /* \D20A */
9834                 B0LN = D20L /* \D20L */
9835                 Return (RBUF) /* \_SB_.GDM2.RBUF */
9836             }
9837 
9838             Method (_STA, 0, NotSerialized)  // _STA: Status
9839             {
9840                 If (((D20A == Zero) || (L20D == One)))
9841                 {
9842                     Return (Zero)
9843                 }
9844 
9845                 Return (0x0F)
9846             }
9847         }
9848 
9849         Device (PWM1)
9850         {
9851             Name (_ADR, Zero)  // _ADR: Address
9852             Name (_HID, "80860F09" /* Intel PWM Controller */)  // _HID: Hardware ID
9853             Name (_CID, "80860F09" /* Intel PWM Controller */)  // _CID: Compatible ID
9854             Name (_DDN, "Intel(R) PWM Controller #1 - 80860F08")  // _DDN: DOS Device Name
9855             Name (_UID, One)  // _UID: Unique ID
9856             Name (RBUF, ResourceTemplate ()
9857             {
9858                 Memory32Fixed (ReadWrite,
9859                     0x00000000,         // Address Base
9860                     0x00001000,         // Address Length
9861                     _Y13)
9862             })
9863             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9864             {
9865                 CreateDWordField (RBUF, \_SB.PWM1._Y13._BAS, B0BA)  // _BAS: Base Address
9866                 CreateDWordField (RBUF, \_SB.PWM1._Y13._LEN, B0LN)  // _LEN: Length
9867                 B0BA = P10A /* \P10A */
9868                 B0LN = P10L /* \P10L */
9869                 Return (RBUF) /* \_SB_.PWM1.RBUF */
9870             }
9871 
9872             Method (_STA, 0, NotSerialized)  // _STA: Status
9873             {
9874                 If (((P10A == Zero) || (L11D == One)))
9875                 {
9876                     Return (Zero)
9877                 }
9878 
9879                 If ((OSSL & 0x80))
9880                 {
9881                     Return (0x0F)
9882                 }
9883 
9884                 Return (Zero)
9885             }
9886 
9887             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9888             {
9889                 PSAT |= 0x03
9890                 Local0 = PSAT /* \_SB_.PWM1.PSAT */
9891             }
9892 
9893             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9894             {
9895                 PSAT &= 0xFFFFFFFC
9896                 Local0 = PSAT /* \_SB_.PWM1.PSAT */
9897             }
9898 
9899             OperationRegion (KEYS, SystemMemory, P11A, 0x0100)
9900             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9901             {
9902                 Offset (0x84), 
9903                 PSAT,   32
9904             }
9905         }
9906 
9907         Device (PWM2)
9908         {
9909             Name (_ADR, Zero)  // _ADR: Address
9910             Name (_HID, "80860F09" /* Intel PWM Controller */)  // _HID: Hardware ID
9911             Name (_CID, "80860F09" /* Intel PWM Controller */)  // _CID: Compatible ID
9912             Name (_DDN, "Intel(R) PWM Controller #2 - 80860F09")  // _DDN: DOS Device Name
9913             Name (_UID, 0x02)  // _UID: Unique ID
9914             Name (RBUF, ResourceTemplate ()
9915             {
9916                 Memory32Fixed (ReadWrite,
9917                     0x00000000,         // Address Base
9918                     0x00001000,         // Address Length
9919                     _Y14)
9920             })
9921             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9922             {
9923                 CreateDWordField (RBUF, \_SB.PWM2._Y14._BAS, B0BA)  // _BAS: Base Address
9924                 CreateDWordField (RBUF, \_SB.PWM2._Y14._LEN, B0LN)  // _LEN: Length
9925                 B0BA = P20A /* \P20A */
9926                 B0LN = P20L /* \P20L */
9927                 Return (RBUF) /* \_SB_.PWM2.RBUF */
9928             }
9929 
9930             Method (_STA, 0, NotSerialized)  // _STA: Status
9931             {
9932                 If (((P20A == Zero) || (L12D == One)))
9933                 {
9934                     Return (Zero)
9935                 }
9936 
9937                 If ((OSSL & 0x80))
9938                 {
9939                     Return (0x0F)
9940                 }
9941 
9942                 Return (Zero)
9943             }
9944 
9945             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9946             {
9947                 PSAT |= 0x03
9948                 Local0 = PSAT /* \_SB_.PWM2.PSAT */
9949             }
9950 
9951             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9952             {
9953                 PSAT &= 0xFFFFFFFC
9954                 Local0 = PSAT /* \_SB_.PWM2.PSAT */
9955             }
9956 
9957             OperationRegion (KEYS, SystemMemory, P21A, 0x0100)
9958             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9959             {
9960                 Offset (0x84), 
9961                 PSAT,   32
9962             }
9963         }
9964 
9965         Device (URT1)
9966         {
9967             Name (_ADR, Zero)  // _ADR: Address
9968             Name (_HID, "80860F0A" /* Intel Atom UART Controller */)  // _HID: Hardware ID
9969             Name (_CID, "80860F0A" /* Intel Atom UART Controller */)  // _CID: Compatible ID
9970             Name (_DDN, "Intel(R) HS-UART Controller #1 - 80860F0A")  // _DDN: DOS Device Name
9971             Name (_UID, One)  // _UID: Unique ID
9972             Name (_DEP, Package (0x01)  // _DEP: Dependencies
9973             {
9974                 PEPD
9975             })
9976             Name (RBUF, ResourceTemplate ()
9977             {
9978                 Memory32Fixed (ReadWrite,
9979                     0x00000000,         // Address Base
9980                     0x00001000,         // Address Length
9981                     _Y15)
9982                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9983                 {
9984                     0x00000027,
9985                 }
9986                 FixedDMA (0x0002, 0x0002, Width32bit, )
9987                 FixedDMA (0x0003, 0x0003, Width32bit, )
9988             })
9989             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
9990             {
9991                 Return (SOCS) /* \SOCS */
9992             }
9993 
9994             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9995             {
9996                 CreateDWordField (RBUF, \_SB.URT1._Y15._BAS, B0BA)  // _BAS: Base Address
9997                 CreateDWordField (RBUF, \_SB.URT1._Y15._LEN, B0LN)  // _LEN: Length
9998                 B0BA = U10A /* \U10A */
9999                 B0LN = U10L /* \U10L */
10000                 Return (RBUF) /* \_SB_.URT1.RBUF */
10001             }
10002 
10003             Method (_STA, 0, NotSerialized)  // _STA: Status
10004             {
10005                 If (((U10A == Zero) || (L13D == One)))
10006                 {
10007                     Return (Zero)
10008                 }
10009 
10010                 Return (0x0F)
10011             }
10012 
10013             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10014             {
10015                 PSAT |= 0x03
10016                 Local0 = PSAT /* \_SB_.URT1.PSAT */
10017             }
10018 
10019             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10020             {
10021                 PSAT &= 0xFFFFFFFC
10022                 Local0 = PSAT /* \_SB_.URT1.PSAT */
10023             }
10024 
10025             OperationRegion (KEYS, SystemMemory, U11A, 0x0100)
10026             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
10027             {
10028                 Offset (0x84), 
10029                 PSAT,   32
10030             }
10031 
10032             Device (BTH0)
10033             {
10034                 Name (_HID, "BCM2E3A")  // _HID: Hardware ID
10035                 Method (_STA, 0, NotSerialized)  // _STA: Status
10036                 {
10037                     Return (Zero)
10038                 }
10039 
10040                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10041                 {
10042                     Name (UBUF, ResourceTemplate ()
10043                     {
10044                         UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
10045                             0xFC, LittleEndian, ParityTypeNone, FlowControlNone,
10046                             0x0020, 0x0020, "\\_SB.URT1",
10047                             0x00, ResourceConsumer, , Exclusive,
10048                             )
10049                         Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
10050                         {
10051                             0x00000046,
10052                         }
10053                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10054                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10055                             )
10056                             {   // Pin list
10057                                 0x0018
10058                             }
10059                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10060                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10061                             )
10062                             {   // Pin list
10063                                 0x0019
10064                             }
10065                     })
10066                     Return (UBUF) /* \_SB_.URT1.BTH0._CRS.UBUF */
10067                 }
10068             }
10069 
10070             Device (BTH1)
10071             {
10072                 Name (_HID, "OBDA8723")  // _HID: Hardware ID
10073                 Method (_STA, 0, NotSerialized)  // _STA: Status
10074                 {
10075                     Return (0x0F)
10076                 }
10077 
10078                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10079                 {
10080                     Name (UBUF, ResourceTemplate ()
10081                     {
10082                         UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
10083                             0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
10084                             0x0020, 0x0020, "\\_SB.URT1",
10085                             0x00, ResourceConsumer, , Exclusive,
10086                             )
10087                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10088                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10089                             )
10090                             {   // Pin list
10091                                 0x0018
10092                             }
10093                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10094                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10095                             )
10096                             {   // Pin list
10097                                 0x0019
10098                             }
10099                         GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
10100                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
10101                             )
10102                             {   // Pin list
10103                                 0x0011
10104                             }
10105                     })
10106                     Name (WBUF, ResourceTemplate ()
10107                     {
10108                         UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
10109                             0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
10110                             0x0020, 0x0020, "\\_SB.URT1",
10111                             0x00, ResourceConsumer, , Exclusive,
10112                             )
10113                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10114                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10115                             )
10116                             {   // Pin list
10117                                 0x0019
10118                             }
10119                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10120                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10121                             )
10122                             {   // Pin list
10123                                 0x0018
10124                             }
10125                         GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
10126                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
10127                             )
10128                             {   // Pin list
10129                                 0x0011
10130                             }
10131                     })
10132                     If ((OSSL & 0x80))
10133                     {
10134                         Return (UBUF) /* \_SB_.URT1.BTH1._CRS.UBUF */
10135                     }
10136 
10137                     Return (WBUF) /* \_SB_.URT1.BTH1._CRS.WBUF */
10138                 }
10139             }
10140         }
10141 
10142         Device (URT2)
10143         {
10144             Name (_ADR, Zero)  // _ADR: Address
10145             Name (_HID, "80860F0A" /* Intel Atom UART Controller */)  // _HID: Hardware ID
10146             Name (_CID, "80860F0A" /* Intel Atom UART Controller */)  // _CID: Compatible ID
10147             Name (_DDN, "Intel(R) HS-UART Controller #2 - 80860F0C")  // _DDN: DOS Device Name
10148             Name (_UID, 0x02)  // _UID: Unique ID
10149             Name (_DEP, Package (0x01)  // _DEP: Dependencies
10150             {
10151                 PEPD
10152             })
10153             Name (RBUF, ResourceTemplate ()
10154             {
10155                 Memory32Fixed (ReadWrite,
10156                     0x00000000,         // Address Base
10157                     0x00001000,         // Address Length
10158                     _Y16)
10159                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
10160                 {
10161                     0x00000028,
10162                 }
10163                 FixedDMA (0x0004, 0x0004, Width32bit, )
10164                 FixedDMA (0x0005, 0x0005, Width32bit, )
10165             })
10166             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
10167             {
10168                 Return (SOCS) /* \SOCS */
10169             }
10170 
10171             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10172             {
10173                 CreateDWordField (RBUF, \_SB.URT2._Y16._BAS, B0BA)  // _BAS: Base Address
10174                 CreateDWordField (RBUF, \_SB.URT2._Y16._LEN, B0LN)  // _LEN: Length
10175                 B0BA = U20A /* \U20A */
10176                 B0LN = U20L /* \U20L */
10177                 Return (RBUF) /* \_SB_.URT2.RBUF */
10178             }
10179 
10180             Method (_STA, 0, NotSerialized)  // _STA: Status
10181             {
10182                 If (((U20A == Zero) || (L14D == One)))
10183                 {
10184                     Return (Zero)
10185                 }
10186 
10187                 Return (0x0F)
10188             }
10189 
10190             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10191             {
10192                 PSAT |= 0x03
10193                 Local0 = PSAT /* \_SB_.URT2.PSAT */
10194             }
10195 
10196             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10197             {
10198                 PSAT &= 0xFFFFFFFC
10199                 Local0 = PSAT /* \_SB_.URT2.PSAT */
10200             }
10201 
10202             OperationRegion (KEYS, SystemMemory, U21A, 0x0100)
10203             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
10204             {
10205                 Offset (0x84), 
10206                 PSAT,   32
10207             }
10208 
10209             Device (GPS0)
10210             {
10211                 Name (_HID, "BCM4752")  // _HID: Hardware ID
10212                 Name (_HRV, Zero)  // _HRV: Hardware Revision
10213                 Method (_STA, 0, NotSerialized)  // _STA: Status
10214                 {
10215                     Return (Zero)
10216                 }
10217 
10218                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10219                 {
10220                     Name (UBUF, ResourceTemplate ()
10221                     {
10222                         UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
10223                             0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
10224                             0x0020, 0x0020, "\\_SB.URT2",
10225                             0x00, ResourceConsumer, , Exclusive,
10226                             )
10227                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10228                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
10229                             )
10230                             {   // Pin list
10231                                 0x0016
10232                             }
10233                     })
10234                     Return (UBUF) /* \_SB_.URT2.GPS0._CRS.UBUF */
10235                 }
10236             }
10237         }
10238 
10239         Device (SPI1)
10240         {
10241             Name (_ADR, Zero)  // _ADR: Address
10242             Name (_HID, "80860F0E" /* Intel SPI Controller */)  // _HID: Hardware ID
10243             Name (_CID, "80860F0E" /* Intel SPI Controller */)  // _CID: Compatible ID
10244             Name (_DEP, Package (0x01)  // _DEP: Dependencies
10245             {
10246                 PEPD
10247             })
10248             Name (_DDN, "Intel(R) SPI Controller - 80860F0E")  // _DDN: DOS Device Name
10249             Name (RBUF, ResourceTemplate ()
10250             {
10251                 Memory32Fixed (ReadWrite,
10252                     0x00000000,         // Address Base
10253                     0x00001000,         // Address Length
10254                     _Y17)
10255                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
10256                 {
10257                     0x00000029,
10258                 }
10259                 FixedDMA (0x0000, 0x0000, Width32bit, )
10260                 FixedDMA (0x0001, 0x0001, Width32bit, )
10261             })
10262             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
10263             {
10264                 Return (SOCS) /* \SOCS */
10265             }
10266 
10267             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10268             {
10269                 CreateDWordField (RBUF, \_SB.SPI1._Y17._BAS, B0BA)  // _BAS: Base Address
10270                 CreateDWordField (RBUF, \_SB.SPI1._Y17._LEN, B0LN)  // _LEN: Length
10271                 B0BA = SP0A /* \SP0A */
10272                 B0LN = SP0L /* \SP0L */
10273                 Return (RBUF) /* \_SB_.SPI1.RBUF */
10274             }
10275 
10276             Method (_STA, 0, NotSerialized)  // _STA: Status
10277             {
10278                 If (((SP0A == Zero) || (L15D == One)))
10279                 {
10280                     Return (Zero)
10281                 }
10282 
10283                 Return (0x0F)
10284             }
10285 
10286             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10287             {
10288                 PSAT |= 0x03
10289                 Local0 = PSAT /* \_SB_.SPI1.PSAT */
10290             }
10291 
10292             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10293             {
10294                 PSAT &= 0xFFFFFFFC
10295                 Local0 = PSAT /* \_SB_.SPI1.PSAT */
10296             }
10297 
10298             OperationRegion (KEYS, SystemMemory, SP1A, 0x0100)
10299             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
10300             {
10301                 Offset (0x84), 
10302                 PSAT,   32
10303             }
10304 
10305             Device (FPNT)
10306             {
10307                 Name (_HID, "AUTH2750" /* AuthenTec AES2750 */)  // _HID: Hardware ID
10308                 Name (_DDN, "AuthenTec AES2750")  // _DDN: DOS Device Name
10309                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10310                 {
10311                     Name (UBUF, ResourceTemplate ()
10312                     {
10313                         SpiSerialBusV2 (0x0001, PolarityLow, FourWireMode, 0x08,
10314                             ControllerInitiated, 0x007A1200, ClockPolarityLow,
10315                             ClockPhaseSecond, "\\_SB.SPI1",
10316                             0x00, ResourceConsumer, , Exclusive,
10317                             )
10318                         Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
10319                         {
10320                             0x00000048,
10321                         }
10322                     })
10323                     Return (UBUF) /* \_SB_.SPI1.FPNT._CRS.UBUF */
10324                 }
10325 
10326                 Method (_STA, 0, NotSerialized)  // _STA: Status
10327                 {
10328                     Return (Zero)
10329                 }
10330             }
10331         }
10332 
10333         Device (NFC2)
10334         {
10335             Name (_ADR, Zero)  // _ADR: Address
10336             Name (_HID, "NXP5442" /* NXP 5442 Near Field Communications Controller */)  // _HID: Hardware ID
10337             Name (_CID, "NXP5442" /* NXP 5442 Near Field Communications Controller */)  // _CID: Compatible ID
10338             Name (_DDN, "NXP NFC")  // _DDN: DOS Device Name
10339             Name (_UID, One)  // _UID: Unique ID
10340             Method (_STA, 0, NotSerialized)  // _STA: Status
10341             {
10342                 If ((NFCS == 0x02))
10343                 {
10344                     Return (0x0F)
10345                 }
10346 
10347                 Return (Zero)
10348             }
10349         }
10350 
10351         Device (I2C1)
10352         {
10353             Name (_ADR, Zero)  // _ADR: Address
10354             Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
10355             Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
10356             Name (_DEP, Package (0x01)  // _DEP: Dependencies
10357             {
10358                 PEPD
10359             })
10360             Name (_DDN, "Intel(R) I2C Controller #1 - 80860F41")  // _DDN: DOS Device Name
10361             Name (_UID, One)  // _UID: Unique ID
10362             Name (RBUF, ResourceTemplate ()
10363             {
10364                 Memory32Fixed (ReadWrite,
10365                     0x00000000,         // Address Base
10366                     0x00001000,         // Address Length
10367                     _Y18)
10368                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
10369                 {
10370                     0x00000020,
10371                 }
10372                 FixedDMA (0x0010, 0x0000, Width32bit, )
10373                 FixedDMA (0x0011, 0x0001, Width32bit, )
10374             })
10375             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
10376             {
10377                 Return (SOCS) /* \SOCS */
10378             }
10379 
10380             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10381             {
10382                 CreateDWordField (RBUF, \_SB.I2C1._Y18._BAS, B0BA)  // _BAS: Base Address
10383                 CreateDWordField (RBUF, \_SB.I2C1._Y18._LEN, B0LN)  // _LEN: Length
10384                 B0BA = I10A /* \I10A */
10385                 B0LN = I10L /* \I10L */
10386                 Return (RBUF) /* \_SB_.I2C1.RBUF */
10387             }
10388 
10389             Method (_STA, 0, NotSerialized)  // _STA: Status
10390             {
10391                 If (((I10A == Zero) || (L21D == One)))
10392                 {
10393                     Return (Zero)
10394                 }
10395 
10396                 Return (0x0F)
10397             }
10398 
10399             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10400             {
10401                 PSAT |= 0x03
10402                 Local0 = PSAT /* \_SB_.I2C1.PSAT */
10403             }
10404 
10405             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10406             {
10407                 PSAT &= 0xFFFFFFFC
10408                 Local0 = PSAT /* \_SB_.I2C1.PSAT */
10409             }
10410 
10411             OperationRegion (KEYS, SystemMemory, I11A, 0x0100)
10412             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
10413             {
10414                 Offset (0x84), 
10415                 PSAT,   32
10416             }
10417         }
10418 
10419         Device (I2C2)
10420         {
10421             Name (_ADR, Zero)  // _ADR: Address
10422             Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
10423             Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
10424             Name (_DEP, Package (0x01)  // _DEP: Dependencies
10425             {
10426                 PEPD
10427             })
10428             Name (_DDN, "Intel(R) I2C Controller #2 - 80860F42")  // _DDN: DOS Device Name
10429             Name (_UID, 0x02)  // _UID: Unique ID
10430             Name (RBUF, ResourceTemplate ()
10431             {
10432                 Memory32Fixed (ReadWrite,
10433                     0x00000000,         // Address Base
10434                     0x00001000,         // Address Length
10435                     _Y19)
10436                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
10437                 {
10438                     0x00000021,
10439                 }
10440                 FixedDMA (0x0012, 0x0002, Width32bit, )
10441                 FixedDMA (0x0013, 0x0003, Width32bit, )
10442             })
10443             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
10444             {
10445                 Return (SOCS) /* \SOCS */
10446             }
10447 
10448             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10449             {
10450                 CreateDWordField (RBUF, \_SB.I2C2._Y19._BAS, B0BA)  // _BAS: Base Address
10451                 CreateDWordField (RBUF, \_SB.I2C2._Y19._LEN, B0LN)  // _LEN: Length
10452                 B0BA = I20A /* \I20A */
10453                 B0LN = I20L /* \I20L */
10454                 Return (RBUF) /* \_SB_.I2C2.RBUF */
10455             }
10456 
10457             Method (_STA, 0, NotSerialized)  // _STA: Status
10458             {
10459                 If (((I20A == Zero) || (L22D == One)))
10460                 {
10461                     Return (Zero)
10462                 }
10463 
10464                 Return (0x0F)
10465             }
10466 
10467             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10468             {
10469                 PSAT |= 0x03
10470                 Local0 = PSAT /* \_SB_.I2C2.PSAT */
10471             }
10472 
10473             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10474             {
10475                 PSAT &= 0xFFFFFFFC
10476                 Local0 = PSAT /* \_SB_.I2C2.PSAT */
10477             }
10478 
10479             OperationRegion (KEYS, SystemMemory, I21A, 0x0100)
10480             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
10481             {
10482                 Offset (0x84), 
10483                 PSAT,   32
10484             }
10485 
10486             PowerResource (CLK0, 0x00, 0x0000)
10487             {
10488                 Method (_STA, 0, NotSerialized)  // _STA: Status
10489                 {
10490                     Return (CKC0) /* \CKC0 */
10491                 }
10492 
10493                 Method (_ON, 0, NotSerialized)  // _ON_: Power On
10494                 {
10495                     CKC0 = One
10496                     CKF0 = One
10497                     Sleep (0x20)
10498                 }
10499 
10500                 Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
10501                 {
10502                     CKC0 = 0x02
10503                 }
10504             }
10505 
10506             PowerResource (CLK1, 0x00, 0x0000)
10507             {
10508                 Method (_STA, 0, NotSerialized)  // _STA: Status
10509                 {
10510                     Return (CKC1) /* \CKC1 */
10511                 }
10512 
10513                 Method (_ON, 0, NotSerialized)  // _ON_: Power On
10514                 {
10515                     CKC1 = One
10516                     CKF1 = One
10517                     Sleep (0x20)
10518                 }
10519 
10520                 Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
10521                 {
10522                     CKC1 = 0x02
10523                 }
10524             }
10525 
10526             Device (RTEK)
10527             {
10528                 Name (_ADR, Zero)  // _ADR: Address
10529                 Name (_HID, "10EC5640" /* Realtek I2S Audio Codec */)  // _HID: Hardware ID
10530                 Name (_CID, "10EC5640" /* Realtek I2S Audio Codec */)  // _CID: Compatible ID
10531                 Name (_DDN, "RTEK Codec Controller ")  // _DDN: DOS Device Name
10532                 Name (_UID, One)  // _UID: Unique ID
10533                 Name (CHAN, Package (0x02)
10534                 {
10535                     One, 
10536                     0x017D7840
10537                 })
10538                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10539                 {
10540                     Name (SBUF, ResourceTemplate ()
10541                     {
10542                         I2cSerialBusV2 (0x001C, ControllerInitiated, 0x00061A80,
10543                             AddressingMode7Bit, "\\_SB.I2C2",
10544                             0x00, ResourceConsumer, , Exclusive,
10545                             )
10546                         GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
10547                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
10548                             )
10549                             {   // Pin list
10550                                 0x0004
10551                             }
10552                     })
10553                     Return (SBUF) /* \_SB_.I2C2.RTEK._CRS.SBUF */
10554                 }
10555 
10556                 Method (_STA, 0, NotSerialized)  // _STA: Status
10557                 {
10558                     Return (0x0F)
10559                 }
10560 
10561                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10562                 {
10563                     CKC3 = Zero
10564                 }
10565 
10566                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10567                 {
10568                     CKC3 = One
10569                 }
10570 
10571                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
10572                 {
10573                 }
10574 
10575                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
10576                 {
10577                     If ((Arg0 == ToUUID ("a9240c44-f032-454d-80e5-7aeed80e9551")))
10578                     {
10579                         CreateByteField (Arg3, Zero, FARG)
10580                         Switch (Arg2)
10581                         {
10582                             Case (0x03)
10583                             {
10584                                 Switch (Arg3)
10585                                 {
10586                                     Case (Zero)
10587                                     {
10588                                         Return (0x11)
10589                                     }
10590                                     Case (0x04)
10591                                     {
10592                                         Return (Buffer (0x34)
10593                                         {
10594                                             /* 0000 */  0x06, 0x00, 0x00, 0xCE, 0x1D, 0x00, 0x01, 0x00,  // ........
10595                                             /* 0008 */  0x03, 0x40, 0xBB, 0x00, 0x40, 0x00, 0x01, 0x00,  // .@..@...
10596                                             /* 0010 */  0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x01, 0x00,  // ....F...
10597                                             /* 0018 */  0x02, 0x00, 0x00, 0x00, 0x45, 0x00, 0x01, 0x00,  // ....E...
10598                                             /* 0020 */  0x01, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x01, 0x00,  // ........
10599                                             /* 0028 */  0x00, 0x01, 0x0D, 0x00, 0x1D, 0x00, 0x01, 0x00,  // ........
10600                                             /* 0030 */  0x86, 0x86, 0x01, 0x00                           // ....
10601                                         })
10602                                     }
10603                                     Default
10604                                     {
10605                                         Return (0x80000002)
10606                                     }
10607 
10608                                 }
10609                             }
10610 
10611                         }
10612                     }
10613 
10614                     Return (0x80000002)
10615                 }
10616             }
10617 
10618             Device (TTLV)
10619             {
10620                 Name (_ADR, Zero)  // _ADR: Address
10621                 Name (_HID, "10TI3100")  // _HID: Hardware ID
10622                 Name (_CID, "10TI3100")  // _CID: Compatible ID
10623                 Name (_DDN, "TI TLV320AIC3100 Codec Controller ")  // _DDN: DOS Device Name
10624                 Name (_UID, One)  // _UID: Unique ID
10625                 Name (OBJ1, Package (0x0A)
10626                 {
10627                     One, 
10628                     0x017D7840, 
10629                     One, 
10630                     0x97, 
10631                     One, 
10632                     0x86, 
10633                     One, 
10634                     One, 
10635                     0x14, 
10636                     0xB3
10637                 })
10638                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10639                 {
10640                     Name (SBUF, ResourceTemplate ()
10641                     {
10642                         I2cSerialBusV2 (0x0018, ControllerInitiated, 0x00061A80,
10643                             AddressingMode7Bit, "\\_SB.I2C2",
10644                             0x00, ResourceConsumer, , Exclusive,
10645                             )
10646                     })
10647                     Return (SBUF) /* \_SB_.I2C2.TTLV._CRS.SBUF */
10648                 }
10649 
10650                 Method (_STA, 0, NotSerialized)  // _STA: Status
10651                 {
10652                     Return (Zero)
10653                 }
10654 
10655                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
10656                 {
10657                 }
10658             }
10659 
10660             Device (CAM2)
10661             {
10662                 Name (_ADR, Zero)  // _ADR: Address
10663                 Name (_HID, "INT0310")  // _HID: Hardware ID
10664                 Name (_CID, "INT0310")  // _CID: Compatible ID
10665                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
10666                 Name (_DDN, "GC310")  // _DDN: DOS Device Name
10667                 Name (_UID, One)  // _UID: Unique ID
10668                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
10669                 {
10670                     I2C5, 
10671                     GPO1
10672                 })
10673                 Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
10674                 {
10675                     CLK1
10676                 })
10677                 Name (PLDB, Package (0x01)
10678                 {
10679                     Buffer (0x14)
10680                     {
10681                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
10682                         /* 0008 */  0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // a.......
10683                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
10684                     }
10685                 })
10686                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10687                 {
10688                     Return (PLDB) /* \_SB_.I2C2.CAM2.PLDB */
10689                 }
10690 
10691                 Method (_STA, 0, NotSerialized)  // _STA: Status
10692                 {
10693                     Return (Zero)
10694                 }
10695 
10696                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10697                 {
10698                     Name (SBUF, ResourceTemplate ()
10699                     {
10700                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10701                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10702                             )
10703                             {   // Pin list
10704                                 0x0012
10705                             }
10706                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10707                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10708                             )
10709                             {   // Pin list
10710                                 0x0016
10711                             }
10712                         I2cSerialBusV2 (0x0021, ControllerInitiated, 0x00061A80,
10713                             AddressingMode7Bit, "\\_SB.I2C2",
10714                             0x00, ResourceConsumer, , Exclusive,
10715                             )
10716                     })
10717                     Return (SBUF) /* \_SB_.I2C2.CAM2._CRS.SBUF */
10718                 }
10719 
10720                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
10721                 {
10722                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
10723                     {
10724                         Return ("INT0310")
10725                     }
10726 
10727                     If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
10728                     {
10729                         Return ("GC310")
10730                     }
10731 
10732                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
10733                     {
10734                         Return ("13P2BA807")
10735                     }
10736 
10737                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
10738                     {
10739                         Return ("INTEL_RVP")
10740                     }
10741 
10742                     If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
10743                     {
10744                         Return (0x0101)
10745                     }
10746 
10747                     If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
10748                     {
10749                         Return (Zero)
10750                     }
10751 
10752                     If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
10753                     {
10754                         Return (Zero)
10755                     }
10756 
10757                     If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
10758                     {
10759                         Return (Zero)
10760                     }
10761 
10762                     If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
10763                     {
10764                         Return (Zero)
10765                     }
10766 
10767                     If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
10768                     {
10769                         Return (One)
10770                     }
10771 
10772                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
10773                     {
10774                         Return (Zero)
10775                     }
10776 
10777                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
10778                     {
10779                         If ((Arg2 == One))
10780                         {
10781                             Return (One)
10782                         }
10783 
10784                         If ((Arg2 == 0x02))
10785                         {
10786                             Return (0x02002100)
10787                         }
10788                     }
10789 
10790                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
10791                     {
10792                         If ((Arg2 == One))
10793                         {
10794                             Return (0x02)
10795                         }
10796 
10797                         If ((Arg2 == 0x02))
10798                         {
10799                             Return (0x1200)
10800                         }
10801 
10802                         If ((Arg2 == 0x03))
10803                         {
10804                             Return (0x1601)
10805                         }
10806                     }
10807 
10808                     Return (Zero)
10809                 }
10810             }
10811 
10812             Device (CAM4)
10813             {
10814                 Name (_ADR, Zero)  // _ADR: Address
10815                 Name (_HID, "INT33F8")  // _HID: Hardware ID
10816                 Name (_CID, "INT33F8")  // _CID: Compatible ID
10817                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
10818                 Name (_DDN, "GC2235")  // _DDN: DOS Device Name
10819                 Name (_UID, One)  // _UID: Unique ID
10820                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
10821                 {
10822                     I2C5, 
10823                     ^^I2C5.PMI1
10824                 })
10825                 Name (_PR0, Package (0x03)  // _PR0: Power Resources for D0
10826                 {
10827                     P28P, 
10828                     P18P, 
10829                     CLK0
10830                 })
10831                 Name (PLDB, Package (0x01)
10832                 {
10833                     Buffer (0x14)
10834                     {
10835                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
10836                         /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
10837                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
10838                     }
10839                 })
10840                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10841                 {
10842                     Return (PLDB) /* \_SB_.I2C2.CAM4.PLDB */
10843                 }
10844 
10845                 Method (_STA, 0, NotSerialized)  // _STA: Status
10846                 {
10847                     Return (Zero)
10848                 }
10849 
10850                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10851                 {
10852                     Name (SBUF, ResourceTemplate ()
10853                     {
10854                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10855                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10856                             )
10857                             {   // Pin list
10858                                 0x0011
10859                             }
10860                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10861                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10862                             )
10863                             {   // Pin list
10864                                 0x0015
10865                             }
10866                         I2cSerialBusV2 (0x003C, ControllerInitiated, 0x00061A80,
10867                             AddressingMode7Bit, "\\_SB.I2C2",
10868                             0x00, ResourceConsumer, , Exclusive,
10869                             )
10870                     })
10871                     Return (SBUF) /* \_SB_.I2C2.CAM4._CRS.SBUF */
10872                 }
10873 
10874                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
10875                 {
10876                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
10877                     {
10878                         Return ("INT33F8")
10879                     }
10880 
10881                     If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
10882                     {
10883                         Return ("GC2235")
10884                     }
10885 
10886                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
10887                     {
10888                         Return ("13P2BA807")
10889                     }
10890 
10891                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
10892                     {
10893                         If ((BDID == 0x04))
10894                         {
10895                             If ((FBID == 0x02))
10896                             {
10897                                 Return ("INTEL_FFRD")
10898                             }
10899 
10900                             If ((FBID == 0x03))
10901                             {
10902                                 Return ("INTEL_FFRD")
10903                             }
10904                         }
10905 
10906                         Return ("INTEL_RVP")
10907                     }
10908 
10909                     If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
10910                     {
10911                         Return (0x0101)
10912                     }
10913 
10914                     If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
10915                     {
10916                         Return (One)
10917                     }
10918 
10919                     If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
10920                     {
10921                         Return (Zero)
10922                     }
10923 
10924                     If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
10925                     {
10926                         Return (Zero)
10927                     }
10928 
10929                     If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
10930                     {
10931                         Return (Zero)
10932                     }
10933 
10934                     If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
10935                     {
10936                         Return (One)
10937                     }
10938 
10939                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
10940                     {
10941                         Return (Zero)
10942                     }
10943 
10944                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
10945                     {
10946                         If ((Arg2 == One))
10947                         {
10948                             Return (One)
10949                         }
10950 
10951                         If ((Arg2 == 0x02))
10952                         {
10953                             Return (0x02003C00)
10954                         }
10955                     }
10956 
10957                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
10958                     {
10959                         If ((Arg2 == One))
10960                         {
10961                             Return (0x02)
10962                         }
10963 
10964                         If ((Arg2 == 0x02))
10965                         {
10966                             Return (0x01001100)
10967                         }
10968 
10969                         If ((Arg2 == 0x03))
10970                         {
10971                             Return (0x1501)
10972                         }
10973                     }
10974 
10975                     Return (Zero)
10976                 }
10977             }
10978 
10979             Device (STRA)
10980             {
10981                 Name (_ADR, Zero)  // _ADR: Address
10982                 Name (_HID, "INTCF1C")  // _HID: Hardware ID
10983                 Name (_CID, "INTCF1C")  // _CID: Compatible ID
10984                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
10985                 Name (_DDN, "Flash LM3554")  // _DDN: DOS Device Name
10986                 Name (_UID, One)  // _UID: Unique ID
10987                 Method (_STA, 0, NotSerialized)  // _STA: Status
10988                 {
10989                     Return (Zero)
10990                 }
10991 
10992                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10993                 {
10994                     Name (SBUF, ResourceTemplate ()
10995                     {
10996                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10997                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10998                             )
10999                             {   // Pin list
11000                                 0x0013
11001                             }
11002                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11003                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11004                             )
11005                             {   // Pin list
11006                                 0x0014
11007                             }
11008                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11009                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11010                             )
11011                             {   // Pin list
11012                                 0x0010
11013                             }
11014                         I2cSerialBusV2 (0x0053, ControllerInitiated, 0x00061A80,
11015                             AddressingMode7Bit, "\\_SB.I2C2",
11016                             0x00, ResourceConsumer, , Exclusive,
11017                             )
11018                     })
11019                     Return (SBUF) /* \_SB_.I2C2.STRA._CRS.SBUF */
11020                 }
11021 
11022                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
11023                 {
11024                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
11025                     {
11026                         Return ("INTCF1C")
11027                     }
11028 
11029                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
11030                     {
11031                         Return ("LM3554")
11032                     }
11033 
11034                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
11035                     {
11036                         If ((BDID == 0x04))
11037                         {
11038                             If ((FBID == 0x02))
11039                             {
11040                                 Return ("INTEL_FFRD")
11041                             }
11042 
11043                             If ((FBID == 0x03))
11044                             {
11045                                 Return ("INTEL_FFRD")
11046                             }
11047                         }
11048 
11049                         Return ("INTEL_RVP")
11050                     }
11051 
11052                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
11053                     {
11054                         Return (Zero)
11055                     }
11056 
11057                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
11058                     {
11059                         If ((Arg2 == One))
11060                         {
11061                             Return (One)
11062                         }
11063 
11064                         If ((Arg2 == 0x02))
11065                         {
11066                             Return (0x04005300)
11067                         }
11068                     }
11069 
11070                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
11071                     {
11072                         If ((Arg2 == One))
11073                         {
11074                             Return (0x04)
11075                         }
11076 
11077                         If ((Arg2 == 0x02))
11078                         {
11079                             Return (0x01001302)
11080                         }
11081 
11082                         If ((Arg2 == 0x03))
11083                         {
11084                             Return (0x01001403)
11085                         }
11086 
11087                         If ((Arg2 == 0x04))
11088                         {
11089                             Return (0x01001001)
11090                         }
11091 
11092                         If ((Arg2 == 0x05))
11093                         {
11094                             Return (0x01001104)
11095                         }
11096                     }
11097 
11098                     Return (Zero)
11099                 }
11100             }
11101         }
11102 
11103         Device (I2C3)
11104         {
11105             Name (_ADR, Zero)  // _ADR: Address
11106             Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
11107             Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
11108             Name (_DDN, "Intel(R) I2C Controller #3 - 80860F43")  // _DDN: DOS Device Name
11109             Name (_UID, 0x03)  // _UID: Unique ID
11110             Name (_DEP, Package (0x01)  // _DEP: Dependencies
11111             {
11112                 PEPD
11113             })
11114             Name (RBUF, ResourceTemplate ()
11115             {
11116                 Memory32Fixed (ReadWrite,
11117                     0x00000000,         // Address Base
11118                     0x00001000,         // Address Length
11119                     _Y1A)
11120                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
11121                 {
11122                     0x00000022,
11123                 }
11124                 FixedDMA (0x0014, 0x0004, Width32bit, )
11125                 FixedDMA (0x0015, 0x0005, Width32bit, )
11126             })
11127             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
11128             {
11129                 Return (SOCS) /* \SOCS */
11130             }
11131 
11132             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11133             {
11134                 CreateDWordField (RBUF, \_SB.I2C3._Y1A._BAS, B0BA)  // _BAS: Base Address
11135                 CreateDWordField (RBUF, \_SB.I2C3._Y1A._LEN, B0LN)  // _LEN: Length
11136                 B0BA = I30A /* \I30A */
11137                 B0LN = I30L /* \I30L */
11138                 Return (RBUF) /* \_SB_.I2C3.RBUF */
11139             }
11140 
11141             Method (_STA, 0, NotSerialized)  // _STA: Status
11142             {
11143                 If (((I30A == Zero) || (L23D == One)))
11144                 {
11145                     Return (Zero)
11146                 }
11147 
11148                 Return (0x0F)
11149             }
11150 
11151             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11152             {
11153                 PSAT |= 0x03
11154                 Local0 = PSAT /* \_SB_.I2C3.PSAT */
11155             }
11156 
11157             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11158             {
11159                 PSAT &= 0xFFFFFFFC
11160                 Local0 = PSAT /* \_SB_.I2C3.PSAT */
11161             }
11162 
11163             OperationRegion (KEYS, SystemMemory, I31A, 0x0100)
11164             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
11165             {
11166                 Offset (0x84), 
11167                 PSAT,   32
11168             }
11169 
11170             Device (CMSR)
11171             {
11172                 Name (_ADR, Zero)  // _ADR: Address
11173                 Name (_HID, "CPLM3232")  // _HID: Hardware ID
11174                 Name (_CID, "CPLM3232")  // _CID: Compatible ID
11175                 Name (_UID, One)  // _UID: Unique ID
11176                 Method (_STA, 0, NotSerialized)  // _STA: Status
11177                 {
11178                     Return (0x0F)
11179                 }
11180 
11181                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11182                 {
11183                     Name (SBUF, ResourceTemplate ()
11184                     {
11185                         I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
11186                             AddressingMode7Bit, "\\_SB.I2C3",
11187                             0x00, ResourceConsumer, , Exclusive,
11188                             )
11189                     })
11190                     Return (SBUF) /* \_SB_.I2C3.CMSR._CRS.SBUF */
11191                 }
11192 
11193                 Name (CPM0, Package (0x04)
11194                 {
11195                     0x0CA0, 
11196                     Zero, 
11197                     One, 
11198                     0x06
11199                 })
11200                 Name (CPM1, Package (0x03)
11201                 {
11202                     0x087A, 
11203                     0x001E8480, 
11204                     0x000186A0
11205                 })
11206                 Name (CPM2, Package (0x06)
11207                 {
11208                     0x61A8, 
11209                     0x000186A0, 
11210                     0x000186A0, 
11211                     0x000186A0, 
11212                     0x00030D40, 
11213                     0x00030D40
11214                 })
11215                 Name (CPM3, Package (0x0C)
11216                 {
11217                     Package (0x02)
11218                     {
11219                         0x0A, 
11220                         Zero
11221                     }, 
11222 
11223                     Package (0x02)
11224                     {
11225                         0x14, 
11226                         0x0A
11227                     }, 
11228 
11229                     Package (0x02)
11230                     {
11231                         0x1E, 
11232                         0x14
11233                     }, 
11234 
11235                     Package (0x02)
11236                     {
11237                         0x28, 
11238                         0x1E
11239                     }, 
11240 
11241                     Package (0x02)
11242                     {
11243                         0x32, 
11244                         0x28
11245                     }, 
11246 
11247                     Package (0x02)
11248                     {
11249                         0x3C, 
11250                         0x32
11251                     }, 
11252 
11253                     Package (0x02)
11254                     {
11255                         0x46, 
11256                         0x3C
11257                     }, 
11258 
11259                     Package (0x02)
11260                     {
11261                         0x50, 
11262                         0x46
11263                     }, 
11264 
11265                     Package (0x02)
11266                     {
11267                         0x5A, 
11268                         0x50
11269                     }, 
11270 
11271                     Package (0x02)
11272                     {
11273                         0x64, 
11274                         0x5A
11275                     }, 
11276 
11277                     Package (0x02)
11278                     {
11279                         0x64, 
11280                         0x64
11281                     }, 
11282 
11283                     Package (0x02)
11284                     {
11285                         0x64, 
11286                         0x012C
11287                     }
11288                 })
11289                 Name (CPM5, Package (0x07)
11290                 {
11291                     Zero, 
11292                     0x0001BD50, 
11293                     0x0190, 
11294                     0x03E8, 
11295                     0x02, 
11296                     0x32, 
11297                     0x05
11298                 })
11299                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
11300                 {
11301                     If ((Arg0 == ToUUID ("0703c6b6-1cca-4144-9fe7-4654f53a0bd9")))
11302                     {
11303                         If ((Arg2 == Zero))
11304                         {
11305                             Return (Buffer (One)
11306                             {
11307                                  0x03                                             // .
11308                             })
11309                         }
11310 
11311                         If ((Arg2 == One))
11312                         {
11313                             If ((ToInteger (Arg3) == Zero))
11314                             {
11315                                 Return (CPM0) /* \_SB_.I2C3.CMSR.CPM0 */
11316                             }
11317 
11318                             If ((ToInteger (Arg3) == One))
11319                             {
11320                                 Return (CPM1) /* \_SB_.I2C3.CMSR.CPM1 */
11321                             }
11322 
11323                             If ((ToInteger (Arg3) == 0x02))
11324                             {
11325                                 Return (CPM2) /* \_SB_.I2C3.CMSR.CPM2 */
11326                             }
11327 
11328                             If ((ToInteger (Arg3) == 0x03))
11329                             {
11330                                 Return (CPM3) /* \_SB_.I2C3.CMSR.CPM3 */
11331                             }
11332 
11333                             If ((ToInteger (Arg3) == 0x05))
11334                             {
11335                                 Return (CPM5) /* \_SB_.I2C3.CMSR.CPM5 */
11336                             }
11337                         }
11338                     }
11339 
11340                     Return (Buffer (One)
11341                     {
11342                          0x00                                             // .
11343                     })
11344                 }
11345             }
11346 
11347             Device (SALS)
11348             {
11349                 Name (_ADR, Zero)  // _ADR: Address
11350                 Name (_HID, "JSA1212")  // _HID: Hardware ID
11351                 Name (_CID, "INTLALS")  // _CID: Compatible ID
11352                 Name (_UID, One)  // _UID: Unique ID
11353                 Method (_STA, 0, NotSerialized)  // _STA: Status
11354                 {
11355                     Return (Zero)
11356                 }
11357 
11358                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11359                 {
11360                     Name (RBUF, ResourceTemplate ()
11361                     {
11362                         I2cSerialBusV2 (0x0044, ControllerInitiated, 0x00061A80,
11363                             AddressingMode7Bit, "\\_SB.I2C3",
11364                             0x00, ResourceConsumer, , Exclusive,
11365                             )
11366                         GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x0000,
11367                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11368                             )
11369                             {   // Pin list
11370                                 0x0006
11371                             }
11372                     })
11373                     Return (RBUF) /* \_SB_.I2C3.SALS._CRS.RBUF */
11374                 }
11375             }
11376 
11377             Device (SENS)
11378             {
11379                 Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
11380                 {
11381                     Return ("INVN6500")
11382                 }
11383 
11384                 Method (_STA, 0, NotSerialized)  // _STA: Status
11385                 {
11386                     Return (0x0F)
11387                 }
11388 
11389                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11390                 {
11391                     Name (RBUF, ResourceTemplate ()
11392                     {
11393                         I2cSerialBusV2 (0x0068, ControllerInitiated, 0x00061A80,
11394                             AddressingMode7Bit, "\\_SB.I2C3",
11395                             0x00, ResourceConsumer, , Exclusive,
11396                             )
11397                         I2cSerialBusV2 (0x000D, ControllerInitiated, 0x00061A80,
11398                             AddressingMode7Bit, "\\_SB.I2C3",
11399                             0x00, ResourceConsumer, , Exclusive,
11400                             )
11401                         GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000,
11402                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11403                             )
11404                             {   // Pin list
11405                                 0x0019
11406                             }
11407                     })
11408                     Return (RBUF) /* \_SB_.I2C3.SENS._CRS.RBUF */
11409                 }
11410 
11411                 Name (CNF0, Package (0x04)
11412                 {
11413                     Package (0x04)
11414                     {
11415                         "MPU6500", 
11416                         0x68, 
11417                         One, 
11418                         0x06
11419                     }, 
11420 
11421                     Package (0x04)
11422                     {
11423                         "MPU6500", 
11424                         0x68, 
11425                         One, 
11426                         0x06
11427                     }, 
11428 
11429                     Package (0x04)
11430                     {
11431                         "AK8963", 
11432                         0x0C, 
11433                         0x02, 
11434                         0x06
11435                     }, 
11436 
11437                     Package (0x01)
11438                     {
11439                         Buffer (0x5C)
11440                         {
11441                             /* 0000 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11442                             /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11443                             /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11444                             /* 0018 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11445                             /* 0020 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11446                             /* 0028 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11447                             /* 0030 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11448                             /* 0038 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11449                             /* 0040 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11450                             /* 0048 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11451                             /* 0050 */  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  // ........
11452                             /* 0058 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
11453                         }
11454                     }
11455                 })
11456                 Method (CNFG, 0, NotSerialized)
11457                 {
11458                     Return (CNF0) /* \_SB_.I2C3.SENS.CNF0 */
11459                 }
11460 
11461                 Method (_PS3, 0, Serialized)  // _PS3: Power State 3
11462                 {
11463                 }
11464 
11465                 Method (_PS0, 0, Serialized)  // _PS0: Power State 0
11466                 {
11467                 }
11468             }
11469 
11470             Device (SPBA)
11471             {
11472                 Name (_ADR, Zero)  // _ADR: Address
11473                 Name (_HID, "BSBA0150")  // _HID: Hardware ID
11474                 Name (_CID, "INTACCL")  // _CID: Compatible ID
11475                 Name (_UID, One)  // _UID: Unique ID
11476                 Method (_STA, 0, NotSerialized)  // _STA: Status
11477                 {
11478                     Return (0x0F)
11479                 }
11480 
11481                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11482                 {
11483                     Name (RBUF, ResourceTemplate ()
11484                     {
11485                         I2cSerialBusV2 (0x0018, ControllerInitiated, 0x00061A80,
11486                             AddressingMode7Bit, "\\_SB.I2C3",
11487                             0x00, ResourceConsumer, , Exclusive,
11488                             )
11489                     })
11490                     Return (RBUF) /* \_SB_.I2C3.SPBA._CRS.RBUF */
11491                 }
11492             }
11493 
11494             Device (SPBM)
11495             {
11496                 Name (_ADR, Zero)  // _ADR: Address
11497                 Name (_HID, "AKM09911")  // _HID: Hardware ID
11498                 Name (_CID, "Magnetometer")  // _CID: Compatible ID
11499                 Name (_UID, One)  // _UID: Unique ID
11500                 Method (_STA, 0, NotSerialized)  // _STA: Status
11501                 {
11502                     Return (Zero)
11503                 }
11504 
11505                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11506                 {
11507                     Name (RBUF, ResourceTemplate ()
11508                     {
11509                         I2cSerialBusV2 (0x000C, ControllerInitiated, 0x00061A80,
11510                             AddressingMode7Bit, "\\_SB.I2C3",
11511                             0x00, ResourceConsumer, , Exclusive,
11512                             )
11513                     })
11514                     Return (RBUF) /* \_SB_.I2C3.SPBM._CRS.RBUF */
11515                 }
11516             }
11517 
11518             Device (SPBG)
11519             {
11520                 Name (_ADR, Zero)  // _ADR: Address
11521                 Name (_HID, "BSBG0160")  // _HID: Hardware ID
11522                 Name (_CID, "INTSPBG")  // _CID: Compatible ID
11523                 Name (_UID, One)  // _UID: Unique ID
11524                 Method (_STA, 0, NotSerialized)  // _STA: Status
11525                 {
11526                     Return (0x0F)
11527                 }
11528 
11529                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11530                 {
11531                     Name (RBUF, ResourceTemplate ()
11532                     {
11533                         I2cSerialBusV2 (0x0068, ControllerInitiated, 0x00061A80,
11534                             AddressingMode7Bit, "\\_SB.I2C3",
11535                             0x00, ResourceConsumer, , Exclusive,
11536                             )
11537                     })
11538                     Return (RBUF) /* \_SB_.I2C3.SPBG._CRS.RBUF */
11539                 }
11540             }
11541 
11542             Device (SAR1)
11543             {
11544                 Name (_ADR, Zero)  // _ADR: Address
11545                 Name (_HID, "SPBP0001")  // _HID: Hardware ID
11546                 Name (_CID, "SpbProximity")  // _CID: Compatible ID
11547                 Name (_UID, One)  // _UID: Unique ID
11548                 Method (_STA, 0, NotSerialized)  // _STA: Status
11549                 {
11550                     Return (Zero)
11551                 }
11552 
11553                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11554                 {
11555                     Name (RBUF, ResourceTemplate ()
11556                     {
11557                         I2cSerialBusV2 (0x0028, ControllerInitiated, 0x00061A80,
11558                             AddressingMode7Bit, "\\_SB.I2C3",
11559                             0x00, ResourceConsumer, , Exclusive,
11560                             )
11561                         GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x0000,
11562                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11563                             )
11564                             {   // Pin list
11565                                 0x0013
11566                             }
11567                     })
11568                     Return (RBUF) /* \_SB_.I2C3.SAR1._CRS.RBUF */
11569                 }
11570             }
11571 
11572             Device (ACC0)
11573             {
11574                 Name (_ADR, Zero)  // _ADR: Address
11575                 Name (_HID, "KXCJ9000")  // _HID: Hardware ID
11576                 Name (_CID, "KXCJ9000")  // _CID: Compatible ID
11577                 Name (_UID, One)  // _UID: Unique ID
11578                 Method (_STA, 0, NotSerialized)  // _STA: Status
11579                 {
11580                     Return (Zero)
11581                 }
11582 
11583                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11584                 {
11585                     Name (SBUF, ResourceTemplate ()
11586                     {
11587                         I2cSerialBusV2 (0x000F, ControllerInitiated, 0x00061A80,
11588                             AddressingMode7Bit, "\\_SB.I2C3",
11589                             0x00, ResourceConsumer, , Exclusive,
11590                             )
11591                     })
11592                     Return (SBUF) /* \_SB_.I2C3.ACC0._CRS.SBUF */
11593                 }
11594             }
11595         }
11596 
11597         Device (I2C4)
11598         {
11599             Name (_ADR, Zero)  // _ADR: Address
11600             Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
11601             Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
11602             Name (_DDN, "Intel(R) I2C Controller #4 - 80860F44")  // _DDN: DOS Device Name
11603             Name (_UID, 0x04)  // _UID: Unique ID
11604             Name (_DEP, Package (0x01)  // _DEP: Dependencies
11605             {
11606                 PEPD
11607             })
11608             Name (RBUF, ResourceTemplate ()
11609             {
11610                 Memory32Fixed (ReadWrite,
11611                     0x00000000,         // Address Base
11612                     0x00001000,         // Address Length
11613                     _Y1B)
11614                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
11615                 {
11616                     0x00000023,
11617                 }
11618                 FixedDMA (0x0016, 0x0006, Width32bit, )
11619                 FixedDMA (0x0017, 0x0007, Width32bit, )
11620             })
11621             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
11622             {
11623                 Return (SOCS) /* \SOCS */
11624             }
11625 
11626             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11627             {
11628                 CreateDWordField (RBUF, \_SB.I2C4._Y1B._BAS, B0BA)  // _BAS: Base Address
11629                 CreateDWordField (RBUF, \_SB.I2C4._Y1B._LEN, B0LN)  // _LEN: Length
11630                 B0BA = I40A /* \I40A */
11631                 B0LN = I40L /* \I40L */
11632                 Return (RBUF) /* \_SB_.I2C4.RBUF */
11633             }
11634 
11635             Method (_STA, 0, NotSerialized)  // _STA: Status
11636             {
11637                 If (((I40A == Zero) || (L24D == One)))
11638                 {
11639                     Return (Zero)
11640                 }
11641 
11642                 Return (0x0F)
11643             }
11644 
11645             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11646             {
11647                 PSAT |= 0x03
11648                 Local0 = PSAT /* \_SB_.I2C4.PSAT */
11649             }
11650 
11651             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11652             {
11653                 PSAT &= 0xFFFFFFFC
11654                 Local0 = PSAT /* \_SB_.I2C4.PSAT */
11655             }
11656 
11657             OperationRegion (KEYS, SystemMemory, I41A, 0x0100)
11658             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
11659             {
11660                 Offset (0x84), 
11661                 PSAT,   32
11662             }
11663 
11664             Device (TCS0)
11665             {
11666                 Name (_ADR, Zero)  // _ADR: Address
11667                 Name (_HID, "GDIX1001")  // _HID: Hardware ID
11668                 Name (_CID, "GDIX1001")  // _CID: Compatible ID
11669                 Name (_S0W, Zero)  // _S0W: S0 Device Wake State
11670                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
11671                 {
11672                     GPO1, 
11673                     I2C5
11674                 })
11675                 Method (_PS3, 0, Serialized)  // _PS3: Power State 3
11676                 {
11677                 }
11678 
11679                 Method (_PS0, 0, Serialized)  // _PS0: Power State 0
11680                 {
11681                 }
11682 
11683                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11684                 {
11685                     Name (RBUF, ResourceTemplate ()
11686                     {
11687                         I2cSerialBusV2 (0x0014, ControllerInitiated, 0x00061A80,
11688                             AddressingMode7Bit, "\\_SB.I2C4",
11689                             0x00, ResourceConsumer, , Exclusive,
11690                             )
11691                         Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
11692                         {
11693                             0x00000044,
11694                         }
11695                         GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11696                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11697                             )
11698                             {   // Pin list
11699                                 0x001A
11700                             }
11701                         GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
11702                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11703                             )
11704                             {   // Pin list
11705                                 0x0003
11706                             }
11707                     })
11708                     Return (RBUF) /* \_SB_.I2C4.TCS0._CRS.RBUF */
11709                 }
11710 
11711                 Method (_STA, 0, NotSerialized)  // _STA: Status
11712                 {
11713                     Return (Zero)
11714                 }
11715             }
11716 
11717             Device (TCS1)
11718             {
11719                 Name (_ADR, Zero)  // _ADR: Address
11720                 Name (_HID, "FTSC1000")  // _HID: Hardware ID
11721                 Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
11722                 Name (_HRV, One)  // _HRV: Hardware Revision
11723                 Name (_S0W, Zero)  // _S0W: S0 Device Wake State
11724                 Name (_DEP, Package (0x03)  // _DEP: Dependencies
11725                 {
11726                     GPO1, 
11727                     I2C5, 
11728                     ^^I2C5.PMI1
11729                 })
11730                 Method (_PS3, 0, Serialized)  // _PS3: Power State 3
11731                 {
11732                 }
11733 
11734                 Method (_PS0, 0, Serialized)  // _PS0: Power State 0
11735                 {
11736                 }
11737 
11738                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11739                 {
11740                     Name (RBUF, ResourceTemplate ()
11741                     {
11742                         I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
11743                             AddressingMode7Bit, "\\_SB.I2C4",
11744                             0x00, ResourceConsumer, , Exclusive,
11745                             )
11746                         Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
11747                         {
11748                             0x00000044,
11749                         }
11750                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11751                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11752                             )
11753                             {   // Pin list
11754                                 0x001A
11755                             }
11756                     })
11757                     Return (RBUF) /* \_SB_.I2C4.TCS1._CRS.RBUF */
11758                 }
11759 
11760                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11761                 {
11762                     Debug = "Method _DSM begin"
11763                     If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
11764                     {
11765                         Switch (ToInteger (Arg2))
11766                         {
11767                             Case (Zero)
11768                             {
11769                                 Switch (ToInteger (Arg1))
11770                                 {
11771                                     Case (One)
11772                                     {
11773                                         Debug = "Method _DSM Function Query"
11774                                         Return (Buffer (One)
11775                                         {
11776                                              0x03                                             // .
11777                                         })
11778                                     }
11779                                     Default
11780                                     {
11781                                         Return (Buffer (One)
11782                                         {
11783                                              0x00                                             // .
11784                                         })
11785                                     }
11786 
11787                                 }
11788                             }
11789                             Case (One)
11790                             {
11791                                 Debug = "Method _DSM Function HID"
11792                                 Return (Zero)
11793                             }
11794                             Default
11795                             {
11796                                 Return (Zero)
11797                             }
11798 
11799                         }
11800                     }
11801                     Else
11802                     {
11803                         Return (Buffer (One)
11804                         {
11805                              0x00                                             // .
11806                         })
11807                     }
11808                 }
11809 
11810                 Method (_STA, 0, NotSerialized)  // _STA: Status
11811                 {
11812                     Return (0x0F)
11813                 }
11814             }
11815         }
11816 
11817         Device (I2C5)
11818         {
11819             Name (_ADR, Zero)  // _ADR: Address
11820             Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
11821             Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
11822             Name (_DDN, "Intel(R) I2C Controller #5 - 80860F45")  // _DDN: DOS Device Name
11823             Name (_UID, 0x05)  // _UID: Unique ID
11824             Method (_SEM, 0, NotSerialized)
11825             {
11826                 If ((((PMID == 0x04) || (PMID == 0x05)) || (PMID == 0x06)))
11827                 {
11828                     ADBG ("$COVE")
11829                     Return (One)
11830                 }
11831                 Else
11832                 {
11833                     ADBG ("CCOVE")
11834                     Return (Zero)
11835                 }
11836             }
11837 
11838             Name (_DEP, Package (0x01)  // _DEP: Dependencies
11839             {
11840                 PEPD
11841             })
11842             Name (RBUF, ResourceTemplate ()
11843             {
11844                 Memory32Fixed (ReadWrite,
11845                     0x00000000,         // Address Base
11846                     0x00001000,         // Address Length
11847                     _Y1C)
11848                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
11849                 {
11850                     0x00000024,
11851                 }
11852                 FixedDMA (0x0018, 0x0000, Width32bit, )
11853                 FixedDMA (0x0019, 0x0001, Width32bit, )
11854             })
11855             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
11856             {
11857                 Return (SOCS) /* \SOCS */
11858             }
11859 
11860             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11861             {
11862                 CreateDWordField (RBUF, \_SB.I2C5._Y1C._BAS, B0BA)  // _BAS: Base Address
11863                 CreateDWordField (RBUF, \_SB.I2C5._Y1C._LEN, B0LN)  // _LEN: Length
11864                 B0BA = I50A /* \I50A */
11865                 B0LN = I50L /* \I50L */
11866                 Return (RBUF) /* \_SB_.I2C5.RBUF */
11867             }
11868 
11869             Method (_STA, 0, NotSerialized)  // _STA: Status
11870             {
11871                 If (((I50A == Zero) || (L25D == One)))
11872                 {
11873                     Return (Zero)
11874                 }
11875 
11876                 Return (0x0F)
11877             }
11878 
11879             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11880             {
11881                 If ((((PMID == 0x04) || (PMID == 0x05)) || (PMID == 0x06)))
11882                 {
11883                     Return (Zero)
11884                 }
11885 
11886                 PSAT |= 0x03
11887                 Local0 = PSAT /* \_SB_.I2C5.PSAT */
11888             }
11889 
11890             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11891             {
11892                 PSAT &= 0xFFFFFFFC
11893                 Local0 = PSAT /* \_SB_.I2C5.PSAT */
11894             }
11895 
11896             OperationRegion (KEYS, SystemMemory, I51A, 0x0100)
11897             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
11898             {
11899                 Offset (0x84), 
11900                 PSAT,   32
11901             }
11902 
11903             Name (XPMC, ResourceTemplate ()
11904             {
11905                 I2cSerialBusV2 (0x0034, ControllerInitiated, 0x00061A80,
11906                     AddressingMode7Bit, "\\_SB.I2C5",
11907                     0x00, ResourceConsumer, , Exclusive,
11908                     )
11909             })
11910             OperationRegion (XSCG, GenericSerialBus, Zero, 0x0100)
11911             Field (XSCG, BufferAcc, NoLock, Preserve)
11912             {
11913                 Connection (XPMC), 
11914                 AccessAs (BufferAcc, AttribByte), 
11915                 XP00,   8
11916             }
11917 
11918             Field (XSCG, BufferAcc, NoLock, Preserve)
11919             {
11920                 Connection (XPMC), 
11921                 Offset (0x2C), 
11922                 AccessAs (BufferAcc, AttribByte), 
11923                 XP2C,   8, 
11924                 XP2D,   8, 
11925                 XP2E,   8, 
11926                 XP2F,   8, 
11927                 XP30,   8
11928             }
11929 
11930             Field (XSCG, BufferAcc, NoLock, Preserve)
11931             {
11932                 Connection (XPMC), 
11933                 Offset (0x2C), 
11934                 AccessAs (BufferAcc, AttribBytes (0x0A)), 
11935                 XPCG,   8
11936             }
11937         }
11938 
11939         Scope (I2C5)
11940         {
11941             Device (PMI1)
11942             {
11943                 Name (_ADR, Zero)  // _ADR: Address
11944                 Name (_HID, "INT33F4" /* XPOWER PMIC Controller */)  // _HID: Hardware ID
11945                 Name (_CID, "INT33F4" /* XPOWER PMIC Controller */)  // _CID: Compatible ID
11946                 Name (_DDN, "XPOWER PMIC Controller")  // _DDN: DOS Device Name
11947                 Name (_HRV, 0x02)  // _HRV: Hardware Revision
11948                 Name (_UID, One)  // _UID: Unique ID
11949                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
11950                 {
11951                     I2C5
11952                 })
11953                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11954                 {
11955                     Name (SBUF, ResourceTemplate ()
11956                     {
11957                         I2cSerialBusV2 (0x0034, ControllerInitiated, 0x000F4240,
11958                             AddressingMode7Bit, "\\_SB.I2C5",
11959                             0x00, ResourceConsumer, , Exclusive,
11960                             )
11961                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
11962                         {
11963                             0x00000043,
11964                         }
11965                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
11966                         {
11967                             0x00000043,
11968                         }
11969                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
11970                         {
11971                             0x00000043,
11972                         }
11973                     })
11974                     Return (SBUF) /* \_SB_.I2C5.PMI1._CRS.SBUF */
11975                 }
11976 
11977                 Method (_STA, 0, NotSerialized)  // _STA: Status
11978                 {
11979                     If ((PMEN == Zero))
11980                     {
11981                         Return (Zero)
11982                     }
11983 
11984                     If ((PMID == 0x05))
11985                     {
11986                         ADBG ("XPWR_DCOVE")
11987                         Return (0x0F)
11988                     }
11989 
11990                     Return (Zero)
11991                 }
11992 
11993                 OperationRegion (PMOP, 0x8D, Zero, 0x0100)
11994                 Field (PMOP, DWordAcc, NoLock, Preserve)
11995                 {
11996                     ALD1,   32, 
11997                     ALD2,   32, 
11998                     ALD3,   32, 
11999                     DLD1,   32, 
12000                     DLD2,   32, 
12001                     DLD3,   32, 
12002                     DLD4,   32, 
12003                     ELD1,   32, 
12004                     ELD2,   32, 
12005                     ELD3,   32, 
12006                     FLD1,   32, 
12007                     FLD2,   32, 
12008                     FLD3,   32, 
12009                     BUC1,   32, 
12010                     BUC2,   32, 
12011                     BUC3,   32, 
12012                     BUC4,   32, 
12013                     BUC5,   32, 
12014                     BUC6,   32, 
12015                     GPI1,   32
12016                 }
12017 
12018                 OperationRegion (DPTF, 0x8C, Zero, 0x0100)
12019                 Field (DPTF, DWordAcc, NoLock, Preserve)
12020                 {
12021                     TMP0,   32, 
12022                     AX00,   32, 
12023                     AX01,   32, 
12024                     TMP1,   32, 
12025                     AX10,   32, 
12026                     AX11,   32, 
12027                     TMP2,   32, 
12028                     AX20,   32, 
12029                     AX21,   32, 
12030                     TMP3,   32, 
12031                     AX30,   32, 
12032                     AX31,   32, 
12033                     TMP4,   32, 
12034                     AX40,   32, 
12035                     AX41,   32, 
12036                     TMP5,   32, 
12037                     AX50,   32, 
12038                     AX51,   32, 
12039                     PEN0,   32, 
12040                     PEN1,   32, 
12041                     PEN2,   32, 
12042                     PEN3,   32, 
12043                     PEN4,   32, 
12044                     PEN5,   32
12045                 }
12046 
12047                 Name (LPAT, Package (0x3C)
12048                 {
12049                     0x0BA5, 
12050                     0x02EE, 
12051                     0x0A47, 
12052                     0x0FA4, 
12053                     0x0A79, 
12054                     0x0C04, 
12055                     0x0AAB, 
12056                     0x0950, 
12057                     0x0ADD, 
12058                     0x0748, 
12059                     0x0B0F, 
12060                     0x05BC, 
12061                     0x0B41, 
12062                     0x048D, 
12063                     0x0B73, 
12064                     0x03A3, 
12065                     0x0BA5, 
12066                     0x02EE, 
12067                     0x0BD7, 
12068                     0x025F, 
12069                     0x0C09, 
12070                     0x01EE, 
12071                     0x0C3B, 
12072                     0x0195, 
12073                     0x0C6D, 
12074                     0x014E, 
12075                     0x0C9F, 
12076                     0x0114, 
12077                     0x0CB3, 
12078                     0x0102, 
12079                     0x0CC7, 
12080                     0xEF, 
12081                     0x0CDB, 
12082                     0xDE, 
12083                     0x0CEF, 
12084                     0xCF, 
12085                     0x0D03, 
12086                     0xC0, 
12087                     0x0D17, 
12088                     0xB4, 
12089                     0x0D2B, 
12090                     0xA7, 
12091                     0x0D3F, 
12092                     0x9C, 
12093                     0x0D53, 
12094                     0x92, 
12095                     0x0D67, 
12096                     0x88, 
12097                     0x0D99, 
12098                     0x73, 
12099                     0x0DCB, 
12100                     0x62, 
12101                     0x0DFD, 
12102                     0x53, 
12103                     0x0E2F, 
12104                     0x47, 
12105                     0x0E61, 
12106                     0x3D, 
12107                     0x0E93, 
12108                     0x35
12109                 })
12110                 OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
12111                 Field (GPOP, ByteAcc, NoLock, Preserve)
12112                 {
12113                     Connection (
12114                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12115                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12116                             )
12117                             {   // Pin list
12118                                 0x0020
12119                             }
12120                     ), 
12121                     GMP0,   1, 
12122                     Connection (
12123                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12124                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12125                             )
12126                             {   // Pin list
12127                                 0x0021
12128                             }
12129                     ), 
12130                     GX00,   1, 
12131                     Connection (
12132                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12133                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12134                             )
12135                             {   // Pin list
12136                                 0x0022
12137                             }
12138                     ), 
12139                     GX01,   1, 
12140                     Connection (
12141                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12142                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12143                             )
12144                             {   // Pin list
12145                                 0x0023
12146                             }
12147                     ), 
12148                     GMP1,   1, 
12149                     Connection (
12150                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12151                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12152                             )
12153                             {   // Pin list
12154                                 0x0024
12155                             }
12156                     ), 
12157                     GX10,   1, 
12158                     Connection (
12159                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12160                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12161                             )
12162                             {   // Pin list
12163                                 0x0025
12164                             }
12165                     ), 
12166                     GX11,   1, 
12167                     Connection (
12168                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12169                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12170                             )
12171                             {   // Pin list
12172                                 0x0026
12173                             }
12174                     ), 
12175                     GMP2,   1, 
12176                     Connection (
12177                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12178                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12179                             )
12180                             {   // Pin list
12181                                 0x0027
12182                             }
12183                     ), 
12184                     GX20,   1, 
12185                     Connection (
12186                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12187                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12188                             )
12189                             {   // Pin list
12190                                 0x0028
12191                             }
12192                     ), 
12193                     GX21,   1, 
12194                     Connection (
12195                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12196                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12197                             )
12198                             {   // Pin list
12199                                 0x0029
12200                             }
12201                     ), 
12202                     GMP3,   1, 
12203                     Connection (
12204                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12205                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12206                             )
12207                             {   // Pin list
12208                                 0x002A
12209                             }
12210                     ), 
12211                     GX30,   1, 
12212                     Connection (
12213                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12214                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12215                             )
12216                             {   // Pin list
12217                                 0x002B
12218                             }
12219                     ), 
12220                     GX31,   1, 
12221                     Connection (
12222                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12223                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12224                             )
12225                             {   // Pin list
12226                                 0x002C
12227                             }
12228                     ), 
12229                     GMP4,   1, 
12230                     Connection (
12231                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12232                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12233                             )
12234                             {   // Pin list
12235                                 0x002D
12236                             }
12237                     ), 
12238                     GX40,   1, 
12239                     Connection (
12240                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12241                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12242                             )
12243                             {   // Pin list
12244                                 0x002E
12245                             }
12246                     ), 
12247                     GX41,   1, 
12248                     Connection (
12249                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12250                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12251                             )
12252                             {   // Pin list
12253                                 0x002F
12254                             }
12255                     ), 
12256                     GMP5,   1, 
12257                     Connection (
12258                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12259                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12260                             )
12261                             {   // Pin list
12262                                 0x0030
12263                             }
12264                     ), 
12265                     GX50,   1, 
12266                     Connection (
12267                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12268                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12269                             )
12270                             {   // Pin list
12271                                 0x0031
12272                             }
12273                     ), 
12274                     GX51,   1, 
12275                     Connection (
12276                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12277                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12278                             )
12279                             {   // Pin list
12280                                 0x0032
12281                             }
12282                     ), 
12283                     GEN0,   1, 
12284                     Connection (
12285                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12286                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12287                             )
12288                             {   // Pin list
12289                                 0x0033
12290                             }
12291                     ), 
12292                     GEN1,   1, 
12293                     Connection (
12294                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12295                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12296                             )
12297                             {   // Pin list
12298                                 0x0034
12299                             }
12300                     ), 
12301                     GEN2,   1, 
12302                     Connection (
12303                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12304                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12305                             )
12306                             {   // Pin list
12307                                 0x0035
12308                             }
12309                     ), 
12310                     GEN3,   1, 
12311                     Connection (
12312                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12313                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12314                             )
12315                             {   // Pin list
12316                                 0x0036
12317                             }
12318                     ), 
12319                     GEN4,   1, 
12320                     Connection (
12321                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12322                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12323                             )
12324                             {   // Pin list
12325                                 0x0037
12326                             }
12327                     ), 
12328                     GEN5,   1, 
12329                     Connection (
12330                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12331                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12332                             )
12333                             {   // Pin list
12334                                 0x0040
12335                             }
12336                     ), 
12337                     G28X,   1, 
12338                     Connection (
12339                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12340                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12341                             )
12342                             {   // Pin list
12343                                 0x0048
12344                             }
12345                     ), 
12346                     G18X,   1, 
12347                     Connection (
12348                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12349                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12350                             )
12351                             {   // Pin list
12352                                 0x000B
12353                             }
12354                     ), 
12355                     TCON,   1, 
12356                     Connection (
12357                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12358                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12359                             )
12360                             {   // Pin list
12361                                 0x0053
12362                             }
12363                     ), 
12364                     GSDX,   1
12365                 }
12366 
12367                 Name (AVBL, Zero)
12368                 Name (AVBD, Zero)
12369                 Name (AVBG, Zero)
12370                 Method (_REG, 2, NotSerialized)  // _REG: Region Availability
12371                 {
12372                     If ((Arg0 == 0x08))
12373                     {
12374                         AVBG = Arg1
12375                     }
12376 
12377                     If ((Arg0 == 0x8D))
12378                     {
12379                         AVBL = Arg1
12380                     }
12381 
12382                     If ((Arg0 == 0x8C))
12383                     {
12384                         AVBD = Arg1
12385                     }
12386                 }
12387             }
12388 
12389             Device (PMI2)
12390             {
12391                 Name (_ADR, Zero)  // _ADR: Address
12392                 Name (_HID, "INT33F5" /* TI PMIC Controller */)  // _HID: Hardware ID
12393                 Name (_CID, "INT33F5" /* TI PMIC Controller */)  // _CID: Compatible ID
12394                 Name (_DDN, "TI PMIC Controller")  // _DDN: DOS Device Name
12395                 Name (_HRV, 0x02)  // _HRV: Hardware Revision
12396                 Name (_UID, One)  // _UID: Unique ID
12397                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
12398                 {
12399                     I2C5
12400                 })
12401                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
12402                 {
12403                     Name (SBUF, ResourceTemplate ()
12404                     {
12405                         I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
12406                             AddressingMode7Bit, "\\_SB.I2C5",
12407                             0x00, ResourceConsumer, , Exclusive,
12408                             )
12409                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12410                         {
12411                             0x00000043,
12412                         }
12413                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12414                         {
12415                             0x00000043,
12416                         }
12417                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12418                         {
12419                             0x00000043,
12420                         }
12421                     })
12422                     Return (SBUF) /* \_SB_.I2C5.PMI2._CRS.SBUF */
12423                 }
12424 
12425                 Method (_STA, 0, NotSerialized)  // _STA: Status
12426                 {
12427                     If ((PMEN == Zero))
12428                     {
12429                         Return (Zero)
12430                     }
12431 
12432                     If ((PMID == 0x06))
12433                     {
12434                         ADBG ("TI_DCOVE")
12435                         Return (0x0F)
12436                     }
12437 
12438                     Return (Zero)
12439                 }
12440 
12441                 OperationRegion (PMOP, 0x8D, Zero, 0x0100)
12442                 Field (PMOP, DWordAcc, NoLock, Preserve)
12443                 {
12444                     LDO1,   32, 
12445                     LDO2,   32, 
12446                     LDO3,   32, 
12447                     LDO5,   32, 
12448                     LDO6,   32, 
12449                     LDO7,   32, 
12450                     LDO8,   32, 
12451                     LDO9,   32, 
12452                     LD10,   32, 
12453                     LD11,   32, 
12454                     LD12,   32, 
12455                     LD13,   32, 
12456                     LD14,   32
12457                 }
12458 
12459                 OperationRegion (DPTF, 0x8C, Zero, 0x0100)
12460                 Field (DPTF, DWordAcc, NoLock, Preserve)
12461                 {
12462                     TMP0,   32, 
12463                     AX00,   32, 
12464                     AX01,   32, 
12465                     TMP1,   32, 
12466                     AX10,   32, 
12467                     AX11,   32, 
12468                     TMP2,   32, 
12469                     AX20,   32, 
12470                     AX21,   32, 
12471                     TMP3,   32, 
12472                     AX30,   32, 
12473                     AX31,   32, 
12474                     TMP4,   32, 
12475                     AX40,   32, 
12476                     AX41,   32, 
12477                     TMP5,   32, 
12478                     AX50,   32, 
12479                     AX51,   32, 
12480                     PEN0,   32, 
12481                     PEN1,   32, 
12482                     PEN2,   32, 
12483                     PEN3,   32, 
12484                     PEN4,   32, 
12485                     PEN5,   32
12486                 }
12487 
12488                 Name (LPAT, Package (0x44)
12489                 {
12490                     0x091B, 
12491                     0x03F1, 
12492                     0x094D, 
12493                     0x03EB, 
12494                     0x097F, 
12495                     0x03E4, 
12496                     0x09B1, 
12497                     0x03DA, 
12498                     0x09E3, 
12499                     0x03CE, 
12500                     0x0A15, 
12501                     0x03BE, 
12502                     0x0A47, 
12503                     0x03AA, 
12504                     0x0A79, 
12505                     0x0392, 
12506                     0x0AAB, 
12507                     0x0375, 
12508                     0x0ADD, 
12509                     0x0353, 
12510                     0x0B0F, 
12511                     0x032C, 
12512                     0x0B41, 
12513                     0x0300, 
12514                     0x0B73, 
12515                     0x02D0, 
12516                     0x0BA5, 
12517                     0x029D, 
12518                     0x0BD7, 
12519                     0x0268, 
12520                     0x0C09, 
12521                     0x0232, 
12522                     0x0C3B, 
12523                     0x01FD, 
12524                     0x0C6D, 
12525                     0x01C9, 
12526                     0x0C9F, 
12527                     0x0197, 
12528                     0x0CD1, 
12529                     0x0169, 
12530                     0x0D03, 
12531                     0x013E, 
12532                     0x0D35, 
12533                     0x0117, 
12534                     0x0D67, 
12535                     0xF5, 
12536                     0x0D99, 
12537                     0xD6, 
12538                     0x0DCB, 
12539                     0xBB, 
12540                     0x0DFD, 
12541                     0xA3, 
12542                     0x0E2F, 
12543                     0x8E, 
12544                     0x0E61, 
12545                     0x7C, 
12546                     0x0E93, 
12547                     0x6C, 
12548                     0x0EC5, 
12549                     0x5E, 
12550                     0x0EF7, 
12551                     0x53, 
12552                     0x0F29, 
12553                     0x48, 
12554                     0x0F5B, 
12555                     0x3F, 
12556                     0x0F8D, 
12557                     0x38
12558                 })
12559                 OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
12560                 Field (GPOP, ByteAcc, NoLock, Preserve)
12561                 {
12562                     Connection (
12563                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12564                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12565                             )
12566                             {   // Pin list
12567                                 0x0020
12568                             }
12569                     ), 
12570                     GMP0,   1, 
12571                     Connection (
12572                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12573                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12574                             )
12575                             {   // Pin list
12576                                 0x0021
12577                             }
12578                     ), 
12579                     GX00,   1, 
12580                     Connection (
12581                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12582                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12583                             )
12584                             {   // Pin list
12585                                 0x0022
12586                             }
12587                     ), 
12588                     GX01,   1, 
12589                     Connection (
12590                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12591                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12592                             )
12593                             {   // Pin list
12594                                 0x0023
12595                             }
12596                     ), 
12597                     GMP1,   1, 
12598                     Connection (
12599                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12600                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12601                             )
12602                             {   // Pin list
12603                                 0x0024
12604                             }
12605                     ), 
12606                     GX10,   1, 
12607                     Connection (
12608                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12609                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12610                             )
12611                             {   // Pin list
12612                                 0x0025
12613                             }
12614                     ), 
12615                     GX11,   1, 
12616                     Connection (
12617                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12618                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12619                             )
12620                             {   // Pin list
12621                                 0x0026
12622                             }
12623                     ), 
12624                     GMP2,   1, 
12625                     Connection (
12626                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12627                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12628                             )
12629                             {   // Pin list
12630                                 0x0027
12631                             }
12632                     ), 
12633                     GX20,   1, 
12634                     Connection (
12635                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12636                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12637                             )
12638                             {   // Pin list
12639                                 0x0028
12640                             }
12641                     ), 
12642                     GX21,   1, 
12643                     Connection (
12644                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12645                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12646                             )
12647                             {   // Pin list
12648                                 0x0029
12649                             }
12650                     ), 
12651                     GMP3,   1, 
12652                     Connection (
12653                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12654                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12655                             )
12656                             {   // Pin list
12657                                 0x002A
12658                             }
12659                     ), 
12660                     GX30,   1, 
12661                     Connection (
12662                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12663                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12664                             )
12665                             {   // Pin list
12666                                 0x002B
12667                             }
12668                     ), 
12669                     GX31,   1, 
12670                     Connection (
12671                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12672                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12673                             )
12674                             {   // Pin list
12675                                 0x002C
12676                             }
12677                     ), 
12678                     GMP4,   1, 
12679                     Connection (
12680                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12681                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12682                             )
12683                             {   // Pin list
12684                                 0x002D
12685                             }
12686                     ), 
12687                     GX40,   1, 
12688                     Connection (
12689                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12690                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12691                             )
12692                             {   // Pin list
12693                                 0x002E
12694                             }
12695                     ), 
12696                     GX41,   1, 
12697                     Connection (
12698                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12699                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12700                             )
12701                             {   // Pin list
12702                                 0x002F
12703                             }
12704                     ), 
12705                     GMP5,   1, 
12706                     Connection (
12707                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12708                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12709                             )
12710                             {   // Pin list
12711                                 0x0030
12712                             }
12713                     ), 
12714                     GX50,   1, 
12715                     Connection (
12716                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12717                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12718                             )
12719                             {   // Pin list
12720                                 0x0031
12721                             }
12722                     ), 
12723                     GX51,   1, 
12724                     Connection (
12725                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12726                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12727                             )
12728                             {   // Pin list
12729                                 0x0032
12730                             }
12731                     ), 
12732                     GEN0,   1, 
12733                     Connection (
12734                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12735                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12736                             )
12737                             {   // Pin list
12738                                 0x0033
12739                             }
12740                     ), 
12741                     GEN1,   1, 
12742                     Connection (
12743                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12744                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12745                             )
12746                             {   // Pin list
12747                                 0x0034
12748                             }
12749                     ), 
12750                     GEN2,   1, 
12751                     Connection (
12752                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12753                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12754                             )
12755                             {   // Pin list
12756                                 0x0035
12757                             }
12758                     ), 
12759                     GEN3,   1, 
12760                     Connection (
12761                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12762                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12763                             )
12764                             {   // Pin list
12765                                 0x0036
12766                             }
12767                     ), 
12768                     GEN4,   1, 
12769                     Connection (
12770                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12771                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12772                             )
12773                             {   // Pin list
12774                                 0x0037
12775                             }
12776                     ), 
12777                     GEN5,   1, 
12778                     Connection (
12779                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12780                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12781                             )
12782                             {   // Pin list
12783                                 0x0045
12784                             }
12785                     ), 
12786                     GSDX,   1, 
12787                     Connection (
12788                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12789                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12790                             )
12791                             {   // Pin list
12792                                 0x0047
12793                             }
12794                     ), 
12795                     G28X,   1, 
12796                     Connection (
12797                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12798                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12799                             )
12800                             {   // Pin list
12801                                 0x0048
12802                             }
12803                     ), 
12804                     G18X,   1, 
12805                     Connection (
12806                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12807                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12808                             )
12809                             {   // Pin list
12810                                 0x0049
12811                             }
12812                     ), 
12813                     G18U,   1
12814                 }
12815 
12816                 Name (AVBL, Zero)
12817                 Name (AVBD, Zero)
12818                 Name (AVBG, Zero)
12819                 Method (_REG, 2, NotSerialized)  // _REG: Region Availability
12820                 {
12821                     If ((Arg0 == 0x08))
12822                     {
12823                         AVBG = Arg1
12824                     }
12825 
12826                     If ((Arg0 == 0x8D))
12827                     {
12828                         AVBL = Arg1
12829                     }
12830 
12831                     If ((Arg0 == 0x8C))
12832                     {
12833                         AVBD = Arg1
12834                     }
12835                 }
12836             }
12837 
12838             Device (PMIF)
12839             {
12840                 Name (_ADR, Zero)  // _ADR: Address
12841                 Name (_HID, "DMY0001")  // _HID: Hardware ID
12842                 Name (_CID, "DMY0001")  // _CID: Compatible ID
12843                 Name (_DDN, "Dummy PMIC controller")  // _DDN: DOS Device Name
12844                 Name (_HRV, Zero)  // _HRV: Hardware Revision
12845                 Name (_UID, One)  // _UID: Unique ID
12846                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
12847                 {
12848                     I2C5
12849                 })
12850                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
12851                 {
12852                     Name (SBUF, ResourceTemplate ()
12853                     {
12854                         I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
12855                             AddressingMode7Bit, "\\_SB.I2C5",
12856                             0x00, ResourceConsumer, , Exclusive,
12857                             )
12858                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12859                         {
12860                             0x00000043,
12861                         }
12862                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12863                         {
12864                             0x00000043,
12865                         }
12866                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12867                         {
12868                             0x00000043,
12869                         }
12870                     })
12871                     Return (SBUF) /* \_SB_.I2C5.PMIF._CRS.SBUF */
12872                 }
12873 
12874                 Method (_STA, 0, NotSerialized)  // _STA: Status
12875                 {
12876                     If ((PMEN == Zero))
12877                     {
12878                         Return (Zero)
12879                     }
12880 
12881                     If ((PMID == 0xFE))
12882                     {
12883                         ADBG ("DMPMIC")
12884                         Return (0x0F)
12885                     }
12886 
12887                     Return (Zero)
12888                 }
12889             }
12890 
12891             Device (PMIC)
12892             {
12893                 Name (_ADR, Zero)  // _ADR: Address
12894                 Name (_HID, "INT33FD" /* Intel Baytrail Power Management IC */)  // _HID: Hardware ID
12895                 Name (_CID, "INT33FD" /* Intel Baytrail Power Management IC */)  // _CID: Compatible ID
12896                 Name (_DDN, "PMIC GPIO Controller")  // _DDN: DOS Device Name
12897                 Name (_HRV, 0x02)  // _HRV: Hardware Revision
12898                 Name (_UID, One)  // _UID: Unique ID
12899                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
12900                 {
12901                     I2C5
12902                 })
12903                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
12904                 {
12905                     Name (SBUF, ResourceTemplate ()
12906                     {
12907                         I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000F4240,
12908                             AddressingMode7Bit, "\\_SB.I2C5",
12909                             0x00, ResourceConsumer, , Exclusive,
12910                             )
12911                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12912                         {
12913                             0x00000043,
12914                         }
12915                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12916                         {
12917                             0x00000043,
12918                         }
12919                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12920                         {
12921                             0x00000043,
12922                         }
12923                     })
12924                     Return (SBUF) /* \_SB_.I2C5.PMIC._CRS.SBUF */
12925                 }
12926 
12927                 Method (_STA, 0, NotSerialized)  // _STA: Status
12928                 {
12929                     If ((PMEN == Zero))
12930                     {
12931                         Return (Zero)
12932                     }
12933 
12934                     If ((PMID == One))
12935                     {
12936                         ADBG ("CCPMIC")
12937                         Return (0x0F)
12938                     }
12939 
12940                     Return (Zero)
12941                 }
12942 
12943                 OperationRegion (DPTF, 0x8C, Zero, 0x0100)
12944                 Field (DPTF, DWordAcc, NoLock, Preserve)
12945                 {
12946                     TMP0,   32, 
12947                     AX00,   32, 
12948                     AX01,   32, 
12949                     TMP1,   32, 
12950                     AX10,   32, 
12951                     AX11,   32, 
12952                     TMP2,   32, 
12953                     AX20,   32, 
12954                     AX21,   32, 
12955                     TMP3,   32, 
12956                     AX30,   32, 
12957                     AX31,   32, 
12958                     TMP4,   32, 
12959                     AX40,   32, 
12960                     AX41,   32, 
12961                     TMP5,   32, 
12962                     AX50,   32, 
12963                     AX51,   32, 
12964                     PEN0,   32, 
12965                     PEN1,   32, 
12966                     PEN2,   32, 
12967                     PEN3,   32, 
12968                     PEN4,   32, 
12969                     PEN5,   32
12970                 }
12971 
12972                 OperationRegion (PMOP, 0x8D, Zero, 0x0100)
12973                 Field (PMOP, DWordAcc, NoLock, Preserve)
12974                 {
12975                     VSYS,   32, 
12976                     SYSX,   32, 
12977                     SYSU,   32, 
12978                     SYSS,   32, 
12979                     V50S,   32, 
12980                     HOST,   32, 
12981                     VBUS,   32, 
12982                     HDMI,   32, 
12983                     S285,   32, 
12984                     X285,   32, 
12985                     V33A,   32, 
12986                     V33S,   32, 
12987                     V33U,   32, 
12988                     V33I,   32, 
12989                     V18A,   32, 
12990                     REFQ,   32, 
12991                     V12A,   32, 
12992                     V18S,   32, 
12993                     V18X,   32, 
12994                     V18U,   32, 
12995                     V12X,   32, 
12996                     V12S,   32, 
12997                     V10A,   32, 
12998                     V10S,   32, 
12999                     V10X,   32, 
13000                     V105,   32
13001                 }
13002 
13003                 OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
13004                 Field (GPOP, ByteAcc, NoLock, Preserve)
13005                 {
13006                     Connection (
13007                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13008                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13009                             )
13010                             {   // Pin list
13011                                 0x0020
13012                             }
13013                     ), 
13014                     GMP0,   1, 
13015                     Connection (
13016                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13017                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13018                             )
13019                             {   // Pin list
13020                                 0x0021
13021                             }
13022                     ), 
13023                     GX00,   1, 
13024                     Connection (
13025                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13026                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13027                             )
13028                             {   // Pin list
13029                                 0x0022
13030                             }
13031                     ), 
13032                     GX01,   1, 
13033                     Connection (
13034                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13035                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13036                             )
13037                             {   // Pin list
13038                                 0x0023
13039                             }
13040                     ), 
13041                     GMP1,   1, 
13042                     Connection (
13043                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13044                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13045                             )
13046                             {   // Pin list
13047                                 0x0024
13048                             }
13049                     ), 
13050                     GX10,   1, 
13051                     Connection (
13052                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13053                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13054                             )
13055                             {   // Pin list
13056                                 0x0025
13057                             }
13058                     ), 
13059                     GX11,   1, 
13060                     Connection (
13061                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13062                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13063                             )
13064                             {   // Pin list
13065                                 0x0026
13066                             }
13067                     ), 
13068                     GMP2,   1, 
13069                     Connection (
13070                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13071                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13072                             )
13073                             {   // Pin list
13074                                 0x0027
13075                             }
13076                     ), 
13077                     GX20,   1, 
13078                     Connection (
13079                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13080                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13081                             )
13082                             {   // Pin list
13083                                 0x0028
13084                             }
13085                     ), 
13086                     GX21,   1, 
13087                     Connection (
13088                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13089                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13090                             )
13091                             {   // Pin list
13092                                 0x0029
13093                             }
13094                     ), 
13095                     GMP3,   1, 
13096                     Connection (
13097                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13098                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13099                             )
13100                             {   // Pin list
13101                                 0x002A
13102                             }
13103                     ), 
13104                     GX30,   1, 
13105                     Connection (
13106                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13107                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13108                             )
13109                             {   // Pin list
13110                                 0x002B
13111                             }
13112                     ), 
13113                     GX31,   1, 
13114                     Connection (
13115                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13116                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13117                             )
13118                             {   // Pin list
13119                                 0x002C
13120                             }
13121                     ), 
13122                     GMP4,   1, 
13123                     Connection (
13124                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13125                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13126                             )
13127                             {   // Pin list
13128                                 0x002D
13129                             }
13130                     ), 
13131                     GX40,   1, 
13132                     Connection (
13133                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13134                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13135                             )
13136                             {   // Pin list
13137                                 0x002E
13138                             }
13139                     ), 
13140                     GX41,   1, 
13141                     Connection (
13142                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13143                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13144                             )
13145                             {   // Pin list
13146                                 0x002F
13147                             }
13148                     ), 
13149                     GMP5,   1, 
13150                     Connection (
13151                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13152                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13153                             )
13154                             {   // Pin list
13155                                 0x0030
13156                             }
13157                     ), 
13158                     GX50,   1, 
13159                     Connection (
13160                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13161                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13162                             )
13163                             {   // Pin list
13164                                 0x0031
13165                             }
13166                     ), 
13167                     GX51,   1, 
13168                     Connection (
13169                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13170                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13171                             )
13172                             {   // Pin list
13173                                 0x0032
13174                             }
13175                     ), 
13176                     GEN0,   1, 
13177                     Connection (
13178                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13179                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13180                             )
13181                             {   // Pin list
13182                                 0x0033
13183                             }
13184                     ), 
13185                     GEN1,   1, 
13186                     Connection (
13187                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13188                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13189                             )
13190                             {   // Pin list
13191                                 0x0034
13192                             }
13193                     ), 
13194                     GEN2,   1, 
13195                     Connection (
13196                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13197                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13198                             )
13199                             {   // Pin list
13200                                 0x0035
13201                             }
13202                     ), 
13203                     GEN3,   1, 
13204                     Connection (
13205                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13206                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13207                             )
13208                             {   // Pin list
13209                                 0x0036
13210                             }
13211                     ), 
13212                     GEN4,   1, 
13213                     Connection (
13214                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13215                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13216                             )
13217                             {   // Pin list
13218                                 0x0037
13219                             }
13220                     ), 
13221                     GEN5,   1, 
13222                     Connection (
13223                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13224                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13225                             )
13226                             {   // Pin list
13227                                 0x0040
13228                             }
13229                     ), 
13230                     GSYS,   1, 
13231                     Connection (
13232                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13233                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13234                             )
13235                             {   // Pin list
13236                                 0x0041
13237                             }
13238                     ), 
13239                     GYSX,   1, 
13240                     Connection (
13241                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13242                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13243                             )
13244                             {   // Pin list
13245                                 0x0042
13246                             }
13247                     ), 
13248                     GYSU,   1, 
13249                     Connection (
13250                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13251                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13252                             )
13253                             {   // Pin list
13254                                 0x0043
13255                             }
13256                     ), 
13257                     GYSS,   1, 
13258                     Connection (
13259                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13260                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13261                             )
13262                             {   // Pin list
13263                                 0x0044
13264                             }
13265                     ), 
13266                     G50S,   1, 
13267                     Connection (
13268                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13269                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13270                             )
13271                             {   // Pin list
13272                                 0x0045
13273                             }
13274                     ), 
13275                     GOST,   1, 
13276                     Connection (
13277                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13278                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13279                             )
13280                             {   // Pin list
13281                                 0x0046
13282                             }
13283                     ), 
13284                     GBUS,   1, 
13285                     Connection (
13286                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13287                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13288                             )
13289                             {   // Pin list
13290                                 0x0047
13291                             }
13292                     ), 
13293                     GDMI,   1, 
13294                     Connection (
13295                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13296                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13297                             )
13298                             {   // Pin list
13299                                 0x0048
13300                             }
13301                     ), 
13302                     G28S,   1, 
13303                     Connection (
13304                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13305                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13306                             )
13307                             {   // Pin list
13308                                 0x0049
13309                             }
13310                     ), 
13311                     G28X,   1, 
13312                     Connection (
13313                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13314                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13315                             )
13316                             {   // Pin list
13317                                 0x004A
13318                             }
13319                     ), 
13320                     G33A,   1, 
13321                     Connection (
13322                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13323                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13324                             )
13325                             {   // Pin list
13326                                 0x004B
13327                             }
13328                     ), 
13329                     G33S,   1, 
13330                     Connection (
13331                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13332                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13333                             )
13334                             {   // Pin list
13335                                 0x004C
13336                             }
13337                     ), 
13338                     G33U,   1, 
13339                     Connection (
13340                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13341                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13342                             )
13343                             {   // Pin list
13344                                 0x004D
13345                             }
13346                     ), 
13347                     G33I,   1, 
13348                     Connection (
13349                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13350                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13351                             )
13352                             {   // Pin list
13353                                 0x004E
13354                             }
13355                     ), 
13356                     G18A,   1, 
13357                     Connection (
13358                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13359                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13360                             )
13361                             {   // Pin list
13362                                 0x004F
13363                             }
13364                     ), 
13365                     GEFQ,   1, 
13366                     Connection (
13367                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13368                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13369                             )
13370                             {   // Pin list
13371                                 0x0050
13372                             }
13373                     ), 
13374                     G12A,   1, 
13375                     Connection (
13376                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13377                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13378                             )
13379                             {   // Pin list
13380                                 0x0051
13381                             }
13382                     ), 
13383                     G18S,   1, 
13384                     Connection (
13385                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13386                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13387                             )
13388                             {   // Pin list
13389                                 0x0052
13390                             }
13391                     ), 
13392                     G18X,   1, 
13393                     Connection (
13394                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13395                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13396                             )
13397                             {   // Pin list
13398                                 0x0053
13399                             }
13400                     ), 
13401                     G18U,   1, 
13402                     Connection (
13403                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13404                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13405                             )
13406                             {   // Pin list
13407                                 0x0054
13408                             }
13409                     ), 
13410                     G12X,   1, 
13411                     Connection (
13412                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13413                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13414                             )
13415                             {   // Pin list
13416                                 0x0055
13417                             }
13418                     ), 
13419                     G12S,   1, 
13420                     Connection (
13421                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13422                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13423                             )
13424                             {   // Pin list
13425                                 0x0056
13426                             }
13427                     ), 
13428                     G10A,   1, 
13429                     Connection (
13430                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13431                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13432                             )
13433                             {   // Pin list
13434                                 0x0057
13435                             }
13436                     ), 
13437                     G10S,   1, 
13438                     Connection (
13439                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13440                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13441                             )
13442                             {   // Pin list
13443                                 0x0058
13444                             }
13445                     ), 
13446                     G10X,   1, 
13447                     Connection (
13448                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13449                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13450                             )
13451                             {   // Pin list
13452                                 0x0059
13453                             }
13454                     ), 
13455                     G105,   1, 
13456                     Connection (
13457                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13458                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13459                             )
13460                             {   // Pin list
13461                                 0x005E
13462                             }
13463                     ), 
13464                     FCOT,   1
13465                 }
13466 
13467                 Name (AVBL, Zero)
13468                 Name (AVBD, Zero)
13469                 Name (AVBG, Zero)
13470                 Method (_REG, 2, NotSerialized)  // _REG: Region Availability
13471                 {
13472                     If ((Arg0 == 0x08))
13473                     {
13474                         AVBG = Arg1
13475                     }
13476 
13477                     If ((Arg0 == 0x8D))
13478                     {
13479                         AVBL = Arg1
13480                     }
13481 
13482                     If ((Arg0 == 0x8C))
13483                     {
13484                         AVBD = Arg1
13485                     }
13486                 }
13487 
13488                 Name (LPAT, Package (0x30)
13489                 {
13490                     0x09E3, 
13491                     0x03D1, 
13492                     0x0A15, 
13493                     0x03C1, 
13494                     0x0A47, 
13495                     0x03AD, 
13496                     0x0A79, 
13497                     0x0395, 
13498                     0x0AAB, 
13499                     0x0377, 
13500                     0x0ADD, 
13501                     0x0355, 
13502                     0x0B0F, 
13503                     0x032D, 
13504                     0x0B41, 
13505                     0x0301, 
13506                     0x0B73, 
13507                     0x02D0, 
13508                     0x0BA5, 
13509                     0x029D, 
13510                     0x0BD7, 
13511                     0x0267, 
13512                     0x0C09, 
13513                     0x0231, 
13514                     0x0C3B, 
13515                     0x01FC, 
13516                     0x0C6D, 
13517                     0x01C8, 
13518                     0x0C9F, 
13519                     0x0197, 
13520                     0x0CD1, 
13521                     0x0165, 
13522                     0x0D03, 
13523                     0x013B, 
13524                     0x0D35, 
13525                     0x0115, 
13526                     0x0D67, 
13527                     0xF3, 
13528                     0x0D99, 
13529                     0xD4, 
13530                     0x0DCB, 
13531                     0xBA, 
13532                     0x0DFD, 
13533                     0xA2, 
13534                     0x0E2F, 
13535                     0x8C, 
13536                     0x0E93, 
13537                     0x6B
13538                 })
13539             }
13540         }
13541 
13542         Scope (I2C1)
13543         {
13544             Device (IMP3)
13545             {
13546                 Name (_ADR, Zero)  // _ADR: Address
13547                 Name (_HID, "IMPJ0003")  // _HID: Hardware ID
13548                 Name (_CID, "IMPJ0003")  // _CID: Compatible ID
13549                 Name (_UID, One)  // _UID: Unique ID
13550                 Method (_STA, 0, NotSerialized)  // _STA: Status
13551                 {
13552                     If ((PSSD == 0x02))
13553                     {
13554                         Return (0x0F)
13555                     }
13556 
13557                     Return (Zero)
13558                 }
13559 
13560                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
13561                 {
13562                     Name (SBUF, ResourceTemplate ()
13563                     {
13564                         I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000186A0,
13565                             AddressingMode7Bit, "\\_SB.I2C1",
13566                             0x00, ResourceConsumer, , Exclusive,
13567                             )
13568                     })
13569                     Return (SBUF) /* \_SB_.I2C1.IMP3._CRS.SBUF */
13570                 }
13571             }
13572         }
13573 
13574         PowerResource (P28X, 0x05, 0x0000)
13575         {
13576             Name (_DEP, Package (0x02)  // _DEP: Dependencies
13577             {
13578                 I2C5, 
13579                 ^I2C5.PMIC
13580             })
13581             Method (_STA, 0, NotSerialized)  // _STA: Status
13582             {
13583                 If ((^^I2C5.PMIC.AVBG == One))
13584                 {
13585                     ^^I2C5.PMIC.G28X = Zero
13586                     If ((^^I2C5.PMIC.AVBL == One))
13587                     {
13588                         Return (^^I2C5.PMIC.X285) /* \_SB_.I2C5.PMIC.X285 */
13589                     }
13590                 }
13591 
13592                 Return (Zero)
13593             }
13594 
13595             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13596             {
13597                 If ((^^I2C5.PMIC.AVBL == One))
13598                 {
13599                     ^^I2C5.PMIC.X285 = One
13600                     If ((^^I2C5.PMIC.AVBG == One))
13601                     {
13602                         ^^I2C5.PMIC.G28X = One
13603                         Sleep (0x1E)
13604                     }
13605                 }
13606             }
13607 
13608             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
13609             {
13610                 If ((^^I2C5.PMIC.AVBL == One))
13611                 {
13612                     ^^I2C5.PMIC.X285 = Zero
13613                     If ((^^I2C5.PMIC.AVBG == One))
13614                     {
13615                         ^^I2C5.PMIC.G28X = One
13616                         Sleep (0x1E)
13617                     }
13618                 }
13619             }
13620         }
13621 
13622         PowerResource (P18X, 0x05, 0x0000)
13623         {
13624             Name (_DEP, Package (0x02)  // _DEP: Dependencies
13625             {
13626                 I2C5, 
13627                 ^I2C5.PMIC
13628             })
13629             Method (_STA, 0, NotSerialized)  // _STA: Status
13630             {
13631                 If ((^^I2C5.PMIC.AVBG == One))
13632                 {
13633                     ^^I2C5.PMIC.G18X = Zero
13634                     If ((^^I2C5.PMIC.AVBL == One))
13635                     {
13636                         Return (^^I2C5.PMIC.V18X) /* \_SB_.I2C5.PMIC.V18X */
13637                     }
13638                 }
13639 
13640                 Return (Zero)
13641             }
13642 
13643             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13644             {
13645                 If ((^^I2C5.PMIC.AVBL == One))
13646                 {
13647                     ^^I2C5.PMIC.V18X = One
13648                     If ((^^I2C5.PMIC.AVBG == One))
13649                     {
13650                         ^^I2C5.PMIC.G18X = One
13651                         Sleep (0x1E)
13652                     }
13653                 }
13654             }
13655 
13656             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
13657             {
13658                 If ((^^I2C5.PMIC.AVBL == One))
13659                 {
13660                     ^^I2C5.PMIC.V18X = Zero
13661                     If ((^^I2C5.PMIC.AVBG == One))
13662                     {
13663                         ^^I2C5.PMIC.G18X = One
13664                         Sleep (0x1E)
13665                     }
13666                 }
13667             }
13668         }
13669 
13670         PowerResource (P28P, 0x05, 0x0000)
13671         {
13672             Name (_DEP, Package (0x02)  // _DEP: Dependencies
13673             {
13674                 I2C5, 
13675                 ^I2C5.PMI1
13676             })
13677             Method (_STA, 0, NotSerialized)  // _STA: Status
13678             {
13679                 If ((^^I2C5.PMI1.AVBG == One))
13680                 {
13681                     ^^I2C5.PMI1.G28X = Zero
13682                     If ((^^I2C5.PMI1.AVBL == One))
13683                     {
13684                         Return (^^I2C5.PMI1.ALD1) /* \_SB_.I2C5.PMI1.ALD1 */
13685                     }
13686                 }
13687 
13688                 Return (Zero)
13689             }
13690 
13691             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13692             {
13693                 If ((^^I2C5.PMI1.AVBL == One))
13694                 {
13695                     ^^I2C5.PMI1.ALD1 = One
13696                     If ((^^I2C5.PMI1.AVBG == One))
13697                     {
13698                         ^^I2C5.PMI1.G28X = One
13699                         Sleep (0x1E)
13700                     }
13701                 }
13702             }
13703 
13704             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
13705             {
13706                 If ((^^I2C5.PMI1.AVBL == One))
13707                 {
13708                     ^^I2C5.PMI1.ALD1 = Zero
13709                     If ((^^I2C5.PMI1.AVBG == One))
13710                     {
13711                         ^^I2C5.PMI1.G28X = One
13712                         Sleep (0x1E)
13713                     }
13714                 }
13715             }
13716         }
13717 
13718         PowerResource (P18P, 0x05, 0x0000)
13719         {
13720             Name (_DEP, Package (0x02)  // _DEP: Dependencies
13721             {
13722                 I2C5, 
13723                 ^I2C5.PMI1
13724             })
13725             Method (_STA, 0, NotSerialized)  // _STA: Status
13726             {
13727                 If ((^^I2C5.PMI1.AVBG == One))
13728                 {
13729                     ^^I2C5.PMI1.G18X = Zero
13730                     If ((^^I2C5.PMI1.AVBL == One))
13731                     {
13732                         Return (^^I2C5.PMI1.ELD2) /* \_SB_.I2C5.PMI1.ELD2 */
13733                     }
13734                 }
13735 
13736                 Return (Zero)
13737             }
13738 
13739             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13740             {
13741                 If ((^^I2C5.PMI1.AVBL == One))
13742                 {
13743                     ^^I2C5.PMI1.ELD2 = One
13744                     If ((^^I2C5.PMI1.AVBG == One))
13745                     {
13746                         ^^I2C5.PMI1.G18X = One
13747                         Sleep (0x1E)
13748                     }
13749                 }
13750             }
13751 
13752             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
13753             {
13754                 If ((^^I2C5.PMI1.AVBL == One))
13755                 {
13756                     ^^I2C5.PMI1.ELD2 = Zero
13757                     If ((^^I2C5.PMI1.AVBG == One))
13758                     {
13759                         ^^I2C5.PMI1.G18X = One
13760                         Sleep (0x1E)
13761                     }
13762                 }
13763             }
13764         }
13765 
13766         PowerResource (P28T, 0x05, 0x0000)
13767         {
13768             Name (_DEP, Package (0x02)  // _DEP: Dependencies
13769             {
13770                 I2C5, 
13771                 ^I2C5.PMI2
13772             })
13773             Method (_STA, 0, NotSerialized)  // _STA: Status
13774             {
13775                 If ((^^I2C5.PMI2.AVBG == One))
13776                 {
13777                     ^^I2C5.PMI2.G28X = Zero
13778                     If ((^^I2C5.PMI2.AVBL == One))
13779                     {
13780                         Return (^^I2C5.PMI2.LDO9) /* \_SB_.I2C5.PMI2.LDO9 */
13781                     }
13782                 }
13783 
13784                 Return (Zero)
13785             }
13786 
13787             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13788             {
13789                 If ((^^I2C5.PMI2.AVBL == One))
13790                 {
13791                     ^^I2C5.PMI2.LDO9 = One
13792                     If ((^^I2C5.PMI2.AVBG == One))
13793                     {
13794                         ^^I2C5.PMI2.G28X = One
13795                         Sleep (0x1E)
13796                     }
13797                 }
13798             }
13799 
13800             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
13801             {
13802                 If ((^^I2C5.PMI2.AVBL == One))
13803                 {
13804                     ^^I2C5.PMI2.LDO9 = Zero
13805                     If ((^^I2C5.PMI2.AVBG == One))
13806                     {
13807                         ^^I2C5.PMI2.G28X = One
13808                         Sleep (0x1E)
13809                     }
13810                 }
13811             }
13812         }
13813 
13814         PowerResource (P18T, 0x05, 0x0000)
13815         {
13816             Name (_DEP, Package (0x02)  // _DEP: Dependencies
13817             {
13818                 I2C5, 
13819                 ^I2C5.PMI2
13820             })
13821             Method (_STA, 0, NotSerialized)  // _STA: Status
13822             {
13823                 If ((^^I2C5.PMI2.AVBG == One))
13824                 {
13825                     ^^I2C5.PMI2.G18X = Zero
13826                     If ((^^I2C5.PMI2.AVBL == One))
13827                     {
13828                         Return (^^I2C5.PMI2.LD10) /* \_SB_.I2C5.PMI2.LD10 */
13829                     }
13830                 }
13831 
13832                 Return (Zero)
13833             }
13834 
13835             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13836             {
13837                 If ((^^I2C5.PMI2.AVBL == One))
13838                 {
13839                     ^^I2C5.PMI2.LD10 = One
13840                     If ((^^I2C5.PMI2.AVBG == One))
13841                     {
13842                         ^^I2C5.PMI2.G18X = One
13843                         Sleep (0x1E)
13844                     }
13845                 }
13846             }
13847 
13848             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
13849             {
13850                 If ((^^I2C5.PMI2.AVBL == One))
13851                 {
13852                     ^^I2C5.PMI2.LD10 = Zero
13853                     If ((^^I2C5.PMI2.AVBG == One))
13854                     {
13855                         ^^I2C5.PMI2.G18X = One
13856                         Sleep (0x1E)
13857                     }
13858                 }
13859             }
13860         }
13861 
13862         PowerResource (P1XT, 0x05, 0x0000)
13863         {
13864             Name (_DEP, Package (0x02)  // _DEP: Dependencies
13865             {
13866                 I2C5, 
13867                 ^I2C5.PMI2
13868             })
13869             Method (_STA, 0, NotSerialized)  // _STA: Status
13870             {
13871                 If ((^^I2C5.PMI2.AVBG == One))
13872                 {
13873                     ^^I2C5.PMI2.G18U = Zero
13874                     If ((^^I2C5.PMI2.AVBL == One))
13875                     {
13876                         Return (^^I2C5.PMI2.LD11) /* \_SB_.I2C5.PMI2.LD11 */
13877                     }
13878                 }
13879 
13880                 Return (Zero)
13881             }
13882 
13883             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13884             {
13885                 If ((^^I2C5.PMI2.AVBL == One))
13886                 {
13887                     ^^I2C5.PMI2.LD11 = One
13888                     If ((^^I2C5.PMI2.AVBG == One))
13889                     {
13890                         ^^I2C5.PMI2.G18U = One
13891                         Sleep (0x1E)
13892                     }
13893                 }
13894             }
13895 
13896             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
13897             {
13898                 If ((^^I2C5.PMI2.AVBL == One))
13899                 {
13900                     ^^I2C5.PMI2.LD11 = Zero
13901                     If ((^^I2C5.PMI2.AVBG == One))
13902                     {
13903                         ^^I2C5.PMI2.G18U = One
13904                         Sleep (0x1E)
13905                     }
13906                 }
13907             }
13908         }
13909 
13910         Device (TBAD)
13911         {
13912             Name (_HID, "INTCFD9" /* Intel Baytrail SOC GPIO Controller */)  // _HID: Hardware ID
13913             Name (_CID, "PNP0C40" /* Standard Button Controller */)  // _CID: Compatible ID
13914             Name (_DDN, "Keyboard less system - 5 Button Array Device")  // _DDN: DOS Device Name
13915             Name (_DEP, Package (0x03)  // _DEP: Dependencies
13916             {
13917                 GPO0, 
13918                 GPO2, 
13919                 I2C5
13920             })
13921             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
13922             {
13923                 Name (RBUF, ResourceTemplate ()
13924                 {
13925                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
13926                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
13927                         )
13928                         {   // Pin list
13929                             0x0010
13930                         }
13931                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
13932                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
13933                         )
13934                         {   // Pin list
13935                             0x0015
13936                         }
13937                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
13938                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
13939                         )
13940                         {   // Pin list
13941                             0x0001
13942                         }
13943                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
13944                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
13945                         )
13946                         {   // Pin list
13947                             0x0000
13948                         }
13949                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
13950                         "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13951                         )
13952                         {   // Pin list
13953                             0x0007
13954                         }
13955                 })
13956                 Name (ABUF, ResourceTemplate ()
13957                 {
13958                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
13959                         "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
13960                         )
13961                         {   // Pin list
13962                             0x0016
13963                         }
13964                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
13965                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
13966                         )
13967                         {   // Pin list
13968                             0x001C
13969                         }
13970                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
13971                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
13972                         )
13973                         {   // Pin list
13974                             0x0001
13975                         }
13976                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
13977                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
13978                         )
13979                         {   // Pin list
13980                             0x0000
13981                         }
13982                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
13983                         "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
13984                         )
13985                         {   // Pin list
13986                             0x005F
13987                         }
13988                 })
13989                 Name (BBUF, ResourceTemplate ()
13990                 {
13991                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
13992                         "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13993                         )
13994                         {   // Pin list
13995                             0x0016
13996                         }
13997                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
13998                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
13999                         )
14000                         {   // Pin list
14001                             0x0015
14002                         }
14003                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14004                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14005                         )
14006                         {   // Pin list
14007                             0x0001
14008                         }
14009                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14010                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14011                         )
14012                         {   // Pin list
14013                             0x0000
14014                         }
14015                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14016                         "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
14017                         )
14018                         {   // Pin list
14019                             0x005F
14020                         }
14021                 })
14022                 If ((PMID == 0x05))
14023                 {
14024                     Return (ABUF) /* \_SB_.TBAD._CRS.ABUF */
14025                 }
14026 
14027                 If ((PMID == 0x06))
14028                 {
14029                     Return (BBUF) /* \_SB_.TBAD._CRS.BBUF */
14030                 }
14031 
14032                 Return (RBUF) /* \_SB_.TBAD._CRS.RBUF */
14033             }
14034 
14035             Method (_STA, 0, NotSerialized)  // _STA: Status
14036             {
14037                 Return (0x0F)
14038             }
14039 
14040             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
14041             {
14042                 If ((Arg0 == ToUUID ("dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c") /* Power Button Device */))
14043                 {
14044                     Switch (ToInteger (Arg2))
14045                     {
14046                         Case (Zero)
14047                         {
14048                             Return (Buffer (One)
14049                             {
14050                                  0x03                                             // .
14051                             })
14052                         }
14053                         Case (One)
14054                         {
14055                             Return (0x07)
14056                         }
14057 
14058                     }
14059                 }
14060                 Else
14061                 {
14062                     Return (Buffer (One)
14063                     {
14064                          0x00                                             // .
14065                     })
14066                 }
14067 
14068                 Return (Zero)
14069             }
14070         }
14071 
14072         Device (MBID)
14073         {
14074             Name (_HID, "INT33BD" /* Intel Baytrail Mailbox Device */)  // _HID: Hardware ID
14075             Name (_CID, "INT33BD" /* Intel Baytrail Mailbox Device */)  // _CID: Compatible ID
14076             Name (_HRV, 0x02)  // _HRV: Hardware Revision
14077             Name (_UID, One)  // _UID: Unique ID
14078             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
14079             {
14080                 Name (RBUF, ResourceTemplate ()
14081                 {
14082                     Memory32Fixed (ReadWrite,
14083                         0xE00000D0,         // Address Base
14084                         0x0000000C,         // Address Length
14085                         )
14086                 })
14087                 Return (RBUF) /* \_SB_.MBID._CRS.RBUF */
14088             }
14089 
14090             OperationRegion (REGS, 0x87, Zero, 0x30)
14091             Field (REGS, DWordAcc, NoLock, Preserve)
14092             {
14093                 PORT,   32, 
14094                 REG,    32, 
14095                 DATA,   32, 
14096                 MASK,   32, 
14097                 BE,     32, 
14098                 OP,     32
14099             }
14100 
14101             Name (AVBL, Zero)
14102             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
14103             {
14104                 If ((Arg0 == 0x87))
14105                 {
14106                     AVBL = Arg1
14107                 }
14108             }
14109 
14110             Method (READ, 3, Serialized)
14111             {
14112                 Local0 = 0xFFFFFFFF
14113                 If ((AVBL == One))
14114                 {
14115                     OP = Zero
14116                     PORT = Arg0
14117                     REG = Arg1
14118                     BE = Arg2
14119                     Local0 = DATA /* \_SB_.MBID.DATA */
14120                 }
14121 
14122                 Return (Local0)
14123             }
14124 
14125             Method (WRIT, 4, Serialized)
14126             {
14127                 If ((AVBL == One))
14128                 {
14129                     OP = One
14130                     PORT = Arg0
14131                     REG = Arg1
14132                     BE = Arg2
14133                     DATA = Arg3
14134                 }
14135             }
14136 
14137             Method (MODI, 5, Serialized)
14138             {
14139                 If ((AVBL == One))
14140                 {
14141                     OP = 0x02
14142                     PORT = Arg0
14143                     REG = Arg1
14144                     BE = Arg2
14145                     DATA = Arg3
14146                     MASK = Arg4
14147                 }
14148             }
14149         }
14150 
14151         Device (PAGD)
14152         {
14153             Name (_HID, "ACPI000C" /* Processor Aggregator Device */)  // _HID: Hardware ID
14154             Name (_CID, "ACPI000C" /* Processor Aggregator Device */)  // _CID: Compatible ID
14155             Name (IDCN, Zero)
14156             Name (PURP, Package (0x02)
14157             {
14158                 One, 
14159                 Zero
14160             })
14161             Method (_PUR, 0, Serialized)  // _PUR: Processor Utilization Request
14162             {
14163                 PURP [One] = IDCN /* \_SB_.PAGD.IDCN */
14164                 Return (PURP) /* \_SB_.PAGD.PURP */
14165             }
14166 
14167             Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
14168             {
14169                 Debug = "_OST is invoked"
14170             }
14171         }
14172     }
14173 
14174     Name (PICM, Zero)
14175     Scope (_SB.I2C1)
14176     {
14177         Name (AVBL, Zero)
14178         Method (_REG, 2, NotSerialized)  // _REG: Region Availability
14179         {
14180             If ((Arg0 == 0x09))
14181             {
14182                 AVBL = Arg1
14183             }
14184         }
14185 
14186         Device (SMUX)
14187         {
14188             Name (_HID, "SMSC3750" /* SMSC 3750 USB MUX */)  // _HID: Hardware ID
14189             Name (_CID, "SMSC3750" /* SMSC 3750 USB MUX */)  // _CID: Compatible ID
14190             Name (_DDN, "SMSC 3750 USB MUX")  // _DDN: DOS Device Name
14191             Method (_STA, 0, NotSerialized)  // _STA: Status
14192             {
14193                 If ((OSSL & 0x80))
14194                 {
14195                     Return (0x0F)
14196                 }
14197 
14198                 Return (Zero)
14199             }
14200 
14201             Name (RBUF, ResourceTemplate ()
14202             {
14203                 I2cSerialBusV2 (0x0068, ControllerInitiated, 0x00061A80,
14204                     AddressingMode7Bit, "\\_SB.I2C1",
14205                     0x00, ResourceConsumer, , Exclusive,
14206                     )
14207                 GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
14208                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14209                     )
14210                     {   // Pin list
14211                         0x0001
14212                     }
14213             })
14214             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14215             {
14216                 Return (RBUF) /* \_SB_.I2C1.SMUX.RBUF */
14217             }
14218         }
14219 
14220         Name (MUXW, ResourceTemplate ()
14221         {
14222             I2cSerialBusV2 (0x0068, ControllerInitiated, 0x00061A80,
14223                 AddressingMode7Bit, "\\_SB.I2C1",
14224                 0x00, ResourceConsumer, , Exclusive,
14225                 )
14226         })
14227         OperationRegion (MUXO, GenericSerialBus, Zero, 0x10)
14228         Field (MUXO, BufferAcc, NoLock, Preserve)
14229         {
14230             Connection (MUXW), 
14231             AccessAs (BufferAcc, AttribByte), 
14232             MSTA,   8
14233         }
14234 
14235         Field (MUXO, BufferAcc, NoLock, Preserve)
14236         {
14237             Connection (MUXW), 
14238             Offset (0x01), 
14239             AccessAs (BufferAcc, AttribByte), 
14240             MCON,   8
14241         }
14242 
14243         Field (MUXO, BufferAcc, NoLock, Preserve)
14244         {
14245             Connection (MUXW), 
14246             Offset (0x02), 
14247             AccessAs (BufferAcc, AttribByte), 
14248             MCHG,   8
14249         }
14250 
14251         Field (MUXO, BufferAcc, NoLock, Preserve)
14252         {
14253             Connection (MUXW), 
14254             Offset (0x03), 
14255             AccessAs (BufferAcc, AttribByte), 
14256             MCST,   8
14257         }
14258 
14259         Device (GPOE)
14260         {
14261             Name (_HID, "INBC0000" /* GPIO Expander */)  // _HID: Hardware ID
14262             Name (_CID, "INBC0000" /* GPIO Expander */)  // _CID: Compatible ID
14263             Name (_DDN, "GPIO Expander")  // _DDN: DOS Device Name
14264             Method (_STA, 0, NotSerialized)  // _STA: Status
14265             {
14266                 If ((OSSL & 0x80))
14267                 {
14268                     Return (0x0F)
14269                 }
14270 
14271                 Return (Zero)
14272             }
14273 
14274             Name (RBUF, ResourceTemplate ()
14275             {
14276                 I2cSerialBusV2 (0x0023, ControllerInitiated, 0x00061A80,
14277                     AddressingMode7Bit, "\\_SB.I2C1",
14278                     0x00, ResourceConsumer, , Exclusive,
14279                     )
14280             })
14281             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14282             {
14283                 Return (RBUF) /* \_SB_.I2C1.GPOE.RBUF */
14284             }
14285         }
14286 
14287         Name (IOEX, ResourceTemplate ()
14288         {
14289             I2cSerialBusV2 (0x0023, ControllerInitiated, 0x00061A80,
14290                 AddressingMode7Bit, "\\_SB.I2C1",
14291                 0x00, ResourceConsumer, , Exclusive,
14292                 )
14293         })
14294         OperationRegion (IOXO, GenericSerialBus, Zero, 0x20)
14295         Field (IOXO, BufferAcc, NoLock, Preserve)
14296         {
14297             Connection (IOEX), 
14298             Offset (0x01), 
14299             AccessAs (BufferAcc, AttribByte), 
14300             INR1,   8
14301         }
14302 
14303         Field (IOXO, BufferAcc, NoLock, Preserve)
14304         {
14305             Connection (IOEX), 
14306             Offset (0x05), 
14307             AccessAs (BufferAcc, AttribByte), 
14308             OUTR,   8
14309         }
14310 
14311         Field (IOXO, BufferAcc, NoLock, Preserve)
14312         {
14313             Connection (IOEX), 
14314             Offset (0x0D), 
14315             AccessAs (BufferAcc, AttribByte), 
14316             CONR,   8
14317         }
14318     }
14319 
14320     Scope (_TZ)
14321     {
14322         ThermalZone (TZ00)
14323         {
14324             Name (_DEP, Package (0x02)  // _DEP: Dependencies
14325             {
14326                 \_SB.I2C5, 
14327                 \_SB.I2C5.PMIC
14328             })
14329             Method (_TMP, 0, Serialized)  // _TMP: Temperature
14330             {
14331                 If ((\_SB.I2C5.PMIC.AVBG == One))
14332                 {
14333                     \_SB.I2C5.PMIC.GMP2 = Zero
14334                     If ((\_SB.I2C5.PMIC.AVBD == One))
14335                     {
14336                         Return (\_SB.I2C5.PMIC.TMP2)
14337                     }
14338                 }
14339 
14340                 Return (0x0AAC)
14341             }
14342         }
14343     }
14344 
14345     Scope (_SB.PCI0)
14346     {
14347         Device (PDRC)
14348         {
14349             Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
14350             Name (_UID, One)  // _UID: Unique ID
14351             Name (BUF0, ResourceTemplate ()
14352             {
14353                 Memory32Fixed (ReadWrite,
14354                     0xE0000000,         // Address Base
14355                     0x10000000,         // Address Length
14356                     )
14357                 Memory32Fixed (ReadWrite,
14358                     0xFED01000,         // Address Base
14359                     0x00001000,         // Address Length
14360                     )
14361                 Memory32Fixed (ReadWrite,
14362                     0xFED03000,         // Address Base
14363                     0x00001000,         // Address Length
14364                     )
14365                 Memory32Fixed (ReadWrite,
14366                     0xFED04000,         // Address Base
14367                     0x00001000,         // Address Length
14368                     )
14369                 Memory32Fixed (ReadWrite,
14370                     0xFED0C000,         // Address Base
14371                     0x00004000,         // Address Length
14372                     )
14373                 Memory32Fixed (ReadWrite,
14374                     0xFED08000,         // Address Base
14375                     0x00001000,         // Address Length
14376                     )
14377                 Memory32Fixed (ReadWrite,
14378                     0xFED1C000,         // Address Base
14379                     0x00001000,         // Address Length
14380                     )
14381                 Memory32Fixed (ReadOnly,
14382                     0xFEE00000,         // Address Base
14383                     0x00100000,         // Address Length
14384                     )
14385                 Memory32Fixed (ReadWrite,
14386                     0xFEF00000,         // Address Base
14387                     0x00100000,         // Address Length
14388                     )
14389             })
14390         }
14391     }
14392 
14393     Method (BRTN, 1, Serialized)
14394     {
14395         If (((DID1 & 0x0F00) == 0x0400))
14396         {
14397             Notify (\_SB.PCI0.GFX0.DD01, Arg0)
14398         }
14399 
14400         If (((DID2 & 0x0F00) == 0x0400))
14401         {
14402             Notify (\_SB.PCI0.GFX0.DD02, Arg0)
14403         }
14404 
14405         If (((DID3 & 0x0F00) == 0x0400))
14406         {
14407             Notify (\_SB.PCI0.GFX0.DD03, Arg0)
14408         }
14409 
14410         If (((DID4 & 0x0F00) == 0x0400))
14411         {
14412             Notify (\_SB.PCI0.GFX0.DD04, Arg0)
14413         }
14414 
14415         If (((DID5 & 0x0F00) == 0x0400))
14416         {
14417             Notify (\_SB.PCI0.GFX0.DD05, Arg0)
14418         }
14419 
14420         If (CondRefOf (NDN3))
14421         {
14422             NDN3 (Arg0)
14423         }
14424     }
14425 
14426     Scope (_SB.I2C1)
14427     {
14428         Device (SMFG)
14429         {
14430             Name (_HID, "MAX17047" /* Fuel Gauge Controller */)  // _HID: Hardware ID
14431             Name (_CID, "MAX17047" /* Fuel Gauge Controller */)  // _CID: Compatible ID
14432             Name (_DDN, "Fuel Gauge Controller")  // _DDN: DOS Device Name
14433             Name (RBUF, ResourceTemplate ()
14434             {
14435                 I2cSerialBusV2 (0x0036, ControllerInitiated, 0x000186A0,
14436                     AddressingMode7Bit, "\\_SB.I2C1",
14437                     0x00, ResourceConsumer, , Exclusive,
14438                     )
14439                 GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0000,
14440                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14441                     )
14442                     {   // Pin list
14443                         0x0012
14444                     }
14445             })
14446             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14447             {
14448                 Return (RBUF) /* \_SB_.I2C1.SMFG.RBUF */
14449             }
14450 
14451             Method (_STA, 0, NotSerialized)  // _STA: Status
14452             {
14453                 If (((BDID == 0x06) && (OSSL & 0x80)))
14454                 {
14455                     Return (0x0F)
14456                 }
14457 
14458                 Return (Zero)
14459             }
14460         }
14461 
14462         Device (SMCG)
14463         {
14464             Name (_HID, "SMB0349" /* Charger */)  // _HID: Hardware ID
14465             Name (_CID, "SMB0349" /* Charger */)  // _CID: Compatible ID
14466             Name (_DDN, "Charger")  // _DDN: DOS Device Name
14467             Name (RBUF, ResourceTemplate ()
14468             {
14469                 I2cSerialBusV2 (0x0035, ControllerInitiated, 0x000186A0,
14470                     AddressingMode7Bit, "\\_SB.I2C1",
14471                     0x00, ResourceConsumer, , Exclusive,
14472                     )
14473                 GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0000,
14474                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14475                     )
14476                     {   // Pin list
14477                         0x0002
14478                     }
14479             })
14480             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14481             {
14482                 Return (RBUF) /* \_SB_.I2C1.SMCG.RBUF */
14483             }
14484 
14485             Method (_STA, 0, NotSerialized)  // _STA: Status
14486             {
14487                 If (((BDID == 0x06) && (OSSL & 0x80)))
14488                 {
14489                     Return (0x0F)
14490                 }
14491 
14492                 Return (Zero)
14493             }
14494         }
14495 
14496         Device (TBCG)
14497         {
14498             Name (_HID, "TBQ24296" /* Charger */)  // _HID: Hardware ID
14499             Name (_CID, "TBQ24296" /* Charger */)  // _CID: Compatible ID
14500             Name (_DDN, "Charger")  // _DDN: DOS Device Name
14501             Name (RBUF, ResourceTemplate ()
14502             {
14503                 I2cSerialBusV2 (0x006B, ControllerInitiated, 0x00061A80,
14504                     AddressingMode7Bit, "\\_SB.I2C1",
14505                     0x00, ResourceConsumer, , Exclusive,
14506                     )
14507                 GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0000,
14508                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14509                     )
14510                     {   // Pin list
14511                         0x0002
14512                     }
14513             })
14514             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14515             {
14516                 Return (RBUF) /* \_SB_.I2C1.TBCG.RBUF */
14517             }
14518 
14519             Method (_STA, 0, NotSerialized)  // _STA: Status
14520             {
14521                 If (((BDID == 0x06) && (OSSL & 0x80)))
14522                 {
14523                     Return (0x0F)
14524                 }
14525 
14526                 Return (Zero)
14527             }
14528         }
14529     }
14530 
14531     Scope (_SB.I2C1)
14532     {
14533         Name (MXFG, ResourceTemplate ()
14534         {
14535             I2cSerialBusV2 (0x0036, ControllerInitiated, 0x00061A80,
14536                 AddressingMode7Bit, "\\_SB.I2C1",
14537                 0x00, ResourceConsumer, , Exclusive,
14538                 )
14539         })
14540         OperationRegion (DVFG, GenericSerialBus, Zero, 0x0100)
14541         Field (DVFG, BufferAcc, NoLock, Preserve)
14542         {
14543             Connection (MXFG), 
14544             Offset (0x05), 
14545             AccessAs (BufferAcc, AttribBytes (0x02)), 
14546             FG05,   8
14547         }
14548 
14549         Field (DVFG, BufferAcc, NoLock, Preserve)
14550         {
14551             Connection (MXFG), 
14552             Offset (0x10), 
14553             AccessAs (BufferAcc, AttribBytes (0x02)), 
14554             FG10,   8
14555         }
14556 
14557         Field (DVFG, BufferAcc, NoLock, Preserve)
14558         {
14559             Connection (MXFG), 
14560             Offset (0x17), 
14561             AccessAs (BufferAcc, AttribBytes (0x02)), 
14562             FG17,   8
14563         }
14564 
14565         Field (DVFG, BufferAcc, NoLock, Preserve)
14566         {
14567             Connection (MXFG), 
14568             Offset (0x18), 
14569             AccessAs (BufferAcc, AttribBytes (0x02)), 
14570             FG18,   8
14571         }
14572 
14573         Field (DVFG, BufferAcc, NoLock, Preserve)
14574         {
14575             Connection (MXFG), 
14576             Offset (0x09), 
14577             AccessAs (BufferAcc, AttribBytes (0x02)), 
14578             FG09,   8
14579         }
14580 
14581         Field (DVFG, BufferAcc, NoLock, Preserve)
14582         {
14583             Connection (MXFG), 
14584             Offset (0x0A), 
14585             AccessAs (BufferAcc, AttribBytes (0x02)), 
14586             FG0A,   8
14587         }
14588 
14589         Field (DVFG, BufferAcc, NoLock, Preserve)
14590         {
14591             Connection (MXFG), 
14592             Offset (0x11), 
14593             AccessAs (BufferAcc, AttribBytes (0x02)), 
14594             FG11,   8
14595         }
14596 
14597         Field (DVFG, BufferAcc, NoLock, Preserve)
14598         {
14599             Connection (MXFG), 
14600             AccessAs (BufferAcc, AttribBytes (0x02)), 
14601             FG00,   8
14602         }
14603 
14604         Field (DVFG, BufferAcc, NoLock, Preserve)
14605         {
14606             Connection (MXFG), 
14607             Offset (0x03), 
14608             AccessAs (BufferAcc, AttribBytes (0x02)), 
14609             FG03,   8
14610         }
14611 
14612         Field (DVFG, BufferAcc, NoLock, Preserve)
14613         {
14614             Connection (MXFG), 
14615             Offset (0x1D), 
14616             AccessAs (BufferAcc, AttribBytes (0x02)), 
14617             FG1D,   8
14618         }
14619 
14620         Field (DVFG, BufferAcc, NoLock, Preserve)
14621         {
14622             Connection (MXFG), 
14623             Offset (0x2B), 
14624             AccessAs (BufferAcc, AttribBytes (0x02)), 
14625             FG2B,   8
14626         }
14627 
14628         Field (DVFG, BufferAcc, NoLock, Preserve)
14629         {
14630             Connection (MXFG), 
14631             Offset (0x08), 
14632             AccessAs (BufferAcc, AttribBytes (0x02)), 
14633             THRM,   8
14634         }
14635 
14636         Field (DVFG, BufferAcc, NoLock, Preserve)
14637         {
14638             Connection (MXFG), 
14639             Offset (0x06), 
14640             AccessAs (BufferAcc, AttribBytes (0x02)), 
14641             SOCR,   8
14642         }
14643 
14644         Field (DVFG, BufferAcc, NoLock, Preserve)
14645         {
14646             Connection (MXFG), 
14647             Offset (0x1C), 
14648             AccessAs (BufferAcc, AttribBytes (0x02)), 
14649             MXCU,   8
14650         }
14651 
14652         Name (SMBC, ResourceTemplate ()
14653         {
14654             I2cSerialBusV2 (0x0035, ControllerInitiated, 0x00061A80,
14655                 AddressingMode7Bit, "\\_SB.I2C1",
14656                 0x00, ResourceConsumer, , Exclusive,
14657                 )
14658         })
14659         OperationRegion (DVBC, GenericSerialBus, Zero, 0x0100)
14660         Field (DVBC, BufferAcc, NoLock, Preserve)
14661         {
14662             Connection (SMBC), 
14663             AccessAs (BufferAcc, AttribByte), 
14664             BC00,   8, 
14665             BC01,   8, 
14666             BC02,   8, 
14667             BC03,   8, 
14668             BC04,   8, 
14669             BC05,   8, 
14670             BC06,   8, 
14671             BC07,   8, 
14672             BC08,   8, 
14673             BC09,   8, 
14674             BC0A,   8, 
14675             BC0B,   8, 
14676             BC0C,   8, 
14677             BC0D,   8, 
14678             BC0E,   8, 
14679             BC0F,   8, 
14680             BC10,   8
14681         }
14682 
14683         Field (DVBC, BufferAcc, NoLock, Preserve)
14684         {
14685             Connection (SMBC), 
14686             Offset (0x3D), 
14687             AccessAs (BufferAcc, AttribByte), 
14688             BC3D,   8
14689         }
14690 
14691         Field (DVBC, BufferAcc, NoLock, Preserve)
14692         {
14693             Connection (SMBC), 
14694             Offset (0x30), 
14695             AccessAs (BufferAcc, AttribByte), 
14696             BC30,   8
14697         }
14698 
14699         Field (DVBC, BufferAcc, NoLock, Preserve)
14700         {
14701             Connection (SMBC), 
14702             Offset (0x3E), 
14703             AccessAs (BufferAcc, AttribByte), 
14704             BC3E,   8
14705         }
14706 
14707         Field (DVBC, BufferAcc, NoLock, Preserve)
14708         {
14709             Connection (SMBC), 
14710             Offset (0x35), 
14711             AccessAs (BufferAcc, AttribBytes (0x06)), 
14712             BC35,   8
14713         }
14714 
14715         Name (BQBC, ResourceTemplate ()
14716         {
14717             I2cSerialBusV2 (0x006B, ControllerInitiated, 0x00061A80,
14718                 AddressingMode7Bit, "\\_SB.I2C1",
14719                 0x00, ResourceConsumer, , Exclusive,
14720                 )
14721         })
14722         OperationRegion (DVBQ, GenericSerialBus, Zero, 0x20)
14723         Field (DVBQ, BufferAcc, NoLock, Preserve)
14724         {
14725             Connection (BQBC), 
14726             AccessAs (BufferAcc, AttribByte), 
14727             BQ00,   8, 
14728             BQ01,   8, 
14729             BQ02,   8, 
14730             BQ03,   8, 
14731             BQ04,   8, 
14732             BQ05,   8, 
14733             BQ06,   8, 
14734             BQ07,   8, 
14735             BQ08,   8, 
14736             BQ09,   8, 
14737             BQ0A,   8
14738         }
14739 
14740         Device (BATC)
14741         {
14742             Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
14743             Name (_UID, One)  // _UID: Unique ID
14744             Name (FGDV, 0x0A)
14745             Name (BCCC, 0x60)
14746             Name (BCCE, One)
14747             Name (BCCL, 0xFFFFFFFF)
14748             Name (BCLP, 0x1004)
14749             Name (DSCP, 0x132A)
14750             Name (DSVO, 0x0ED8)
14751             Name (RECT, 0x1004)
14752             Name (BTPC, Zero)
14753             Name (AVCU, Zero)
14754             Name (ACMD, 0xFF)
14755             Name (_DEP, Package (0x03)  // _DEP: Dependencies
14756             {
14757                 I2C1, 
14758                 GPO2, 
14759                 GPO0
14760             })
14761             Name (BUFF, Buffer (0x03)
14762             {
14763                  0x00, 0x01, 0x00                                 // ...
14764             })
14765             CreateByteField (BUFF, Zero, BYAT)
14766             CreateByteField (BUFF, 0x02, DATA)
14767             Name (BUF1, Buffer (0x06)
14768             {
14769                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00               // ......
14770             })
14771             CreateByteField (BUF1, Zero, BSTA)
14772             CreateByteField (BUF1, One, BLEN)
14773             CreateDWordField (BUF1, 0x02, DAT1)
14774             Name (BUF2, Buffer (0x04)
14775             {
14776                  0x00, 0x00, 0x00, 0x00                           // ....
14777             })
14778             CreateByteField (BUF2, Zero, BSTS)
14779             CreateByteField (BUF2, One, SLEN)
14780             CreateWordField (BUF2, 0x02, WRD1)
14781             Name (INBU, Buffer (0x08)
14782             {
14783                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
14784             })
14785             CreateByteField (INBU, Zero, INST)
14786             CreateByteField (INBU, One, INLN)
14787             CreateByteField (INBU, 0x02, INT0)
14788             CreateByteField (INBU, 0x03, INT1)
14789             CreateByteField (INBU, 0x04, INT2)
14790             CreateByteField (INBU, 0x05, INT3)
14791             CreateByteField (INBU, 0x06, INT4)
14792             CreateByteField (INBU, 0x07, INT5)
14793             Method (CLIM, 0, NotSerialized)
14794             {
14795                 BUFF = MSTA /* \_SB_.I2C1.MSTA */
14796                 Local1 = 0x02
14797                 Sleep (0x64)
14798                 ADBG ("CLIM")
14799                 ADBG (DATA)
14800                 If ((DATA & 0x10))
14801                 {
14802                     If ((DATA & 0xE0))
14803                     {
14804                         Local0 = (DATA & 0xE0)
14805                         If (((Local0 == 0xA0) || (Local0 == 0x60)))
14806                         {
14807                             ADBG ("CLIM----1")
14808                             Local1 = 0x02
14809                         }
14810 
14811                         If (((Local0 == 0x40) || (Local0 == 0x20)))
14812                         {
14813                             ADBG ("CLIM----2")
14814                             Local1 = 0x07
14815                         }
14816 
14817                         If ((Local0 == 0x80))
14818                         {
14819                             ADBG ("CLIM----3")
14820                             Local1 = Zero
14821                         }
14822                     }
14823                 }
14824 
14825                 Return (Local1)
14826             }
14827 
14828             Name (BIXP, Package (0x14)
14829             {
14830                 Zero, 
14831                 One, 
14832                 0xFFFFFFFF, 
14833                 0xFFFFFFFF, 
14834                 One, 
14835                 0xFFFFFFFF, 
14836                 0x0A, 
14837                 0x04, 
14838                 Zero, 
14839                 0x00017318, 
14840                 0xFFFFFFFF, 
14841                 0xFFFFFFFF, 
14842                 0x88B8, 
14843                 0x61A8, 
14844                 One, 
14845                 One, 
14846                 "SR Real Battery", 
14847                 "123456789", 
14848                 "LION", 
14849                 "Intel SR 1"
14850             })
14851             Name (BSTP, Package (0x04)
14852             {
14853                 Zero, 
14854                 0xFFFFFFFF, 
14855                 0xFFFFFFFF, 
14856                 0xFFFFFFFF
14857             })
14858             Method (_BIX, 0, NotSerialized)  // _BIX: Battery Information Extended
14859             {
14860                 ADBG ("BIX")
14861                 If ((AVBL == One))
14862                 {
14863                     BUF2 = FG10 /* \_SB_.I2C1.FG10 */
14864                     If ((BSTS != One))
14865                     {
14866                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
14867                         Local2 = (Local1 * 0x05)
14868                         Divide (Local2, FGDV, Local0, Local1)
14869                         BIXP [0x03] = Local1
14870                     }
14871 
14872                     BUF2 = FG17 /* \_SB_.I2C1.FG17 */
14873                     If ((BSTS != One))
14874                     {
14875                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
14876                         Divide (Local1, 0x64, Local0, Local2)
14877                         BIXP [0x08] = Local2
14878                     }
14879                 }
14880 
14881                 BIXP [0x02] = DSCP /* \_SB_.I2C1.BATC.DSCP */
14882                 BIXP [0x05] = DSVO /* \_SB_.I2C1.BATC.DSVO */
14883                 Divide (DSCP, 0x0A, Local0, Local1)
14884                 BIXP [0x06] = Local1
14885                 Divide (DSCP, 0x14, Local0, Local1)
14886                 BIXP [0x07] = Local1
14887                 If ((ACMD == 0xFF))
14888                 {
14889                     BUFF = INR1 /* \_SB_.I2C1.INR1 */
14890                     If (((DATA & 0x20) == 0x20))
14891                     {
14892                         ACMD = One
14893                         ADBG ("AC Mode")
14894                     }
14895                     Else
14896                     {
14897                         ACMD = Zero
14898                         ADBG ("Non-AC Mode")
14899                     }
14900                 }
14901 
14902                 Return (BIXP) /* \_SB_.I2C1.BATC.BIXP */
14903             }
14904 
14905             Method (_BST, 0, NotSerialized)  // _BST: Battery Status
14906             {
14907                 If ((AVBL == One))
14908                 {
14909                     ADBG ("BST")
14910                     BUFF = BQ09 /* \_SB_.I2C1.BQ09 */
14911                     Local0 = (DATA & 0x80)
14912                     If ((Local0 == 0x80))
14913                     {
14914                         BUFF = BQ05 /* \_SB_.I2C1.BQ05 */
14915                         Local0 = (DATA & 0xCF)
14916                         DATA = Local0
14917                         BQ05 = BUFF /* \_SB_.I2C1.BATC.BUFF */
14918                     }
14919 
14920                     BUF2 = FG00 /* \_SB_.I2C1.FG00 */
14921                     If ((BSTS != One))
14922                     {
14923                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
14924                     }
14925 
14926                     ADBG (Local1)
14927                     If ((Local1 != Zero))
14928                     {
14929                         Local0 = (WRD1 & 0x02)
14930                         WRD1 = Local0
14931                         FG00 = BUF2 /* \_SB_.I2C1.BATC.BUF2 */
14932                     }
14933 
14934                     BUFF = BQ00 /* \_SB_.I2C1.BQ00 */
14935                     Local0 = (DATA & 0x80)
14936                     If ((Local0 == 0x80))
14937                     {
14938                         Local0 = (DATA & 0x7F)
14939                         DATA = Local0
14940                         BQ00 = BUFF /* \_SB_.I2C1.BATC.BUFF */
14941                         BUFF = BQ07 /* \_SB_.I2C1.BQ07 */
14942                         Local0 = (DATA | 0x80)
14943                         DATA = Local0
14944                         BQ07 = BUFF /* \_SB_.I2C1.BATC.BUFF */
14945                     }
14946 
14947                     BUFF = BQ08 /* \_SB_.I2C1.BQ08 */
14948                     If ((BYAT != One))
14949                     {
14950                         Local0 = (DATA >> 0x04)
14951                         Local0 &= 0x03
14952                         If (((Local0 == One) || (Local0 == 0x02)))
14953                         {
14954                             Local1 = 0x02
14955                         }
14956 
14957                         If ((Local0 == Zero))
14958                         {
14959                             Local1 = One
14960                         }
14961 
14962                         If ((Local0 == 0x03))
14963                         {
14964                             Local1 = Zero
14965                         }
14966 
14967                         BSTP [Zero] = Local1
14968                     }
14969 
14970                     BUF2 = FG0A /* \_SB_.I2C1.FG0A */
14971                     If ((BSTS != One))
14972                     {
14973                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
14974                         If ((Local1 & 0x8000))
14975                         {
14976                             Local1 = (0xFFFF - Local1)
14977                         }
14978 
14979                         Divide (Local1, FGDV, Local0, Local2)
14980                         Local1 = (Local2 * 0x9C)
14981                         Divide (Local1, 0x64, Local0, Local2)
14982                         BSTP [One] = Local2
14983                     }
14984 
14985                     BUF2 = FG05 /* \_SB_.I2C1.FG05 */
14986                     If ((BSTS != One))
14987                     {
14988                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
14989                         Local2 = (Local1 * 0x05)
14990                         Divide (Local2, FGDV, Local0, Local1)
14991                         BSTP [0x02] = Local1
14992                     }
14993 
14994                     BUF2 = FG09 /* \_SB_.I2C1.FG09 */
14995                     If ((BSTS != One))
14996                     {
14997                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
14998                         Local2 = (Local1 >> 0x03)
14999                         Local1 = (Local2 * 0x0271)
15000                         Divide (Local1, 0x03E8, Local0, Local2)
15001                         BSTP [0x03] = Local2
15002                     }
15003 
15004                     BUFF = BQ01 /* \_SB_.I2C1.BQ01 */
15005                     If ((BYAT != One))
15006                     {
15007                         If ((BCCE == One))
15008                         {
15009                             DATA |= 0x10
15010                             BQ01 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15011                         }
15012                         Else
15013                         {
15014                             DATA &= 0xEF
15015                             BQ01 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15016                         }
15017 
15018                         Local0 = DATA /* \_SB_.I2C1.BATC.DATA */
15019                         ADBG ("Charger enable")
15020                         ADBG (Local0)
15021                     }
15022 
15023                     BUFF = BQ02 /* \_SB_.I2C1.BQ02 */
15024                     If ((BYAT != One))
15025                     {
15026                         Local1 = BCCC /* \_SB_.I2C1.BATC.BCCC */
15027                         Local0 = DATA /* \_SB_.I2C1.BATC.DATA */
15028                         Local2 = (Local0 & 0xFC)
15029                         If ((Local2 != Local1))
15030                         {
15031                             ADBG ("UPD CU From")
15032                             ADBG (DATA)
15033                             Local2 = (DATA & 0x03)
15034                             DATA = (Local2 | Local1)
15035                             BQ02 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15036                         }
15037 
15038                         Local1 = DATA /* \_SB_.I2C1.BATC.DATA */
15039                         ADBG ("Fast Current")
15040                         ADBG (Local1)
15041                     }
15042 
15043                     If ((ACMD != One))
15044                     {
15045                         Local3 = CLIM ()
15046                         ADBG (Local3)
15047                         BUFF = BQ00 /* \_SB_.I2C1.BQ00 */
15048                         If ((BYAT != One))
15049                         {
15050                             Local2 = (DATA & 0x07)
15051                             If ((Local2 != Local3))
15052                             {
15053                                 Local2 = (DATA & 0xF8)
15054                                 DATA = (Local2 | Local3)
15055                                 BQ00 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15056                             }
15057                         }
15058 
15059                         Local1 = DATA /* \_SB_.I2C1.BATC.DATA */
15060                         ADBG ("Input Current")
15061                         ADBG (Local1)
15062                     }
15063                 }
15064 
15065                 Return (BSTP) /* \_SB_.I2C1.BATC.BSTP */
15066             }
15067 
15068             Method (INTC, 0, NotSerialized)
15069             {
15070                 BUFF = BQ08 /* \_SB_.I2C1.BQ08 */
15071                 If ((BYAT != One))
15072                 {
15073                     Local1 = DATA /* \_SB_.I2C1.BATC.DATA */
15074                 }
15075 
15076                 Return (Local1)
15077             }
15078 
15079             Method (INTF, 0, NotSerialized)
15080             {
15081                 ADBG ("INTF")
15082                 BUF2 = FG00 /* \_SB_.I2C1.FG00 */
15083                 If ((BSTS != One))
15084                 {
15085                     Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15086                 }
15087 
15088                 Return (Local1)
15089             }
15090 
15091             Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
15092             {
15093                 BTPC = Arg0
15094                 ADBG ("BTP")
15095                 ADBG (Arg0)
15096                 If ((AVBL == One))
15097                 {
15098                     DAT1 = Arg0
15099                     BLEN = 0x04
15100                     BUF2 = FG2B /* \_SB_.I2C1.FG2B */
15101                     If ((BSTS != One))
15102                     {
15103                         Local1 = (WRD1 & 0xFFFC)
15104                         WRD1 = Local1
15105                         FG2B = BUF2 /* \_SB_.I2C1.BATC.BUF2 */
15106                     }
15107 
15108                     BUF2 = FG1D /* \_SB_.I2C1.FG1D */
15109                     If ((BSTS != One))
15110                     {
15111                         Local1 = (WRD1 & 0xFFFB)
15112                         Local2 = (Local1 | 0x4004)
15113                         WRD1 = Local2
15114                         FG1D = BUF2 /* \_SB_.I2C1.BATC.BUF2 */
15115                     }
15116 
15117                     BUF2 = SOCR /* \_SB_.I2C1.SOCR */
15118                     If ((BSTS != One))
15119                     {
15120                         Local0 = (WRD1 >> 0x08)
15121                         Local1 = (Local0 & 0xFF)
15122                     }
15123 
15124                     Local2 = (Local1 + One)
15125                     Local3 = (Local1 - One)
15126                     Local1 = (Local2 << 0x08)
15127                     Local2 = (Local1 | Local3)
15128                     WRD1 = Local2
15129                     FG03 = BUF2 /* \_SB_.I2C1.BATC.BUF2 */
15130                 }
15131             }
15132 
15133             Method (_BTM, 1, NotSerialized)  // _BTM: Battery Time
15134             {
15135                 ADBG ("BTM")
15136                 If ((Arg0 > 0x7530))
15137                 {
15138                     Return (Zero)
15139                 }
15140 
15141                 If ((AVBL == One))
15142                 {
15143                     BUF2 = FG11 /* \_SB_.I2C1.FG11 */
15144                     If ((BSTS != One))
15145                     {
15146                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15147                         If ((Arg0 == Zero))
15148                         {
15149                             Local2 = (Local1 >> 0x05)
15150                             Local1 = (Local2 * 0x03)
15151                             Local2 = (Local1 * 0x3C)
15152                             Return (Local2)
15153                         }
15154 
15155                         BUF2 = FG05 /* \_SB_.I2C1.FG05 */
15156                         If ((BSTS != One))
15157                         {
15158                             Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15159                             Local2 = (Local1 * 0x05)
15160                             Divide (Local2, FGDV, Local0, Local1)
15161                             Local0 = (Local1 * 0x0E10)
15162                             Divide (Local0, Arg0, Local1, Local2)
15163                             Return (Local2)
15164                         }
15165                     }
15166                 }
15167 
15168                 Return (0xFFFFFFFF)
15169             }
15170 
15171             Method (_BCT, 1, NotSerialized)  // _BCT: Battery Charge Time
15172             {
15173                 ADBG ("BCT")
15174                 If (((Arg0 > 0x64) || (Arg0 < One)))
15175                 {
15176                     Return (Zero)
15177                 }
15178 
15179                 If ((AVBL == One))
15180                 {
15181                     BUF2 = FG05 /* \_SB_.I2C1.FG05 */
15182                     Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15183                     If ((BSTS != One))
15184                     {
15185                         Local2 = (Local1 * 0x05)
15186                         Divide (Local2, FGDV, Local0, Local1)
15187                         RECT = Local1
15188                     }
15189 
15190                     BUF2 = FG10 /* \_SB_.I2C1.FG10 */
15191                     If ((BSTS != One))
15192                     {
15193                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15194                         Local2 = (Local1 * 0x05)
15195                         Divide (Local2, FGDV, Local0, Local1)
15196                         BCLP = Local1
15197                     }
15198 
15199                     BUF2 = FG0A /* \_SB_.I2C1.FG0A */
15200                     If ((BSTS != One))
15201                     {
15202                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15203                         If ((Local1 & 0x8000))
15204                         {
15205                             Return (Zero)
15206                         }
15207                     }
15208 
15209                     Local0 = (BCLP * Arg0)
15210                     Local0 -= RECT /* \_SB_.I2C1.BATC.RECT */
15211                     Local0 *= 0x0E10
15212                     Divide (Local0, Local1, Local2, Local3)
15213                     Return (Local3)
15214                 }
15215 
15216                 Return (0xFFFFFFFF)
15217             }
15218 
15219             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
15220             {
15221                 If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */))
15222                 {
15223                     If ((Arg2 == 0x02))
15224                     {
15225                         If ((Arg1 == Zero))
15226                         {
15227                             Return (Buffer (One)
15228                             {
15229                                  0x00                                             // .
15230                             })
15231                         }
15232                     }
15233                 }
15234 
15235                 Return (Zero)
15236             }
15237 
15238             Method (_STA, 0, NotSerialized)  // _STA: Status
15239             {
15240                 If ((PMID == 0x05))
15241                 {
15242                     Return (Zero)
15243                 }
15244 
15245                 If ((PMID == 0x06))
15246                 {
15247                     Return (Zero)
15248                 }
15249 
15250                 If ((AVBL == One))
15251                 {
15252                     BUF2 = FG05 /* \_SB_.I2C1.FG05 */
15253                     If ((BSTS != Zero))
15254                     {
15255                         Return (Zero)
15256                     }
15257                 }
15258 
15259                 Return (0x1F)
15260             }
15261 
15262             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
15263             {
15264                 Return (_SB) /* \_SB_ */
15265             }
15266 
15267             Method (PSOC, 0, NotSerialized)
15268             {
15269                 If ((AVBL == One))
15270                 {
15271                     BUF2 = SOCR /* \_SB_.I2C1.SOCR */
15272                     If ((BSTS != One))
15273                     {
15274                         Local0 = (WRD1 >> 0x08)
15275                         Local1 = (Local0 & 0xFF)
15276                     }
15277 
15278                     Return (Local1)
15279                 }
15280 
15281                 Return (Zero)
15282             }
15283 
15284             Method (PMAX, 0, NotSerialized)
15285             {
15286                 If ((AVBL == One))
15287                 {
15288                     BUF2 = MXCU /* \_SB_.I2C1.MXCU */
15289                     If ((BSTS != One))
15290                     {
15291                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15292                         If ((Local1 & 0x8000))
15293                         {
15294                             Local0 = (Local1 >> 0x08)
15295                             Local1 = (Local0 & 0xFF)
15296                             Local0 = (0xFFFF - Local1)
15297                             Local1 = (Local0 * 0x04)
15298                         }
15299                         Else
15300                         {
15301                             Local0 = (Local1 >> 0x08)
15302                             Local2 = (Local0 & 0xFF)
15303                             Local1 = (Local2 * 0x04)
15304                         }
15305 
15306                         Divide (Local1, 0x0A, Local0, Local2)
15307                         Divide (Local2, FGDV, Local0, Local1)
15308                         Local2 = (Local1 * 0x03E8)
15309                         Local1 = (DSVO * Local2)
15310                         Return (Local1)
15311                     }
15312                 }
15313 
15314                 Return (Zero)
15315             }
15316 
15317             Method (VMIN, 0, NotSerialized)
15318             {
15319                 Return (0x0DAC)
15320             }
15321 
15322             Method (APWR, 0, NotSerialized)
15323             {
15324                 Return (0x0365C040)
15325             }
15326 
15327             Method (NPWR, 0, NotSerialized)
15328             {
15329                 Local3 = APWR ()
15330                 If ((AVBL == One))
15331                 {
15332                     BUF2 = FG0A /* \_SB_.I2C1.FG0A */
15333                     If ((BSTS != One))
15334                     {
15335                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15336                         If ((Local1 & 0x8000))
15337                         {
15338                             Local1 = (0xFFFF - Local1)
15339                         }
15340 
15341                         Divide (Local1, FGDV, Local0, Local2)
15342                         Local1 = (Local2 * 0x9C)
15343                         Divide (Local1, 0x64, Local0, Local2)
15344                         AVCU = Local2
15345                         BUF2 = FG09 /* \_SB_.I2C1.FG09 */
15346                         If ((BSTS != One))
15347                         {
15348                             Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15349                             Local2 = (Local1 >> 0x03)
15350                             Local1 = (Local2 * 0x0271)
15351                             Divide (Local1, 0x03E8, Local0, Local2)
15352                         }
15353 
15354                         Local1 = (Local2 * AVCU) /* \_SB_.I2C1.BATC.AVCU */
15355                         Local0 = (Local3 - Local1)
15356                         Return (Local0)
15357                     }
15358                 }
15359 
15360                 Return (Local0)
15361             }
15362 
15363             Method (PSRC, 0, NotSerialized)
15364             {
15365                 If ((AVBL == One))
15366                 {
15367                     BUFF = BQ08 /* \_SB_.I2C1.BQ08 */
15368                     If ((BYAT != One))
15369                     {
15370                         Local0 = DATA /* \_SB_.I2C1.BATC.DATA */
15371                         Local0 = (DATA >> 0x06)
15372                         Local0 &= 0x03
15373                         Return (Local0)
15374                     }
15375                 }
15376 
15377                 Return (One)
15378             }
15379 
15380             Method (CTYP, 0, NotSerialized)
15381             {
15382                 Return (0x02)
15383             }
15384 
15385             Method (ARTG, 0, NotSerialized)
15386             {
15387                 Return (0x0365C040)
15388             }
15389         }
15390     }
15391 
15392     Scope (_SB)
15393     {
15394         Device (ADP1)
15395         {
15396             Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
15397             Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
15398             {
15399                 If ((^^GPO2.USID == Zero))
15400                 {
15401                     Return (Zero)
15402                 }
15403 
15404                 If ((PMID == One))
15405                 {
15406                     If (CondRefOf (\_SB.I2C1.BATC, Local1))
15407                     {
15408                         Local0 = ^^I2C1.BATC.PSRC ()
15409                         If ((Local0 == Zero))
15410                         {
15411                             Return (Zero)
15412                         }
15413                         Else
15414                         {
15415                             Return (One)
15416                         }
15417                     }
15418 
15419                     Return (One)
15420                 }
15421 
15422                 If ((PMID == 0x05))
15423                 {
15424                     If (CondRefOf (\_SB.I2C5.BMBT, Local1))
15425                     {
15426                         Local0 = ^^I2C5.BMBT.PSRC ()
15427                         If ((Local0 == Zero))
15428                         {
15429                             Return (Zero)
15430                         }
15431                         Else
15432                         {
15433                             Return (One)
15434                         }
15435                     }
15436                 }
15437 
15438                 If ((PMID == 0x06))
15439                 {
15440                     If (CondRefOf (\_SB.I2C5.TIBT, Local1))
15441                     {
15442                         Local0 = ^^I2C5.TIBT.PSRC ()
15443                         If ((Local0 == Zero))
15444                         {
15445                             Return (Zero)
15446                         }
15447                         Else
15448                         {
15449                             Return (One)
15450                         }
15451                     }
15452                 }
15453 
15454                 Return (One)
15455             }
15456 
15457             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
15458             {
15459                 Return (_SB) /* \_SB_ */
15460             }
15461         }
15462     }
15463 
15464     Scope (_SB.I2C5)
15465     {
15466         Device (BMDR)
15467         {
15468             Name (_HID, "INT33FE" /* XPOWER Battery Device */)  // _HID: Hardware ID
15469             Name (_CID, "INT33FE" /* XPOWER Battery Device */)  // _CID: Compatible ID
15470             Name (_DDN, "XPOWER Battery Device")  // _DDN: DOS Device Name
15471             Name (_DEP, Package (0x02)  // _DEP: Dependencies
15472             {
15473                 I2C5, 
15474                 PMI1
15475             })
15476             Name (RBUF, ResourceTemplate ()
15477             {
15478                 I2cSerialBusV2 (0x0068, ControllerInitiated, 0x000186A0,
15479                     AddressingMode7Bit, "\\_SB.I2C1",
15480                     0x00, ResourceConsumer, , Exclusive,
15481                     )
15482                 GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
15483                     "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
15484                     )
15485                     {   // Pin list
15486                         0x0011
15487                     }
15488             })
15489             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
15490             {
15491                 Return (RBUF) /* \_SB_.I2C5.BMDR.RBUF */
15492             }
15493 
15494             Method (_STA, 0, NotSerialized)  // _STA: Status
15495             {
15496                 If ((PMID == 0x05))
15497                 {
15498                     Return (0x0F)
15499                 }
15500 
15501                 Return (Zero)
15502             }
15503 
15504             OperationRegion (BMOP, 0x9E, Zero, 0x0100)
15505             Field (BMOP, DWordAcc, NoLock, Preserve)
15506             {
15507                 SOC,    32, 
15508                 FCCP,   32, 
15509                 CHST,   32, 
15510                 RMCP,   32, 
15511                 VOLT,   32, 
15512                 BATP,   32, 
15513                 SRP0,   32, 
15514                 STYP,   32, 
15515                 CHGC,   32, 
15516                 STPC,   32, 
15517                 GADC,   32, 
15518                 TTEM,   32, 
15519                 TTCH,   32, 
15520                 CYCL,   32, 
15521                 BTP,    32, 
15522                 DPCU,   32, 
15523                 DSCP,   32, 
15524                 TVOL,   32, 
15525                 ILIM,   32
15526             }
15527 
15528             Name (AVBL, Zero)
15529             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
15530             {
15531                 If ((Arg0 == 0x9E))
15532                 {
15533                     AVBL = Arg1
15534                 }
15535             }
15536 
15537             Name (CHTP, Zero)
15538             Method (SBTP, 0, NotSerialized)
15539             {
15540                 ADBG ("SBTP")
15541                 ADBG ("XP00")
15542                 Name (BMUX, Buffer (0x03)
15543                 {
15544                      0x00, 0x01, 0x00                                 // ...
15545                 })
15546                 CreateByteField (BMUX, Zero, BBBY)
15547                 CreateByteField (BMUX, 0x02, DDDT)
15548                 BMUX = XP00 /* \_SB_.I2C5.XP00 */
15549                 ADBG (BMUX)
15550                 If ((BBBY != One))
15551                 {
15552                     If ((DDDT && 0x20))
15553                     {
15554                         ADBG ("vbus on 2C")
15555                         BMUX = XP2C /* \_SB_.I2C5.XP2C */
15556                         If ((BBBY != One))
15557                         {
15558                             Local1 = 0x14
15559                             While (((DDDT && 0x04) && (Local1 != Zero)))
15560                             {
15561                                 Sleep (0x64)
15562                                 BMUX = XP2C /* \_SB_.I2C5.XP2C */
15563                                 DDDT &= 0x04
15564                                 Local1 -= One
15565                             }
15566 
15567                             If ((Local1 == Zero))
15568                             {
15569                                 ADBG ("timeout")
15570                                 CHTP = Zero
15571                             }
15572                             Else
15573                             {
15574                                 ADBG ("Det ok")
15575                                 BMUX = XP2F /* \_SB_.I2C5.XP2F */
15576                                 Local0 = (DDDT >> 0x05)
15577                                 CHTP = Local0
15578                             }
15579                         }
15580                         Else
15581                         {
15582                             ADBG ("2C r Fail")
15583                             CHTP = Zero
15584                         }
15585                     }
15586                     Else
15587                     {
15588                         ADBG ("VBUS OFF")
15589                         CHTP = Zero
15590                     }
15591                 }
15592                 Else
15593                 {
15594                     ADBG ("00readFail")
15595                     CHTP = Zero
15596                 }
15597 
15598                 ADBG (CHTP)
15599                 If (CondRefOf (\_SB.I2C5.BMBT, Local1))
15600                 {
15601                     Notify (ADP1, 0x80) // Status Change
15602                     Notify (BMBT, 0x80) // Status Change
15603                     Notify (BMBT, 0x81) // Information Change
15604                     If (CondRefOf (\_SB.DPTF, Local3))
15605                     {
15606                         Notify (DPTF, 0x86) // Device-Specific
15607                         Notify (TCH1, 0x80) // Status Change
15608                     }
15609 
15610                     Notify (ADP1, 0x80) // Status Change
15611                     Return (One)
15612                 }
15613 
15614                 Return (Zero)
15615             }
15616 
15617             Method (PTYP, 0, NotSerialized)
15618             {
15619                 ADBG ("PTYP")
15620                 Local0 = (PMID | 0x80)
15621                 Return (Local0)
15622             }
15623         }
15624 
15625         Device (TIDR)
15626         {
15627             Name (_HID, "INT33FE" /* XPOWER Battery Device */)  // _HID: Hardware ID
15628             Name (_CID, "INT33FE" /* XPOWER Battery Device */)  // _CID: Compatible ID
15629             Name (_DDN, "TI PMIC Battery Device")  // _DDN: DOS Device Name
15630             Name (_DEP, Package (0x02)  // _DEP: Dependencies
15631             {
15632                 I2C5, 
15633                 PMI2
15634             })
15635             Name (RBUF, ResourceTemplate ()
15636             {
15637                 I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000186A0,
15638                     AddressingMode7Bit, "\\_SB.I2C1",
15639                     0x00, ResourceConsumer, , Exclusive,
15640                     )
15641                 I2cSerialBusV2 (0x0068, ControllerInitiated, 0x000186A0,
15642                     AddressingMode7Bit, "\\_SB.I2C1",
15643                     0x00, ResourceConsumer, , Exclusive,
15644                     )
15645                 GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
15646                     "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
15647                     )
15648                     {   // Pin list
15649                         0x0011
15650                     }
15651             })
15652             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
15653             {
15654                 Return (RBUF) /* \_SB_.I2C5.TIDR.RBUF */
15655             }
15656 
15657             Method (_STA, 0, NotSerialized)  // _STA: Status
15658             {
15659                 If ((PMID == 0x06))
15660                 {
15661                     Return (0x0F)
15662                 }
15663 
15664                 Return (Zero)
15665             }
15666 
15667             OperationRegion (BMOP, 0x9E, Zero, 0x0100)
15668             Field (BMOP, DWordAcc, NoLock, Preserve)
15669             {
15670                 SOC,    32, 
15671                 FCCP,   32, 
15672                 CHST,   32, 
15673                 RMCP,   32, 
15674                 VOLT,   32, 
15675                 BATP,   32, 
15676                 SRP0,   32, 
15677                 STYP,   32, 
15678                 CHGC,   32, 
15679                 STPC,   32, 
15680                 GADC,   32, 
15681                 TTEM,   32, 
15682                 TTCH,   32, 
15683                 CYCL,   32, 
15684                 BTP,    32, 
15685                 DPCU,   32, 
15686                 DSCP,   32
15687             }
15688 
15689             Name (AVBL, Zero)
15690             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
15691             {
15692                 If ((Arg0 == 0x9E))
15693                 {
15694                     AVBL = Arg1
15695                 }
15696             }
15697 
15698             Method (SBTP, 0, NotSerialized)
15699             {
15700                 ADBG ("SBTP")
15701                 If (CondRefOf (\_SB.I2C5.TIBT, Local1))
15702                 {
15703                     Notify (ADP1, 0x80) // Status Change
15704                     Notify (TIBT, 0x80) // Status Change
15705                     Notify (TIBT, 0x81) // Information Change
15706                     If (CondRefOf (\_SB.DPTF, Local3))
15707                     {
15708                         Notify (DPTF, 0x86) // Device-Specific
15709                         Notify (TCH2, 0x80) // Status Change
15710                     }
15711 
15712                     Return (One)
15713                 }
15714 
15715                 Return (Zero)
15716             }
15717 
15718             Method (PTYP, 0, NotSerialized)
15719             {
15720                 ADBG ("PTYP")
15721                 Local0 = (PMID | 0x80)
15722                 Return (Local0)
15723             }
15724         }
15725 
15726         Device (BMBT)
15727         {
15728             Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
15729             Name (_UID, One)  // _UID: Unique ID
15730             Name (BCCE, One)
15731             Name (OTGS, Zero)
15732             Name (CHPR, One)
15733             Name (FGDV, 0x0A)
15734             Name (BCCC, 0x07)
15735             Name (BCIL, 0x04)
15736             Name (BCVF, 0x93)
15737             Name (BCFV, 0xED)
15738             Name (BCCH, 0x38)
15739             Name (BCST, 0x05)
15740             Name (BCPE, 0x74)
15741             Name (BCTV, 0x02)
15742             Name (BCCL, 0xFFFFFFFF)
15743             Name (BCLP, 0x1004)
15744             Name (DSCP, 0x1300)
15745             Name (DSVO, 0x0EA6)
15746             Name (BTPC, Zero)
15747             Name (AVCU, Zero)
15748             Name (_DEP, Package (0x01)  // _DEP: Dependencies
15749             {
15750                 I2C5
15751             })
15752             Name (BUFF, Buffer (0x03)
15753             {
15754                  0x00, 0x01, 0x00                                 // ...
15755             })
15756             CreateByteField (BUFF, Zero, BYAT)
15757             CreateByteField (BUFF, 0x02, DATA)
15758             Name (BUF1, Buffer (0x06)
15759             {
15760                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00               // ......
15761             })
15762             CreateByteField (BUF1, Zero, BSTA)
15763             CreateByteField (BUF1, One, BLEN)
15764             CreateDWordField (BUF1, 0x02, DAT1)
15765             Name (BUF2, Buffer (0x04)
15766             {
15767                  0x00, 0x00, 0x00, 0x00                           // ....
15768             })
15769             CreateByteField (BUF2, Zero, BSTS)
15770             CreateByteField (BUF2, One, SLEN)
15771             CreateWordField (BUF2, 0x02, WRD1)
15772             Name (BIXP, Package (0x14)
15773             {
15774                 Zero, 
15775                 One, 
15776                 0xFFFFFFFF, 
15777                 0xFFFFFFFF, 
15778                 One, 
15779                 0xFFFFFFFF, 
15780                 0x0A, 
15781                 0x04, 
15782                 Zero, 
15783                 0x00017318, 
15784                 0xFFFFFFFF, 
15785                 0xFFFFFFFF, 
15786                 0x88B8, 
15787                 0x61A8, 
15788                 One, 
15789                 One, 
15790                 "SR Real Battery", 
15791                 "123456789", 
15792                 "LION", 
15793                 "Intel SR 1"
15794             })
15795             Name (BSTP, Package (0x04)
15796             {
15797                 Zero, 
15798                 0xFFFFFFFF, 
15799                 0xFFFFFFFF, 
15800                 0xFFFFFFFF
15801             })
15802             Method (_BIX, 0, NotSerialized)  // _BIX: Battery Information Extended
15803             {
15804                 ADBG ("BIX")
15805                 If ((^^BMDR.AVBL == One))
15806                 {
15807                     BIXP [0x03] = ^^BMDR.FCCP /* \_SB_.I2C5.BMDR.FCCP */
15808                     BIXP [0x08] = ^^BMDR.CYCL /* \_SB_.I2C5.BMDR.CYCL */
15809                     BIXP [0x02] = ^^BMDR.DSCP /* \_SB_.I2C5.BMDR.DSCP */
15810                     DSCP = ^^BMDR.DSCP /* \_SB_.I2C5.BMDR.DSCP */
15811                 }
15812 
15813                 BIXP [0x05] = DSVO /* \_SB_.I2C5.BMBT.DSVO */
15814                 Divide (DSCP, 0x0A, Local0, Local1)
15815                 BIXP [0x06] = Local1
15816                 Divide (DSCP, 0x14, Local0, Local1)
15817                 BIXP [0x07] = Local1
15818                 Return (BIXP) /* \_SB_.I2C5.BMBT.BIXP */
15819             }
15820 
15821             Method (_BST, 0, NotSerialized)  // _BST: Battery Status
15822             {
15823                 If ((^^BMDR.AVBL == One))
15824                 {
15825                     ADBG ("BST")
15826                     Local0 = ^^BMDR.CHST /* \_SB_.I2C5.BMDR.CHST */
15827                     Local0 &= 0x0F
15828                     If ((Local0 == 0x02))
15829                     {
15830                         Local1 = 0x02
15831                     }
15832 
15833                     If ((Local0 == One))
15834                     {
15835                         Local1 = One
15836                     }
15837 
15838                     If ((Local0 == 0x08))
15839                     {
15840                         Local1 = Zero
15841                     }
15842 
15843                     BSTP [Zero] = Local1
15844                     BSTP [One] = ^^BMDR.CHGC /* \_SB_.I2C5.BMDR.CHGC */
15845                     BSTP [0x02] = ^^BMDR.RMCP /* \_SB_.I2C5.BMDR.RMCP */
15846                     BSTP [0x03] = ^^BMDR.VOLT /* \_SB_.I2C5.BMDR.VOLT */
15847                     ^^BMDR.DPCU = BCCC /* \_SB_.I2C5.BMBT.BCCC */
15848                     ^^BMDR.TVOL = BCTV /* \_SB_.I2C5.BMBT.BCTV */
15849                     ^^BMDR.ILIM = BCIL /* \_SB_.I2C5.BMBT.BCIL */
15850                 }
15851 
15852                 Return (BSTP) /* \_SB_.I2C5.BMBT.BSTP */
15853             }
15854 
15855             Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
15856             {
15857                 BTPC = Arg0
15858                 ADBG ("BTP")
15859                 ADBG (Arg0)
15860                 If ((^^BMDR.AVBL == One))
15861                 {
15862                     ^^BMDR.BTP = Arg0
15863                 }
15864             }
15865 
15866             Method (_BTM, 1, NotSerialized)  // _BTM: Battery Time
15867             {
15868                 ADBG ("BTM")
15869                 If ((Arg0 > 0x7530))
15870                 {
15871                     Return (Zero)
15872                 }
15873 
15874                 Return (0xFFFFFFFF)
15875             }
15876 
15877             Method (_BCT, 1, NotSerialized)  // _BCT: Battery Charge Time
15878             {
15879                 ADBG ("BCT")
15880                 If (((Arg0 > 0x64) || (Arg0 < One)))
15881                 {
15882                     Return (Zero)
15883                 }
15884 
15885                 Return (0xFFFFFFFF)
15886             }
15887 
15888             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
15889             {
15890                 If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */))
15891                 {
15892                     If ((Arg2 == 0x02))
15893                     {
15894                         If ((Arg1 == Zero))
15895                         {
15896                             Return (Buffer (One)
15897                             {
15898                                  0x00                                             // .
15899                             })
15900                         }
15901                     }
15902                 }
15903 
15904                 Return (Zero)
15905             }
15906 
15907             Method (_STA, 0, NotSerialized)  // _STA: Status
15908             {
15909                 If ((PMID == 0x05))
15910                 {
15911                     Return (0x1F)
15912                 }
15913 
15914                 Return (Zero)
15915             }
15916 
15917             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
15918             {
15919                 Return (_SB) /* \_SB_ */
15920             }
15921 
15922             Method (PSOC, 0, NotSerialized)
15923             {
15924                 ADBG ("PSOC")
15925                 If ((^^BMDR.AVBL == One))
15926                 {
15927                     Local1 = ^^BMDR.SOC /* \_SB_.I2C5.BMDR.SOC_ */
15928                     Return (Local1)
15929                 }
15930 
15931                 Return (Zero)
15932             }
15933 
15934             Method (PMAX, 0, NotSerialized)
15935             {
15936                 Return (Zero)
15937             }
15938 
15939             Method (VMIN, 0, NotSerialized)
15940             {
15941                 Return (0x0E10)
15942             }
15943 
15944             Method (APWR, 0, NotSerialized)
15945             {
15946                 Return (0x01C94298)
15947             }
15948 
15949             Method (NPWR, 0, NotSerialized)
15950             {
15951                 Local3 = APWR ()
15952                 Return (Zero)
15953             }
15954 
15955             Method (PSRC, 0, NotSerialized)
15956             {
15957                 If ((^^BMDR.AVBL == One))
15958                 {
15959                     Local0 = ^^BMDR.CHTP /* \_SB_.I2C5.BMDR.CHTP */
15960                     If ((Local0 == Zero))
15961                     {
15962                         Return (Zero)
15963                     }
15964 
15965                     If ((Local0 == One))
15966                     {
15967                         Return (One)
15968                     }
15969 
15970                     If ((Local0 == 0x02))
15971                     {
15972                         Return (0x02)
15973                     }
15974 
15975                     If ((Local0 == 0x03))
15976                     {
15977                         Return (0x03)
15978                     }
15979 
15980                     If ((Local0 == 0x04))
15981                     {
15982                         Return (0x04)
15983                     }
15984 
15985                     If ((Local0 == 0x05))
15986                     {
15987                         Return (0x05)
15988                     }
15989 
15990                     Return (Zero)
15991                 }
15992 
15993                 Return (One)
15994             }
15995 
15996             Method (CTYP, 0, NotSerialized)
15997             {
15998                 Return (0x02)
15999             }
16000 
16001             Method (ARTG, 0, NotSerialized)
16002             {
16003                 Return (APWR ())
16004             }
16005         }
16006 
16007         Device (TIBT)
16008         {
16009             Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
16010             Name (_UID, One)  // _UID: Unique ID
16011             Name (BCCE, One)
16012             Name (OTGS, Zero)
16013             Name (CHPR, One)
16014             Name (FGDV, 0x0A)
16015             Name (BCCC, 0x80)
16016             Name (BCIL, 0x65)
16017             Name (BCVF, 0x93)
16018             Name (BCFV, 0xED)
16019             Name (BCCH, 0x38)
16020             Name (BCST, 0x05)
16021             Name (BCPE, 0x74)
16022             Name (BCCL, 0xFFFFFFFF)
16023             Name (BCLP, 0x1004)
16024             Name (DSCP, 0x1300)
16025             Name (DSVO, 0x0EA6)
16026             Name (BTPC, Zero)
16027             Name (AVCU, Zero)
16028             Name (_DEP, Package (0x01)  // _DEP: Dependencies
16029             {
16030                 I2C5
16031             })
16032             Name (BUFF, Buffer (0x03)
16033             {
16034                  0x00, 0x01, 0x00                                 // ...
16035             })
16036             CreateByteField (BUFF, Zero, BYAT)
16037             CreateByteField (BUFF, 0x02, DATA)
16038             Name (BUF1, Buffer (0x06)
16039             {
16040                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00               // ......
16041             })
16042             CreateByteField (BUF1, Zero, BSTA)
16043             CreateByteField (BUF1, One, BLEN)
16044             CreateDWordField (BUF1, 0x02, DAT1)
16045             Name (BUF2, Buffer (0x04)
16046             {
16047                  0x00, 0x00, 0x00, 0x00                           // ....
16048             })
16049             CreateByteField (BUF2, Zero, BSTS)
16050             CreateByteField (BUF2, One, SLEN)
16051             CreateWordField (BUF2, 0x02, WRD1)
16052             Name (BIXP, Package (0x14)
16053             {
16054                 Zero, 
16055                 One, 
16056                 0xFFFFFFFF, 
16057                 0xFFFFFFFF, 
16058                 One, 
16059                 0xFFFFFFFF, 
16060                 0x0A, 
16061                 0x04, 
16062                 Zero, 
16063                 0x00017318, 
16064                 0xFFFFFFFF, 
16065                 0xFFFFFFFF, 
16066                 0x88B8, 
16067                 0x61A8, 
16068                 One, 
16069                 One, 
16070                 "SR Real Battery", 
16071                 "123456789", 
16072                 "LION", 
16073                 "Intel SR 1"
16074             })
16075             Name (BSTP, Package (0x04)
16076             {
16077                 Zero, 
16078                 0xFFFFFFFF, 
16079                 0xFFFFFFFF, 
16080                 0xFFFFFFFF
16081             })
16082             Method (_BIX, 0, NotSerialized)  // _BIX: Battery Information Extended
16083             {
16084                 ADBG ("BIX")
16085                 If ((^^TIDR.AVBL == One))
16086                 {
16087                     BIXP [0x03] = ^^TIDR.FCCP /* \_SB_.I2C5.TIDR.FCCP */
16088                     BIXP [0x08] = ^^TIDR.CYCL /* \_SB_.I2C5.TIDR.CYCL */
16089                     BIXP [0x02] = ^^TIDR.DSCP /* \_SB_.I2C5.TIDR.DSCP */
16090                     DSCP = ^^TIDR.DSCP /* \_SB_.I2C5.TIDR.DSCP */
16091                 }
16092 
16093                 BIXP [0x05] = DSVO /* \_SB_.I2C5.TIBT.DSVO */
16094                 Divide (DSCP, 0x0A, Local0, Local1)
16095                 BIXP [0x06] = Local1
16096                 Divide (DSCP, 0x14, Local0, Local1)
16097                 BIXP [0x07] = Local1
16098                 Return (BIXP) /* \_SB_.I2C5.TIBT.BIXP */
16099             }
16100 
16101             Method (_BST, 0, NotSerialized)  // _BST: Battery Status
16102             {
16103                 If ((^^TIDR.AVBL == One))
16104                 {
16105                     ADBG ("BST")
16106                     Local0 = ^^TIDR.CHST /* \_SB_.I2C5.TIDR.CHST */
16107                     Local0 &= 0x0F
16108                     If ((Local0 == 0x02))
16109                     {
16110                         Local1 = 0x02
16111                     }
16112 
16113                     If ((Local0 == One))
16114                     {
16115                         Local1 = One
16116                     }
16117 
16118                     If ((Local0 == 0x08))
16119                     {
16120                         Local1 = Zero
16121                     }
16122 
16123                     BSTP [Zero] = Local1
16124                     BSTP [One] = ^^TIDR.CHGC /* \_SB_.I2C5.TIDR.CHGC */
16125                     BSTP [0x02] = ^^TIDR.RMCP /* \_SB_.I2C5.TIDR.RMCP */
16126                     BSTP [0x03] = ^^TIDR.VOLT /* \_SB_.I2C5.TIDR.VOLT */
16127                     ^^TIDR.DPCU = BCCC /* \_SB_.I2C5.TIBT.BCCC */
16128                 }
16129 
16130                 Return (BSTP) /* \_SB_.I2C5.TIBT.BSTP */
16131             }
16132 
16133             Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
16134             {
16135                 BTPC = Arg0
16136                 ADBG ("BTP")
16137                 ADBG (Arg0)
16138                 If ((^^TIDR.AVBL == One))
16139                 {
16140                     ^^TIDR.BTP = Arg0
16141                 }
16142             }
16143 
16144             Method (_BTM, 1, NotSerialized)  // _BTM: Battery Time
16145             {
16146                 ADBG ("BTM")
16147                 If ((Arg0 > 0x7530))
16148                 {
16149                     Return (Zero)
16150                 }
16151 
16152                 Return (0xFFFFFFFF)
16153             }
16154 
16155             Method (_BCT, 1, NotSerialized)  // _BCT: Battery Charge Time
16156             {
16157                 ADBG ("BCT")
16158                 If (((Arg0 > 0x64) || (Arg0 < One)))
16159                 {
16160                     Return (Zero)
16161                 }
16162 
16163                 Return (0xFFFFFFFF)
16164             }
16165 
16166             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
16167             {
16168                 If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */))
16169                 {
16170                     If ((Arg2 == 0x02))
16171                     {
16172                         If ((Arg1 == Zero))
16173                         {
16174                             Return (Buffer (One)
16175                             {
16176                                  0x00                                             // .
16177                             })
16178                         }
16179                     }
16180                 }
16181 
16182                 Return (Zero)
16183             }
16184 
16185             Method (_STA, 0, NotSerialized)  // _STA: Status
16186             {
16187                 If ((PMID == 0x06))
16188                 {
16189                     Return (0x1F)
16190                 }
16191 
16192                 Return (Zero)
16193             }
16194 
16195             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
16196             {
16197                 Return (_SB) /* \_SB_ */
16198             }
16199 
16200             Method (PSOC, 0, NotSerialized)
16201             {
16202                 ADBG ("PSOC")
16203                 If ((^^TIDR.AVBL == One))
16204                 {
16205                     Local1 = ^^TIDR.SOC /* \_SB_.I2C5.TIDR.SOC_ */
16206                     Return (Local1)
16207                 }
16208 
16209                 Return (Zero)
16210             }
16211 
16212             Method (PMAX, 0, NotSerialized)
16213             {
16214                 Return (Zero)
16215             }
16216 
16217             Method (VMIN, 0, NotSerialized)
16218             {
16219                 Return (0x0DAC)
16220             }
16221 
16222             Method (APWR, 0, NotSerialized)
16223             {
16224                 Return (0x0365C040)
16225             }
16226 
16227             Method (NPWR, 0, NotSerialized)
16228             {
16229                 Local3 = APWR ()
16230                 Return (Zero)
16231             }
16232 
16233             Method (PSRC, 0, NotSerialized)
16234             {
16235                 If ((^^TIDR.AVBL == One))
16236                 {
16237                     Local0 = ^^TIDR.STYP /* \_SB_.I2C5.TIDR.STYP */
16238                     If ((Local0 == Zero))
16239                     {
16240                         Return (Zero)
16241                     }
16242 
16243                     If ((Local0 == One))
16244                     {
16245                         Return (One)
16246                     }
16247 
16248                     If ((Local0 == 0x02))
16249                     {
16250                         Return (0x02)
16251                     }
16252 
16253                     If ((Local0 == 0x03))
16254                     {
16255                         Return (0x03)
16256                     }
16257 
16258                     If ((Local0 == 0x04))
16259                     {
16260                         Return (0x04)
16261                     }
16262 
16263                     If ((Local0 == 0x05))
16264                     {
16265                         Return (0x05)
16266                     }
16267                 }
16268 
16269                 Return (One)
16270             }
16271 
16272             Method (CTYP, 0, NotSerialized)
16273             {
16274                 Return (0x02)
16275             }
16276 
16277             Method (ARTG, 0, NotSerialized)
16278             {
16279                 Return (0x0365C040)
16280             }
16281         }
16282     }
16283 
16284     Name (_S0, Package (0x04)  // _S0_: S0 System State
16285     {
16286         Zero, 
16287         Zero, 
16288         Zero, 
16289         Zero
16290     })
16291     Name (_S4, Package (0x04)  // _S4_: S4 System State
16292     {
16293         0x06, 
16294         Zero, 
16295         Zero, 
16296         Zero
16297     })
16298     Name (_S5, Package (0x04)  // _S5_: S5 System State
16299     {
16300         0x07, 
16301         Zero, 
16302         Zero, 
16303         Zero
16304     })
16305     Scope (\)
16306     {
16307         Name (SSDT, Package (0x0C)
16308         {
16309             "CPU0IST ", 
16310             0x7AF75598, 
16311             0x00000501, 
16312             "APIST   ", 
16313             0x7AF76E18, 
16314             0x0000015F, 
16315             "CPU0CST ", 
16316             0x7AF74918, 
16317             0x00000433, 
16318             "APCST   ", 
16319             0x7AFFDE18, 
16320             0x0000008D
16321         })
16322         Name (CFGD, 0x73B92803)
16323         Name (\PDC0, 0x80000000)
16324         Name (\PDC1, 0x80000000)
16325         Name (\PDC2, 0x80000000)
16326         Name (\PDC3, 0x80000000)
16327         Name (\SDTL, Zero)
16328     }
16329 
16330     Scope (\_PR.CPU0)
16331     {
16332         Name (HI0, Zero)
16333         Name (HC0, Zero)
16334         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
16335         {
16336             Local0 = CPDC (Arg0)
16337             GCAP (Local0)
16338         }
16339 
16340         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
16341         {
16342             Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
16343             GCAP (Local0)
16344             Return (Local0)
16345         }
16346 
16347         Method (CPDC, 1, NotSerialized)
16348         {
16349             CreateDWordField (Arg0, Zero, REVS)
16350             CreateDWordField (Arg0, 0x04, SIZE)
16351             Local0 = SizeOf (Arg0)
16352             Local1 = (Local0 - 0x08)
16353             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
16354             Name (STS0, Buffer (0x04)
16355             {
16356                  0x00, 0x00, 0x00, 0x00                           // ....
16357             })
16358             Concatenate (STS0, TEMP, Local2)
16359             Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
16360         }
16361 
16362         Method (COSC, 4, NotSerialized)
16363         {
16364             CreateDWordField (Arg3, Zero, STS0)
16365             CreateDWordField (Arg3, 0x04, CAP0)
16366             CreateDWordField (Arg0, Zero, IID0)
16367             CreateDWordField (Arg0, 0x04, IID1)
16368             CreateDWordField (Arg0, 0x08, IID2)
16369             CreateDWordField (Arg0, 0x0C, IID3)
16370             Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
16371             CreateDWordField (UID0, Zero, EID0)
16372             CreateDWordField (UID0, 0x04, EID1)
16373             CreateDWordField (UID0, 0x08, EID2)
16374             CreateDWordField (UID0, 0x0C, EID3)
16375             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
16376                 IID2 == EID2) && (IID3 == EID3))))
16377             {
16378                 STS0 = 0x06
16379                 Return (Arg3)
16380             }
16381 
16382             If ((Arg1 != One))
16383             {
16384                 STS0 = 0x0A
16385                 Return (Arg3)
16386             }
16387 
16388             Return (Arg3)
16389         }
16390 
16391         Method (GCAP, 1, NotSerialized)
16392         {
16393             CreateDWordField (Arg0, Zero, STS0)
16394             CreateDWordField (Arg0, 0x04, CAP0)
16395             If (((STS0 == 0x06) || (STS0 == 0x0A)))
16396             {
16397                 Return (Zero)
16398             }
16399 
16400             If ((STS0 & One))
16401             {
16402                 CAP0 &= 0x0BFF
16403                 Return (Zero)
16404             }
16405 
16406             PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
16407             If ((CFGD & One))
16408             {
16409                 If ((((CFGD & 0x01000000) && ((PDC0 & 0x09) == 
16410                     0x09)) && !(SDTL & One)))
16411                 {
16412                     SDTL |= One
16413                     OperationRegion (IST0, SystemMemory, DerefOf (SSDT [One]), DerefOf (SSDT [0x02]))
16414                     Load (IST0, HI0) /* \_PR_.CPU0.HI0_ */
16415                 }
16416             }
16417 
16418             If ((CFGD & 0x82))
16419             {
16420                 If ((((CFGD & 0x01000000) && (PDC0 & 0x18)) && !
16421                     (SDTL & 0x02)))
16422                 {
16423                     SDTL |= 0x02
16424                     OperationRegion (CST0, SystemMemory, DerefOf (SSDT [0x07]), DerefOf (SSDT [0x08]))
16425                     Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
16426                 }
16427             }
16428 
16429             Return (Zero)
16430         }
16431     }
16432 
16433     Scope (\_PR.CPU1)
16434     {
16435         Name (HI1, Zero)
16436         Name (HC1, Zero)
16437         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
16438         {
16439             Local0 = \_PR.CPU0.CPDC (Arg0)
16440             GCAP (Local0)
16441         }
16442 
16443         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
16444         {
16445             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
16446             GCAP (Local0)
16447             Return (Local0)
16448         }
16449 
16450         Method (GCAP, 1, NotSerialized)
16451         {
16452             CreateDWordField (Arg0, Zero, STS1)
16453             CreateDWordField (Arg0, 0x04, CAP1)
16454             If (((STS1 == 0x06) || (STS1 == 0x0A)))
16455             {
16456                 Return (Zero)
16457             }
16458 
16459             If ((STS1 & One))
16460             {
16461                 CAP1 &= 0x0BFF
16462                 Return (Zero)
16463             }
16464 
16465             PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
16466             If (((PDC0 & 0x09) == 0x09))
16467             {
16468                 APPT ()
16469             }
16470 
16471             If ((PDC0 & 0x18))
16472             {
16473                 APCT ()
16474             }
16475 
16476             Return (Zero)
16477         }
16478 
16479         Method (APCT, 0, NotSerialized)
16480         {
16481             If (((CFGD & 0x82) && !(SDTL & 0x20)))
16482             {
16483                 SDTL |= 0x20
16484                 OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B]))
16485                 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
16486             }
16487         }
16488 
16489         Method (APPT, 0, NotSerialized)
16490         {
16491             If (((CFGD & One) && !(SDTL & 0x10)))
16492             {
16493                 SDTL |= 0x10
16494                 OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05]))
16495                 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
16496             }
16497         }
16498     }
16499 
16500     Scope (\_PR.CPU2)
16501     {
16502         Name (HI1, Zero)
16503         Name (HC1, Zero)
16504         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
16505         {
16506             Local0 = \_PR.CPU0.CPDC (Arg0)
16507             GCAP (Local0)
16508         }
16509 
16510         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
16511         {
16512             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
16513             GCAP (Local0)
16514             Return (Local0)
16515         }
16516 
16517         Method (GCAP, 1, NotSerialized)
16518         {
16519             CreateDWordField (Arg0, Zero, STS1)
16520             CreateDWordField (Arg0, 0x04, CAP1)
16521             If (((STS1 == 0x06) || (STS1 == 0x0A)))
16522             {
16523                 Return (Zero)
16524             }
16525 
16526             If ((STS1 & One))
16527             {
16528                 CAP1 &= 0x0BFF
16529                 Return (Zero)
16530             }
16531 
16532             PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU2.GCAP.CAP1 */
16533             If (((PDC0 & 0x09) == 0x09))
16534             {
16535                 APPT ()
16536             }
16537 
16538             If ((PDC0 & 0x18))
16539             {
16540                 APCT ()
16541             }
16542 
16543             Return (Zero)
16544         }
16545 
16546         Method (APCT, 0, NotSerialized)
16547         {
16548             If (((CFGD & 0x82) && !(SDTL & 0x20)))
16549             {
16550                 SDTL |= 0x20
16551                 OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B]))
16552                 Load (CST1, HC1) /* \_PR_.CPU2.HC1_ */
16553             }
16554         }
16555 
16556         Method (APPT, 0, NotSerialized)
16557         {
16558             If (((CFGD & One) && !(SDTL & 0x10)))
16559             {
16560                 SDTL |= 0x10
16561                 OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05]))
16562                 Load (IST1, HI1) /* \_PR_.CPU2.HI1_ */
16563             }
16564         }
16565     }
16566 
16567     Scope (\_PR.CPU3)
16568     {
16569         Name (HI1, Zero)
16570         Name (HC1, Zero)
16571         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
16572         {
16573             Local0 = \_PR.CPU0.CPDC (Arg0)
16574             GCAP (Local0)
16575         }
16576 
16577         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
16578         {
16579             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
16580             GCAP (Local0)
16581             Return (Local0)
16582         }
16583 
16584         Method (GCAP, 1, NotSerialized)
16585         {
16586             CreateDWordField (Arg0, Zero, STS1)
16587             CreateDWordField (Arg0, 0x04, CAP1)
16588             If (((STS1 == 0x06) || (STS1 == 0x0A)))
16589             {
16590                 Return (Zero)
16591             }
16592 
16593             If ((STS1 & One))
16594             {
16595                 CAP1 &= 0x0BFF
16596                 Return (Zero)
16597             }
16598 
16599             PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU3.GCAP.CAP1 */
16600             If (((PDC0 & 0x09) == 0x09))
16601             {
16602                 APPT ()
16603             }
16604 
16605             If ((PDC0 & 0x18))
16606             {
16607                 APCT ()
16608             }
16609 
16610             Return (Zero)
16611         }
16612 
16613         Method (APCT, 0, NotSerialized)
16614         {
16615             If (((CFGD & 0x82) && !(SDTL & 0x20)))
16616             {
16617                 SDTL |= 0x20
16618                 OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B]))
16619                 Load (CST1, HC1) /* \_PR_.CPU3.HC1_ */
16620             }
16621         }
16622 
16623         Method (APPT, 0, NotSerialized)
16624         {
16625             If (((CFGD & One) && !(SDTL & 0x10)))
16626             {
16627                 SDTL |= 0x10
16628                 OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05]))
16629                 Load (IST1, HI1) /* \_PR_.CPU3.HI1_ */
16630             }
16631         }
16632     }
16633 
16634     Scope (\_PR.CPU0)
16635     {
16636         Name (_TPC, Zero)  // _TPC: Throttling Present Capabilities
16637         Method (_PTC, 0, NotSerialized)  // _PTC: Processor Throttling Control
16638         {
16639             If ((PDC0 & 0x04))
16640             {
16641                 Return (Package (0x02)
16642                 {
16643                     ResourceTemplate ()
16644                     {
16645                         Register (FFixedHW, 
16646                             0x00,               // Bit Width
16647                             0x00,               // Bit Offset
16648                             0x0000000000000000, // Address
16649                             ,)
16650                     }, 
16651 
16652                     ResourceTemplate ()
16653                     {
16654                         Register (FFixedHW, 
16655                             0x00,               // Bit Width
16656                             0x00,               // Bit Offset
16657                             0x0000000000000000, // Address
16658                             ,)
16659                     }
16660                 })
16661             }
16662 
16663             Return (Package (0x02)
16664             {
16665                 ResourceTemplate ()
16666                 {
16667                     Register (SystemIO, 
16668                         0x04,               // Bit Width
16669                         0x01,               // Bit Offset
16670                         0x0000000000000410, // Address
16671                         ,)
16672                 }, 
16673 
16674                 ResourceTemplate ()
16675                 {
16676                     Register (SystemIO, 
16677                         0x04,               // Bit Width
16678                         0x01,               // Bit Offset
16679                         0x0000000000000410, // Address
16680                         ,)
16681                 }
16682             })
16683         }
16684 
16685         Name (TSSI, Package (0x08)
16686         {
16687             Package (0x05)
16688             {
16689                 0x64, 
16690                 0x03E8, 
16691                 Zero, 
16692                 Zero, 
16693                 Zero
16694             }, 
16695 
16696             Package (0x05)
16697             {
16698                 0x58, 
16699                 0x036B, 
16700                 Zero, 
16701                 0x0F, 
16702                 Zero
16703             }, 
16704 
16705             Package (0x05)
16706             {
16707                 0x4B, 
16708                 0x02EE, 
16709                 Zero, 
16710                 0x0E, 
16711                 Zero
16712             }, 
16713 
16714             Package (0x05)
16715             {
16716                 0x3F, 
16717                 0x0271, 
16718                 Zero, 
16719                 0x0D, 
16720                 Zero
16721             }, 
16722 
16723             Package (0x05)
16724             {
16725                 0x32, 
16726                 0x01F4, 
16727                 Zero, 
16728                 0x0C, 
16729                 Zero
16730             }, 
16731 
16732             Package (0x05)
16733             {
16734                 0x26, 
16735                 0x0177, 
16736                 Zero, 
16737                 0x0B, 
16738                 Zero
16739             }, 
16740 
16741             Package (0x05)
16742             {
16743                 0x19, 
16744                 0xFA, 
16745                 Zero, 
16746                 0x0A, 
16747                 Zero
16748             }, 
16749 
16750             Package (0x05)
16751             {
16752                 0x0D, 
16753                 0x7D, 
16754                 Zero, 
16755                 0x09, 
16756                 Zero
16757             }
16758         })
16759         Name (TSSM, Package (0x08)
16760         {
16761             Package (0x05)
16762             {
16763                 0x64, 
16764                 0x03E8, 
16765                 Zero, 
16766                 Zero, 
16767                 Zero
16768             }, 
16769 
16770             Package (0x05)
16771             {
16772                 0x58, 
16773                 0x036B, 
16774                 Zero, 
16775                 0x1E, 
16776                 Zero
16777             }, 
16778 
16779             Package (0x05)
16780             {
16781                 0x4B, 
16782                 0x02EE, 
16783                 Zero, 
16784                 0x1C, 
16785                 Zero
16786             }, 
16787 
16788             Package (0x05)
16789             {
16790                 0x3F, 
16791                 0x0271, 
16792                 Zero, 
16793                 0x1A, 
16794                 Zero
16795             }, 
16796 
16797             Package (0x05)
16798             {
16799                 0x32, 
16800                 0x01F4, 
16801                 Zero, 
16802                 0x18, 
16803                 Zero
16804             }, 
16805 
16806             Package (0x05)
16807             {
16808                 0x26, 
16809                 0x0177, 
16810                 Zero, 
16811                 0x16, 
16812                 Zero
16813             }, 
16814 
16815             Package (0x05)
16816             {
16817                 0x19, 
16818                 0xFA, 
16819                 Zero, 
16820                 0x14, 
16821                 Zero
16822             }, 
16823 
16824             Package (0x05)
16825             {
16826                 0x0D, 
16827                 0x7D, 
16828                 Zero, 
16829                 0x12, 
16830                 Zero
16831             }
16832         })
16833         Name (TSSF, Zero)
16834         Method (_TSS, 0, NotSerialized)  // _TSS: Throttling Supported States
16835         {
16836             If ((!TSSF && CondRefOf (_PSS)))
16837             {
16838                 Local0 = _PSS /* External reference */
16839                 Local1 = SizeOf (Local0)
16840                 Local1--
16841                 Local2 = DerefOf (DerefOf (Local0 [Local1]) [One])
16842                 Local3 = Zero
16843                 While ((Local3 < SizeOf (TSSI)))
16844                 {
16845                     Local4 = ((Local2 * (0x08 - Local3)) / 0x08)
16846                     DerefOf (TSSI [Local3]) [One] = Local4
16847                     DerefOf (TSSM [Local3]) [One] = Local4
16848                     Local3++
16849                 }
16850 
16851                 TSSF = Ones
16852             }
16853 
16854             If ((PDC0 & 0x04))
16855             {
16856                 Return (TSSM) /* \_PR_.CPU0.TSSM */
16857             }
16858 
16859             Return (TSSI) /* \_PR_.CPU0.TSSI */
16860         }
16861 
16862         Method (_TDL, 0, NotSerialized)  // _TDL: T-State Depth Limit
16863         {
16864             Debug = "Cpu0: _TDL Called"
16865             Name (LFMI, Zero)
16866             LFMI = SizeOf (TSSM)
16867             LFMI--
16868             Return (LFMI) /* \_PR_.CPU0._TDL.LFMI */
16869         }
16870 
16871         Method (_TSD, 0, NotSerialized)  // _TSD: Throttling State Dependencies
16872         {
16873             If (((CFGD & 0x00800000) && !(PDC0 & 0x04)))
16874             {
16875                 Return (Package (0x01)
16876                 {
16877                     Package (0x05)
16878                     {
16879                         0x05, 
16880                         Zero, 
16881                         Zero, 
16882                         0xFD, 
16883                         0x04
16884                     }
16885                 })
16886             }
16887 
16888             If (((CFGD & 0x01000000) && !(PDC0 & 0x04)))
16889             {
16890                 Return (Package (0x01)
16891                 {
16892                     Package (0x05)
16893                     {
16894                         0x05, 
16895                         Zero, 
16896                         Zero, 
16897                         0xFD, 
16898                         0x02
16899                     }
16900                 })
16901             }
16902 
16903             Return (Package (0x01)
16904             {
16905                 Package (0x05)
16906                 {
16907                     0x05, 
16908                     Zero, 
16909                     Zero, 
16910                     0xFC, 
16911                     One
16912                 }
16913             })
16914         }
16915     }
16916 
16917     Scope (\_PR.CPU1)
16918     {
16919         Name (_TPC, Zero)  // _TPC: Throttling Present Capabilities
16920         Method (_PTC, 0, NotSerialized)  // _PTC: Processor Throttling Control
16921         {
16922             Return (\_PR.CPU0._PTC ())
16923         }
16924 
16925         Method (_TSS, 0, NotSerialized)  // _TSS: Throttling Supported States
16926         {
16927             Return (\_PR.CPU0._TSS ())
16928         }
16929 
16930         Method (_TSD, 0, NotSerialized)  // _TSD: Throttling State Dependencies
16931         {
16932             If (!(PDC0 & 0x04))
16933             {
16934                 Return (Package (0x01)
16935                 {
16936                     Package (0x05)
16937                     {
16938                         0x05, 
16939                         Zero, 
16940                         Zero, 
16941                         0xFD, 
16942                         MPEN
16943                     }
16944                 })
16945             }
16946 
16947             Return (Package (0x01)
16948             {
16949                 Package (0x05)
16950                 {
16951                     0x05, 
16952                     Zero, 
16953                     One, 
16954                     0xFC, 
16955                     One
16956                 }
16957             })
16958         }
16959     }
16960 
16961     Scope (\_PR.CPU2)
16962     {
16963         Name (_TPC, Zero)  // _TPC: Throttling Present Capabilities
16964         Method (_PTC, 0, NotSerialized)  // _PTC: Processor Throttling Control
16965         {
16966             Return (\_PR.CPU0._PTC ())
16967         }
16968 
16969         Method (_TSS, 0, NotSerialized)  // _TSS: Throttling Supported States
16970         {
16971             Return (\_PR.CPU0._TSS ())
16972         }
16973 
16974         Method (_TSD, 0, NotSerialized)  // _TSD: Throttling State Dependencies
16975         {
16976             If (!(PDC0 & 0x04))
16977             {
16978                 Return (Package (0x01)
16979                 {
16980                     Package (0x05)
16981                     {
16982                         0x05, 
16983                         Zero, 
16984                         Zero, 
16985                         0xFD, 
16986                         MPEN
16987                     }
16988                 })
16989             }
16990 
16991             Return (Package (0x01)
16992             {
16993                 Package (0x05)
16994                 {
16995                     0x05, 
16996                     Zero, 
16997                     One, 
16998                     0xFC, 
16999                     One
17000                 }
17001             })
17002         }
17003     }
17004 
17005     Scope (\_PR.CPU3)
17006     {
17007         Name (_TPC, Zero)  // _TPC: Throttling Present Capabilities
17008         Method (_PTC, 0, NotSerialized)  // _PTC: Processor Throttling Control
17009         {
17010             Return (\_PR.CPU0._PTC ())
17011         }
17012 
17013         Method (_TSS, 0, NotSerialized)  // _TSS: Throttling Supported States
17014         {
17015             Return (\_PR.CPU0._TSS ())
17016         }
17017 
17018         Method (_TSD, 0, NotSerialized)  // _TSD: Throttling State Dependencies
17019         {
17020             If (!(PDC0 & 0x04))
17021             {
17022                 Return (Package (0x01)
17023                 {
17024                     Package (0x05)
17025                     {
17026                         0x05, 
17027                         Zero, 
17028                         Zero, 
17029                         0xFD, 
17030                         MPEN
17031                     }
17032                 })
17033             }
17034 
17035             Return (Package (0x01)
17036             {
17037                 Package (0x05)
17038                 {
17039                     0x05, 
17040                     Zero, 
17041                     One, 
17042                     0xFC, 
17043                     One
17044                 }
17045             })
17046         }
17047     }
17048 }

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2019-08-15T20:23:28+0000, 550.7 KB) [[attachment:acpidump.txt]]
  • [get | view] (2019-08-15T20:23:34+0000, 10.1 KB) [[attachment:devinfo.txt]]
  • [get | view] (2019-08-15T20:23:39+0000, 13.2 KB) [[attachment:dmesg.txt]]
  • [get | view] (2019-08-15T20:23:42+0000, 1.6 KB) [[attachment:pciconf.txt]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.