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