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