7dd2477a6934b2b9bbcc642f3cfb698b3d31521d
[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, NotSerialized)  // _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, NotSerialized)  // _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                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
3749                 {
3750                     Name (RBUF, ResourceTemplate ()
3751                     {
3752                         Memory32Fixed (ReadWrite,
3753                             0xDF498000,         // Address Base
3754                             0x00001000,         // Address Length
3755                             _Y07)
3756                         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
3757                         {
3758                             0x00000018,
3759                         }
3760                     })
3761                     CreateDWordField (RBUF, \_SB.LPEA.ADMA._CRS._Y07._BAS, B0BA)  // _BAS: Base Address
3762                     B0BA = LPE0 /* \LPE0 */
3763                     Return (RBUF) /* \_SB_.LPEA.ADMA._CRS.RBUF */
3764                 }
3765             }
3766
3767             Device (SSP1)
3768             {
3769                 Name (_ADR, Zero)  // _ADR: Address
3770                 Name (_HID, "SSPX0000" /* Intel SSP Device */)  // _HID: Hardware ID
3771                 Name (_CID, "SSPX0000" /* Intel SSP Device */)  // _CID: Compatible ID
3772                 Name (_DDN, "Intel(R) SSP Device")  // _DDN: DOS Device Name
3773                 Name (_UID, One)  // _UID: Unique ID
3774                 Method (_STA, 0, NotSerialized)  // _STA: Status
3775                 {
3776                     If ((OSSL & 0x80))
3777                     {
3778                         Return (0x0F)
3779                     }
3780
3781                     Return (Zero)
3782                 }
3783
3784                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
3785                 {
3786                     Name (RBUF, ResourceTemplate ()
3787                     {
3788                         Memory32Fixed (ReadWrite,
3789                             0xDF4A1000,         // Address Base
3790                             0x00001000,         // Address Length
3791                             _Y08)
3792                         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
3793                         {
3794                             0x0000001B,
3795                         }
3796                     })
3797                     CreateDWordField (RBUF, \_SB.LPEA.SSP1._CRS._Y08._BAS, B0BA)  // _BAS: Base Address
3798                     B0BA = (LPE0 + 0x000A1000)
3799                     Return (RBUF) /* \_SB_.LPEA.SSP1._CRS.RBUF */
3800                 }
3801
3802                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
3803                 {
3804                     Name (T_0, Zero)  // _T_x: Emitted by ASL Compiler
3805                     If ((Arg0 == ToUUID ("886a3f26-600c-4401-b7b1-01e9c2e7e77e")))
3806                     {
3807                         Return ("BLUET")
3808                     }
3809
3810                     If ((Arg0 == ToUUID ("30d3f83e-2ee1-4bf0-86e9-f69ded2887ee")))
3811                     {
3812                         Return (One)
3813                     }
3814
3815                     If ((Arg0 == ToUUID ("208b1400-f7c8-4325-ab32-53cd79b7d0a6")))
3816                     {
3817                         Return (0xFF2A1000)
3818                     }
3819
3820                     If ((Arg0 == ToUUID ("e6e37c60-e78b-4fbd-bd26-5bd3667a6c9a")))
3821                     {
3822                         While (One)
3823                         {
3824                             T_0 = ToInteger (Arg1)
3825                             If ((T_0 == 0x08))
3826                             {
3827                                 Return (Buffer (0x05)
3828                                 {
3829                                      0x00, 0x00, 0x00, 0x00, 0x01                     /* ..... */
3830                                 })
3831                             }
3832                             Else
3833                             {
3834                                 If ((T_0 == 0x10))
3835                                 {
3836                                     Return (Buffer (0x05)
3837                                     {
3838                                          0x06, 0x02, 0x00, 0x0E, 0x10                     /* ..... */
3839                                     })
3840                                 }
3841                                 Else
3842                                 {
3843                                     If ((T_0 == 0x30))
3844                                     {
3845                                         Return (Buffer (0x05)
3846                                         {
3847                                              0x06, 0x02, 0x00, 0x0E, 0x10                     /* ..... */
3848                                         })
3849                                     }
3850                                 }
3851                             }
3852
3853                             Break
3854                         }
3855
3856                         Return ("ERR-T")
3857                     }
3858
3859                     Return ("ERR-M")
3860                 }
3861             }
3862         }
3863
3864         Device (TIMC)
3865         {
3866             Name (_ADR, Zero)  // _ADR: Address
3867             Name (_HID, "TIMC0F28")  // _HID: Hardware ID
3868             Name (_CID, "TIMC0F28")  // _CID: Compatible ID
3869             Name (_DDN, "Intel(R) Audio Machine Driver - TIMC0F28")  // _DDN: DOS Device Name
3870             Name (_UID, One)  // _UID: Unique ID
3871             Name (_DEP, Package (0x02)  // _DEP: Dependencies
3872             {
3873                 GPO2, 
3874                 ^I2C2.TTLV
3875             })
3876             Method (_STA, 0, NotSerialized)  // _STA: Status
3877             {
3878                 Return (Zero)
3879             }
3880
3881             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
3882             {
3883                 Name (RBUF, ResourceTemplate ()
3884                 {
3885                     GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
3886                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
3887                         )
3888                         {   // Pin list
3889                             0x0004
3890                         }
3891                     GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
3892                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
3893                         )
3894                         {   // Pin list
3895                             0x001B
3896                         }
3897                 })
3898                 Return (RBUF) /* \_SB_.TIMC._CRS.RBUF */
3899             }
3900         }
3901
3902         Device (AMCR)
3903         {
3904             Name (_ADR, Zero)  // _ADR: Address
3905             Name (_HID, "AMCR0F28" /* Intel Audio Machine Driver */)  // _HID: Hardware ID
3906             Name (_CID, "AMCR0F28" /* Intel Audio Machine Driver */)  // _CID: Compatible ID
3907             Name (_DDN, "Intel(R) Audio Machine Driver - AMCR0F28")  // _DDN: DOS Device Name
3908             Name (_UID, One)  // _UID: Unique ID
3909             Name (_DEP, Package (0x02)  // _DEP: Dependencies
3910             {
3911                 GPO2, 
3912                 ^I2C2.RTEK
3913             })
3914             Method (_STA, 0, NotSerialized)  // _STA: Status
3915             {
3916                 If ((OSSL & 0x80))
3917                 {
3918                     Return (0x0F)
3919                 }
3920
3921                 Return (Zero)
3922             }
3923
3924             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
3925             {
3926                 Name (RBUF, ResourceTemplate ()
3927                 {
3928                     GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
3929                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
3930                         )
3931                         {   // Pin list
3932                             0x0004
3933                         }
3934                     GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
3935                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
3936                         )
3937                         {   // Pin list
3938                             0x001B
3939                         }
3940                 })
3941                 Return (RBUF) /* \_SB_.AMCR._CRS.RBUF */
3942             }
3943         }
3944
3945         Device (HAD)
3946         {
3947             Name (_ADR, Zero)  // _ADR: Address
3948             Name (_HID, "HAD0F28" /* Intel HDMI Audio Driver */)  // _HID: Hardware ID
3949             Name (_CID, "HAD0F28" /* Intel HDMI Audio Driver */)  // _CID: Compatible ID
3950             Name (_DDN, "Intel(R) HDMI Audio Driver - HAD")  // _DDN: DOS Device Name
3951             Name (_UID, One)  // _UID: Unique ID
3952             Method (_STA, 0, NotSerialized)  // _STA: Status
3953             {
3954                 If ((OSSL & 0x80))
3955                 {
3956                     Return (0x0F)
3957                 }
3958
3959                 Return (Zero)
3960             }
3961
3962             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
3963             {
3964                 Name (RBUF, ResourceTemplate ()
3965                 {
3966                     Memory32Fixed (ReadWrite,
3967                         0x00065800,         // Address Base
3968                         0x00000140,         // Address Length
3969                         )
3970                 })
3971                 Return (RBUF) /* \_SB_.HAD_._CRS.RBUF */
3972             }
3973         }
3974     }
3975
3976     Scope (_SB.PCI0)
3977     {
3978         Scope (XHC1)
3979         {
3980             Name (_DDN, "Baytrail XHCI controller (CCG core/Host only)")  // _DDN: DOS Device Name
3981             Name (_DEP, Package (0x01)  // _DEP: Dependencies
3982             {
3983                 PEPD
3984             })
3985             Name (_STR, Unicode ("Baytrail XHCI controller (CCG core/Host only)"))  // _STR: Description String
3986             Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
3987             Name (MSET, Zero)
3988             Name (DDST, Zero)
3989             OperationRegion (PCSL, SystemMemory, 0xE00A0074, One)
3990             Field (PCSL, ByteAcc, NoLock, WriteAsZeros)
3991             {
3992                 PMPS,   2
3993             }
3994
3995             OperationRegion (PCSH, SystemMemory, 0xE00A0075, One)
3996             Field (PCSH, ByteAcc, NoLock, Preserve)
3997             {
3998                 PMCH,   8
3999             }
4000
4001             OperationRegion (XMSE, SystemMemory, 0xE00A0000, 0x0100)
4002             Field (XMSE, AnyAcc, NoLock, Preserve)
4003             {
4004                 Offset (0x04), 
4005                     ,   1, 
4006                 CMSE,   1, 
4007                 Offset (0x10), 
4008                 BAR0,   32, 
4009                 Offset (0x74), 
4010                 PMCS,   16, 
4011                 Offset (0xB0), 
4012                     ,   13, 
4013                 PHY2,   2, 
4014                     ,   13, 
4015                 USHP,   1, 
4016                     ,   1, 
4017                 SCFG,   1
4018             }
4019
4020             Method (PWOF, 0, Serialized)
4021             {
4022                 SCFG = One
4023             }
4024
4025             Method (PWON, 0, Serialized)
4026             {
4027                 SCFG = Zero
4028             }
4029
4030             OperationRegion (XPRT, SystemMemory, (PEBS + 0x000A0000), 0x0100)
4031             Field (XPRT, AnyAcc, NoLock, Preserve)
4032             {
4033                 DVID,   16, 
4034                 Offset (0x74), 
4035                 D0D3,   2, 
4036                 Offset (0x75), 
4037                 PMEE,   1, 
4038                     ,   6, 
4039                 PMES,   1, 
4040                 Offset (0xB0), 
4041                     ,   13, 
4042                 MB13,   1, 
4043                 MB14,   1, 
4044                 Offset (0xB4), 
4045                 Offset (0xD0), 
4046                 PR2,    32, 
4047                 PR2M,   32, 
4048                 PR3,    32, 
4049                 PR3M,   32
4050             }
4051
4052             OperationRegion (XHCP, SystemMemory, (PEBS + 0x000A0000), 0x0100)
4053             Field (XHCP, AnyAcc, Lock, Preserve)
4054             {
4055                 Offset (0x04), 
4056                 PDBM,   16, 
4057                 Offset (0x10), 
4058                 MEMB,   32
4059             }
4060
4061             Name (PCHS, Zero)
4062             Name (SRMB, 0x90800000)
4063             Method (_PS0, 0, Serialized)  // _PS0: Power State 0
4064             {
4065                 ADBG ("XHC D0")
4066                 P8XH (Zero, 0xA0)
4067                 If ((DVID == 0xFFFF))
4068                 {
4069                     Return (Zero)
4070                 }
4071
4072                 SRMB = (MEMB & 0xFFFFFFF0)
4073                 Local2 = MEMB /* \_SB_.PCI0.XHC1.MEMB */
4074                 Local1 = PDBM /* \_SB_.PCI0.XHC1.PDBM */
4075                 PDBM &= 0xFFFFFFFFFFFFFFF9
4076                 MEMB = SRMB /* \_SB_.PCI0.XHC1.SRMB */
4077                 PDBM |= 0x02
4078                 OperationRegion (MCA1, SystemMemory, SRMB, 0x9000)
4079                 Field (MCA1, DWordAcc, Lock, Preserve)
4080                 {
4081                     Offset (0x510), 
4082                     R510,   32, 
4083                     Offset (0x520), 
4084                     R520,   32, 
4085                     Offset (0x530), 
4086                     R530,   32, 
4087                     Offset (0x540), 
4088                     R540,   32, 
4089                     Offset (0x8058), 
4090                     Offset (0x8059), 
4091                     CDES,   1, 
4092                     Offset (0x805A), 
4093                     STSP,   1, 
4094                         ,   3, 
4095                     CFEC,   1, 
4096                     Offset (0x8060), 
4097                         ,   25, 
4098                     EPRE,   1, 
4099                     Offset (0x8094), 
4100                         ,   14, 
4101                     CMMF,   1, 
4102                         ,   6, 
4103                     ESSP,   1, 
4104                         ,   1, 
4105                     DAPA,   1, 
4106                     Offset (0x80E0), 
4107                         ,   15, 
4108                     AX15,   1, 
4109                     Offset (0x80FC), 
4110                         ,   25, 
4111                     PPL1,   1, 
4112                     Offset (0x8110), 
4113                         ,   1, 
4114                     CRNC,   1, 
4115                     Offset (0x8111), 
4116                     EPTD,   1, 
4117                         ,   2, 
4118                     HTPP,   1, 
4119                         ,   8, 
4120                     TRMC,   1, 
4121                     Offset (0x8140), 
4122                     MIDS,   12, 
4123                     AWPC,   12, 
4124                     EIHR,   8, 
4125                         ,   6, 
4126                     SSII,   1, 
4127                     SSIO,   1, 
4128                     HSII,   1, 
4129                     Offset (0x8154), 
4130                         ,   31, 
4131                     CLK2,   1, 
4132                     Offset (0x8164), 
4133                     ETBC,   1, 
4134                     ERBC,   1, 
4135                     ESAI,   1, 
4136                     ETMA,   1, 
4137                     EOAI,   1, 
4138                     EIAI,   1, 
4139                     TTEA,   1, 
4140                     ECMA,   1, 
4141                     Offset (0x816C), 
4142                         ,   2, 
4143                     CLK0,   1, 
4144                         ,   11, 
4145                     CLK1,   1, 
4146                     Offset (0x8188), 
4147                     Offset (0x818B), 
4148                     FIDD,   1, 
4149                         ,   1, 
4150                     FTSS,   1
4151                 }
4152
4153                 Local3 = D0D3 /* \_SB_.PCI0.XHC1.D0D3 */
4154                 If ((Local3 == 0x03))
4155                 {
4156                     D0D3 = Zero
4157                     Sleep (0x0A)
4158                 }
4159
4160                 If ((PCHS == 0x02))
4161                 {
4162                     MB13 = Zero
4163                     MB14 = Zero
4164                     CLK0 = Zero
4165                     CLK1 = Zero
4166                 }
4167
4168                 CLK2 = One
4169                 CDES = One
4170                 STSP = One
4171                 CFEC = Zero
4172                 EPRE = One
4173                 DAPA = One
4174                 ESSP = One
4175                 CMMF = One
4176                 PPL1 = One
4177                 CRNC = Zero
4178                 EPTD = Zero
4179                 HTPP = One
4180                 TRMC = One
4181                 MIDS = 0x3C
4182                 AWPC = 0x0F
4183                 EIHR = 0xFF
4184                 SSII = One
4185                 SSIO = One
4186                 HSII = One
4187                 ERBC = One
4188                 ETBC = One
4189                 ESAI = One
4190                 ETMA = One
4191                 EOAI = One
4192                 EIAI = One
4193                 TTEA = One
4194                 ECMA = One
4195                 FIDD = One
4196                 FTSS = One
4197                 USHP = Zero
4198                 If ((PCHS == 0x02))
4199                 {
4200                     While (((((R510 & 0x03FB) == 0x02E0) || ((R520 & 
4201                         0x03FB) == 0x02E0)) || (((R530 & 0x03FB) == 0x02E0) || ((R540 & 
4202                         0x03FB) == 0x02E0))))
4203                     {
4204                         Stall (0x32)
4205                     }
4206
4207                     Local0 = R510 /* \_SB_.PCI0.XHC1._PS0.R510 */
4208                     If (((Local0 & 0x000203FB) == 0x02A0))
4209                     {
4210                         R510 = (Local0 | 0x80000000)
4211                         While (((R510 & 0x00180000) == Zero))
4212                         {
4213                             Stall (0x32)
4214                         }
4215
4216                         Local0 = (R510 & 0xFFFFFFFFFFFFFFFD)
4217                         R510 = (Local0 | 0x00FE0000)
4218                     }
4219
4220                     Local0 = R520 /* \_SB_.PCI0.XHC1._PS0.R520 */
4221                     If (((Local0 & 0x000203FB) == 0x02A0))
4222                     {
4223                         R520 = (Local0 | 0x80000000)
4224                         While (((R520 & 0x00180000) == Zero))
4225                         {
4226                             Stall (0x32)
4227                         }
4228
4229                         Local0 = (R520 & 0xFFFFFFFFFFFFFFFD)
4230                         R520 = (Local0 | 0x00FE0000)
4231                     }
4232
4233                     Local0 = R530 /* \_SB_.PCI0.XHC1._PS0.R530 */
4234                     If (((Local0 & 0x000203FB) == 0x02A0))
4235                     {
4236                         R530 = (Local0 | 0x80000000)
4237                         While (((R530 & 0x00180000) == Zero))
4238                         {
4239                             Stall (0x32)
4240                         }
4241
4242                         Local0 = (R530 & 0xFFFFFFFFFFFFFFFD)
4243                         R530 = (Local0 | 0x00FE0000)
4244                     }
4245
4246                     Local0 = R540 /* \_SB_.PCI0.XHC1._PS0.R540 */
4247                     If (((Local0 & 0x000203FB) == 0x02A0))
4248                     {
4249                         R540 = (Local0 | 0x80000000)
4250                         While (((R540 & 0x00180000) == Zero))
4251                         {
4252                             Stall (0x32)
4253                         }
4254
4255                         Local0 = (R540 & 0xFFFFFFFFFFFFFFFD)
4256                         R540 = (Local0 | 0x00FE0000)
4257                     }
4258
4259                     AX15 = One
4260                 }
4261
4262                 If ((Local3 == 0x03))
4263                 {
4264                     ADBG ("PS0->D3")
4265                     P8XH (Zero, 0xA1)
4266                     D0D3 = 0x03
4267                 }
4268                 Else
4269                 {
4270                     P8XH (Zero, 0xA2)
4271                 }
4272
4273                 PDBM &= 0xFFFFFFFFFFFFFFFD
4274                 MEMB = Local2
4275                 PDBM = Local1
4276             }
4277
4278             Method (_PS3, 0, Serialized)  // _PS3: Power State 3
4279             {
4280                 ADBG ("XHC D3")
4281                 P8XH (Zero, 0xB0)
4282                 If ((DVID == 0xFFFF))
4283                 {
4284                     Return (Zero)
4285                 }
4286
4287                 SRMB = (MEMB & 0xFFFFFFF0)
4288                 Local2 = MEMB /* \_SB_.PCI0.XHC1.MEMB */
4289                 Local1 = PDBM /* \_SB_.PCI0.XHC1.PDBM */
4290                 PDBM &= 0xFFFFFFFFFFFFFFF9
4291                 MEMB = SRMB /* \_SB_.PCI0.XHC1.SRMB */
4292                 PDBM |= 0x02
4293                 OperationRegion (MCA1, SystemMemory, SRMB, 0x9000)
4294                 Field (MCA1, DWordAcc, Lock, Preserve)
4295                 {
4296                     Offset (0x80E0), 
4297                         ,   15, 
4298                     AX15,   1, 
4299                     Offset (0x8154), 
4300                         ,   31, 
4301                     CLK2,   1, 
4302                     Offset (0x816C), 
4303                         ,   2, 
4304                     CLK0,   1, 
4305                         ,   11, 
4306                     CLK1,   1, 
4307                     Offset (0x8170)
4308                 }
4309
4310                 Local3 = D0D3 /* \_SB_.PCI0.XHC1.D0D3 */
4311                 If ((Local3 == 0x03))
4312                 {
4313                     D0D3 = Zero
4314                 }
4315
4316                 If ((PCHS == 0x02))
4317                 {
4318                     MB13 = One
4319                     MB14 = One
4320                     CLK0 = One
4321                     CLK1 = One
4322                 }
4323
4324                 CLK2 = Zero
4325                 If ((PCHS == 0x02))
4326                 {
4327                     AX15 = Zero
4328                 }
4329
4330                 If ((PMEE == One))
4331                 {
4332                     USHP = One
4333                 }
4334
4335                 If ((Local3 == 0x03))
4336                 {
4337                     ADBG ("PS3->D3")
4338                     P8XH (Zero, 0xB1)
4339                     D0D3 = 0x03
4340                 }
4341                 Else
4342                 {
4343                     P8XH (Zero, 0xB2)
4344                 }
4345
4346                 PDBM &= 0xFFFFFFFFFFFFFFFD
4347                 MEMB = Local2
4348                 PDBM = Local1
4349             }
4350
4351             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
4352             {
4353             }
4354
4355             Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
4356             {
4357                 Return (Zero)
4358             }
4359
4360             Method (_PR3, 0, NotSerialized)  // _PR3: Power Resources for D3hot
4361             {
4362                 Return (Package (0x01)
4363                 {
4364                     USBC
4365                 })
4366             }
4367
4368             Method (_STA, 0, NotSerialized)  // _STA: Status
4369             {
4370                 If ((XHCI != Zero))
4371                 {
4372                     Return (0x0F)
4373                 }
4374                 Else
4375                 {
4376                     Return (Zero)
4377                 }
4378             }
4379
4380             Device (RHUB)
4381             {
4382                 Name (_ADR, Zero)  // _ADR: Address
4383                 Device (SSP1)
4384                 {
4385                     Name (_ADR, 0x07)  // _ADR: Address
4386                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
4387                     {
4388                         Name (UPCP, Package (0x04)
4389                         {
4390                             Zero, 
4391                             0x06, 
4392                             Zero, 
4393                             Zero
4394                         })
4395                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._UPC.UPCP */
4396                     }
4397
4398                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
4399                     {
4400                         Name (PLDP, Package (0x01)
4401                         {
4402                             Buffer (0x14)
4403                             {
4404                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4405                                 /* 0008 */  0x48, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  /* H....... */
4406                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
4407                             }
4408                         })
4409                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._PLD.PLDP */
4410                     }
4411
4412                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
4413                     {
4414                         ADBG ("DSM11")
4415                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
4416                         {
4417                             ADBG ("DSM12")
4418                             If ((Arg1 == Zero))
4419                             {
4420                                 ADBG ("DSM13")
4421                                 If ((Arg2 == Zero))
4422                                 {
4423                                     ADBG ("SSP1 QUERY")
4424                                     Debug = "Method _DSM Function Query"
4425                                     Return (Buffer (One)
4426                                     {
4427                                          0x05                                             /* . */
4428                                     })
4429                                 }
4430
4431                                 If ((Arg2 == 0x02))
4432                                 {
4433                                     ADBG ("SSP1 DSM")
4434                                     Debug = "Method _DSM Function Index2"
4435                                     Return (Zero)
4436                                 }
4437                             }
4438                         }
4439                         Else
4440                         {
4441                             Return (Zero)
4442                         }
4443
4444                         Return (Zero)
4445                     }
4446                 }
4447
4448                 Device (HS01)
4449                 {
4450                     Name (_ADR, One)  // _ADR: Address
4451                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
4452                     {
4453                         Name (UPCP, Package (0x04)
4454                         {
4455                             0xFF, 
4456                             0x06, 
4457                             Zero, 
4458                             Zero
4459                         })
4460                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS01._UPC.UPCP */
4461                     }
4462
4463                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
4464                     {
4465                         Name (PLDP, Package (0x01)
4466                         {
4467                             Buffer (0x14)
4468                             {
4469                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4470                                 /* 0008 */  0x49, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  /* I....... */
4471                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
4472                             }
4473                         })
4474                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS01._PLD.PLDP */
4475                     }
4476
4477                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
4478                     {
4479                         ADBG ("DSM21")
4480                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
4481                         {
4482                             ADBG ("DSM22")
4483                             If ((Arg1 == Zero))
4484                             {
4485                                 ADBG ("DSM23")
4486                                 If ((Arg2 == Zero))
4487                                 {
4488                                     ADBG ("HS01 QUERY")
4489                                     Debug = "Method _DSM Function Query"
4490                                     Return (Buffer (One)
4491                                     {
4492                                          0x05                                             /* . */
4493                                     })
4494                                 }
4495
4496                                 If ((Arg2 == 0x02))
4497                                 {
4498                                     ADBG ("HS01 DSM")
4499                                     Debug = "Method _DSM Function Index2"
4500                                     Return (Zero)
4501                                 }
4502                             }
4503                         }
4504                         Else
4505                         {
4506                             Return (Zero)
4507                         }
4508
4509                         Return (Zero)
4510                     }
4511                 }
4512
4513                 Device (HS02)
4514                 {
4515                     Name (_ADR, 0x02)  // _ADR: Address
4516                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
4517                     {
4518                         Name (UPCP, Package (0x04)
4519                         {
4520                             0xFF, 
4521                             0xFF, 
4522                             Zero, 
4523                             Zero
4524                         })
4525                         Name (UPCR, Package (0x04)
4526                         {
4527                             0xFF, 
4528                             Zero, 
4529                             Zero, 
4530                             Zero
4531                         })
4532                         If ((BDID == 0x02))
4533                         {
4534                             Return (UPCR) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCR */
4535                         }
4536                         Else
4537                         {
4538                             Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCP */
4539                         }
4540                     }
4541
4542                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
4543                     {
4544                         Name (PLDP, Package (0x01)
4545                         {
4546                             Buffer (0x14)
4547                             {
4548                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4549                                 /* 0008 */  0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* @....... */
4550                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
4551                             }
4552                         })
4553                         Name (PLDR, Package (0x01)
4554                         {
4555                             Buffer (0x14)
4556                             {
4557                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4558                                 /* 0008 */  0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* A....... */
4559                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
4560                             }
4561                         })
4562                         If ((BDID == 0x02))
4563                         {
4564                             Return (PLDR) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDR */
4565                         }
4566                         Else
4567                         {
4568                             Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDP */
4569                         }
4570                     }
4571
4572                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
4573                     {
4574                         ADBG ("DSM31")
4575                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
4576                         {
4577                             ADBG ("DSM32")
4578                             If ((Arg1 == Zero))
4579                             {
4580                                 ADBG ("DSM33")
4581                                 If ((Arg2 == Zero))
4582                                 {
4583                                     ADBG ("HS02 QUERY")
4584                                     Debug = "Method _DSM Function Query"
4585                                     Return (Buffer (One)
4586                                     {
4587                                          0x05                                             /* . */
4588                                     })
4589                                 }
4590
4591                                 If ((Arg2 == 0x02))
4592                                 {
4593                                     ADBG ("HS02 DSM")
4594                                     Debug = "Method _DSM Function Index2"
4595                                     Return (Zero)
4596                                 }
4597                             }
4598                         }
4599                         Else
4600                         {
4601                             Return (Zero)
4602                         }
4603
4604                         Return (Zero)
4605                     }
4606                 }
4607
4608                 Device (HS03)
4609                 {
4610                     Name (_ADR, 0x03)  // _ADR: Address
4611                     Name (_DEP, Package (0x01)  // _DEP: Dependencies
4612                     {
4613                         GPO2
4614                     })
4615                     Name (PSTS, Zero)
4616                     PowerResource (WWPR, 0x00, 0x0000)
4617                     {
4618                         Name (_DEP, Package (0x01)  // _DEP: Dependencies
4619                         {
4620                             GPO2
4621                         })
4622                         Method (_STA, 0, NotSerialized)  // _STA: Status
4623                         {
4624                             If ((\_SB.GPO2.AVBL == One))
4625                             {
4626                                 Return (\_SB.GPO0.WWD3)
4627                             }
4628
4629                             Return (Zero)
4630                         }
4631
4632                         Method (_ON, 0, NotSerialized)  // _ON_: Power On
4633                         {
4634                             If ((PSTS == Zero))
4635                             {
4636                                 If ((\_SB.GPO2.AVBL == One))
4637                                 {
4638                                     Sleep (0x0200)
4639                                     \_SB.GPO0.WWD3 = One
4640                                     PSTS = One
4641                                 }
4642                             }
4643                         }
4644
4645                         Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
4646                         {
4647                             If ((\_SB.GPO2.AVBL == One))
4648                             {
4649                                 \_SB.GPO0.WWD3 = Zero
4650                                 PSTS = Zero
4651                             }
4652                         }
4653                     }
4654
4655                     Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
4656                     Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
4657                     {
4658                         WWPR
4659                     })
4660                     Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
4661                     {
4662                         WWPR
4663                     })
4664                     Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
4665                     {
4666                         WWPR
4667                     })
4668                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
4669                     {
4670                         Name (UPCP, Package (0x04)
4671                         {
4672                             0xFF, 
4673                             0xFF, 
4674                             Zero, 
4675                             Zero
4676                         })
4677                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS03._UPC.UPCP */
4678                     }
4679
4680                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
4681                     {
4682                         Name (PLDP, Package (0x01)
4683                         {
4684                             Buffer (0x14)
4685                             {
4686                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4687                                 /* 0008 */  0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* 0....... */
4688                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
4689                             }
4690                         })
4691                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS03._PLD.PLDP */
4692                     }
4693
4694                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
4695                     {
4696                         ADBG ("DSM41")
4697                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
4698                         {
4699                             ADBG ("DSM42")
4700                             If ((Arg1 == Zero))
4701                             {
4702                                 ADBG ("DSM43")
4703                                 If ((Arg2 == Zero))
4704                                 {
4705                                     ADBG ("HS03 QUERY")
4706                                     Debug = "Method _DSM Function Query"
4707                                     Return (Buffer (One)
4708                                     {
4709                                          0x05                                             /* . */
4710                                     })
4711                                 }
4712
4713                                 If ((Arg2 == 0x02))
4714                                 {
4715                                     ADBG ("HS03 DSM")
4716                                     Debug = "Method _DSM Function Index2"
4717                                     Return (Zero)
4718                                 }
4719                             }
4720                         }
4721                         Else
4722                         {
4723                             Return (Zero)
4724                         }
4725
4726                         Return (Zero)
4727                     }
4728
4729                     Device (MODM)
4730                     {
4731                         Name (_ADR, 0x03)  // _ADR: Address
4732                         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
4733                         {
4734                             WWPR
4735                         })
4736                         Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
4737                         {
4738                             WWPR
4739                         })
4740                         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
4741                         {
4742                             WWPR
4743                         })
4744                     }
4745                 }
4746
4747                 Device (HS04)
4748                 {
4749                     Name (_ADR, 0x04)  // _ADR: Address
4750                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
4751                     {
4752                         Name (UPCP, Package (0x04)
4753                         {
4754                             0xFF, 
4755                             0xFF, 
4756                             Zero, 
4757                             Zero
4758                         })
4759                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS04._UPC.UPCP */
4760                     }
4761
4762                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
4763                     {
4764                         Name (PLDP, Package (0x01)
4765                         {
4766                             Buffer (0x14)
4767                             {
4768                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4769                                 /* 0008 */  0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* 0....... */
4770                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
4771                             }
4772                         })
4773                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS04._PLD.PLDP */
4774                     }
4775
4776                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
4777                     {
4778                         ADBG ("DSM51")
4779                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
4780                         {
4781                             ADBG ("DSM52")
4782                             If ((Arg1 == Zero))
4783                             {
4784                                 ADBG ("DSM53")
4785                                 If ((Arg2 == Zero))
4786                                 {
4787                                     ADBG ("HS04 QUERY")
4788                                     Debug = "Method _DSM Function Query"
4789                                     Return (Buffer (One)
4790                                     {
4791                                          0x05                                             /* . */
4792                                     })
4793                                 }
4794
4795                                 If ((Arg2 == 0x02))
4796                                 {
4797                                     ADBG ("HS04 DSM")
4798                                     Debug = "Method _DSM Function Index2"
4799                                     Return (Zero)
4800                                 }
4801                             }
4802                         }
4803                         Else
4804                         {
4805                             Return (Zero)
4806                         }
4807
4808                         Return (Zero)
4809                     }
4810                 }
4811
4812                 Device (HSC1)
4813                 {
4814                     Name (_ADR, 0x05)  // _ADR: Address
4815                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
4816                     {
4817                         Name (UPCP, Package (0x04)
4818                         {
4819                             0xFF, 
4820                             0xFF, 
4821                             Zero, 
4822                             Zero
4823                         })
4824                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC1._UPC.UPCP */
4825                     }
4826
4827                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
4828                     {
4829                         Name (PLDP, Package (0x01)
4830                         {
4831                             Buffer (0x14)
4832                             {
4833                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4834                                 /* 0008 */  0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* 0....... */
4835                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
4836                             }
4837                         })
4838                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC1._PLD.PLDP */
4839                     }
4840
4841                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
4842                     {
4843                         ADBG ("DSM61")
4844                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
4845                         {
4846                             ADBG ("DSM62")
4847                             If ((Arg1 == Zero))
4848                             {
4849                                 ADBG ("DSM63")
4850                                 If ((Arg2 == Zero))
4851                                 {
4852                                     ADBG ("HSIC1 QUERY")
4853                                     Debug = "Method _DSM Function Query"
4854                                     Return (Buffer (One)
4855                                     {
4856                                          0x05                                             /* . */
4857                                     })
4858                                 }
4859
4860                                 If ((Arg2 == 0x02))
4861                                 {
4862                                     ADBG ("HSIC1 DSM")
4863                                     Debug = "Method _DSM Function Index2"
4864                                     Return (One)
4865                                 }
4866                             }
4867                         }
4868                         Else
4869                         {
4870                             Return (Zero)
4871                         }
4872
4873                         Return (Zero)
4874                     }
4875                 }
4876
4877                 Device (HSC2)
4878                 {
4879                     Name (_ADR, 0x06)  // _ADR: Address
4880                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
4881                     {
4882                         Name (UPCP, Package (0x04)
4883                         {
4884                             0xFF, 
4885                             0xFF, 
4886                             Zero, 
4887                             Zero
4888                         })
4889                         Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._UPC.UPCP */
4890                     }
4891
4892                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
4893                     {
4894                         Name (PLDP, Package (0x01)
4895                         {
4896                             Buffer (0x14)
4897                             {
4898                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4899                                 /* 0008 */  0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* 0....... */
4900                                 /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
4901                             }
4902                         })
4903                         Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._PLD.PLDP */
4904                     }
4905
4906                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
4907                     {
4908                         ADBG ("DSM71")
4909                         If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
4910                         {
4911                             ADBG ("DSM72")
4912                             If ((Arg1 == Zero))
4913                             {
4914                                 ADBG ("DSM73")
4915                                 If ((Arg2 == Zero))
4916                                 {
4917                                     ADBG ("HSIC2 QUERY")
4918                                     Debug = "Method _DSM Function Query"
4919                                     Return (Buffer (One)
4920                                     {
4921                                          0x05                                             /* . */
4922                                     })
4923                                 }
4924
4925                                 If ((Arg2 == 0x02))
4926                                 {
4927                                     ADBG ("HSIC2 DSM called")
4928                                     Debug = "Method _DSM Function Index2"
4929                                     Return (One)
4930                                 }
4931                             }
4932                         }
4933                         Else
4934                         {
4935                             Return (Zero)
4936                         }
4937
4938                         Return (Zero)
4939                     }
4940                 }
4941             }
4942         }
4943
4944         Device (OTG1)
4945         {
4946             Name (_ADR, 0x00160000)  // _ADR: Address
4947             Name (_DDN, "Baytrail XHCI controller (Synopsys core/OTG)")  // _DDN: DOS Device Name
4948             Name (_STR, Unicode ("Baytrail XHCI controller (Synopsys core/OTG)"))  // _STR: Description String
4949             Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
4950             OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
4951             Field (PMEB, WordAcc, NoLock, Preserve)
4952             {
4953                 Offset (0x01), 
4954                 PMEE,   1, 
4955                     ,   6, 
4956                 PMES,   1
4957             }
4958
4959             OperationRegion (GENR, PCI_Config, 0xA0, 0x10)
4960             Field (GENR, WordAcc, NoLock, Preserve)
4961             {
4962                     ,   18, 
4963                 CPME,   1, 
4964                 U2EN,   1, 
4965                 U3EN,   1
4966             }
4967
4968             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
4969             {
4970                 CPME = One
4971                 U2EN = One
4972                 U3EN = One
4973             }
4974
4975             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
4976             {
4977                 CPME = Zero
4978                 U2EN = Zero
4979                 U3EN = Zero
4980             }
4981
4982             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
4983             {
4984             }
4985
4986             Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
4987             {
4988                 Return (Zero)
4989             }
4990
4991             Method (_PR3, 0, NotSerialized)  // _PR3: Power Resources for D3hot
4992             {
4993                 Return (Package (0x01)
4994                 {
4995                     USBC
4996                 })
4997             }
4998
4999             Method (_STA, 0, NotSerialized)  // _STA: Status
5000             {
5001                 If ((OTGM != Zero))
5002                 {
5003                     Return (0x0F)
5004                 }
5005                 Else
5006                 {
5007                     Return (Zero)
5008                 }
5009             }
5010         }
5011
5012         Scope (\_SB)
5013         {
5014             PowerResource (USBC, 0x00, 0x0000)
5015             {
5016                 Method (_STA, 0, NotSerialized)  // _STA: Status
5017                 {
5018                     Return (0x0F)
5019                 }
5020
5021                 Method (_ON, 0, NotSerialized)  // _ON_: Power On
5022                 {
5023                 }
5024
5025                 Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
5026                 {
5027                 }
5028             }
5029         }
5030
5031         Scope (EHC1)
5032         {
5033             Name (_DEP, Package (0x01)  // _DEP: Dependencies
5034             {
5035                 PEPD
5036             })
5037             OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
5038             Field (PWKE, DWordAcc, NoLock, Preserve)
5039             {
5040                     ,   1, 
5041                 PWUC,   8
5042             }
5043
5044             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
5045             {
5046                 If (Arg0)
5047                 {
5048                     PWUC = Ones
5049                 }
5050                 Else
5051                 {
5052                     PWUC = Zero
5053                 }
5054             }
5055
5056             Device (HUBN)
5057             {
5058                 Name (_ADR, Zero)  // _ADR: Address
5059                 Device (PR01)
5060                 {
5061                     Name (_ADR, One)  // _ADR: Address
5062                     Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5063                     {
5064                         0xFF, 
5065                         Zero, 
5066                         Zero, 
5067                         Zero
5068                     })
5069                     Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5070                     {
5071                         ToPLD (
5072                             PLD_Revision       = 0x1,
5073                             PLD_IgnoreColor    = 0x1,
5074                             PLD_Red            = 0x0,
5075                             PLD_Green          = 0x0,
5076                             PLD_Blue           = 0x0,
5077                             PLD_Width          = 0x0,
5078                             PLD_Height         = 0x0,
5079                             PLD_UserVisible    = 0x0,
5080                             PLD_Dock           = 0x0,
5081                             PLD_Lid            = 0x0,
5082                             PLD_Panel          = "UNKNOWN",
5083                             PLD_VerticalPosition = "UPPER",
5084                             PLD_HorizontalPosition = "LEFT",
5085                             PLD_Shape          = "UNKNOWN",
5086                             PLD_GroupOrientation = 0x0,
5087                             PLD_GroupToken     = 0x0,
5088                             PLD_GroupPosition  = 0x0,
5089                             PLD_Bay            = 0x0,
5090                             PLD_Ejectable      = 0x0,
5091                             PLD_EjectRequired  = 0x0,
5092                             PLD_CabinetNumber  = 0x0,
5093                             PLD_CardCageNumber = 0x0,
5094                             PLD_Reference      = 0x0,
5095                             PLD_Rotation       = 0x0,
5096                             PLD_Order          = 0x0,
5097                             PLD_VerticalOffset = 0x0,
5098                             PLD_HorizontalOffset = 0x0)
5099
5100                     })
5101                     Device (PR11)
5102                     {
5103                         Name (_ADR, One)  // _ADR: Address
5104                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5105                         {
5106                             0xFF, 
5107                             0xFF, 
5108                             Zero, 
5109                             Zero
5110                         })
5111                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5112                         {
5113                             ToPLD (
5114                                 PLD_Revision       = 0x1,
5115                                 PLD_IgnoreColor    = 0x1,
5116                                 PLD_Red            = 0x0,
5117                                 PLD_Green          = 0x0,
5118                                 PLD_Blue           = 0x0,
5119                                 PLD_Width          = 0x0,
5120                                 PLD_Height         = 0x0,
5121                                 PLD_UserVisible    = 0x1,
5122                                 PLD_Dock           = 0x0,
5123                                 PLD_Lid            = 0x0,
5124                                 PLD_Panel          = "FRONT",
5125                                 PLD_VerticalPosition = "",
5126                                 PLD_HorizontalPosition = "LEFT",
5127                                 PLD_Shape          = "UNKNOWN",
5128                                 PLD_GroupOrientation = 0x0,
5129                                 PLD_GroupToken     = 0x0,
5130                                 PLD_GroupPosition  = 0x0,
5131                                 PLD_Bay            = 0x0,
5132                                 PLD_Ejectable      = 0x0,
5133                                 PLD_EjectRequired  = 0x0,
5134                                 PLD_CabinetNumber  = 0x0,
5135                                 PLD_CardCageNumber = 0x0,
5136                                 PLD_Reference      = 0x0,
5137                                 PLD_Rotation       = 0x0,
5138                                 PLD_Order          = 0x0,
5139                                 PLD_VerticalOffset = 0x0,
5140                                 PLD_HorizontalOffset = 0x0)
5141
5142                         })
5143                     }
5144
5145                     Device (PR12)
5146                     {
5147                         Name (_ADR, 0x02)  // _ADR: Address
5148                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5149                         {
5150                             0xFF, 
5151                             0xFF, 
5152                             Zero, 
5153                             Zero
5154                         })
5155                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5156                         {
5157                             ToPLD (
5158                                 PLD_Revision       = 0x1,
5159                                 PLD_IgnoreColor    = 0x1,
5160                                 PLD_Red            = 0x0,
5161                                 PLD_Green          = 0x0,
5162                                 PLD_Blue           = 0x0,
5163                                 PLD_Width          = 0x0,
5164                                 PLD_Height         = 0x0,
5165                                 PLD_UserVisible    = 0x1,
5166                                 PLD_Dock           = 0x0,
5167                                 PLD_Lid            = 0x0,
5168                                 PLD_Panel          = "FRONT",
5169                                 PLD_VerticalPosition = "",
5170                                 PLD_HorizontalPosition = "CENTER",
5171                                 PLD_Shape          = "UNKNOWN",
5172                                 PLD_GroupOrientation = 0x0,
5173                                 PLD_GroupToken     = 0x0,
5174                                 PLD_GroupPosition  = 0x0,
5175                                 PLD_Bay            = 0x0,
5176                                 PLD_Ejectable      = 0x0,
5177                                 PLD_EjectRequired  = 0x0,
5178                                 PLD_CabinetNumber  = 0x0,
5179                                 PLD_CardCageNumber = 0x0,
5180                                 PLD_Reference      = 0x0,
5181                                 PLD_Rotation       = 0x0,
5182                                 PLD_Order          = 0x0,
5183                                 PLD_VerticalOffset = 0x0,
5184                                 PLD_HorizontalOffset = 0x0)
5185
5186                         })
5187                     }
5188
5189                     Device (PR13)
5190                     {
5191                         Name (_ADR, 0x03)  // _ADR: Address
5192                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5193                         {
5194                             0xFF, 
5195                             0xFF, 
5196                             Zero, 
5197                             Zero
5198                         })
5199                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5200                         {
5201                             ToPLD (
5202                                 PLD_Revision       = 0x1,
5203                                 PLD_IgnoreColor    = 0x1,
5204                                 PLD_Red            = 0x0,
5205                                 PLD_Green          = 0x0,
5206                                 PLD_Blue           = 0x0,
5207                                 PLD_Width          = 0x0,
5208                                 PLD_Height         = 0x0,
5209                                 PLD_UserVisible    = 0x1,
5210                                 PLD_Dock           = 0x0,
5211                                 PLD_Lid            = 0x0,
5212                                 PLD_Panel          = "FRONT",
5213                                 PLD_VerticalPosition = "",
5214                                 PLD_HorizontalPosition = "CENTER",
5215                                 PLD_Shape          = "UNKNOWN",
5216                                 PLD_GroupOrientation = 0x0,
5217                                 PLD_GroupToken     = 0x0,
5218                                 PLD_GroupPosition  = 0x0,
5219                                 PLD_Bay            = 0x0,
5220                                 PLD_Ejectable      = 0x0,
5221                                 PLD_EjectRequired  = 0x0,
5222                                 PLD_CabinetNumber  = 0x0,
5223                                 PLD_CardCageNumber = 0x0,
5224                                 PLD_Reference      = 0x0,
5225                                 PLD_Rotation       = 0x0,
5226                                 PLD_Order          = 0x0,
5227                                 PLD_VerticalOffset = 0x0,
5228                                 PLD_HorizontalOffset = 0x0)
5229
5230                         })
5231                     }
5232
5233                     Device (PR14)
5234                     {
5235                         Name (_ADR, 0x04)  // _ADR: Address
5236                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5237                         {
5238                             0xFF, 
5239                             0xFF, 
5240                             Zero, 
5241                             Zero
5242                         })
5243                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5244                         {
5245                             ToPLD (
5246                                 PLD_Revision       = 0x1,
5247                                 PLD_IgnoreColor    = 0x1,
5248                                 PLD_Red            = 0x0,
5249                                 PLD_Green          = 0x0,
5250                                 PLD_Blue           = 0x0,
5251                                 PLD_Width          = 0x0,
5252                                 PLD_Height         = 0x0,
5253                                 PLD_UserVisible    = 0x1,
5254                                 PLD_Dock           = 0x0,
5255                                 PLD_Lid            = 0x0,
5256                                 PLD_Panel          = "FRONT",
5257                                 PLD_VerticalPosition = "",
5258                                 PLD_HorizontalPosition = "RIGHT",
5259                                 PLD_Shape          = "UNKNOWN",
5260                                 PLD_GroupOrientation = 0x0,
5261                                 PLD_GroupToken     = 0x0,
5262                                 PLD_GroupPosition  = 0x0,
5263                                 PLD_Bay            = 0x0,
5264                                 PLD_Ejectable      = 0x0,
5265                                 PLD_EjectRequired  = 0x0,
5266                                 PLD_CabinetNumber  = 0x0,
5267                                 PLD_CardCageNumber = 0x0,
5268                                 PLD_Reference      = 0x0,
5269                                 PLD_Rotation       = 0x0,
5270                                 PLD_Order          = 0x0,
5271                                 PLD_VerticalOffset = 0x0,
5272                                 PLD_HorizontalOffset = 0x0)
5273
5274                         })
5275                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
5276                         {
5277                             Name (T_0, Zero)  // _T_x: Emitted by ASL Compiler
5278                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
5279                             {
5280                                 While (One)
5281                                 {
5282                                     T_0 = ToInteger (Arg2)
5283                                     If ((T_0 == Zero))
5284                                     {
5285                                         If ((Arg1 == One))
5286                                         {
5287                                             Return (Buffer (One)
5288                                             {
5289                                                  0x07                                             /* . */
5290                                             })
5291                                         }
5292                                         Else
5293                                         {
5294                                             Return (Buffer (One)
5295                                             {
5296                                                  0x00                                             /* . */
5297                                             })
5298                                         }
5299                                     }
5300                                     Else
5301                                     {
5302                                         If ((T_0 == One))
5303                                         {
5304                                             If ((SDGV == 0xFF))
5305                                             {
5306                                                 Return (Zero)
5307                                             }
5308                                             Else
5309                                             {
5310                                                 Return (One)
5311                                             }
5312                                         }
5313                                         Else
5314                                         {
5315                                             If ((T_0 == 0x02))
5316                                             {
5317                                                 Return (SDGV) /* \SDGV */
5318                                             }
5319                                         }
5320                                     }
5321
5322                                     Break
5323                                 }
5324                             }
5325
5326                             Return (Zero)
5327                         }
5328                     }
5329
5330                     Device (PR15)
5331                     {
5332                         Name (_ADR, 0x05)  // _ADR: Address
5333                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5334                         {
5335                             0xFF, 
5336                             0xFF, 
5337                             Zero, 
5338                             Zero
5339                         })
5340                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5341                         {
5342                             ToPLD (
5343                                 PLD_Revision       = 0x1,
5344                                 PLD_IgnoreColor    = 0x1,
5345                                 PLD_Red            = 0x0,
5346                                 PLD_Green          = 0x0,
5347                                 PLD_Blue           = 0x0,
5348                                 PLD_Width          = 0x0,
5349                                 PLD_Height         = 0x0,
5350                                 PLD_UserVisible    = 0x1,
5351                                 PLD_Dock           = 0x0,
5352                                 PLD_Lid            = 0x0,
5353                                 PLD_Panel          = "UNKNOWN",
5354                                 PLD_VerticalPosition = "LOWER",
5355                                 PLD_HorizontalPosition = "RIGHT",
5356                                 PLD_Shape          = "UNKNOWN",
5357                                 PLD_GroupOrientation = 0x0,
5358                                 PLD_GroupToken     = 0x0,
5359                                 PLD_GroupPosition  = 0x0,
5360                                 PLD_Bay            = 0x0,
5361                                 PLD_Ejectable      = 0x0,
5362                                 PLD_EjectRequired  = 0x0,
5363                                 PLD_CabinetNumber  = 0x0,
5364                                 PLD_CardCageNumber = 0x0,
5365                                 PLD_Reference      = 0x0,
5366                                 PLD_Rotation       = 0x0,
5367                                 PLD_Order          = 0x0,
5368                                 PLD_VerticalOffset = 0x0,
5369                                 PLD_HorizontalOffset = 0x0)
5370
5371                         })
5372                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
5373                         {
5374                             Name (T_0, Zero)  // _T_x: Emitted by ASL Compiler
5375                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
5376                             {
5377                                 While (One)
5378                                 {
5379                                     T_0 = ToInteger (Arg2)
5380                                     If ((T_0 == Zero))
5381                                     {
5382                                         If ((Arg1 == One))
5383                                         {
5384                                             Return (Buffer (One)
5385                                             {
5386                                                  0x07                                             /* . */
5387                                             })
5388                                         }
5389                                         Else
5390                                         {
5391                                             Return (Buffer (One)
5392                                             {
5393                                                  0x00                                             /* . */
5394                                             })
5395                                         }
5396                                     }
5397                                     Else
5398                                     {
5399                                         If ((T_0 == One))
5400                                         {
5401                                             If ((SDGV == 0xFF))
5402                                             {
5403                                                 Return (Zero)
5404                                             }
5405                                             Else
5406                                             {
5407                                                 Return (One)
5408                                             }
5409                                         }
5410                                         Else
5411                                         {
5412                                             If ((T_0 == 0x02))
5413                                             {
5414                                                 Return (SDGV) /* \SDGV */
5415                                             }
5416                                         }
5417                                     }
5418
5419                                     Break
5420                                 }
5421                             }
5422
5423                             Return (Zero)
5424                         }
5425                     }
5426
5427                     Device (PR16)
5428                     {
5429                         Name (_ADR, 0x06)  // _ADR: Address
5430                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5431                         {
5432                             0xFF, 
5433                             0xFF, 
5434                             Zero, 
5435                             Zero
5436                         })
5437                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5438                         {
5439                             ToPLD (
5440                                 PLD_Revision       = 0x1,
5441                                 PLD_IgnoreColor    = 0x1,
5442                                 PLD_Red            = 0x0,
5443                                 PLD_Green          = 0x0,
5444                                 PLD_Blue           = 0x0,
5445                                 PLD_Width          = 0x0,
5446                                 PLD_Height         = 0x0,
5447                                 PLD_UserVisible    = 0x1,
5448                                 PLD_Dock           = 0x0,
5449                                 PLD_Lid            = 0x0,
5450                                 PLD_Panel          = "UNKNOWN",
5451                                 PLD_VerticalPosition = "LOWER",
5452                                 PLD_HorizontalPosition = "RIGHT",
5453                                 PLD_Shape          = "UNKNOWN",
5454                                 PLD_GroupOrientation = 0x0,
5455                                 PLD_GroupToken     = 0x0,
5456                                 PLD_GroupPosition  = 0x0,
5457                                 PLD_Bay            = 0x0,
5458                                 PLD_Ejectable      = 0x0,
5459                                 PLD_EjectRequired  = 0x0,
5460                                 PLD_CabinetNumber  = 0x0,
5461                                 PLD_CardCageNumber = 0x0,
5462                                 PLD_Reference      = 0x0,
5463                                 PLD_Rotation       = 0x0,
5464                                 PLD_Order          = 0x0,
5465                                 PLD_VerticalOffset = 0x0,
5466                                 PLD_HorizontalOffset = 0x0)
5467
5468                         })
5469                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
5470                         {
5471                             Name (T_0, Zero)  // _T_x: Emitted by ASL Compiler
5472                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
5473                             {
5474                                 While (One)
5475                                 {
5476                                     T_0 = ToInteger (Arg2)
5477                                     If ((T_0 == Zero))
5478                                     {
5479                                         If ((Arg1 == One))
5480                                         {
5481                                             Return (Buffer (One)
5482                                             {
5483                                                  0x07                                             /* . */
5484                                             })
5485                                         }
5486                                         Else
5487                                         {
5488                                             Return (Buffer (One)
5489                                             {
5490                                                  0x00                                             /* . */
5491                                             })
5492                                         }
5493                                     }
5494                                     Else
5495                                     {
5496                                         If ((T_0 == One))
5497                                         {
5498                                             If ((SDGV == 0xFF))
5499                                             {
5500                                                 Return (Zero)
5501                                             }
5502                                             Else
5503                                             {
5504                                                 Return (One)
5505                                             }
5506                                         }
5507                                         Else
5508                                         {
5509                                             If ((T_0 == 0x02))
5510                                             {
5511                                                 Return (SDGV) /* \SDGV */
5512                                             }
5513                                         }
5514                                     }
5515
5516                                     Break
5517                                 }
5518                             }
5519
5520                             Return (Zero)
5521                         }
5522                     }
5523
5524                     Device (PR17)
5525                     {
5526                         Name (_ADR, 0x07)  // _ADR: Address
5527                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5528                         {
5529                             0xFF, 
5530                             0xFF, 
5531                             Zero, 
5532                             Zero
5533                         })
5534                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5535                         {
5536                             ToPLD (
5537                                 PLD_Revision       = 0x1,
5538                                 PLD_IgnoreColor    = 0x1,
5539                                 PLD_Red            = 0x0,
5540                                 PLD_Green          = 0x0,
5541                                 PLD_Blue           = 0x0,
5542                                 PLD_Width          = 0x0,
5543                                 PLD_Height         = 0x0,
5544                                 PLD_UserVisible    = 0x1,
5545                                 PLD_Dock           = 0x0,
5546                                 PLD_Lid            = 0x0,
5547                                 PLD_Panel          = "UNKNOWN",
5548                                 PLD_VerticalPosition = "LOWER",
5549                                 PLD_HorizontalPosition = "RIGHT",
5550                                 PLD_Shape          = "UNKNOWN",
5551                                 PLD_GroupOrientation = 0x0,
5552                                 PLD_GroupToken     = 0x0,
5553                                 PLD_GroupPosition  = 0x0,
5554                                 PLD_Bay            = 0x0,
5555                                 PLD_Ejectable      = 0x0,
5556                                 PLD_EjectRequired  = 0x0,
5557                                 PLD_CabinetNumber  = 0x0,
5558                                 PLD_CardCageNumber = 0x0,
5559                                 PLD_Reference      = 0x0,
5560                                 PLD_Rotation       = 0x0,
5561                                 PLD_Order          = 0x0,
5562                                 PLD_VerticalOffset = 0x0,
5563                                 PLD_HorizontalOffset = 0x0)
5564
5565                         })
5566                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
5567                         {
5568                             Name (T_0, Zero)  // _T_x: Emitted by ASL Compiler
5569                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
5570                             {
5571                                 While (One)
5572                                 {
5573                                     T_0 = ToInteger (Arg2)
5574                                     If ((T_0 == Zero))
5575                                     {
5576                                         If ((Arg1 == One))
5577                                         {
5578                                             Return (Buffer (One)
5579                                             {
5580                                                  0x07                                             /* . */
5581                                             })
5582                                         }
5583                                         Else
5584                                         {
5585                                             Return (Buffer (One)
5586                                             {
5587                                                  0x00                                             /* . */
5588                                             })
5589                                         }
5590                                     }
5591                                     Else
5592                                     {
5593                                         If ((T_0 == One))
5594                                         {
5595                                             If ((SDGV == 0xFF))
5596                                             {
5597                                                 Return (Zero)
5598                                             }
5599                                             Else
5600                                             {
5601                                                 Return (One)
5602                                             }
5603                                         }
5604                                         Else
5605                                         {
5606                                             If ((T_0 == 0x02))
5607                                             {
5608                                                 Return (SDGV) /* \SDGV */
5609                                             }
5610                                         }
5611                                     }
5612
5613                                     Break
5614                                 }
5615                             }
5616
5617                             Return (Zero)
5618                         }
5619                     }
5620
5621                     Device (PR18)
5622                     {
5623                         Name (_ADR, 0x08)  // _ADR: Address
5624                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5625                         {
5626                             0xFF, 
5627                             0xFF, 
5628                             Zero, 
5629                             Zero
5630                         })
5631                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5632                         {
5633                             ToPLD (
5634                                 PLD_Revision       = 0x1,
5635                                 PLD_IgnoreColor    = 0x1,
5636                                 PLD_Red            = 0x0,
5637                                 PLD_Green          = 0x0,
5638                                 PLD_Blue           = 0x0,
5639                                 PLD_Width          = 0x0,
5640                                 PLD_Height         = 0x0,
5641                                 PLD_UserVisible    = 0x1,
5642                                 PLD_Dock           = 0x0,
5643                                 PLD_Lid            = 0x0,
5644                                 PLD_Panel          = "UNKNOWN",
5645                                 PLD_VerticalPosition = "LOWER",
5646                                 PLD_HorizontalPosition = "RIGHT",
5647                                 PLD_Shape          = "UNKNOWN",
5648                                 PLD_GroupOrientation = 0x0,
5649                                 PLD_GroupToken     = 0x0,
5650                                 PLD_GroupPosition  = 0x0,
5651                                 PLD_Bay            = 0x0,
5652                                 PLD_Ejectable      = 0x0,
5653                                 PLD_EjectRequired  = 0x0,
5654                                 PLD_CabinetNumber  = 0x0,
5655                                 PLD_CardCageNumber = 0x0,
5656                                 PLD_Reference      = 0x0,
5657                                 PLD_Rotation       = 0x0,
5658                                 PLD_Order          = 0x0,
5659                                 PLD_VerticalOffset = 0x0,
5660                                 PLD_HorizontalOffset = 0x0)
5661
5662                         })
5663                     }
5664                 }
5665             }
5666
5667             Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
5668             OperationRegion (USBR, PCI_Config, 0x54, 0x04)
5669             Field (USBR, WordAcc, NoLock, Preserve)
5670             {
5671                 Offset (0x01), 
5672                 PMEE,   1, 
5673                     ,   6, 
5674                 PMES,   1
5675             }
5676
5677             Method (_STA, 0, NotSerialized)  // _STA: Status
5678             {
5679                 If ((XHCI == Zero))
5680                 {
5681                     Return (0x0F)
5682                 }
5683                 Else
5684                 {
5685                     Return (Zero)
5686                 }
5687             }
5688
5689             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
5690             {
5691             }
5692
5693             Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
5694             {
5695                 Return (Zero)
5696             }
5697
5698             Method (_PR3, 0, NotSerialized)  // _PR3: Power Resources for D3hot
5699             {
5700                 Return (Package (0x01)
5701                 {
5702                     USBC
5703                 })
5704             }
5705         }
5706
5707         Device (SEC0)
5708         {
5709             Name (_ADR, 0x001A0000)  // _ADR: Address
5710             Name (_DEP, Package (0x01)  // _DEP: Dependencies
5711             {
5712                 PEPD
5713             })
5714             Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
5715             OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
5716             Field (PMEB, WordAcc, NoLock, Preserve)
5717             {
5718                 Offset (0x01), 
5719                 PMEE,   1, 
5720                     ,   6, 
5721                 PMES,   1
5722             }
5723
5724             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
5725             {
5726             }
5727
5728             Name (RBUF, ResourceTemplate ()
5729             {
5730                 Memory32Fixed (ReadWrite,
5731                     0x00000000,         // Address Base
5732                     0x00000000,         // Address Length
5733                     _Y09)
5734             })
5735             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
5736             {
5737                 If ((PAVP == 0x02))
5738                 {
5739                     CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y09._BAS, B0BA)  // _BAS: Base Address
5740                     CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y09._LEN, B0LN)  // _LEN: Length
5741                     B0BA = PAVB /* \PAVB */
5742                     B0LN = PAVL /* \PAVL */
5743                     Return (RBUF) /* \_SB_.PCI0.SEC0.RBUF */
5744                 }
5745
5746                 Return (ResourceTemplate ()
5747                 {
5748                 })
5749             }
5750         }
5751     }
5752
5753     Scope (_PR)
5754     {
5755         Processor (CPU0, 0x01, 0x00000000, 0x00) {}
5756         Processor (CPU1, 0x02, 0x00000000, 0x00) {}
5757         Processor (CPU2, 0x03, 0x00000000, 0x00) {}
5758         Processor (CPU3, 0x04, 0x00000000, 0x00) {}
5759     }
5760
5761     Mutex (MUTX, 0x00)
5762     OperationRegion (PRT0, SystemIO, 0x80, 0x04)
5763     Field (PRT0, DWordAcc, Lock, Preserve)
5764     {
5765         P80H,   32
5766     }
5767
5768     Method (P8XH, 2, Serialized)
5769     {
5770         If ((Arg0 == Zero))
5771         {
5772             P80D = ((P80D & 0xFFFFFF00) | Arg1)
5773         }
5774
5775         If ((Arg0 == One))
5776         {
5777             P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
5778         }
5779
5780         If ((Arg0 == 0x02))
5781         {
5782             P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
5783         }
5784
5785         If ((Arg0 == 0x03))
5786         {
5787             P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
5788         }
5789
5790         P80H = P80D /* \P80D */
5791     }
5792
5793     OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
5794     Field (SPRT, ByteAcc, Lock, Preserve)
5795     {
5796         SSMP,   8
5797     }
5798
5799     Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
5800     {
5801         GPIC = Arg0
5802         PICM = Arg0
5803     }
5804
5805     OperationRegion (SWC0, SystemIO, 0x0610, 0x0F)
5806     Field (SWC0, ByteAcc, NoLock, Preserve)
5807     {
5808         G1S,    8, 
5809         Offset (0x04), 
5810         G1E,    8, 
5811         Offset (0x0A), 
5812         G1S2,   8, 
5813         G1S3,   8
5814     }
5815
5816     OperationRegion (SWC1, SystemIO, PMBS, 0x2C)
5817     Field (SWC1, DWordAcc, NoLock, Preserve)
5818     {
5819         Offset (0x20), 
5820         G0S,    32, 
5821         Offset (0x28), 
5822         G0EN,   32
5823     }
5824
5825     Method (PPTS, 1, NotSerialized)
5826     {
5827         P80D = Zero
5828         P8XH (Zero, Arg0)
5829         G1S3 = Ones
5830         G1S2 = Ones
5831         G1S = One
5832         G1E = One
5833         G0S = Ones
5834         If (CondRefOf (TCGM))
5835         {
5836             \_SB.PCI0.LPCB.TPM.PTS (Arg0)
5837         }
5838     }
5839
5840     Method (PWAK, 1, Serialized)
5841     {
5842         P8XH (One, 0xAB)
5843         If (NEXP)
5844         {
5845             If ((OSCC & 0x02))
5846             {
5847                 \_SB.PCI0.NHPG ()
5848             }
5849
5850             If ((OSCC & 0x04))
5851             {
5852                 \_SB.PCI0.NPME ()
5853             }
5854         }
5855
5856         If (((Arg0 == 0x03) || (Arg0 == 0x04)))
5857         {
5858             If ((PFLV == FMBL))
5859             {
5860                 If ((Arg0 == 0x04))
5861                 {
5862                     PNOT ()
5863                 }
5864             }
5865
5866             If ((CFGD & 0x01000000)) {}
5867             If ((OSYS == 0x07D2))
5868             {
5869                 If ((CFGD & One))
5870                 {
5871                     If ((\_PR.CPU0._PPC > Zero))
5872                     {
5873                         \_PR.CPU0._PPC -= One
5874                         PNOT ()
5875                         \_PR.CPU0._PPC += One
5876                         PNOT ()
5877                     }
5878                     Else
5879                     {
5880                         \_PR.CPU0._PPC += One
5881                         PNOT ()
5882                         \_PR.CPU0._PPC -= One
5883                         PNOT ()
5884                     }
5885                 }
5886             }
5887         }
5888     }
5889
5890     Method (PNOT, 0, Serialized)
5891     {
5892         If (MPEN)
5893         {
5894             If ((PDC0 & 0x08))
5895             {
5896                 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
5897                 If ((PDC0 & 0x10))
5898                 {
5899                     Sleep (0x64)
5900                     Notify (\_PR.CPU0, 0x81) // C-State Change
5901                 }
5902             }
5903
5904             If ((PDC1 & 0x08))
5905             {
5906                 Notify (\_PR.CPU1, 0x80) // Performance Capability Change
5907                 If ((PDC1 & 0x10))
5908                 {
5909                     Sleep (0x64)
5910                     Notify (\_PR.CPU1, 0x81) // C-State Change
5911                 }
5912             }
5913
5914             If ((PDC2 & 0x08))
5915             {
5916                 Notify (\_PR.CPU2, 0x80) // Performance Capability Change
5917                 If ((PDC2 & 0x10))
5918                 {
5919                     Sleep (0x64)
5920                     Notify (\_PR.CPU2, 0x81) // C-State Change
5921                 }
5922             }
5923
5924             If ((PDC3 & 0x08))
5925             {
5926                 Notify (\_PR.CPU3, 0x80) // Performance Capability Change
5927                 If ((PDC3 & 0x10))
5928                 {
5929                     Sleep (0x64)
5930                     Notify (\_PR.CPU3, 0x81) // C-State Change
5931                 }
5932             }
5933         }
5934         Else
5935         {
5936             Notify (\_PR.CPU0, 0x80) // Performance Capability Change
5937             Sleep (0x64)
5938             Notify (\_PR.CPU0, 0x81) // C-State Change
5939         }
5940     }
5941
5942     Scope (_SB)
5943     {
5944         Name (CRTT, 0x6E)
5945         Name (ACTT, 0x55)
5946         Name (SCR0, 0x0102)
5947         Name (SCR1, 0x0102)
5948         Name (SCR2, 0x0102)
5949         Name (SCR3, 0x0102)
5950         Name (GCR0, 0x46)
5951         Name (GCR1, 0x46)
5952         Name (GCR2, 0x46)
5953         Name (GCR3, 0x46)
5954         Name (GCR4, 0x46)
5955         Name (PST0, 0x3C)
5956         Name (PST1, 0x3C)
5957         Name (PST2, 0x3C)
5958         Name (PST3, 0x3C)
5959         Name (PST4, 0x3C)
5960         Name (LPMV, 0x03)
5961         Name (PDBG, Zero)
5962         Name (PDPM, One)
5963         Name (PDBP, One)
5964         Name (DLPO, Package (0x06)
5965         {
5966             One, 
5967             One, 
5968             One, 
5969             0x19, 
5970             One, 
5971             One
5972         })
5973         Name (BRQD, Zero)
5974         Name (PSC1, Zero)
5975         Name (PSC2, Zero)
5976         Name (PSC3, Zero)
5977         Name (PSA1, Zero)
5978         Name (PSA2, Zero)
5979         Name (PSA3, Zero)
5980         Method (_INI, 0, NotSerialized)  // _INI: Initialize
5981         {
5982             CRTT = DPCT /* \DPCT */
5983             ACTT = DPPT /* \DPPT */
5984             GCR0 = DGC0 /* \DGC0 */
5985             GCR1 = DGC1 /* \DGC1 */
5986             GCR2 = DGC2 /* \DGC2 */
5987             GCR3 = DGC3 /* \DGC3 */
5988             GCR4 = DGC4 /* \DGC4 */
5989             PST0 = DGP0 /* \DGP0 */
5990             PST1 = DGP1 /* \DGP1 */
5991             PST2 = DGP2 /* \DGP2 */
5992             PST3 = DGP3 /* \DGP3 */
5993             PST4 = DGP4 /* \DGP4 */
5994             SCR0 = DSC0 /* \DSC0 */
5995             SCR1 = DSC1 /* \DSC1 */
5996             SCR2 = DSC2 /* \DSC2 */
5997             SCR3 = DSC3 /* \DSC3 */
5998             LPMV = DLPM /* \DLPM */
5999             PDBG = DDBG /* \DDBG */
6000             Index (DLPO, One) = LPOE /* \LPOE */
6001             Index (DLPO, 0x02) = LPPS /* \LPPS */
6002             Index (DLPO, 0x03) = LPST /* \LPST */
6003             Index (DLPO, 0x04) = LPPC /* \LPPC */
6004             Index (DLPO, 0x05) = LPPF /* \LPPF */
6005             PDPM = DPME /* \DPME */
6006         }
6007
6008         Scope (PCI0)
6009         {
6010             Method (_INI, 0, NotSerialized)  // _INI: Initialize
6011             {
6012                 OSYS = 0x07D0
6013                 If (CondRefOf (\_OSI, Local0))
6014                 {
6015                     If (_OSI ("Windows 2001"))
6016                     {
6017                         OSYS = 0x07D1
6018                     }
6019
6020                     If (_OSI ("Windows 2001 SP1"))
6021                     {
6022                         OSYS = 0x07D1
6023                     }
6024
6025                     If (_OSI ("Windows 2001 SP2"))
6026                     {
6027                         OSYS = 0x07D2
6028                     }
6029
6030                     If (_OSI ("Windows 2006"))
6031                     {
6032                         OSYS = 0x07D6
6033                     }
6034
6035                     If (_OSI ("Windows 2009"))
6036                     {
6037                         OSYS = 0x07D9
6038                     }
6039
6040                     If (_OSI ("Windows 2012"))
6041                     {
6042                         OSYS = 0x07DC
6043                     }
6044
6045                     If (_OSI ("Windows 2013"))
6046                     {
6047                         OSYS = 0x07DD
6048                     }
6049                 }
6050             }
6051
6052             Method (NHPG, 0, Serialized)
6053             {
6054             }
6055
6056             Method (NPME, 0, Serialized)
6057             {
6058             }
6059         }
6060
6061         Device (GPED)
6062         {
6063             Name (_ADR, Zero)  // _ADR: Address
6064             Name (_HID, "INT0002" /* Virtual GPIO Controller */)  // _HID: Hardware ID
6065             Name (_CID, "INT0002" /* Virtual GPIO Controller */)  // _CID: Compatible ID
6066             Name (_DDN, "Virtual GPIO controller")  // _DDN: DOS Device Name
6067             Name (_UID, One)  // _UID: Unique ID
6068             Name (INST, One)
6069             Name (XTMP, Zero)
6070             OperationRegion (SCIS, SystemMemory, 0xFED030C0, 0x04)
6071             Field (SCIS, DWordAcc, NoLock, Preserve)
6072             {
6073                 LGBE,   1, 
6074                 LHAD,   1, 
6075                 LATA,   1, 
6076                 LDIO,   1, 
6077                 LARD,   1, 
6078                 LIO1,   1, 
6079                 LCEP,   1, 
6080                 LANB,   1, 
6081                 LHCI,   1, 
6082                 LOTG,   1, 
6083                 LECI,   1, 
6084                 LHSI,   1
6085             }
6086
6087             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
6088             {
6089                 Return (SOCS) /* \SOCS */
6090             }
6091
6092             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
6093             {
6094                 If ((Arg0 == ToUUID ("8b38b469-6f95-4b08-9b02-2defcc2d2c35")))
6095                 {
6096                     If ((Arg2 == Zero))
6097                     {
6098                         If ((Arg1 == One))
6099                         {
6100                             Return (Buffer (One)
6101                             {
6102                                  0x03                                             /* . */
6103                             })
6104                         }
6105                     }
6106
6107                     If ((Arg2 == One))
6108                     {
6109                         Return ((PMBS + 0x20))
6110                     }
6111
6112                     Return (Zero)
6113                 }
6114                 Else
6115                 {
6116                     Return (Buffer (One)
6117                     {
6118                          0x00                                             /* . */
6119                     })
6120                 }
6121             }
6122
6123             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6124             {
6125                 Name (RBUF, ResourceTemplate ()
6126                 {
6127                     Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
6128                     {
6129                         0x00000009,
6130                     }
6131                 })
6132                 Return (RBUF) /* \_SB_.GPED._CRS.RBUF */
6133             }
6134
6135             Method (_STA, 0, NotSerialized)  // _STA: Status
6136             {
6137                 Return (0x0F)
6138             }
6139
6140             Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
6141             {
6142                 Name (RBUF, ResourceTemplate ()
6143                 {
6144                     GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
6145                         "\\_SB.GPED", 0x00, ResourceConsumer, ,
6146                         )
6147                         {   // Pin list
6148                             0x0002
6149                         }
6150                 })
6151                 Return (RBUF) /* \_SB_.GPED._AEI.RBUF */
6152             }
6153
6154             Method (_L02, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
6155             {
6156                 If ((XHCI == Zero))
6157                 {
6158                     If ((^^PCI0.EHC1.PMES == One))
6159                     {
6160                         ^^PCI0.EHC1.PMEE = Zero
6161                         Local0 = ^^PCI0.EHC1.PMEE /* \_SB_.PCI0.EHC1.PMEE */
6162                         Notify (^^PCI0.EHC1, 0x02) // Device Wake
6163                     }
6164                 }
6165                 Else
6166                 {
6167                     If ((SOCS > 0x05))
6168                     {
6169                         XTMP = (^^PCI0.XHC1.PMCS & 0x8000)
6170                         If ((XTMP == 0x8000))
6171                         {
6172                             Notify (^^PCI0.XHC1, 0x02) // Device Wake
6173                         }
6174                     }
6175                     Else
6176                     {
6177                         If ((SOCS > 0x02))
6178                         {
6179                             XTMP = (^^PCI0.XHC1.PMCS & 0x8000)
6180                             If ((XTMP == 0x8000))
6181                             {
6182                                 ^^PCI0.XHC1.PMCH = 0x81
6183                                 Notify (^^PCI0.XHC1, 0x02) // Device Wake
6184                             }
6185                         }
6186                         Else
6187                         {
6188                             XTMP = (^^PCI0.XHC1.PMCS & 0x0103)
6189                             If ((XTMP == 0x0103))
6190                             {
6191                                 ^^PCI0.XHC1.PMCS = 0x0100
6192                                 Sleep (0x0A)
6193                                 XTMP = (^^PCI0.XHC1.PMCS & 0x8000)
6194                                 If ((XTMP == 0x8000))
6195                                 {
6196                                     ^^PCI0.XHC1.PMCH = 0x81
6197                                 }
6198                                 Else
6199                                 {
6200                                     ^^PCI0.XHC1.PMCS = 0x0103
6201                                 }
6202
6203                                 Sleep (0x0A)
6204                                 Notify (^^PCI0.XHC1, 0x02) // Device Wake
6205                             }
6206                             Else
6207                             {
6208                                 ^^PCI0.XHC1.PMCH = 0x81
6209                                 Sleep (0x0A)
6210                             }
6211                         }
6212                     }
6213                 }
6214
6215                 If ((OTGM != Zero))
6216                 {
6217                     If ((^^PCI0.OTG1.PMES == One))
6218                     {
6219                         ADBG ("OTG wake")
6220                         ^^PCI0.OTG1.PMEE = Zero
6221                         ^^PCI0.OTG1.CPME = Zero
6222                         ^^PCI0.OTG1.U2EN = Zero
6223                         ^^PCI0.OTG1.U3EN = Zero
6224                         Notify (^^PCI0.OTG1, 0x02) // Device Wake
6225                     }
6226                 }
6227
6228                 If ((^^PCI0.SEC0.PMES == One))
6229                 {
6230                     ^^PCI0.SEC0.PMEE = Zero
6231                     Local0 = ^^PCI0.SEC0.PMEE /* \_SB_.PCI0.SEC0.PMEE */
6232                     Notify (^^PCI0.SEC0, 0x02) // Device Wake
6233                 }
6234             }
6235         }
6236
6237         Device (GPO0)
6238         {
6239             Name (_ADR, Zero)  // _ADR: Address
6240             Name (_HID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _HID: Hardware ID
6241             Name (_CID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _CID: Compatible ID
6242             Name (_DDN, "ValleyView General Purpose Input/Output (GPIO) controller")  // _DDN: DOS Device Name
6243             Name (_UID, One)  // _UID: Unique ID
6244             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6245             {
6246                 Name (RBUF, ResourceTemplate ()
6247                 {
6248                     Memory32Fixed (ReadWrite,
6249                         0xFED0C000,         // Address Base
6250                         0x00001000,         // Address Length
6251                         )
6252                     Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6253                     {
6254                         0x00000031,
6255                     }
6256                 })
6257                 Return (RBUF) /* \_SB_.GPO0._CRS.RBUF */
6258             }
6259
6260             Method (_STA, 0, NotSerialized)  // _STA: Status
6261             {
6262                 Return (0x0F)
6263             }
6264
6265             Name (AVBL, Zero)
6266             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
6267             {
6268                 If ((Arg0 == 0x08))
6269                 {
6270                     AVBL = Arg1
6271                 }
6272             }
6273
6274             OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
6275             Field (GPOP, ByteAcc, NoLock, Preserve)
6276             {
6277                 Connection (
6278                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6279                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
6280                         )
6281                         {   // Pin list
6282                             0x0002
6283                         }
6284                 ), 
6285                 CCU2,   1, 
6286                 Connection (
6287                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6288                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
6289                         )
6290                         {   // Pin list
6291                             0x0003
6292                         }
6293                 ), 
6294                 CCU3,   1, 
6295                 Connection (
6296                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6297                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
6298                         )
6299                         {   // Pin list
6300                             0x005F
6301                         }
6302                 ), 
6303                 TCON,   1, 
6304                 Connection (
6305                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6306                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
6307                         )
6308                         {   // Pin list
6309                             0x0064
6310                         }
6311                 ), 
6312                 WWD3,   1
6313             }
6314         }
6315
6316         Device (GPO1)
6317         {
6318             Name (_ADR, Zero)  // _ADR: Address
6319             Name (_HID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _HID: Hardware ID
6320             Name (_CID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _CID: Compatible ID
6321             Name (_DDN, "ValleyView GPNCORE controller")  // _DDN: DOS Device Name
6322             Name (_UID, 0x02)  // _UID: Unique ID
6323             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6324             {
6325                 Name (RBUF, ResourceTemplate ()
6326                 {
6327                     Memory32Fixed (ReadWrite,
6328                         0xFED0D000,         // Address Base
6329                         0x00001000,         // Address Length
6330                         )
6331                     Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6332                     {
6333                         0x00000030,
6334                     }
6335                 })
6336                 Return (RBUF) /* \_SB_.GPO1._CRS.RBUF */
6337             }
6338
6339             Name (AVBL, Zero)
6340             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
6341             {
6342                 If ((Arg0 == 0x08))
6343                 {
6344                     AVBL = Arg1
6345                 }
6346             }
6347
6348             OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
6349             Field (GPOP, ByteAcc, NoLock, Preserve)
6350             {
6351                 Connection (
6352                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6353                         "\\_SB.GPO1", 0x00, ResourceConsumer, ,
6354                         )
6355                         {   // Pin list
6356                             0x000F
6357                         }
6358                 ), 
6359                 BST5,   1, 
6360                 Connection (
6361                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6362                         "\\_SB.GPO1", 0x00, ResourceConsumer, ,
6363                         )
6364                         {   // Pin list
6365                             0x001A
6366                         }
6367                 ), 
6368                 TCD3,   1
6369             }
6370
6371             Method (_STA, 0, NotSerialized)  // _STA: Status
6372             {
6373                 Return (0x0F)
6374             }
6375         }
6376
6377         Device (GPO2)
6378         {
6379             Name (_ADR, Zero)  // _ADR: Address
6380             Name (_HID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _HID: Hardware ID
6381             Name (_CID, "INT33FC" /* Intel Baytrail GPIO Controller */)  // _CID: Compatible ID
6382             Name (_DDN, "ValleyView GPSUS controller")  // _DDN: DOS Device Name
6383             Name (_UID, 0x03)  // _UID: Unique ID
6384             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6385             {
6386                 Name (RBUF, ResourceTemplate ()
6387                 {
6388                     Memory32Fixed (ReadWrite,
6389                         0xFED0E000,         // Address Base
6390                         0x00001000,         // Address Length
6391                         )
6392                     Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6393                     {
6394                         0x00000032,
6395                     }
6396                 })
6397                 Return (RBUF) /* \_SB_.GPO2._CRS.RBUF */
6398             }
6399
6400             Method (_STA, 0, NotSerialized)  // _STA: Status
6401             {
6402                 Return (0x0F)
6403             }
6404
6405             Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
6406             {
6407                 Name (RBUF, ResourceTemplate ()
6408                 {
6409                     GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
6410                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
6411                         )
6412                         {   // Pin list
6413                             0x0012
6414                         }
6415                     GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
6416                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
6417                         )
6418                         {   // Pin list
6419                             0x0002
6420                         }
6421                 })
6422                 Name (FBUF, ResourceTemplate ()
6423                 {
6424                     GpioInt (Edge, ActiveBoth, SharedAndWake, PullUp, 0x0000,
6425                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
6426                         )
6427                         {   // Pin list
6428                             0x0012
6429                         }
6430                 })
6431                 Return (FBUF) /* \_SB_.GPO2._AEI.FBUF */
6432             }
6433
6434             Name (BMUX, Buffer (0x03)
6435             {
6436                  0x00, 0x01, 0x00                                 /* ... */
6437             })
6438             CreateByteField (BMUX, Zero, BBBY)
6439             CreateByteField (BMUX, 0x02, DDDT)
6440             Method (_E12, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
6441             {
6442                 If (((AVBL == One) && (^^GPO1.AVBL == One)))
6443                 {
6444                     If ((USID == One))
6445                     {
6446                         ^^GPO1.BST5 = Zero
6447                         Sleep (0x05)
6448                         BMUX = ^^I2C5.XP30 /* \_SB_.I2C5.XP30 */
6449                         DDDT &= 0x7F
6450                         ^^I2C5.XP30 = BMUX /* \_SB_.GPO2.BMUX */
6451                         MOTG = One
6452                         ^^PCI0.XHC1.PWOF ()
6453                     }
6454                     Else
6455                     {
6456                         BMUX = ^^I2C5.XP30 /* \_SB_.I2C5.XP30 */
6457                         DDDT |= 0x80
6458                         ^^I2C5.XP30 = BMUX /* \_SB_.GPO2.BMUX */
6459                         Sleep (0x05)
6460                         ^^GPO1.BST5 = One
6461                         Sleep (0x05)
6462                         MOTG = Zero
6463                         ^^PCI0.XHC1.PWON ()
6464                     }
6465                 }
6466             }
6467
6468             Name (BMBQ, Buffer (0x03)
6469             {
6470                  0x00, 0x01, 0x00                                 /* ... */
6471             })
6472             CreateByteField (BMBQ, Zero, BBBQ)
6473             CreateByteField (BMBQ, 0x02, DDBQ)
6474             Method (BOST, 1, NotSerialized)
6475             {
6476                 BMBQ = ^^I2C1.BQ01 /* \_SB_.I2C1.BQ01 */
6477                 If ((Arg0 == One))
6478                 {
6479                     DDBQ &= 0xCF
6480                     DDBQ |= 0x20
6481                 }
6482                 Else
6483                 {
6484                     DDBQ &= 0xCF
6485                     DDBQ |= 0x10
6486                 }
6487
6488                 ^^I2C1.BQ01 = BMBQ /* \_SB_.GPO2.BMBQ */
6489             }
6490
6491             Name (BUFC, Buffer (0x03)
6492             {
6493                  0x00, 0x01, 0x00                                 /* ... */
6494             })
6495             CreateByteField (BUFC, Zero, BYAT)
6496             CreateByteField (BUFC, 0x02, DATA)
6497             Name (AVBL, Zero)
6498             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
6499             {
6500                 If ((Arg0 == 0x08))
6501                 {
6502                     AVBL = Arg1
6503                 }
6504             }
6505
6506             OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
6507             Field (GPOP, ByteAcc, NoLock, Preserve)
6508             {
6509                 Connection (
6510                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6511                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
6512                         )
6513                         {   // Pin list
6514                             0x0014
6515                         }
6516                 ), 
6517                 WFD3,   1, 
6518                 Connection (
6519                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
6520                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
6521                         )
6522                         {   // Pin list
6523                             0x0001
6524                         }
6525                 ), 
6526                 MOTG,   1, 
6527                 Connection (
6528                     GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
6529                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
6530                         )
6531                         {   // Pin list
6532                             0x0012
6533                         }
6534                 ), 
6535                 USID,   1
6536             }
6537         }
6538
6539         Device (PEPD)
6540         {
6541             Name (_HID, "INT3396" /* Standard Power Management Controller */)  // _HID: Hardware ID
6542             Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */)  // _CID: Compatible ID
6543             Name (_UID, One)  // _UID: Unique ID
6544             Name (PEPP, Zero)
6545             Name (DEVS, Package (0x01)
6546             {
6547                 Zero
6548             })
6549             Name (DEVX, Package (0x0E)
6550             {
6551                 Package (0x02)
6552                 {
6553                     "\\_SB.PCI0.XHC1", 
6554                     One
6555                 }, 
6556
6557                 Package (0x02)
6558                 {
6559                     "\\_SB.PCI0.GFX0", 
6560                     One
6561                 }, 
6562
6563                 Package (0x02)
6564                 {
6565                     "\\_SB.PCI0.GFX0.ISP0", 
6566                     One
6567                 }, 
6568
6569                 Package (0x02)
6570                 {
6571                     "\\_SB.PCI0.SEC0", 
6572                     One
6573                 }, 
6574
6575                 Package (0x02)
6576                 {
6577                     "\\_SB.I2C1", 
6578                     One
6579                 }, 
6580
6581                 Package (0x02)
6582                 {
6583                     "\\_SB.I2C2", 
6584                     One
6585                 }, 
6586
6587                 Package (0x02)
6588                 {
6589                     "\\_SB.I2C3", 
6590                     One
6591                 }, 
6592
6593                 Package (0x02)
6594                 {
6595                     "\\_SB.I2C4", 
6596                     One
6597                 }, 
6598
6599                 Package (0x02)
6600                 {
6601                     "\\_SB.I2C5", 
6602                     One
6603                 }, 
6604
6605                 Package (0x02)
6606                 {
6607                     "\\_SB.SDHA", 
6608                     One
6609                 }, 
6610
6611                 Package (0x02)
6612                 {
6613                     "\\_SB.SDHB", 
6614                     One
6615                 }, 
6616
6617                 Package (0x02)
6618                 {
6619                     "\\_SB.SDHC", 
6620                     One
6621                 }, 
6622
6623                 Package (0x02)
6624                 {
6625                     "\\_SB.URT1", 
6626                     One
6627                 }, 
6628
6629                 Package (0x02)
6630                 {
6631                     "\\_SB.URT2", 
6632                     One
6633                 }
6634             })
6635             Name (DEX1, Package (0x0D)
6636             {
6637                 Package (0x02)
6638                 {
6639                     "\\_SB.PCI0.XHC1", 
6640                     One
6641                 }, 
6642
6643                 Package (0x02)
6644                 {
6645                     "\\_SB.PCI0.GFX0", 
6646                     One
6647                 }, 
6648
6649                 Package (0x02)
6650                 {
6651                     "\\_SB.PCI0.GFX0.ISP0", 
6652                     One
6653                 }, 
6654
6655                 Package (0x02)
6656                 {
6657                     "\\_SB.PCI0.SEC0", 
6658                     One
6659                 }, 
6660
6661                 Package (0x02)
6662                 {
6663                     "\\_SB.I2C1", 
6664                     One
6665                 }, 
6666
6667                 Package (0x02)
6668                 {
6669                     "\\_SB.I2C2", 
6670                     One
6671                 }, 
6672
6673                 Package (0x02)
6674                 {
6675                     "\\_SB.I2C3", 
6676                     One
6677                 }, 
6678
6679                 Package (0x02)
6680                 {
6681                     "\\_SB.I2C4", 
6682                     One
6683                 }, 
6684
6685                 Package (0x02)
6686                 {
6687                     "\\_SB.SDHA", 
6688                     One
6689                 }, 
6690
6691                 Package (0x02)
6692                 {
6693                     "\\_SB.SDHB", 
6694                     One
6695                 }, 
6696
6697                 Package (0x02)
6698                 {
6699                     "\\_SB.SDHC", 
6700                     One
6701                 }, 
6702
6703                 Package (0x02)
6704                 {
6705                     "\\_SB.URT1", 
6706                     One
6707                 }, 
6708
6709                 Package (0x02)
6710                 {
6711                     "\\_SB.URT2", 
6712                     One
6713                 }
6714             })
6715             Name (DEX2, Package (0x0D)
6716             {
6717                 Package (0x02)
6718                 {
6719                     "\\_SB.PCI0.XHC1", 
6720                     One
6721                 }, 
6722
6723                 Package (0x02)
6724                 {
6725                     "\\_SB.PCI0.GFX0", 
6726                     One
6727                 }, 
6728
6729                 Package (0x02)
6730                 {
6731                     "\\_SB.PCI0.GFX0.ISP0", 
6732                     One
6733                 }, 
6734
6735                 Package (0x02)
6736                 {
6737                     "\\_SB.PCI0.SEC0", 
6738                     One
6739                 }, 
6740
6741                 Package (0x02)
6742                 {
6743                     "\\_SB.I2C1", 
6744                     One
6745                 }, 
6746
6747                 Package (0x02)
6748                 {
6749                     "\\_SB.I2C2", 
6750                     One
6751                 }, 
6752
6753                 Package (0x02)
6754                 {
6755                     "\\_SB.I2C3", 
6756                     One
6757                 }, 
6758
6759                 Package (0x02)
6760                 {
6761                     "\\_SB.I2C4", 
6762                     One
6763                 }, 
6764
6765                 Package (0x02)
6766                 {
6767                     "\\_SB.SDHA", 
6768                     One
6769                 }, 
6770
6771                 Package (0x02)
6772                 {
6773                     "\\_SB.SDHB", 
6774                     One
6775                 }, 
6776
6777                 Package (0x02)
6778                 {
6779                     "\\_SB.SDHD", 
6780                     One
6781                 }, 
6782
6783                 Package (0x02)
6784                 {
6785                     "\\_SB.URT1", 
6786                     One
6787                 }, 
6788
6789                 Package (0x02)
6790                 {
6791                     "\\_SB.URT2", 
6792                     One
6793                 }
6794             })
6795             Name (CDMP, Package (0x02) {})
6796             Name (DEVY, Package (0x13)
6797             {
6798                 Package (0x03)
6799                 {
6800                     "\\_PR.CPU0", 
6801                     One, 
6802                     Package (0x02)
6803                     {
6804                         Zero, 
6805                         Package (0x02)
6806                         {
6807                             0xFF, 
6808                             Zero
6809                         }
6810                     }
6811                 }, 
6812
6813                 Package (0x03)
6814                 {
6815                     "\\_PR.CPU1", 
6816                     One, 
6817                     Package (0x02)
6818                     {
6819                         Zero, 
6820                         Package (0x02)
6821                         {
6822                             0xFF, 
6823                             Zero
6824                         }
6825                     }
6826                 }, 
6827
6828                 Package (0x03)
6829                 {
6830                     "\\_PR.CPU2", 
6831                     One, 
6832                     Package (0x02)
6833                     {
6834                         Zero, 
6835                         Package (0x02)
6836                         {
6837                             0xFF, 
6838                             Zero
6839                         }
6840                     }
6841                 }, 
6842
6843                 Package (0x03)
6844                 {
6845                     "\\_PR.CPU3", 
6846                     One, 
6847                     Package (0x02)
6848                     {
6849                         Zero, 
6850                         Package (0x02)
6851                         {
6852                             0xFF, 
6853                             Zero
6854                         }
6855                     }
6856                 }, 
6857
6858                 Package (0x03)
6859                 {
6860                     "\\_SB.PCI0.GFX0", 
6861                     One, 
6862                     Package (0x02)
6863                     {
6864                         Zero, 
6865                         Package (0x02)
6866                         {
6867                             0xFF, 
6868                             0x03
6869                         }
6870                     }
6871                 }, 
6872
6873                 Package (0x03)
6874                 {
6875                     "\\_SB.PCI0.GFX0.ISP0", 
6876                     One, 
6877                     Package (0x02)
6878                     {
6879                         Zero, 
6880                         Package (0x02)
6881                         {
6882                             0xFF, 
6883                             0x03
6884                         }
6885                     }
6886                 }, 
6887
6888                 Package (0x03)
6889                 {
6890                     "\\_SB.I2C1", 
6891                     One, 
6892                     Package (0x05)
6893                     {
6894                         Zero, 
6895                         Package (0x02)
6896                         {
6897                             Zero, 
6898                             Zero
6899                         }, 
6900
6901                         Package (0x02)
6902                         {
6903                             One, 
6904                             0x03
6905                         }, 
6906
6907                         Package (0x02)
6908                         {
6909                             0x02, 
6910                             0x03
6911                         }, 
6912
6913                         Package (0x02)
6914                         {
6915                             0x03, 
6916                             0x03
6917                         }
6918                     }
6919                 }, 
6920
6921                 Package (0x03)
6922                 {
6923                     "\\_SB.I2C2", 
6924                     One, 
6925                     Package (0x05)
6926                     {
6927                         Zero, 
6928                         Package (0x02)
6929                         {
6930                             Zero, 
6931                             Zero
6932                         }, 
6933
6934                         Package (0x02)
6935                         {
6936                             One, 
6937                             0x03
6938                         }, 
6939
6940                         Package (0x02)
6941                         {
6942                             0x02, 
6943                             0x03
6944                         }, 
6945
6946                         Package (0x02)
6947                         {
6948                             0x03, 
6949                             0x03
6950                         }
6951                     }
6952                 }, 
6953
6954                 Package (0x03)
6955                 {
6956                     "\\_SB.I2C3", 
6957                     One, 
6958                     Package (0x05)
6959                     {
6960                         Zero, 
6961                         Package (0x02)
6962                         {
6963                             Zero, 
6964                             Zero
6965                         }, 
6966
6967                         Package (0x02)
6968                         {
6969                             One, 
6970                             0x03
6971                         }, 
6972
6973                         Package (0x02)
6974                         {
6975                             0x02, 
6976                             0x03
6977                         }, 
6978
6979                         Package (0x02)
6980                         {
6981                             0x03, 
6982                             0x03
6983                         }
6984                     }
6985                 }, 
6986
6987                 Package (0x03)
6988                 {
6989                     "\\_SB.I2C4", 
6990                     One, 
6991                     Package (0x05)
6992                     {
6993                         Zero, 
6994                         Package (0x02)
6995                         {
6996                             Zero, 
6997                             Zero
6998                         }, 
6999
7000                         Package (0x02)
7001                         {
7002                             One, 
7003                             0x03
7004                         }, 
7005
7006                         Package (0x02)
7007                         {
7008                             0x02, 
7009                             0x03
7010                         }, 
7011
7012                         Package (0x02)
7013                         {
7014                             0x03, 
7015                             0x03
7016                         }
7017                     }
7018                 }, 
7019
7020                 Package (0x03)
7021                 {
7022                     "\\_SB.I2C5", 
7023                     One, 
7024                     Package (0x05)
7025                     {
7026                         Zero, 
7027                         Package (0x02)
7028                         {
7029                             Zero, 
7030                             Zero
7031                         }, 
7032
7033                         Package (0x02)
7034                         {
7035                             One, 
7036                             0x03
7037                         }, 
7038
7039                         Package (0x02)
7040                         {
7041                             0x02, 
7042                             0x03
7043                         }, 
7044
7045                         Package (0x02)
7046                         {
7047                             0x03, 
7048                             0x03
7049                         }
7050                     }
7051                 }, 
7052
7053                 Package (0x03)
7054                 {
7055                     "\\_SB.PCI0.XHC1", 
7056                     One, 
7057                     Package (0x05)
7058                     {
7059                         Zero, 
7060                         Package (0x02)
7061                         {
7062                             Zero, 
7063                             0x03
7064                         }, 
7065
7066                         Package (0x02)
7067                         {
7068                             One, 
7069                             0x03
7070                         }, 
7071
7072                         Package (0x02)
7073                         {
7074                             0x02, 
7075                             0x03
7076                         }, 
7077
7078                         Package (0x02)
7079                         {
7080                             0x03, 
7081                             0x03
7082                         }
7083                     }
7084                 }, 
7085
7086                 Package (0x03)
7087                 {
7088                     "\\_SB.PCI0.SEC0", 
7089                     One, 
7090                     Package (0x05)
7091                     {
7092                         Zero, 
7093                         Package (0x02)
7094                         {
7095                             Zero, 
7096                             Zero
7097                         }, 
7098
7099                         Package (0x02)
7100                         {
7101                             One, 
7102                             0x03
7103                         }, 
7104
7105                         Package (0x02)
7106                         {
7107                             0x02, 
7108                             0x03
7109                         }, 
7110
7111                         Package (0x02)
7112                         {
7113                             0x03, 
7114                             0x03
7115                         }
7116                     }
7117                 }, 
7118
7119                 Package (0x03)
7120                 {
7121                     "\\_SB.LPEA", 
7122                     One, 
7123                     Package (0x05)
7124                     {
7125                         Zero, 
7126                         Package (0x02)
7127                         {
7128                             Zero, 
7129                             Zero
7130                         }, 
7131
7132                         Package (0x02)
7133                         {
7134                             One, 
7135                             Zero
7136                         }, 
7137
7138                         Package (0x02)
7139                         {
7140                             0x02, 
7141                             0x03
7142                         }, 
7143
7144                         Package (0x02)
7145                         {
7146                             0x03, 
7147                             0x03
7148                         }
7149                     }
7150                 }, 
7151
7152                 Package (0x03)
7153                 {
7154                     "\\_SB.SDHA", 
7155                     One, 
7156                     Package (0x05)
7157                     {
7158                         Zero, 
7159                         Package (0x02)
7160                         {
7161                             Zero, 
7162                             Zero
7163                         }, 
7164
7165                         Package (0x02)
7166                         {
7167                             One, 
7168                             0x03
7169                         }, 
7170
7171                         Package (0x02)
7172                         {
7173                             0x02, 
7174                             0x03
7175                         }, 
7176
7177                         Package (0x02)
7178                         {
7179                             0x03, 
7180                             0x03
7181                         }
7182                     }
7183                 }, 
7184
7185                 Package (0x03)
7186                 {
7187                     "\\_SB.SDHB", 
7188                     One, 
7189                     Package (0x05)
7190                     {
7191                         Zero, 
7192                         Package (0x02)
7193                         {
7194                             Zero, 
7195                             Zero
7196                         }, 
7197
7198                         Package (0x02)
7199                         {
7200                             One, 
7201                             0x03
7202                         }, 
7203
7204                         Package (0x02)
7205                         {
7206                             0x02, 
7207                             0x03
7208                         }, 
7209
7210                         Package (0x02)
7211                         {
7212                             0x03, 
7213                             0x03
7214                         }
7215                     }
7216                 }, 
7217
7218                 Package (0x03)
7219                 {
7220                     "\\_SB.SDHC", 
7221                     One, 
7222                     Package (0x05)
7223                     {
7224                         Zero, 
7225                         Package (0x02)
7226                         {
7227                             Zero, 
7228                             Zero
7229                         }, 
7230
7231                         Package (0x02)
7232                         {
7233                             One, 
7234                             0x03
7235                         }, 
7236
7237                         Package (0x02)
7238                         {
7239                             0x02, 
7240                             0x03
7241                         }, 
7242
7243                         Package (0x02)
7244                         {
7245                             0x03, 
7246                             0x03
7247                         }
7248                     }
7249                 }, 
7250
7251                 Package (0x03)
7252                 {
7253                     "\\_SB.URT1", 
7254                     One, 
7255                     Package (0x05)
7256                     {
7257                         Zero, 
7258                         Package (0x02)
7259                         {
7260                             Zero, 
7261                             Zero
7262                         }, 
7263
7264                         Package (0x02)
7265                         {
7266                             One, 
7267                             0x03
7268                         }, 
7269
7270                         Package (0x02)
7271                         {
7272                             0x02, 
7273                             0x03
7274                         }, 
7275
7276                         Package (0x02)
7277                         {
7278                             0x03, 
7279                             0x03
7280                         }
7281                     }
7282                 }, 
7283
7284                 Package (0x03)
7285                 {
7286                     "\\_SB.URT2", 
7287                     One, 
7288                     Package (0x05)
7289                     {
7290                         Zero, 
7291                         Package (0x02)
7292                         {
7293                             Zero, 
7294                             Zero
7295                         }, 
7296
7297                         Package (0x02)
7298                         {
7299                             One, 
7300                             0x03
7301                         }, 
7302
7303                         Package (0x02)
7304                         {
7305                             0x02, 
7306                             0x03
7307                         }, 
7308
7309                         Package (0x02)
7310                         {
7311                             0x03, 
7312                             0x03
7313                         }
7314                     }
7315                 }
7316             })
7317             Name (DEY1, Package (0x12)
7318             {
7319                 Package (0x03)
7320                 {
7321                     "\\_PR.CPU0", 
7322                     One, 
7323                     Package (0x02)
7324                     {
7325                         Zero, 
7326                         Package (0x02)
7327                         {
7328                             0xFF, 
7329                             Zero
7330                         }
7331                     }
7332                 }, 
7333
7334                 Package (0x03)
7335                 {
7336                     "\\_PR.CPU1", 
7337                     One, 
7338                     Package (0x02)
7339                     {
7340                         Zero, 
7341                         Package (0x02)
7342                         {
7343                             0xFF, 
7344                             Zero
7345                         }
7346                     }
7347                 }, 
7348
7349                 Package (0x03)
7350                 {
7351                     "\\_PR.CPU2", 
7352                     One, 
7353                     Package (0x02)
7354                     {
7355                         Zero, 
7356                         Package (0x02)
7357                         {
7358                             0xFF, 
7359                             Zero
7360                         }
7361                     }
7362                 }, 
7363
7364                 Package (0x03)
7365                 {
7366                     "\\_PR.CPU3", 
7367                     One, 
7368                     Package (0x02)
7369                     {
7370                         Zero, 
7371                         Package (0x02)
7372                         {
7373                             0xFF, 
7374                             Zero
7375                         }
7376                     }
7377                 }, 
7378
7379                 Package (0x03)
7380                 {
7381                     "\\_SB.PCI0.GFX0", 
7382                     One, 
7383                     Package (0x02)
7384                     {
7385                         Zero, 
7386                         Package (0x02)
7387                         {
7388                             0xFF, 
7389                             0x03
7390                         }
7391                     }
7392                 }, 
7393
7394                 Package (0x03)
7395                 {
7396                     "\\_SB.PCI0.GFX0.ISP0", 
7397                     One, 
7398                     Package (0x02)
7399                     {
7400                         Zero, 
7401                         Package (0x02)
7402                         {
7403                             0xFF, 
7404                             0x03
7405                         }
7406                     }
7407                 }, 
7408
7409                 Package (0x03)
7410                 {
7411                     "\\_SB.I2C1", 
7412                     One, 
7413                     Package (0x05)
7414                     {
7415                         Zero, 
7416                         Package (0x02)
7417                         {
7418                             Zero, 
7419                             Zero
7420                         }, 
7421
7422                         Package (0x02)
7423                         {
7424                             One, 
7425                             0x03
7426                         }, 
7427
7428                         Package (0x02)
7429                         {
7430                             0x02, 
7431                             0x03
7432                         }, 
7433
7434                         Package (0x02)
7435                         {
7436                             0x03, 
7437                             0x03
7438                         }
7439                     }
7440                 }, 
7441
7442                 Package (0x03)
7443                 {
7444                     "\\_SB.I2C2", 
7445                     One, 
7446                     Package (0x05)
7447                     {
7448                         Zero, 
7449                         Package (0x02)
7450                         {
7451                             Zero, 
7452                             Zero
7453                         }, 
7454
7455                         Package (0x02)
7456                         {
7457                             One, 
7458                             0x03
7459                         }, 
7460
7461                         Package (0x02)
7462                         {
7463                             0x02, 
7464                             0x03
7465                         }, 
7466
7467                         Package (0x02)
7468                         {
7469                             0x03, 
7470                             0x03
7471                         }
7472                     }
7473                 }, 
7474
7475                 Package (0x03)
7476                 {
7477                     "\\_SB.I2C3", 
7478                     One, 
7479                     Package (0x05)
7480                     {
7481                         Zero, 
7482                         Package (0x02)
7483                         {
7484                             Zero, 
7485                             Zero
7486                         }, 
7487
7488                         Package (0x02)
7489                         {
7490                             One, 
7491                             0x03
7492                         }, 
7493
7494                         Package (0x02)
7495                         {
7496                             0x02, 
7497                             0x03
7498                         }, 
7499
7500                         Package (0x02)
7501                         {
7502                             0x03, 
7503                             0x03
7504                         }
7505                     }
7506                 }, 
7507
7508                 Package (0x03)
7509                 {
7510                     "\\_SB.I2C4", 
7511                     One, 
7512                     Package (0x05)
7513                     {
7514                         Zero, 
7515                         Package (0x02)
7516                         {
7517                             Zero, 
7518                             Zero
7519                         }, 
7520
7521                         Package (0x02)
7522                         {
7523                             One, 
7524                             0x03
7525                         }, 
7526
7527                         Package (0x02)
7528                         {
7529                             0x02, 
7530                             0x03
7531                         }, 
7532
7533                         Package (0x02)
7534                         {
7535                             0x03, 
7536                             0x03
7537                         }
7538                     }
7539                 }, 
7540
7541                 Package (0x03)
7542                 {
7543                     "\\_SB.PCI0.XHC1", 
7544                     One, 
7545                     Package (0x05)
7546                     {
7547                         Zero, 
7548                         Package (0x02)
7549                         {
7550                             Zero, 
7551                             0x03
7552                         }, 
7553
7554                         Package (0x02)
7555                         {
7556                             One, 
7557                             0x03
7558                         }, 
7559
7560                         Package (0x02)
7561                         {
7562                             0x02, 
7563                             0x03
7564                         }, 
7565
7566                         Package (0x02)
7567                         {
7568                             0x03, 
7569                             0x03
7570                         }
7571                     }
7572                 }, 
7573
7574                 Package (0x03)
7575                 {
7576                     "\\_SB.PCI0.SEC0", 
7577                     One, 
7578                     Package (0x05)
7579                     {
7580                         Zero, 
7581                         Package (0x02)
7582                         {
7583                             Zero, 
7584                             Zero
7585                         }, 
7586
7587                         Package (0x02)
7588                         {
7589                             One, 
7590                             0x03
7591                         }, 
7592
7593                         Package (0x02)
7594                         {
7595                             0x02, 
7596                             0x03
7597                         }, 
7598
7599                         Package (0x02)
7600                         {
7601                             0x03, 
7602                             0x03
7603                         }
7604                     }
7605                 }, 
7606
7607                 Package (0x03)
7608                 {
7609                     "\\_SB.LPEA", 
7610                     One, 
7611                     Package (0x05)
7612                     {
7613                         Zero, 
7614                         Package (0x02)
7615                         {
7616                             Zero, 
7617                             Zero
7618                         }, 
7619
7620                         Package (0x02)
7621                         {
7622                             One, 
7623                             Zero
7624                         }, 
7625
7626                         Package (0x02)
7627                         {
7628                             0x02, 
7629                             0x03
7630                         }, 
7631
7632                         Package (0x02)
7633                         {
7634                             0x03, 
7635                             0x03
7636                         }
7637                     }
7638                 }, 
7639
7640                 Package (0x03)
7641                 {
7642                     "\\_SB.SDHA", 
7643                     One, 
7644                     Package (0x05)
7645                     {
7646                         Zero, 
7647                         Package (0x02)
7648                         {
7649                             Zero, 
7650                             Zero
7651                         }, 
7652
7653                         Package (0x02)
7654                         {
7655                             One, 
7656                             0x03
7657                         }, 
7658
7659                         Package (0x02)
7660                         {
7661                             0x02, 
7662                             0x03
7663                         }, 
7664
7665                         Package (0x02)
7666                         {
7667                             0x03, 
7668                             0x03
7669                         }
7670                     }
7671                 }, 
7672
7673                 Package (0x03)
7674                 {
7675                     "\\_SB.SDHB", 
7676                     One, 
7677                     Package (0x05)
7678                     {
7679                         Zero, 
7680                         Package (0x02)
7681                         {
7682                             Zero, 
7683                             Zero
7684                         }, 
7685
7686                         Package (0x02)
7687                         {
7688                             One, 
7689                             0x03
7690                         }, 
7691
7692                         Package (0x02)
7693                         {
7694                             0x02, 
7695                             0x03
7696                         }, 
7697
7698                         Package (0x02)
7699                         {
7700                             0x03, 
7701                             0x03
7702                         }
7703                     }
7704                 }, 
7705
7706                 Package (0x03)
7707                 {
7708                     "\\_SB.SDHC", 
7709                     One, 
7710                     Package (0x05)
7711                     {
7712                         Zero, 
7713                         Package (0x02)
7714                         {
7715                             Zero, 
7716                             Zero
7717                         }, 
7718
7719                         Package (0x02)
7720                         {
7721                             One, 
7722                             0x03
7723                         }, 
7724
7725                         Package (0x02)
7726                         {
7727                             0x02, 
7728                             0x03
7729                         }, 
7730
7731                         Package (0x02)
7732                         {
7733                             0x03, 
7734                             0x03
7735                         }
7736                     }
7737                 }, 
7738
7739                 Package (0x03)
7740                 {
7741                     "\\_SB.URT1", 
7742                     One, 
7743                     Package (0x05)
7744                     {
7745                         Zero, 
7746                         Package (0x02)
7747                         {
7748                             Zero, 
7749                             Zero
7750                         }, 
7751
7752                         Package (0x02)
7753                         {
7754                             One, 
7755                             0x03
7756                         }, 
7757
7758                         Package (0x02)
7759                         {
7760                             0x02, 
7761                             0x03
7762                         }, 
7763
7764                         Package (0x02)
7765                         {
7766                             0x03, 
7767                             0x03
7768                         }
7769                     }
7770                 }, 
7771
7772                 Package (0x03)
7773                 {
7774                     "\\_SB.URT2", 
7775                     One, 
7776                     Package (0x05)
7777                     {
7778                         Zero, 
7779                         Package (0x02)
7780                         {
7781                             Zero, 
7782                             Zero
7783                         }, 
7784
7785                         Package (0x02)
7786                         {
7787                             One, 
7788                             0x03
7789                         }, 
7790
7791                         Package (0x02)
7792                         {
7793                             0x02, 
7794                             0x03
7795                         }, 
7796
7797                         Package (0x02)
7798                         {
7799                             0x03, 
7800                             0x03
7801                         }
7802                     }
7803                 }
7804             })
7805             Name (DEY2, Package (0x12)
7806             {
7807                 Package (0x03)
7808                 {
7809                     "\\_PR.CPU0", 
7810                     One, 
7811                     Package (0x02)
7812                     {
7813                         Zero, 
7814                         Package (0x02)
7815                         {
7816                             0xFF, 
7817                             Zero
7818                         }
7819                     }
7820                 }, 
7821
7822                 Package (0x03)
7823                 {
7824                     "\\_PR.CPU1", 
7825                     One, 
7826                     Package (0x02)
7827                     {
7828                         Zero, 
7829                         Package (0x02)
7830                         {
7831                             0xFF, 
7832                             Zero
7833                         }
7834                     }
7835                 }, 
7836
7837                 Package (0x03)
7838                 {
7839                     "\\_PR.CPU2", 
7840                     One, 
7841                     Package (0x02)
7842                     {
7843                         Zero, 
7844                         Package (0x02)
7845                         {
7846                             0xFF, 
7847                             Zero
7848                         }
7849                     }
7850                 }, 
7851
7852                 Package (0x03)
7853                 {
7854                     "\\_PR.CPU3", 
7855                     One, 
7856                     Package (0x02)
7857                     {
7858                         Zero, 
7859                         Package (0x02)
7860                         {
7861                             0xFF, 
7862                             Zero
7863                         }
7864                     }
7865                 }, 
7866
7867                 Package (0x03)
7868                 {
7869                     "\\_SB.PCI0.GFX0", 
7870                     One, 
7871                     Package (0x02)
7872                     {
7873                         Zero, 
7874                         Package (0x02)
7875                         {
7876                             0xFF, 
7877                             0x03
7878                         }
7879                     }
7880                 }, 
7881
7882                 Package (0x03)
7883                 {
7884                     "\\_SB.PCI0.GFX0.ISP0", 
7885                     One, 
7886                     Package (0x02)
7887                     {
7888                         Zero, 
7889                         Package (0x02)
7890                         {
7891                             0xFF, 
7892                             0x03
7893                         }
7894                     }
7895                 }, 
7896
7897                 Package (0x03)
7898                 {
7899                     "\\_SB.I2C1", 
7900                     One, 
7901                     Package (0x05)
7902                     {
7903                         Zero, 
7904                         Package (0x02)
7905                         {
7906                             Zero, 
7907                             Zero
7908                         }, 
7909
7910                         Package (0x02)
7911                         {
7912                             One, 
7913                             0x03
7914                         }, 
7915
7916                         Package (0x02)
7917                         {
7918                             0x02, 
7919                             0x03
7920                         }, 
7921
7922                         Package (0x02)
7923                         {
7924                             0x03, 
7925                             0x03
7926                         }
7927                     }
7928                 }, 
7929
7930                 Package (0x03)
7931                 {
7932                     "\\_SB.I2C2", 
7933                     One, 
7934                     Package (0x05)
7935                     {
7936                         Zero, 
7937                         Package (0x02)
7938                         {
7939                             Zero, 
7940                             Zero
7941                         }, 
7942
7943                         Package (0x02)
7944                         {
7945                             One, 
7946                             0x03
7947                         }, 
7948
7949                         Package (0x02)
7950                         {
7951                             0x02, 
7952                             0x03
7953                         }, 
7954
7955                         Package (0x02)
7956                         {
7957                             0x03, 
7958                             0x03
7959                         }
7960                     }
7961                 }, 
7962
7963                 Package (0x03)
7964                 {
7965                     "\\_SB.I2C3", 
7966                     One, 
7967                     Package (0x05)
7968                     {
7969                         Zero, 
7970                         Package (0x02)
7971                         {
7972                             Zero, 
7973                             Zero
7974                         }, 
7975
7976                         Package (0x02)
7977                         {
7978                             One, 
7979                             0x03
7980                         }, 
7981
7982                         Package (0x02)
7983                         {
7984                             0x02, 
7985                             0x03
7986                         }, 
7987
7988                         Package (0x02)
7989                         {
7990                             0x03, 
7991                             0x03
7992                         }
7993                     }
7994                 }, 
7995
7996                 Package (0x03)
7997                 {
7998                     "\\_SB.I2C4", 
7999                     One, 
8000                     Package (0x05)
8001                     {
8002                         Zero, 
8003                         Package (0x02)
8004                         {
8005                             Zero, 
8006                             Zero
8007                         }, 
8008
8009                         Package (0x02)
8010                         {
8011                             One, 
8012                             0x03
8013                         }, 
8014
8015                         Package (0x02)
8016                         {
8017                             0x02, 
8018                             0x03
8019                         }, 
8020
8021                         Package (0x02)
8022                         {
8023                             0x03, 
8024                             0x03
8025                         }
8026                     }
8027                 }, 
8028
8029                 Package (0x03)
8030                 {
8031                     "\\_SB.PCI0.XHC1", 
8032                     One, 
8033                     Package (0x05)
8034                     {
8035                         Zero, 
8036                         Package (0x02)
8037                         {
8038                             Zero, 
8039                             0x03
8040                         }, 
8041
8042                         Package (0x02)
8043                         {
8044                             One, 
8045                             0x03
8046                         }, 
8047
8048                         Package (0x02)
8049                         {
8050                             0x02, 
8051                             0x03
8052                         }, 
8053
8054                         Package (0x02)
8055                         {
8056                             0x03, 
8057                             0x03
8058                         }
8059                     }
8060                 }, 
8061
8062                 Package (0x03)
8063                 {
8064                     "\\_SB.PCI0.SEC0", 
8065                     One, 
8066                     Package (0x05)
8067                     {
8068                         Zero, 
8069                         Package (0x02)
8070                         {
8071                             Zero, 
8072                             Zero
8073                         }, 
8074
8075                         Package (0x02)
8076                         {
8077                             One, 
8078                             0x03
8079                         }, 
8080
8081                         Package (0x02)
8082                         {
8083                             0x02, 
8084                             0x03
8085                         }, 
8086
8087                         Package (0x02)
8088                         {
8089                             0x03, 
8090                             0x03
8091                         }
8092                     }
8093                 }, 
8094
8095                 Package (0x03)
8096                 {
8097                     "\\_SB.LPEA", 
8098                     One, 
8099                     Package (0x05)
8100                     {
8101                         Zero, 
8102                         Package (0x02)
8103                         {
8104                             Zero, 
8105                             Zero
8106                         }, 
8107
8108                         Package (0x02)
8109                         {
8110                             One, 
8111                             Zero
8112                         }, 
8113
8114                         Package (0x02)
8115                         {
8116                             0x02, 
8117                             0x03
8118                         }, 
8119
8120                         Package (0x02)
8121                         {
8122                             0x03, 
8123                             0x03
8124                         }
8125                     }
8126                 }, 
8127
8128                 Package (0x03)
8129                 {
8130                     "\\_SB.SDHA", 
8131                     One, 
8132                     Package (0x05)
8133                     {
8134                         Zero, 
8135                         Package (0x02)
8136                         {
8137                             Zero, 
8138                             Zero
8139                         }, 
8140
8141                         Package (0x02)
8142                         {
8143                             One, 
8144                             0x03
8145                         }, 
8146
8147                         Package (0x02)
8148                         {
8149                             0x02, 
8150                             0x03
8151                         }, 
8152
8153                         Package (0x02)
8154                         {
8155                             0x03, 
8156                             0x03
8157                         }
8158                     }
8159                 }, 
8160
8161                 Package (0x03)
8162                 {
8163                     "\\_SB.SDHB", 
8164                     One, 
8165                     Package (0x05)
8166                     {
8167                         Zero, 
8168                         Package (0x02)
8169                         {
8170                             Zero, 
8171                             Zero
8172                         }, 
8173
8174                         Package (0x02)
8175                         {
8176                             One, 
8177                             0x03
8178                         }, 
8179
8180                         Package (0x02)
8181                         {
8182                             0x02, 
8183                             0x03
8184                         }, 
8185
8186                         Package (0x02)
8187                         {
8188                             0x03, 
8189                             0x03
8190                         }
8191                     }
8192                 }, 
8193
8194                 Package (0x03)
8195                 {
8196                     "\\_SB.SDHD", 
8197                     One, 
8198                     Package (0x05)
8199                     {
8200                         Zero, 
8201                         Package (0x02)
8202                         {
8203                             Zero, 
8204                             Zero
8205                         }, 
8206
8207                         Package (0x02)
8208                         {
8209                             One, 
8210                             0x03
8211                         }, 
8212
8213                         Package (0x02)
8214                         {
8215                             0x02, 
8216                             0x03
8217                         }, 
8218
8219                         Package (0x02)
8220                         {
8221                             0x03, 
8222                             0x03
8223                         }
8224                     }
8225                 }, 
8226
8227                 Package (0x03)
8228                 {
8229                     "\\_SB.URT1", 
8230                     One, 
8231                     Package (0x05)
8232                     {
8233                         Zero, 
8234                         Package (0x02)
8235                         {
8236                             Zero, 
8237                             Zero
8238                         }, 
8239
8240                         Package (0x02)
8241                         {
8242                             One, 
8243                             0x03
8244                         }, 
8245
8246                         Package (0x02)
8247                         {
8248                             0x02, 
8249                             0x03
8250                         }, 
8251
8252                         Package (0x02)
8253                         {
8254                             0x03, 
8255                             0x03
8256                         }
8257                     }
8258                 }, 
8259
8260                 Package (0x03)
8261                 {
8262                     "\\_SB.URT2", 
8263                     One, 
8264                     Package (0x05)
8265                     {
8266                         Zero, 
8267                         Package (0x02)
8268                         {
8269                             Zero, 
8270                             Zero
8271                         }, 
8272
8273                         Package (0x02)
8274                         {
8275                             One, 
8276                             0x03
8277                         }, 
8278
8279                         Package (0x02)
8280                         {
8281                             0x02, 
8282                             0x03
8283                         }, 
8284
8285                         Package (0x02)
8286                         {
8287                             0x03, 
8288                             0x03
8289                         }
8290                     }
8291                 }
8292             })
8293             Name (BCCD, Package (0x01)
8294             {
8295                 Package (0x02)
8296                 {
8297                     "\\_SB.SDHA", 
8298                     Package (0x01)
8299                     {
8300                         Package (0x03)
8301                         {
8302                             Package (0x05)
8303                             {
8304                                 Zero, 
8305                                 0x20, 
8306                                 Zero, 
8307                                 0x03, 
8308                                 Ones
8309                             }, 
8310
8311                             Package (0x03)
8312                             {
8313                                 0xFFFFFFFC, 
8314                                 Zero, 
8315                                 0x04
8316                             }, 
8317
8318                             Zero
8319                         }
8320                     }
8321                 }
8322             })
8323             Method (_STA, 0, NotSerialized)  // _STA: Status
8324             {
8325                 Return (0x0F)
8326             }
8327
8328             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
8329             {
8330                 If ((Arg0 == ToUUID ("b8febfe0-baf8-454b-aecd-49fb91137b21")))
8331                 {
8332                     If ((Arg2 == Zero))
8333                     {
8334                         Return (Buffer (One)
8335                         {
8336                              0x0F                                             /* . */
8337                         })
8338                     }
8339
8340                     If ((Arg2 == One))
8341                     {
8342                         PEPP = One
8343                         Return (0x0F)
8344                     }
8345
8346                     If ((Arg2 == 0x02))
8347                     {
8348                         If ((Arg1 == Zero))
8349                         {
8350                             Return (DEVS) /* \_SB_.PEPD.DEVS */
8351                         }
8352
8353                         If ((Arg1 == One))
8354                         {
8355                             If ((PMID == 0x02))
8356                             {
8357                                 Return (DEVX) /* \_SB_.PEPD.DEVX */
8358                             }
8359                             Else
8360                             {
8361                                 If ((PMID == 0x05))
8362                                 {
8363                                     Return (DEX2) /* \_SB_.PEPD.DEX2 */
8364                                 }
8365
8366                                 Return (DEX1) /* \_SB_.PEPD.DEX1 */
8367                             }
8368                         }
8369                     }
8370
8371                     If ((Arg2 == 0x03))
8372                     {
8373                         Index (CDMP, Zero) = "\\_SB.SDHA"
8374                         Index (CDMP, One) = EM1A /* \EM1A */
8375                         Return (CDMP) /* \_SB_.PEPD.CDMP */
8376                     }
8377                 }
8378
8379                 If ((Arg0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66")))
8380                 {
8381                     If ((Arg2 == Zero))
8382                     {
8383                         Return (Buffer (One)
8384                         {
8385                              0x07                                             /* . */
8386                         })
8387                     }
8388
8389                     If ((Arg2 == One))
8390                     {
8391                         If ((PMID == 0x02))
8392                         {
8393                             Return (DEVY) /* \_SB_.PEPD.DEVY */
8394                         }
8395                         Else
8396                         {
8397                             If ((PMID == 0x05))
8398                             {
8399                                 Return (DEY2) /* \_SB_.PEPD.DEY2 */
8400                             }
8401
8402                             Return (DEY1) /* \_SB_.PEPD.DEY1 */
8403                         }
8404                     }
8405
8406                     If ((Arg2 == 0x02))
8407                     {
8408                         Local0 = EM1A /* \EM1A */
8409                         Local0 += 0x84
8410                         Index (DerefOf (Index (DerefOf (Index (DerefOf (Index (DerefOf (Index (BCCD, Zero
8411                             )), One)), Zero)), Zero)), 0x04) = Local0
8412                         Return (BCCD) /* \_SB_.PEPD.BCCD */
8413                     }
8414                 }
8415
8416                 Return (One)
8417             }
8418         }
8419
8420         Device (SDHA)
8421         {
8422             Name (_ADR, Zero)  // _ADR: Address
8423             Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */)  // _HID: Hardware ID
8424             Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */)  // _CID: Compatible ID
8425             Name (_DDN, "Intel(R) eMMC Controller - 80860F14")  // _DDN: DOS Device Name
8426             Name (_UID, One)  // _UID: Unique ID
8427             Name (_DEP, Package (0x01)  // _DEP: Dependencies
8428             {
8429                 PEPD
8430             })
8431             Name (RBF1, ResourceTemplate ()
8432             {
8433                 Memory32Fixed (ReadWrite,
8434                     0x00000000,         // Address Base
8435                     0x00001000,         // Address Length
8436                     _Y0A)
8437                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
8438                 {
8439                     0x0000002D,
8440                 }
8441             })
8442             Name (RBF2, ResourceTemplate ()
8443             {
8444                 Memory32Fixed (ReadWrite,
8445                     0x00000000,         // Address Base
8446                     0x00001000,         // Address Length
8447                     _Y0B)
8448                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
8449                 {
8450                     0x0000002C,
8451                 }
8452             })
8453             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
8454             {
8455                 CreateDWordField (RBF1, \_SB.SDHA._Y0A._BAS, B0B1)  // _BAS: Base Address
8456                 CreateDWordField (RBF1, \_SB.SDHA._Y0A._LEN, B0L1)  // _LEN: Length
8457                 B0B1 = EM0A /* \EM0A */
8458                 B0L1 = EM0L /* \EM0L */
8459                 CreateDWordField (RBF2, \_SB.SDHA._Y0B._BAS, B0B2)  // _BAS: Base Address
8460                 CreateDWordField (RBF2, \_SB.SDHA._Y0B._LEN, B0L2)  // _LEN: Length
8461                 B0B2 = EM0A /* \EM0A */
8462                 B0L2 = EM0L /* \EM0L */
8463                 If ((EMVR == One))
8464                 {
8465                     Return (RBF2) /* \_SB_.SDHA.RBF2 */
8466                 }
8467
8468                 Return (RBF1) /* \_SB_.SDHA.RBF1 */
8469             }
8470
8471             Method (_STA, 0, NotSerialized)  // _STA: Status
8472             {
8473                 Return (0x0F)
8474             }
8475
8476             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
8477             {
8478                 PSAT |= 0x03
8479                 Local0 = PSAT /* \_SB_.SDHA.PSAT */
8480                 If (((SOCS < 0x02) || ((SOCS == 0x02) && (EMVR == One))))
8481                 {
8482                     Sleep (0x02)
8483                 }
8484             }
8485
8486             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
8487             {
8488                 PSAT &= 0xFFFFFFFC
8489                 Local0 = PSAT /* \_SB_.SDHA.PSAT */
8490                 If (((SOCS < 0x02) || ((SOCS == 0x02) && (EMVR == One))))
8491                 {
8492                     Sleep (0x02)
8493                 }
8494             }
8495
8496             OperationRegion (KEYS, SystemMemory, EM1A, 0x0100)
8497             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
8498             {
8499                 Offset (0x84), 
8500                 PSAT,   32
8501             }
8502
8503             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
8504             {
8505             }
8506
8507             Device (EMMD)
8508             {
8509                 Name (_ADR, 0x08)  // _ADR: Address
8510                 Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
8511                 {
8512                     Return (Zero)
8513                 }
8514             }
8515         }
8516
8517         Device (SDHB)
8518         {
8519             Name (_ADR, Zero)  // _ADR: Address
8520             Name (_HID, "INT33BB" /* Intel Baytrail SD Host Controller */)  // _HID: Hardware ID
8521             Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */)  // _CID: Compatible ID
8522             Name (_DDN, "Intel(R) SDIO Controller - 80860F15")  // _DDN: DOS Device Name
8523             Name (_UID, 0x02)  // _UID: Unique ID
8524             Name (_HRV, 0x02)  // _HRV: Hardware Revision
8525             Name (_DEP, Package (0x02)  // _DEP: Dependencies
8526             {
8527                 PEPD, 
8528                 GPO2
8529             })
8530             Name (PSTS, Zero)
8531             Name (RBUF, ResourceTemplate ()
8532             {
8533                 Memory32Fixed (ReadWrite,
8534                     0x00000000,         // Address Base
8535                     0x00001000,         // Address Length
8536                     _Y0C)
8537                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
8538                 {
8539                     0x0000002E,
8540                 }
8541             })
8542             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
8543             {
8544                 CreateDWordField (RBUF, \_SB.SDHB._Y0C._BAS, B0BA)  // _BAS: Base Address
8545                 CreateDWordField (RBUF, \_SB.SDHB._Y0C._LEN, B0LN)  // _LEN: Length
8546                 B0BA = SI0A /* \SI0A */
8547                 B0LN = SI0L /* \SI0L */
8548                 Return (RBUF) /* \_SB_.SDHB.RBUF */
8549             }
8550
8551             Method (_STA, 0, NotSerialized)  // _STA: Status
8552             {
8553                 If ((STEP <= 0x04))
8554                 {
8555                     _HRV = SDMD /* \SDMD */
8556                 }
8557
8558                 If (((SI0A == Zero) || (SD2D == One)))
8559                 {
8560                     Return (Zero)
8561                 }
8562
8563                 Return (0x0F)
8564             }
8565
8566             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
8567             {
8568             }
8569
8570             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
8571             {
8572                 PSAT |= 0x03
8573                 Local0 = PSAT /* \_SB_.SDHB.PSAT */
8574             }
8575
8576             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
8577             {
8578                 PSAT &= 0xFFFFFFFC
8579                 Local0 = PSAT /* \_SB_.SDHB.PSAT */
8580                 If ((PSTS == Zero))
8581                 {
8582                     If ((^^GPO2.AVBL == One))
8583                     {
8584                         ^^GPO2.WFD3 = One
8585                         PSTS = One
8586                     }
8587                 }
8588             }
8589
8590             OperationRegion (KEYS, SystemMemory, SI1A, 0x0100)
8591             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
8592             {
8593                 Offset (0x84), 
8594                 PSAT,   32
8595             }
8596
8597             Device (WLAN)
8598             {
8599                 Name (_ADR, One)  // _ADR: Address
8600                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
8601                 {
8602                     GPO2
8603                 })
8604                 Method (_STA, 0, NotSerialized)  // _STA: Status
8605                 {
8606                     If ((OSSL & 0x80))
8607                     {
8608                         Return (Zero)
8609                     }
8610
8611                     Return (0x0F)
8612                 }
8613
8614                 Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
8615                 {
8616                     Return (Zero)
8617                 }
8618
8619                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
8620                 {
8621                     Zero, 
8622                     Zero
8623                 })
8624                 Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
8625                 Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
8626                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
8627                 {
8628                     Name (RBUF, ResourceTemplate ()
8629                     {
8630                         Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
8631                         {
8632                             0x00000045,
8633                         }
8634                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
8635                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
8636                             )
8637                             {   // Pin list
8638                                 0x0014
8639                             }
8640                     })
8641                     Return (RBUF) /* \_SB_.SDHB.WLAN._CRS.RBUF */
8642                 }
8643
8644                 Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
8645                 {
8646                 }
8647
8648                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
8649                 {
8650                 }
8651
8652                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
8653                 {
8654                 }
8655             }
8656
8657             Device (WLA2)
8658             {
8659                 Name (_ADR, 0x02)  // _ADR: Address
8660                 Method (_STA, 0, NotSerialized)  // _STA: Status
8661                 {
8662                     If ((OSSL & 0x80))
8663                     {
8664                         Return (Zero)
8665                     }
8666
8667                     Return (0x0F)
8668                 }
8669
8670                 Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
8671                 {
8672                     Return (Zero)
8673                 }
8674
8675                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
8676                 {
8677                     Name (NAM, Buffer (0x0F)
8678                     {
8679                         "\\_SB.SDHB.WLAN"
8680                     })
8681                     Name (SPB, Buffer (0x0C)
8682                     {
8683                         /* 0000 */  0x8E, 0x18, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00,  /* ........ */
8684                         /* 0008 */  0x00, 0x01, 0x00, 0x00                           /* .... */
8685                     })
8686                     Name (END, ResourceTemplate ()
8687                     {
8688                     })
8689                     Concatenate (SPB, NAM, Local0)
8690                     Concatenate (Local0, END, Local1)
8691                     Return (Local1)
8692                 }
8693             }
8694
8695             Device (RTLW)
8696             {
8697                 Name (_ADR, One)  // _ADR: Address
8698                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
8699                 {
8700                     GPO2
8701                 })
8702                 Name (_HID, "RTL8723" /* Realtek Wireless Controller */)  // _HID: Hardware ID
8703                 Name (_CID, "RTL8723" /* Realtek Wireless Controller */)  // _CID: Compatible ID
8704                 Method (_STA, 0, NotSerialized)  // _STA: Status
8705                 {
8706                     If ((OSSL & 0x80))
8707                     {
8708                         Return (0x0F)
8709                     }
8710
8711                     Return (Zero)
8712                 }
8713
8714                 Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
8715                 {
8716                     Return (Zero)
8717                 }
8718
8719                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
8720                 {
8721                     Zero, 
8722                     Zero
8723                 })
8724                 Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
8725                 Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
8726                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
8727                 {
8728                     Name (RBUF, ResourceTemplate ()
8729                     {
8730                         GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
8731                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
8732                             )
8733                             {   // Pin list
8734                                 0x000F
8735                             }
8736                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
8737                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
8738                             )
8739                             {   // Pin list
8740                                 0x0014
8741                             }
8742                     })
8743                     Return (RBUF) /* \_SB_.SDHB.RTLW._CRS.RBUF */
8744                 }
8745
8746                 Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
8747                 {
8748                 }
8749
8750                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
8751                 {
8752                     If ((^^^GPO2.AVBL == One))
8753                     {
8754                         ^^^GPO2.WFD3 = Zero
8755                         PSTS = Zero
8756                     }
8757                 }
8758
8759                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
8760                 {
8761                     If ((PSTS == Zero))
8762                     {
8763                         If ((^^^GPO2.AVBL == One))
8764                         {
8765                             ^^^GPO2.WFD3 = One
8766                             PSTS = One
8767                         }
8768                     }
8769                 }
8770             }
8771         }
8772
8773         Device (SDHC)
8774         {
8775             Name (_ADR, Zero)  // _ADR: Address
8776             Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */)  // _HID: Hardware ID
8777             Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */)  // _CID: Compatible ID
8778             Name (_DDN, "Intel(R) SD Card Controller - 80860F16")  // _DDN: DOS Device Name
8779             Name (_UID, 0x03)  // _UID: Unique ID
8780             Name (_DEP, Package (0x02)  // _DEP: Dependencies
8781             {
8782                 PEPD, 
8783                 GPO0
8784             })
8785             Name (TDEP, Package (0x04)
8786             {
8787                 PEPD, 
8788                 GPO0, 
8789                 I2C5, 
8790                 ^I2C5.PMI2
8791             })
8792             Name (RBUF, ResourceTemplate ()
8793             {
8794                 Memory32Fixed (ReadWrite,
8795                     0x00000000,         // Address Base
8796                     0x00001000,         // Address Length
8797                     _Y0D)
8798                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
8799                 {
8800                     0x0000002F,
8801                 }
8802                 GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710,
8803                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8804                     )
8805                     {   // Pin list
8806                         0x0026
8807                     }
8808                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
8809                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8810                     )
8811                     {   // Pin list
8812                         0x0026
8813                     }
8814             })
8815             Name (ABUF, ResourceTemplate ()
8816             {
8817                 Memory32Fixed (ReadWrite,
8818                     0x00000000,         // Address Base
8819                     0x00001000,         // Address Length
8820                     _Y0E)
8821                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
8822                 {
8823                     0x0000002F,
8824                 }
8825                 GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710,
8826                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8827                     )
8828                     {   // Pin list
8829                         0x0026
8830                     }
8831                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
8832                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8833                     )
8834                     {   // Pin list
8835                         0x0026
8836                     }
8837                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
8838                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8839                     )
8840                     {   // Pin list
8841                         0x0028
8842                     }
8843                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
8844                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8845                     )
8846                     {   // Pin list
8847                         0x0029
8848                     }
8849             })
8850             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
8851             {
8852                 CreateDWordField (RBUF, \_SB.SDHC._Y0D._BAS, B0BA)  // _BAS: Base Address
8853                 CreateDWordField (RBUF, \_SB.SDHC._Y0D._LEN, B0LN)  // _LEN: Length
8854                 B0BA = SD0A /* \SD0A */
8855                 B0LN = SD0L /* \SD0L */
8856                 CreateDWordField (ABUF, \_SB.SDHC._Y0E._BAS, B0BX)  // _BAS: Base Address
8857                 CreateDWordField (ABUF, \_SB.SDHC._Y0E._LEN, B0LX)  // _LEN: Length
8858                 B0BX = SD0A /* \SD0A */
8859                 B0LX = SD0L /* \SD0L */
8860                 If ((OSSL & 0x80))
8861                 {
8862                     Return (ABUF) /* \_SB_.SDHC.ABUF */
8863                 }
8864
8865                 Return (RBUF) /* \_SB_.SDHC.RBUF */
8866             }
8867
8868             Method (_STA, 0, NotSerialized)  // _STA: Status
8869             {
8870                 If (((SD0A == Zero) || (SD3D == One)))
8871                 {
8872                     Return (Zero)
8873                 }
8874
8875                 If ((PMID == 0x05))
8876                 {
8877                     ADBG ("XPWR_DCOVE")
8878                     Return (Zero)
8879                 }
8880
8881                 Return (0x0F)
8882             }
8883
8884             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
8885             {
8886                 ADBG ("SD card-----ps3")
8887                 PSAT |= 0x03
8888                 Local0 = PSAT /* \_SB_.SDHC.PSAT */
8889                 If (CondRefOf (\_SB.I2C5.PMI2, Local2))
8890                 {
8891                     If ((^^I2C5.PMI2.AVBL == One))
8892                     {
8893                         ^^I2C5.PMI2.LDO7 = Zero
8894                         If ((^^I2C5.PMI2.AVBG == One))
8895                         {
8896                             ADBG ("SD card-----333ps3")
8897                             ^^I2C5.PMI2.GSDX = One
8898                             Sleep (0x1E)
8899                         }
8900                     }
8901                 }
8902             }
8903
8904             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
8905             {
8906                 ADBG ("SD card-----ps0")
8907                 If (CondRefOf (\_SB.I2C5.PMI2, Local2))
8908                 {
8909                     If ((^^I2C5.PMI2.AVBL == One))
8910                     {
8911                         ^^I2C5.PMI2.LDO7 = One
8912                         If ((^^I2C5.PMI2.AVBG == One))
8913                         {
8914                             ADBG ("SD card-----000ps0")
8915                             ^^I2C5.PMI2.GSDX = One
8916                             Sleep (0x1E)
8917                         }
8918                     }
8919                 }
8920
8921                 PSAT &= 0xFFFFFFFC
8922                 Local0 = PSAT /* \_SB_.SDHC.PSAT */
8923             }
8924
8925             OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
8926             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
8927             {
8928                 Offset (0x84), 
8929                 PSAT,   32
8930             }
8931         }
8932
8933         Device (SDHD)
8934         {
8935             Name (_ADR, Zero)  // _ADR: Address
8936             Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */)  // _HID: Hardware ID
8937             Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */)  // _CID: Compatible ID
8938             Name (_DDN, "Intel(R) SD Card Controller - 80860F16")  // _DDN: DOS Device Name
8939             Name (_UID, 0x03)  // _UID: Unique ID
8940             Name (_DEP, Package (0x04)  // _DEP: Dependencies
8941             {
8942                 PEPD, 
8943                 GPO0, 
8944                 I2C5, 
8945                 ^I2C5.PMI1
8946             })
8947             Name (RBUF, ResourceTemplate ()
8948             {
8949                 Memory32Fixed (ReadWrite,
8950                     0x00000000,         // Address Base
8951                     0x00001000,         // Address Length
8952                     _Y0F)
8953                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
8954                 {
8955                     0x0000002F,
8956                 }
8957                 GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710,
8958                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8959                     )
8960                     {   // Pin list
8961                         0x0026
8962                     }
8963                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
8964                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8965                     )
8966                     {   // Pin list
8967                         0x0026
8968                     }
8969             })
8970             Name (ABUF, ResourceTemplate ()
8971             {
8972                 Memory32Fixed (ReadWrite,
8973                     0x00000000,         // Address Base
8974                     0x00001000,         // Address Length
8975                     _Y10)
8976                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
8977                 {
8978                     0x0000002F,
8979                 }
8980                 GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710,
8981                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8982                     )
8983                     {   // Pin list
8984                         0x0026
8985                     }
8986                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
8987                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8988                     )
8989                     {   // Pin list
8990                         0x0026
8991                     }
8992                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
8993                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
8994                     )
8995                     {   // Pin list
8996                         0x0028
8997                     }
8998                 GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
8999                     "\\_SB.GPO0", 0x00, ResourceConsumer, ,
9000                     )
9001                     {   // Pin list
9002                         0x0029
9003                     }
9004             })
9005             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9006             {
9007                 CreateDWordField (RBUF, \_SB.SDHD._Y0F._BAS, B0BA)  // _BAS: Base Address
9008                 CreateDWordField (RBUF, \_SB.SDHD._Y0F._LEN, B0LN)  // _LEN: Length
9009                 B0BA = SD0A /* \SD0A */
9010                 B0LN = SD0L /* \SD0L */
9011                 CreateDWordField (ABUF, \_SB.SDHD._Y10._BAS, B0BX)  // _BAS: Base Address
9012                 CreateDWordField (ABUF, \_SB.SDHD._Y10._LEN, B0LX)  // _LEN: Length
9013                 B0BX = SD0A /* \SD0A */
9014                 B0LX = SD0L /* \SD0L */
9015                 If ((OSSL & 0x80))
9016                 {
9017                     Return (ABUF) /* \_SB_.SDHD.ABUF */
9018                 }
9019
9020                 Return (RBUF) /* \_SB_.SDHD.RBUF */
9021             }
9022
9023             Method (_STA, 0, NotSerialized)  // _STA: Status
9024             {
9025                 If (((SD0A == Zero) || (SD3D == One)))
9026                 {
9027                     Return (Zero)
9028                 }
9029
9030                 If ((PMID == 0x05))
9031                 {
9032                     ADBG ("XPWR_DCOVE")
9033                     Return (0x0F)
9034                 }
9035
9036                 Return (Zero)
9037             }
9038
9039             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9040             {
9041                 ADBG ("SD card-----ps3 Xpower")
9042                 PSAT |= 0x03
9043                 Local0 = PSAT /* \_SB_.SDHD.PSAT */
9044                 If (CondRefOf (\_SB.I2C5.PMI1, Local1))
9045                 {
9046                     ADBG ("SD card-----1ps3 Xpower")
9047                     If ((^^I2C5.PMI1.AVBL == One))
9048                     {
9049                         ADBG ("SD card-----2ps3 Xpower")
9050                         ^^I2C5.PMI1.GPI1 = Zero
9051                         If ((^^I2C5.PMI1.AVBG == One))
9052                         {
9053                             ADBG ("SD card-----3ps3 Xpower")
9054                             ^^I2C5.PMI1.GSDX = One
9055                             Sleep (0x1E)
9056                         }
9057                     }
9058                 }
9059             }
9060
9061             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9062             {
9063                 ADBG ("SD card-----ps0")
9064                 If (CondRefOf (\_SB.I2C5.PMI1, Local1))
9065                 {
9066                     ADBG ("SD card-----1ps0 Xpower")
9067                     If ((^^I2C5.PMI1.AVBL == One))
9068                     {
9069                         ADBG ("SD card-----2ps0 Xpower")
9070                         ^^I2C5.PMI1.GPI1 = One
9071                         If ((^^I2C5.PMI1.AVBG == One))
9072                         {
9073                             ADBG ("SD card-----3ps0 Xpower")
9074                             ^^I2C5.PMI1.GSDX = One
9075                             Sleep (0x1E)
9076                         }
9077                     }
9078                 }
9079
9080                 PSAT &= 0xFFFFFFFC
9081                 Local0 = PSAT /* \_SB_.SDHD.PSAT */
9082             }
9083
9084             OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
9085             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9086             {
9087                 Offset (0x84), 
9088                 PSAT,   32
9089             }
9090         }
9091
9092         Device (GDM1)
9093         {
9094             Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */)  // _HID: Hardware ID
9095             Name (_DDN, "Intel(R) DMA Controller #1 - INTL9C60")  // _DDN: DOS Device Name
9096             Name (_UID, One)  // _UID: Unique ID
9097             Name (RBUF, ResourceTemplate ()
9098             {
9099                 Memory32Fixed (ReadWrite,
9100                     0x00000000,         // Address Base
9101                     0x00004000,         // Address Length
9102                     _Y11)
9103                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9104                 {
9105                     0x0000002A,
9106                 }
9107             })
9108             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9109             {
9110                 CreateDWordField (RBUF, \_SB.GDM1._Y11._BAS, B0BA)  // _BAS: Base Address
9111                 CreateDWordField (RBUF, \_SB.GDM1._Y11._LEN, B0LN)  // _LEN: Length
9112                 B0BA = D10A /* \D10A */
9113                 B0LN = D10L /* \D10L */
9114                 Return (RBUF) /* \_SB_.GDM1.RBUF */
9115             }
9116
9117             Method (_STA, 0, NotSerialized)  // _STA: Status
9118             {
9119                 If (((D10A == Zero) || (L10D == One)))
9120                 {
9121                     Return (Zero)
9122                 }
9123
9124                 Return (0x0F)
9125             }
9126         }
9127
9128         Device (GDM2)
9129         {
9130             Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */)  // _HID: Hardware ID
9131             Name (_DDN, "Intel(R) DMA Controller #2 - INTL9C60")  // _DDN: DOS Device Name
9132             Name (_UID, 0x02)  // _UID: Unique ID
9133             Name (RBUF, ResourceTemplate ()
9134             {
9135                 Memory32Fixed (ReadWrite,
9136                     0x00000000,         // Address Base
9137                     0x00004000,         // Address Length
9138                     _Y12)
9139                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9140                 {
9141                     0x0000002B,
9142                 }
9143             })
9144             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9145             {
9146                 CreateDWordField (RBUF, \_SB.GDM2._Y12._BAS, B0BA)  // _BAS: Base Address
9147                 CreateDWordField (RBUF, \_SB.GDM2._Y12._LEN, B0LN)  // _LEN: Length
9148                 B0BA = D20A /* \D20A */
9149                 B0LN = D20L /* \D20L */
9150                 Return (RBUF) /* \_SB_.GDM2.RBUF */
9151             }
9152
9153             Method (_STA, 0, NotSerialized)  // _STA: Status
9154             {
9155                 If (((D20A == Zero) || (L20D == One)))
9156                 {
9157                     Return (Zero)
9158                 }
9159
9160                 Return (0x0F)
9161             }
9162         }
9163
9164         Device (PWM1)
9165         {
9166             Name (_ADR, Zero)  // _ADR: Address
9167             Name (_HID, "80860F09" /* Intel PWM Controller */)  // _HID: Hardware ID
9168             Name (_CID, "80860F09" /* Intel PWM Controller */)  // _CID: Compatible ID
9169             Name (_DDN, "Intel(R) PWM Controller #1 - 80860F08")  // _DDN: DOS Device Name
9170             Name (_UID, One)  // _UID: Unique ID
9171             Name (RBUF, ResourceTemplate ()
9172             {
9173                 Memory32Fixed (ReadWrite,
9174                     0x00000000,         // Address Base
9175                     0x00001000,         // Address Length
9176                     _Y13)
9177             })
9178             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9179             {
9180                 CreateDWordField (RBUF, \_SB.PWM1._Y13._BAS, B0BA)  // _BAS: Base Address
9181                 CreateDWordField (RBUF, \_SB.PWM1._Y13._LEN, B0LN)  // _LEN: Length
9182                 B0BA = P10A /* \P10A */
9183                 B0LN = P10L /* \P10L */
9184                 Return (RBUF) /* \_SB_.PWM1.RBUF */
9185             }
9186
9187             Method (_STA, 0, NotSerialized)  // _STA: Status
9188             {
9189                 If (((P10A == Zero) || (L11D == One)))
9190                 {
9191                     Return (Zero)
9192                 }
9193
9194                 If ((OSSL & 0x80))
9195                 {
9196                     Return (0x0F)
9197                 }
9198
9199                 Return (Zero)
9200             }
9201
9202             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9203             {
9204                 PSAT |= 0x03
9205                 Local0 = PSAT /* \_SB_.PWM1.PSAT */
9206             }
9207
9208             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9209             {
9210                 PSAT &= 0xFFFFFFFC
9211                 Local0 = PSAT /* \_SB_.PWM1.PSAT */
9212             }
9213
9214             OperationRegion (KEYS, SystemMemory, P11A, 0x0100)
9215             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9216             {
9217                 Offset (0x84), 
9218                 PSAT,   32
9219             }
9220         }
9221
9222         Device (PWM2)
9223         {
9224             Name (_ADR, Zero)  // _ADR: Address
9225             Name (_HID, "80860F09" /* Intel PWM Controller */)  // _HID: Hardware ID
9226             Name (_CID, "80860F09" /* Intel PWM Controller */)  // _CID: Compatible ID
9227             Name (_DDN, "Intel(R) PWM Controller #2 - 80860F09")  // _DDN: DOS Device Name
9228             Name (_UID, 0x02)  // _UID: Unique ID
9229             Name (RBUF, ResourceTemplate ()
9230             {
9231                 Memory32Fixed (ReadWrite,
9232                     0x00000000,         // Address Base
9233                     0x00001000,         // Address Length
9234                     _Y14)
9235             })
9236             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9237             {
9238                 CreateDWordField (RBUF, \_SB.PWM2._Y14._BAS, B0BA)  // _BAS: Base Address
9239                 CreateDWordField (RBUF, \_SB.PWM2._Y14._LEN, B0LN)  // _LEN: Length
9240                 B0BA = P20A /* \P20A */
9241                 B0LN = P20L /* \P20L */
9242                 Return (RBUF) /* \_SB_.PWM2.RBUF */
9243             }
9244
9245             Method (_STA, 0, NotSerialized)  // _STA: Status
9246             {
9247                 If (((P20A == Zero) || (L12D == One)))
9248                 {
9249                     Return (Zero)
9250                 }
9251
9252                 If ((OSSL & 0x80))
9253                 {
9254                     Return (0x0F)
9255                 }
9256
9257                 Return (Zero)
9258             }
9259
9260             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9261             {
9262                 PSAT |= 0x03
9263                 Local0 = PSAT /* \_SB_.PWM2.PSAT */
9264             }
9265
9266             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9267             {
9268                 PSAT &= 0xFFFFFFFC
9269                 Local0 = PSAT /* \_SB_.PWM2.PSAT */
9270             }
9271
9272             OperationRegion (KEYS, SystemMemory, P21A, 0x0100)
9273             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9274             {
9275                 Offset (0x84), 
9276                 PSAT,   32
9277             }
9278         }
9279
9280         Device (URT1)
9281         {
9282             Name (_ADR, Zero)  // _ADR: Address
9283             Name (_HID, "80860F0A" /* Intel Atom UART Controller */)  // _HID: Hardware ID
9284             Name (_CID, "80860F0A" /* Intel Atom UART Controller */)  // _CID: Compatible ID
9285             Name (_DDN, "Intel(R) HS-UART Controller #1 - 80860F0A")  // _DDN: DOS Device Name
9286             Name (_UID, One)  // _UID: Unique ID
9287             Name (_DEP, Package (0x01)  // _DEP: Dependencies
9288             {
9289                 PEPD
9290             })
9291             Name (RBUF, ResourceTemplate ()
9292             {
9293                 Memory32Fixed (ReadWrite,
9294                     0x00000000,         // Address Base
9295                     0x00001000,         // Address Length
9296                     _Y15)
9297                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9298                 {
9299                     0x00000027,
9300                 }
9301                 FixedDMA (0x0002, 0x0002, Width32bit, )
9302                 FixedDMA (0x0003, 0x0003, Width32bit, )
9303             })
9304             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
9305             {
9306                 Return (SOCS) /* \SOCS */
9307             }
9308
9309             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9310             {
9311                 CreateDWordField (RBUF, \_SB.URT1._Y15._BAS, B0BA)  // _BAS: Base Address
9312                 CreateDWordField (RBUF, \_SB.URT1._Y15._LEN, B0LN)  // _LEN: Length
9313                 B0BA = U10A /* \U10A */
9314                 B0LN = U10L /* \U10L */
9315                 Return (RBUF) /* \_SB_.URT1.RBUF */
9316             }
9317
9318             Method (_STA, 0, NotSerialized)  // _STA: Status
9319             {
9320                 If (((U10A == Zero) || (L13D == One)))
9321                 {
9322                     Return (Zero)
9323                 }
9324
9325                 Return (0x0F)
9326             }
9327
9328             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9329             {
9330                 PSAT |= 0x03
9331                 Local0 = PSAT /* \_SB_.URT1.PSAT */
9332             }
9333
9334             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9335             {
9336                 PSAT &= 0xFFFFFFFC
9337                 Local0 = PSAT /* \_SB_.URT1.PSAT */
9338             }
9339
9340             OperationRegion (KEYS, SystemMemory, U11A, 0x0100)
9341             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9342             {
9343                 Offset (0x84), 
9344                 PSAT,   32
9345             }
9346
9347             Device (BTH0)
9348             {
9349                 Name (_HID, "BCM2E3A")  // _HID: Hardware ID
9350                 Method (_STA, 0, NotSerialized)  // _STA: Status
9351                 {
9352                     Return (Zero)
9353                 }
9354
9355                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9356                 {
9357                     Name (UBUF, ResourceTemplate ()
9358                     {
9359                         UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
9360                             0xFC, LittleEndian, ParityTypeNone, FlowControlNone,
9361                             0x0020, 0x0020, "\\_SB.URT1",
9362                             0x00, ResourceConsumer, ,
9363                             )
9364                         Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
9365                         {
9366                             0x00000046,
9367                         }
9368                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9369                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
9370                             )
9371                             {   // Pin list
9372                                 0x0018
9373                             }
9374                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9375                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
9376                             )
9377                             {   // Pin list
9378                                 0x0019
9379                             }
9380                     })
9381                     Return (UBUF) /* \_SB_.URT1.BTH0._CRS.UBUF */
9382                 }
9383             }
9384
9385             Device (BTH1)
9386             {
9387                 Name (_HID, "OBDA8723")  // _HID: Hardware ID
9388                 Method (_STA, 0, NotSerialized)  // _STA: Status
9389                 {
9390                     Return (0x0F)
9391                 }
9392
9393                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9394                 {
9395                     Name (UBUF, ResourceTemplate ()
9396                     {
9397                         UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
9398                             0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
9399                             0x0020, 0x0020, "\\_SB.URT1",
9400                             0x00, ResourceConsumer, ,
9401                             )
9402                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9403                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
9404                             )
9405                             {   // Pin list
9406                                 0x0018
9407                             }
9408                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9409                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
9410                             )
9411                             {   // Pin list
9412                                 0x0019
9413                             }
9414                         GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
9415                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
9416                             )
9417                             {   // Pin list
9418                                 0x0011
9419                             }
9420                     })
9421                     Name (WBUF, ResourceTemplate ()
9422                     {
9423                         UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
9424                             0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
9425                             0x0020, 0x0020, "\\_SB.URT1",
9426                             0x00, ResourceConsumer, ,
9427                             )
9428                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9429                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
9430                             )
9431                             {   // Pin list
9432                                 0x0019
9433                             }
9434                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9435                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
9436                             )
9437                             {   // Pin list
9438                                 0x0018
9439                             }
9440                         GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
9441                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
9442                             )
9443                             {   // Pin list
9444                                 0x0011
9445                             }
9446                     })
9447                     If ((OSSL & 0x80))
9448                     {
9449                         Return (UBUF) /* \_SB_.URT1.BTH1._CRS.UBUF */
9450                     }
9451
9452                     Return (WBUF) /* \_SB_.URT1.BTH1._CRS.WBUF */
9453                 }
9454             }
9455         }
9456
9457         Device (URT2)
9458         {
9459             Name (_ADR, Zero)  // _ADR: Address
9460             Name (_HID, "80860F0A" /* Intel Atom UART Controller */)  // _HID: Hardware ID
9461             Name (_CID, "80860F0A" /* Intel Atom UART Controller */)  // _CID: Compatible ID
9462             Name (_DDN, "Intel(R) HS-UART Controller #2 - 80860F0C")  // _DDN: DOS Device Name
9463             Name (_UID, 0x02)  // _UID: Unique ID
9464             Name (_DEP, Package (0x01)  // _DEP: Dependencies
9465             {
9466                 PEPD
9467             })
9468             Name (RBUF, ResourceTemplate ()
9469             {
9470                 Memory32Fixed (ReadWrite,
9471                     0x00000000,         // Address Base
9472                     0x00001000,         // Address Length
9473                     _Y16)
9474                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9475                 {
9476                     0x00000028,
9477                 }
9478                 FixedDMA (0x0004, 0x0004, Width32bit, )
9479                 FixedDMA (0x0005, 0x0005, Width32bit, )
9480             })
9481             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
9482             {
9483                 Return (SOCS) /* \SOCS */
9484             }
9485
9486             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9487             {
9488                 CreateDWordField (RBUF, \_SB.URT2._Y16._BAS, B0BA)  // _BAS: Base Address
9489                 CreateDWordField (RBUF, \_SB.URT2._Y16._LEN, B0LN)  // _LEN: Length
9490                 B0BA = U20A /* \U20A */
9491                 B0LN = U20L /* \U20L */
9492                 Return (RBUF) /* \_SB_.URT2.RBUF */
9493             }
9494
9495             Method (_STA, 0, NotSerialized)  // _STA: Status
9496             {
9497                 If (((U20A == Zero) || (L14D == One)))
9498                 {
9499                     Return (Zero)
9500                 }
9501
9502                 Return (0x0F)
9503             }
9504
9505             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9506             {
9507                 PSAT |= 0x03
9508                 Local0 = PSAT /* \_SB_.URT2.PSAT */
9509             }
9510
9511             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9512             {
9513                 PSAT &= 0xFFFFFFFC
9514                 Local0 = PSAT /* \_SB_.URT2.PSAT */
9515             }
9516
9517             OperationRegion (KEYS, SystemMemory, U21A, 0x0100)
9518             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9519             {
9520                 Offset (0x84), 
9521                 PSAT,   32
9522             }
9523
9524             Device (GPS0)
9525             {
9526                 Name (_HID, "BCM4752")  // _HID: Hardware ID
9527                 Name (_HRV, Zero)  // _HRV: Hardware Revision
9528                 Method (_STA, 0, NotSerialized)  // _STA: Status
9529                 {
9530                     Return (Zero)
9531                 }
9532
9533                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9534                 {
9535                     Name (UBUF, ResourceTemplate ()
9536                     {
9537                         UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
9538                             0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
9539                             0x0020, 0x0020, "\\_SB.URT2",
9540                             0x00, ResourceConsumer, ,
9541                             )
9542                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
9543                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
9544                             )
9545                             {   // Pin list
9546                                 0x0016
9547                             }
9548                     })
9549                     Return (UBUF) /* \_SB_.URT2.GPS0._CRS.UBUF */
9550                 }
9551             }
9552         }
9553
9554         Device (SPI1)
9555         {
9556             Name (_ADR, Zero)  // _ADR: Address
9557             Name (_HID, "80860F0E" /* Intel SPI Controller */)  // _HID: Hardware ID
9558             Name (_CID, "80860F0E" /* Intel SPI Controller */)  // _CID: Compatible ID
9559             Name (_DEP, Package (0x01)  // _DEP: Dependencies
9560             {
9561                 PEPD
9562             })
9563             Name (_DDN, "Intel(R) SPI Controller - 80860F0E")  // _DDN: DOS Device Name
9564             Name (RBUF, ResourceTemplate ()
9565             {
9566                 Memory32Fixed (ReadWrite,
9567                     0x00000000,         // Address Base
9568                     0x00001000,         // Address Length
9569                     _Y17)
9570                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9571                 {
9572                     0x00000029,
9573                 }
9574                 FixedDMA (0x0000, 0x0000, Width32bit, )
9575                 FixedDMA (0x0001, 0x0001, Width32bit, )
9576             })
9577             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
9578             {
9579                 Return (SOCS) /* \SOCS */
9580             }
9581
9582             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9583             {
9584                 CreateDWordField (RBUF, \_SB.SPI1._Y17._BAS, B0BA)  // _BAS: Base Address
9585                 CreateDWordField (RBUF, \_SB.SPI1._Y17._LEN, B0LN)  // _LEN: Length
9586                 B0BA = SP0A /* \SP0A */
9587                 B0LN = SP0L /* \SP0L */
9588                 Return (RBUF) /* \_SB_.SPI1.RBUF */
9589             }
9590
9591             Method (_STA, 0, NotSerialized)  // _STA: Status
9592             {
9593                 If (((SP0A == Zero) || (L15D == One)))
9594                 {
9595                     Return (Zero)
9596                 }
9597
9598                 Return (0x0F)
9599             }
9600
9601             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9602             {
9603                 PSAT |= 0x03
9604                 Local0 = PSAT /* \_SB_.SPI1.PSAT */
9605             }
9606
9607             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9608             {
9609                 PSAT &= 0xFFFFFFFC
9610                 Local0 = PSAT /* \_SB_.SPI1.PSAT */
9611             }
9612
9613             OperationRegion (KEYS, SystemMemory, SP1A, 0x0100)
9614             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9615             {
9616                 Offset (0x84), 
9617                 PSAT,   32
9618             }
9619
9620             Device (FPNT)
9621             {
9622                 Name (_HID, "AUTH2750" /* AuthenTec AES2750 */)  // _HID: Hardware ID
9623                 Name (_DDN, "AuthenTec AES2750")  // _DDN: DOS Device Name
9624                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9625                 {
9626                     Name (UBUF, ResourceTemplate ()
9627                     {
9628                         SpiSerialBus (0x0001, PolarityLow, FourWireMode, 0x08,
9629                             ControllerInitiated, 0x007A1200, ClockPolarityLow,
9630                             ClockPhaseSecond, "\\_SB.SPI1",
9631                             0x00, ResourceConsumer, ,
9632                             )
9633                         Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
9634                         {
9635                             0x00000048,
9636                         }
9637                     })
9638                     Return (UBUF) /* \_SB_.SPI1.FPNT._CRS.UBUF */
9639                 }
9640
9641                 Method (_STA, 0, NotSerialized)  // _STA: Status
9642                 {
9643                     Return (Zero)
9644                 }
9645             }
9646         }
9647
9648         Device (NFC2)
9649         {
9650             Name (_ADR, Zero)  // _ADR: Address
9651             Name (_HID, "NXP5442" /* NXP 5442 Near Field Communications Controller */)  // _HID: Hardware ID
9652             Name (_CID, "NXP5442" /* NXP 5442 Near Field Communications Controller */)  // _CID: Compatible ID
9653             Name (_DDN, "NXP NFC")  // _DDN: DOS Device Name
9654             Name (_UID, One)  // _UID: Unique ID
9655             Method (_STA, 0, NotSerialized)  // _STA: Status
9656             {
9657                 If ((NFCS == 0x02))
9658                 {
9659                     Return (0x0F)
9660                 }
9661
9662                 Return (Zero)
9663             }
9664         }
9665
9666         Device (I2C1)
9667         {
9668             Name (_ADR, Zero)  // _ADR: Address
9669             Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
9670             Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
9671             Name (_DEP, Package (0x01)  // _DEP: Dependencies
9672             {
9673                 PEPD
9674             })
9675             Name (_DDN, "Intel(R) I2C Controller #1 - 80860F41")  // _DDN: DOS Device Name
9676             Name (_UID, One)  // _UID: Unique ID
9677             Name (RBUF, ResourceTemplate ()
9678             {
9679                 Memory32Fixed (ReadWrite,
9680                     0x00000000,         // Address Base
9681                     0x00001000,         // Address Length
9682                     _Y18)
9683                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9684                 {
9685                     0x00000020,
9686                 }
9687                 FixedDMA (0x0010, 0x0000, Width32bit, )
9688                 FixedDMA (0x0011, 0x0001, Width32bit, )
9689             })
9690             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
9691             {
9692                 Return (SOCS) /* \SOCS */
9693             }
9694
9695             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9696             {
9697                 CreateDWordField (RBUF, \_SB.I2C1._Y18._BAS, B0BA)  // _BAS: Base Address
9698                 CreateDWordField (RBUF, \_SB.I2C1._Y18._LEN, B0LN)  // _LEN: Length
9699                 B0BA = I10A /* \I10A */
9700                 B0LN = I10L /* \I10L */
9701                 Return (RBUF) /* \_SB_.I2C1.RBUF */
9702             }
9703
9704             Method (_STA, 0, NotSerialized)  // _STA: Status
9705             {
9706                 If (((I10A == Zero) || (L21D == One)))
9707                 {
9708                     Return (Zero)
9709                 }
9710
9711                 Return (0x0F)
9712             }
9713
9714             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9715             {
9716                 PSAT |= 0x03
9717                 Local0 = PSAT /* \_SB_.I2C1.PSAT */
9718             }
9719
9720             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9721             {
9722                 PSAT &= 0xFFFFFFFC
9723                 Local0 = PSAT /* \_SB_.I2C1.PSAT */
9724             }
9725
9726             OperationRegion (KEYS, SystemMemory, I11A, 0x0100)
9727             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9728             {
9729                 Offset (0x84), 
9730                 PSAT,   32
9731             }
9732         }
9733
9734         Device (I2C2)
9735         {
9736             Name (_ADR, Zero)  // _ADR: Address
9737             Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
9738             Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
9739             Name (_DEP, Package (0x01)  // _DEP: Dependencies
9740             {
9741                 PEPD
9742             })
9743             Name (_DDN, "Intel(R) I2C Controller #2 - 80860F42")  // _DDN: DOS Device Name
9744             Name (_UID, 0x02)  // _UID: Unique ID
9745             Name (RBUF, ResourceTemplate ()
9746             {
9747                 Memory32Fixed (ReadWrite,
9748                     0x00000000,         // Address Base
9749                     0x00001000,         // Address Length
9750                     _Y19)
9751                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
9752                 {
9753                     0x00000021,
9754                 }
9755                 FixedDMA (0x0012, 0x0002, Width32bit, )
9756                 FixedDMA (0x0013, 0x0003, Width32bit, )
9757             })
9758             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
9759             {
9760                 Return (SOCS) /* \SOCS */
9761             }
9762
9763             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9764             {
9765                 CreateDWordField (RBUF, \_SB.I2C2._Y19._BAS, B0BA)  // _BAS: Base Address
9766                 CreateDWordField (RBUF, \_SB.I2C2._Y19._LEN, B0LN)  // _LEN: Length
9767                 B0BA = I20A /* \I20A */
9768                 B0LN = I20L /* \I20L */
9769                 Return (RBUF) /* \_SB_.I2C2.RBUF */
9770             }
9771
9772             Method (_STA, 0, NotSerialized)  // _STA: Status
9773             {
9774                 If (((I20A == Zero) || (L22D == One)))
9775                 {
9776                     Return (Zero)
9777                 }
9778
9779                 Return (0x0F)
9780             }
9781
9782             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9783             {
9784                 PSAT |= 0x03
9785                 Local0 = PSAT /* \_SB_.I2C2.PSAT */
9786             }
9787
9788             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9789             {
9790                 PSAT &= 0xFFFFFFFC
9791                 Local0 = PSAT /* \_SB_.I2C2.PSAT */
9792             }
9793
9794             OperationRegion (KEYS, SystemMemory, I21A, 0x0100)
9795             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
9796             {
9797                 Offset (0x84), 
9798                 PSAT,   32
9799             }
9800
9801             PowerResource (CLK0, 0x00, 0x0000)
9802             {
9803                 Method (_STA, 0, NotSerialized)  // _STA: Status
9804                 {
9805                     Return (CKC0) /* \CKC0 */
9806                 }
9807
9808                 Method (_ON, 0, NotSerialized)  // _ON_: Power On
9809                 {
9810                     CKC0 = One
9811                     CKF0 = One
9812                     Sleep (0x20)
9813                 }
9814
9815                 Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
9816                 {
9817                     CKC0 = 0x02
9818                 }
9819             }
9820
9821             PowerResource (CLK1, 0x00, 0x0000)
9822             {
9823                 Method (_STA, 0, NotSerialized)  // _STA: Status
9824                 {
9825                     Return (CKC1) /* \CKC1 */
9826                 }
9827
9828                 Method (_ON, 0, NotSerialized)  // _ON_: Power On
9829                 {
9830                     CKC1 = One
9831                     CKF1 = One
9832                     Sleep (0x20)
9833                 }
9834
9835                 Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
9836                 {
9837                     CKC1 = 0x02
9838                 }
9839             }
9840
9841             Device (RTEK)
9842             {
9843                 Name (_ADR, Zero)  // _ADR: Address
9844                 Name (_HID, "10EC5640" /* Realtek I2S Audio Codec */)  // _HID: Hardware ID
9845                 Name (_CID, "10EC5640" /* Realtek I2S Audio Codec */)  // _CID: Compatible ID
9846                 Name (_DDN, "RTEK Codec Controller ")  // _DDN: DOS Device Name
9847                 Name (_UID, One)  // _UID: Unique ID
9848                 Name (CHAN, Package (0x02)
9849                 {
9850                     One, 
9851                     0x017D7840
9852                 })
9853                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9854                 {
9855                     Name (SBUF, ResourceTemplate ()
9856                     {
9857                         I2cSerialBus (0x001C, ControllerInitiated, 0x00061A80,
9858                             AddressingMode7Bit, "\\_SB.I2C2",
9859                             0x00, ResourceConsumer, ,
9860                             )
9861                         GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
9862                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
9863                             )
9864                             {   // Pin list
9865                                 0x0004
9866                             }
9867                     })
9868                     Return (SBUF) /* \_SB_.I2C2.RTEK._CRS.SBUF */
9869                 }
9870
9871                 Method (_STA, 0, NotSerialized)  // _STA: Status
9872                 {
9873                     Return (0x0F)
9874                 }
9875
9876                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
9877                 {
9878                     CKC3 = Zero
9879                 }
9880
9881                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
9882                 {
9883                     CKC3 = One
9884                 }
9885
9886                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
9887                 {
9888                 }
9889
9890                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
9891                 {
9892                     Name (T_1, Zero)  // _T_x: Emitted by ASL Compiler
9893                     Name (T_0, Zero)  // _T_x: Emitted by ASL Compiler
9894                     If ((Arg0 == ToUUID ("a9240c44-f032-454d-80e5-7aeed80e9551")))
9895                     {
9896                         CreateByteField (Arg3, Zero, FARG)
9897                         While (One)
9898                         {
9899                             T_0 = Arg2
9900                             If ((T_0 == 0x03))
9901                             {
9902                                 While (One)
9903                                 {
9904                                     T_1 = Arg3
9905                                     If ((T_1 == Zero))
9906                                     {
9907                                         Return (0x11)
9908                                     }
9909                                     Else
9910                                     {
9911                                         If ((T_1 == 0x04))
9912                                         {
9913                                             Return (Buffer (0x34)
9914                                             {
9915                                                 /* 0000 */  0x06, 0x00, 0x00, 0xCE, 0x1D, 0x00, 0x01, 0x00,  /* ........ */
9916                                                 /* 0008 */  0x03, 0x40, 0xBB, 0x00, 0x40, 0x00, 0x01, 0x00,  /* .@..@... */
9917                                                 /* 0010 */  0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x01, 0x00,  /* ....F... */
9918                                                 /* 0018 */  0x02, 0x00, 0x00, 0x00, 0x45, 0x00, 0x01, 0x00,  /* ....E... */
9919                                                 /* 0020 */  0x01, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x01, 0x00,  /* ........ */
9920                                                 /* 0028 */  0x00, 0x01, 0x0D, 0x00, 0x1D, 0x00, 0x01, 0x00,  /* ........ */
9921                                                 /* 0030 */  0x86, 0x86, 0x01, 0x00                           /* .... */
9922                                             })
9923                                         }
9924                                         Else
9925                                         {
9926                                             Return (0x80000002)
9927                                         }
9928                                     }
9929
9930                                     Break
9931                                 }
9932                             }
9933
9934                             Break
9935                         }
9936                     }
9937
9938                     Return (0x80000002)
9939                 }
9940             }
9941
9942             Device (TTLV)
9943             {
9944                 Name (_ADR, Zero)  // _ADR: Address
9945                 Name (_HID, "10TI3100")  // _HID: Hardware ID
9946                 Name (_CID, "10TI3100")  // _CID: Compatible ID
9947                 Name (_DDN, "TI TLV320AIC3100 Codec Controller ")  // _DDN: DOS Device Name
9948                 Name (_UID, One)  // _UID: Unique ID
9949                 Name (OBJ1, Package (0x0A)
9950                 {
9951                     One, 
9952                     0x017D7840, 
9953                     One, 
9954                     0x97, 
9955                     One, 
9956                     0x86, 
9957                     One, 
9958                     One, 
9959                     0x14, 
9960                     0xB3
9961                 })
9962                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9963                 {
9964                     Name (SBUF, ResourceTemplate ()
9965                     {
9966                         I2cSerialBus (0x0018, ControllerInitiated, 0x00061A80,
9967                             AddressingMode7Bit, "\\_SB.I2C2",
9968                             0x00, ResourceConsumer, ,
9969                             )
9970                     })
9971                     Return (SBUF) /* \_SB_.I2C2.TTLV._CRS.SBUF */
9972                 }
9973
9974                 Method (_STA, 0, NotSerialized)  // _STA: Status
9975                 {
9976                     Return (Zero)
9977                 }
9978
9979                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
9980                 {
9981                 }
9982             }
9983
9984             Device (CAM1)
9985             {
9986                 Name (_ADR, Zero)  // _ADR: Address
9987                 Name (_HID, "INT33BE" /* Camera Sensor OV5693 */)  // _HID: Hardware ID
9988                 Name (_CID, "INT33BE" /* Camera Sensor OV5693 */)  // _CID: Compatible ID
9989                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
9990                 Name (_DDN, "OV5693")  // _DDN: DOS Device Name
9991                 Name (_UID, One)  // _UID: Unique ID
9992                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
9993                 {
9994                     I2C5, 
9995                     ^^I2C5.PMIC
9996                 })
9997                 Name (_PR0, Package (0x03)  // _PR0: Power Resources for D0
9998                 {
9999                     P28X, 
10000                     P18X, 
10001                     CLK0
10002                 })
10003                 Name (PLDB, Package (0x01)
10004                 {
10005                     Buffer (0x14)
10006                     {
10007                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10008                         /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  /* i....... */
10009                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
10010                     }
10011                 })
10012                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10013                 {
10014                     Return (PLDB) /* \_SB_.I2C2.CAM1.PLDB */
10015                 }
10016
10017                 Method (_STA, 0, NotSerialized)  // _STA: Status
10018                 {
10019                     If ((((RCAS == 0x02) && (PMID == One)) && (OSSL & 0x80
10020                         )))
10021                     {
10022                         Return (0x0F)
10023                     }
10024
10025                     Return (Zero)
10026                 }
10027
10028                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10029                 {
10030                     Name (SBUF, ResourceTemplate ()
10031                     {
10032                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10033                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10034                             )
10035                             {   // Pin list
10036                                 0x0011
10037                             }
10038                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10039                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10040                             )
10041                             {   // Pin list
10042                                 0x0015
10043                             }
10044                         I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
10045                             AddressingMode7Bit, "\\_SB.I2C2",
10046                             0x00, ResourceConsumer, ,
10047                             )
10048                         I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,
10049                             AddressingMode7Bit, "\\_SB.I2C2",
10050                             0x00, ResourceConsumer, ,
10051                             )
10052                     })
10053                     Return (SBUF) /* \_SB_.I2C2.CAM1._CRS.SBUF */
10054                 }
10055
10056                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
10057                 {
10058                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
10059                     {
10060                         Return ("INT33BE")
10061                     }
10062
10063                     If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
10064                     {
10065                         Return ("OV5693")
10066                     }
10067
10068                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
10069                     {
10070                         Return ("12P2BA536")
10071                     }
10072
10073                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
10074                     {
10075                         Return ("INTEL_RVP")
10076                     }
10077
10078                     If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
10079                     {
10080                         Return (0x0102)
10081                     }
10082
10083                     If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
10084                     {
10085                         Return (One)
10086                     }
10087
10088                     If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
10089                     {
10090                         Return (Zero)
10091                     }
10092
10093                     If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
10094                     {
10095                         Return (One)
10096                     }
10097
10098                     If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
10099                     {
10100                         Return (Zero)
10101                     }
10102
10103                     If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
10104                     {
10105                         Return (Zero)
10106                     }
10107
10108                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
10109                     {
10110                         Return ("AD5823")
10111                     }
10112
10113                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
10114                     {
10115                         If ((Arg2 == One))
10116                         {
10117                             Return (0x02)
10118                         }
10119
10120                         If ((Arg2 == 0x02))
10121                         {
10122                             Return (0x04001000)
10123                         }
10124
10125                         If ((Arg2 == 0x03))
10126                         {
10127                             Return (0x04000C01)
10128                         }
10129                     }
10130
10131                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
10132                     {
10133                         If ((Arg2 == One))
10134                         {
10135                             Return (0x02)
10136                         }
10137
10138                         If ((Arg2 == 0x02))
10139                         {
10140                             Return (0x01001800)
10141                         }
10142
10143                         If ((Arg2 == 0x03))
10144                         {
10145                             Return (0x01011501)
10146                         }
10147                     }
10148
10149                     Return (Zero)
10150                 }
10151             }
10152
10153             Device (CAM3)
10154             {
10155                 Name (_ADR, Zero)  // _ADR: Address
10156                 Name (_HID, "INTCF1B")  // _HID: Hardware ID
10157                 Name (_CID, "INTCF1B")  // _CID: Compatible ID
10158                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
10159                 Name (_DDN, "Sony IMX134")  // _DDN: DOS Device Name
10160                 Name (_UID, One)  // _UID: Unique ID
10161                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
10162                 {
10163                     I2C5, 
10164                     ^^I2C5.PMIC
10165                 })
10166                 Name (_PR0, Package (0x03)  // _PR0: Power Resources for D0
10167                 {
10168                     P28X, 
10169                     P18X, 
10170                     CLK0
10171                 })
10172                 Name (PLDB, Package (0x01)
10173                 {
10174                     Buffer (0x14)
10175                     {
10176                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10177                         /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  /* i....... */
10178                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
10179                     }
10180                 })
10181                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10182                 {
10183                     Return (PLDB) /* \_SB_.I2C2.CAM3.PLDB */
10184                 }
10185
10186                 Method (_STA, 0, NotSerialized)  // _STA: Status
10187                 {
10188                     If ((((RCAS == One) && (PMID == One)) && (OSSL & 0x80
10189                         )))
10190                     {
10191                         Return (0x0F)
10192                     }
10193
10194                     Return (Zero)
10195                 }
10196
10197                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10198                 {
10199                     Name (SBUF, ResourceTemplate ()
10200                     {
10201                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10202                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10203                             )
10204                             {   // Pin list
10205                                 0x0011
10206                             }
10207                         I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80,
10208                             AddressingMode7Bit, "\\_SB.I2C2",
10209                             0x00, ResourceConsumer, ,
10210                             )
10211                         I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,
10212                             AddressingMode7Bit, "\\_SB.I2C2",
10213                             0x00, ResourceConsumer, ,
10214                             )
10215                         I2cSerialBus (0x0054, ControllerInitiated, 0x00061A80,
10216                             AddressingMode7Bit, "\\_SB.I2C2",
10217                             0x00, ResourceConsumer, ,
10218                             )
10219                     })
10220                     Return (SBUF) /* \_SB_.I2C2.CAM3._CRS.SBUF */
10221                 }
10222
10223                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10224                 {
10225                     CKC0 = 0x02
10226                 }
10227
10228                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10229                 {
10230                     CKC0 = One
10231                     CKF0 = One
10232                     Sleep (0x05)
10233                 }
10234
10235                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
10236                 {
10237                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
10238                     {
10239                         Return ("INTCF1A")
10240                     }
10241
10242                     If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
10243                     {
10244                         Return ("IMX175")
10245                     }
10246
10247                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
10248                     {
10249                         Return ("13P2BA807")
10250                     }
10251
10252                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
10253                     {
10254                         If ((BDID == 0x04))
10255                         {
10256                             If ((FBID == 0x02))
10257                             {
10258                                 Return ("INTEL_FFRD")
10259                             }
10260
10261                             If ((FBID == 0x03))
10262                             {
10263                                 Return ("INTEL_FFRD")
10264                             }
10265                         }
10266
10267                         Return ("INTEL_RVP")
10268                     }
10269
10270                     If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
10271                     {
10272                         Return (0x0104)
10273                     }
10274
10275                     If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
10276                     {
10277                         Return (One)
10278                     }
10279
10280                     If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
10281                     {
10282                         Return (Zero)
10283                     }
10284
10285                     If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
10286                     {
10287                         Return (0x02)
10288                     }
10289
10290                     If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
10291                     {
10292                         Return (Zero)
10293                     }
10294
10295                     If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
10296                     {
10297                         Return (Zero)
10298                     }
10299
10300                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
10301                     {
10302                         Return (Zero)
10303                     }
10304
10305                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
10306                     {
10307                         If ((Arg2 == One))
10308                         {
10309                             Return (0x03)
10310                         }
10311
10312                         If ((Arg2 == 0x02))
10313                         {
10314                             Return (0x04001000)
10315                         }
10316
10317                         If ((Arg2 == 0x03))
10318                         {
10319                             Return (0x04000C01)
10320                         }
10321
10322                         If ((Arg2 == 0x04))
10323                         {
10324                             Return (0x04005402)
10325                         }
10326                     }
10327
10328                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
10329                     {
10330                         If ((Arg2 == One))
10331                         {
10332                             Return (One)
10333                         }
10334
10335                         If ((Arg2 == 0x02))
10336                         {
10337                             Return (0x01001800)
10338                         }
10339                     }
10340
10341                     Return (Zero)
10342                 }
10343             }
10344
10345             Device (CAM2)
10346             {
10347                 Name (_ADR, Zero)  // _ADR: Address
10348                 Name (_HID, "INT5648")  // _HID: Hardware ID
10349                 Name (_CID, "INT5648")  // _CID: Compatible ID
10350                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
10351                 Name (_DDN, "OV5648")  // _DDN: DOS Device Name
10352                 Name (_UID, One)  // _UID: Unique ID
10353                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
10354                 {
10355                     I2C5, 
10356                     ^^I2C5.PMI1
10357                 })
10358                 Name (_PR0, Package (0x03)  // _PR0: Power Resources for D0
10359                 {
10360                     P28X, 
10361                     P18X, 
10362                     CLK0
10363                 })
10364                 Name (PLDB, Package (0x01)
10365                 {
10366                     Buffer (0x14)
10367                     {
10368                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10369                         /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  /* i....... */
10370                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
10371                     }
10372                 })
10373                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10374                 {
10375                     Return (PLDB) /* \_SB_.I2C2.CAM2.PLDB */
10376                 }
10377
10378                 Method (_STA, 0, NotSerialized)  // _STA: Status
10379                 {
10380                     Return (0x0F)
10381                 }
10382
10383                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10384                 {
10385                     Name (SBUF, ResourceTemplate ()
10386                     {
10387                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10388                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10389                             )
10390                             {   // Pin list
10391                                 0x0011
10392                             }
10393                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10394                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10395                             )
10396                             {   // Pin list
10397                                 0x0015
10398                             }
10399                         I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80,
10400                             AddressingMode7Bit, "\\_SB.I2C2",
10401                             0x00, ResourceConsumer, ,
10402                             )
10403                         I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80,
10404                             AddressingMode7Bit, "\\_SB.I2C2",
10405                             0x00, ResourceConsumer, ,
10406                             )
10407                     })
10408                     Return (SBUF) /* \_SB_.I2C2.CAM2._CRS.SBUF */
10409                 }
10410
10411                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
10412                 {
10413                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
10414                     {
10415                         Return ("INT5648")
10416                     }
10417
10418                     If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
10419                     {
10420                         Return ("OV5648")
10421                     }
10422
10423                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
10424                     {
10425                         Return ("MTD5648")
10426                     }
10427
10428                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
10429                     {
10430                         If ((BDID == 0x04))
10431                         {
10432                             If ((FBID == 0x02))
10433                             {
10434                                 Return ("INTEL_FFRD")
10435                             }
10436
10437                             If ((FBID == 0x03))
10438                             {
10439                                 Return ("INTEL_FFRD")
10440                             }
10441                         }
10442
10443                         Return ("INTEL_RVP")
10444                     }
10445
10446                     If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
10447                     {
10448                         Return (0x0102)
10449                     }
10450
10451                     If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
10452                     {
10453                         Return (One)
10454                     }
10455
10456                     If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
10457                     {
10458                         Return (Zero)
10459                     }
10460
10461                     If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
10462                     {
10463                         Return (One)
10464                     }
10465
10466                     If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
10467                     {
10468                         Return (Zero)
10469                     }
10470
10471                     If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
10472                     {
10473                         Return (Zero)
10474                     }
10475
10476                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
10477                     {
10478                         Return ("DW9714")
10479                     }
10480
10481                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
10482                     {
10483                         If ((Arg2 == One))
10484                         {
10485                             Return (0x02)
10486                         }
10487
10488                         If ((Arg2 == 0x02))
10489                         {
10490                             Return (0x04003600)
10491                         }
10492
10493                         If ((Arg2 == 0x03))
10494                         {
10495                             Return (0x04000C01)
10496                         }
10497                     }
10498
10499                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
10500                     {
10501                         If ((Arg2 == One))
10502                         {
10503                             Return (0x02)
10504                         }
10505
10506                         If ((Arg2 == 0x02))
10507                         {
10508                             Return (0x01001801)
10509                         }
10510
10511                         If ((Arg2 == 0x03))
10512                         {
10513                             Return (0x1500)
10514                         }
10515                     }
10516
10517                     Return (Zero)
10518                 }
10519             }
10520
10521             Device (CAM4)
10522             {
10523                 Name (_ADR, Zero)  // _ADR: Address
10524                 Name (_HID, "INT33F8")  // _HID: Hardware ID
10525                 Name (_CID, "INT33F8")  // _CID: Compatible ID
10526                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
10527                 Name (_DDN, "GC2235")  // _DDN: DOS Device Name
10528                 Name (_UID, One)  // _UID: Unique ID
10529                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
10530                 {
10531                     I2C5, 
10532                     ^^I2C5.PMI1
10533                 })
10534                 Name (_PR0, Package (0x03)  // _PR0: Power Resources for D0
10535                 {
10536                     P28P, 
10537                     P18P, 
10538                     CLK0
10539                 })
10540                 Name (PLDB, Package (0x01)
10541                 {
10542                     Buffer (0x14)
10543                     {
10544                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10545                         /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  /* i....... */
10546                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
10547                     }
10548                 })
10549                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10550                 {
10551                     Return (PLDB) /* \_SB_.I2C2.CAM4.PLDB */
10552                 }
10553
10554                 Method (_STA, 0, NotSerialized)  // _STA: Status
10555                 {
10556                     If ((((RCAS == 0x03) && (PMID == 0x05)) && (OSSL & 0x80
10557                         )))
10558                     {
10559                         Return (Zero)
10560                     }
10561
10562                     Return (Zero)
10563                 }
10564
10565                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10566                 {
10567                     Name (SBUF, ResourceTemplate ()
10568                     {
10569                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10570                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10571                             )
10572                             {   // Pin list
10573                                 0x0011
10574                             }
10575                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10576                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10577                             )
10578                             {   // Pin list
10579                                 0x0015
10580                             }
10581                         I2cSerialBus (0x003C, ControllerInitiated, 0x00061A80,
10582                             AddressingMode7Bit, "\\_SB.I2C2",
10583                             0x00, ResourceConsumer, ,
10584                             )
10585                     })
10586                     Return (SBUF) /* \_SB_.I2C2.CAM4._CRS.SBUF */
10587                 }
10588
10589                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
10590                 {
10591                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
10592                     {
10593                         Return ("INT33F8")
10594                     }
10595
10596                     If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
10597                     {
10598                         Return ("GC2235")
10599                     }
10600
10601                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
10602                     {
10603                         Return ("13P2BA807")
10604                     }
10605
10606                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
10607                     {
10608                         If ((BDID == 0x04))
10609                         {
10610                             If ((FBID == 0x02))
10611                             {
10612                                 Return ("INTEL_FFRD")
10613                             }
10614
10615                             If ((FBID == 0x03))
10616                             {
10617                                 Return ("INTEL_FFRD")
10618                             }
10619                         }
10620
10621                         Return ("INTEL_RVP")
10622                     }
10623
10624                     If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
10625                     {
10626                         Return (0x0101)
10627                     }
10628
10629                     If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
10630                     {
10631                         Return (One)
10632                     }
10633
10634                     If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
10635                     {
10636                         Return (Zero)
10637                     }
10638
10639                     If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
10640                     {
10641                         Return (Zero)
10642                     }
10643
10644                     If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
10645                     {
10646                         Return (Zero)
10647                     }
10648
10649                     If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
10650                     {
10651                         Return (One)
10652                     }
10653
10654                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
10655                     {
10656                         Return (Zero)
10657                     }
10658
10659                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
10660                     {
10661                         If ((Arg2 == One))
10662                         {
10663                             Return (One)
10664                         }
10665
10666                         If ((Arg2 == 0x02))
10667                         {
10668                             Return (0x02003C00)
10669                         }
10670                     }
10671
10672                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
10673                     {
10674                         If ((Arg2 == One))
10675                         {
10676                             Return (0x02)
10677                         }
10678
10679                         If ((Arg2 == 0x02))
10680                         {
10681                             Return (0x01001100)
10682                         }
10683
10684                         If ((Arg2 == 0x03))
10685                         {
10686                             Return (0x1501)
10687                         }
10688                     }
10689
10690                     Return (Zero)
10691                 }
10692             }
10693
10694             Device (CAM5)
10695             {
10696                 Name (_ADR, Zero)  // _ADR: Address
10697                 Name (_HID, "INT33F8")  // _HID: Hardware ID
10698                 Name (_CID, "INT33F8")  // _CID: Compatible ID
10699                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
10700                 Name (_DDN, "GC2235")  // _DDN: DOS Device Name
10701                 Name (_UID, One)  // _UID: Unique ID
10702                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
10703                 {
10704                     I2C5, 
10705                     ^^I2C5.PMI1
10706                 })
10707                 Name (_PR0, Package (0x03)  // _PR0: Power Resources for D0
10708                 {
10709                     P28P, 
10710                     P18P, 
10711                     CLK1
10712                 })
10713                 Name (PLDB, Package (0x01)
10714                 {
10715                     Buffer (0x14)
10716                     {
10717                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10718                         /* 0008 */  0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  /* a....... */
10719                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
10720                     }
10721                 })
10722                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10723                 {
10724                     Return (PLDB) /* \_SB_.I2C2.CAM5.PLDB */
10725                 }
10726
10727                 Method (_STA, 0, NotSerialized)  // _STA: Status
10728                 {
10729                     If ((((FCAS == 0x02) && (PMID == 0x05)) && (OSSL & 0x80
10730                         )))
10731                     {
10732                         Return (0x0F)
10733                     }
10734
10735                     Return (0x0F)
10736                 }
10737
10738                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10739                 {
10740                     Name (SBUF, ResourceTemplate ()
10741                     {
10742                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10743                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10744                             )
10745                             {   // Pin list
10746                                 0x0012
10747                             }
10748                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10749                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10750                             )
10751                             {   // Pin list
10752                                 0x0016
10753                             }
10754                         I2cSerialBus (0x003C, ControllerInitiated, 0x00061A80,
10755                             AddressingMode7Bit, "\\_SB.I2C2",
10756                             0x00, ResourceConsumer, ,
10757                             )
10758                     })
10759                     Return (SBUF) /* \_SB_.I2C2.CAM5._CRS.SBUF */
10760                 }
10761
10762                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
10763                 {
10764                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
10765                     {
10766                         Return ("INT33F8")
10767                     }
10768
10769                     If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
10770                     {
10771                         Return ("GC2235")
10772                     }
10773
10774                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
10775                     {
10776                         Return ("GNDF130874")
10777                     }
10778
10779                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
10780                     {
10781                         If ((BDID == 0x04))
10782                         {
10783                             If ((FBID == 0x02))
10784                             {
10785                                 Return ("INTEL_FFRD")
10786                             }
10787
10788                             If ((FBID == 0x03))
10789                             {
10790                                 Return ("INTEL_FFRD")
10791                             }
10792                         }
10793
10794                         Return ("INTEL_RVP")
10795                     }
10796
10797                     If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
10798                     {
10799                         Return (0x0101)
10800                     }
10801
10802                     If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
10803                     {
10804                         Return (Zero)
10805                     }
10806
10807                     If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
10808                     {
10809                         Return (Zero)
10810                     }
10811
10812                     If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
10813                     {
10814                         Return (0x02)
10815                     }
10816
10817                     If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
10818                     {
10819                         Return (Zero)
10820                     }
10821
10822                     If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
10823                     {
10824                         Return (One)
10825                     }
10826
10827                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
10828                     {
10829                         Return (Zero)
10830                     }
10831
10832                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
10833                     {
10834                         If ((Arg2 == One))
10835                         {
10836                             Return (One)
10837                         }
10838
10839                         If ((Arg2 == 0x02))
10840                         {
10841                             Return (0x04003C00)
10842                         }
10843                     }
10844
10845                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
10846                     {
10847                         If ((Arg2 == One))
10848                         {
10849                             Return (0x02)
10850                         }
10851
10852                         If ((Arg2 == 0x02))
10853                         {
10854                             Return (0x01001200)
10855                         }
10856
10857                         If ((Arg2 == 0x03))
10858                         {
10859                             Return (0x00011601)
10860                         }
10861                     }
10862
10863                     Return (Zero)
10864                 }
10865             }
10866
10867             Device (CAM6)
10868             {
10869                 Name (_ADR, Zero)  // _ADR: Address
10870                 Name (_HID, "INT33F8")  // _HID: Hardware ID
10871                 Name (_CID, "INT33F8")  // _CID: Compatible ID
10872                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
10873                 Name (_DDN, "GC2235")  // _DDN: DOS Device Name
10874                 Name (_UID, One)  // _UID: Unique ID
10875                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
10876                 {
10877                     I2C5, 
10878                     ^^I2C5.PMI2
10879                 })
10880                 Name (_PR0, Package (0x03)  // _PR0: Power Resources for D0
10881                 {
10882                     P28T, 
10883                     P18T, 
10884                     CLK0
10885                 })
10886                 Name (PLDB, Package (0x01)
10887                 {
10888                     Buffer (0x14)
10889                     {
10890                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10891                         /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  /* i....... */
10892                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
10893                     }
10894                 })
10895                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10896                 {
10897                     Return (PLDB) /* \_SB_.I2C2.CAM6.PLDB */
10898                 }
10899
10900                 Method (_STA, 0, NotSerialized)  // _STA: Status
10901                 {
10902                     If ((((RCAS == 0x03) && (PMID == 0x06)) && (OSSL & 0x80
10903                         )))
10904                     {
10905                         Return (Zero)
10906                     }
10907
10908                     Return (Zero)
10909                 }
10910
10911                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10912                 {
10913                     Name (SBUF, ResourceTemplate ()
10914                     {
10915                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10916                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10917                             )
10918                             {   // Pin list
10919                                 0x0011
10920                             }
10921                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
10922                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
10923                             )
10924                             {   // Pin list
10925                                 0x0015
10926                             }
10927                         I2cSerialBus (0x003C, ControllerInitiated, 0x00061A80,
10928                             AddressingMode7Bit, "\\_SB.I2C2",
10929                             0x00, ResourceConsumer, ,
10930                             )
10931                     })
10932                     Return (SBUF) /* \_SB_.I2C2.CAM6._CRS.SBUF */
10933                 }
10934
10935                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
10936                 {
10937                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
10938                     {
10939                         Return ("INT33F8")
10940                     }
10941
10942                     If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
10943                     {
10944                         Return ("GC2235")
10945                     }
10946
10947                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
10948                     {
10949                         Return ("13P2BA807")
10950                     }
10951
10952                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
10953                     {
10954                         If ((BDID == 0x04))
10955                         {
10956                             If ((FBID == 0x02))
10957                             {
10958                                 Return ("INTEL_FFRD")
10959                             }
10960
10961                             If ((FBID == 0x03))
10962                             {
10963                                 Return ("INTEL_FFRD")
10964                             }
10965                         }
10966
10967                         Return ("INTEL_RVP")
10968                     }
10969
10970                     If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
10971                     {
10972                         Return (0x0101)
10973                     }
10974
10975                     If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
10976                     {
10977                         Return (One)
10978                     }
10979
10980                     If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
10981                     {
10982                         Return (Zero)
10983                     }
10984
10985                     If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
10986                     {
10987                         Return (Zero)
10988                     }
10989
10990                     If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
10991                     {
10992                         Return (Zero)
10993                     }
10994
10995                     If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
10996                     {
10997                         Return (One)
10998                     }
10999
11000                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
11001                     {
11002                         Return (Zero)
11003                     }
11004
11005                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
11006                     {
11007                         If ((Arg2 == One))
11008                         {
11009                             Return (One)
11010                         }
11011
11012                         If ((Arg2 == 0x02))
11013                         {
11014                             Return (0x02003C00)
11015                         }
11016                     }
11017
11018                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
11019                     {
11020                         If ((Arg2 == One))
11021                         {
11022                             Return (0x02)
11023                         }
11024
11025                         If ((Arg2 == 0x02))
11026                         {
11027                             Return (0x01001100)
11028                         }
11029
11030                         If ((Arg2 == 0x03))
11031                         {
11032                             Return (0x01001501)
11033                         }
11034                     }
11035
11036                     Return (Zero)
11037                 }
11038             }
11039
11040             Device (CAM7)
11041             {
11042                 Name (_ADR, Zero)  // _ADR: Address
11043                 Name (_HID, "INT33F8")  // _HID: Hardware ID
11044                 Name (_CID, "INT33F8")  // _CID: Compatible ID
11045                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
11046                 Name (_DDN, "GC2235")  // _DDN: DOS Device Name
11047                 Name (_UID, 0x02)  // _UID: Unique ID
11048                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
11049                 {
11050                     I2C5, 
11051                     ^^I2C5.PMI2
11052                 })
11053                 Name (_PR0, Package (0x03)  // _PR0: Power Resources for D0
11054                 {
11055                     P28T, 
11056                     P1XT, 
11057                     CLK1
11058                 })
11059                 Name (PLDB, Package (0x01)
11060                 {
11061                     Buffer (0x14)
11062                     {
11063                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11064                         /* 0008 */  0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  /* a....... */
11065                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           /* .... */
11066                     }
11067                 })
11068                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11069                 {
11070                     Return (PLDB) /* \_SB_.I2C2.CAM7.PLDB */
11071                 }
11072
11073                 Method (_STA, 0, NotSerialized)  // _STA: Status
11074                 {
11075                     If ((((FCAS == 0x02) && (PMID == 0x06)) && (OSSL & 0x80
11076                         )))
11077                     {
11078                         Return (Zero)
11079                     }
11080
11081                     Return (Zero)
11082                 }
11083
11084                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11085                 {
11086                     Name (SBUF, ResourceTemplate ()
11087                     {
11088                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11089                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11090                             )
11091                             {   // Pin list
11092                                 0x0012
11093                             }
11094                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11095                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11096                             )
11097                             {   // Pin list
11098                                 0x0016
11099                             }
11100                         I2cSerialBus (0x003C, ControllerInitiated, 0x00061A80,
11101                             AddressingMode7Bit, "\\_SB.I2C2",
11102                             0x00, ResourceConsumer, ,
11103                             )
11104                     })
11105                     Return (SBUF) /* \_SB_.I2C2.CAM7._CRS.SBUF */
11106                 }
11107
11108                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
11109                 {
11110                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
11111                     {
11112                         Return ("INT33F8")
11113                     }
11114
11115                     If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
11116                     {
11117                         Return ("GC2235")
11118                     }
11119
11120                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
11121                     {
11122                         Return ("GNDF130874")
11123                     }
11124
11125                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
11126                     {
11127                         If ((BDID == 0x04))
11128                         {
11129                             If ((FBID == 0x02))
11130                             {
11131                                 Return ("INTEL_FFRD")
11132                             }
11133
11134                             If ((FBID == 0x03))
11135                             {
11136                                 Return ("INTEL_FFRD")
11137                             }
11138                         }
11139
11140                         Return ("INTEL_RVP")
11141                     }
11142
11143                     If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
11144                     {
11145                         Return (0x0101)
11146                     }
11147
11148                     If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
11149                     {
11150                         Return (Zero)
11151                     }
11152
11153                     If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
11154                     {
11155                         Return (Zero)
11156                     }
11157
11158                     If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
11159                     {
11160                         Return (0x02)
11161                     }
11162
11163                     If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
11164                     {
11165                         Return (Zero)
11166                     }
11167
11168                     If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
11169                     {
11170                         Return (One)
11171                     }
11172
11173                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
11174                     {
11175                         Return (Zero)
11176                     }
11177
11178                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
11179                     {
11180                         If ((Arg2 == One))
11181                         {
11182                             Return (One)
11183                         }
11184
11185                         If ((Arg2 == 0x02))
11186                         {
11187                             Return (0x04003C00)
11188                         }
11189                     }
11190
11191                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
11192                     {
11193                         If ((Arg2 == One))
11194                         {
11195                             Return (0x02)
11196                         }
11197
11198                         If ((Arg2 == 0x02))
11199                         {
11200                             Return (0x01001200)
11201                         }
11202
11203                         If ((Arg2 == 0x03))
11204                         {
11205                             Return (0x00011601)
11206                         }
11207                     }
11208
11209                     Return (Zero)
11210                 }
11211             }
11212
11213             Device (STRA)
11214             {
11215                 Name (_ADR, Zero)  // _ADR: Address
11216                 Name (_HID, "INTCF1C")  // _HID: Hardware ID
11217                 Name (_CID, "INTCF1C")  // _CID: Compatible ID
11218                 Name (_SUB, "INTL0000")  // _SUB: Subsystem ID
11219                 Name (_DDN, "Flash LM3554")  // _DDN: DOS Device Name
11220                 Name (_UID, One)  // _UID: Unique ID
11221                 Method (_STA, 0, NotSerialized)  // _STA: Status
11222                 {
11223                     Return (0x0F)
11224                 }
11225
11226                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11227                 {
11228                     Name (SBUF, ResourceTemplate ()
11229                     {
11230                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11231                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11232                             )
11233                             {   // Pin list
11234                                 0x0013
11235                             }
11236                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11237                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11238                             )
11239                             {   // Pin list
11240                                 0x0014
11241                             }
11242                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11243                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11244                             )
11245                             {   // Pin list
11246                                 0x0010
11247                             }
11248                         I2cSerialBus (0x0053, ControllerInitiated, 0x00061A80,
11249                             AddressingMode7Bit, "\\_SB.I2C2",
11250                             0x00, ResourceConsumer, ,
11251                             )
11252                     })
11253                     Return (SBUF) /* \_SB_.I2C2.STRA._CRS.SBUF */
11254                 }
11255
11256                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
11257                 {
11258                     If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
11259                     {
11260                         Return ("INTCF1C")
11261                     }
11262
11263                     If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
11264                     {
11265                         Return ("LM3554")
11266                     }
11267
11268                     If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
11269                     {
11270                         If ((BDID == 0x04))
11271                         {
11272                             If ((FBID == 0x02))
11273                             {
11274                                 Return ("INTEL_FFRD")
11275                             }
11276
11277                             If ((FBID == 0x03))
11278                             {
11279                                 Return ("INTEL_FFRD")
11280                             }
11281                         }
11282
11283                         Return ("INTEL_RVP")
11284                     }
11285
11286                     If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
11287                     {
11288                         Return (Zero)
11289                     }
11290
11291                     If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
11292                     {
11293                         If ((Arg2 == One))
11294                         {
11295                             Return (One)
11296                         }
11297
11298                         If ((Arg2 == 0x02))
11299                         {
11300                             Return (0x04005300)
11301                         }
11302                     }
11303
11304                     If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
11305                     {
11306                         If ((Arg2 == One))
11307                         {
11308                             Return (0x04)
11309                         }
11310
11311                         If ((Arg2 == 0x02))
11312                         {
11313                             Return (0x01001302)
11314                         }
11315
11316                         If ((Arg2 == 0x03))
11317                         {
11318                             Return (0x01001403)
11319                         }
11320
11321                         If ((Arg2 == 0x04))
11322                         {
11323                             Return (0x01001001)
11324                         }
11325
11326                         If ((Arg2 == 0x05))
11327                         {
11328                             Return (0x01001104)
11329                         }
11330                     }
11331
11332                     Return (Zero)
11333                 }
11334             }
11335
11336             Device (TCS0)
11337             {
11338                 Name (_ADR, Zero)  // _ADR: Address
11339                 Name (_HID, "GODX0911")  // _HID: Hardware ID
11340                 Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
11341                 Name (_S0W, Zero)  // _S0W: S0 Device Wake State
11342                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
11343                 {
11344                     GPO1, 
11345                     I2C5
11346                 })
11347                 Method (_PS3, 0, Serialized)  // _PS3: Power State 3
11348                 {
11349                     If ((^^^I2C5.PMIC.AVBG == One)) {}
11350                 }
11351
11352                 Method (_PS0, 0, Serialized)  // _PS0: Power State 0
11353                 {
11354                     If ((^^^GPO1.AVBL == One))
11355                     {
11356                         ^^^GPO1.TCD3 = Zero
11357                     }
11358
11359                     Sleep (0x05)
11360                     If ((^^^I2C5.PMIC.AVBG == One)) {}
11361                     Sleep (0x1E)
11362                     If ((^^^GPO1.AVBL == One))
11363                     {
11364                         ^^^GPO1.TCD3 = One
11365                     }
11366
11367                     Sleep (0x78)
11368                 }
11369
11370                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11371                 {
11372                     Name (RBUF, ResourceTemplate ()
11373                     {
11374                         I2cSerialBus (0x0014, ControllerInitiated, 0x0019F0A0,
11375                             AddressingMode7Bit, "\\_SB.I2C2",
11376                             0x00, ResourceConsumer, ,
11377                             )
11378                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
11379                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11380                             )
11381                             {   // Pin list
11382                                 0x0044
11383                             }
11384                     })
11385                     Name (ABUF, ResourceTemplate ()
11386                     {
11387                         I2cSerialBus (0x0014, ControllerInitiated, 0x0019F0A0,
11388                             AddressingMode7Bit, "\\_SB.I2C2",
11389                             0x00, ResourceConsumer, ,
11390                             )
11391                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
11392                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11393                             )
11394                             {   // Pin list
11395                                 0x0044
11396                             }
11397                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11398                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11399                             )
11400                             {   // Pin list
11401                                 0x001A
11402                             }
11403                     })
11404                     If ((OSSL && 0x80))
11405                     {
11406                         Return (ABUF) /* \_SB_.I2C2.TCS0._CRS.ABUF */
11407                     }
11408                     Else
11409                     {
11410                         Return (RBUF) /* \_SB_.I2C2.TCS0._CRS.RBUF */
11411                     }
11412                 }
11413
11414                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11415                 {
11416                     Name (T_1, Zero)  // _T_x: Emitted by ASL Compiler
11417                     Name (T_0, Zero)  // _T_x: Emitted by ASL Compiler
11418                     Debug = "Method _DSM begin"
11419                     If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
11420                     {
11421                         While (One)
11422                         {
11423                             T_0 = ToInteger (Arg2)
11424                             If ((T_0 == Zero))
11425                             {
11426                                 While (One)
11427                                 {
11428                                     T_1 = ToInteger (Arg1)
11429                                     If ((T_1 == One))
11430                                     {
11431                                         Debug = "Method _DSM Function Query"
11432                                         Return (Buffer (One)
11433                                         {
11434                                              0x03                                             /* . */
11435                                         })
11436                                     }
11437                                     Else
11438                                     {
11439                                         Return (Buffer (One)
11440                                         {
11441                                              0x00                                             /* . */
11442                                         })
11443                                     }
11444
11445                                     Break
11446                                 }
11447                             }
11448                             Else
11449                             {
11450                                 If ((T_0 == One))
11451                                 {
11452                                     Debug = "Method _DSM Function HID"
11453                                     Return (Zero)
11454                                 }
11455                                 Else
11456                                 {
11457                                     Return (Zero)
11458                                 }
11459                             }
11460
11461                             Break
11462                         }
11463                     }
11464                     Else
11465                     {
11466                         Return (Buffer (One)
11467                         {
11468                              0x00                                             /* . */
11469                         })
11470                     }
11471                 }
11472
11473                 Method (_STA, 0, NotSerialized)  // _STA: Status
11474                 {
11475                     If ((OSSL == 0x83))
11476                     {
11477                         Return (0x0F)
11478                     }
11479
11480                     Return (Zero)
11481                 }
11482             }
11483         }
11484
11485         Device (I2C3)
11486         {
11487             Name (_ADR, Zero)  // _ADR: Address
11488             Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
11489             Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
11490             Name (_DDN, "Intel(R) I2C Controller #3 - 80860F43")  // _DDN: DOS Device Name
11491             Name (_UID, 0x03)  // _UID: Unique ID
11492             Name (_DEP, Package (0x01)  // _DEP: Dependencies
11493             {
11494                 PEPD
11495             })
11496             Name (RBUF, ResourceTemplate ()
11497             {
11498                 Memory32Fixed (ReadWrite,
11499                     0x00000000,         // Address Base
11500                     0x00001000,         // Address Length
11501                     _Y1A)
11502                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
11503                 {
11504                     0x00000022,
11505                 }
11506                 FixedDMA (0x0014, 0x0004, Width32bit, )
11507                 FixedDMA (0x0015, 0x0005, Width32bit, )
11508             })
11509             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
11510             {
11511                 Return (SOCS) /* \SOCS */
11512             }
11513
11514             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11515             {
11516                 CreateDWordField (RBUF, \_SB.I2C3._Y1A._BAS, B0BA)  // _BAS: Base Address
11517                 CreateDWordField (RBUF, \_SB.I2C3._Y1A._LEN, B0LN)  // _LEN: Length
11518                 B0BA = I30A /* \I30A */
11519                 B0LN = I30L /* \I30L */
11520                 Return (RBUF) /* \_SB_.I2C3.RBUF */
11521             }
11522
11523             Method (_STA, 0, NotSerialized)  // _STA: Status
11524             {
11525                 If (((I30A == Zero) || (L23D == One)))
11526                 {
11527                     Return (Zero)
11528                 }
11529
11530                 Return (0x0F)
11531             }
11532
11533             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11534             {
11535                 PSAT |= 0x03
11536                 Local0 = PSAT /* \_SB_.I2C3.PSAT */
11537             }
11538
11539             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11540             {
11541                 PSAT &= 0xFFFFFFFC
11542                 Local0 = PSAT /* \_SB_.I2C3.PSAT */
11543             }
11544
11545             OperationRegion (KEYS, SystemMemory, I31A, 0x0100)
11546             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
11547             {
11548                 Offset (0x84), 
11549                 PSAT,   32
11550             }
11551
11552             Device (STAC)
11553             {
11554                 Name (_ADR, Zero)  // _ADR: Address
11555                 Name (_HID, "STAC0303")  // _HID: Hardware ID
11556                 Name (_CID, "INTACCL")  // _CID: Compatible ID
11557                 Name (_UID, One)  // _UID: Unique ID
11558                 Method (_STA, 0, NotSerialized)  // _STA: Status
11559                 {
11560                     If ((OSSL & 0x80))
11561                     {
11562                         If ((ACCS == 0x02))
11563                         {
11564                             Return (0x0F)
11565                         }
11566
11567                         Return (Zero)
11568                     }
11569                     Else
11570                     {
11571                         Return (Zero)
11572                     }
11573                 }
11574
11575                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11576                 {
11577                     Name (RBUF, ResourceTemplate ()
11578                     {
11579                         I2cSerialBus (0x0019, ControllerInitiated, 0x00061A80,
11580                             AddressingMode7Bit, "\\_SB.I2C3",
11581                             0x00, ResourceConsumer, ,
11582                             )
11583                     })
11584                     Return (RBUF) /* \_SB_.I2C3.STAC._CRS.RBUF */
11585                 }
11586             }
11587
11588             Device (STMA)
11589             {
11590                 Name (_ADR, Zero)  // _ADR: Address
11591                 Name (_HID, "STMA0303")  // _HID: Hardware ID
11592                 Name (_CID, "INTMAGN")  // _CID: Compatible ID
11593                 Name (_UID, One)  // _UID: Unique ID
11594                 Method (_STA, 0, NotSerialized)  // _STA: Status
11595                 {
11596                     If ((OSSL & 0x80))
11597                     {
11598                         If ((ACCS == 0x02))
11599                         {
11600                             Return (0x0F)
11601                         }
11602
11603                         Return (Zero)
11604                     }
11605                     Else
11606                     {
11607                         Return (Zero)
11608                     }
11609                 }
11610
11611                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11612                 {
11613                     Name (RBUF, ResourceTemplate ()
11614                     {
11615                         I2cSerialBus (0x001E, ControllerInitiated, 0x00061A80,
11616                             AddressingMode7Bit, "\\_SB.I2C3",
11617                             0x00, ResourceConsumer, ,
11618                             )
11619                         GpioInt (Level, ActiveHigh, Exclusive, PullDown, 0x0000,
11620                             "\\_SB.GPO0", 0x00, ResourceConsumer, ,
11621                             )
11622                             {   // Pin list
11623                                 0x005F
11624                             }
11625                         GpioInt (Level, ActiveHigh, Exclusive, PullDown, 0x0000,
11626                             "\\_SB.GPO0", 0x00, ResourceConsumer, ,
11627                             )
11628                             {   // Pin list
11629                                 0x003A
11630                             }
11631                     })
11632                     Return (RBUF) /* \_SB_.I2C3.STMA._CRS.RBUF */
11633                 }
11634             }
11635
11636             Device (STGY)
11637             {
11638                 Name (_ADR, Zero)  // _ADR: Address
11639                 Name (_HID, "STGY0320")  // _HID: Hardware ID
11640                 Name (_CID, "INTGYRO")  // _CID: Compatible ID
11641                 Name (_UID, One)  // _UID: Unique ID
11642                 Method (_STA, 0, NotSerialized)  // _STA: Status
11643                 {
11644                     If ((OSSL & 0x80))
11645                     {
11646                         If ((GYRS == 0x02))
11647                         {
11648                             Return (0x0F)
11649                         }
11650
11651                         Return (Zero)
11652                     }
11653                     Else
11654                     {
11655                         Return (Zero)
11656                     }
11657                 }
11658
11659                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11660                 {
11661                     Name (RBUF, ResourceTemplate ()
11662                     {
11663                         I2cSerialBus (0x006B, ControllerInitiated, 0x00061A80,
11664                             AddressingMode7Bit, "\\_SB.I2C3",
11665                             0x00, ResourceConsumer, ,
11666                             )
11667                         GpioInt (Level, ActiveHigh, Exclusive, PullDown, 0x0000,
11668                             "\\_SB.GPO0", 0x00, ResourceConsumer, ,
11669                             )
11670                             {   // Pin list
11671                                 0x005E
11672                             }
11673                     })
11674                     Return (RBUF) /* \_SB_.I2C3.STGY._CRS.RBUF */
11675                 }
11676             }
11677
11678             Device (FUSI)
11679             {
11680                 Name (_ADR, Zero)  // _ADR: Address
11681                 Name (_HID, "FUSI0001")  // _HID: Hardware ID
11682                 Name (_CID, "INTFUSI")  // _CID: Compatible ID
11683                 Name (_UID, One)  // _UID: Unique ID
11684                 Method (_STA, 0, NotSerialized)  // _STA: Status
11685                 {
11686                     Return (Zero)
11687                 }
11688
11689                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11690                 {
11691                     Name (RBUF, ResourceTemplate ()
11692                     {
11693                         GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
11694                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11695                             )
11696                             {   // Pin list
11697                                 0x0017
11698                             }
11699                         GpioInt (Edge, ActiveLow, Exclusive, PullDown, 0x0000,
11700                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11701                             )
11702                             {   // Pin list
11703                                 0x0006
11704                             }
11705                     })
11706                     Return (RBUF) /* \_SB_.I2C3.FUSI._CRS.RBUF */
11707                 }
11708             }
11709
11710             Device (ALSW)
11711             {
11712                 Name (_ADR, Zero)  // _ADR: Address
11713                 Name (_HID, "JSA01212")  // _HID: Hardware ID
11714                 Name (_CID, "INTLALS")  // _CID: Compatible ID
11715                 Name (_UID, One)  // _UID: Unique ID
11716                 Method (_STA, 0, NotSerialized)  // _STA: Status
11717                 {
11718                     If ((OSSL & 0x80))
11719                     {
11720                         Return (0x0F)
11721                     }
11722
11723                     Return (Zero)
11724                 }
11725
11726                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11727                 {
11728                     Name (RBUF, ResourceTemplate ()
11729                     {
11730                         I2cSerialBus (0x0044, ControllerInitiated, 0x00061A80,
11731                             AddressingMode7Bit, "\\_SB.I2C3",
11732                             0x00, ResourceConsumer, ,
11733                             )
11734                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
11735                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11736                             )
11737                             {   // Pin list
11738                                 0x0006
11739                             }
11740                     })
11741                     Return (RBUF) /* \_SB_.I2C3.ALSW._CRS.RBUF */
11742                 }
11743             }
11744
11745             Device (SPBA)
11746             {
11747                 Name (_ADR, Zero)  // _ADR: Address
11748                 Name (_HID, "KXCJ9000")  // _HID: Hardware ID
11749                 Name (_CID, "INTACCL")  // _CID: Compatible ID
11750                 Name (_UID, One)  // _UID: Unique ID
11751                 Method (_STA, 0, NotSerialized)  // _STA: Status
11752                 {
11753                     If ((OSSL & 0x80))
11754                     {
11755                         If ((ACCS == One))
11756                         {
11757                             Return (0x0F)
11758                         }
11759
11760                         Return (Zero)
11761                     }
11762                     Else
11763                     {
11764                         Return (Zero)
11765                     }
11766                 }
11767
11768                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11769                 {
11770                     Name (RBUF, ResourceTemplate ()
11771                     {
11772                         I2cSerialBus (0x000F, ControllerInitiated, 0x00061A80,
11773                             AddressingMode7Bit, "\\_SB.I2C3",
11774                             0x00, ResourceConsumer, ,
11775                             )
11776                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
11777                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11778                             )
11779                             {   // Pin list
11780                                 0x0017
11781                             }
11782                     })
11783                     Return (RBUF) /* \_SB_.I2C3.SPBA._CRS.RBUF */
11784                 }
11785             }
11786
11787             Device (SPBM)
11788             {
11789                 Name (_ADR, Zero)  // _ADR: Address
11790                 Name (_HID, "CPAK8963")  // _HID: Hardware ID
11791                 Name (_CID, "INTMAGN")  // _CID: Compatible ID
11792                 Name (_UID, One)  // _UID: Unique ID
11793                 Method (_STA, 0, NotSerialized)  // _STA: Status
11794                 {
11795                     If ((OSSL & 0x80))
11796                     {
11797                         If ((ACCS == One))
11798                         {
11799                             Return (0x0F)
11800                         }
11801
11802                         Return (Zero)
11803                     }
11804                     Else
11805                     {
11806                         Return (Zero)
11807                     }
11808                 }
11809
11810                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11811                 {
11812                     Name (RBUF, ResourceTemplate ()
11813                     {
11814                         I2cSerialBus (0x0013, ControllerInitiated, 0x00061A80,
11815                             AddressingMode7Bit, "\\_SB.I2C3",
11816                             0x00, ResourceConsumer, ,
11817                             )
11818                     })
11819                     Return (RBUF) /* \_SB_.I2C3.SPBM._CRS.RBUF */
11820                 }
11821             }
11822
11823             Device (SPBG)
11824             {
11825                 Name (_ADR, Zero)  // _ADR: Address
11826                 Name (_HID, "BSBG0160")  // _HID: Hardware ID
11827                 Name (_CID, "INTGYRO")  // _CID: Compatible ID
11828                 Name (_UID, One)  // _UID: Unique ID
11829                 Method (_STA, 0, NotSerialized)  // _STA: Status
11830                 {
11831                     If ((OSSL & 0x80))
11832                     {
11833                         If ((GYRS == One))
11834                         {
11835                             Return (0x0F)
11836                         }
11837
11838                         Return (Zero)
11839                     }
11840                     Else
11841                     {
11842                         Return (Zero)
11843                     }
11844                 }
11845
11846                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11847                 {
11848                     Name (RBUF, ResourceTemplate ()
11849                     {
11850                         I2cSerialBus (0x0068, ControllerInitiated, 0x00061A80,
11851                             AddressingMode7Bit, "\\_SB.I2C3",
11852                             0x00, ResourceConsumer, ,
11853                             )
11854                     })
11855                     Return (RBUF) /* \_SB_.I2C3.SPBG._CRS.RBUF */
11856                 }
11857             }
11858
11859             Device (SAR1)
11860             {
11861                 Name (_ADR, Zero)  // _ADR: Address
11862                 Name (_HID, "SASX9500")  // _HID: Hardware ID
11863                 Name (_CID, "INTSRCL")  // _CID: Compatible ID
11864                 Name (_UID, One)  // _UID: Unique ID
11865                 Method (_STA, 0, NotSerialized)  // _STA: Status
11866                 {
11867                     If ((OSSL & 0x80))
11868                     {
11869                         Return (0x0F)
11870                     }
11871
11872                     Return (Zero)
11873                 }
11874
11875                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11876                 {
11877                     Name (RBUF, ResourceTemplate ()
11878                     {
11879                         GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x0000,
11880                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11881                             )
11882                             {   // Pin list
11883                                 0x0013
11884                             }
11885                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11886                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11887                             )
11888                             {   // Pin list
11889                                 0x0014
11890                             }
11891                     })
11892                     Return (RBUF) /* \_SB_.I2C3.SAR1._CRS.RBUF */
11893                 }
11894             }
11895         }
11896
11897         Device (MDM)
11898         {
11899             Name (_HID, EisaId ("MCD0001"))  // _HID: Hardware ID
11900             Name (_CID, "MCD0001")  // _CID: Compatible ID
11901             Name (CPU, "ValleyView2")
11902             Name (MDMN, "XMM_6260")
11903             Method (_STA, 0, NotSerialized)  // _STA: Status
11904             {
11905                 If ((OSSL & 0x80))
11906                 {
11907                     Return (0x0F)
11908                 }
11909
11910                 Return (Zero)
11911             }
11912
11913             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11914             {
11915                 Name (UBUF, ResourceTemplate ()
11916                 {
11917                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11918                         "\\_SB.GPO1", 0x00, ResourceConsumer, ,
11919                         )
11920                         {   // Pin list
11921                             0x0017
11922                         }
11923                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
11924                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11925                         )
11926                         {   // Pin list
11927                             0x001E
11928                         }
11929                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
11930                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11931                         )
11932                         {   // Pin list
11933                             0x001C
11934                         }
11935                     GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
11936                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
11937                         )
11938                         {   // Pin list
11939                             0x001D
11940                         }
11941                 })
11942                 Return (UBUF) /* \_SB_.MDM_._CRS.UBUF */
11943             }
11944         }
11945
11946         Device (I2C4)
11947         {
11948             Name (_ADR, Zero)  // _ADR: Address
11949             Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
11950             Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
11951             Name (_DDN, "Intel(R) I2C Controller #4 - 80860F44")  // _DDN: DOS Device Name
11952             Name (_UID, 0x04)  // _UID: Unique ID
11953             Name (_DEP, Package (0x01)  // _DEP: Dependencies
11954             {
11955                 PEPD
11956             })
11957             Name (RBUF, ResourceTemplate ()
11958             {
11959                 Memory32Fixed (ReadWrite,
11960                     0x00000000,         // Address Base
11961                     0x00001000,         // Address Length
11962                     _Y1B)
11963                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
11964                 {
11965                     0x00000023,
11966                 }
11967                 FixedDMA (0x0016, 0x0006, Width32bit, )
11968                 FixedDMA (0x0017, 0x0007, Width32bit, )
11969             })
11970             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
11971             {
11972                 Return (SOCS) /* \SOCS */
11973             }
11974
11975             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11976             {
11977                 CreateDWordField (RBUF, \_SB.I2C4._Y1B._BAS, B0BA)  // _BAS: Base Address
11978                 CreateDWordField (RBUF, \_SB.I2C4._Y1B._LEN, B0LN)  // _LEN: Length
11979                 B0BA = I40A /* \I40A */
11980                 B0LN = I40L /* \I40L */
11981                 Return (RBUF) /* \_SB_.I2C4.RBUF */
11982             }
11983
11984             Method (_STA, 0, NotSerialized)  // _STA: Status
11985             {
11986                 If (((I40A == Zero) || (L24D == One)))
11987                 {
11988                     Return (Zero)
11989                 }
11990
11991                 Return (0x0F)
11992             }
11993
11994             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11995             {
11996                 PSAT |= 0x03
11997                 Local0 = PSAT /* \_SB_.I2C4.PSAT */
11998             }
11999
12000             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
12001             {
12002                 PSAT &= 0xFFFFFFFC
12003                 Local0 = PSAT /* \_SB_.I2C4.PSAT */
12004             }
12005
12006             OperationRegion (KEYS, SystemMemory, I41A, 0x0100)
12007             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
12008             {
12009                 Offset (0x84), 
12010                 PSAT,   32
12011             }
12012
12013             Device (TCS0)
12014             {
12015                 Name (_ADR, Zero)  // _ADR: Address
12016                 Name (_HID, "GODX0911")  // _HID: Hardware ID
12017                 Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
12018                 Name (_S0W, Zero)  // _S0W: S0 Device Wake State
12019                 Name (_DEP, Package (0x02)  // _DEP: Dependencies
12020                 {
12021                     GPO1, 
12022                     I2C5
12023                 })
12024                 Method (_PS3, 0, Serialized)  // _PS3: Power State 3
12025                 {
12026                     If ((^^^I2C5.PMIC.AVBG == One)) {}
12027                 }
12028
12029                 Method (_PS0, 0, Serialized)  // _PS0: Power State 0
12030                 {
12031                     If ((^^^GPO1.AVBL == One))
12032                     {
12033                         ^^^GPO1.TCD3 = Zero
12034                     }
12035
12036                     Sleep (0x05)
12037                     If ((^^^I2C5.PMIC.AVBG == One)) {}
12038                     Sleep (0x1E)
12039                     If ((^^^GPO1.AVBL == One))
12040                     {
12041                         ^^^GPO1.TCD3 = One
12042                     }
12043
12044                     Sleep (0x78)
12045                 }
12046
12047                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
12048                 {
12049                     Name (RBUF, ResourceTemplate ()
12050                     {
12051                         I2cSerialBus (0x0014, ControllerInitiated, 0x0019F0A0,
12052                             AddressingMode7Bit, "\\_SB.I2C4",
12053                             0x00, ResourceConsumer, ,
12054                             )
12055                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
12056                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
12057                             )
12058                             {   // Pin list
12059                                 0x0044
12060                             }
12061                     })
12062                     Name (ABUF, ResourceTemplate ()
12063                     {
12064                         I2cSerialBus (0x0014, ControllerInitiated, 0x0019F0A0,
12065                             AddressingMode7Bit, "\\_SB.I2C4",
12066                             0x00, ResourceConsumer, ,
12067                             )
12068                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
12069                             "\\_SB.GPO2", 0x00, ResourceConsumer, ,
12070                             )
12071                             {   // Pin list
12072                                 0x0044
12073                             }
12074                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12075                             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
12076                             )
12077                             {   // Pin list
12078                                 0x001A
12079                             }
12080                     })
12081                     If ((OSSL && 0x80))
12082                     {
12083                         Return (ABUF) /* \_SB_.I2C4.TCS0._CRS.ABUF */
12084                     }
12085                     Else
12086                     {
12087                         Return (RBUF) /* \_SB_.I2C4.TCS0._CRS.RBUF */
12088                     }
12089                 }
12090
12091                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
12092                 {
12093                     Name (T_1, Zero)  // _T_x: Emitted by ASL Compiler
12094                     Name (T_0, Zero)  // _T_x: Emitted by ASL Compiler
12095                     Debug = "Method _DSM begin"
12096                     If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
12097                     {
12098                         While (One)
12099                         {
12100                             T_0 = ToInteger (Arg2)
12101                             If ((T_0 == Zero))
12102                             {
12103                                 While (One)
12104                                 {
12105                                     T_1 = ToInteger (Arg1)
12106                                     If ((T_1 == One))
12107                                     {
12108                                         Debug = "Method _DSM Function Query"
12109                                         Return (Buffer (One)
12110                                         {
12111                                              0x03                                             /* . */
12112                                         })
12113                                     }
12114                                     Else
12115                                     {
12116                                         Return (Buffer (One)
12117                                         {
12118                                              0x00                                             /* . */
12119                                         })
12120                                     }
12121
12122                                     Break
12123                                 }
12124                             }
12125                             Else
12126                             {
12127                                 If ((T_0 == One))
12128                                 {
12129                                     Debug = "Method _DSM Function HID"
12130                                     Return (Zero)
12131                                 }
12132                                 Else
12133                                 {
12134                                     Return (Zero)
12135                                 }
12136                             }
12137
12138                             Break
12139                         }
12140                     }
12141                     Else
12142                     {
12143                         Return (Buffer (One)
12144                         {
12145                              0x00                                             /* . */
12146                         })
12147                     }
12148                 }
12149
12150                 Method (_STA, 0, NotSerialized)  // _STA: Status
12151                 {
12152                     If ((OSSL == 0x83))
12153                     {
12154                         Return (Zero)
12155                     }
12156
12157                     Return (0x0F)
12158                 }
12159             }
12160         }
12161
12162         Device (I2C5)
12163         {
12164             Name (_ADR, Zero)  // _ADR: Address
12165             Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
12166             Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
12167             Name (_DDN, "Intel(R) I2C Controller #5 - 80860F45")  // _DDN: DOS Device Name
12168             Name (_UID, 0x05)  // _UID: Unique ID
12169             Method (_SEM, 0, NotSerialized)
12170             {
12171                 If ((((PMID == 0x04) || (PMID == 0x05)) || (PMID == 0x06)))
12172                 {
12173                     ADBG ("$COVE")
12174                     Return (One)
12175                 }
12176                 Else
12177                 {
12178                     ADBG ("CCOVE")
12179                     Return (Zero)
12180                 }
12181             }
12182
12183             Name (_DEP, Package (0x01)  // _DEP: Dependencies
12184             {
12185                 PEPD
12186             })
12187             Name (RBUF, ResourceTemplate ()
12188             {
12189                 Memory32Fixed (ReadWrite,
12190                     0x00000000,         // Address Base
12191                     0x00001000,         // Address Length
12192                     _Y1C)
12193                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
12194                 {
12195                     0x00000024,
12196                 }
12197                 FixedDMA (0x0018, 0x0000, Width32bit, )
12198                 FixedDMA (0x0019, 0x0001, Width32bit, )
12199             })
12200             Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
12201             {
12202                 Return (SOCS) /* \SOCS */
12203             }
12204
12205             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
12206             {
12207                 CreateDWordField (RBUF, \_SB.I2C5._Y1C._BAS, B0BA)  // _BAS: Base Address
12208                 CreateDWordField (RBUF, \_SB.I2C5._Y1C._LEN, B0LN)  // _LEN: Length
12209                 B0BA = I50A /* \I50A */
12210                 B0LN = I50L /* \I50L */
12211                 Return (RBUF) /* \_SB_.I2C5.RBUF */
12212             }
12213
12214             Method (_STA, 0, NotSerialized)  // _STA: Status
12215             {
12216                 If (((I50A == Zero) || (L25D == One)))
12217                 {
12218                     Return (Zero)
12219                 }
12220
12221                 Return (0x0F)
12222             }
12223
12224             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
12225             {
12226                 If ((((PMID == 0x04) || (PMID == 0x05)) || (PMID == 0x06)))
12227                 {
12228                     Return (Zero)
12229                 }
12230
12231                 PSAT |= 0x03
12232                 Local0 = PSAT /* \_SB_.I2C5.PSAT */
12233             }
12234
12235             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
12236             {
12237                 PSAT &= 0xFFFFFFFC
12238                 Local0 = PSAT /* \_SB_.I2C5.PSAT */
12239             }
12240
12241             OperationRegion (KEYS, SystemMemory, I51A, 0x0100)
12242             Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
12243             {
12244                 Offset (0x84), 
12245                 PSAT,   32
12246             }
12247
12248             Name (XPMC, ResourceTemplate ()
12249             {
12250                 I2cSerialBus (0x0034, ControllerInitiated, 0x00061A80,
12251                     AddressingMode7Bit, "\\_SB.I2C5",
12252                     0x00, ResourceConsumer, ,
12253                     )
12254             })
12255             OperationRegion (XSCG, GenericSerialBus, Zero, 0x0100)
12256             Field (XSCG, BufferAcc, NoLock, Preserve)
12257             {
12258                 Connection (XPMC), 
12259                 AccessAs (BufferAcc, AttribByte), 
12260                 XP00,   8
12261             }
12262
12263             Field (XSCG, BufferAcc, NoLock, Preserve)
12264             {
12265                 Connection (XPMC), 
12266                 Offset (0x2C), 
12267                 AccessAs (BufferAcc, AttribByte), 
12268                 XP2C,   8, 
12269                 XP2D,   8, 
12270                 XP2E,   8, 
12271                 XP2F,   8, 
12272                 XP30,   8, 
12273                 XP31,   8, 
12274                 XP32,   8
12275             }
12276
12277             Field (XSCG, BufferAcc, NoLock, Preserve)
12278             {
12279                 Connection (XPMC), 
12280                 Offset (0x2C), 
12281                 AccessAs (BufferAcc, AttribBytes (0x0A)), 
12282                 XPCG,   8
12283             }
12284         }
12285
12286         Scope (I2C5)
12287         {
12288             Device (PMI1)
12289             {
12290                 Name (_ADR, Zero)  // _ADR: Address
12291                 Name (_HID, "INT33F4" /* XPOWER PMIC Controller */)  // _HID: Hardware ID
12292                 Name (_CID, "INT33F4" /* XPOWER PMIC Controller */)  // _CID: Compatible ID
12293                 Name (_DDN, "XPOWER PMIC Controller")  // _DDN: DOS Device Name
12294                 Name (_HRV, 0x02)  // _HRV: Hardware Revision
12295                 Name (_UID, One)  // _UID: Unique ID
12296                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
12297                 {
12298                     I2C5
12299                 })
12300                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
12301                 {
12302                     Name (SBUF, ResourceTemplate ()
12303                     {
12304                         I2cSerialBus (0x0034, ControllerInitiated, 0x000F4240,
12305                             AddressingMode7Bit, "\\_SB.I2C5",
12306                             0x00, ResourceConsumer, ,
12307                             )
12308                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12309                         {
12310                             0x00000043,
12311                         }
12312                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12313                         {
12314                             0x00000043,
12315                         }
12316                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12317                         {
12318                             0x00000043,
12319                         }
12320                     })
12321                     Return (SBUF) /* \_SB_.I2C5.PMI1._CRS.SBUF */
12322                 }
12323
12324                 Method (_STA, 0, NotSerialized)  // _STA: Status
12325                 {
12326                     If ((PMEN == Zero))
12327                     {
12328                         Return (Zero)
12329                     }
12330
12331                     If ((PMID == 0x05))
12332                     {
12333                         ADBG ("XPWR_DCOVE")
12334                         Return (0x0F)
12335                     }
12336
12337                     Return (Zero)
12338                 }
12339
12340                 OperationRegion (PMOP, 0x8D, Zero, 0x0100)
12341                 Field (PMOP, DWordAcc, NoLock, Preserve)
12342                 {
12343                     ALD1,   32, 
12344                     ALD2,   32, 
12345                     ALD3,   32, 
12346                     DLD1,   32, 
12347                     DLD2,   32, 
12348                     DLD3,   32, 
12349                     DLD4,   32, 
12350                     ELD1,   32, 
12351                     ELD2,   32, 
12352                     ELD3,   32, 
12353                     FLD1,   32, 
12354                     FLD2,   32, 
12355                     FLD3,   32, 
12356                     BUC1,   32, 
12357                     BUC2,   32, 
12358                     BUC3,   32, 
12359                     BUC4,   32, 
12360                     BUC5,   32, 
12361                     BUC6,   32, 
12362                     GPI1,   32
12363                 }
12364
12365                 OperationRegion (DPTF, 0x8C, Zero, 0x0100)
12366                 Field (DPTF, DWordAcc, NoLock, Preserve)
12367                 {
12368                     TMP0,   32, 
12369                     AX00,   32, 
12370                     AX01,   32, 
12371                     TMP1,   32, 
12372                     AX10,   32, 
12373                     AX11,   32, 
12374                     TMP2,   32, 
12375                     AX20,   32, 
12376                     AX21,   32, 
12377                     TMP3,   32, 
12378                     AX30,   32, 
12379                     AX31,   32, 
12380                     TMP4,   32, 
12381                     AX40,   32, 
12382                     AX41,   32, 
12383                     TMP5,   32, 
12384                     AX50,   32, 
12385                     AX51,   32, 
12386                     PEN0,   32, 
12387                     PEN1,   32, 
12388                     PEN2,   32, 
12389                     PEN3,   32, 
12390                     PEN4,   32, 
12391                     PEN5,   32
12392                 }
12393
12394                 Name (LPAT, Package (0x44)
12395                 {
12396                     0x091B, 
12397                     0x3952, 
12398                     0x094D, 
12399                     0x2B69, 
12400                     0x097F, 
12401                     0x2135, 
12402                     0x09B1, 
12403                     0x19A7, 
12404                     0x09E3, 
12405                     0x13FE, 
12406                     0x0A15, 
12407                     0x0FB8, 
12408                     0x0A47, 
12409                     0x0C74, 
12410                     0x0A79, 
12411                     0x09EE, 
12412                     0x0AAB, 
12413                     0x07F9, 
12414                     0x0ADD, 
12415                     0x0674, 
12416                     0x0B0F, 
12417                     0x0540, 
12418                     0x0B41, 
12419                     0x044D, 
12420                     0x0B73, 
12421                     0x038A, 
12422                     0x0BA5, 
12423                     0x02EE, 
12424                     0x0BD7, 
12425                     0x0270, 
12426                     0x0C09, 
12427                     0x0209, 
12428                     0x0C3B, 
12429                     0x01B6, 
12430                     0x0C6D, 
12431                     0x0171, 
12432                     0x0C9F, 
12433                     0x0138, 
12434                     0x0CD1, 
12435                     0x0109, 
12436                     0x0D03, 
12437                     0xE2, 
12438                     0x0D35, 
12439                     0xC2, 
12440                     0x0D67, 
12441                     0xA7, 
12442                     0x0D99, 
12443                     0x90, 
12444                     0x0DCB, 
12445                     0x7D, 
12446                     0x0DFD, 
12447                     0x6D, 
12448                     0x0E2F, 
12449                     0x5F, 
12450                     0x0E61, 
12451                     0x53, 
12452                     0x0E93, 
12453                     0x49, 
12454                     0x0EC5, 
12455                     0x40, 
12456                     0x0EF7, 
12457                     0x39, 
12458                     0x0F29, 
12459                     0x32, 
12460                     0x0F5B, 
12461                     0x2D, 
12462                     0x0F8D, 
12463                     0x28
12464                 })
12465                 OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
12466                 Field (GPOP, ByteAcc, NoLock, Preserve)
12467                 {
12468                     Connection (
12469                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12470                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12471                             )
12472                             {   // Pin list
12473                                 0x0020
12474                             }
12475                     ), 
12476                     GMP0,   1, 
12477                     Connection (
12478                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12479                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12480                             )
12481                             {   // Pin list
12482                                 0x0021
12483                             }
12484                     ), 
12485                     GX00,   1, 
12486                     Connection (
12487                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12488                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12489                             )
12490                             {   // Pin list
12491                                 0x0022
12492                             }
12493                     ), 
12494                     GX01,   1, 
12495                     Connection (
12496                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12497                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12498                             )
12499                             {   // Pin list
12500                                 0x0023
12501                             }
12502                     ), 
12503                     GMP1,   1, 
12504                     Connection (
12505                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12506                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12507                             )
12508                             {   // Pin list
12509                                 0x0024
12510                             }
12511                     ), 
12512                     GX10,   1, 
12513                     Connection (
12514                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12515                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12516                             )
12517                             {   // Pin list
12518                                 0x0025
12519                             }
12520                     ), 
12521                     GX11,   1, 
12522                     Connection (
12523                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12524                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12525                             )
12526                             {   // Pin list
12527                                 0x0026
12528                             }
12529                     ), 
12530                     GMP2,   1, 
12531                     Connection (
12532                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12533                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12534                             )
12535                             {   // Pin list
12536                                 0x0027
12537                             }
12538                     ), 
12539                     GX20,   1, 
12540                     Connection (
12541                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12542                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12543                             )
12544                             {   // Pin list
12545                                 0x0028
12546                             }
12547                     ), 
12548                     GX21,   1, 
12549                     Connection (
12550                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12551                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12552                             )
12553                             {   // Pin list
12554                                 0x0029
12555                             }
12556                     ), 
12557                     GMP3,   1, 
12558                     Connection (
12559                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12560                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12561                             )
12562                             {   // Pin list
12563                                 0x002A
12564                             }
12565                     ), 
12566                     GX30,   1, 
12567                     Connection (
12568                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12569                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12570                             )
12571                             {   // Pin list
12572                                 0x002B
12573                             }
12574                     ), 
12575                     GX31,   1, 
12576                     Connection (
12577                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12578                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12579                             )
12580                             {   // Pin list
12581                                 0x002C
12582                             }
12583                     ), 
12584                     GMP4,   1, 
12585                     Connection (
12586                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12587                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12588                             )
12589                             {   // Pin list
12590                                 0x002D
12591                             }
12592                     ), 
12593                     GX40,   1, 
12594                     Connection (
12595                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12596                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12597                             )
12598                             {   // Pin list
12599                                 0x002E
12600                             }
12601                     ), 
12602                     GX41,   1, 
12603                     Connection (
12604                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12605                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12606                             )
12607                             {   // Pin list
12608                                 0x002F
12609                             }
12610                     ), 
12611                     GMP5,   1, 
12612                     Connection (
12613                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12614                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12615                             )
12616                             {   // Pin list
12617                                 0x0030
12618                             }
12619                     ), 
12620                     GX50,   1, 
12621                     Connection (
12622                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12623                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12624                             )
12625                             {   // Pin list
12626                                 0x0031
12627                             }
12628                     ), 
12629                     GX51,   1, 
12630                     Connection (
12631                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12632                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12633                             )
12634                             {   // Pin list
12635                                 0x0032
12636                             }
12637                     ), 
12638                     GEN0,   1, 
12639                     Connection (
12640                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12641                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12642                             )
12643                             {   // Pin list
12644                                 0x0033
12645                             }
12646                     ), 
12647                     GEN1,   1, 
12648                     Connection (
12649                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12650                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12651                             )
12652                             {   // Pin list
12653                                 0x0034
12654                             }
12655                     ), 
12656                     GEN2,   1, 
12657                     Connection (
12658                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12659                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12660                             )
12661                             {   // Pin list
12662                                 0x0035
12663                             }
12664                     ), 
12665                     GEN3,   1, 
12666                     Connection (
12667                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12668                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12669                             )
12670                             {   // Pin list
12671                                 0x0036
12672                             }
12673                     ), 
12674                     GEN4,   1, 
12675                     Connection (
12676                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12677                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12678                             )
12679                             {   // Pin list
12680                                 0x0037
12681                             }
12682                     ), 
12683                     GEN5,   1, 
12684                     Connection (
12685                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12686                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12687                             )
12688                             {   // Pin list
12689                                 0x0040
12690                             }
12691                     ), 
12692                     G28X,   1, 
12693                     Connection (
12694                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12695                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12696                             )
12697                             {   // Pin list
12698                                 0x0048
12699                             }
12700                     ), 
12701                     G18X,   1, 
12702                     Connection (
12703                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12704                             "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
12705                             )
12706                             {   // Pin list
12707                                 0x0053
12708                             }
12709                     ), 
12710                     GSDX,   1
12711                 }
12712
12713                 Name (AVBL, Zero)
12714                 Name (AVBD, Zero)
12715                 Name (AVBG, Zero)
12716                 Method (_REG, 2, NotSerialized)  // _REG: Region Availability
12717                 {
12718                     If ((Arg0 == 0x08))
12719                     {
12720                         AVBG = Arg1
12721                     }
12722
12723                     If ((Arg0 == 0x8D))
12724                     {
12725                         AVBL = Arg1
12726                     }
12727
12728                     If ((Arg0 == 0x8C))
12729                     {
12730                         AVBD = Arg1
12731                     }
12732                 }
12733             }
12734
12735             Device (PMI2)
12736             {
12737                 Name (_ADR, Zero)  // _ADR: Address
12738                 Name (_HID, "INT33F5" /* TI PMIC Controller */)  // _HID: Hardware ID
12739                 Name (_CID, "INT33F5" /* TI PMIC Controller */)  // _CID: Compatible ID
12740                 Name (_DDN, "TI PMIC Controller")  // _DDN: DOS Device Name
12741                 Name (_HRV, 0x02)  // _HRV: Hardware Revision
12742                 Name (_UID, One)  // _UID: Unique ID
12743                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
12744                 {
12745                     I2C5
12746                 })
12747                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
12748                 {
12749                     Name (SBUF, ResourceTemplate ()
12750                     {
12751                         I2cSerialBus (0x005E, ControllerInitiated, 0x000F4240,
12752                             AddressingMode7Bit, "\\_SB.I2C5",
12753                             0x00, ResourceConsumer, ,
12754                             )
12755                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12756                         {
12757                             0x00000043,
12758                         }
12759                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12760                         {
12761                             0x00000043,
12762                         }
12763                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
12764                         {
12765                             0x00000043,
12766                         }
12767                     })
12768                     Return (SBUF) /* \_SB_.I2C5.PMI2._CRS.SBUF */
12769                 }
12770
12771                 Method (_STA, 0, NotSerialized)  // _STA: Status
12772                 {
12773                     If ((PMEN == Zero))
12774                     {
12775                         Return (Zero)
12776                     }
12777
12778                     If ((PMID == 0x06))
12779                     {
12780                         ADBG ("TI_DCOVE")
12781                         Return (0x0F)
12782                     }
12783
12784                     Return (Zero)
12785                 }
12786
12787                 OperationRegion (PMOP, 0x8D, Zero, 0x0100)
12788                 Field (PMOP, DWordAcc, NoLock, Preserve)
12789                 {
12790                     LDO1,   32, 
12791                     LDO2,   32, 
12792                     LDO3,   32, 
12793                     LDO5,   32, 
12794                     LDO6,   32, 
12795                     LDO7,   32, 
12796                     LDO8,   32, 
12797                     LDO9,   32, 
12798                     LD10,   32, 
12799                     LD11,   32, 
12800                     LD12,   32, 
12801                     LD13,   32, 
12802                     LD14,   32
12803                 }
12804
12805                 OperationRegion (DPTF, 0x8C, Zero, 0x0100)
12806                 Field (DPTF, DWordAcc, NoLock, Preserve)
12807                 {
12808                     TMP0,   32, 
12809                     AX00,   32, 
12810                     AX01,   32, 
12811                     TMP1,   32, 
12812                     AX10,   32, 
12813                     AX11,   32, 
12814                     TMP2,   32, 
12815                     AX20,   32, 
12816                     AX21,   32, 
12817                     TMP3,   32, 
12818                     AX30,   32, 
12819                     AX31,   32, 
12820                     TMP4,   32, 
12821                     AX40,   32, 
12822                     AX41,   32, 
12823                     TMP5,   32, 
12824                     AX50,   32, 
12825                     AX51,   32, 
12826                     PEN0,   32, 
12827                     PEN1,   32, 
12828                     PEN2,   32, 
12829                     PEN3,   32, 
12830                     PEN4,   32, 
12831                     PEN5,   32
12832                 }
12833
12834                 Name (LPAT, Package (0x44)
12835                 {
12836                     0x091B, 
12837                     0x03F1, 
12838                     0x094D, 
12839                     0x03EB, 
12840                     0x097F, 
12841                     0x03E4, 
12842                     0x09B1, 
12843                     0x03DA, 
12844                     0x09E3, 
12845                     0x03CE, 
12846                     0x0A15, 
12847                     0x03BE, 
12848                     0x0A47, 
12849                     0x03AA, 
12850                     0x0A79, 
12851                     0x0392, 
12852                     0x0AAB, 
12853                     0x0375, 
12854                     0x0ADD, 
12855                     0x0353, 
12856                     0x0B0F, 
12857                     0x032C, 
12858                     0x0B41, 
12859                     0x0300, 
12860                     0x0B73, 
12861                     0x02D0, 
12862                     0x0BA5, 
12863                     0x029D, 
12864                     0x0BD7, 
12865                     0x0268, 
12866                     0x0C09, 
12867                     0x0232, 
12868                     0x0C3B, 
12869                     0x01FD, 
12870                     0x0C6D, 
12871                     0x01C9, 
12872                     0x0C9F, 
12873                     0x0197, 
12874                     0x0CD1, 
12875                     0x0169, 
12876                     0x0D03, 
12877                     0x013E, 
12878                     0x0D35, 
12879                     0x0117, 
12880                     0x0D67, 
12881                     0xF5, 
12882                     0x0D99, 
12883                     0xD6, 
12884                     0x0DCB, 
12885                     0xBB, 
12886                     0x0DFD, 
12887                     0xA3, 
12888                     0x0E2F, 
12889                     0x8E, 
12890                     0x0E61, 
12891                     0x7C, 
12892                     0x0E93, 
12893                     0x6C, 
12894                     0x0EC5, 
12895                     0x5E, 
12896                     0x0EF7, 
12897                     0x53, 
12898                     0x0F29, 
12899                     0x48, 
12900                     0x0F5B, 
12901                     0x3F, 
12902                     0x0F8D, 
12903                     0x38
12904                 })
12905                 OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
12906                 Field (GPOP, ByteAcc, NoLock, Preserve)
12907                 {
12908                     Connection (
12909                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12910                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12911                             )
12912                             {   // Pin list
12913                                 0x0020
12914                             }
12915                     ), 
12916                     GMP0,   1, 
12917                     Connection (
12918                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12919                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12920                             )
12921                             {   // Pin list
12922                                 0x0021
12923                             }
12924                     ), 
12925                     GX00,   1, 
12926                     Connection (
12927                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12928                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12929                             )
12930                             {   // Pin list
12931                                 0x0022
12932                             }
12933                     ), 
12934                     GX01,   1, 
12935                     Connection (
12936                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12937                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12938                             )
12939                             {   // Pin list
12940                                 0x0023
12941                             }
12942                     ), 
12943                     GMP1,   1, 
12944                     Connection (
12945                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12946                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12947                             )
12948                             {   // Pin list
12949                                 0x0024
12950                             }
12951                     ), 
12952                     GX10,   1, 
12953                     Connection (
12954                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12955                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12956                             )
12957                             {   // Pin list
12958                                 0x0025
12959                             }
12960                     ), 
12961                     GX11,   1, 
12962                     Connection (
12963                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12964                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12965                             )
12966                             {   // Pin list
12967                                 0x0026
12968                             }
12969                     ), 
12970                     GMP2,   1, 
12971                     Connection (
12972                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12973                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12974                             )
12975                             {   // Pin list
12976                                 0x0027
12977                             }
12978                     ), 
12979                     GX20,   1, 
12980                     Connection (
12981                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12982                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12983                             )
12984                             {   // Pin list
12985                                 0x0028
12986                             }
12987                     ), 
12988                     GX21,   1, 
12989                     Connection (
12990                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
12991                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
12992                             )
12993                             {   // Pin list
12994                                 0x0029
12995                             }
12996                     ), 
12997                     GMP3,   1, 
12998                     Connection (
12999                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13000                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13001                             )
13002                             {   // Pin list
13003                                 0x002A
13004                             }
13005                     ), 
13006                     GX30,   1, 
13007                     Connection (
13008                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13009                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13010                             )
13011                             {   // Pin list
13012                                 0x002B
13013                             }
13014                     ), 
13015                     GX31,   1, 
13016                     Connection (
13017                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13018                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13019                             )
13020                             {   // Pin list
13021                                 0x002C
13022                             }
13023                     ), 
13024                     GMP4,   1, 
13025                     Connection (
13026                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13027                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13028                             )
13029                             {   // Pin list
13030                                 0x002D
13031                             }
13032                     ), 
13033                     GX40,   1, 
13034                     Connection (
13035                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13036                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13037                             )
13038                             {   // Pin list
13039                                 0x002E
13040                             }
13041                     ), 
13042                     GX41,   1, 
13043                     Connection (
13044                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13045                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13046                             )
13047                             {   // Pin list
13048                                 0x002F
13049                             }
13050                     ), 
13051                     GMP5,   1, 
13052                     Connection (
13053                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13054                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13055                             )
13056                             {   // Pin list
13057                                 0x0030
13058                             }
13059                     ), 
13060                     GX50,   1, 
13061                     Connection (
13062                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13063                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13064                             )
13065                             {   // Pin list
13066                                 0x0031
13067                             }
13068                     ), 
13069                     GX51,   1, 
13070                     Connection (
13071                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13072                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13073                             )
13074                             {   // Pin list
13075                                 0x0032
13076                             }
13077                     ), 
13078                     GEN0,   1, 
13079                     Connection (
13080                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13081                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13082                             )
13083                             {   // Pin list
13084                                 0x0033
13085                             }
13086                     ), 
13087                     GEN1,   1, 
13088                     Connection (
13089                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13090                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13091                             )
13092                             {   // Pin list
13093                                 0x0034
13094                             }
13095                     ), 
13096                     GEN2,   1, 
13097                     Connection (
13098                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13099                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13100                             )
13101                             {   // Pin list
13102                                 0x0035
13103                             }
13104                     ), 
13105                     GEN3,   1, 
13106                     Connection (
13107                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13108                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13109                             )
13110                             {   // Pin list
13111                                 0x0036
13112                             }
13113                     ), 
13114                     GEN4,   1, 
13115                     Connection (
13116                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13117                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13118                             )
13119                             {   // Pin list
13120                                 0x0037
13121                             }
13122                     ), 
13123                     GEN5,   1, 
13124                     Connection (
13125                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13126                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13127                             )
13128                             {   // Pin list
13129                                 0x0045
13130                             }
13131                     ), 
13132                     GSDX,   1, 
13133                     Connection (
13134                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13135                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13136                             )
13137                             {   // Pin list
13138                                 0x0047
13139                             }
13140                     ), 
13141                     G28X,   1, 
13142                     Connection (
13143                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13144                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13145                             )
13146                             {   // Pin list
13147                                 0x0048
13148                             }
13149                     ), 
13150                     G18X,   1, 
13151                     Connection (
13152                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13153                             "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
13154                             )
13155                             {   // Pin list
13156                                 0x0049
13157                             }
13158                     ), 
13159                     G18U,   1
13160                 }
13161
13162                 Name (AVBL, Zero)
13163                 Name (AVBD, Zero)
13164                 Name (AVBG, Zero)
13165                 Method (_REG, 2, NotSerialized)  // _REG: Region Availability
13166                 {
13167                     If ((Arg0 == 0x08))
13168                     {
13169                         AVBG = Arg1
13170                     }
13171
13172                     If ((Arg0 == 0x8D))
13173                     {
13174                         AVBL = Arg1
13175                     }
13176
13177                     If ((Arg0 == 0x8C))
13178                     {
13179                         AVBD = Arg1
13180                     }
13181                 }
13182             }
13183
13184             Device (PMIF)
13185             {
13186                 Name (_ADR, Zero)  // _ADR: Address
13187                 Name (_HID, "DMY0001")  // _HID: Hardware ID
13188                 Name (_CID, "DMY0001")  // _CID: Compatible ID
13189                 Name (_DDN, "Dummy PMIC controller")  // _DDN: DOS Device Name
13190                 Name (_HRV, Zero)  // _HRV: Hardware Revision
13191                 Name (_UID, One)  // _UID: Unique ID
13192                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
13193                 {
13194                     I2C5
13195                 })
13196                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
13197                 {
13198                     Name (SBUF, ResourceTemplate ()
13199                     {
13200                         I2cSerialBus (0x005E, ControllerInitiated, 0x000F4240,
13201                             AddressingMode7Bit, "\\_SB.I2C5",
13202                             0x00, ResourceConsumer, ,
13203                             )
13204                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
13205                         {
13206                             0x00000043,
13207                         }
13208                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
13209                         {
13210                             0x00000043,
13211                         }
13212                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
13213                         {
13214                             0x00000043,
13215                         }
13216                     })
13217                     Return (SBUF) /* \_SB_.I2C5.PMIF._CRS.SBUF */
13218                 }
13219
13220                 Method (_STA, 0, NotSerialized)  // _STA: Status
13221                 {
13222                     If ((PMEN == Zero))
13223                     {
13224                         Return (Zero)
13225                     }
13226
13227                     If ((PMID == 0xFE))
13228                     {
13229                         ADBG ("DMPMIC")
13230                         Return (0x0F)
13231                     }
13232
13233                     Return (Zero)
13234                 }
13235             }
13236
13237             Device (PMIC)
13238             {
13239                 Name (_ADR, Zero)  // _ADR: Address
13240                 Name (_HID, "INT33FD" /* Intel Baytrail Power Management IC */)  // _HID: Hardware ID
13241                 Name (_CID, "INT33FD" /* Intel Baytrail Power Management IC */)  // _CID: Compatible ID
13242                 Name (_DDN, "PMIC GPIO Controller")  // _DDN: DOS Device Name
13243                 Name (_HRV, 0x02)  // _HRV: Hardware Revision
13244                 Name (_UID, One)  // _UID: Unique ID
13245                 Name (_DEP, Package (0x01)  // _DEP: Dependencies
13246                 {
13247                     I2C5
13248                 })
13249                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
13250                 {
13251                     Name (SBUF, ResourceTemplate ()
13252                     {
13253                         I2cSerialBus (0x006E, ControllerInitiated, 0x000F4240,
13254                             AddressingMode7Bit, "\\_SB.I2C5",
13255                             0x00, ResourceConsumer, ,
13256                             )
13257                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
13258                         {
13259                             0x00000043,
13260                         }
13261                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
13262                         {
13263                             0x00000043,
13264                         }
13265                         Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
13266                         {
13267                             0x00000043,
13268                         }
13269                     })
13270                     Return (SBUF) /* \_SB_.I2C5.PMIC._CRS.SBUF */
13271                 }
13272
13273                 Method (_STA, 0, NotSerialized)  // _STA: Status
13274                 {
13275                     If ((PMEN == Zero))
13276                     {
13277                         Return (Zero)
13278                     }
13279
13280                     If ((PMID == One))
13281                     {
13282                         ADBG ("CCPMIC")
13283                         Return (0x0F)
13284                     }
13285
13286                     Return (Zero)
13287                 }
13288
13289                 OperationRegion (DPTF, 0x8C, Zero, 0x0100)
13290                 Field (DPTF, DWordAcc, NoLock, Preserve)
13291                 {
13292                     TMP0,   32, 
13293                     AX00,   32, 
13294                     AX01,   32, 
13295                     TMP1,   32, 
13296                     AX10,   32, 
13297                     AX11,   32, 
13298                     TMP2,   32, 
13299                     AX20,   32, 
13300                     AX21,   32, 
13301                     TMP3,   32, 
13302                     AX30,   32, 
13303                     AX31,   32, 
13304                     TMP4,   32, 
13305                     AX40,   32, 
13306                     AX41,   32, 
13307                     TMP5,   32, 
13308                     AX50,   32, 
13309                     AX51,   32, 
13310                     PEN0,   32, 
13311                     PEN1,   32, 
13312                     PEN2,   32, 
13313                     PEN3,   32, 
13314                     PEN4,   32, 
13315                     PEN5,   32
13316                 }
13317
13318                 OperationRegion (PMOP, 0x8D, Zero, 0x0100)
13319                 Field (PMOP, DWordAcc, NoLock, Preserve)
13320                 {
13321                     VSYS,   32, 
13322                     SYSX,   32, 
13323                     SYSU,   32, 
13324                     SYSS,   32, 
13325                     V50S,   32, 
13326                     HOST,   32, 
13327                     VBUS,   32, 
13328                     HDMI,   32, 
13329                     S285,   32, 
13330                     X285,   32, 
13331                     V33A,   32, 
13332                     V33S,   32, 
13333                     V33U,   32, 
13334                     V33I,   32, 
13335                     V18A,   32, 
13336                     REFQ,   32, 
13337                     V12A,   32, 
13338                     V18S,   32, 
13339                     V18X,   32, 
13340                     V18U,   32, 
13341                     V12X,   32, 
13342                     V12S,   32, 
13343                     V10A,   32, 
13344                     V10S,   32, 
13345                     V10X,   32, 
13346                     V105,   32
13347                 }
13348
13349                 OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
13350                 Field (GPOP, ByteAcc, NoLock, Preserve)
13351                 {
13352                     Connection (
13353                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13354                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13355                             )
13356                             {   // Pin list
13357                                 0x0020
13358                             }
13359                     ), 
13360                     GMP0,   1, 
13361                     Connection (
13362                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13363                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13364                             )
13365                             {   // Pin list
13366                                 0x0021
13367                             }
13368                     ), 
13369                     GX00,   1, 
13370                     Connection (
13371                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13372                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13373                             )
13374                             {   // Pin list
13375                                 0x0022
13376                             }
13377                     ), 
13378                     GX01,   1, 
13379                     Connection (
13380                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13381                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13382                             )
13383                             {   // Pin list
13384                                 0x0023
13385                             }
13386                     ), 
13387                     GMP1,   1, 
13388                     Connection (
13389                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13390                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13391                             )
13392                             {   // Pin list
13393                                 0x0024
13394                             }
13395                     ), 
13396                     GX10,   1, 
13397                     Connection (
13398                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13399                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13400                             )
13401                             {   // Pin list
13402                                 0x0025
13403                             }
13404                     ), 
13405                     GX11,   1, 
13406                     Connection (
13407                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13408                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13409                             )
13410                             {   // Pin list
13411                                 0x0026
13412                             }
13413                     ), 
13414                     GMP2,   1, 
13415                     Connection (
13416                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13417                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13418                             )
13419                             {   // Pin list
13420                                 0x0027
13421                             }
13422                     ), 
13423                     GX20,   1, 
13424                     Connection (
13425                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13426                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13427                             )
13428                             {   // Pin list
13429                                 0x0028
13430                             }
13431                     ), 
13432                     GX21,   1, 
13433                     Connection (
13434                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13435                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13436                             )
13437                             {   // Pin list
13438                                 0x0029
13439                             }
13440                     ), 
13441                     GMP3,   1, 
13442                     Connection (
13443                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13444                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13445                             )
13446                             {   // Pin list
13447                                 0x002A
13448                             }
13449                     ), 
13450                     GX30,   1, 
13451                     Connection (
13452                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13453                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13454                             )
13455                             {   // Pin list
13456                                 0x002B
13457                             }
13458                     ), 
13459                     GX31,   1, 
13460                     Connection (
13461                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13462                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13463                             )
13464                             {   // Pin list
13465                                 0x002C
13466                             }
13467                     ), 
13468                     GMP4,   1, 
13469                     Connection (
13470                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13471                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13472                             )
13473                             {   // Pin list
13474                                 0x002D
13475                             }
13476                     ), 
13477                     GX40,   1, 
13478                     Connection (
13479                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13480                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13481                             )
13482                             {   // Pin list
13483                                 0x002E
13484                             }
13485                     ), 
13486                     GX41,   1, 
13487                     Connection (
13488                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13489                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13490                             )
13491                             {   // Pin list
13492                                 0x002F
13493                             }
13494                     ), 
13495                     GMP5,   1, 
13496                     Connection (
13497                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13498                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13499                             )
13500                             {   // Pin list
13501                                 0x0030
13502                             }
13503                     ), 
13504                     GX50,   1, 
13505                     Connection (
13506                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13507                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13508                             )
13509                             {   // Pin list
13510                                 0x0031
13511                             }
13512                     ), 
13513                     GX51,   1, 
13514                     Connection (
13515                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13516                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13517                             )
13518                             {   // Pin list
13519                                 0x0032
13520                             }
13521                     ), 
13522                     GEN0,   1, 
13523                     Connection (
13524                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13525                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13526                             )
13527                             {   // Pin list
13528                                 0x0033
13529                             }
13530                     ), 
13531                     GEN1,   1, 
13532                     Connection (
13533                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13534                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13535                             )
13536                             {   // Pin list
13537                                 0x0034
13538                             }
13539                     ), 
13540                     GEN2,   1, 
13541                     Connection (
13542                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13543                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13544                             )
13545                             {   // Pin list
13546                                 0x0035
13547                             }
13548                     ), 
13549                     GEN3,   1, 
13550                     Connection (
13551                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13552                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13553                             )
13554                             {   // Pin list
13555                                 0x0036
13556                             }
13557                     ), 
13558                     GEN4,   1, 
13559                     Connection (
13560                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13561                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13562                             )
13563                             {   // Pin list
13564                                 0x0037
13565                             }
13566                     ), 
13567                     GEN5,   1, 
13568                     Connection (
13569                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13570                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13571                             )
13572                             {   // Pin list
13573                                 0x0040
13574                             }
13575                     ), 
13576                     GSYS,   1, 
13577                     Connection (
13578                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13579                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13580                             )
13581                             {   // Pin list
13582                                 0x0041
13583                             }
13584                     ), 
13585                     GYSX,   1, 
13586                     Connection (
13587                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13588                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13589                             )
13590                             {   // Pin list
13591                                 0x0042
13592                             }
13593                     ), 
13594                     GYSU,   1, 
13595                     Connection (
13596                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13597                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13598                             )
13599                             {   // Pin list
13600                                 0x0043
13601                             }
13602                     ), 
13603                     GYSS,   1, 
13604                     Connection (
13605                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13606                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13607                             )
13608                             {   // Pin list
13609                                 0x0044
13610                             }
13611                     ), 
13612                     G50S,   1, 
13613                     Connection (
13614                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13615                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13616                             )
13617                             {   // Pin list
13618                                 0x0045
13619                             }
13620                     ), 
13621                     GOST,   1, 
13622                     Connection (
13623                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13624                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13625                             )
13626                             {   // Pin list
13627                                 0x0046
13628                             }
13629                     ), 
13630                     GBUS,   1, 
13631                     Connection (
13632                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13633                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13634                             )
13635                             {   // Pin list
13636                                 0x0047
13637                             }
13638                     ), 
13639                     GDMI,   1, 
13640                     Connection (
13641                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13642                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13643                             )
13644                             {   // Pin list
13645                                 0x0048
13646                             }
13647                     ), 
13648                     G28S,   1, 
13649                     Connection (
13650                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13651                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13652                             )
13653                             {   // Pin list
13654                                 0x0049
13655                             }
13656                     ), 
13657                     G28X,   1, 
13658                     Connection (
13659                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13660                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13661                             )
13662                             {   // Pin list
13663                                 0x004A
13664                             }
13665                     ), 
13666                     G33A,   1, 
13667                     Connection (
13668                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13669                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13670                             )
13671                             {   // Pin list
13672                                 0x004B
13673                             }
13674                     ), 
13675                     G33S,   1, 
13676                     Connection (
13677                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13678                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13679                             )
13680                             {   // Pin list
13681                                 0x004C
13682                             }
13683                     ), 
13684                     G33U,   1, 
13685                     Connection (
13686                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13687                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13688                             )
13689                             {   // Pin list
13690                                 0x004D
13691                             }
13692                     ), 
13693                     G33I,   1, 
13694                     Connection (
13695                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13696                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13697                             )
13698                             {   // Pin list
13699                                 0x004E
13700                             }
13701                     ), 
13702                     G18A,   1, 
13703                     Connection (
13704                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13705                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13706                             )
13707                             {   // Pin list
13708                                 0x004F
13709                             }
13710                     ), 
13711                     GEFQ,   1, 
13712                     Connection (
13713                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13714                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13715                             )
13716                             {   // Pin list
13717                                 0x0050
13718                             }
13719                     ), 
13720                     G12A,   1, 
13721                     Connection (
13722                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13723                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13724                             )
13725                             {   // Pin list
13726                                 0x0051
13727                             }
13728                     ), 
13729                     G18S,   1, 
13730                     Connection (
13731                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13732                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13733                             )
13734                             {   // Pin list
13735                                 0x0052
13736                             }
13737                     ), 
13738                     G18X,   1, 
13739                     Connection (
13740                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13741                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13742                             )
13743                             {   // Pin list
13744                                 0x0053
13745                             }
13746                     ), 
13747                     G18U,   1, 
13748                     Connection (
13749                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13750                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13751                             )
13752                             {   // Pin list
13753                                 0x0054
13754                             }
13755                     ), 
13756                     G12X,   1, 
13757                     Connection (
13758                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13759                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13760                             )
13761                             {   // Pin list
13762                                 0x0055
13763                             }
13764                     ), 
13765                     G12S,   1, 
13766                     Connection (
13767                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13768                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13769                             )
13770                             {   // Pin list
13771                                 0x0056
13772                             }
13773                     ), 
13774                     G10A,   1, 
13775                     Connection (
13776                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13777                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13778                             )
13779                             {   // Pin list
13780                                 0x0057
13781                             }
13782                     ), 
13783                     G10S,   1, 
13784                     Connection (
13785                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13786                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13787                             )
13788                             {   // Pin list
13789                                 0x0058
13790                             }
13791                     ), 
13792                     G10X,   1, 
13793                     Connection (
13794                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13795                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13796                             )
13797                             {   // Pin list
13798                                 0x0059
13799                             }
13800                     ), 
13801                     G105,   1, 
13802                     Connection (
13803                         GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
13804                             "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
13805                             )
13806                             {   // Pin list
13807                                 0x005E
13808                             }
13809                     ), 
13810                     FCOT,   1
13811                 }
13812
13813                 Name (AVBL, Zero)
13814                 Name (AVBD, Zero)
13815                 Name (AVBG, Zero)
13816                 Method (_REG, 2, NotSerialized)  // _REG: Region Availability
13817                 {
13818                     If ((Arg0 == 0x08))
13819                     {
13820                         AVBG = Arg1
13821                     }
13822
13823                     If ((Arg0 == 0x8D))
13824                     {
13825                         AVBL = Arg1
13826                     }
13827
13828                     If ((Arg0 == 0x8C))
13829                     {
13830                         AVBD = Arg1
13831                     }
13832                 }
13833
13834                 Name (LPAT, Package (0x30)
13835                 {
13836                     0x09E3, 
13837                     0x03D1, 
13838                     0x0A15, 
13839                     0x03C1, 
13840                     0x0A47, 
13841                     0x03AD, 
13842                     0x0A79, 
13843                     0x0395, 
13844                     0x0AAB, 
13845                     0x0377, 
13846                     0x0ADD, 
13847                     0x0355, 
13848                     0x0B0F, 
13849                     0x032D, 
13850                     0x0B41, 
13851                     0x0301, 
13852                     0x0B73, 
13853                     0x02D0, 
13854                     0x0BA5, 
13855                     0x029D, 
13856                     0x0BD7, 
13857                     0x0267, 
13858                     0x0C09, 
13859                     0x0231, 
13860                     0x0C3B, 
13861                     0x01FC, 
13862                     0x0C6D, 
13863                     0x01C8, 
13864                     0x0C9F, 
13865                     0x0197, 
13866                     0x0CD1, 
13867                     0x0165, 
13868                     0x0D03, 
13869                     0x013B, 
13870                     0x0D35, 
13871                     0x0115, 
13872                     0x0D67, 
13873                     0xF3, 
13874                     0x0D99, 
13875                     0xD4, 
13876                     0x0DCB, 
13877                     0xBA, 
13878                     0x0DFD, 
13879                     0xA2, 
13880                     0x0E2F, 
13881                     0x8C, 
13882                     0x0E93, 
13883                     0x6B
13884                 })
13885             }
13886         }
13887
13888         Scope (I2C1)
13889         {
13890             Device (IMP3)
13891             {
13892                 Name (_ADR, Zero)  // _ADR: Address
13893                 Name (_HID, "IMPJ0003")  // _HID: Hardware ID
13894                 Name (_CID, "IMPJ0003")  // _CID: Compatible ID
13895                 Name (_UID, One)  // _UID: Unique ID
13896                 Method (_STA, 0, NotSerialized)  // _STA: Status
13897                 {
13898                     If ((PSSD == 0x02))
13899                     {
13900                         Return (0x0F)
13901                     }
13902
13903                     Return (Zero)
13904                 }
13905
13906                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
13907                 {
13908                     Name (SBUF, ResourceTemplate ()
13909                     {
13910                         I2cSerialBus (0x006E, ControllerInitiated, 0x000186A0,
13911                             AddressingMode7Bit, "\\_SB.I2C1",
13912                             0x00, ResourceConsumer, ,
13913                             )
13914                     })
13915                     Return (SBUF) /* \_SB_.I2C1.IMP3._CRS.SBUF */
13916                 }
13917             }
13918         }
13919
13920         PowerResource (P28X, 0x05, 0x0000)
13921         {
13922             Name (_DEP, Package (0x02)  // _DEP: Dependencies
13923             {
13924                 I2C5, 
13925                 ^I2C5.PMIC
13926             })
13927             Method (_STA, 0, NotSerialized)  // _STA: Status
13928             {
13929                 If ((^^I2C5.PMIC.AVBG == One))
13930                 {
13931                     ^^I2C5.PMIC.G28X = Zero
13932                     If ((^^I2C5.PMIC.AVBL == One))
13933                     {
13934                         Return (^^I2C5.PMIC.X285) /* \_SB_.I2C5.PMIC.X285 */
13935                     }
13936                 }
13937
13938                 Return (Zero)
13939             }
13940
13941             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13942             {
13943                 If ((^^I2C5.PMIC.AVBL == One))
13944                 {
13945                     ^^I2C5.PMIC.X285 = One
13946                     If ((^^I2C5.PMIC.AVBG == One))
13947                     {
13948                         ^^I2C5.PMIC.G28X = One
13949                         Sleep (0x1E)
13950                     }
13951                 }
13952             }
13953
13954             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
13955             {
13956                 If ((^^I2C5.PMIC.AVBL == One))
13957                 {
13958                     ^^I2C5.PMIC.X285 = Zero
13959                     If ((^^I2C5.PMIC.AVBG == One))
13960                     {
13961                         ^^I2C5.PMIC.G28X = One
13962                         Sleep (0x1E)
13963                     }
13964                 }
13965             }
13966         }
13967
13968         PowerResource (P18X, 0x05, 0x0000)
13969         {
13970             Name (_DEP, Package (0x02)  // _DEP: Dependencies
13971             {
13972                 I2C5, 
13973                 ^I2C5.PMIC
13974             })
13975             Method (_STA, 0, NotSerialized)  // _STA: Status
13976             {
13977                 If ((^^I2C5.PMIC.AVBG == One))
13978                 {
13979                     ^^I2C5.PMIC.G18X = Zero
13980                     If ((^^I2C5.PMIC.AVBL == One))
13981                     {
13982                         Return (^^I2C5.PMIC.V18X) /* \_SB_.I2C5.PMIC.V18X */
13983                     }
13984                 }
13985
13986                 Return (Zero)
13987             }
13988
13989             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13990             {
13991                 If ((^^I2C5.PMIC.AVBL == One))
13992                 {
13993                     ^^I2C5.PMIC.V18X = One
13994                     If ((^^I2C5.PMIC.AVBG == One))
13995                     {
13996                         ^^I2C5.PMIC.G18X = One
13997                         Sleep (0x1E)
13998                     }
13999                 }
14000             }
14001
14002             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
14003             {
14004                 If ((^^I2C5.PMIC.AVBL == One))
14005                 {
14006                     ^^I2C5.PMIC.V18X = Zero
14007                     If ((^^I2C5.PMIC.AVBG == One))
14008                     {
14009                         ^^I2C5.PMIC.G18X = One
14010                         Sleep (0x1E)
14011                     }
14012                 }
14013             }
14014         }
14015
14016         PowerResource (P28P, 0x05, 0x0000)
14017         {
14018             Name (_DEP, Package (0x02)  // _DEP: Dependencies
14019             {
14020                 I2C5, 
14021                 ^I2C5.PMI1
14022             })
14023             Method (_STA, 0, NotSerialized)  // _STA: Status
14024             {
14025                 If ((^^I2C5.PMI1.AVBG == One))
14026                 {
14027                     ^^I2C5.PMI1.G28X = Zero
14028                     If ((^^I2C5.PMI1.AVBL == One))
14029                     {
14030                         Return (^^I2C5.PMI1.ALD1) /* \_SB_.I2C5.PMI1.ALD1 */
14031                     }
14032                 }
14033
14034                 Return (Zero)
14035             }
14036
14037             Method (_ON, 0, NotSerialized)  // _ON_: Power On
14038             {
14039                 If ((^^I2C5.PMI1.AVBL == One))
14040                 {
14041                     ^^I2C5.PMI1.ALD1 = One
14042                     If ((^^I2C5.PMI1.AVBG == One))
14043                     {
14044                         ^^I2C5.PMI1.G28X = One
14045                         Sleep (0x1E)
14046                     }
14047                 }
14048             }
14049
14050             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
14051             {
14052                 If ((^^I2C5.PMI1.AVBL == One))
14053                 {
14054                     ^^I2C5.PMI1.ALD1 = Zero
14055                     If ((^^I2C5.PMI1.AVBG == One))
14056                     {
14057                         ^^I2C5.PMI1.G28X = One
14058                         Sleep (0x1E)
14059                     }
14060                 }
14061             }
14062         }
14063
14064         PowerResource (P18P, 0x05, 0x0000)
14065         {
14066             Name (_DEP, Package (0x02)  // _DEP: Dependencies
14067             {
14068                 I2C5, 
14069                 ^I2C5.PMI1
14070             })
14071             Method (_STA, 0, NotSerialized)  // _STA: Status
14072             {
14073                 If ((^^I2C5.PMI1.AVBG == One))
14074                 {
14075                     ^^I2C5.PMI1.G18X = Zero
14076                     If ((^^I2C5.PMI1.AVBL == One))
14077                     {
14078                         Return (^^I2C5.PMI1.ELD2) /* \_SB_.I2C5.PMI1.ELD2 */
14079                     }
14080                 }
14081
14082                 Return (Zero)
14083             }
14084
14085             Method (_ON, 0, NotSerialized)  // _ON_: Power On
14086             {
14087                 If ((^^I2C5.PMI1.AVBL == One))
14088                 {
14089                     ^^I2C5.PMI1.ELD2 = One
14090                     If ((^^I2C5.PMI1.AVBG == One))
14091                     {
14092                         ^^I2C5.PMI1.G18X = One
14093                         Sleep (0x1E)
14094                     }
14095                 }
14096             }
14097
14098             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
14099             {
14100                 If ((^^I2C5.PMI1.AVBL == One))
14101                 {
14102                     ^^I2C5.PMI1.ELD2 = Zero
14103                     If ((^^I2C5.PMI1.AVBG == One))
14104                     {
14105                         ^^I2C5.PMI1.G18X = One
14106                         Sleep (0x1E)
14107                     }
14108                 }
14109             }
14110         }
14111
14112         PowerResource (P28T, 0x05, 0x0000)
14113         {
14114             Name (_DEP, Package (0x02)  // _DEP: Dependencies
14115             {
14116                 I2C5, 
14117                 ^I2C5.PMI2
14118             })
14119             Method (_STA, 0, NotSerialized)  // _STA: Status
14120             {
14121                 If ((^^I2C5.PMI2.AVBG == One))
14122                 {
14123                     ^^I2C5.PMI2.G28X = Zero
14124                     If ((^^I2C5.PMI2.AVBL == One))
14125                     {
14126                         Return (^^I2C5.PMI2.LDO9) /* \_SB_.I2C5.PMI2.LDO9 */
14127                     }
14128                 }
14129
14130                 Return (Zero)
14131             }
14132
14133             Method (_ON, 0, NotSerialized)  // _ON_: Power On
14134             {
14135                 If ((^^I2C5.PMI2.AVBL == One))
14136                 {
14137                     ^^I2C5.PMI2.LDO9 = One
14138                     If ((^^I2C5.PMI2.AVBG == One))
14139                     {
14140                         ^^I2C5.PMI2.G28X = One
14141                         Sleep (0x1E)
14142                     }
14143                 }
14144             }
14145
14146             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
14147             {
14148                 If ((^^I2C5.PMI2.AVBL == One))
14149                 {
14150                     ^^I2C5.PMI2.LDO9 = Zero
14151                     If ((^^I2C5.PMI2.AVBG == One))
14152                     {
14153                         ^^I2C5.PMI2.G28X = One
14154                         Sleep (0x1E)
14155                     }
14156                 }
14157             }
14158         }
14159
14160         PowerResource (P18T, 0x05, 0x0000)
14161         {
14162             Name (_DEP, Package (0x02)  // _DEP: Dependencies
14163             {
14164                 I2C5, 
14165                 ^I2C5.PMI2
14166             })
14167             Method (_STA, 0, NotSerialized)  // _STA: Status
14168             {
14169                 If ((^^I2C5.PMI2.AVBG == One))
14170                 {
14171                     ^^I2C5.PMI2.G18X = Zero
14172                     If ((^^I2C5.PMI2.AVBL == One))
14173                     {
14174                         Return (^^I2C5.PMI2.LD10) /* \_SB_.I2C5.PMI2.LD10 */
14175                     }
14176                 }
14177
14178                 Return (Zero)
14179             }
14180
14181             Method (_ON, 0, NotSerialized)  // _ON_: Power On
14182             {
14183                 If ((^^I2C5.PMI2.AVBL == One))
14184                 {
14185                     ^^I2C5.PMI2.LD10 = One
14186                     If ((^^I2C5.PMI2.AVBG == One))
14187                     {
14188                         ^^I2C5.PMI2.G18X = One
14189                         Sleep (0x1E)
14190                     }
14191                 }
14192             }
14193
14194             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
14195             {
14196                 If ((^^I2C5.PMI2.AVBL == One))
14197                 {
14198                     ^^I2C5.PMI2.LD10 = Zero
14199                     If ((^^I2C5.PMI2.AVBG == One))
14200                     {
14201                         ^^I2C5.PMI2.G18X = One
14202                         Sleep (0x1E)
14203                     }
14204                 }
14205             }
14206         }
14207
14208         PowerResource (P1XT, 0x05, 0x0000)
14209         {
14210             Name (_DEP, Package (0x02)  // _DEP: Dependencies
14211             {
14212                 I2C5, 
14213                 ^I2C5.PMI2
14214             })
14215             Method (_STA, 0, NotSerialized)  // _STA: Status
14216             {
14217                 If ((^^I2C5.PMI2.AVBG == One))
14218                 {
14219                     ^^I2C5.PMI2.G18U = Zero
14220                     If ((^^I2C5.PMI2.AVBL == One))
14221                     {
14222                         Return (^^I2C5.PMI2.LD11) /* \_SB_.I2C5.PMI2.LD11 */
14223                     }
14224                 }
14225
14226                 Return (Zero)
14227             }
14228
14229             Method (_ON, 0, NotSerialized)  // _ON_: Power On
14230             {
14231                 If ((^^I2C5.PMI2.AVBL == One))
14232                 {
14233                     ^^I2C5.PMI2.LD11 = One
14234                     If ((^^I2C5.PMI2.AVBG == One))
14235                     {
14236                         ^^I2C5.PMI2.G18U = One
14237                         Sleep (0x1E)
14238                     }
14239                 }
14240             }
14241
14242             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
14243             {
14244                 If ((^^I2C5.PMI2.AVBL == One))
14245                 {
14246                     ^^I2C5.PMI2.LD11 = Zero
14247                     If ((^^I2C5.PMI2.AVBG == One))
14248                     {
14249                         ^^I2C5.PMI2.G18U = One
14250                         Sleep (0x1E)
14251                     }
14252                 }
14253             }
14254         }
14255
14256         Device (TBAD)
14257         {
14258             Name (_HID, "INTCFD9" /* Intel Baytrail SOC GPIO Controller */)  // _HID: Hardware ID
14259             Name (_CID, "PNP0C40" /* Standard Button Controller */)  // _CID: Compatible ID
14260             Name (_DDN, "Keyboard less system - 5 Button Array Device")  // _DDN: DOS Device Name
14261             Name (_DEP, Package (0x04)  // _DEP: Dependencies
14262             {
14263                 GPO0, 
14264                 GPO2, 
14265                 I2C5, 
14266                 ^I2C5.PMI1
14267             })
14268             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14269             {
14270                 Name (RBUF, ResourceTemplate ()
14271                 {
14272                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14273                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14274                         )
14275                         {   // Pin list
14276                             0x0010
14277                         }
14278                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14279                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14280                         )
14281                         {   // Pin list
14282                             0x0015
14283                         }
14284                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14285                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14286                         )
14287                         {   // Pin list
14288                             0x0001
14289                         }
14290                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14291                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14292                         )
14293                         {   // Pin list
14294                             0x0000
14295                         }
14296                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14297                         "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, ,
14298                         )
14299                         {   // Pin list
14300                             0x0007
14301                         }
14302                 })
14303                 Name (ABUF, ResourceTemplate ()
14304                 {
14305                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14306                         "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
14307                         )
14308                         {   // Pin list
14309                             0x0016
14310                         }
14311                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14312                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14313                         )
14314                         {   // Pin list
14315                             0x0015
14316                         }
14317                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14318                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14319                         )
14320                         {   // Pin list
14321                             0x0001
14322                         }
14323                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14324                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14325                         )
14326                         {   // Pin list
14327                             0x0000
14328                         }
14329                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14330                         "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
14331                         )
14332                         {   // Pin list
14333                             0x005F
14334                         }
14335                 })
14336                 Name (BBUF, ResourceTemplate ()
14337                 {
14338                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14339                         "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
14340                         )
14341                         {   // Pin list
14342                             0x0016
14343                         }
14344                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14345                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14346                         )
14347                         {   // Pin list
14348                             0x0015
14349                         }
14350                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14351                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14352                         )
14353                         {   // Pin list
14354                             0x0001
14355                         }
14356                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14357                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14358                         )
14359                         {   // Pin list
14360                             0x0000
14361                         }
14362                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14363                         "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
14364                         )
14365                         {   // Pin list
14366                             0x005F
14367                         }
14368                 })
14369                 Name (RBU0, ResourceTemplate ()
14370                 {
14371                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14372                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14373                         )
14374                         {   // Pin list
14375                             0x0010
14376                         }
14377                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14378                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14379                         )
14380                         {   // Pin list
14381                             0x0015
14382                         }
14383                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14384                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14385                         )
14386                         {   // Pin list
14387                             0x0001
14388                         }
14389                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14390                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14391                         )
14392                         {   // Pin list
14393                             0x0000
14394                         }
14395                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14396                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14397                         )
14398                         {   // Pin list
14399                             0x0028
14400                         }
14401                 })
14402                 Name (ABU0, ResourceTemplate ()
14403                 {
14404                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14405                         "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
14406                         )
14407                         {   // Pin list
14408                             0x0016
14409                         }
14410                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14411                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14412                         )
14413                         {   // Pin list
14414                             0x0015
14415                         }
14416                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14417                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14418                         )
14419                         {   // Pin list
14420                             0x0001
14421                         }
14422                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14423                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14424                         )
14425                         {   // Pin list
14426                             0x0000
14427                         }
14428                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14429                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14430                         )
14431                         {   // Pin list
14432                             0x0028
14433                         }
14434                 })
14435                 Name (BBU0, ResourceTemplate ()
14436                 {
14437                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14438                         "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
14439                         )
14440                         {   // Pin list
14441                             0x0016
14442                         }
14443                     GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
14444                         "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14445                         )
14446                         {   // Pin list
14447                             0x0015
14448                         }
14449                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14450                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14451                         )
14452                         {   // Pin list
14453                             0x0001
14454                         }
14455                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14456                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14457                         )
14458                         {   // Pin list
14459                             0x0000
14460                         }
14461                     GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
14462                         "\\_SB.GPO0", 0x00, ResourceConsumer, ,
14463                         )
14464                         {   // Pin list
14465                             0x0028
14466                         }
14467                 })
14468                 If ((PMID == 0x05))
14469                 {
14470                     If ((OSSL & 0x80))
14471                     {
14472                         Return (ABUF) /* \_SB_.TBAD._CRS.ABUF */
14473                     }
14474                     Else
14475                     {
14476                         Return (ABU0) /* \_SB_.TBAD._CRS.ABU0 */
14477                     }
14478                 }
14479
14480                 If ((PMID == 0x06))
14481                 {
14482                     If ((OSSL & 0x80))
14483                     {
14484                         Return (BBUF) /* \_SB_.TBAD._CRS.BBUF */
14485                     }
14486                     Else
14487                     {
14488                         Return (BBU0) /* \_SB_.TBAD._CRS.BBU0 */
14489                     }
14490                 }
14491
14492                 Return (RBUF) /* \_SB_.TBAD._CRS.RBUF */
14493             }
14494
14495             Method (_STA, 0, NotSerialized)  // _STA: Status
14496             {
14497                 Return (0x0F)
14498             }
14499
14500             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
14501             {
14502                 Name (T_0, Zero)  // _T_x: Emitted by ASL Compiler
14503                 If ((Arg0 == ToUUID ("dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c") /* Power Button Device */))
14504                 {
14505                     While (One)
14506                     {
14507                         T_0 = ToInteger (Arg2)
14508                         If ((T_0 == Zero))
14509                         {
14510                             Return (Buffer (One)
14511                             {
14512                                  0x03                                             /* . */
14513                             })
14514                         }
14515                         Else
14516                         {
14517                             If ((T_0 == One))
14518                             {
14519                                 Return (0x07)
14520                             }
14521                         }
14522
14523                         Break
14524                     }
14525                 }
14526                 Else
14527                 {
14528                     Return (Buffer (One)
14529                     {
14530                          0x00                                             /* . */
14531                     })
14532                 }
14533
14534                 Return (Zero)
14535             }
14536         }
14537
14538         Device (MBID)
14539         {
14540             Name (_HID, "INT33BD" /* Intel Baytrail Mailbox Device */)  // _HID: Hardware ID
14541             Name (_CID, "INT33BD" /* Intel Baytrail Mailbox Device */)  // _CID: Compatible ID
14542             Name (_HRV, 0x02)  // _HRV: Hardware Revision
14543             Name (_UID, One)  // _UID: Unique ID
14544             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
14545             {
14546                 Name (RBUF, ResourceTemplate ()
14547                 {
14548                     Memory32Fixed (ReadWrite,
14549                         0xE00000D0,         // Address Base
14550                         0x0000000C,         // Address Length
14551                         )
14552                 })
14553                 Return (RBUF) /* \_SB_.MBID._CRS.RBUF */
14554             }
14555
14556             OperationRegion (REGS, 0x87, Zero, 0x30)
14557             Field (REGS, DWordAcc, NoLock, Preserve)
14558             {
14559                 PORT,   32, 
14560                 REG,    32, 
14561                 DATA,   32, 
14562                 MASK,   32, 
14563                 BE,     32, 
14564                 OP,     32
14565             }
14566
14567             Name (AVBL, Zero)
14568             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
14569             {
14570                 If ((Arg0 == 0x87))
14571                 {
14572                     AVBL = Arg1
14573                 }
14574             }
14575
14576             Method (READ, 3, Serialized)
14577             {
14578                 Local0 = 0xFFFFFFFF
14579                 If ((AVBL == One))
14580                 {
14581                     OP = Zero
14582                     PORT = Arg0
14583                     REG = Arg1
14584                     BE = Arg2
14585                     Local0 = DATA /* \_SB_.MBID.DATA */
14586                 }
14587
14588                 Return (Local0)
14589             }
14590
14591             Method (WRIT, 4, Serialized)
14592             {
14593                 If ((AVBL == One))
14594                 {
14595                     OP = One
14596                     PORT = Arg0
14597                     REG = Arg1
14598                     BE = Arg2
14599                     DATA = Arg3
14600                 }
14601             }
14602
14603             Method (MODI, 5, Serialized)
14604             {
14605                 If ((AVBL == One))
14606                 {
14607                     OP = 0x02
14608                     PORT = Arg0
14609                     REG = Arg1
14610                     BE = Arg2
14611                     DATA = Arg3
14612                     MASK = Arg4
14613                 }
14614             }
14615         }
14616
14617         Device (PAGD)
14618         {
14619             Name (_HID, "ACPI000C" /* Processor Aggregator Device */)  // _HID: Hardware ID
14620             Name (_CID, "ACPI000C" /* Processor Aggregator Device */)  // _CID: Compatible ID
14621             Name (IDCN, Zero)
14622             Name (PURP, Package (0x02)
14623             {
14624                 One, 
14625                 Zero
14626             })
14627             Method (_PUR, 0, Serialized)  // _PUR: Processor Utilization Request
14628             {
14629                 Index (PURP, One) = IDCN /* \_SB_.PAGD.IDCN */
14630                 Return (PURP) /* \_SB_.PAGD.PURP */
14631             }
14632
14633             Method (_OST, 3, Serialized)  // _OST: OSPM Status Indication
14634             {
14635                 Debug = "_OST is invoked"
14636             }
14637         }
14638     }
14639
14640     Name (PICM, Zero)
14641     Device (MDM)
14642     {
14643         Name (_HID, EisaId ("MCD0001"))  // _HID: Hardware ID
14644         Name (_CID, "MCD0001")  // _CID: Compatible ID
14645         Name (CPU, "ValleyView2")
14646         Name (MDMN, "XMM_6260")
14647         Method (_STA, 0, NotSerialized)  // _STA: Status
14648         {
14649             If ((OSSL & 0x80))
14650             {
14651                 Return (0x0F)
14652             }
14653
14654             Return (Zero)
14655         }
14656
14657         Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14658         {
14659             Name (UBUF, ResourceTemplate ()
14660             {
14661                 GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
14662                     "\\_SB.GPO1", 0x00, ResourceConsumer, ,
14663                     )
14664                     {   // Pin list
14665                         0x0017
14666                     }
14667                 GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
14668                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14669                     )
14670                     {   // Pin list
14671                         0x001E
14672                     }
14673                 GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
14674                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14675                     )
14676                     {   // Pin list
14677                         0x001C
14678                     }
14679                 GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
14680                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14681                     )
14682                     {   // Pin list
14683                         0x001D
14684                     }
14685             })
14686             Return (UBUF) /* \MDM_._CRS.UBUF */
14687         }
14688     }
14689
14690     Scope (_SB.I2C1)
14691     {
14692         Name (AVBL, Zero)
14693         Method (_REG, 2, NotSerialized)  // _REG: Region Availability
14694         {
14695             If ((Arg0 == 0x09))
14696             {
14697                 AVBL = Arg1
14698             }
14699         }
14700
14701         Device (SMUX)
14702         {
14703             Name (_HID, "SMSC3750" /* SMSC 3750 USB MUX */)  // _HID: Hardware ID
14704             Name (_CID, "SMSC3750" /* SMSC 3750 USB MUX */)  // _CID: Compatible ID
14705             Name (_DDN, "SMSC 3750 USB MUX")  // _DDN: DOS Device Name
14706             Method (_STA, 0, NotSerialized)  // _STA: Status
14707             {
14708                 If ((OSSL & 0x80))
14709                 {
14710                     Return (0x0F)
14711                 }
14712
14713                 Return (Zero)
14714             }
14715
14716             Name (RBUF, ResourceTemplate ()
14717             {
14718                 I2cSerialBus (0x0068, ControllerInitiated, 0x00061A80,
14719                     AddressingMode7Bit, "\\_SB.I2C1",
14720                     0x00, ResourceConsumer, ,
14721                     )
14722                 GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
14723                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14724                     )
14725                     {   // Pin list
14726                         0x0001
14727                     }
14728             })
14729             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14730             {
14731                 Return (RBUF) /* \_SB_.I2C1.SMUX.RBUF */
14732             }
14733         }
14734
14735         Name (MUXW, ResourceTemplate ()
14736         {
14737             I2cSerialBus (0x0068, ControllerInitiated, 0x00061A80,
14738                 AddressingMode7Bit, "\\_SB.I2C1",
14739                 0x00, ResourceConsumer, ,
14740                 )
14741         })
14742         OperationRegion (MUXO, GenericSerialBus, Zero, 0x10)
14743         Field (MUXO, BufferAcc, NoLock, Preserve)
14744         {
14745             Connection (MUXW), 
14746             AccessAs (BufferAcc, AttribByte), 
14747             MSTA,   8
14748         }
14749
14750         Field (MUXO, BufferAcc, NoLock, Preserve)
14751         {
14752             Connection (MUXW), 
14753             Offset (0x01), 
14754             AccessAs (BufferAcc, AttribByte), 
14755             MCON,   8
14756         }
14757
14758         Field (MUXO, BufferAcc, NoLock, Preserve)
14759         {
14760             Connection (MUXW), 
14761             Offset (0x02), 
14762             AccessAs (BufferAcc, AttribByte), 
14763             MCHG,   8
14764         }
14765
14766         Field (MUXO, BufferAcc, NoLock, Preserve)
14767         {
14768             Connection (MUXW), 
14769             Offset (0x03), 
14770             AccessAs (BufferAcc, AttribByte), 
14771             MCST,   8
14772         }
14773
14774         Device (GPOE)
14775         {
14776             Name (_HID, "INBC0000" /* GPIO Expander */)  // _HID: Hardware ID
14777             Name (_CID, "INBC0000" /* GPIO Expander */)  // _CID: Compatible ID
14778             Name (_DDN, "GPIO Expander")  // _DDN: DOS Device Name
14779             Method (_STA, 0, NotSerialized)  // _STA: Status
14780             {
14781                 If ((OSSL & 0x80))
14782                 {
14783                     Return (0x0F)
14784                 }
14785
14786                 Return (Zero)
14787             }
14788
14789             Name (RBUF, ResourceTemplate ()
14790             {
14791                 I2cSerialBus (0x0023, ControllerInitiated, 0x00061A80,
14792                     AddressingMode7Bit, "\\_SB.I2C1",
14793                     0x00, ResourceConsumer, ,
14794                     )
14795             })
14796             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14797             {
14798                 Return (RBUF) /* \_SB_.I2C1.GPOE.RBUF */
14799             }
14800         }
14801
14802         Name (IOEX, ResourceTemplate ()
14803         {
14804             I2cSerialBus (0x0023, ControllerInitiated, 0x00061A80,
14805                 AddressingMode7Bit, "\\_SB.I2C1",
14806                 0x00, ResourceConsumer, ,
14807                 )
14808         })
14809         OperationRegion (IOXO, GenericSerialBus, Zero, 0x20)
14810         Field (IOXO, BufferAcc, NoLock, Preserve)
14811         {
14812             Connection (IOEX), 
14813             Offset (0x01), 
14814             AccessAs (BufferAcc, AttribByte), 
14815             INR1,   8
14816         }
14817
14818         Field (IOXO, BufferAcc, NoLock, Preserve)
14819         {
14820             Connection (IOEX), 
14821             Offset (0x05), 
14822             AccessAs (BufferAcc, AttribByte), 
14823             OUTR,   8
14824         }
14825
14826         Field (IOXO, BufferAcc, NoLock, Preserve)
14827         {
14828             Connection (IOEX), 
14829             Offset (0x0D), 
14830             AccessAs (BufferAcc, AttribByte), 
14831             CONR,   8
14832         }
14833     }
14834
14835     Scope (_TZ)
14836     {
14837         ThermalZone (TZ00)
14838         {
14839             Name (_DEP, Package (0x02)  // _DEP: Dependencies
14840             {
14841                 \_SB.I2C5, 
14842                 \_SB.I2C5.PMIC
14843             })
14844             Method (_TMP, 0, Serialized)  // _TMP: Temperature
14845             {
14846                 If ((\_SB.I2C5.PMIC.AVBG == One))
14847                 {
14848                     \_SB.I2C5.PMIC.GMP2 = Zero
14849                     If ((\_SB.I2C5.PMIC.AVBD == One))
14850                     {
14851                         Return (\_SB.I2C5.PMIC.TMP2)
14852                     }
14853                 }
14854
14855                 Return (0x0AAC)
14856             }
14857         }
14858     }
14859
14860     Scope (_SB.PCI0)
14861     {
14862         Device (PDRC)
14863         {
14864             Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
14865             Name (_UID, One)  // _UID: Unique ID
14866             Name (BUF0, ResourceTemplate ()
14867             {
14868                 Memory32Fixed (ReadWrite,
14869                     0xE0000000,         // Address Base
14870                     0x10000000,         // Address Length
14871                     )
14872                 Memory32Fixed (ReadWrite,
14873                     0xFED01000,         // Address Base
14874                     0x00001000,         // Address Length
14875                     )
14876                 Memory32Fixed (ReadWrite,
14877                     0xFED03000,         // Address Base
14878                     0x00001000,         // Address Length
14879                     )
14880                 Memory32Fixed (ReadWrite,
14881                     0xFED04000,         // Address Base
14882                     0x00001000,         // Address Length
14883                     )
14884                 Memory32Fixed (ReadWrite,
14885                     0xFED0C000,         // Address Base
14886                     0x00004000,         // Address Length
14887                     )
14888                 Memory32Fixed (ReadWrite,
14889                     0xFED08000,         // Address Base
14890                     0x00001000,         // Address Length
14891                     )
14892                 Memory32Fixed (ReadWrite,
14893                     0xFED1C000,         // Address Base
14894                     0x00001000,         // Address Length
14895                     )
14896                 Memory32Fixed (ReadOnly,
14897                     0xFEE00000,         // Address Base
14898                     0x00100000,         // Address Length
14899                     )
14900                 Memory32Fixed (ReadWrite,
14901                     0xFEF00000,         // Address Base
14902                     0x00100000,         // Address Length
14903                     )
14904             })
14905         }
14906     }
14907
14908     Method (BRTN, 1, Serialized)
14909     {
14910         If (((DID1 & 0x0F00) == 0x0400))
14911         {
14912             Notify (\_SB.PCI0.GFX0.DD01, Arg0)
14913         }
14914
14915         If (((DID2 & 0x0F00) == 0x0400))
14916         {
14917             Notify (\_SB.PCI0.GFX0.DD02, Arg0)
14918         }
14919
14920         If (((DID3 & 0x0F00) == 0x0400))
14921         {
14922             Notify (\_SB.PCI0.GFX0.DD03, Arg0)
14923         }
14924
14925         If (((DID4 & 0x0F00) == 0x0400))
14926         {
14927             Notify (\_SB.PCI0.GFX0.DD04, Arg0)
14928         }
14929
14930         If (((DID5 & 0x0F00) == 0x0400))
14931         {
14932             Notify (\_SB.PCI0.GFX0.DD05, Arg0)
14933         }
14934
14935         If (CondRefOf (NDN3))
14936         {
14937             NDN3 (Arg0)
14938         }
14939     }
14940
14941     Scope (_SB.I2C1)
14942     {
14943         Device (SMFG)
14944         {
14945             Name (_HID, "MAX17047" /* Fuel Gauge Controller */)  // _HID: Hardware ID
14946             Name (_CID, "MAX17047" /* Fuel Gauge Controller */)  // _CID: Compatible ID
14947             Name (_DDN, "Fuel Gauge Controller")  // _DDN: DOS Device Name
14948             Name (RBUF, ResourceTemplate ()
14949             {
14950                 I2cSerialBus (0x0036, ControllerInitiated, 0x000186A0,
14951                     AddressingMode7Bit, "\\_SB.I2C1",
14952                     0x00, ResourceConsumer, ,
14953                     )
14954                 GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0000,
14955                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14956                     )
14957                     {   // Pin list
14958                         0x0012
14959                     }
14960             })
14961             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14962             {
14963                 Return (RBUF) /* \_SB_.I2C1.SMFG.RBUF */
14964             }
14965
14966             Method (_STA, 0, NotSerialized)  // _STA: Status
14967             {
14968                 If (((BDID == 0x06) && (OSSL & 0x80)))
14969                 {
14970                     Return (0x0F)
14971                 }
14972
14973                 Return (Zero)
14974             }
14975         }
14976
14977         Device (SMCG)
14978         {
14979             Name (_HID, "SMB0349" /* Charger */)  // _HID: Hardware ID
14980             Name (_CID, "SMB0349" /* Charger */)  // _CID: Compatible ID
14981             Name (_DDN, "Charger")  // _DDN: DOS Device Name
14982             Name (RBUF, ResourceTemplate ()
14983             {
14984                 I2cSerialBus (0x0035, ControllerInitiated, 0x000186A0,
14985                     AddressingMode7Bit, "\\_SB.I2C1",
14986                     0x00, ResourceConsumer, ,
14987                     )
14988                 GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0000,
14989                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
14990                     )
14991                     {   // Pin list
14992                         0x0002
14993                     }
14994             })
14995             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
14996             {
14997                 Return (RBUF) /* \_SB_.I2C1.SMCG.RBUF */
14998             }
14999
15000             Method (_STA, 0, NotSerialized)  // _STA: Status
15001             {
15002                 If (((BDID == 0x06) && (OSSL & 0x80)))
15003                 {
15004                     Return (0x0F)
15005                 }
15006
15007                 Return (Zero)
15008             }
15009         }
15010
15011         Device (TBCG)
15012         {
15013             Name (_HID, "TBQ24296" /* Charger */)  // _HID: Hardware ID
15014             Name (_CID, "TBQ24296" /* Charger */)  // _CID: Compatible ID
15015             Name (_DDN, "Charger")  // _DDN: DOS Device Name
15016             Name (RBUF, ResourceTemplate ()
15017             {
15018                 I2cSerialBus (0x006B, ControllerInitiated, 0x00061A80,
15019                     AddressingMode7Bit, "\\_SB.I2C1",
15020                     0x00, ResourceConsumer, ,
15021                     )
15022                 GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0000,
15023                     "\\_SB.GPO2", 0x00, ResourceConsumer, ,
15024                     )
15025                     {   // Pin list
15026                         0x0002
15027                     }
15028             })
15029             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
15030             {
15031                 Return (RBUF) /* \_SB_.I2C1.TBCG.RBUF */
15032             }
15033
15034             Method (_STA, 0, NotSerialized)  // _STA: Status
15035             {
15036                 If (((BDID == 0x06) && (OSSL & 0x80)))
15037                 {
15038                     Return (0x0F)
15039                 }
15040
15041                 Return (Zero)
15042             }
15043         }
15044     }
15045
15046     Scope (_SB.I2C1)
15047     {
15048         Name (MXFG, ResourceTemplate ()
15049         {
15050             I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80,
15051                 AddressingMode7Bit, "\\_SB.I2C1",
15052                 0x00, ResourceConsumer, ,
15053                 )
15054         })
15055         OperationRegion (DVFG, GenericSerialBus, Zero, 0x0100)
15056         Field (DVFG, BufferAcc, NoLock, Preserve)
15057         {
15058             Connection (MXFG), 
15059             Offset (0x05), 
15060             AccessAs (BufferAcc, AttribBytes (0x02)), 
15061             FG05,   8
15062         }
15063
15064         Field (DVFG, BufferAcc, NoLock, Preserve)
15065         {
15066             Connection (MXFG), 
15067             Offset (0x10), 
15068             AccessAs (BufferAcc, AttribBytes (0x02)), 
15069             FG10,   8
15070         }
15071
15072         Field (DVFG, BufferAcc, NoLock, Preserve)
15073         {
15074             Connection (MXFG), 
15075             Offset (0x17), 
15076             AccessAs (BufferAcc, AttribBytes (0x02)), 
15077             FG17,   8
15078         }
15079
15080         Field (DVFG, BufferAcc, NoLock, Preserve)
15081         {
15082             Connection (MXFG), 
15083             Offset (0x18), 
15084             AccessAs (BufferAcc, AttribBytes (0x02)), 
15085             FG18,   8
15086         }
15087
15088         Field (DVFG, BufferAcc, NoLock, Preserve)
15089         {
15090             Connection (MXFG), 
15091             Offset (0x09), 
15092             AccessAs (BufferAcc, AttribBytes (0x02)), 
15093             FG09,   8
15094         }
15095
15096         Field (DVFG, BufferAcc, NoLock, Preserve)
15097         {
15098             Connection (MXFG), 
15099             Offset (0x0A), 
15100             AccessAs (BufferAcc, AttribBytes (0x02)), 
15101             FG0A,   8
15102         }
15103
15104         Field (DVFG, BufferAcc, NoLock, Preserve)
15105         {
15106             Connection (MXFG), 
15107             Offset (0x11), 
15108             AccessAs (BufferAcc, AttribBytes (0x02)), 
15109             FG11,   8
15110         }
15111
15112         Field (DVFG, BufferAcc, NoLock, Preserve)
15113         {
15114             Connection (MXFG), 
15115             AccessAs (BufferAcc, AttribBytes (0x02)), 
15116             FG00,   8
15117         }
15118
15119         Field (DVFG, BufferAcc, NoLock, Preserve)
15120         {
15121             Connection (MXFG), 
15122             Offset (0x03), 
15123             AccessAs (BufferAcc, AttribBytes (0x02)), 
15124             FG03,   8
15125         }
15126
15127         Field (DVFG, BufferAcc, NoLock, Preserve)
15128         {
15129             Connection (MXFG), 
15130             Offset (0x1D), 
15131             AccessAs (BufferAcc, AttribBytes (0x02)), 
15132             FG1D,   8
15133         }
15134
15135         Field (DVFG, BufferAcc, NoLock, Preserve)
15136         {
15137             Connection (MXFG), 
15138             Offset (0x2B), 
15139             AccessAs (BufferAcc, AttribBytes (0x02)), 
15140             FG2B,   8
15141         }
15142
15143         Field (DVFG, BufferAcc, NoLock, Preserve)
15144         {
15145             Connection (MXFG), 
15146             Offset (0x08), 
15147             AccessAs (BufferAcc, AttribBytes (0x02)), 
15148             THRM,   8
15149         }
15150
15151         Field (DVFG, BufferAcc, NoLock, Preserve)
15152         {
15153             Connection (MXFG), 
15154             Offset (0x06), 
15155             AccessAs (BufferAcc, AttribBytes (0x02)), 
15156             SOCR,   8
15157         }
15158
15159         Field (DVFG, BufferAcc, NoLock, Preserve)
15160         {
15161             Connection (MXFG), 
15162             Offset (0x1C), 
15163             AccessAs (BufferAcc, AttribBytes (0x02)), 
15164             MXCU,   8
15165         }
15166
15167         Name (SMBC, ResourceTemplate ()
15168         {
15169             I2cSerialBus (0x0035, ControllerInitiated, 0x00061A80,
15170                 AddressingMode7Bit, "\\_SB.I2C1",
15171                 0x00, ResourceConsumer, ,
15172                 )
15173         })
15174         OperationRegion (DVBC, GenericSerialBus, Zero, 0x0100)
15175         Field (DVBC, BufferAcc, NoLock, Preserve)
15176         {
15177             Connection (SMBC), 
15178             AccessAs (BufferAcc, AttribByte), 
15179             BC00,   8, 
15180             BC01,   8, 
15181             BC02,   8, 
15182             BC03,   8, 
15183             BC04,   8, 
15184             BC05,   8, 
15185             BC06,   8, 
15186             BC07,   8, 
15187             BC08,   8, 
15188             BC09,   8, 
15189             BC0A,   8, 
15190             BC0B,   8, 
15191             BC0C,   8, 
15192             BC0D,   8, 
15193             BC0E,   8, 
15194             BC0F,   8, 
15195             BC10,   8
15196         }
15197
15198         Field (DVBC, BufferAcc, NoLock, Preserve)
15199         {
15200             Connection (SMBC), 
15201             Offset (0x3D), 
15202             AccessAs (BufferAcc, AttribByte), 
15203             BC3D,   8
15204         }
15205
15206         Field (DVBC, BufferAcc, NoLock, Preserve)
15207         {
15208             Connection (SMBC), 
15209             Offset (0x30), 
15210             AccessAs (BufferAcc, AttribByte), 
15211             BC30,   8
15212         }
15213
15214         Field (DVBC, BufferAcc, NoLock, Preserve)
15215         {
15216             Connection (SMBC), 
15217             Offset (0x3E), 
15218             AccessAs (BufferAcc, AttribByte), 
15219             BC3E,   8
15220         }
15221
15222         Field (DVBC, BufferAcc, NoLock, Preserve)
15223         {
15224             Connection (SMBC), 
15225             Offset (0x35), 
15226             AccessAs (BufferAcc, AttribBytes (0x06)), 
15227             BC35,   8
15228         }
15229
15230         Name (BQBC, ResourceTemplate ()
15231         {
15232             I2cSerialBus (0x006B, ControllerInitiated, 0x00061A80,
15233                 AddressingMode7Bit, "\\_SB.I2C1",
15234                 0x00, ResourceConsumer, ,
15235                 )
15236         })
15237         OperationRegion (DVBQ, GenericSerialBus, Zero, 0x20)
15238         Field (DVBQ, BufferAcc, NoLock, Preserve)
15239         {
15240             Connection (BQBC), 
15241             AccessAs (BufferAcc, AttribByte), 
15242             BQ00,   8, 
15243             BQ01,   8, 
15244             BQ02,   8, 
15245             BQ03,   8, 
15246             BQ04,   8, 
15247             BQ05,   8, 
15248             BQ06,   8, 
15249             BQ07,   8, 
15250             BQ08,   8, 
15251             BQ09,   8, 
15252             BQ0A,   8
15253         }
15254
15255         Device (BATC)
15256         {
15257             Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
15258             Name (_UID, One)  // _UID: Unique ID
15259             Name (FGDV, 0x0A)
15260             Name (BCCC, 0x60)
15261             Name (BCCE, One)
15262             Name (BCCL, 0xFFFFFFFF)
15263             Name (BCLP, 0x1004)
15264             Name (DSCP, 0x132A)
15265             Name (DSVO, 0x0ED8)
15266             Name (RECT, 0x1004)
15267             Name (BTPC, Zero)
15268             Name (AVCU, Zero)
15269             Name (ACMD, 0xFF)
15270             Name (_DEP, Package (0x03)  // _DEP: Dependencies
15271             {
15272                 I2C1, 
15273                 GPO2, 
15274                 GPO0
15275             })
15276             Name (BUFF, Buffer (0x03)
15277             {
15278                  0x00, 0x01, 0x00                                 /* ... */
15279             })
15280             CreateByteField (BUFF, Zero, BYAT)
15281             CreateByteField (BUFF, 0x02, DATA)
15282             Name (BUF1, Buffer (0x06)
15283             {
15284                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00               /* ...... */
15285             })
15286             CreateByteField (BUF1, Zero, BSTA)
15287             CreateByteField (BUF1, One, BLEN)
15288             CreateDWordField (BUF1, 0x02, DAT1)
15289             Name (BUF2, Buffer (0x04)
15290             {
15291                  0x00, 0x00, 0x00, 0x00                           /* .... */
15292             })
15293             CreateByteField (BUF2, Zero, BSTS)
15294             CreateByteField (BUF2, One, SLEN)
15295             CreateWordField (BUF2, 0x02, WRD1)
15296             Name (INBU, Buffer (0x08)
15297             {
15298                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
15299             })
15300             CreateByteField (INBU, Zero, INST)
15301             CreateByteField (INBU, One, INLN)
15302             CreateByteField (INBU, 0x02, INT0)
15303             CreateByteField (INBU, 0x03, INT1)
15304             CreateByteField (INBU, 0x04, INT2)
15305             CreateByteField (INBU, 0x05, INT3)
15306             CreateByteField (INBU, 0x06, INT4)
15307             CreateByteField (INBU, 0x07, INT5)
15308             Method (CLIM, 0, NotSerialized)
15309             {
15310                 BUFF = MSTA /* \_SB_.I2C1.MSTA */
15311                 Local1 = 0x02
15312                 Sleep (0x64)
15313                 ADBG ("CLIM")
15314                 ADBG (DATA)
15315                 If ((DATA & 0x10))
15316                 {
15317                     If ((DATA & 0xE0))
15318                     {
15319                         Local0 = (DATA & 0xE0)
15320                         If (((Local0 == 0xA0) || (Local0 == 0x60)))
15321                         {
15322                             ADBG ("CLIM----1")
15323                             Local1 = 0x02
15324                         }
15325
15326                         If (((Local0 == 0x40) || (Local0 == 0x20)))
15327                         {
15328                             ADBG ("CLIM----2")
15329                             Local1 = 0x07
15330                         }
15331
15332                         If ((Local0 == 0x80))
15333                         {
15334                             ADBG ("CLIM----3")
15335                             Local1 = Zero
15336                         }
15337                     }
15338                 }
15339
15340                 Return (Local1)
15341             }
15342
15343             Name (BIXP, Package (0x14)
15344             {
15345                 Zero, 
15346                 One, 
15347                 0xFFFFFFFF, 
15348                 0xFFFFFFFF, 
15349                 One, 
15350                 0xFFFFFFFF, 
15351                 0x0A, 
15352                 0x04, 
15353                 Zero, 
15354                 0x00017318, 
15355                 0xFFFFFFFF, 
15356                 0xFFFFFFFF, 
15357                 0x88B8, 
15358                 0x61A8, 
15359                 One, 
15360                 One, 
15361                 "SR Real Battery", 
15362                 "123456789", 
15363                 "LION", 
15364                 "Intel SR 1"
15365             })
15366             Name (BSTP, Package (0x04)
15367             {
15368                 Zero, 
15369                 0xFFFFFFFF, 
15370                 0xFFFFFFFF, 
15371                 0xFFFFFFFF
15372             })
15373             Method (_BIX, 0, NotSerialized)  // _BIX: Battery Information Extended
15374             {
15375                 ADBG ("BIX")
15376                 If ((AVBL == One))
15377                 {
15378                     BUF2 = FG10 /* \_SB_.I2C1.FG10 */
15379                     If ((BSTS != One))
15380                     {
15381                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15382                         Local2 = (Local1 * 0x05)
15383                         Divide (Local2, FGDV, Local0, Local1)
15384                         Index (BIXP, 0x03) = Local1
15385                     }
15386
15387                     BUF2 = FG17 /* \_SB_.I2C1.FG17 */
15388                     If ((BSTS != One))
15389                     {
15390                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15391                         Divide (Local1, 0x64, Local0, Local2)
15392                         Index (BIXP, 0x08) = Local2
15393                     }
15394                 }
15395
15396                 Index (BIXP, 0x02) = DSCP /* \_SB_.I2C1.BATC.DSCP */
15397                 Index (BIXP, 0x05) = DSVO /* \_SB_.I2C1.BATC.DSVO */
15398                 Divide (DSCP, 0x0A, Local0, Local1)
15399                 Index (BIXP, 0x06) = Local1
15400                 Divide (DSCP, 0x14, Local0, Local1)
15401                 Index (BIXP, 0x07) = Local1
15402                 If ((ACMD == 0xFF))
15403                 {
15404                     BUFF = INR1 /* \_SB_.I2C1.INR1 */
15405                     If (((DATA & 0x20) == 0x20))
15406                     {
15407                         ACMD = One
15408                         ADBG ("AC Mode")
15409                     }
15410                     Else
15411                     {
15412                         ACMD = Zero
15413                         ADBG ("Non-AC Mode")
15414                     }
15415                 }
15416
15417                 Return (BIXP) /* \_SB_.I2C1.BATC.BIXP */
15418             }
15419
15420             Method (_BST, 0, NotSerialized)  // _BST: Battery Status
15421             {
15422                 If ((AVBL == One))
15423                 {
15424                     ADBG ("BST")
15425                     BUFF = BQ09 /* \_SB_.I2C1.BQ09 */
15426                     Local0 = (DATA & 0x80)
15427                     If ((Local0 == 0x80))
15428                     {
15429                         BUFF = BQ05 /* \_SB_.I2C1.BQ05 */
15430                         Local0 = (DATA & 0xCF)
15431                         DATA = Local0
15432                         BQ05 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15433                     }
15434
15435                     BUF2 = FG00 /* \_SB_.I2C1.FG00 */
15436                     If ((BSTS != One))
15437                     {
15438                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15439                     }
15440
15441                     ADBG (Local1)
15442                     If ((Local1 != Zero))
15443                     {
15444                         Local0 = (WRD1 & 0x02)
15445                         WRD1 = Local0
15446                         FG00 = BUF2 /* \_SB_.I2C1.BATC.BUF2 */
15447                     }
15448
15449                     BUFF = BQ00 /* \_SB_.I2C1.BQ00 */
15450                     Local0 = (DATA & 0x80)
15451                     If ((Local0 == 0x80))
15452                     {
15453                         Local0 = (DATA & 0x7F)
15454                         DATA = Local0
15455                         BQ00 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15456                         BUFF = BQ07 /* \_SB_.I2C1.BQ07 */
15457                         Local0 = (DATA | 0x80)
15458                         DATA = Local0
15459                         BQ07 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15460                     }
15461
15462                     BUFF = BQ08 /* \_SB_.I2C1.BQ08 */
15463                     If ((BYAT != One))
15464                     {
15465                         Local0 = (DATA >> 0x04)
15466                         Local0 &= 0x03
15467                         If (((Local0 == One) || (Local0 == 0x02)))
15468                         {
15469                             Local1 = 0x02
15470                         }
15471
15472                         If ((Local0 == Zero))
15473                         {
15474                             Local1 = One
15475                         }
15476
15477                         If ((Local0 == 0x03))
15478                         {
15479                             Local1 = Zero
15480                         }
15481
15482                         Index (BSTP, Zero) = Local1
15483                     }
15484
15485                     BUF2 = FG0A /* \_SB_.I2C1.FG0A */
15486                     If ((BSTS != One))
15487                     {
15488                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15489                         If ((Local1 & 0x8000))
15490                         {
15491                             Local1 -= 0xFFFF
15492                         }
15493
15494                         Divide (Local1, FGDV, Local0, Local2)
15495                         Local1 = (Local2 * 0x9C)
15496                         Divide (Local1, 0x64, Local0, Local2)
15497                         Index (BSTP, One) = Local2
15498                     }
15499
15500                     BUF2 = FG05 /* \_SB_.I2C1.FG05 */
15501                     If ((BSTS != One))
15502                     {
15503                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15504                         Local2 = (Local1 * 0x05)
15505                         Divide (Local2, FGDV, Local0, Local1)
15506                         Index (BSTP, 0x02) = Local1
15507                     }
15508
15509                     BUF2 = FG09 /* \_SB_.I2C1.FG09 */
15510                     If ((BSTS != One))
15511                     {
15512                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15513                         Local2 = (Local1 >> 0x03)
15514                         Local1 = (Local2 * 0x0271)
15515                         Divide (Local1, 0x03E8, Local0, Local2)
15516                         Index (BSTP, 0x03) = Local2
15517                     }
15518
15519                     BUFF = BQ01 /* \_SB_.I2C1.BQ01 */
15520                     If ((BYAT != One))
15521                     {
15522                         If ((BCCE == One))
15523                         {
15524                             DATA |= 0x10
15525                             BQ01 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15526                         }
15527                         Else
15528                         {
15529                             DATA &= 0xEF
15530                             BQ01 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15531                         }
15532
15533                         Local0 = DATA /* \_SB_.I2C1.BATC.DATA */
15534                         ADBG ("Charger enable")
15535                         ADBG (Local0)
15536                     }
15537
15538                     BUFF = BQ02 /* \_SB_.I2C1.BQ02 */
15539                     If ((BYAT != One))
15540                     {
15541                         Local1 = BCCC /* \_SB_.I2C1.BATC.BCCC */
15542                         Local0 = DATA /* \_SB_.I2C1.BATC.DATA */
15543                         Local2 = (Local0 & 0xFC)
15544                         If ((Local2 != Local1))
15545                         {
15546                             ADBG ("UPD CU From")
15547                             ADBG (DATA)
15548                             Local2 = (DATA & 0x03)
15549                             DATA = (Local2 | Local1)
15550                             BQ02 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15551                         }
15552
15553                         Local1 = DATA /* \_SB_.I2C1.BATC.DATA */
15554                         ADBG ("Fast Current")
15555                         ADBG (Local1)
15556                     }
15557
15558                     If ((ACMD != One))
15559                     {
15560                         Local3 = CLIM ()
15561                         ADBG (Local3)
15562                         BUFF = BQ00 /* \_SB_.I2C1.BQ00 */
15563                         If ((BYAT != One))
15564                         {
15565                             Local2 = (DATA & 0x07)
15566                             If ((Local2 != Local3))
15567                             {
15568                                 Local2 = (DATA & 0xF8)
15569                                 DATA = (Local2 | Local3)
15570                                 BQ00 = BUFF /* \_SB_.I2C1.BATC.BUFF */
15571                             }
15572                         }
15573
15574                         Local1 = DATA /* \_SB_.I2C1.BATC.DATA */
15575                         ADBG ("Input Current")
15576                         ADBG (Local1)
15577                     }
15578                 }
15579
15580                 Return (BSTP) /* \_SB_.I2C1.BATC.BSTP */
15581             }
15582
15583             Method (INTC, 0, NotSerialized)
15584             {
15585                 BUFF = BQ08 /* \_SB_.I2C1.BQ08 */
15586                 If ((BYAT != One))
15587                 {
15588                     Local1 = DATA /* \_SB_.I2C1.BATC.DATA */
15589                 }
15590
15591                 Return (Local1)
15592             }
15593
15594             Method (INTF, 0, NotSerialized)
15595             {
15596                 ADBG ("INTF")
15597                 BUF2 = FG00 /* \_SB_.I2C1.FG00 */
15598                 If ((BSTS != One))
15599                 {
15600                     Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15601                 }
15602
15603                 Return (Local1)
15604             }
15605
15606             Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
15607             {
15608                 BTPC = Arg0
15609                 ADBG ("BTP")
15610                 ADBG (Arg0)
15611                 If ((AVBL == One))
15612                 {
15613                     DAT1 = Arg0
15614                     BLEN = 0x04
15615                     BUF2 = FG2B /* \_SB_.I2C1.FG2B */
15616                     If ((BSTS != One))
15617                     {
15618                         Local1 = (WRD1 & 0xFFFC)
15619                         WRD1 = Local1
15620                         FG2B = BUF2 /* \_SB_.I2C1.BATC.BUF2 */
15621                     }
15622
15623                     BUF2 = FG1D /* \_SB_.I2C1.FG1D */
15624                     If ((BSTS != One))
15625                     {
15626                         Local1 = (WRD1 & 0xFFFB)
15627                         Local2 = (Local1 | 0x4004)
15628                         WRD1 = Local2
15629                         FG1D = BUF2 /* \_SB_.I2C1.BATC.BUF2 */
15630                     }
15631
15632                     BUF2 = SOCR /* \_SB_.I2C1.SOCR */
15633                     If ((BSTS != One))
15634                     {
15635                         Local0 = (WRD1 >> 0x08)
15636                         Local1 = (Local0 & 0xFF)
15637                     }
15638
15639                     Local2 = (Local1 + One)
15640                     Local3 = (Local1 - One)
15641                     Local1 = (Local2 << 0x08)
15642                     Local2 = (Local1 | Local3)
15643                     WRD1 = Local2
15644                     FG03 = BUF2 /* \_SB_.I2C1.BATC.BUF2 */
15645                 }
15646             }
15647
15648             Method (_BTM, 1, NotSerialized)  // _BTM: Battery Time
15649             {
15650                 ADBG ("BTM")
15651                 If ((Arg0 > 0x7530))
15652                 {
15653                     Return (Zero)
15654                 }
15655
15656                 If ((AVBL == One))
15657                 {
15658                     BUF2 = FG11 /* \_SB_.I2C1.FG11 */
15659                     If ((BSTS != One))
15660                     {
15661                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15662                         If ((Arg0 == Zero))
15663                         {
15664                             Local2 = (Local1 >> 0x05)
15665                             Local1 = (Local2 * 0x03)
15666                             Local2 = (Local1 * 0x3C)
15667                             Return (Local2)
15668                         }
15669
15670                         BUF2 = FG05 /* \_SB_.I2C1.FG05 */
15671                         If ((BSTS != One))
15672                         {
15673                             Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15674                             Local2 = (Local1 * 0x05)
15675                             Divide (Local2, FGDV, Local0, Local1)
15676                             Local0 = (Local1 * 0x0E10)
15677                             Divide (Local0, Arg0, Local1, Local2)
15678                             Return (Local2)
15679                         }
15680                     }
15681                 }
15682
15683                 Return (0xFFFFFFFF)
15684             }
15685
15686             Method (_BCT, 1, NotSerialized)  // _BCT: Battery Charge Time
15687             {
15688                 ADBG ("BCT")
15689                 If (((Arg0 > 0x64) || (Arg0 < One)))
15690                 {
15691                     Return (Zero)
15692                 }
15693
15694                 If ((AVBL == One))
15695                 {
15696                     BUF2 = FG05 /* \_SB_.I2C1.FG05 */
15697                     Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15698                     If ((BSTS != One))
15699                     {
15700                         Local2 = (Local1 * 0x05)
15701                         Divide (Local2, FGDV, Local0, Local1)
15702                         RECT = Local1
15703                     }
15704
15705                     BUF2 = FG10 /* \_SB_.I2C1.FG10 */
15706                     If ((BSTS != One))
15707                     {
15708                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15709                         Local2 = (Local1 * 0x05)
15710                         Divide (Local2, FGDV, Local0, Local1)
15711                         BCLP = Local1
15712                     }
15713
15714                     BUF2 = FG0A /* \_SB_.I2C1.FG0A */
15715                     If ((BSTS != One))
15716                     {
15717                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15718                         If ((Local1 & 0x8000))
15719                         {
15720                             Return (Zero)
15721                         }
15722                     }
15723
15724                     Local0 = (BCLP * Arg0)
15725                     Local0 -= RECT /* \_SB_.I2C1.BATC.RECT */
15726                     Local0 *= 0x0E10
15727                     Divide (Local0, Local1, Local2, Local3)
15728                     Return (Local3)
15729                 }
15730
15731                 Return (0xFFFFFFFF)
15732             }
15733
15734             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
15735             {
15736                 If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */))
15737                 {
15738                     If ((Arg2 == 0x02))
15739                     {
15740                         If ((Arg1 == Zero))
15741                         {
15742                             Return (Buffer (One)
15743                             {
15744                                  0x00                                             /* . */
15745                             })
15746                         }
15747                     }
15748                 }
15749
15750                 Return (Zero)
15751             }
15752
15753             Method (_STA, 0, NotSerialized)  // _STA: Status
15754             {
15755                 If ((PMID == 0x05))
15756                 {
15757                     Return (Zero)
15758                 }
15759
15760                 If ((PMID == 0x06))
15761                 {
15762                     Return (Zero)
15763                 }
15764
15765                 If ((AVBL == One))
15766                 {
15767                     BUF2 = FG05 /* \_SB_.I2C1.FG05 */
15768                     If ((BSTS != Zero))
15769                     {
15770                         Return (Zero)
15771                     }
15772                 }
15773
15774                 Return (0x1F)
15775             }
15776
15777             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
15778             {
15779                 Return (_SB) /* \_SB_ */
15780             }
15781
15782             Method (PSOC, 0, NotSerialized)
15783             {
15784                 If ((AVBL == One))
15785                 {
15786                     BUF2 = SOCR /* \_SB_.I2C1.SOCR */
15787                     If ((BSTS != One))
15788                     {
15789                         Local0 = (WRD1 >> 0x08)
15790                         Local1 = (Local0 & 0xFF)
15791                     }
15792
15793                     Return (Local1)
15794                 }
15795
15796                 Return (Zero)
15797             }
15798
15799             Method (PMAX, 0, NotSerialized)
15800             {
15801                 If ((AVBL == One))
15802                 {
15803                     BUF2 = MXCU /* \_SB_.I2C1.MXCU */
15804                     If ((BSTS != One))
15805                     {
15806                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15807                         If ((Local1 & 0x8000))
15808                         {
15809                             Local0 = (Local1 >> 0x08)
15810                             Local1 = (Local0 & 0xFF)
15811                             Local0 = (0xFFFF - Local1)
15812                             Local1 = (Local0 * 0x04)
15813                         }
15814                         Else
15815                         {
15816                             Local0 = (Local1 >> 0x08)
15817                             Local2 = (Local0 & 0xFF)
15818                             Local1 = (Local2 * 0x04)
15819                         }
15820
15821                         Divide (Local1, 0x0A, Local0, Local2)
15822                         Divide (Local2, FGDV, Local0, Local1)
15823                         Local2 = (Local1 * 0x03E8)
15824                         Local1 = (DSVO * Local2)
15825                         Return (Local1)
15826                     }
15827                 }
15828
15829                 Return (Zero)
15830             }
15831
15832             Method (VMIN, 0, NotSerialized)
15833             {
15834                 Return (0x0DAC)
15835             }
15836
15837             Method (APWR, 0, NotSerialized)
15838             {
15839                 Return (0x0365C040)
15840             }
15841
15842             Method (NPWR, 0, NotSerialized)
15843             {
15844                 Local3 = APWR ()
15845                 If ((AVBL == One))
15846                 {
15847                     BUF2 = FG0A /* \_SB_.I2C1.FG0A */
15848                     If ((BSTS != One))
15849                     {
15850                         Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15851                         If ((Local1 & 0x8000))
15852                         {
15853                             Local1 -= 0xFFFF
15854                         }
15855
15856                         Divide (Local1, FGDV, Local0, Local2)
15857                         Local1 = (Local2 * 0x9C)
15858                         Divide (Local1, 0x64, Local0, Local2)
15859                         AVCU = Local2
15860                         BUF2 = FG09 /* \_SB_.I2C1.FG09 */
15861                         If ((BSTS != One))
15862                         {
15863                             Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */
15864                             Local2 = (Local1 >> 0x03)
15865                             Local1 = (Local2 * 0x0271)
15866                             Divide (Local1, 0x03E8, Local0, Local2)
15867                         }
15868
15869                         Local1 = (Local2 * AVCU) /* \_SB_.I2C1.BATC.AVCU */
15870                         Local0 = (Local3 - Local1)
15871                         Return (Local0)
15872                     }
15873                 }
15874
15875                 Return (Local0)
15876             }
15877
15878             Method (PSRC, 0, NotSerialized)
15879             {
15880                 If ((AVBL == One))
15881                 {
15882                     BUFF = BQ08 /* \_SB_.I2C1.BQ08 */
15883                     If ((BYAT != One))
15884                     {
15885                         Local0 = DATA /* \_SB_.I2C1.BATC.DATA */
15886                         Local0 = (DATA >> 0x06)
15887                         Local0 &= 0x03
15888                         Return (Local0)
15889                     }
15890                 }
15891
15892                 Return (One)
15893             }
15894
15895             Method (CTYP, 0, NotSerialized)
15896             {
15897                 Return (0x02)
15898             }
15899
15900             Method (ARTG, 0, NotSerialized)
15901             {
15902                 Return (0x0365C040)
15903             }
15904         }
15905     }
15906
15907     Scope (_SB)
15908     {
15909         Device (ADP1)
15910         {
15911             Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
15912             Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
15913             {
15914                 If ((^^GPO2.USID == Zero))
15915                 {
15916                     Return (Zero)
15917                 }
15918
15919                 If ((PMID == One))
15920                 {
15921                     If (CondRefOf (\_SB.I2C1.BATC, Local1))
15922                     {
15923                         Local0 = ^^I2C1.BATC.PSRC ()
15924                         If ((Local0 == Zero))
15925                         {
15926                             Return (Zero)
15927                         }
15928                         Else
15929                         {
15930                             Return (One)
15931                         }
15932                     }
15933
15934                     Return (One)
15935                 }
15936
15937                 If ((PMID == 0x05))
15938                 {
15939                     If (CondRefOf (\_SB.I2C5.BMBT, Local1))
15940                     {
15941                         Local0 = ^^I2C5.BMBT.PSRC ()
15942                         If ((Local0 == Zero))
15943                         {
15944                             Return (Zero)
15945                         }
15946                         Else
15947                         {
15948                             Return (One)
15949                         }
15950                     }
15951                 }
15952
15953                 If ((PMID == 0x06))
15954                 {
15955                     If (CondRefOf (\_SB.I2C5.TIBT, Local1))
15956                     {
15957                         Local0 = ^^I2C5.TIBT.PSRC ()
15958                         If ((Local0 == Zero))
15959                         {
15960                             Return (Zero)
15961                         }
15962                         Else
15963                         {
15964                             Return (One)
15965                         }
15966                     }
15967                 }
15968
15969                 Return (One)
15970             }
15971
15972             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
15973             {
15974                 Return (_SB) /* \_SB_ */
15975             }
15976         }
15977     }
15978
15979     Scope (_SB.I2C5)
15980     {
15981         Device (BMDR)
15982         {
15983             Name (_HID, "INT33FE" /* XPOWER Battery Device */)  // _HID: Hardware ID
15984             Name (_CID, "INT33FE" /* XPOWER Battery Device */)  // _CID: Compatible ID
15985             Name (_DDN, "XPOWER Battery Device")  // _DDN: DOS Device Name
15986             Name (_DEP, Package (0x02)  // _DEP: Dependencies
15987             {
15988                 I2C5, 
15989                 PMI1
15990             })
15991             Name (RBUF, ResourceTemplate ()
15992             {
15993                 I2cSerialBus (0x0068, ControllerInitiated, 0x000186A0,
15994                     AddressingMode7Bit, "\\_SB.I2C1",
15995                     0x00, ResourceConsumer, ,
15996                     )
15997                 GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
15998                     "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, ,
15999                     )
16000                     {   // Pin list
16001                         0x0011
16002                     }
16003             })
16004             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
16005             {
16006                 Return (RBUF) /* \_SB_.I2C5.BMDR.RBUF */
16007             }
16008
16009             Method (_STA, 0, NotSerialized)  // _STA: Status
16010             {
16011                 If ((PMID == 0x05))
16012                 {
16013                     Return (0x0F)
16014                 }
16015
16016                 Return (Zero)
16017             }
16018
16019             OperationRegion (BMOP, 0x9E, Zero, 0x0100)
16020             Field (BMOP, DWordAcc, NoLock, Preserve)
16021             {
16022                 SOC,    32, 
16023                 FCCP,   32, 
16024                 CHST,   32, 
16025                 RMCP,   32, 
16026                 VOLT,   32, 
16027                 BATP,   32, 
16028                 SRP0,   32, 
16029                 STYP,   32, 
16030                 CHGC,   32, 
16031                 STPC,   32, 
16032                 GADC,   32, 
16033                 TTEM,   32, 
16034                 TTCH,   32, 
16035                 CYCL,   32, 
16036                 BTP,    32, 
16037                 DPCU,   32, 
16038                 DSCP,   32
16039             }
16040
16041             Name (AVBL, Zero)
16042             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
16043             {
16044                 If ((Arg0 == 0x9E))
16045                 {
16046                     AVBL = Arg1
16047                 }
16048             }
16049
16050             Name (CHTP, Zero)
16051             Method (SBTP, 0, NotSerialized)
16052             {
16053                 ADBG ("SBTP")
16054                 ADBG ("XP00")
16055                 Name (BMUX, Buffer (0x03)
16056                 {
16057                      0x00, 0x01, 0x00                                 /* ... */
16058                 })
16059                 CreateByteField (BMUX, Zero, BBBY)
16060                 CreateByteField (BMUX, 0x02, DDDT)
16061                 BMUX = XP00 /* \_SB_.I2C5.XP00 */
16062                 ADBG (BMUX)
16063                 If ((BBBY != One))
16064                 {
16065                     If ((DDDT && 0x20))
16066                     {
16067                         ADBG ("vbus on 2C")
16068                         BMUX = XP2C /* \_SB_.I2C5.XP2C */
16069                         If ((BBBY != One))
16070                         {
16071                             Local1 = 0x14
16072                             While (((DDDT && 0x04) && (Local1 != Zero)))
16073                             {
16074                                 Sleep (0x64)
16075                                 BMUX = XP2C /* \_SB_.I2C5.XP2C */
16076                                 DDDT &= 0x04
16077                                 Local1 -= One
16078                             }
16079
16080                             If ((Local1 == Zero))
16081                             {
16082                                 ADBG ("timeout")
16083                                 CHTP = Zero
16084                             }
16085                             Else
16086                             {
16087                                 ADBG ("Det ok")
16088                                 BMUX = XP2F /* \_SB_.I2C5.XP2F */
16089                                 Local0 = (DDDT >> 0x05)
16090                                 CHTP = Local0
16091                             }
16092                         }
16093                         Else
16094                         {
16095                             ADBG ("2C r Fail")
16096                             CHTP = Zero
16097                         }
16098                     }
16099                     Else
16100                     {
16101                         ADBG ("VBUS OFF")
16102                         CHTP = Zero
16103                     }
16104                 }
16105                 Else
16106                 {
16107                     ADBG ("00readFail")
16108                     CHTP = Zero
16109                 }
16110
16111                 ADBG (CHTP)
16112                 If (CondRefOf (\_SB.I2C5.BMBT, Local1))
16113                 {
16114                     Notify (ADP1, 0x80) // Status Change
16115                     Notify (BMBT, 0x80) // Status Change
16116                     Notify (BMBT, 0x81) // Information Change
16117                     If (CondRefOf (\_SB.DPTF, Local3))
16118                     {
16119                         Notify (DPTF, 0x86) // Device-Specific
16120                         Notify (TCHG, 0x80) // Status Change
16121                     }
16122
16123                     Notify (ADP1, 0x80) // Status Change
16124                     Return (One)
16125                 }
16126
16127                 Return (Zero)
16128             }
16129
16130             Method (PTYP, 0, NotSerialized)
16131             {
16132                 ADBG ("PTYP")
16133                 Local0 = (PMID | 0x80)
16134                 Return (Local0)
16135             }
16136         }
16137
16138         Device (TIDR)
16139         {
16140             Name (_HID, "INT33FE" /* XPOWER Battery Device */)  // _HID: Hardware ID
16141             Name (_CID, "INT33FE" /* XPOWER Battery Device */)  // _CID: Compatible ID
16142             Name (_DDN, "TI PMIC Battery Device")  // _DDN: DOS Device Name
16143             Name (_DEP, Package (0x02)  // _DEP: Dependencies
16144             {
16145                 I2C5, 
16146                 PMI2
16147             })
16148             Name (RBUF, ResourceTemplate ()
16149             {
16150                 I2cSerialBus (0x006B, ControllerInitiated, 0x000186A0,
16151                     AddressingMode7Bit, "\\_SB.I2C1",
16152                     0x00, ResourceConsumer, ,
16153                     )
16154                 I2cSerialBus (0x0068, ControllerInitiated, 0x000186A0,
16155                     AddressingMode7Bit, "\\_SB.I2C1",
16156                     0x00, ResourceConsumer, ,
16157                     )
16158                 GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
16159                     "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, ,
16160                     )
16161                     {   // Pin list
16162                         0x0011
16163                     }
16164             })
16165             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
16166             {
16167                 Return (RBUF) /* \_SB_.I2C5.TIDR.RBUF */
16168             }
16169
16170             Method (_STA, 0, NotSerialized)  // _STA: Status
16171             {
16172                 If ((PMID == 0x06))
16173                 {
16174                     Return (0x0F)
16175                 }
16176
16177                 Return (Zero)
16178             }
16179
16180             OperationRegion (BMOP, 0x9E, Zero, 0x0100)
16181             Field (BMOP, DWordAcc, NoLock, Preserve)
16182             {
16183                 SOC,    32, 
16184                 FCCP,   32, 
16185                 CHST,   32, 
16186                 RMCP,   32, 
16187                 VOLT,   32, 
16188                 BATP,   32, 
16189                 SRP0,   32, 
16190                 STYP,   32, 
16191                 CHGC,   32, 
16192                 STPC,   32, 
16193                 GADC,   32, 
16194                 TTEM,   32, 
16195                 TTCH,   32, 
16196                 CYCL,   32, 
16197                 BTP,    32, 
16198                 DPCU,   32, 
16199                 DSCP,   32
16200             }
16201
16202             Name (AVBL, Zero)
16203             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
16204             {
16205                 If ((Arg0 == 0x9E))
16206                 {
16207                     AVBL = Arg1
16208                 }
16209             }
16210
16211             Method (SBTP, 0, NotSerialized)
16212             {
16213                 ADBG ("SBTP")
16214                 If (CondRefOf (\_SB.I2C5.TIBT, Local1))
16215                 {
16216                     Notify (ADP1, 0x80) // Status Change
16217                     Notify (TIBT, 0x80) // Status Change
16218                     Notify (TIBT, 0x81) // Information Change
16219                     If (CondRefOf (\_SB.DPTF, Local3))
16220                     {
16221                         Notify (DPTF, 0x86) // Device-Specific
16222                         Notify (TCHG, 0x80) // Status Change
16223                     }
16224
16225                     Return (One)
16226                 }
16227
16228                 Return (Zero)
16229             }
16230
16231             Method (PTYP, 0, NotSerialized)
16232             {
16233                 ADBG ("PTYP")
16234                 Local0 = (PMID | 0x80)
16235                 Return (Local0)
16236             }
16237         }
16238
16239         Device (BMBT)
16240         {
16241             Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
16242             Name (_UID, One)  // _UID: Unique ID
16243             Name (BCCE, One)
16244             Name (OTGS, Zero)
16245             Name (CHPR, One)
16246             Name (FGDV, 0x0A)
16247             Name (BCCC, 0x07)
16248             Name (BCIL, 0x65)
16249             Name (BCVF, 0x93)
16250             Name (BCFV, 0xED)
16251             Name (BCCH, 0x38)
16252             Name (BCST, 0x05)
16253             Name (BCPE, 0x74)
16254             Name (BCCL, 0xFFFFFFFF)
16255             Name (BCLP, 0x1004)
16256             Name (DSCP, 0x1300)
16257             Name (DSVO, 0x0EA6)
16258             Name (BTPC, Zero)
16259             Name (AVCU, Zero)
16260             Name (_DEP, Package (0x01)  // _DEP: Dependencies
16261             {
16262                 I2C5
16263             })
16264             Name (BUFF, Buffer (0x03)
16265             {
16266                  0x00, 0x01, 0x00                                 /* ... */
16267             })
16268             CreateByteField (BUFF, Zero, BYAT)
16269             CreateByteField (BUFF, 0x02, DATA)
16270             Name (BUF1, Buffer (0x06)
16271             {
16272                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00               /* ...... */
16273             })
16274             CreateByteField (BUF1, Zero, BSTA)
16275             CreateByteField (BUF1, One, BLEN)
16276             CreateDWordField (BUF1, 0x02, DAT1)
16277             Name (BUF2, Buffer (0x04)
16278             {
16279                  0x00, 0x00, 0x00, 0x00                           /* .... */
16280             })
16281             CreateByteField (BUF2, Zero, BSTS)
16282             CreateByteField (BUF2, One, SLEN)
16283             CreateWordField (BUF2, 0x02, WRD1)
16284             Name (BIXP, Package (0x14)
16285             {
16286                 Zero, 
16287                 One, 
16288                 0xFFFFFFFF, 
16289                 0xFFFFFFFF, 
16290                 One, 
16291                 0xFFFFFFFF, 
16292                 0x0A, 
16293                 0x04, 
16294                 Zero, 
16295                 0x00017318, 
16296                 0xFFFFFFFF, 
16297                 0xFFFFFFFF, 
16298                 0x88B8, 
16299                 0x61A8, 
16300                 One, 
16301                 One, 
16302                 "SR Real Battery", 
16303                 "123456789", 
16304                 "LION", 
16305                 "Intel SR 1"
16306             })
16307             Name (BSTP, Package (0x04)
16308             {
16309                 Zero, 
16310                 0xFFFFFFFF, 
16311                 0xFFFFFFFF, 
16312                 0xFFFFFFFF
16313             })
16314             Method (_BIX, 0, NotSerialized)  // _BIX: Battery Information Extended
16315             {
16316                 ADBG ("BIX")
16317                 If ((^^BMDR.AVBL == One))
16318                 {
16319                     Index (BIXP, 0x03) = ^^BMDR.FCCP /* \_SB_.I2C5.BMDR.FCCP */
16320                     Index (BIXP, 0x08) = ^^BMDR.CYCL /* \_SB_.I2C5.BMDR.CYCL */
16321                     Index (BIXP, 0x02) = ^^BMDR.DSCP /* \_SB_.I2C5.BMDR.DSCP */
16322                     DSCP = ^^BMDR.DSCP /* \_SB_.I2C5.BMDR.DSCP */
16323                 }
16324
16325                 Index (BIXP, 0x05) = DSVO /* \_SB_.I2C5.BMBT.DSVO */
16326                 Divide (DSCP, 0x0A, Local0, Local1)
16327                 Index (BIXP, 0x06) = Local1
16328                 Divide (DSCP, 0x14, Local0, Local1)
16329                 Index (BIXP, 0x07) = Local1
16330                 Return (BIXP) /* \_SB_.I2C5.BMBT.BIXP */
16331             }
16332
16333             Method (_BST, 0, NotSerialized)  // _BST: Battery Status
16334             {
16335                 If ((^^BMDR.AVBL == One))
16336                 {
16337                     ADBG ("BST")
16338                     Local0 = ^^BMDR.CHST /* \_SB_.I2C5.BMDR.CHST */
16339                     Local0 &= 0x0F
16340                     If ((Local0 == 0x02))
16341                     {
16342                         Local1 = 0x02
16343                     }
16344
16345                     If ((Local0 == One))
16346                     {
16347                         Local1 = One
16348                     }
16349
16350                     If ((Local0 == 0x08))
16351                     {
16352                         Local1 = Zero
16353                     }
16354
16355                     Index (BSTP, Zero) = Local1
16356                     Index (BSTP, One) = ^^BMDR.CHGC /* \_SB_.I2C5.BMDR.CHGC */
16357                     Index (BSTP, 0x02) = ^^BMDR.RMCP /* \_SB_.I2C5.BMDR.RMCP */
16358                     Index (BSTP, 0x03) = ^^BMDR.VOLT /* \_SB_.I2C5.BMDR.VOLT */
16359                     ^^BMDR.DPCU = BCCC /* \_SB_.I2C5.BMBT.BCCC */
16360                 }
16361
16362                 Return (BSTP) /* \_SB_.I2C5.BMBT.BSTP */
16363             }
16364
16365             Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
16366             {
16367                 BTPC = Arg0
16368                 ADBG ("BTP")
16369                 ADBG (Arg0)
16370                 If ((^^BMDR.AVBL == One))
16371                 {
16372                     ^^BMDR.BTP = Arg0
16373                 }
16374             }
16375
16376             Method (_BTM, 1, NotSerialized)  // _BTM: Battery Time
16377             {
16378                 ADBG ("BTM")
16379                 If ((Arg0 > 0x7530))
16380                 {
16381                     Return (Zero)
16382                 }
16383
16384                 Return (0xFFFFFFFF)
16385             }
16386
16387             Method (_BCT, 1, NotSerialized)  // _BCT: Battery Charge Time
16388             {
16389                 ADBG ("BCT")
16390                 If (((Arg0 > 0x64) || (Arg0 < One)))
16391                 {
16392                     Return (Zero)
16393                 }
16394
16395                 Return (0xFFFFFFFF)
16396             }
16397
16398             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
16399             {
16400                 If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */))
16401                 {
16402                     If ((Arg2 == 0x02))
16403                     {
16404                         If ((Arg1 == Zero))
16405                         {
16406                             Return (Buffer (One)
16407                             {
16408                                  0x00                                             /* . */
16409                             })
16410                         }
16411                     }
16412                 }
16413
16414                 Return (Zero)
16415             }
16416
16417             Method (_STA, 0, NotSerialized)  // _STA: Status
16418             {
16419                 If ((PMID == 0x05))
16420                 {
16421                     Return (0x1F)
16422                 }
16423
16424                 Return (Zero)
16425             }
16426
16427             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
16428             {
16429                 Return (_SB) /* \_SB_ */
16430             }
16431
16432             Method (PSOC, 0, NotSerialized)
16433             {
16434                 ADBG ("PSOC")
16435                 If ((^^BMDR.AVBL == One))
16436                 {
16437                     Local1 = ^^BMDR.SOC /* \_SB_.I2C5.BMDR.SOC_ */
16438                     Return (Local1)
16439                 }
16440
16441                 Return (Zero)
16442             }
16443
16444             Method (PMAX, 0, NotSerialized)
16445             {
16446                 Return (Zero)
16447             }
16448
16449             Method (VMIN, 0, NotSerialized)
16450             {
16451                 Return (0x0E10)
16452             }
16453
16454             Method (APWR, 0, NotSerialized)
16455             {
16456                 Return (0x00FC3A50)
16457             }
16458
16459             Method (NPWR, 0, NotSerialized)
16460             {
16461                 Local3 = APWR ()
16462                 Return (Zero)
16463             }
16464
16465             Method (PSRC, 0, NotSerialized)
16466             {
16467                 If ((^^BMDR.AVBL == One))
16468                 {
16469                     Local0 = ^^BMDR.CHTP /* \_SB_.I2C5.BMDR.CHTP */
16470                     If ((Local0 == Zero))
16471                     {
16472                         Return (Zero)
16473                     }
16474
16475                     If ((Local0 == One))
16476                     {
16477                         Return (One)
16478                     }
16479
16480                     If ((Local0 == 0x02))
16481                     {
16482                         Return (0x02)
16483                     }
16484
16485                     If ((Local0 == 0x03))
16486                     {
16487                         Return (0x03)
16488                     }
16489
16490                     If ((Local0 == 0x04))
16491                     {
16492                         Return (0x04)
16493                     }
16494
16495                     If ((Local0 == 0x05))
16496                     {
16497                         Return (0x05)
16498                     }
16499
16500                     Return (Zero)
16501                 }
16502
16503                 Return (One)
16504             }
16505
16506             Method (CTYP, 0, NotSerialized)
16507             {
16508                 Return (0x02)
16509             }
16510
16511             Method (ARTG, 0, NotSerialized)
16512             {
16513                 Return (APWR ())
16514             }
16515         }
16516
16517         Device (TIBT)
16518         {
16519             Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
16520             Name (_UID, One)  // _UID: Unique ID
16521             Name (BCCE, One)
16522             Name (OTGS, Zero)
16523             Name (CHPR, One)
16524             Name (FGDV, 0x0A)
16525             Name (BCCC, 0x80)
16526             Name (BCIL, 0x65)
16527             Name (BCVF, 0x93)
16528             Name (BCFV, 0xED)
16529             Name (BCCH, 0x38)
16530             Name (BCST, 0x05)
16531             Name (BCPE, 0x74)
16532             Name (BCCL, 0xFFFFFFFF)
16533             Name (BCLP, 0x1004)
16534             Name (DSCP, 0x1300)
16535             Name (DSVO, 0x0EA6)
16536             Name (BTPC, Zero)
16537             Name (AVCU, Zero)
16538             Name (_DEP, Package (0x01)  // _DEP: Dependencies
16539             {
16540                 I2C5
16541             })
16542             Name (BUFF, Buffer (0x03)
16543             {
16544                  0x00, 0x01, 0x00                                 /* ... */
16545             })
16546             CreateByteField (BUFF, Zero, BYAT)
16547             CreateByteField (BUFF, 0x02, DATA)
16548             Name (BUF1, Buffer (0x06)
16549             {
16550                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00               /* ...... */
16551             })
16552             CreateByteField (BUF1, Zero, BSTA)
16553             CreateByteField (BUF1, One, BLEN)
16554             CreateDWordField (BUF1, 0x02, DAT1)
16555             Name (BUF2, Buffer (0x04)
16556             {
16557                  0x00, 0x00, 0x00, 0x00                           /* .... */
16558             })
16559             CreateByteField (BUF2, Zero, BSTS)
16560             CreateByteField (BUF2, One, SLEN)
16561             CreateWordField (BUF2, 0x02, WRD1)
16562             Name (BIXP, Package (0x14)
16563             {
16564                 Zero, 
16565                 One, 
16566                 0xFFFFFFFF, 
16567                 0xFFFFFFFF, 
16568                 One, 
16569                 0xFFFFFFFF, 
16570                 0x0A, 
16571                 0x04, 
16572                 Zero, 
16573                 0x00017318, 
16574                 0xFFFFFFFF, 
16575                 0xFFFFFFFF, 
16576                 0x88B8, 
16577                 0x61A8, 
16578                 One, 
16579                 One, 
16580                 "SR Real Battery", 
16581                 "123456789", 
16582                 "LION", 
16583                 "Intel SR 1"
16584             })
16585             Name (BSTP, Package (0x04)
16586             {
16587                 Zero, 
16588                 0xFFFFFFFF, 
16589                 0xFFFFFFFF, 
16590                 0xFFFFFFFF
16591             })
16592             Method (_BIX, 0, NotSerialized)  // _BIX: Battery Information Extended
16593             {
16594                 ADBG ("BIX")
16595                 If ((^^TIDR.AVBL == One))
16596                 {
16597                     Index (BIXP, 0x03) = ^^TIDR.FCCP /* \_SB_.I2C5.TIDR.FCCP */
16598                     Index (BIXP, 0x08) = ^^TIDR.CYCL /* \_SB_.I2C5.TIDR.CYCL */
16599                     Index (BIXP, 0x02) = ^^TIDR.DSCP /* \_SB_.I2C5.TIDR.DSCP */
16600                     DSCP = ^^TIDR.DSCP /* \_SB_.I2C5.TIDR.DSCP */
16601                 }
16602
16603                 Index (BIXP, 0x05) = DSVO /* \_SB_.I2C5.TIBT.DSVO */
16604                 Divide (DSCP, 0x0A, Local0, Local1)
16605                 Index (BIXP, 0x06) = Local1
16606                 Divide (DSCP, 0x14, Local0, Local1)
16607                 Index (BIXP, 0x07) = Local1
16608                 Return (BIXP) /* \_SB_.I2C5.TIBT.BIXP */
16609             }
16610
16611             Method (_BST, 0, NotSerialized)  // _BST: Battery Status
16612             {
16613                 If ((^^TIDR.AVBL == One))
16614                 {
16615                     ADBG ("BST")
16616                     Local0 = ^^TIDR.CHST /* \_SB_.I2C5.TIDR.CHST */
16617                     Local0 &= 0x0F
16618                     If ((Local0 == 0x02))
16619                     {
16620                         Local1 = 0x02
16621                     }
16622
16623                     If ((Local0 == One))
16624                     {
16625                         Local1 = One
16626                     }
16627
16628                     If ((Local0 == 0x08))
16629                     {
16630                         Local1 = Zero
16631                     }
16632
16633                     Index (BSTP, Zero) = Local1
16634                     Index (BSTP, One) = ^^TIDR.CHGC /* \_SB_.I2C5.TIDR.CHGC */
16635                     Index (BSTP, 0x02) = ^^TIDR.RMCP /* \_SB_.I2C5.TIDR.RMCP */
16636                     Index (BSTP, 0x03) = ^^TIDR.VOLT /* \_SB_.I2C5.TIDR.VOLT */
16637                     ^^TIDR.DPCU = BCCC /* \_SB_.I2C5.TIBT.BCCC */
16638                 }
16639
16640                 Return (BSTP) /* \_SB_.I2C5.TIBT.BSTP */
16641             }
16642
16643             Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
16644             {
16645                 BTPC = Arg0
16646                 ADBG ("BTP")
16647                 ADBG (Arg0)
16648                 If ((^^TIDR.AVBL == One))
16649                 {
16650                     ^^TIDR.BTP = Arg0
16651                 }
16652             }
16653
16654             Method (_BTM, 1, NotSerialized)  // _BTM: Battery Time
16655             {
16656                 ADBG ("BTM")
16657                 If ((Arg0 > 0x7530))
16658                 {
16659                     Return (Zero)
16660                 }
16661
16662                 Return (0xFFFFFFFF)
16663             }
16664
16665             Method (_BCT, 1, NotSerialized)  // _BCT: Battery Charge Time
16666             {
16667                 ADBG ("BCT")
16668                 If (((Arg0 > 0x64) || (Arg0 < One)))
16669                 {
16670                     Return (Zero)
16671                 }
16672
16673                 Return (0xFFFFFFFF)
16674             }
16675
16676             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
16677             {
16678                 If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */))
16679                 {
16680                     If ((Arg2 == 0x02))
16681                     {
16682                         If ((Arg1 == Zero))
16683                         {
16684                             Return (Buffer (One)
16685                             {
16686                                  0x00                                             /* . */
16687                             })
16688                         }
16689                     }
16690                 }
16691
16692                 Return (Zero)
16693             }
16694
16695             Method (_STA, 0, NotSerialized)  // _STA: Status
16696             {
16697                 If ((PMID == 0x06))
16698                 {
16699                     Return (0x1F)
16700                 }
16701
16702                 Return (Zero)
16703             }
16704
16705             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
16706             {
16707                 Return (_SB) /* \_SB_ */
16708             }
16709
16710             Method (PSOC, 0, NotSerialized)
16711             {
16712                 ADBG ("PSOC")
16713                 If ((^^TIDR.AVBL == One))
16714                 {
16715                     Local1 = ^^TIDR.SOC /* \_SB_.I2C5.TIDR.SOC_ */
16716                     Return (Local1)
16717                 }
16718
16719                 Return (Zero)
16720             }
16721
16722             Method (PMAX, 0, NotSerialized)
16723             {
16724                 Return (Zero)
16725             }
16726
16727             Method (VMIN, 0, NotSerialized)
16728             {
16729                 Return (0x0DAC)
16730             }
16731
16732             Method (APWR, 0, NotSerialized)
16733             {
16734                 Return (0x0365C040)
16735             }
16736
16737             Method (NPWR, 0, NotSerialized)
16738             {
16739                 Local3 = APWR ()
16740                 Return (Zero)
16741             }
16742
16743             Method (PSRC, 0, NotSerialized)
16744             {
16745                 If ((^^TIDR.AVBL == One))
16746                 {
16747                     Local0 = ^^TIDR.STYP /* \_SB_.I2C5.TIDR.STYP */
16748                     If ((Local0 == Zero))
16749                     {
16750                         Return (Zero)
16751                     }
16752
16753                     If ((Local0 == One))
16754                     {
16755                         Return (One)
16756                     }
16757
16758                     If ((Local0 == 0x02))
16759                     {
16760                         Return (0x02)
16761                     }
16762
16763                     If ((Local0 == 0x03))
16764                     {
16765                         Return (0x03)
16766                     }
16767
16768                     If ((Local0 == 0x04))
16769                     {
16770                         Return (0x04)
16771                     }
16772
16773                     If ((Local0 == 0x05))
16774                     {
16775                         Return (0x05)
16776                     }
16777                 }
16778
16779                 Return (One)
16780             }
16781
16782             Method (CTYP, 0, NotSerialized)
16783             {
16784                 Return (0x02)
16785             }
16786
16787             Method (ARTG, 0, NotSerialized)
16788             {
16789                 Return (0x0365C040)
16790             }
16791         }
16792     }
16793 }
16794