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