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