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