Attachment 'acpidump.out.txt'
Download 1 /*
2 RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
3 XSDT=0x00000000aaffe210, length=36, cksum=65
4 */
5 /*
6 XSDT: Length=164, Revision=1, Checksum=87,
7 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
8 Creator ID=, Creator Revision=0x1000013
9 Entries={ 0x00000000aaffa000, 0x00000000aaffd000, 0x00000000aaffc000, 0x00000000aaffb000, 0x00000000aaff9000, 0x00000000aaff8000, 0x00000000aaff7000, 0x00000000aafec000, 0x00000000aafea000, 0x00000000aafe8000, 0x00000000aafe6000, 0x00000000aafe5000, 0x00000000aafe3000, 0x00000000aafe2000, 0x00000000aafe1000, 0x00000000aafe0000 }
10 */
11 /*
12 FACP: Length=268, Revision=5, Checksum=56,
13 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
14 Creator ID=ACPI, Creator Revision=0x40000
15 FACS=0xaafbb000, DSDT=0xaafed000
16 INT_MODEL=APIC
17 Preferred_PM_Profile=Mobile (2)
18 SCI_INT=9
19 SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0
20 PSTATE_CNT=0x80
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 GPE0_BLK=0x420-0x42f
26 CST_CNT=0x85
27 P_LVL2_LAT=101 us, P_LVL3_LAT=57 us
28 FLUSH_SIZE=1024, FLUSH_STRIDE=16
29 DUTY_OFFSET=1, DUTY_WIDTH=3
30 DAY_ALRM=13, MON_ALRM=0, CENTURY=0
31 IAPC_BOOT_ARCH={LEGACY_DEVICES,8042,NO_ASPM}
32 Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED,RESET_REGISTER,PLATFORM_CLOCK,S4_RTC_VALID,REMOTE_POWER_ON}
33 RESET_REG=0xb2:0[8] (IO), RESET_VALUE=0xfb
34 */
35 /*
36 FACS: Length=64, HwSig=0x1af650c9, Firm_Wake_Vec=0x00000000
37 Global_Lock=
38 Flags=
39 Version=2
40 */
41 /*
42 DSDT: Length=39944, Revision=1, Checksum=135,
43 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
44 Creator ID=ACPI, Creator Revision=0x40000
45 */
46 /*
47 SLIC: Length=374, Revision=1, Checksum=56,
48 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
49 Creator ID=ACPI, Creator Revision=0x40000
50 */
51 /*
52 UEFI: Length=566, Revision=1, Checksum=2,
53 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
54 Creator ID=ACPI, Creator Revision=0x40000
55 */
56 /*
57 ASF!: Length=165, Revision=32, Checksum=101,
58 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
59 Creator ID=ACPI, Creator Revision=0x40000
60 */
61 /*
62 HPET: Length=56, Revision=1, Checksum=40,
63 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
64 Creator ID=ACPI, Creator Revision=0x40000
65 HPET Number=0
66 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1
67 Comparators=2
68 Counter Size=1
69 Legacy IRQ routing capable={TRUE}
70 PCI Vendor ID=0x8086
71 Minimal Tick=128
72 Flags=0x00
73 */
74 /*
75 APIC: Length=140, Revision=3, Checksum=140,
76 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
77 Creator ID=ACPI, Creator Revision=0x40000
78 Local APIC ADDR=0xfee00000
79 Flags={PC-AT}
80
81 Type=Local APIC
82 ACPI CPU=1
83 Flags={ENABLED}
84 APIC ID=0
85
86 Type=Local APIC
87 ACPI CPU=2
88 Flags={ENABLED}
89 APIC ID=1
90
91 Type=Local APIC
92 ACPI CPU=3
93 Flags={ENABLED}
94 APIC ID=2
95
96 Type=Local APIC
97 ACPI CPU=4
98 Flags={ENABLED}
99 APIC ID=3
100
101 Type=Local APIC
102 ACPI CPU=5
103 Flags={DISABLED}
104 APIC ID=0
105
106 Type=Local APIC
107 ACPI CPU=6
108 Flags={DISABLED}
109 APIC ID=0
110
111 Type=Local APIC
112 ACPI CPU=7
113 Flags={DISABLED}
114 APIC ID=0
115
116 Type=Local APIC
117 ACPI CPU=8
118 Flags={DISABLED}
119 APIC ID=0
120
121 Type=IO APIC
122 APIC ID=0
123 INT BASE=0
124 ADDR=0x00000000fec00000
125
126 Type=INT Override
127 BUS=0
128 IRQ=0
129 INTR=2
130 Flags={Polarity=conforming, Trigger=conforming}
131
132 Type=INT Override
133 BUS=0
134 IRQ=9
135 INTR=9
136 Flags={Polarity=active-hi, Trigger=level}
137 */
138 /*
139 MCFG: Length=60, Revision=1, Checksum=0,
140 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
141 Creator ID=ACPI, Creator Revision=0x40000
142
143 Base Address=0x00000000f0000000
144 Segment Group=0x0000
145 Start Bus=0
146 End Bus=63
147 */
148 /*
149 WDAT: Length=548, Revision=1, Checksum=80,
150 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
151 Creator ID=ACPI, Creator Revision=0x40000
152 */
153 /*
154 SSDT: Length=4200, Revision=1, Checksum=34,
155 OEMID=INSYDE, OEM Table ID=CR CRB, OEM Revision=0x1000,
156 Creator ID=ACPI, Creator Revision=0x40000
157 */
158 /*
159 BOOT: Length=40, Revision=1, Checksum=232,
160 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
161 Creator ID=ACPI, Creator Revision=0x40000
162 */
163 /*
164 ASPT: Length=52, Revision=7, Checksum=22,
165 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
166 Creator ID=ACPI, Creator Revision=0x40000
167 */
168 /*
169 DBGP: Length=52, Revision=1, Checksum=42,
170 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
171 Creator ID=ACPI, Creator Revision=0x40000
172 */
173 /*
174 FPDT: Length=68, Revision=1, Checksum=85,
175 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
176 Creator ID=ACPI, Creator Revision=0x40000
177 */
178 /*
179 MSDM: Length=85, Revision=3, Checksum=254,
180 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10,
181 Creator ID=ACPI, Creator Revision=0x40000
182 */
183 /*
184 SSDT: Length=2276, Revision=1, Checksum=90,
185 OEMID=INSYDE, OEM Table ID=CR CRB, OEM Revision=0x3000,
186 Creator ID=ACPI, Creator Revision=0x40000
187 */
188 /*
189 SSDT: Length=2850, Revision=1, Checksum=244,
190 OEMID=INSYDE, OEM Table ID=CR CRB, OEM Revision=0x3000,
191 Creator ID=ACPI, Creator Revision=0x40000
192 */
193 /*
194 * Intel ACPI Component Architecture
195 * AML/ASL+ Disassembler version 20190703 (64-bit version)
196 * Copyright (c) 2000 - 2019 Intel Corporation
197 *
198 * Disassembling to symbolic ASL+ operators
199 *
200 * Disassembly of /tmp/acpidump.w2CCBj/acpdump.din, Mon Oct 21 11:35:05 2019
201 *
202 * Original Table Header:
203 * Signature "DSDT"
204 * Length 0x0000C00A (49162)
205 * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
206 * Checksum 0xBA
207 * OEM ID "LENOVO"
208 * OEM Table ID "CB-01 "
209 * OEM Revision 0x00000010 (16)
210 * Compiler ID "ACPI"
211 * Compiler Version 0x00040000 (262144)
212 */
213 DefinitionBlock ("", "DSDT", 1, "LENOVO", "CB-01 ", 0x00000010)
214 {
215 /*
216 * iASL Warning: There were 4 external control methods found during
217 * disassembly, but only 0 were resolved (4 unresolved). Additional
218 * ACPI tables may be required to properly disassemble the code. This
219 * resulting disassembler output file may not compile because the
220 * disassembler did not know how many arguments to assign to the
221 * unresolved methods. Note: SSDTs can be dynamically loaded at
222 * runtime and may or may not be available via the host OS.
223 *
224 * To specify the tables needed to resolve external control method
225 * references, the -e option can be used to specify the filenames.
226 * Example iASL invocations:
227 * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
228 * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
229 * iasl -e ssdt*.aml -d dsdt.aml
230 *
231 * In addition, the -fe option can be used to specify a file containing
232 * control method external declarations with the associated method
233 * argument counts. Each line of the file must be of the form:
234 * External (<method pathname>, MethodObj, <argument count>)
235 * Invocation:
236 * iasl -fe refs.txt -d dsdt.aml
237 *
238 * The following methods were unresolved and many not compile properly
239 * because the disassembler had to guess at the number of arguments
240 * required for each:
241 */
242 External (_SB_.PCI0.IEIT.EITV, MethodObj) // Warning: Unknown method, guessing 0 arguments
243 External (_SB_.PCI0.LPCB.H_EC.AMBT, UnknownObj)
244 External (_SB_.PCI0.LPCB.H_EC.CFSP, IntObj)
245 External (_SB_.PCI0.LPCB.H_EC.CPAP, IntObj)
246 External (_SB_.PCI0.LPCB.H_EC.CPUE, IntObj)
247 External (_SB_.PCI0.LPCB.H_EC.CPUP, IntObj)
248 External (_SB_.PCI0.LPCB.H_EC.CVRT, UnknownObj)
249 External (_SB_.PCI0.LPCB.H_EC.DIM0, UnknownObj)
250 External (_SB_.PCI0.LPCB.H_EC.DIM1, UnknownObj)
251 External (_SB_.PCI0.LPCB.H_EC.FANT, UnknownObj)
252 External (_SB_.PCI0.LPCB.H_EC.GTVR, UnknownObj)
253 External (_SB_.PCI0.LPCB.H_EC.MCAP, IntObj)
254 External (_SB_.PCI0.LPCB.H_EC.MCHP, IntObj)
255 External (_SB_.PCI0.LPCB.H_EC.MCRT, UnknownObj)
256 External (_SB_.PCI0.LPCB.H_EC.PCAD, IntObj)
257 External (_SB_.PCI0.LPCB.H_EC.PDT0, IntObj)
258 External (_SB_.PCI0.LPCB.H_EC.PDT1, IntObj)
259 External (_SB_.PCI0.LPCB.H_EC.PDT2, IntObj)
260 External (_SB_.PCI0.LPCB.H_EC.PDT3, IntObj)
261 External (_SB_.PCI0.LPCB.H_EC.PEC0, IntObj)
262 External (_SB_.PCI0.LPCB.H_EC.PEC1, IntObj)
263 External (_SB_.PCI0.LPCB.H_EC.PEC2, IntObj)
264 External (_SB_.PCI0.LPCB.H_EC.PEC3, IntObj)
265 External (_SB_.PCI0.LPCB.H_EC.PECC, IntObj)
266 External (_SB_.PCI0.LPCB.H_EC.PECD, IntObj)
267 External (_SB_.PCI0.LPCB.H_EC.PECH, UnknownObj)
268 External (_SB_.PCI0.LPCB.H_EC.PECI, IntObj)
269 External (_SB_.PCI0.LPCB.H_EC.PEHI, IntObj)
270 External (_SB_.PCI0.LPCB.H_EC.PEPL, IntObj)
271 External (_SB_.PCI0.LPCB.H_EC.PEPM, IntObj)
272 External (_SB_.PCI0.LPCB.H_EC.PEWL, IntObj)
273 External (_SB_.PCI0.LPCB.H_EC.PMAX, UnknownObj)
274 External (_SB_.PCI0.LPCB.H_EC.PMDT, UnknownObj)
275 External (_SB_.PCI0.LPCB.H_EC.PPDT, UnknownObj)
276 External (_SB_.PCI0.LPCB.H_EC.PRC0, IntObj)
277 External (_SB_.PCI0.LPCB.H_EC.PRC1, IntObj)
278 External (_SB_.PCI0.LPCB.H_EC.PRCL, IntObj)
279 External (_SB_.PCI0.LPCB.H_EC.PRCM, IntObj)
280 External (_SB_.PCI0.LPCB.H_EC.PRCS, IntObj)
281 External (_SB_.PCI0.LPCB.H_EC.PRFC, IntObj)
282 External (_SB_.PCI0.LPCB.H_EC.PRIN, IntObj)
283 External (_SB_.PCI0.LPCB.H_EC.PRS0, IntObj)
284 External (_SB_.PCI0.LPCB.H_EC.PRS1, IntObj)
285 External (_SB_.PCI0.LPCB.H_EC.PRS2, IntObj)
286 External (_SB_.PCI0.LPCB.H_EC.PRS3, IntObj)
287 External (_SB_.PCI0.LPCB.H_EC.PRS4, IntObj)
288 External (_SB_.PCI0.LPCB.H_EC.PSTE, IntObj)
289 External (_SB_.PCI0.LPCB.H_EC.PWFC, IntObj)
290 External (_SB_.PCI0.LPCB.H_EC.PWRL, IntObj)
291 External (_SB_.PCI0.LPCB.H_EC.SKNT, UnknownObj)
292 External (_SB_.PCI0.LPCB.H_EC.SYAP, UnknownObj)
293 External (_SB_.PCI0.LPCB.H_EC.SYSP, UnknownObj)
294 External (_SB_.PCI0.LPCB.H_EC.TSD0, UnknownObj)
295 External (_SB_.PCI0.LPCB.H_EC.TSD1, UnknownObj)
296 External (_SB_.PCI0.LPCB.H_EC.TSD2, UnknownObj)
297 External (_SB_.PCI0.LPCB.H_EC.TSD3, UnknownObj)
298 External (_TZ_.TZ00._TMP, IntObj)
299 External (_TZ_.TZ01._TMP, IntObj)
300 External (HDOS, MethodObj) // Warning: Unknown method, guessing 0 arguments
301 External (HNOT, MethodObj) // Warning: Unknown method, guessing 1 arguments
302 External (HWID, IntObj)
303 External (NPSS, IntObj)
304 External (TNOT, MethodObj) // Warning: Unknown method, guessing 0 arguments
305
306 Name (SS1, Zero)
307 Name (SS2, Zero)
308 Name (SS3, One)
309 Name (SS4, One)
310 Name (IOST, 0xFFFF)
311 Name (SP2O, 0x4E)
312 Name (SP1O, 0x2E)
313 Name (IO1B, 0x0600)
314 Name (IO1L, 0x70)
315 Name (IO2B, 0x0600)
316 Name (IO2L, 0x20)
317 Name (IO3B, 0x0290)
318 Name (IO3L, 0x10)
319 Name (SP3O, 0x2E)
320 Name (IO4B, 0x0A20)
321 Name (IO4L, 0x20)
322 Name (MCHB, 0xFED10000)
323 Name (MCHL, 0x8000)
324 Name (EGPB, 0xFED19000)
325 Name (EGPL, 0x1000)
326 Name (DMIB, 0xFED18000)
327 Name (DMIL, 0x1000)
328 Name (IFPB, 0xFED14000)
329 Name (IFPL, 0x1000)
330 Name (PEBS, 0xF0000000)
331 Name (PELN, 0x04000000)
332 Name (TTTB, 0xFED20000)
333 Name (TTTL, 0x00020000)
334 Name (SMBS, 0x0580)
335 Name (SMBL, 0x20)
336 Name (PBLK, 0x0410)
337 Name (PMBS, 0x0400)
338 Name (PMLN, 0x80)
339 Name (LVL2, 0x0414)
340 Name (LVL3, 0x0415)
341 Name (LVL4, 0x0416)
342 Name (SMIP, 0xB2)
343 Name (GPBS, 0x0500)
344 Name (GPLN, 0x80)
345 Name (APCB, 0xFEC00000)
346 Name (APCL, 0x1000)
347 Name (PM30, 0x0430)
348 Name (SRCB, 0xFED1C000)
349 Name (SRCL, 0x4000)
350 Name (SUSW, 0xFF)
351 Name (HPTB, 0xFED00000)
352 Name (HPTC, 0xFED1F404)
353 Name (ACPH, 0xDE)
354 Name (ASSB, Zero)
355 Name (AOTB, Zero)
356 Name (AAXB, Zero)
357 Name (ITKE, Zero)
358 Name (DSSP, Zero)
359 Name (FHPP, Zero)
360 Name (FMBL, One)
361 Name (FDTP, 0x02)
362 Name (FUPS, 0x03)
363 Name (BEL, One)
364 Name (BEH, 0x02)
365 Name (BRH, 0x03)
366 Name (BTF, 0x04)
367 Name (BYB, 0x06)
368 Name (BWB, 0x06)
369 Name (BELC, 0x09)
370 Name (BRHP, 0x0A)
371 Name (BTFC, 0x0B)
372 Name (BEHP, 0x0C)
373 Name (BELP, 0x0E)
374 Name (BTL, 0x10)
375 Name (BTFP, 0x11)
376 Name (BSR, 0x14)
377 Name (BLR, 0x18)
378 Name (BLH, 0x19)
379 Name (BCH, 0x16)
380 Name (BCC, 0x1C)
381 Name (BEF, 0x21)
382 Name (BLLE, 0x22)
383 Name (BLLC, 0x23)
384 Name (BLCA, 0x24)
385 Name (BLLS, 0x25)
386 Name (BLLP, 0x26)
387 Name (BLLD, 0x27)
388 Name (BKF, 0x28)
389 Name (BHBE, 0x30)
390 Name (BHBC, 0x31)
391 Name (BHBN, 0x32)
392 Name (BHBM, 0x33)
393 Name (TCGM, One)
394 Name (TRTP, One)
395 Name (WDTE, One)
396 Name (TRTD, 0x02)
397 Name (TRTI, 0x03)
398 Name (GCDD, One)
399 Name (DSTA, 0x0A)
400 Name (DSLO, 0x0C)
401 Name (DSLC, 0x0E)
402 Name (PITS, 0x10)
403 Name (SBCS, 0x12)
404 Name (SALS, 0x13)
405 Name (LSSS, 0x2A)
406 Name (SOOT, 0x35)
407 Name (PDBR, 0x4D)
408 Name (DPPB, 0xFED98000)
409 Name (DPPL, 0x8000)
410 OperationRegion (GNVS, SystemMemory, 0xAAFBDC98, 0x00000204)
411 Field (GNVS, AnyAcc, Lock, Preserve)
412 {
413 OSYS, 16,
414 SMIF, 8,
415 PRM0, 8,
416 PRM1, 8,
417 SCIF, 8,
418 PRM2, 8,
419 PRM3, 8,
420 LCKF, 8,
421 PRM4, 8,
422 PRM5, 8,
423 P80D, 32,
424 LIDS, 8,
425 PWRS, 8,
426 DBGS, 8,
427 THOF, 8,
428 ACT1, 8,
429 ACTT, 8,
430 PSVT, 8,
431 TC1V, 8,
432 TC2V, 8,
433 TSPV, 8,
434 CRTT, 8,
435 DTSE, 8,
436 DTS1, 8,
437 DTS2, 8,
438 DTSF, 8,
439 Offset (0x25),
440 REVN, 8,
441 RES3, 8,
442 Offset (0x28),
443 APIC, 8,
444 TCNT, 8,
445 PCP0, 8,
446 PCP1, 8,
447 PPCM, 8,
448 PPMF, 32,
449 C67L, 8,
450 NATP, 8,
451 CMAP, 8,
452 CMBP, 8,
453 LPTP, 8,
454 FDCP, 8,
455 COMA, 8,
456 COMB, 8,
457 SMSC, 8,
458 W381, 8,
459 SMC1, 8,
460 IGDS, 8,
461 TLST, 8,
462 CADL, 8,
463 PADL, 8,
464 CSTE, 16,
465 NSTE, 16,
466 SSTE, 16,
467 NDID, 8,
468 DID1, 32,
469 DID2, 32,
470 DID3, 32,
471 DID4, 32,
472 DID5, 32,
473 KSV0, 32,
474 KSV1, 8,
475 Offset (0x67),
476 BLCS, 8,
477 BRTL, 8,
478 ALSE, 8,
479 ALAF, 8,
480 LLOW, 8,
481 LHIH, 8,
482 Offset (0x6E),
483 EMAE, 8,
484 EMAP, 16,
485 EMAL, 16,
486 Offset (0x74),
487 MEFE, 8,
488 DSTS, 8,
489 Offset (0x78),
490 TPMP, 8,
491 TPME, 8,
492 MORD, 8,
493 TCGP, 8,
494 PPRP, 32,
495 PPRQ, 8,
496 LPPR, 8,
497 GTF0, 56,
498 GTF2, 56,
499 IDEM, 8,
500 GTF1, 56,
501 BID, 8,
502 PLID, 8,
503 Offset (0xAA),
504 ASLB, 32,
505 IBTT, 8,
506 IPAT, 8,
507 ITVF, 8,
508 ITVM, 8,
509 IPSC, 8,
510 IBLC, 8,
511 IBIA, 8,
512 ISSC, 8,
513 I409, 8,
514 I509, 8,
515 I609, 8,
516 I709, 8,
517 IPCF, 8,
518 IDMS, 8,
519 IF1E, 8,
520 HVCO, 8,
521 NXD1, 32,
522 NXD2, 32,
523 NXD3, 32,
524 NXD4, 32,
525 NXD5, 32,
526 NXD6, 32,
527 NXD7, 32,
528 NXD8, 32,
529 GSMI, 8,
530 PAVP, 8,
531 Offset (0xE1),
532 OSCC, 8,
533 NEXP, 8,
534 SBV1, 8,
535 SBV2, 8,
536 Offset (0xEB),
537 DSEN, 8,
538 Offset (0xED),
539 GPIC, 8,
540 CTYP, 8,
541 L01C, 8,
542 VFN0, 8,
543 VFN1, 8,
544 VFN2, 8,
545 VFN3, 8,
546 VFN4, 8,
547 VFN5, 8,
548 VFN6, 8,
549 VFN7, 8,
550 VFN8, 8,
551 VFN9, 8,
552 Offset (0x100),
553 NVGA, 32,
554 NVHA, 32,
555 AMDA, 32,
556 DID6, 32,
557 DID7, 32,
558 DID8, 32,
559 EBAS, 32,
560 CPSP, 32,
561 EECP, 32,
562 EVCP, 32,
563 XBAS, 32,
564 OBS1, 32,
565 OBS2, 32,
566 OBS3, 32,
567 OBS4, 32,
568 OBS5, 32,
569 OBS6, 32,
570 OBS7, 32,
571 OBS8, 32,
572 Offset (0x157),
573 ATMC, 8,
574 PTMC, 8,
575 ATRA, 8,
576 PTRA, 8,
577 PNHM, 32,
578 TBAB, 32,
579 TBAH, 32,
580 RTIP, 8,
581 TSOD, 8,
582 ATPC, 8,
583 PTPC, 8,
584 PFLV, 8,
585 BREV, 8,
586 SGMD, 8,
587 SGFL, 8,
588 PWOK, 8,
589 HLRS, 8,
590 DSEL, 8,
591 ESEL, 8,
592 PSEL, 8,
593 PWEN, 8,
594 PRST, 8,
595 MXD1, 32,
596 MXD2, 32,
597 MXD3, 32,
598 MXD4, 32,
599 MXD5, 32,
600 MXD6, 32,
601 MXD7, 32,
602 MXD8, 32,
603 GBAS, 16,
604 SGGP, 8,
605 Offset (0x19D),
606 ALFP, 8,
607 IMON, 8,
608 PDTS, 8,
609 PKGA, 8,
610 PAMT, 8,
611 AC0F, 8,
612 AC1F, 8,
613 DTS3, 8,
614 DTS4, 8,
615 Offset (0x1B2),
616 XHCI, 8,
617 XHPM, 8,
618 Offset (0x1B7),
619 XTUB, 32,
620 XTUS, 32,
621 XMPB, 32,
622 Offset (0x1C4),
623 LPMV, 8,
624 Offset (0x1C6),
625 DDRF, 8,
626 MM64, 8,
627 Offset (0x1CB),
628 PSKE, 8,
629 PSME, 8,
630 Offset (0x1E0),
631 CCMD, 8,
632 COMD, 8,
633 LPT1, 8,
634 PSTP, 8,
635 WKMD, 8,
636 IDER, 8,
637 PIE0, 8,
638 PIE1, 8,
639 CSTS, 8,
640 PMEE, 8,
641 WOLE, 8,
642 NVAD, 32,
643 PGVI, 32,
644 OPTF, 8,
645 IFSE, 8,
646 AOAC, 8,
647 S1C0, 16,
648 S1C1, 16,
649 S2C0, 16,
650 S2C1, 16,
651 SLPS, 8,
652 ALAT, 32,
653 TBEP, 8
654 }
655
656 OperationRegion (OGNS, SystemMemory, 0xAAFBCF98, 0x00000014)
657 Field (OGNS, AnyAcc, Lock, Preserve)
658 {
659 OG00, 8,
660 OG01, 8,
661 OG02, 8,
662 OG03, 8,
663 OG04, 8,
664 OG05, 8,
665 OG06, 8,
666 OG07, 8,
667 OG08, 8,
668 OG09, 8,
669 OG10, 8,
670 ECON, 8,
671 OWMI, 64
672 }
673
674 Scope (_SB)
675 {
676 Name (PRSA, ResourceTemplate ()
677 {
678 IRQ (Level, ActiveLow, Shared, )
679 {1,3,4,5,6,10,11,12,14,15}
680 })
681 Alias (PRSA, PRSB)
682 Alias (PRSA, PRSC)
683 Alias (PRSA, PRSD)
684 Alias (PRSA, PRSE)
685 Alias (PRSA, PRSF)
686 Alias (PRSA, PRSG)
687 Alias (PRSA, PRSH)
688 Device (PCI0)
689 {
690 Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
691 Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
692 Name (_ADR, Zero) // _ADR: Address
693 Method (^BN00, 0, NotSerialized)
694 {
695 Return (Zero)
696 }
697
698 Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number
699 {
700 Return (BN00 ())
701 }
702
703 Name (_UID, Zero) // _UID: Unique ID
704 Name (PR00, Package (0x25)
705 {
706 Package (0x04)
707 {
708 0x0014FFFF,
709 Zero,
710 LNKA,
711 Zero
712 },
713
714 Package (0x04)
715 {
716 0x0016FFFF,
717 Zero,
718 LNKA,
719 Zero
720 },
721
722 Package (0x04)
723 {
724 0x0016FFFF,
725 One,
726 LNKB,
727 Zero
728 },
729
730 Package (0x04)
731 {
732 0x0016FFFF,
733 0x02,
734 LNKC,
735 Zero
736 },
737
738 Package (0x04)
739 {
740 0x0016FFFF,
741 0x03,
742 LNKD,
743 Zero
744 },
745
746 Package (0x04)
747 {
748 0x0019FFFF,
749 Zero,
750 LNKE,
751 Zero
752 },
753
754 Package (0x04)
755 {
756 0x001AFFFF,
757 Zero,
758 LNKA,
759 Zero
760 },
761
762 Package (0x04)
763 {
764 0x001AFFFF,
765 One,
766 LNKF,
767 Zero
768 },
769
770 Package (0x04)
771 {
772 0x001AFFFF,
773 0x02,
774 LNKD,
775 Zero
776 },
777
778 Package (0x04)
779 {
780 0x001AFFFF,
781 0x03,
782 LNKC,
783 Zero
784 },
785
786 Package (0x04)
787 {
788 0x001BFFFF,
789 Zero,
790 LNKG,
791 Zero
792 },
793
794 Package (0x04)
795 {
796 0x001CFFFF,
797 Zero,
798 LNKB,
799 Zero
800 },
801
802 Package (0x04)
803 {
804 0x001CFFFF,
805 One,
806 LNKA,
807 Zero
808 },
809
810 Package (0x04)
811 {
812 0x001CFFFF,
813 0x02,
814 LNKC,
815 Zero
816 },
817
818 Package (0x04)
819 {
820 0x001CFFFF,
821 0x03,
822 LNKD,
823 Zero
824 },
825
826 Package (0x04)
827 {
828 0x001DFFFF,
829 Zero,
830 LNKH,
831 Zero
832 },
833
834 Package (0x04)
835 {
836 0x001DFFFF,
837 One,
838 LNKD,
839 Zero
840 },
841
842 Package (0x04)
843 {
844 0x001DFFFF,
845 0x02,
846 LNKC,
847 Zero
848 },
849
850 Package (0x04)
851 {
852 0x001DFFFF,
853 0x03,
854 LNKA,
855 Zero
856 },
857
858 Package (0x04)
859 {
860 0x001FFFFF,
861 Zero,
862 LNKF,
863 Zero
864 },
865
866 Package (0x04)
867 {
868 0x001FFFFF,
869 One,
870 LNKD,
871 Zero
872 },
873
874 Package (0x04)
875 {
876 0x001FFFFF,
877 0x02,
878 LNKD,
879 Zero
880 },
881
882 Package (0x04)
883 {
884 0x001FFFFF,
885 0x03,
886 LNKA,
887 Zero
888 },
889
890 Package (0x04)
891 {
892 0x0001FFFF,
893 Zero,
894 LNKA,
895 Zero
896 },
897
898 Package (0x04)
899 {
900 0x0001FFFF,
901 One,
902 LNKB,
903 Zero
904 },
905
906 Package (0x04)
907 {
908 0x0001FFFF,
909 0x02,
910 LNKC,
911 Zero
912 },
913
914 Package (0x04)
915 {
916 0x0001FFFF,
917 0x03,
918 LNKD,
919 Zero
920 },
921
922 Package (0x04)
923 {
924 0x0002FFFF,
925 Zero,
926 LNKA,
927 Zero
928 },
929
930 Package (0x04)
931 {
932 0x0004FFFF,
933 Zero,
934 LNKA,
935 Zero
936 },
937
938 Package (0x04)
939 {
940 0x0004FFFF,
941 One,
942 LNKB,
943 Zero
944 },
945
946 Package (0x04)
947 {
948 0x0004FFFF,
949 0x02,
950 LNKC,
951 Zero
952 },
953
954 Package (0x04)
955 {
956 0x0004FFFF,
957 0x03,
958 LNKD,
959 Zero
960 },
961
962 Package (0x04)
963 {
964 0x0006FFFF,
965 Zero,
966 LNKD,
967 Zero
968 },
969
970 Package (0x04)
971 {
972 0x0006FFFF,
973 One,
974 LNKA,
975 Zero
976 },
977
978 Package (0x04)
979 {
980 0x0006FFFF,
981 0x02,
982 LNKB,
983 Zero
984 },
985
986 Package (0x04)
987 {
988 0x0006FFFF,
989 0x03,
990 LNKC,
991 Zero
992 },
993
994 Package (0x04)
995 {
996 0x0018FFFF,
997 Zero,
998 LNKE,
999 Zero
1000 }
1001 })
1002 Name (AR00, Package (0x25)
1003 {
1004 Package (0x04)
1005 {
1006 0x0014FFFF,
1007 Zero,
1008 Zero,
1009 0x15
1010 },
1011
1012 Package (0x04)
1013 {
1014 0x0016FFFF,
1015 Zero,
1016 Zero,
1017 0x10
1018 },
1019
1020 Package (0x04)
1021 {
1022 0x0016FFFF,
1023 One,
1024 Zero,
1025 0x11
1026 },
1027
1028 Package (0x04)
1029 {
1030 0x0016FFFF,
1031 0x02,
1032 Zero,
1033 0x12
1034 },
1035
1036 Package (0x04)
1037 {
1038 0x0016FFFF,
1039 0x03,
1040 Zero,
1041 0x13
1042 },
1043
1044 Package (0x04)
1045 {
1046 0x0019FFFF,
1047 Zero,
1048 Zero,
1049 0x14
1050 },
1051
1052 Package (0x04)
1053 {
1054 0x001AFFFF,
1055 Zero,
1056 Zero,
1057 0x10
1058 },
1059
1060 Package (0x04)
1061 {
1062 0x001AFFFF,
1063 One,
1064 Zero,
1065 0x15
1066 },
1067
1068 Package (0x04)
1069 {
1070 0x001AFFFF,
1071 0x02,
1072 Zero,
1073 0x13
1074 },
1075
1076 Package (0x04)
1077 {
1078 0x001AFFFF,
1079 0x03,
1080 Zero,
1081 0x12
1082 },
1083
1084 Package (0x04)
1085 {
1086 0x001BFFFF,
1087 Zero,
1088 Zero,
1089 0x16
1090 },
1091
1092 Package (0x04)
1093 {
1094 0x001CFFFF,
1095 Zero,
1096 Zero,
1097 0x11
1098 },
1099
1100 Package (0x04)
1101 {
1102 0x001CFFFF,
1103 One,
1104 Zero,
1105 0x10
1106 },
1107
1108 Package (0x04)
1109 {
1110 0x001CFFFF,
1111 0x02,
1112 Zero,
1113 0x12
1114 },
1115
1116 Package (0x04)
1117 {
1118 0x001CFFFF,
1119 0x03,
1120 Zero,
1121 0x13
1122 },
1123
1124 Package (0x04)
1125 {
1126 0x001DFFFF,
1127 Zero,
1128 Zero,
1129 0x17
1130 },
1131
1132 Package (0x04)
1133 {
1134 0x001DFFFF,
1135 One,
1136 Zero,
1137 0x13
1138 },
1139
1140 Package (0x04)
1141 {
1142 0x001DFFFF,
1143 0x02,
1144 Zero,
1145 0x12
1146 },
1147
1148 Package (0x04)
1149 {
1150 0x001DFFFF,
1151 0x03,
1152 Zero,
1153 0x10
1154 },
1155
1156 Package (0x04)
1157 {
1158 0x001FFFFF,
1159 Zero,
1160 Zero,
1161 0x15
1162 },
1163
1164 Package (0x04)
1165 {
1166 0x001FFFFF,
1167 One,
1168 Zero,
1169 0x13
1170 },
1171
1172 Package (0x04)
1173 {
1174 0x001FFFFF,
1175 0x02,
1176 Zero,
1177 0x13
1178 },
1179
1180 Package (0x04)
1181 {
1182 0x001FFFFF,
1183 0x03,
1184 Zero,
1185 0x10
1186 },
1187
1188 Package (0x04)
1189 {
1190 0x0001FFFF,
1191 Zero,
1192 Zero,
1193 0x10
1194 },
1195
1196 Package (0x04)
1197 {
1198 0x0001FFFF,
1199 One,
1200 Zero,
1201 0x11
1202 },
1203
1204 Package (0x04)
1205 {
1206 0x0001FFFF,
1207 0x02,
1208 Zero,
1209 0x12
1210 },
1211
1212 Package (0x04)
1213 {
1214 0x0001FFFF,
1215 0x03,
1216 Zero,
1217 0x13
1218 },
1219
1220 Package (0x04)
1221 {
1222 0x0002FFFF,
1223 Zero,
1224 Zero,
1225 0x10
1226 },
1227
1228 Package (0x04)
1229 {
1230 0x0004FFFF,
1231 Zero,
1232 Zero,
1233 0x10
1234 },
1235
1236 Package (0x04)
1237 {
1238 0x0004FFFF,
1239 One,
1240 Zero,
1241 0x11
1242 },
1243
1244 Package (0x04)
1245 {
1246 0x0004FFFF,
1247 0x02,
1248 Zero,
1249 0x12
1250 },
1251
1252 Package (0x04)
1253 {
1254 0x0004FFFF,
1255 0x03,
1256 Zero,
1257 0x13
1258 },
1259
1260 Package (0x04)
1261 {
1262 0x0006FFFF,
1263 Zero,
1264 Zero,
1265 0x13
1266 },
1267
1268 Package (0x04)
1269 {
1270 0x0006FFFF,
1271 One,
1272 Zero,
1273 0x10
1274 },
1275
1276 Package (0x04)
1277 {
1278 0x0006FFFF,
1279 0x02,
1280 Zero,
1281 0x11
1282 },
1283
1284 Package (0x04)
1285 {
1286 0x0006FFFF,
1287 0x03,
1288 Zero,
1289 0x12
1290 },
1291
1292 Package (0x04)
1293 {
1294 0x0018FFFF,
1295 Zero,
1296 Zero,
1297 0x14
1298 }
1299 })
1300 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
1301 {
1302 If (PICM)
1303 {
1304 Return (AR00) /* \_SB_.PCI0.AR00 */
1305 }
1306
1307 Return (PR00) /* \_SB_.PCI0.PR00 */
1308 }
1309
1310 OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
1311 Field (HBUS, DWordAcc, NoLock, Preserve)
1312 {
1313 Offset (0x40),
1314 EPEN, 1,
1315 , 11,
1316 EPBR, 20,
1317 Offset (0x48),
1318 MHEN, 1,
1319 , 14,
1320 MHBR, 17,
1321 Offset (0x50),
1322 GCLK, 1,
1323 Offset (0x54),
1324 D0EN, 1,
1325 Offset (0x60),
1326 PXEN, 1,
1327 PXSZ, 2,
1328 , 23,
1329 PXBR, 6,
1330 Offset (0x68),
1331 DIEN, 1,
1332 , 11,
1333 DIBR, 20,
1334 Offset (0x70),
1335 , 20,
1336 MEBR, 12,
1337 Offset (0x80),
1338 , 4,
1339 PM0H, 2,
1340 Offset (0x81),
1341 PM1L, 2,
1342 , 2,
1343 PM1H, 2,
1344 Offset (0x82),
1345 PM2L, 2,
1346 , 2,
1347 PM2H, 2,
1348 Offset (0x83),
1349 PM3L, 2,
1350 , 2,
1351 PM3H, 2,
1352 Offset (0x84),
1353 PM4L, 2,
1354 , 2,
1355 PM4H, 2,
1356 Offset (0x85),
1357 PM5L, 2,
1358 , 2,
1359 PM5H, 2,
1360 Offset (0x86),
1361 PM6L, 2,
1362 , 2,
1363 PM6H, 2,
1364 Offset (0x87),
1365 Offset (0xA8),
1366 , 20,
1367 TUUD, 19,
1368 Offset (0xBC),
1369 , 20,
1370 TLUD, 12,
1371 Offset (0xC8),
1372 , 7,
1373 HTSE, 1
1374 }
1375
1376 OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100)
1377 Field (MCHT, ByteAcc, NoLock, Preserve)
1378 {
1379 }
1380
1381 Name (BUF0, ResourceTemplate ()
1382 {
1383 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
1384 0x0000, // Granularity
1385 0x0000, // Range Minimum
1386 0x00FF, // Range Maximum
1387 0x0000, // Translation Offset
1388 0x0100, // Length
1389 ,, _Y00)
1390 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1391 0x00000000, // Granularity
1392 0x00000000, // Range Minimum
1393 0x00000CF7, // Range Maximum
1394 0x00000000, // Translation Offset
1395 0x00000CF8, // Length
1396 ,, , TypeStatic, DenseTranslation)
1397 IO (Decode16,
1398 0x0CF8, // Range Minimum
1399 0x0CF8, // Range Maximum
1400 0x01, // Alignment
1401 0x08, // Length
1402 )
1403 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1404 0x00000000, // Granularity
1405 0x00000D00, // Range Minimum
1406 0x0000FFFF, // Range Maximum
1407 0x00000000, // Translation Offset
1408 0x0000F300, // Length
1409 ,, , TypeStatic, DenseTranslation)
1410 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1411 0x00000000, // Granularity
1412 0x000A0000, // Range Minimum
1413 0x000BFFFF, // Range Maximum
1414 0x00000000, // Translation Offset
1415 0x00020000, // Length
1416 ,, , AddressRangeMemory, TypeStatic)
1417 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1418 0x00000000, // Granularity
1419 0x000C0000, // Range Minimum
1420 0x000C3FFF, // Range Maximum
1421 0x00000000, // Translation Offset
1422 0x00004000, // Length
1423 ,, _Y01, AddressRangeMemory, TypeStatic)
1424 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1425 0x00000000, // Granularity
1426 0x000C4000, // Range Minimum
1427 0x000C7FFF, // Range Maximum
1428 0x00000000, // Translation Offset
1429 0x00004000, // Length
1430 ,, _Y02, AddressRangeMemory, TypeStatic)
1431 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1432 0x00000000, // Granularity
1433 0x000C8000, // Range Minimum
1434 0x000CBFFF, // Range Maximum
1435 0x00000000, // Translation Offset
1436 0x00004000, // Length
1437 ,, _Y03, AddressRangeMemory, TypeStatic)
1438 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1439 0x00000000, // Granularity
1440 0x000CC000, // Range Minimum
1441 0x000CFFFF, // Range Maximum
1442 0x00000000, // Translation Offset
1443 0x00004000, // Length
1444 ,, _Y04, AddressRangeMemory, TypeStatic)
1445 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1446 0x00000000, // Granularity
1447 0x000D0000, // Range Minimum
1448 0x000D3FFF, // Range Maximum
1449 0x00000000, // Translation Offset
1450 0x00004000, // Length
1451 ,, _Y05, AddressRangeMemory, TypeStatic)
1452 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1453 0x00000000, // Granularity
1454 0x000D4000, // Range Minimum
1455 0x000D7FFF, // Range Maximum
1456 0x00000000, // Translation Offset
1457 0x00004000, // Length
1458 ,, _Y06, AddressRangeMemory, TypeStatic)
1459 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1460 0x00000000, // Granularity
1461 0x000D8000, // Range Minimum
1462 0x000DBFFF, // Range Maximum
1463 0x00000000, // Translation Offset
1464 0x00004000, // Length
1465 ,, _Y07, AddressRangeMemory, TypeStatic)
1466 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1467 0x00000000, // Granularity
1468 0x000DC000, // Range Minimum
1469 0x000DFFFF, // Range Maximum
1470 0x00000000, // Translation Offset
1471 0x00004000, // Length
1472 ,, _Y08, AddressRangeMemory, TypeStatic)
1473 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1474 0x00000000, // Granularity
1475 0x000E0000, // Range Minimum
1476 0x000E3FFF, // Range Maximum
1477 0x00000000, // Translation Offset
1478 0x00004000, // Length
1479 ,, _Y09, AddressRangeMemory, TypeStatic)
1480 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1481 0x00000000, // Granularity
1482 0x000E4000, // Range Minimum
1483 0x000E7FFF, // Range Maximum
1484 0x00000000, // Translation Offset
1485 0x00004000, // Length
1486 ,, _Y0A, AddressRangeMemory, TypeStatic)
1487 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1488 0x00000000, // Granularity
1489 0x000E8000, // Range Minimum
1490 0x000EBFFF, // Range Maximum
1491 0x00000000, // Translation Offset
1492 0x00004000, // Length
1493 ,, _Y0B, AddressRangeMemory, TypeStatic)
1494 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1495 0x00000000, // Granularity
1496 0x000EC000, // Range Minimum
1497 0x000EFFFF, // Range Maximum
1498 0x00000000, // Translation Offset
1499 0x00004000, // Length
1500 ,, _Y0C, AddressRangeMemory, TypeStatic)
1501 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1502 0x00000000, // Granularity
1503 0x000F0000, // Range Minimum
1504 0x000FFFFF, // Range Maximum
1505 0x00000000, // Translation Offset
1506 0x00010000, // Length
1507 ,, _Y0D, AddressRangeMemory, TypeStatic)
1508 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1509 0x00000000, // Granularity
1510 0x00000000, // Range Minimum
1511 0xFEAFFFFF, // Range Maximum
1512 0x00000000, // Translation Offset
1513 0xFEB00000, // Length
1514 ,, _Y0E, AddressRangeMemory, TypeStatic)
1515 QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1516 0x0000000000000000, // Granularity
1517 0x0000000000010000, // Range Minimum
1518 0x000000000001FFFF, // Range Maximum
1519 0x0000000000000000, // Translation Offset
1520 0x0000000000010000, // Length
1521 ,, _Y0F, AddressRangeMemory, TypeStatic)
1522 })
1523 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
1524 {
1525 CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX) // _MAX: Maximum Base Address
1526 PBMX = ((PELN >> 0x14) - 0x02)
1527 CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN) // _LEN: Length
1528 PBLN = ((PELN >> 0x14) - One)
1529 If (PM1L)
1530 {
1531 CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN) // _LEN: Length
1532 C0LN = Zero
1533 }
1534
1535 If ((PM1L == One))
1536 {
1537 CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW) // _RW_: Read-Write Status
1538 C0RW = Zero
1539 }
1540
1541 If (PM1H)
1542 {
1543 CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN) // _LEN: Length
1544 C4LN = Zero
1545 }
1546
1547 If ((PM1H == One))
1548 {
1549 CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW) // _RW_: Read-Write Status
1550 C4RW = Zero
1551 }
1552
1553 If (PM2L)
1554 {
1555 CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN) // _LEN: Length
1556 C8LN = Zero
1557 }
1558
1559 If ((PM2L == One))
1560 {
1561 CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW) // _RW_: Read-Write Status
1562 C8RW = Zero
1563 }
1564
1565 If (PM2H)
1566 {
1567 CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN) // _LEN: Length
1568 CCLN = Zero
1569 }
1570
1571 If ((PM2H == One))
1572 {
1573 CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW) // _RW_: Read-Write Status
1574 CCRW = Zero
1575 }
1576
1577 If (PM3L)
1578 {
1579 CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN) // _LEN: Length
1580 D0LN = Zero
1581 }
1582
1583 If ((PM3L == One))
1584 {
1585 CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW) // _RW_: Read-Write Status
1586 D0RW = Zero
1587 }
1588
1589 If (PM3H)
1590 {
1591 CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN) // _LEN: Length
1592 D4LN = Zero
1593 }
1594
1595 If ((PM3H == One))
1596 {
1597 CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW) // _RW_: Read-Write Status
1598 D4RW = Zero
1599 }
1600
1601 If (PM4L)
1602 {
1603 CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN) // _LEN: Length
1604 D8LN = Zero
1605 }
1606
1607 If ((PM4L == One))
1608 {
1609 CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW) // _RW_: Read-Write Status
1610 D8RW = Zero
1611 }
1612
1613 If (PM4H)
1614 {
1615 CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN) // _LEN: Length
1616 DCLN = Zero
1617 }
1618
1619 If ((PM4H == One))
1620 {
1621 CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW) // _RW_: Read-Write Status
1622 DCRW = Zero
1623 }
1624
1625 If (PM5L)
1626 {
1627 CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN) // _LEN: Length
1628 E0LN = Zero
1629 }
1630
1631 If ((PM5L == One))
1632 {
1633 CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW) // _RW_: Read-Write Status
1634 E0RW = Zero
1635 }
1636
1637 If (PM5H)
1638 {
1639 CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN) // _LEN: Length
1640 E4LN = Zero
1641 }
1642
1643 If ((PM5H == One))
1644 {
1645 CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW) // _RW_: Read-Write Status
1646 E4RW = Zero
1647 }
1648
1649 If (PM6L)
1650 {
1651 CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN) // _LEN: Length
1652 E8LN = Zero
1653 }
1654
1655 If ((PM6L == One))
1656 {
1657 CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW) // _RW_: Read-Write Status
1658 E8RW = Zero
1659 }
1660
1661 If (PM6H)
1662 {
1663 CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN) // _LEN: Length
1664 ECLN = Zero
1665 }
1666
1667 If ((PM6H == One))
1668 {
1669 CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status
1670 ECRW = Zero
1671 }
1672
1673 If (PM0H)
1674 {
1675 CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length
1676 F0LN = Zero
1677 }
1678
1679 If ((PM0H == One))
1680 {
1681 CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW) // _RW_: Read-Write Status
1682 F0RW = Zero
1683 }
1684
1685 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN) // _MIN: Minimum Base Address
1686 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX) // _MAX: Maximum Base Address
1687 CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN) // _LEN: Length
1688 M1MN = (TLUD << 0x14)
1689 M1LN = ((M1MX - M1MN) + One)
1690 If (((MM64 == Zero) || (OSYS <= 0x07D3)))
1691 {
1692 CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN) // _LEN: Length
1693 MSLN = Zero
1694 }
1695 Else
1696 {
1697 CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN) // _LEN: Length
1698 CreateQWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN) // _MIN: Minimum Base Address
1699 CreateQWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX) // _MAX: Maximum Base Address
1700 M2LN = 0x00000000
1701 If ((TUUD >= 0x1000))
1702 {
1703 M2MN = (TUUD << 0x14)
1704 }
1705 Else
1706 {
1707 M2MN = 0x00000000
1708 }
1709
1710 M2MX = ((M2MN + M2LN) - One)
1711 }
1712
1713 Return (BUF0) /* \_SB_.PCI0.BUF0 */
1714 }
1715
1716 Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
1717 Name (SUPP, Zero)
1718 Name (CTRL, Zero)
1719 Name (XCNT, Zero)
1720 Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
1721 {
1722 Local0 = Arg3
1723 CreateDWordField (Local0, Zero, CDW1)
1724 CreateDWordField (Local0, 0x04, CDW2)
1725 CreateDWordField (Local0, 0x08, CDW3)
1726 If (^XHC.CUID (Arg0))
1727 {
1728 Return (^XHC.POSC (Arg1, Arg2, Arg3))
1729 }
1730 ElseIf (_OSI ("Windows 2012"))
1731 {
1732 If ((XCNT == Zero))
1733 {
1734 ^XHC.XSEL ()
1735 XCNT++
1736 }
1737 }
1738
1739 If (((Arg0 == GUID) && NEXP))
1740 {
1741 SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
1742 CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
1743 If (~(CDW1 & One))
1744 {
1745 If ((CTRL & One))
1746 {
1747 NHPG ()
1748 }
1749
1750 If ((CTRL & 0x04))
1751 {
1752 NPME ()
1753 }
1754 }
1755
1756 If ((Arg1 != One))
1757 {
1758 CDW1 |= 0x08
1759 }
1760
1761 If ((CDW3 != CTRL))
1762 {
1763 CDW1 |= 0x10
1764 }
1765
1766 CDW3 = CTRL /* \_SB_.PCI0.CTRL */
1767 OSCC = CTRL /* \_SB_.PCI0.CTRL */
1768 Return (Local0)
1769 }
1770 Else
1771 {
1772 CDW1 |= 0x04
1773 Return (Local0)
1774 }
1775 }
1776
1777 Device (P0P1)
1778 {
1779 Name (_ADR, 0x001E0000) // _ADR: Address
1780 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
1781 {
1782 If (PMEE)
1783 {
1784 Return (Package (0x02)
1785 {
1786 0x0B,
1787 0x04
1788 })
1789 }
1790 Else
1791 {
1792 Return (Package (0x02)
1793 {
1794 0x0B,
1795 Zero
1796 })
1797 }
1798 }
1799
1800 Name (PR04, Package (0x0C)
1801 {
1802 Package (0x04)
1803 {
1804 0xFFFF,
1805 Zero,
1806 LNKF,
1807 Zero
1808 },
1809
1810 Package (0x04)
1811 {
1812 0xFFFF,
1813 One,
1814 LNKG,
1815 Zero
1816 },
1817
1818 Package (0x04)
1819 {
1820 0xFFFF,
1821 0x02,
1822 LNKH,
1823 Zero
1824 },
1825
1826 Package (0x04)
1827 {
1828 0xFFFF,
1829 0x03,
1830 LNKE,
1831 Zero
1832 },
1833
1834 Package (0x04)
1835 {
1836 0x0001FFFF,
1837 Zero,
1838 LNKG,
1839 Zero
1840 },
1841
1842 Package (0x04)
1843 {
1844 0x0001FFFF,
1845 One,
1846 LNKF,
1847 Zero
1848 },
1849
1850 Package (0x04)
1851 {
1852 0x0001FFFF,
1853 0x02,
1854 LNKE,
1855 Zero
1856 },
1857
1858 Package (0x04)
1859 {
1860 0x0001FFFF,
1861 0x03,
1862 LNKH,
1863 Zero
1864 },
1865
1866 Package (0x04)
1867 {
1868 0x0005FFFF,
1869 Zero,
1870 LNKC,
1871 Zero
1872 },
1873
1874 Package (0x04)
1875 {
1876 0x0005FFFF,
1877 One,
1878 LNKE,
1879 Zero
1880 },
1881
1882 Package (0x04)
1883 {
1884 0x0005FFFF,
1885 0x02,
1886 LNKG,
1887 Zero
1888 },
1889
1890 Package (0x04)
1891 {
1892 0x0005FFFF,
1893 0x03,
1894 LNKF,
1895 Zero
1896 }
1897 })
1898 Name (AR04, Package (0x0C)
1899 {
1900 Package (0x04)
1901 {
1902 0xFFFF,
1903 Zero,
1904 Zero,
1905 0x15
1906 },
1907
1908 Package (0x04)
1909 {
1910 0xFFFF,
1911 One,
1912 Zero,
1913 0x16
1914 },
1915
1916 Package (0x04)
1917 {
1918 0xFFFF,
1919 0x02,
1920 Zero,
1921 0x17
1922 },
1923
1924 Package (0x04)
1925 {
1926 0xFFFF,
1927 0x03,
1928 Zero,
1929 0x14
1930 },
1931
1932 Package (0x04)
1933 {
1934 0x0001FFFF,
1935 Zero,
1936 Zero,
1937 0x16
1938 },
1939
1940 Package (0x04)
1941 {
1942 0x0001FFFF,
1943 One,
1944 Zero,
1945 0x15
1946 },
1947
1948 Package (0x04)
1949 {
1950 0x0001FFFF,
1951 0x02,
1952 Zero,
1953 0x14
1954 },
1955
1956 Package (0x04)
1957 {
1958 0x0001FFFF,
1959 0x03,
1960 Zero,
1961 0x17
1962 },
1963
1964 Package (0x04)
1965 {
1966 0x0005FFFF,
1967 Zero,
1968 Zero,
1969 0x12
1970 },
1971
1972 Package (0x04)
1973 {
1974 0x0005FFFF,
1975 One,
1976 Zero,
1977 0x14
1978 },
1979
1980 Package (0x04)
1981 {
1982 0x0005FFFF,
1983 0x02,
1984 Zero,
1985 0x16
1986 },
1987
1988 Package (0x04)
1989 {
1990 0x0005FFFF,
1991 0x03,
1992 Zero,
1993 0x15
1994 }
1995 })
1996 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
1997 {
1998 If (PICM)
1999 {
2000 Return (AR04) /* \_SB_.PCI0.P0P1.AR04 */
2001 }
2002
2003 Return (PR04) /* \_SB_.PCI0.P0P1.PR04 */
2004 }
2005 }
2006
2007 Device (LPCB)
2008 {
2009 Name (_ADR, 0x001F0000) // _ADR: Address
2010 Scope (\_SB)
2011 {
2012 OperationRegion (PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
2013 Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
2014 {
2015 Offset (0x20),
2016 PARC, 8,
2017 PBRC, 8,
2018 PCRC, 8,
2019 PDRC, 8,
2020 Offset (0x28),
2021 PERC, 8,
2022 PFRC, 8,
2023 PGRC, 8,
2024 PHRC, 8,
2025 Offset (0x6C),
2026 Offset (0x6D),
2027 Offset (0x6E),
2028 XUSB, 1
2029 }
2030
2031 Device (LNKA)
2032 {
2033 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2034 Name (_UID, One) // _UID: Unique ID
2035 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2036 {
2037 PARC |= 0x80
2038 }
2039
2040 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2041 {
2042 Return (PRSA) /* \_SB_.PRSA */
2043 }
2044
2045 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2046 {
2047 Name (RTLA, ResourceTemplate ()
2048 {
2049 IRQ (Level, ActiveLow, Shared, )
2050 {}
2051 })
2052 CreateWordField (RTLA, One, IRQ0)
2053 IRQ0 = Zero
2054 IRQ0 = (One << (PARC & 0x0F))
2055 Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
2056 }
2057
2058 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2059 {
2060 CreateWordField (Arg0, One, IRQ0)
2061 FindSetRightBit (IRQ0, Local0)
2062 Local0--
2063 PARC = Local0
2064 }
2065
2066 Method (_STA, 0, Serialized) // _STA: Status
2067 {
2068 If ((PARC & 0x80))
2069 {
2070 Return (0x09)
2071 }
2072 Else
2073 {
2074 Return (0x0B)
2075 }
2076 }
2077 }
2078
2079 Device (LNKB)
2080 {
2081 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2082 Name (_UID, 0x02) // _UID: Unique ID
2083 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2084 {
2085 PBRC |= 0x80
2086 }
2087
2088 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2089 {
2090 Return (PRSB) /* \_SB_.PRSB */
2091 }
2092
2093 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2094 {
2095 Name (RTLB, ResourceTemplate ()
2096 {
2097 IRQ (Level, ActiveLow, Shared, )
2098 {}
2099 })
2100 CreateWordField (RTLB, One, IRQ0)
2101 IRQ0 = Zero
2102 IRQ0 = (One << (PBRC & 0x0F))
2103 Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
2104 }
2105
2106 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2107 {
2108 CreateWordField (Arg0, One, IRQ0)
2109 FindSetRightBit (IRQ0, Local0)
2110 Local0--
2111 PBRC = Local0
2112 }
2113
2114 Method (_STA, 0, Serialized) // _STA: Status
2115 {
2116 If ((PBRC & 0x80))
2117 {
2118 Return (0x09)
2119 }
2120 Else
2121 {
2122 Return (0x0B)
2123 }
2124 }
2125 }
2126
2127 Device (LNKC)
2128 {
2129 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2130 Name (_UID, 0x03) // _UID: Unique ID
2131 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2132 {
2133 PCRC |= 0x80
2134 }
2135
2136 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2137 {
2138 Return (PRSC) /* \_SB_.PRSC */
2139 }
2140
2141 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2142 {
2143 Name (RTLC, ResourceTemplate ()
2144 {
2145 IRQ (Level, ActiveLow, Shared, )
2146 {}
2147 })
2148 CreateWordField (RTLC, One, IRQ0)
2149 IRQ0 = Zero
2150 IRQ0 = (One << (PCRC & 0x0F))
2151 Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
2152 }
2153
2154 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2155 {
2156 CreateWordField (Arg0, One, IRQ0)
2157 FindSetRightBit (IRQ0, Local0)
2158 Local0--
2159 PCRC = Local0
2160 }
2161
2162 Method (_STA, 0, Serialized) // _STA: Status
2163 {
2164 If ((PCRC & 0x80))
2165 {
2166 Return (0x09)
2167 }
2168 Else
2169 {
2170 Return (0x0B)
2171 }
2172 }
2173 }
2174
2175 Device (LNKD)
2176 {
2177 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2178 Name (_UID, 0x04) // _UID: Unique ID
2179 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2180 {
2181 PDRC |= 0x80
2182 }
2183
2184 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2185 {
2186 Return (PRSD) /* \_SB_.PRSD */
2187 }
2188
2189 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2190 {
2191 Name (RTLD, ResourceTemplate ()
2192 {
2193 IRQ (Level, ActiveLow, Shared, )
2194 {}
2195 })
2196 CreateWordField (RTLD, One, IRQ0)
2197 IRQ0 = Zero
2198 IRQ0 = (One << (PDRC & 0x0F))
2199 Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
2200 }
2201
2202 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2203 {
2204 CreateWordField (Arg0, One, IRQ0)
2205 FindSetRightBit (IRQ0, Local0)
2206 Local0--
2207 PDRC = Local0
2208 }
2209
2210 Method (_STA, 0, Serialized) // _STA: Status
2211 {
2212 If ((PDRC & 0x80))
2213 {
2214 Return (0x09)
2215 }
2216 Else
2217 {
2218 Return (0x0B)
2219 }
2220 }
2221 }
2222
2223 Device (LNKE)
2224 {
2225 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2226 Name (_UID, 0x05) // _UID: Unique ID
2227 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2228 {
2229 PERC |= 0x80
2230 }
2231
2232 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2233 {
2234 Return (PRSE) /* \_SB_.PRSE */
2235 }
2236
2237 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2238 {
2239 Name (RTLE, ResourceTemplate ()
2240 {
2241 IRQ (Level, ActiveLow, Shared, )
2242 {}
2243 })
2244 CreateWordField (RTLE, One, IRQ0)
2245 IRQ0 = Zero
2246 IRQ0 = (One << (PERC & 0x0F))
2247 Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
2248 }
2249
2250 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2251 {
2252 CreateWordField (Arg0, One, IRQ0)
2253 FindSetRightBit (IRQ0, Local0)
2254 Local0--
2255 PERC = Local0
2256 }
2257
2258 Method (_STA, 0, Serialized) // _STA: Status
2259 {
2260 If ((PERC & 0x80))
2261 {
2262 Return (0x09)
2263 }
2264 Else
2265 {
2266 Return (0x0B)
2267 }
2268 }
2269 }
2270
2271 Device (LNKF)
2272 {
2273 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2274 Name (_UID, 0x06) // _UID: Unique ID
2275 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2276 {
2277 PFRC |= 0x80
2278 }
2279
2280 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2281 {
2282 Return (PRSF) /* \_SB_.PRSF */
2283 }
2284
2285 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2286 {
2287 Name (RTLF, ResourceTemplate ()
2288 {
2289 IRQ (Level, ActiveLow, Shared, )
2290 {}
2291 })
2292 CreateWordField (RTLF, One, IRQ0)
2293 IRQ0 = Zero
2294 IRQ0 = (One << (PFRC & 0x0F))
2295 Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
2296 }
2297
2298 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2299 {
2300 CreateWordField (Arg0, One, IRQ0)
2301 FindSetRightBit (IRQ0, Local0)
2302 Local0--
2303 PFRC = Local0
2304 }
2305
2306 Method (_STA, 0, Serialized) // _STA: Status
2307 {
2308 If ((PFRC & 0x80))
2309 {
2310 Return (0x09)
2311 }
2312 Else
2313 {
2314 Return (0x0B)
2315 }
2316 }
2317 }
2318
2319 Device (LNKG)
2320 {
2321 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2322 Name (_UID, 0x07) // _UID: Unique ID
2323 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2324 {
2325 PGRC |= 0x80
2326 }
2327
2328 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2329 {
2330 Return (PRSG) /* \_SB_.PRSG */
2331 }
2332
2333 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2334 {
2335 Name (RTLG, ResourceTemplate ()
2336 {
2337 IRQ (Level, ActiveLow, Shared, )
2338 {}
2339 })
2340 CreateWordField (RTLG, One, IRQ0)
2341 IRQ0 = Zero
2342 IRQ0 = (One << (PGRC & 0x0F))
2343 Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
2344 }
2345
2346 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2347 {
2348 CreateWordField (Arg0, One, IRQ0)
2349 FindSetRightBit (IRQ0, Local0)
2350 Local0--
2351 PGRC = Local0
2352 }
2353
2354 Method (_STA, 0, Serialized) // _STA: Status
2355 {
2356 If ((PGRC & 0x80))
2357 {
2358 Return (0x09)
2359 }
2360 Else
2361 {
2362 Return (0x0B)
2363 }
2364 }
2365 }
2366
2367 Device (LNKH)
2368 {
2369 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2370 Name (_UID, 0x08) // _UID: Unique ID
2371 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2372 {
2373 PHRC |= 0x80
2374 }
2375
2376 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2377 {
2378 Return (PRSH) /* \_SB_.PRSH */
2379 }
2380
2381 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2382 {
2383 Name (RTLH, ResourceTemplate ()
2384 {
2385 IRQ (Level, ActiveLow, Shared, )
2386 {}
2387 })
2388 CreateWordField (RTLH, One, IRQ0)
2389 IRQ0 = Zero
2390 IRQ0 = (One << (PHRC & 0x0F))
2391 Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
2392 }
2393
2394 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2395 {
2396 CreateWordField (Arg0, One, IRQ0)
2397 FindSetRightBit (IRQ0, Local0)
2398 Local0--
2399 PHRC = Local0
2400 }
2401
2402 Method (_STA, 0, Serialized) // _STA: Status
2403 {
2404 If ((PHRC & 0x80))
2405 {
2406 Return (0x09)
2407 }
2408 Else
2409 {
2410 Return (0x0B)
2411 }
2412 }
2413 }
2414 }
2415
2416 OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
2417 Field (LPC0, AnyAcc, NoLock, Preserve)
2418 {
2419 Offset (0x40),
2420 IOD0, 8,
2421 IOD1, 8,
2422 Offset (0xB0),
2423 RAEN, 1,
2424 , 13,
2425 RCBA, 18
2426 }
2427
2428 Mutex (\MUEC, 0x00)
2429 Name (\LIDF, One)
2430 Name (\BWRN, 0x0A)
2431 Name (\BLOW, 0x05)
2432 Name (\BCRT, Zero)
2433 Name (\MIEC, One)
2434 Name (\OSVR, Zero)
2435 Method (MCTH, 2, NotSerialized)
2436 {
2437 If ((SizeOf (Arg0) < SizeOf (Arg1)))
2438 {
2439 Return (Zero)
2440 }
2441
2442 Local0 = (SizeOf (Arg0) + One)
2443 Name (BUF0, Buffer (Local0){})
2444 Name (BUF1, Buffer (Local0){})
2445 BUF0 = Arg0
2446 BUF1 = Arg1
2447 While (Local0)
2448 {
2449 Local0--
2450 If ((DerefOf (BUF0 [Local0]) != DerefOf (BUF1 [Local0]
2451 )))
2452 {
2453 Return (Zero)
2454 }
2455 }
2456
2457 Return (One)
2458 }
2459
2460 Scope (\)
2461 {
2462 OperationRegion (ECMS, SystemIO, 0x72, 0x02)
2463 Field (ECMS, ByteAcc, Lock, Preserve)
2464 {
2465 EIND, 8,
2466 EDAT, 8
2467 }
2468
2469 IndexField (EIND, EDAT, ByteAcc, NoLock, Preserve)
2470 {
2471 }
2472 }
2473
2474 Device (H_EC)
2475 {
2476 Name (_GPE, 0x17) // _GPE: General Purpose Events
2477 Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
2478 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2479 {
2480 IO (Decode16,
2481 0x0062, // Range Minimum
2482 0x0062, // Range Maximum
2483 0x00, // Alignment
2484 0x01, // Length
2485 )
2486 IO (Decode16,
2487 0x0066, // Range Minimum
2488 0x0066, // Range Maximum
2489 0x00, // Alignment
2490 0x01, // Length
2491 )
2492 })
2493 Method (_REG, 2, NotSerialized) // _REG: Region Availability
2494 {
2495 If ((Arg0 == 0x03))
2496 {
2497 ECON = Arg1
2498 IPPC = \_PR.CPPC
2499 If ((Arg1 == One))
2500 {
2501 If (((LSTE && One) == Zero))
2502 {
2503 LIDS = One
2504 }
2505 Else
2506 {
2507 LIDS = Zero
2508 }
2509 }
2510
2511 PWRS = ACS /* \_SB_.PCI0.LPCB.H_EC.ACS_ */
2512 Sleep (One)
2513 PNOT ()
2514 }
2515
2516 If (CondRefOf (\_OSI, Local0))
2517 {
2518 If (_OSI ("FreeBSD"))
2519 {
2520 OSVR = 0x06
2521 }
2522
2523 If (_OSI ("HP-UX"))
2524 {
2525 OSVR = 0x07
2526 }
2527
2528 If (_OSI ("OpenVMS"))
2529 {
2530 OSVR = 0x08
2531 }
2532
2533 If (_OSI ("Windows 2001"))
2534 {
2535 OSVR = 0x04
2536 }
2537
2538 If (_OSI ("Windows 2001 SP2"))
2539 {
2540 OSVR = 0x04
2541 }
2542
2543 If (_OSI ("Windows 2001 SP3"))
2544 {
2545 OSVR = 0x04
2546 }
2547
2548 If (_OSI ("Windows 2001.1"))
2549 {
2550 OSVR = 0x05
2551 }
2552
2553 If (_OSI ("Windows 2001.1 SP1"))
2554 {
2555 OSVR = 0x05
2556 }
2557
2558 If (_OSI ("Windows 2006"))
2559 {
2560 OSVR = 0x0C
2561 }
2562
2563 If (_OSI ("Windows 2006 SP1"))
2564 {
2565 OSVR = 0x0D
2566 }
2567
2568 If (_OSI ("Windows 2006.1"))
2569 {
2570 OSVR = 0x11
2571 }
2572
2573 If (_OSI ("Windows 2009"))
2574 {
2575 OSVR = 0x0E
2576 }
2577
2578 If (_OSI ("Windows 2009 SP1"))
2579 {
2580 OSVR = 0x0E
2581 }
2582
2583 If (_OSI ("Windows 2012"))
2584 {
2585 OSVR = 0x10
2586 }
2587
2588 If (_OSI ("Linux"))
2589 {
2590 OSVR = 0x03
2591 }
2592 }
2593 Else
2594 {
2595 If (MCTH (_OS, "Microsoft Windows NT"))
2596 {
2597 OSVR = 0x0F
2598 }
2599
2600 If (MCTH (_OS, "Microsoft Windows"))
2601 {
2602 OSVR = One
2603 }
2604
2605 If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
2606 {
2607 OSVR = 0x02
2608 }
2609
2610 If (MCTH (_OS, "FreeBSD"))
2611 {
2612 OSVR = 0x06
2613 }
2614
2615 If (MCTH (_OS, "HP-UX"))
2616 {
2617 OSVR = 0x07
2618 }
2619
2620 If (MCTH (_OS, "OpenVMS"))
2621 {
2622 OSVR = 0x08
2623 }
2624
2625 If (MCTH (_OS, "Linux"))
2626 {
2627 OSVR = 0x03
2628 }
2629 }
2630
2631 OSVN = OSVR /* \OSVR */
2632 }
2633
2634 Method (ECAV, 0, NotSerialized)
2635 {
2636 If ((ECON == One))
2637 {
2638 Return (One)
2639 }
2640 Else
2641 {
2642 Return (Zero)
2643 }
2644 }
2645
2646 OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF)
2647 Field (ECRM, ByteAcc, NoLock, Preserve)
2648 {
2649 VCMD, 8,
2650 VDAT, 8,
2651 VSTA, 8,
2652 Offset (0x06),
2653 BSNV, 8,
2654 Offset (0x08),
2655 BCST, 8,
2656 BCSP, 8,
2657 Offset (0x1E),
2658 BTP1, 16,
2659 B1RD, 1,
2660 B1FU, 1,
2661 B1LO, 1,
2662 B1CL, 1,
2663 , 2,
2664 B1TW, 1,
2665 B1NG, 1,
2666 B1PC, 8,
2667 B1ST, 16,
2668 B1FC, 16,
2669 B1RM, 16,
2670 B1TP, 16,
2671 B1VT, 16,
2672 B1CR, 16,
2673 B1FG, 16,
2674 Offset (0x38),
2675 , 1,
2676 BTPF, 1,
2677 Offset (0x3B),
2678 CUBL, 8,
2679 B1SS, 8,
2680 Offset (0x3E),
2681 IPPC, 8,
2682 Offset (0x40),
2683 Offset (0x41),
2684 BTEX, 1,
2685 W3GE, 1,
2686 WLEX, 1,
2687 CMEX, 1,
2688 , 1,
2689 APFG, 1,
2690 PCBP, 1,
2691 PTED, 1,
2692 OSVN, 8,
2693 Offset (0x44),
2694 Offset (0x45),
2695 , 1,
2696 , 1,
2697 , 1,
2698 Offset (0x46),
2699 Offset (0x47),
2700 Offset (0x48),
2701 ACS, 1,
2702 BT1S, 1,
2703 BT2S, 1,
2704 Offset (0x49),
2705 EDCC, 1,
2706 ALSC, 1,
2707 CDMB, 1,
2708 CCSB, 1,
2709 BTSM, 1,
2710 BTCM, 1,
2711 LBTM, 1,
2712 CSBM, 1,
2713 HYMS, 1,
2714 HDME, 1,
2715 HGMF, 1,
2716 SWCS, 1,
2717 CREC, 1,
2718 DCRC, 1,
2719 ALSS, 1,
2720 Offset (0x4B),
2721 IPEN, 1,
2722 MBBD, 1,
2723 SBBD, 1,
2724 Offset (0x4C),
2725 EDCF, 1,
2726 BTCF, 1,
2727 HSMG, 1,
2728 O72H, 1,
2729 BLEG, 1,
2730 BTMF, 1,
2731 ATOM, 1,
2732 Offset (0x4D),
2733 Offset (0x4E),
2734 LSTE, 1,
2735 Offset (0x4F),
2736 SLPT, 8,
2737 ECMD, 8,
2738 EDA1, 8,
2739 EDA2, 8,
2740 EDA3, 8,
2741 EDA4, 8,
2742 EDA5, 8,
2743 Offset (0x5D),
2744 BFUE, 8,
2745 Offset (0x60),
2746 SPTC, 8,
2747 SSTS, 8,
2748 SADR, 8,
2749 SCMD, 8,
2750 SDAT, 16,
2751 SDA2, 16,
2752 SDA4, 32,
2753 SDA5, 32,
2754 SDA6, 32,
2755 SDA7, 32,
2756 SDA8, 32,
2757 SDA9, 32,
2758 SDAA, 32,
2759 SBCT, 8,
2760 SALA, 8,
2761 SAD0, 8,
2762 SAD1, 8,
2763 FNCM, 8,
2764 FN0S, 16,
2765 FN1S, 16,
2766 FN2S, 16,
2767 CPUT, 8,
2768 GPUT, 8,
2769 PCHT, 8,
2770 DRMT, 8,
2771 SYST, 8,
2772 CLOW, 8,
2773 CMID, 8,
2774 CHIH, 8,
2775 GLOW, 8,
2776 GMID, 8,
2777 GHIH, 8,
2778 PLOW, 8,
2779 PMID, 8,
2780 PHIH, 8,
2781 DLOW, 8,
2782 DMID, 8,
2783 DHIH, 8,
2784 SLOW, 8,
2785 SMID, 8,
2786 SHIH, 8,
2787 Offset (0xE0),
2788 DBG1, 8,
2789 DBG2, 8
2790 }
2791
2792 Device (BAT1)
2793 {
2794 Name (BTDC, 0x098A)
2795 Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
2796 Name (_UID, Zero) // _UID: Unique ID
2797 Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
2798 {
2799 Return (_SB) /* \_SB_ */
2800 }
2801
2802 Method (_STA, 0, NotSerialized) // _STA: Status
2803 {
2804 Local0 = 0x0F
2805 If (ECAV ())
2806 {
2807 If ((Acquire (MUEC, 0xA000) == Zero))
2808 {
2809 If (MIEC)
2810 {
2811 If (BT1S)
2812 {
2813 Local0 = 0x1F
2814 }
2815
2816 Sleep (One)
2817 }
2818
2819 Release (MUEC)
2820 }
2821 }
2822
2823 Return (Local0)
2824 }
2825
2826 Name (BIF1, Package (0x0D)
2827 {
2828 Zero,
2829 Ones,
2830 Ones,
2831 One,
2832 0x2A30,
2833 Ones,
2834 Ones,
2835 0x10,
2836 0x20,
2837 "OEM Battery 1",
2838 "000000",
2839 "LiIon ",
2840 "SMP "
2841 })
2842 Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
2843 {
2844 If (ECAV ())
2845 {
2846 HSMG = One
2847 If ((Acquire (MUEC, 0xA000) == Zero))
2848 {
2849 If (MIEC)
2850 {
2851 If (B1RD)
2852 {
2853 BIF1 [0x02] = (B1FC * 0x0A)
2854 Local0 = B1FC /* \_SB_.PCI0.LPCB.H_EC.B1FC */
2855 Local0 *= BWRN /* \BWRN */
2856 Divide (Local0, 0x64, Local1, Local2)
2857 BIF1 [0x05] = (Local2 * 0x0A)
2858 Local0 = B1FC /* \_SB_.PCI0.LPCB.H_EC.B1FC */
2859 Local0 *= BLOW /* \BLOW */
2860 Divide (Local0, 0x64, Local1, Local2)
2861 BIF1 [0x06] = (Local2 * 0x0A)
2862 SSTS = Zero
2863 SCMD = 0x21
2864 SADR = 0x16
2865 SPTC = 0x0B
2866 Local0 = 0x32
2867 While (Local0)
2868 {
2869 Sleep (0x02)
2870 If ((SPTC == Zero))
2871 {
2872 BIF1 [0x09] = SM2S ()
2873 Local0 = Zero
2874 }
2875 Else
2876 {
2877 Local0--
2878 }
2879 }
2880
2881 SSTS = Zero
2882 SCMD = 0x20
2883 SADR = 0x16
2884 SPTC = 0x0B
2885 Local0 = 0x32
2886 While (Local0)
2887 {
2888 Sleep (0x02)
2889 If ((SPTC == Zero))
2890 {
2891 BIF1 [0x0C] = SM2S ()
2892 Local0 = Zero
2893 }
2894 Else
2895 {
2896 Local0--
2897 }
2898 }
2899
2900 SSTS = Zero
2901 SCMD = 0x1C
2902 SADR = 0x16
2903 SPTC = 0x09
2904 Local0 = 0x32
2905 While (Local0)
2906 {
2907 Sleep (0x02)
2908 If ((SPTC == Zero))
2909 {
2910 BIF1 [0x0A] = DC2S (SDAT)
2911 Local0 = Zero
2912 }
2913 Else
2914 {
2915 Local0--
2916 }
2917 }
2918
2919 SSTS = Zero
2920 SCMD = 0x18
2921 SADR = 0x16
2922 SPTC = 0x09
2923 Local0 = 0x32
2924 While (Local0)
2925 {
2926 Sleep (0x02)
2927 If ((SPTC == Zero))
2928 {
2929 BIF1 [One] = (SDAT * 0x0A)
2930 BTDC = (SDAT * 0x0A)
2931 Local0 = Zero
2932 }
2933 Else
2934 {
2935 Local0--
2936 }
2937 }
2938 }
2939 }
2940
2941 Release (MUEC)
2942 }
2943
2944 HSMG = Zero
2945 }
2946
2947 Return (BIF1) /* \_SB_.PCI0.LPCB.H_EC.BAT1.BIF1 */
2948 }
2949
2950 Name (BIX1, Package (0x14)
2951 {
2952 Zero,
2953 Zero,
2954 Ones,
2955 Ones,
2956 One,
2957 0x2A30,
2958 Ones,
2959 Ones,
2960 0x10,
2961 0x20,
2962 Ones,
2963 0x00017700,
2964 0xEA60,
2965 0x1388,
2966 0x07D0,
2967 0x01F4,
2968 "OEM Battery 1",
2969 "000000",
2970 "LiIon ",
2971 "SMP "
2972 })
2973 Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
2974 {
2975 If (ECAV ())
2976 {
2977 HSMG = One
2978 If ((Acquire (MUEC, 0xA000) == Zero))
2979 {
2980 If (MIEC)
2981 {
2982 If (B1RD)
2983 {
2984 BIX1 [0x03] = (B1FC * 0x0A)
2985 Local0 = B1FC /* \_SB_.PCI0.LPCB.H_EC.B1FC */
2986 Local0 *= BWRN /* \BWRN */
2987 Divide (Local0, 0x64, Local1, Local2)
2988 BIX1 [0x06] = (Local2 * 0x0A)
2989 Local0 = B1FC /* \_SB_.PCI0.LPCB.H_EC.B1FC */
2990 Local0 *= BLOW /* \BLOW */
2991 Divide (Local0, 0x64, Local1, Local2)
2992 BIX1 [0x07] = (Local2 * 0x0A)
2993 SSTS = Zero
2994 SCMD = 0x21
2995 SADR = 0x16
2996 SPTC = 0x0B
2997 Local0 = 0x32
2998 While (Local0)
2999 {
3000 Sleep (0x02)
3001 If ((SPTC == Zero))
3002 {
3003 BIX1 [0x10] = SM2S ()
3004 Local0 = Zero
3005 }
3006 Else
3007 {
3008 Local0--
3009 }
3010 }
3011
3012 SSTS = Zero
3013 SCMD = 0x20
3014 SADR = 0x16
3015 SPTC = 0x0B
3016 Local0 = 0x32
3017 While (Local0)
3018 {
3019 Sleep (0x02)
3020 If ((SPTC == Zero))
3021 {
3022 BIX1 [0x13] = SM2S ()
3023 Local0 = Zero
3024 }
3025 Else
3026 {
3027 Local0--
3028 }
3029 }
3030
3031 SSTS = Zero
3032 SCMD = 0x1C
3033 SADR = 0x16
3034 SPTC = 0x09
3035 Local0 = 0x32
3036 While (Local0)
3037 {
3038 Sleep (0x02)
3039 If ((SPTC == Zero))
3040 {
3041 BIX1 [0x11] = DC2S (SDAT)
3042 Local0 = Zero
3043 }
3044 Else
3045 {
3046 Local0--
3047 }
3048 }
3049
3050 SSTS = Zero
3051 SCMD = 0x18
3052 SADR = 0x16
3053 SPTC = 0x09
3054 Local0 = 0x32
3055 While (Local0)
3056 {
3057 Sleep (0x02)
3058 If ((SPTC == Zero))
3059 {
3060 BIX1 [0x02] = (SDAT * 0x0A)
3061 BTDC = (SDAT * 0x0A)
3062 Local0 = Zero
3063 }
3064 Else
3065 {
3066 Local0--
3067 }
3068 }
3069
3070 SSTS = Zero
3071 SCMD = 0x17
3072 SADR = 0x16
3073 SPTC = 0x09
3074 Local0 = 0x32
3075 While (Local0)
3076 {
3077 Sleep (0x02)
3078 If ((SPTC == Zero))
3079 {
3080 BIX1 [0x0A] = SDAT /* \_SB_.PCI0.LPCB.H_EC.SDAT */
3081 Local0 = Zero
3082 }
3083 Else
3084 {
3085 Local0--
3086 }
3087 }
3088 }
3089 }
3090
3091 Release (MUEC)
3092 }
3093
3094 HSMG = Zero
3095 }
3096
3097 Return (BIX1) /* \_SB_.PCI0.LPCB.H_EC.BAT1.BIX1 */
3098 }
3099
3100 Method (_DSM, 3, Serialized) // _DSM: Device-Specific Method
3101 {
3102 If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */))
3103 {
3104 If ((Arg2 == One))
3105 {
3106 Return (0x64)
3107 }
3108
3109 If ((Arg2 == 0x02))
3110 {
3111 Return (One)
3112 }
3113
3114 If ((Arg2 == 0x03))
3115 {
3116 Return (0x20)
3117 }
3118 }
3119 }
3120
3121 Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
3122 {
3123 If (ECAV ())
3124 {
3125 If ((Acquire (MUEC, 0xA000) == Zero))
3126 {
3127 BTP1 = (Arg0 / 0x0A)
3128 }
3129 }
3130 }
3131
3132 Name (BST1, Package (0x04)
3133 {
3134 Zero,
3135 Zero,
3136 Zero,
3137 Zero
3138 })
3139 Method (_BST, 0, NotSerialized) // _BST: Battery Status
3140 {
3141 If (ECAV ())
3142 {
3143 If ((Acquire (MUEC, 0xA000) == Zero))
3144 {
3145 If (MIEC)
3146 {
3147 If (B1RD)
3148 {
3149 Local0 = (B1SS & 0x03)
3150 If ((B1PC <= BCRT))
3151 {
3152 Local0 |= 0x04
3153 }
3154
3155 BST1 [Zero] = Local0
3156 If (((B1CR & 0x8000) == 0x8000))
3157 {
3158 Local0 = (~B1CR + One)
3159 }
3160 Else
3161 {
3162 Local0 = B1CR /* \_SB_.PCI0.LPCB.H_EC.B1CR */
3163 }
3164
3165 Local0 &= 0xFFFF
3166 BST1 [One] = (Local0 * 0x0A)
3167 BST1 [0x02] = (B1RM * 0x0A)
3168 BST1 [0x03] = B1VT /* \_SB_.PCI0.LPCB.H_EC.B1VT */
3169 }
3170 }
3171
3172 Release (MUEC)
3173 }
3174 }
3175
3176 Return (BST1) /* \_SB_.PCI0.LPCB.H_EC.BAT1.BST1 */
3177 }
3178 }
3179
3180 Method (\SM2S, 0, NotSerialized)
3181 {
3182 Name (CHAR, Zero)
3183 Name (STR1, Buffer (0x25)
3184 {
3185 "0000000000 "
3186 })
3187 CHAR = \_SB.PCI0.LPCB.H_EC.SDAT
3188 STR1 [Zero] = CHAR /* \SM2S.CHAR */
3189 STR1 [One] = (CHAR >> 0x08)
3190 CHAR = \_SB.PCI0.LPCB.H_EC.SDA2
3191 STR1 [0x02] = CHAR /* \SM2S.CHAR */
3192 STR1 [0x03] = (CHAR >> 0x08)
3193 CHAR = \_SB.PCI0.LPCB.H_EC.SDA4
3194 STR1 [0x04] = (CHAR >> Zero)
3195 STR1 [0x05] = (CHAR >> 0x08)
3196 STR1 [0x06] = (CHAR >> 0x10)
3197 STR1 [0x07] = (CHAR >> 0x18)
3198 CHAR = \_SB.PCI0.LPCB.H_EC.SDA5
3199 STR1 [0x08] = (CHAR >> Zero)
3200 STR1 [0x09] = (CHAR >> 0x08)
3201 STR1 [0x0A] = (CHAR >> 0x10)
3202 STR1 [0x0B] = (CHAR >> 0x18)
3203 CHAR = \_SB.PCI0.LPCB.H_EC.SDA6
3204 STR1 [0x0C] = (CHAR >> Zero)
3205 STR1 [0x0D] = (CHAR >> 0x08)
3206 STR1 [0x0E] = (CHAR >> 0x10)
3207 STR1 [0x0F] = (CHAR >> 0x18)
3208 CHAR = \_SB.PCI0.LPCB.H_EC.SDA7
3209 STR1 [0x10] = (CHAR >> Zero)
3210 STR1 [0x11] = (CHAR >> 0x08)
3211 STR1 [0x12] = (CHAR >> 0x10)
3212 STR1 [0x13] = (CHAR >> 0x18)
3213 CHAR = \_SB.PCI0.LPCB.H_EC.SDA8
3214 STR1 [0x14] = (CHAR >> Zero)
3215 STR1 [0x15] = (CHAR >> 0x08)
3216 STR1 [0x16] = (CHAR >> 0x10)
3217 STR1 [0x17] = (CHAR >> 0x18)
3218 CHAR = \_SB.PCI0.LPCB.H_EC.SDA9
3219 STR1 [0x18] = (CHAR >> Zero)
3220 STR1 [0x19] = (CHAR >> 0x08)
3221 STR1 [0x1A] = (CHAR >> 0x10)
3222 STR1 [0x1B] = (CHAR >> 0x18)
3223 CHAR = \_SB.PCI0.LPCB.H_EC.SDAA
3224 STR1 [0x1C] = (CHAR >> Zero)
3225 STR1 [0x1D] = (CHAR >> 0x08)
3226 STR1 [0x1E] = (CHAR >> 0x10)
3227 STR1 [0x1F] = (CHAR >> 0x18)
3228 STR1 [\_SB.PCI0.LPCB.H_EC.SBCT] = Zero
3229 Return (STR1) /* \SM2S.STR1 */
3230 }
3231
3232 Method (\DC2S, 1, NotSerialized)
3233 {
3234 Name (STR1, Buffer (0x07)
3235 {
3236 "000000"
3237 })
3238 Local1 = Arg0
3239 Local3 = 0x05
3240 While ((Local1 > Zero))
3241 {
3242 Local0 = Zero
3243 Divide (Local1, 0x0A, Local0, Local1)
3244 Local0 &= 0x0F
3245 Local0 |= 0x30
3246 STR1 [Local3] = Local0
3247 Local3--
3248 }
3249
3250 STR1 [0x06] = Zero
3251 Return (STR1) /* \DC2S.STR1 */
3252 }
3253
3254 Method (_Q9F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
3255 {
3256 \_PR.CPPC = IPPC /* \_SB_.PCI0.LPCB.H_EC.IPPC */
3257 \_PR.CPU0._PPC = \_PR.CPPC
3258 PNOT ()
3259 }
3260
3261 Method (_QA0, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
3262 {
3263 Sleep (0x01F4)
3264 PWRS = ACS /* \_SB_.PCI0.LPCB.H_EC.ACS_ */
3265 Notify (AC, 0x80) // Status Change
3266 Notify (BAT1, 0x80) // Status Change
3267 PNOT ()
3268 }
3269
3270 Method (_QD0, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
3271 {
3272 If (ECON)
3273 {
3274 If ((Acquire (MUEC, 0xA000) == Zero))
3275 {
3276 If (MIEC)
3277 {
3278 If (((LSTE && One) == Zero))
3279 {
3280 LIDF = One
3281 LIDS = One
3282 }
3283 Else
3284 {
3285 LIDF = Zero
3286 LIDS = Zero
3287 }
3288 }
3289
3290 Release (MUEC)
3291 }
3292 }
3293
3294 If (IGDS)
3295 {
3296 ^^^GFX0.GLID (LIDS)
3297 }
3298
3299 Notify (LID, 0x80) // Status Change
3300 }
3301
3302 Method (_QD1, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
3303 {
3304 If (((OSVR == 0x10) || (OSVR == 0x03)))
3305 {
3306 P8XH (Zero, 0xD1, One)
3307 Notify (^^^GFX0.DD02, 0x87) // Device-Specific
3308 }
3309 }
3310
3311 Method (_QD2, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
3312 {
3313 If (((OSVR == 0x10) || (OSVR == 0x03)))
3314 {
3315 P8XH (Zero, 0xD2, One)
3316 Notify (^^^GFX0.DD02, 0x86) // Device-Specific
3317 }
3318 }
3319
3320 Method (_QB1, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
3321 {
3322 Sleep (0x01F4)
3323 Notify (BAT1, 0x81) // Information Change
3324 Notify (BAT1, 0x80) // Status Change
3325 PNOT ()
3326 }
3327
3328 Method (_QB3, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
3329 {
3330 Sleep (0x01F4)
3331 Notify (BAT1, 0x80) // Status Change
3332 }
3333
3334 Method (_QEB, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
3335 {
3336 Notify (SLPB, 0x80) // Status Change
3337 }
3338
3339 Method (_QE1, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
3340 {
3341 If ((_OSI ("Windows 2006") || _OSI ("Windows 2009"))){}
3342 Else
3343 {
3344 If ((APTG == One))
3345 {
3346 If ((ECON == One))
3347 {
3348 Notify (VPC0, 0x80) // Status Change
3349 }
3350 }
3351
3352 If ((APTG == Zero))
3353 {
3354 ^^^GFX0.GHDS (One)
3355 }
3356 }
3357 }
3358
3359 Method (SADC, 1, Serialized)
3360 {
3361 If (ECAV ())
3362 {
3363 If ((Acquire (MUEC, 0xA000) == Zero))
3364 {
3365 EDA1 = 0x86
3366 EDA2 = Zero
3367 EDA3 = Arg0
3368 ECMD = 0xB6
3369 Local0 = 0x7F
3370 While ((Local0 && ECMD))
3371 {
3372 Sleep (One)
3373 Local0--
3374 }
3375
3376 If ((ECMD == Zero))
3377 {
3378 Local0 = EDA1 /* \_SB_.PCI0.LPCB.H_EC.EDA1 */
3379 }
3380 Else
3381 {
3382 Local0 = Ones
3383 }
3384
3385 Release (MUEC)
3386 Return (Local0)
3387 }
3388 }
3389
3390 Return (Ones)
3391 }
3392 }
3393
3394 Scope (\_SB)
3395 {
3396 Device (SLPB)
3397 {
3398 Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
3399 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
3400 {
3401 Return (Package (0x02)
3402 {
3403 0x07,
3404 0x03
3405 })
3406 }
3407 }
3408
3409 Device (PWRB)
3410 {
3411 Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
3412 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3413 {
3414 0x1E,
3415 0x04
3416 })
3417 }
3418
3419 Device (LID)
3420 {
3421 Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
3422 Method (_LID, 0, NotSerialized) // _LID: Lid Status
3423 {
3424 If (ECON)
3425 {
3426 If ((Acquire (MUEC, 0xA000) == Zero))
3427 {
3428 If (MIEC)
3429 {
3430 If (((^^PCI0.LPCB.H_EC.LSTE && One) == Zero))
3431 {
3432 LIDF = One
3433 LIDS = One
3434 }
3435 Else
3436 {
3437 LIDF = Zero
3438 LIDS = Zero
3439 }
3440 }
3441
3442 Release (MUEC)
3443 }
3444 }
3445
3446 Return (LIDF) /* \LIDF */
3447 }
3448 }
3449
3450 Device (AC)
3451 {
3452 Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
3453 Method (_PSR, 0, NotSerialized) // _PSR: Power Source
3454 {
3455 If (^^PCI0.LPCB.H_EC.ECAV ())
3456 {
3457 If ((Acquire (MUEC, 0xA000) == Zero))
3458 {
3459 If (MIEC)
3460 {
3461 Local0 = ^^PCI0.LPCB.H_EC.ACS /* \_SB_.PCI0.LPCB.H_EC.ACS_ */
3462 }
3463
3464 Release (MUEC)
3465 }
3466
3467 Return (Local0)
3468 }
3469 Else
3470 {
3471 Return (One)
3472 }
3473 }
3474
3475 Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
3476 {
3477 Return (_SB) /* \_SB_ */
3478 }
3479 }
3480 }
3481
3482 Name (APTG, Zero)
3483 Name (APEJ, Zero)
3484 Name (PSLV, Zero)
3485 Name (PSCL, Zero)
3486 Scope (H_EC)
3487 {
3488 Device (VPC0)
3489 {
3490 Name (_HID, "VPC2004") // _HID: Hardware ID
3491 Name (_UID, Zero) // _UID: Unique ID
3492 Name (_VPC, 0xE20E)
3493 Name (VPCD, Zero)
3494 Method (_STA, 0, NotSerialized) // _STA: Status
3495 {
3496 Return (0x0F)
3497 }
3498
3499 Method (_CFG, 0, NotSerialized)
3500 {
3501 Local0 = _VPC /* \_SB_.PCI0.LPCB.H_EC.VPC0._VPC */
3502 Local0 &= 0xFFFF
3503 Local1 = Zero
3504 Local0 |= 0xE000
3505 Local0 |= 0x0100
3506 If (ECAV ())
3507 {
3508 If ((BTEX == One))
3509 {
3510 Local1 |= One
3511 }
3512 Else
3513 {
3514 Local1 &= 0xFE
3515 }
3516
3517 If ((WLEX == One))
3518 {
3519 Local1 |= 0x04
3520 }
3521 Else
3522 {
3523 Local1 &= 0xFB
3524 }
3525
3526 If ((CMEX == One))
3527 {
3528 Local1 |= 0x08
3529 }
3530 Else
3531 {
3532 Local1 &= 0xF7
3533 }
3534 }
3535
3536 Local1 &= 0x8F
3537 Local1 |= 0x70
3538 Local1 *= 0x00010000
3539 Local0 += Local1
3540 _VPC = Local0
3541 APFG = One
3542 Return (_VPC) /* \_SB_.PCI0.LPCB.H_EC.VPC0._VPC */
3543 }
3544
3545 Method (VPCR, 1, Serialized)
3546 {
3547 If ((Arg0 == One))
3548 {
3549 VPCD = VCMD /* \_SB_.PCI0.LPCB.H_EC.VCMD */
3550 }
3551 Else
3552 {
3553 VPCD = VDAT /* \_SB_.PCI0.LPCB.H_EC.VDAT */
3554 }
3555
3556 Return (VPCD) /* \_SB_.PCI0.LPCB.H_EC.VPC0.VPCD */
3557 }
3558
3559 Method (VPCW, 2, Serialized)
3560 {
3561 If ((Arg0 == One))
3562 {
3563 VCMD = Arg1
3564 }
3565 Else
3566 {
3567 VDAT = Arg1
3568 }
3569
3570 Return (Zero)
3571 }
3572
3573 Method (APPC, 1, Serialized)
3574 {
3575 APTG = Arg0
3576 APEJ = Arg0
3577 If ((APTG == One))
3578 {
3579 APFG = One
3580 }
3581 Else
3582 {
3583 APFG = Zero
3584 }
3585
3586 Return (Zero)
3587 }
3588
3589 Method (DBSL, 0, NotSerialized)
3590 {
3591 If ((OSVR == 0x10))
3592 {
3593 Return (Package (0x65)
3594 {
3595 Zero,
3596 One,
3597 0x02,
3598 0x03,
3599 0x04,
3600 0x05,
3601 0x06,
3602 0x07,
3603 0x08,
3604 0x09,
3605 0x0A,
3606 0x0B,
3607 0x0C,
3608 0x0D,
3609 0x0E,
3610 0x0F,
3611 0x10,
3612 0x11,
3613 0x12,
3614 0x13,
3615 0x14,
3616 0x15,
3617 0x16,
3618 0x17,
3619 0x18,
3620 0x19,
3621 0x1A,
3622 0x1B,
3623 0x1C,
3624 0x1D,
3625 0x1E,
3626 0x1F,
3627 0x20,
3628 0x21,
3629 0x22,
3630 0x23,
3631 0x24,
3632 0x25,
3633 0x26,
3634 0x27,
3635 0x28,
3636 0x29,
3637 0x2A,
3638 0x2B,
3639 0x2C,
3640 0x2D,
3641 0x2E,
3642 0x2F,
3643 0x30,
3644 0x31,
3645 0x32,
3646 0x33,
3647 0x34,
3648 0x35,
3649 0x36,
3650 0x37,
3651 0x38,
3652 0x39,
3653 0x3A,
3654 0x3B,
3655 0x3C,
3656 0x3D,
3657 0x3E,
3658 0x3F,
3659 0x40,
3660 0x41,
3661 0x42,
3662 0x43,
3663 0x44,
3664 0x45,
3665 0x46,
3666 0x47,
3667 0x48,
3668 0x49,
3669 0x4A,
3670 0x4B,
3671 0x4C,
3672 0x4D,
3673 0x4E,
3674 0x4F,
3675 0x50,
3676 0x51,
3677 0x52,
3678 0x53,
3679 0x54,
3680 0x55,
3681 0x56,
3682 0x57,
3683 0x58,
3684 0x59,
3685 0x5A,
3686 0x5B,
3687 0x5C,
3688 0x5D,
3689 0x5E,
3690 0x5F,
3691 0x60,
3692 0x61,
3693 0x62,
3694 0x63,
3695 0x64
3696 })
3697 }
3698 ElseIf ((OSVR == 0x03))
3699 {
3700 Return (Package (0x0B)
3701 {
3702 0x64,
3703 0x5A,
3704 0x50,
3705 0x46,
3706 0x3C,
3707 0x32,
3708 0x28,
3709 0x1E,
3710 0x14,
3711 0x0A,
3712 0x05
3713 })
3714 }
3715 Else
3716 {
3717 Return (Package (0x10)
3718 {
3719 0x64,
3720 0x5A,
3721 0x50,
3722 0x46,
3723 0x3C,
3724 0x32,
3725 0x28,
3726 0x23,
3727 0x1E,
3728 0x19,
3729 0x14,
3730 0x11,
3731 0x0F,
3732 0x0A,
3733 0x05,
3734 0x02
3735 })
3736 }
3737 }
3738
3739 Method (SBSL, 1, Serialized)
3740 {
3741 Local0 = Arg0
3742 If ((Local0 == One))
3743 {
3744 BSNV = 0x05
3745 }
3746
3747 If ((Local0 == 0x02))
3748 {
3749 BSNV = 0x08
3750 }
3751
3752 Return (Zero)
3753 }
3754
3755 Method (HALS, 0, NotSerialized)
3756 {
3757 Return (Zero)
3758 }
3759
3760 Method (SALS, 1, Serialized)
3761 {
3762 Return (Zero)
3763 }
3764
3765 Method (HODD, 0, NotSerialized)
3766 {
3767 Return (0xFF)
3768 }
3769
3770 Method (SODD, 1, Serialized)
3771 {
3772 Return (Zero)
3773 }
3774
3775 Method (STHT, 1, Serialized)
3776 {
3777 Return (Zero)
3778 }
3779
3780 Method (BASL, 1, Serialized)
3781 {
3782 Local0 = Arg0
3783 Local0 &= 0xFFFF
3784 Local1 = (Arg0 & 0xFFFF0000)
3785 Local1 = (Local1 / 0x00010000)
3786 If (((Local0 == Zero) || (Local0 == Ones))){}
3787 Else
3788 {
3789 BCST = Local0
3790 BCSP = Local1
3791 }
3792
3793 Return (Zero)
3794 }
3795
3796 Method (GBMD, 0, NotSerialized)
3797 {
3798 Local0 = 0x10000000
3799 If ((Zero == EDCC))
3800 {
3801 Local0 |= One
3802 }
3803
3804 If ((Zero == CSBM))
3805 {
3806 Local0 |= 0x02
3807 }
3808
3809 Local0 |= 0x0400
3810 If ((One == MBBD))
3811 {
3812 Local0 |= 0x08
3813 }
3814
3815 If ((One == SBBD))
3816 {
3817 Local0 |= 0x10
3818 }
3819
3820 If ((One == BTSM))
3821 {
3822 Local0 |= 0x20
3823 }
3824
3825 If ((BLEG == Zero))
3826 {
3827 Local0 |= 0x80
3828 }
3829
3830 If ((BTPF == One))
3831 {
3832 Local0 |= 0x0100
3833 }
3834 Else
3835 {
3836 Local0 &= 0xFFFFFEFF
3837 }
3838
3839 If ((BTSM == One))
3840 {
3841 Local0 &= 0xFFFFFDFF
3842 }
3843 Else
3844 {
3845 Local0 |= 0x0200
3846 }
3847
3848 If ((O72H == One))
3849 {
3850 Local0 |= 0x0800
3851 }
3852 Else
3853 {
3854 Local0 &= 0xFFFFF7FF
3855 }
3856
3857 Return (Local0)
3858 }
3859
3860 Method (SBMC, 1, NotSerialized)
3861 {
3862 If ((Arg0 == Zero))
3863 {
3864 CDMB = Zero
3865 EDCC = One
3866 EDCF = One
3867 Return (Zero)
3868 }
3869
3870 If ((Arg0 == One))
3871 {
3872 EDCC = Zero
3873 CDMB = One
3874 Return (Zero)
3875 }
3876
3877 If ((Arg0 == 0x03))
3878 {
3879 BTSM = One
3880 LBTM = Zero
3881 Return (Zero)
3882 }
3883
3884 If ((Arg0 == 0x05))
3885 {
3886 LBTM = One
3887 BTCF = One
3888 BTSM = Zero
3889 Return (Zero)
3890 }
3891
3892 If ((Arg0 == 0x06))
3893 {
3894 CSBM = One
3895 Return (Zero)
3896 }
3897
3898 Return (Zero)
3899 }
3900
3901 Name (PNUM, 0x02)
3902 Method (MHST, 1, NotSerialized)
3903 {
3904 If ((Arg0 == Zero))
3905 {
3906 Local0 = 0x0041CDB4
3907 Divide (Local0, PNUM, Local1, Local0)
3908 Divide (Local0, FN0S, Local1, Local0)
3909 Local0 &= 0xFFFF
3910 Local0 |= 0x01010000
3911 Return (Local0)
3912 }
3913
3914 If ((Arg0 == 0x40))
3915 {
3916 Return (0x01010001)
3917 }
3918
3919 Return (Zero)
3920 }
3921
3922 Method (MHTT, 1, NotSerialized)
3923 {
3924 Local0 = Zero
3925 If ((Arg0 == Zero))
3926 {
3927 Return (Local0)
3928 }
3929
3930 If ((Arg0 == One))
3931 {
3932 Local0 = CPUT /* \_SB_.PCI0.LPCB.H_EC.CPUT */
3933 Return (Local0)
3934 }
3935
3936 Return (Zero)
3937 }
3938
3939 Method (MHBT, 1, NotSerialized)
3940 {
3941 Name (MHB0, Buffer (0x10)
3942 {
3943 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
3944 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
3945 })
3946 CreateByteField (MHB0, Zero, BT0)
3947 CreateByteField (MHB0, One, BT1)
3948 CreateByteField (MHB0, 0x02, BT2)
3949 CreateByteField (MHB0, 0x03, BT3)
3950 CreateByteField (MHB0, 0x04, BT4)
3951 CreateByteField (MHB0, 0x05, BT5)
3952 CreateByteField (MHB0, 0x06, BT6)
3953 CreateByteField (MHB0, 0x07, BT7)
3954 CreateByteField (MHB0, 0x08, BT8)
3955 CreateByteField (MHB0, 0x09, BT9)
3956 CreateByteField (MHB0, 0x0A, BTA)
3957 CreateByteField (MHB0, 0x0B, BTB)
3958 CreateByteField (MHB0, 0x0C, BTC)
3959 CreateByteField (MHB0, 0x0D, BTD)
3960 CreateByteField (MHB0, 0x0E, BTE)
3961 CreateByteField (MHB0, 0x0F, BTF)
3962 If ((Arg0 == Zero))
3963 {
3964 Return (MHB0) /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHBT.MHB0 */
3965 }
3966
3967 If ((Arg0 == One))
3968 {
3969 BT0 = 0x03
3970 BT1 = CLOW /* \_SB_.PCI0.LPCB.H_EC.CLOW */
3971 BT2 = CMID /* \_SB_.PCI0.LPCB.H_EC.CMID */
3972 BT3 = CHIH /* \_SB_.PCI0.LPCB.H_EC.CHIH */
3973 Return (MHB0) /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHBT.MHB0 */
3974 }
3975
3976 Return (MHB0) /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHBT.MHB0 */
3977 }
3978
3979 Method (MHFT, 1, NotSerialized)
3980 {
3981 Local0 = Arg0
3982 Local1 = Arg0
3983 Local0 &= 0xFF
3984 Local1 &= 0xFF00
3985 If ((Local1 == Zero))
3986 {
3987 If ((Local0 == One))
3988 {
3989 FNCM = One
3990 Return (One)
3991 }
3992 ElseIf ((Local0 == 0x80))
3993 {
3994 FNCM = 0x80
3995 Return (One)
3996 }
3997 Else
3998 {
3999 FNCM = 0xFF
4000 Return (One)
4001 }
4002 }
4003 Else
4004 {
4005 Return (Ones)
4006 }
4007
4008 Return (Zero)
4009 }
4010
4011 Method (MHCT, 1, Serialized)
4012 {
4013 Local0 = Zero
4014 If ((Arg0 == Ones))
4015 {
4016 PSCL = \_PR.CPU0._PPC
4017 Local0 |= SizeOf (\_PR.CPU0._PSS)
4018 Local0 <<= 0x08
4019 Local0 |= PSCL /* \_SB_.PCI0.LPCB.PSCL */
4020 Local0 <<= 0x08
4021 Local0 |= Zero
4022 Local0 <<= 0x08
4023 Local0 |= 0xC0
4024 Return (Local0)
4025 }
4026 Else
4027 {
4028 Local1 = Arg0
4029 Local1 >>= 0x10
4030 Local1 &= 0xFF
4031 PSCL = Local1
4032 \_PR.CPU0._PPC = PSCL /* \_SB_.PCI0.LPCB.PSCL */
4033 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
4034 Notify (\_PR.CPU1, 0x80) // Performance Capability Change
4035 Notify (\_PR.CPU2, 0x80) // Performance Capability Change
4036 Notify (\_PR.CPU3, 0x80) // Performance Capability Change
4037 }
4038 }
4039
4040 Method (SVCR, 1, NotSerialized)
4041 {
4042 If ((Arg0 == 0x02))
4043 {
4044 ATOM = Zero
4045 }
4046
4047 If ((Arg0 == 0x03))
4048 {
4049 ATOM = One
4050 }
4051
4052 Return (Zero)
4053 }
4054
4055 Method (MHCF, 1, NotSerialized)
4056 {
4057 Local0 = Arg0
4058 Local0 &= 0x20
4059 If ((Local0 == Zero))
4060 {
4061 BFUE &= 0xFD
4062 }
4063 Else
4064 {
4065 BFUE |= 0x02
4066 }
4067
4068 Local0 = 0x32
4069 While (Local0)
4070 {
4071 Sleep (0x02)
4072 Local1 = (BFUE & 0x04)
4073 If ((Local1 == Zero))
4074 {
4075 Local0--
4076 }
4077 Else
4078 {
4079 Local0 = Zero
4080 }
4081 }
4082
4083 Return (Arg0)
4084 }
4085
4086 Method (MHPF, 1, NotSerialized)
4087 {
4088 Name (CHAR, Zero)
4089 Name (STR1, Buffer (0x12)
4090 {
4091 /* 0000 */ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // 00000000
4092 /* 0008 */ 0x30, 0x30, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, // 00......
4093 /* 0010 */ 0x09, 0x00 // ..
4094 })
4095 If (ECAV ())
4096 {
4097 HSMG = One
4098 If ((Acquire (MUEC, 0xA000) == Zero))
4099 {
4100 If (MIEC)
4101 {
4102 If (One)
4103 {
4104 CreateWordField (Arg0, 0x04, DAT0)
4105 CreateWordField (Arg0, 0x06, DAT2)
4106 CreateDWordField (Arg0, 0x08, DAT4)
4107 CreateDWordField (Arg0, 0x0C, DAT5)
4108 CreateDWordField (Arg0, 0x10, DAT6)
4109 CreateDWordField (Arg0, 0x14, DAT7)
4110 CreateDWordField (Arg0, 0x18, DAT8)
4111 CreateDWordField (Arg0, 0x1C, DAT9)
4112 CreateDWordField (Arg0, 0x20, DATA)
4113 CreateByteField (Arg0, 0x24, CONT)
4114 CreateByteField (Arg0, One, STAT)
4115 CreateByteField (Arg0, 0x03, ACMD)
4116 CreateByteField (Arg0, 0x02, AADR)
4117 CreateByteField (Arg0, Zero, APTC)
4118 Local1 = 0x32
4119 While (Local1)
4120 {
4121 SDAT = DAT0 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT0 */
4122 SDA2 = DAT2 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT2 */
4123 SDA4 = DAT4 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT4 */
4124 SDA5 = DAT5 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT5 */
4125 SDA6 = DAT6 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT6 */
4126 SDA7 = DAT7 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT7 */
4127 SDA8 = DAT8 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT8 */
4128 SDA9 = DAT9 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT9 */
4129 SDAA = DATA /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DATA */
4130 SBCT = CONT /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.CONT */
4131 SSTS = STAT /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.STAT */
4132 SCMD = ACMD /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.ACMD */
4133 If ((ACMD == 0x37))
4134 {
4135 P8XH (Zero, ACMD, One)
4136 Sleep (0x01F4)
4137 }
4138
4139 SADR = AADR /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.AADR */
4140 SPTC = APTC /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.APTC */
4141 Local0 = 0x32
4142 While (Local0)
4143 {
4144 Sleep (0x02)
4145 If ((SPTC == Zero))
4146 {
4147 If ((SSTS == 0x80))
4148 {
4149 DAT0 = SDAT /* \_SB_.PCI0.LPCB.H_EC.SDAT */
4150 DAT2 = SDA2 /* \_SB_.PCI0.LPCB.H_EC.SDA2 */
4151 DAT4 = SDA4 /* \_SB_.PCI0.LPCB.H_EC.SDA4 */
4152 DAT5 = SDA5 /* \_SB_.PCI0.LPCB.H_EC.SDA5 */
4153 DAT6 = SDA6 /* \_SB_.PCI0.LPCB.H_EC.SDA6 */
4154 DAT7 = SDA7 /* \_SB_.PCI0.LPCB.H_EC.SDA7 */
4155 DAT8 = SDA8 /* \_SB_.PCI0.LPCB.H_EC.SDA8 */
4156 DAT9 = SDA9 /* \_SB_.PCI0.LPCB.H_EC.SDA9 */
4157 DATA = SDAA /* \_SB_.PCI0.LPCB.H_EC.SDAA */
4158 CONT = SBCT /* \_SB_.PCI0.LPCB.H_EC.SBCT */
4159 STAT = SSTS /* \_SB_.PCI0.LPCB.H_EC.SSTS */
4160 ACMD = SCMD /* \_SB_.PCI0.LPCB.H_EC.SCMD */
4161 AADR = SADR /* \_SB_.PCI0.LPCB.H_EC.SADR */
4162 APTC = SPTC /* \_SB_.PCI0.LPCB.H_EC.SPTC */
4163 Local0 = Zero
4164 Local1 = Zero
4165 }
4166 Else
4167 {
4168 Local0 = Zero
4169 Local1--
4170 If ((Local1 == Zero))
4171 {
4172 DBG2++
4173 }
4174 }
4175 }
4176 Else
4177 {
4178 Local0--
4179 If ((Local0 == Zero))
4180 {
4181 DBG1++
4182 }
4183 }
4184 }
4185 }
4186 }
4187 }
4188
4189 Release (MUEC)
4190 }
4191
4192 HSMG = Zero
4193 }
4194
4195 Return (Arg0)
4196 }
4197
4198 Method (MHIF, 1, NotSerialized)
4199 {
4200 Name (CHAR, Zero)
4201 Name (BFIM, Buffer (0x0A)
4202 {
4203 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
4204 /* 0008 */ 0x00, 0x00 // ..
4205 })
4206 If (ECAV ())
4207 {
4208 HSMG = One
4209 If ((Acquire (MUEC, 0xA000) == Zero))
4210 {
4211 If (MIEC)
4212 {
4213 If (One)
4214 {
4215 Local1 = Arg0
4216 If ((Local1 == Zero))
4217 {
4218 SSTS = Zero
4219 SCMD = 0x37
4220 SADR = 0x16
4221 SPTC = 0x0B
4222 Local0 = 0x32
4223 While (Local0)
4224 {
4225 Sleep (0x02)
4226 If ((SPTC == Zero))
4227 {
4228 If ((SSTS == 0x80))
4229 {
4230 CHAR = SDAT /* \_SB_.PCI0.LPCB.H_EC.SDAT */
4231 BFIM [0x02] = CHAR /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHIF.CHAR */
4232 BFIM [0x03] = (CHAR >> 0x08)
4233 CHAR = SDA2 /* \_SB_.PCI0.LPCB.H_EC.SDA2 */
4234 BFIM [0x04] = CHAR /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHIF.CHAR */
4235 BFIM [0x05] = (CHAR >> 0x08)
4236 CHAR = SDA4 /* \_SB_.PCI0.LPCB.H_EC.SDA4 */
4237 BFIM [0x06] = (CHAR >> Zero)
4238 BFIM [0x07] = (CHAR >> 0x08)
4239 BFIM [0x08] = (CHAR >> 0x10)
4240 BFIM [0x09] = (CHAR >> 0x18)
4241 Local0 = Zero
4242 }
4243 Else
4244 {
4245 Local0--
4246 P8XH (Zero, 0x99, One)
4247 }
4248 }
4249 Else
4250 {
4251 Local0--
4252 }
4253 }
4254 }
4255 }
4256 }
4257
4258 Release (MUEC)
4259 }
4260
4261 HSMG = Zero
4262 }
4263
4264 Sleep (0x01F4)
4265 Return (BFIM) /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHIF.BFIM */
4266 }
4267 }
4268
4269 Method (_Q44, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
4270 {
4271 If ((ECON == One))
4272 {
4273 If (((^^^GFX0.CADL == 0x0100) && (^^^GFX0.CAL2 == Zero)))
4274 {
4275 If ((OSVR == 0x0E))
4276 {
4277 CUBL = ^^^GFX0.BRT1 /* \_SB_.PCI0.GFX0.BRT1 */
4278 }
4279 }
4280 ElseIf ((OSVR == 0x0E))
4281 {
4282 If ((^^^GFX0.BRT1 > CUBL))
4283 {
4284 Notify (^^^GFX0.DD02, 0x87) // Device-Specific
4285 }
4286
4287 If ((^^^GFX0.BRT1 < CUBL))
4288 {
4289 Notify (^^^GFX0.DD02, 0x86) // Device-Specific
4290 }
4291 }
4292
4293 If ((APFG == One))
4294 {
4295 Notify (VPC0, 0x80) // Status Change
4296 }
4297 }
4298 }
4299 }
4300
4301 Device (DMAC)
4302 {
4303 Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID
4304 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4305 {
4306 IO (Decode16,
4307 0x0000, // Range Minimum
4308 0x0000, // Range Maximum
4309 0x01, // Alignment
4310 0x20, // Length
4311 )
4312 IO (Decode16,
4313 0x0081, // Range Minimum
4314 0x0081, // Range Maximum
4315 0x01, // Alignment
4316 0x11, // Length
4317 )
4318 IO (Decode16,
4319 0x0093, // Range Minimum
4320 0x0093, // Range Maximum
4321 0x01, // Alignment
4322 0x0D, // Length
4323 )
4324 IO (Decode16,
4325 0x00C0, // Range Minimum
4326 0x00C0, // Range Maximum
4327 0x01, // Alignment
4328 0x20, // Length
4329 )
4330 DMA (Compatibility, NotBusMaster, Transfer8_16, )
4331 {4}
4332 })
4333 }
4334
4335 Device (FWHD)
4336 {
4337 Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID
4338 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4339 {
4340 Memory32Fixed (ReadOnly,
4341 0xFF000000, // Address Base
4342 0x01000000, // Address Length
4343 )
4344 })
4345 }
4346
4347 Device (HPET)
4348 {
4349 Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
4350 Name (_UID, Zero) // _UID: Unique ID
4351 Name (BUF0, ResourceTemplate ()
4352 {
4353 Memory32Fixed (ReadWrite,
4354 0xFED00000, // Address Base
4355 0x00000400, // Address Length
4356 _Y10)
4357 })
4358 Method (_STA, 0, NotSerialized) // _STA: Status
4359 {
4360 If ((OSYS >= 0x07D1))
4361 {
4362 If (HPAE)
4363 {
4364 Return (0x0F)
4365 }
4366 }
4367 ElseIf (HPAE)
4368 {
4369 Return (0x0B)
4370 }
4371
4372 Return (Zero)
4373 }
4374
4375 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
4376 {
4377 If (HPAE)
4378 {
4379 CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y10._BAS, HPT0) // _BAS: Base Address
4380 If ((HPAS == One))
4381 {
4382 HPT0 = 0xFED01000
4383 }
4384
4385 If ((HPAS == 0x02))
4386 {
4387 HPT0 = 0xFED02000
4388 }
4389
4390 If ((HPAS == 0x03))
4391 {
4392 HPT0 = 0xFED03000
4393 }
4394 }
4395
4396 Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */
4397 }
4398 }
4399
4400 Device (IPIC)
4401 {
4402 Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
4403 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4404 {
4405 IO (Decode16,
4406 0x0020, // Range Minimum
4407 0x0020, // Range Maximum
4408 0x01, // Alignment
4409 0x02, // Length
4410 )
4411 IO (Decode16,
4412 0x0024, // Range Minimum
4413 0x0024, // Range Maximum
4414 0x01, // Alignment
4415 0x02, // Length
4416 )
4417 IO (Decode16,
4418 0x0028, // Range Minimum
4419 0x0028, // Range Maximum
4420 0x01, // Alignment
4421 0x02, // Length
4422 )
4423 IO (Decode16,
4424 0x002C, // Range Minimum
4425 0x002C, // Range Maximum
4426 0x01, // Alignment
4427 0x02, // Length
4428 )
4429 IO (Decode16,
4430 0x0030, // Range Minimum
4431 0x0030, // Range Maximum
4432 0x01, // Alignment
4433 0x02, // Length
4434 )
4435 IO (Decode16,
4436 0x0034, // Range Minimum
4437 0x0034, // Range Maximum
4438 0x01, // Alignment
4439 0x02, // Length
4440 )
4441 IO (Decode16,
4442 0x0038, // Range Minimum
4443 0x0038, // Range Maximum
4444 0x01, // Alignment
4445 0x02, // Length
4446 )
4447 IO (Decode16,
4448 0x003C, // Range Minimum
4449 0x003C, // Range Maximum
4450 0x01, // Alignment
4451 0x02, // Length
4452 )
4453 IO (Decode16,
4454 0x00A0, // Range Minimum
4455 0x00A0, // Range Maximum
4456 0x01, // Alignment
4457 0x02, // Length
4458 )
4459 IO (Decode16,
4460 0x00A4, // Range Minimum
4461 0x00A4, // Range Maximum
4462 0x01, // Alignment
4463 0x02, // Length
4464 )
4465 IO (Decode16,
4466 0x00A8, // Range Minimum
4467 0x00A8, // Range Maximum
4468 0x01, // Alignment
4469 0x02, // Length
4470 )
4471 IO (Decode16,
4472 0x00AC, // Range Minimum
4473 0x00AC, // Range Maximum
4474 0x01, // Alignment
4475 0x02, // Length
4476 )
4477 IO (Decode16,
4478 0x00B0, // Range Minimum
4479 0x00B0, // Range Maximum
4480 0x01, // Alignment
4481 0x02, // Length
4482 )
4483 IO (Decode16,
4484 0x00B4, // Range Minimum
4485 0x00B4, // Range Maximum
4486 0x01, // Alignment
4487 0x02, // Length
4488 )
4489 IO (Decode16,
4490 0x00B8, // Range Minimum
4491 0x00B8, // Range Maximum
4492 0x01, // Alignment
4493 0x02, // Length
4494 )
4495 IO (Decode16,
4496 0x00BC, // Range Minimum
4497 0x00BC, // Range Maximum
4498 0x01, // Alignment
4499 0x02, // Length
4500 )
4501 IO (Decode16,
4502 0x04D0, // Range Minimum
4503 0x04D0, // Range Maximum
4504 0x01, // Alignment
4505 0x02, // Length
4506 )
4507 IRQNoFlags ()
4508 {2}
4509 })
4510 }
4511
4512 Device (MATH)
4513 {
4514 Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID
4515 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4516 {
4517 IO (Decode16,
4518 0x00F0, // Range Minimum
4519 0x00F0, // Range Maximum
4520 0x01, // Alignment
4521 0x01, // Length
4522 )
4523 IRQNoFlags ()
4524 {13}
4525 })
4526 }
4527
4528 Device (LDRC)
4529 {
4530 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
4531 Name (_UID, 0x02) // _UID: Unique ID
4532 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4533 {
4534 IO (Decode16,
4535 0x002E, // Range Minimum
4536 0x002E, // Range Maximum
4537 0x01, // Alignment
4538 0x02, // Length
4539 )
4540 IO (Decode16,
4541 0x004E, // Range Minimum
4542 0x004E, // Range Maximum
4543 0x01, // Alignment
4544 0x02, // Length
4545 )
4546 IO (Decode16,
4547 0x0061, // Range Minimum
4548 0x0061, // Range Maximum
4549 0x01, // Alignment
4550 0x01, // Length
4551 )
4552 IO (Decode16,
4553 0x0063, // Range Minimum
4554 0x0063, // Range Maximum
4555 0x01, // Alignment
4556 0x01, // Length
4557 )
4558 IO (Decode16,
4559 0x0065, // Range Minimum
4560 0x0065, // Range Maximum
4561 0x01, // Alignment
4562 0x01, // Length
4563 )
4564 IO (Decode16,
4565 0x0067, // Range Minimum
4566 0x0067, // Range Maximum
4567 0x01, // Alignment
4568 0x01, // Length
4569 )
4570 IO (Decode16,
4571 0x0070, // Range Minimum
4572 0x0070, // Range Maximum
4573 0x01, // Alignment
4574 0x01, // Length
4575 )
4576 IO (Decode16,
4577 0x0080, // Range Minimum
4578 0x0080, // Range Maximum
4579 0x01, // Alignment
4580 0x01, // Length
4581 )
4582 IO (Decode16,
4583 0x0092, // Range Minimum
4584 0x0092, // Range Maximum
4585 0x01, // Alignment
4586 0x01, // Length
4587 )
4588 IO (Decode16,
4589 0x00B2, // Range Minimum
4590 0x00B2, // Range Maximum
4591 0x01, // Alignment
4592 0x02, // Length
4593 )
4594 IO (Decode16,
4595 0x0680, // Range Minimum
4596 0x0680, // Range Maximum
4597 0x01, // Alignment
4598 0x20, // Length
4599 )
4600 IO (Decode16,
4601 0x1000, // Range Minimum
4602 0x1000, // Range Maximum
4603 0x01, // Alignment
4604 0x10, // Length
4605 )
4606 IO (Decode16,
4607 0xFFFF, // Range Minimum
4608 0xFFFF, // Range Maximum
4609 0x01, // Alignment
4610 0x01, // Length
4611 )
4612 IO (Decode16,
4613 0xFFFF, // Range Minimum
4614 0xFFFF, // Range Maximum
4615 0x01, // Alignment
4616 0x01, // Length
4617 )
4618 IO (Decode16,
4619 0x0400, // Range Minimum
4620 0x0400, // Range Maximum
4621 0x01, // Alignment
4622 0x54, // Length
4623 )
4624 IO (Decode16,
4625 0x0458, // Range Minimum
4626 0x0458, // Range Maximum
4627 0x01, // Alignment
4628 0x28, // Length
4629 )
4630 IO (Decode16,
4631 0x0500, // Range Minimum
4632 0x0500, // Range Maximum
4633 0x01, // Alignment
4634 0x80, // Length
4635 )
4636 IO (Decode16,
4637 0x164E, // Range Minimum
4638 0x164E, // Range Maximum
4639 0x01, // Alignment
4640 0x02, // Length
4641 )
4642 })
4643 }
4644
4645 Device (RTC)
4646 {
4647 Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
4648 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4649 {
4650 IO (Decode16,
4651 0x0070, // Range Minimum
4652 0x0070, // Range Maximum
4653 0x01, // Alignment
4654 0x08, // Length
4655 )
4656 IRQNoFlags ()
4657 {8}
4658 })
4659 }
4660
4661 Device (TIMR)
4662 {
4663 Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
4664 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4665 {
4666 IO (Decode16,
4667 0x0040, // Range Minimum
4668 0x0040, // Range Maximum
4669 0x01, // Alignment
4670 0x04, // Length
4671 )
4672 IO (Decode16,
4673 0x0050, // Range Minimum
4674 0x0050, // Range Maximum
4675 0x10, // Alignment
4676 0x04, // Length
4677 )
4678 IRQNoFlags ()
4679 {0}
4680 })
4681 }
4682
4683 Device (CWDT)
4684 {
4685 Name (_HID, EisaId ("INT3F0D") /* ACPI Motherboard Resources */) // _HID: Hardware ID
4686 Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _CID: Compatible ID
4687 Name (BUF0, ResourceTemplate ()
4688 {
4689 IO (Decode16,
4690 0x0454, // Range Minimum
4691 0x0454, // Range Maximum
4692 0x04, // Alignment
4693 0x04, // Length
4694 )
4695 })
4696 Method (_STA, 0, Serialized) // _STA: Status
4697 {
4698 If ((WDTE == One))
4699 {
4700 Return (0x0F)
4701 }
4702 Else
4703 {
4704 Return (Zero)
4705 }
4706 }
4707
4708 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
4709 {
4710 Return (BUF0) /* \_SB_.PCI0.LPCB.CWDT.BUF0 */
4711 }
4712 }
4713
4714 Device (AMW0)
4715 {
4716 Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
4717 Name (_UID, Zero) // _UID: Unique ID
4718 Name (_WDG, Buffer (0x3C)
4719 {
4720 /* 0000 */ 0x6C, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11, // l.......
4721 /* 0008 */ 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00, // ....)...
4722 /* 0010 */ 0x41, 0x41, 0x01, 0x01, 0x6D, 0x0F, 0xBC, 0xAB, // AA..m...
4723 /* 0018 */ 0xA1, 0x8E, 0xD1, 0x11, 0x00, 0xA0, 0xC9, 0x06, // ........
4724 /* 0020 */ 0x29, 0x10, 0x00, 0x00, 0x41, 0x42, 0x01, 0x02, // )...AB..
4725 /* 0028 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, // !...f...
4726 /* 0030 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, // ......).
4727 /* 0038 */ 0x42, 0x41, 0x01, 0x00 // BA..
4728 })
4729 Method (WQAA, 1, NotSerialized)
4730 {
4731 SSMP = 0xC4
4732 Return (OWMI) /* \OWMI */
4733 }
4734
4735 Method (WMAB, 3, NotSerialized)
4736 {
4737 If ((Arg1 == One))
4738 {
4739 OWMI = Arg2
4740 SSMP = 0xC5
4741 Return (Zero)
4742 }
4743 }
4744
4745 Name (WQBA, Buffer (0x0336)
4746 {
4747 /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
4748 /* 0008 */ 0x26, 0x03, 0x00, 0x00, 0xDC, 0x09, 0x00, 0x00, // &.......
4749 /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
4750 /* 0018 */ 0x18, 0xC8, 0x84, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
4751 /* 0020 */ 0x10, 0x05, 0x10, 0x12, 0x2E, 0x81, 0x42, 0x04, // ......B.
4752 /* 0028 */ 0x8A, 0x40, 0x24, 0xA9, 0x30, 0x28, 0x0D, 0x20, // .@$.0(.
4753 /* 0030 */ 0x92, 0x03, 0x21, 0x17, 0x4C, 0x4C, 0x80, 0x08, // ..!.LL..
4754 /* 0038 */ 0x08, 0x79, 0x15, 0x60, 0x53, 0x80, 0x49, 0x10, // .y.`S.I.
4755 /* 0040 */ 0xF5, 0xEF, 0x0F, 0x51, 0x12, 0x1C, 0x4A, 0x08, // ...Q..J.
4756 /* 0048 */ 0x84, 0x24, 0x0A, 0x30, 0x2F, 0x40, 0xB7, 0x00, // .$.0/@..
4757 /* 0050 */ 0xC3, 0x02, 0x6C, 0x0B, 0x30, 0x2D, 0xC0, 0x31, // ..l.0-.1
4758 /* 0058 */ 0x24, 0x95, 0x06, 0x4E, 0x09, 0x2C, 0x05, 0x42, // $..N.,.B
4759 /* 0060 */ 0x42, 0x05, 0x28, 0x17, 0xE0, 0x5B, 0x80, 0x76, // B.(..[.v
4760 /* 0068 */ 0x44, 0x49, 0x16, 0x60, 0x19, 0x46, 0x04, 0x1E, // DI.`.F..
4761 /* 0070 */ 0x45, 0x64, 0xA3, 0x71, 0x68, 0xEC, 0x30, 0x2C, // Ed.qh.0,
4762 /* 0078 */ 0x13, 0x4C, 0x83, 0x38, 0x8C, 0xB2, 0x91, 0x45, // .L.8...E
4763 /* 0080 */ 0xE0, 0x09, 0x75, 0x2A, 0x40, 0xAE, 0x00, 0x61, // ..u*@..a
4764 /* 0088 */ 0x02, 0xC4, 0xA3, 0x0A, 0xA3, 0x39, 0x28, 0x22, // .....9("
4765 /* 0090 */ 0x1A, 0x1A, 0x25, 0x66, 0x4C, 0x04, 0xB6, 0x73, // ..%fL..s
4766 /* 0098 */ 0x6C, 0x8D, 0xE2, 0x34, 0x0A, 0x17, 0x20, 0x1D, // l..4.. .
4767 /* 00A0 */ 0x43, 0x23, 0x38, 0xAE, 0x04, 0x1D, 0xCE, 0x40, // C#8....@
4768 /* 00A8 */ 0x53, 0x88, 0x16, 0xA1, 0x20, 0x01, 0x9A, 0xA1, // S... ...
4769 /* 00B0 */ 0x04, 0x18, 0xE4, 0x40, 0xC2, 0x86, 0x3B, 0x1E, // ...@..;.
4770 /* 00B8 */ 0x43, 0xF4, 0x3B, 0x24, 0x29, 0x15, 0x60, 0x11, // C.;$).`.
4771 /* 00C0 */ 0x4A, 0x3E, 0x05, 0x18, 0x9C, 0x81, 0x50, 0xCE, // J>....P.
4772 /* 00C8 */ 0xC6, 0x03, 0x8B, 0xE8, 0x19, 0x24, 0x88, 0x73, // .....$.s
4773 /* 00D0 */ 0x28, 0x18, 0x19, 0x10, 0xF2, 0x2C, 0xC0, 0xFA, // (....,..
4774 /* 00D8 */ 0x18, 0x09, 0x81, 0xDD, 0x23, 0x4B, 0x21, 0x82, // ....#K!.
4775 /* 00E0 */ 0x46, 0x72, 0x56, 0x35, 0x0A, 0xD0, 0x06, 0x22, // FrV5..."
4776 /* 00E8 */ 0x5B, 0x02, 0xC4, 0x4D, 0x40, 0x58, 0x8D, 0xA1, // [..M@X..
4777 /* 00F0 */ 0x08, 0x22, 0x42, 0xD0, 0x28, 0xC6, 0x8B, 0x10, // ."B.(...
4778 /* 00F8 */ 0x2A, 0x44, 0x94, 0x88, 0xE7, 0x17, 0x24, 0x6A, // *D....$j
4779 /* 0100 */ 0x65, 0x20, 0x42, 0x0B, 0x66, 0x04, 0x66, 0x7F, // e B.f.f.
4780 /* 0108 */ 0x10, 0x24, 0xE8, 0xBB, 0x40, 0x16, 0x40, 0x14, // .$..@.@.
4781 /* 0110 */ 0x69, 0x34, 0xA8, 0x53, 0x40, 0x82, 0xA7, 0x02, // i4.S@...
4782 /* 0118 */ 0x9F, 0x08, 0x0E, 0xEA, 0x08, 0x4F, 0xEA, 0x18, // .....O..
4783 /* 0120 */ 0x83, 0x9C, 0xE9, 0x79, 0xD5, 0x79, 0x1C, 0x20, // ...y.y.
4784 /* 0128 */ 0x03, 0x67, 0x43, 0xB3, 0x83, 0xF3, 0x01, 0x14, // .gC.....
4785 /* 0130 */ 0xD7, 0x80, 0xFA, 0xFF, 0x5F, 0x0C, 0x1E, 0x0B, // ...._...
4786 /* 0138 */ 0xD8, 0x6C, 0xC3, 0x61, 0x86, 0xE8, 0x21, 0x87, // .l.a..!.
4787 /* 0140 */ 0x3B, 0x81, 0x43, 0x64, 0x80, 0x1E, 0xD1, 0x13, // ;.Cd....
4788 /* 0148 */ 0x01, 0x76, 0x6A, 0x27, 0xF3, 0x38, 0x50, 0xAA, // .vj'.8P.
4789 /* 0150 */ 0x00, 0xB3, 0x03, 0xD7, 0x24, 0x13, 0x1C, 0x8F, // ....$...
4790 /* 0158 */ 0xCF, 0x01, 0x9E, 0xCF, 0x09, 0x27, 0xB0, 0xFC, // .....'..
4791 /* 0160 */ 0x41, 0xA0, 0x46, 0x66, 0x68, 0x8F, 0xF4, 0xB4, // A.Ffh...
4792 /* 0168 */ 0x5E, 0x07, 0x7C, 0x0C, 0x38, 0x2C, 0x26, 0xF6, // ^.|.8,&.
4793 /* 0170 */ 0x30, 0x41, 0xC7, 0x03, 0x7E, 0xC5, 0x47, 0x03, // 0A..~.G.
4794 /* 0178 */ 0x21, 0x3C, 0x16, 0x78, 0xBE, 0x3E, 0x52, 0xE8, // !<.x.>R.
4795 /* 0180 */ 0x6C, 0x21, 0x2B, 0xE3, 0x41, 0x0D, 0xC0, 0xA7, // l!+.A...
4796 /* 0188 */ 0x04, 0xFC, 0x48, 0x8C, 0x1C, 0xE6, 0x50, 0x0C, // ..H...P.
4797 /* 0190 */ 0x17, 0xDC, 0xD7, 0x03, 0x83, 0xC4, 0x38, 0x2E, // ......8.
4798 /* 0198 */ 0x16, 0x18, 0x42, 0x67, 0x01, 0x8B, 0x1A, 0x3F, // ..Bg...?
4799 /* 01A0 */ 0x3D, 0x5C, 0xF0, 0x73, 0x05, 0x3B, 0x32, 0x44, // =\.s.;2D
4800 /* 01A8 */ 0x7D, 0x16, 0xF0, 0x90, 0xCE, 0xCC, 0xC7, 0x0F, // }.......
4801 /* 01B0 */ 0x8F, 0x10, 0x3E, 0x20, 0xDE, 0xFB, 0xDC, 0xC9, // ..> ....
4802 /* 01B8 */ 0x08, 0xCE, 0xC5, 0x80, 0x16, 0x78, 0xB8, 0x00, // .....x..
4803 /* 01C0 */ 0xCD, 0xCD, 0xC3, 0x60, 0x70, 0x46, 0x0E, 0xFF, // ...`pF..
4804 /* 01C8 */ 0x56, 0xE1, 0xCB, 0x85, 0xCF, 0x11, 0xEF, 0x20, // V......
4805 /* 01D0 */ 0x26, 0x28, 0x0F, 0x98, 0xFE, 0xFF, 0x81, 0xF9, // &(......
4806 /* 01D8 */ 0xD0, 0x3D, 0xEC, 0x08, 0xC1, 0xCF, 0xF9, 0xD1, // .=......
4807 /* 01E0 */ 0xE0, 0x21, 0x24, 0xC2, 0xD1, 0xC3, 0x38, 0x72, // .!$...8r
4808 /* 01E8 */ 0x98, 0xC0, 0x22, 0xC7, 0x86, 0x86, 0xE7, 0xA7, // ..".....
4809 /* 01F0 */ 0x89, 0xE8, 0x47, 0x13, 0x32, 0x7C, 0xD8, 0x28, // ..G.2|.(
4810 /* 01F8 */ 0xA7, 0x10, 0xD7, 0xC7, 0x92, 0x08, 0x75, 0x41, // ......uA
4811 /* 0200 */ 0xE8, 0x8C, 0x62, 0x84, 0x03, 0x8A, 0x72, 0xBA, // ..b...r.
4812 /* 0208 */ 0x2F, 0x00, 0x3E, 0x51, 0x70, 0x02, 0xCB, 0x79, // /.>Qp..y
4813 /* 0210 */ 0x0A, 0xF8, 0x24, 0x43, 0x65, 0x3F, 0x1A, 0x7C, // ..$Ce?.|
4814 /* 0218 */ 0x98, 0x01, 0x68, 0x84, 0xFF, 0x30, 0x03, 0x86, // ..h..0..
4815 /* 0220 */ 0xFF, 0xFF, 0x61, 0x06, 0x6E, 0xE8, 0xF3, 0x06, // ..a.n...
4816 /* 0228 */ 0x9D, 0xD4, 0xB3, 0x03, 0x58, 0x47, 0x08, 0xEF, // ....XG..
4817 /* 0230 */ 0x00, 0x01, 0x3C, 0x86, 0x80, 0x3B, 0x3A, 0x78, // ..<..;:x
4818 /* 0238 */ 0x08, 0x7C, 0x00, 0xAD, 0xDE, 0x36, 0xC8, 0x88, // .|...6..
4819 /* 0240 */ 0x4E, 0x0C, 0x77, 0xC8, 0x80, 0x19, 0xE7, 0x34, // N.w....4
4820 /* 0248 */ 0xA1, 0x13, 0x8A, 0xA3, 0x80, 0xC8, 0xC6, 0xD3, // ........
4821 /* 0250 */ 0xC4, 0x27, 0x06, 0x2A, 0x9F, 0x4A, 0xD0, 0xD8, // .'.*.J..
4822 /* 0258 */ 0x21, 0xC4, 0x39, 0xA2, 0xF7, 0x17, 0xF8, 0x22, // !.9...."
4823 /* 0260 */ 0xC1, 0x75, 0x08, 0xE3, 0xF2, 0x28, 0x24, 0x0E, // .u...($.
4824 /* 0268 */ 0x42, 0xE3, 0xF2, 0xD0, 0x08, 0x1C, 0x05, 0xF1, // B.......
4825 /* 0270 */ 0x57, 0xC3, 0x51, 0x21, 0x74, 0xB6, 0xC1, 0x9D, // W.Q!t...
4826 /* 0278 */ 0x12, 0x3C, 0x96, 0x67, 0x09, 0x0F, 0xE2, 0x18, // .<.g....
4827 /* 0280 */ 0x1C, 0x0D, 0x42, 0x1F, 0x32, 0x1F, 0x39, 0xF0, // ..B.2.9.
4828 /* 0288 */ 0x77, 0x14, 0x9F, 0x63, 0xF8, 0x45, 0xE0, 0x79, // w..c.E.y
4829 /* 0290 */ 0x02, 0x2C, 0x27, 0x16, 0xDC, 0x4E, 0xCF, 0x84, // .,'..N..
4830 /* 0298 */ 0xFD, 0xFF, 0x67, 0xC2, 0x06, 0xC2, 0x8E, 0x3A, // ..g....:
4831 /* 02A0 */ 0x7C, 0x0C, 0x3E, 0x89, 0x9C, 0x85, 0x09, 0xD8, // |.>.....
4832 /* 02A8 */ 0x39, 0x06, 0x7C, 0x67, 0x1C, 0xDC, 0xE1, 0x01, // 9.|g....
4833 /* 02B0 */ 0x1E, 0x90, 0x6F, 0x0A, 0x3E, 0x11, 0x3C, 0x2D, // ..o.>.<-
4834 /* 02B8 */ 0xB0, 0x39, 0x3C, 0x1C, 0xF8, 0x68, 0xC0, 0xE0, // .9<..h..
4835 /* 02C0 */ 0xB9, 0x84, 0x91, 0xEB, 0xDB, 0x62, 0x59, 0xE3, // .....bY.
4836 /* 02C8 */ 0x42, 0x0D, 0xD4, 0x87, 0x13, 0x86, 0xFD, 0x4C, // B......L
4837 /* 02D0 */ 0xE0, 0xE3, 0xC8, 0x71, 0x3E, 0x11, 0x3C, 0x12, // ...q>.<.
4838 /* 02D8 */ 0x61, 0x60, 0x3D, 0x74, 0x0E, 0x6B, 0xB4, 0xB0, // a`=t.k..
4839 /* 02E0 */ 0x47, 0xFC, 0x40, 0x81, 0xC3, 0x08, 0xEB, 0xD3, // G.@.....
4840 /* 02E8 */ 0x16, 0x38, 0x4E, 0x47, 0xF0, 0x51, 0x7D, 0x1C, // .8NG.Q}.
4841 /* 02F0 */ 0x00, 0xC7, 0xED, 0x81, 0xCD, 0xE1, 0xDC, 0x8C, // ........
4842 /* 02F8 */ 0x12, 0x24, 0x62, 0x30, 0x0F, 0xC1, 0x18, 0xBE, // .$b0....
4843 /* 0300 */ 0xB2, 0x18, 0xE8, 0x99, 0x25, 0xC6, 0xF1, 0x84, // ....%...
4844 /* 0308 */ 0x78, 0x06, 0xC0, 0x2B, 0xB4, 0xE9, 0x53, 0xA3, // x..+..S.
4845 /* 0310 */ 0x51, 0xAB, 0x06, 0x65, 0x6A, 0x94, 0x69, 0x50, // Q..ej.iP
4846 /* 0318 */ 0xAB, 0x4F, 0xA5, 0xC6, 0x8C, 0x9D, 0xAA, 0xC8, // .O......
4847 /* 0320 */ 0xF3, 0x41, 0x83, 0x76, 0x24, 0x10, 0x1A, 0x92, // .A.v$...
4848 /* 0328 */ 0x42, 0x20, 0x16, 0xB1, 0x26, 0x19, 0x39, 0x70, // B ..&.9p
4849 /* 0330 */ 0x19, 0x44, 0x40, 0xFE, 0xFF, 0x03 // .D@...
4850 })
4851 }
4852
4853 Device (PS2K)
4854 {
4855 Name (_HID, "IDEA0104") // _HID: Hardware ID
4856 Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _CID: Compatible ID
4857 Method (_STA, 0, NotSerialized) // _STA: Status
4858 {
4859 Return (0x0F)
4860 }
4861
4862 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4863 {
4864 IO (Decode16,
4865 0x0060, // Range Minimum
4866 0x0060, // Range Maximum
4867 0x01, // Alignment
4868 0x01, // Length
4869 )
4870 IO (Decode16,
4871 0x0064, // Range Minimum
4872 0x0064, // Range Maximum
4873 0x01, // Alignment
4874 0x01, // Length
4875 )
4876 IRQ (Edge, ActiveHigh, Exclusive, )
4877 {1}
4878 })
4879 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
4880 {
4881 StartDependentFn (0x00, 0x00)
4882 {
4883 FixedIO (
4884 0x0060, // Address
4885 0x01, // Length
4886 )
4887 FixedIO (
4888 0x0064, // Address
4889 0x01, // Length
4890 )
4891 IRQNoFlags ()
4892 {1}
4893 }
4894 EndDependentFn ()
4895 })
4896 }
4897
4898 Device (PS2M)
4899 {
4900 Name (PSMS, Zero)
4901 Name (SHID, 0x04232E4F)
4902 Name (SCID, 0x130FD041)
4903 Name (CHID, 0x01006D42)
4904 Name (CCID, 0x130FD041)
4905 Name (THID, 0x41C18C4E)
4906 Name (TCID, 0x130FD041)
4907 Name (_HID, EisaId ("ETD061A")) // _HID: Hardware ID
4908 Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID
4909 Name (AHID, 0x2216A906)
4910 Name (ACID, 0x130FD041)
4911 Method (_STA, 0, NotSerialized) // _STA: Status
4912 {
4913 Return (0x0F)
4914 }
4915
4916 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4917 {
4918 IRQ (Edge, ActiveHigh, Exclusive, )
4919 {12}
4920 })
4921 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
4922 {
4923 StartDependentFn (0x00, 0x00)
4924 {
4925 IRQNoFlags ()
4926 {12}
4927 }
4928 EndDependentFn ()
4929 })
4930 }
4931 }
4932 }
4933 }
4934
4935 Name (EMFG, Zero)
4936 Mutex (MUTX, 0x00)
4937 OperationRegion (PRT0, SystemIO, 0x80, 0x04)
4938 Field (PRT0, DWordAcc, Lock, Preserve)
4939 {
4940 P80H, 32
4941 }
4942
4943 Method (P8XH, 3, Serialized)
4944 {
4945 If ((Arg0 == Zero))
4946 {
4947 P80D = ((P80D & 0xFFFFFF00) | Arg1)
4948 }
4949
4950 If ((Arg0 == One))
4951 {
4952 P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
4953 }
4954
4955 If ((Arg0 == 0x02))
4956 {
4957 P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
4958 }
4959
4960 If ((Arg0 == 0x03))
4961 {
4962 P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
4963 }
4964
4965 If ((Arg0 == 0x04))
4966 {
4967 P80D = ((P80D & Zero) | Arg1)
4968 }
4969
4970 If ((Arg2 == Zero)){}
4971 If ((Arg2 == One))
4972 {
4973 P80H = P80D /* \P80D */
4974 }
4975
4976 CMSP (P80D)
4977 }
4978
4979 OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
4980 Field (SPRT, ByteAcc, Lock, Preserve)
4981 {
4982 SSMP, 8
4983 }
4984
4985 Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
4986 {
4987 GPIC = Arg0
4988 PICM = Arg0
4989 }
4990
4991 OperationRegion (CMS1, SystemIO, 0x72, 0x02)
4992 Field (CMS1, ByteAcc, NoLock, Preserve)
4993 {
4994 CMSI, 8,
4995 CMSD, 8
4996 }
4997
4998 IndexField (CMSI, CMSD, ByteAcc, NoLock, Preserve)
4999 {
5000 Offset (0x40),
5001 CM40, 8,
5002 CM41, 8,
5003 CM42, 8,
5004 CM43, 8,
5005 CM44, 8,
5006 CM45, 8,
5007 CM46, 8,
5008 CM47, 8,
5009 CM48, 8,
5010 CM49, 8,
5011 CM4A, 8,
5012 CM4B, 8,
5013 CM4C, 8,
5014 CM4D, 8,
5015 CM4E, 8,
5016 CM4F, 8,
5017 Offset (0x74),
5018 TYOS, 8
5019 }
5020
5021 Method (CMSR, 1, NotSerialized)
5022 {
5023 CMSI = Arg0
5024 Local0 = CMSD /* \CMSD */
5025 Return (Local0)
5026 }
5027
5028 Method (CMSW, 2, NotSerialized)
5029 {
5030 CMSI = Arg0
5031 CMSD = Arg1
5032 }
5033
5034 Method (CMSP, 1, NotSerialized)
5035 {
5036 CM4F = CM4E /* \CM4E */
5037 CM4E = CM4D /* \CM4D */
5038 CM4D = CM4C /* \CM4C */
5039 CM4C = CM4B /* \CM4B */
5040 CM4B = CM4A /* \CM4A */
5041 CM4A = CM49 /* \CM49 */
5042 CM49 = CM48 /* \CM48 */
5043 CM48 = CM47 /* \CM47 */
5044 CM47 = CM46 /* \CM46 */
5045 CM46 = CM45 /* \CM45 */
5046 CM45 = CM44 /* \CM44 */
5047 CM44 = CM43 /* \CM43 */
5048 CM43 = CM42 /* \CM42 */
5049 CM42 = CM41 /* \CM41 */
5050 CM41 = CM40 /* \CM40 */
5051 CM40 = Arg0
5052 }
5053
5054 Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
5055 {
5056 P80D = Zero
5057 P8XH (Zero, Arg0, One)
5058 SLPS = Arg0
5059 Local1 = Arg0
5060 \_SB.PCI0.LPCB.H_EC.SLPT |= Local1
5061 If ((Arg0 == 0x03))
5062 {
5063 If ((DTSE && (TCNT > One)))
5064 {
5065 TRAP (TRTD, 0x1E)
5066 }
5067 }
5068
5069 If ((DBGS == Zero)){}
5070 If ((((Arg0 == 0x03) || (Arg0 == 0x04)) || (Arg0 == 0x05)))
5071 {
5072 If ((PFLV == FDTP))
5073 {
5074 GP27 = One
5075 }
5076 }
5077
5078 EMFG = \_SB.PCI0.LPCB.H_EC.APFG
5079 If ((CondRefOf (\_OSI, Local0) && (Arg0 == 0x04)))
5080 {
5081 If (_OSI ("Linux"))
5082 {
5083 OSVR = 0x03
5084 }
5085 Else
5086 {
5087 If (_OSI ("FreeBSD"))
5088 {
5089 OSVR = 0x06
5090 }
5091
5092 If (_OSI ("HP-UX"))
5093 {
5094 OSVR = 0x07
5095 }
5096
5097 If (_OSI ("OpenVMS"))
5098 {
5099 OSVR = 0x08
5100 }
5101
5102 If (_OSI ("Windows 2001 SP1"))
5103 {
5104 OSVR = 0x09
5105 }
5106
5107 If (_OSI ("Windows 2001 SP2"))
5108 {
5109 OSVR = 0x0A
5110 }
5111
5112 If (_OSI ("Windows 2001 SP3"))
5113 {
5114 OSVR = 0x0B
5115 }
5116
5117 If (_OSI ("Windows 2006"))
5118 {
5119 OSVR = 0x0C
5120 }
5121
5122 If (_OSI ("Windows 2006 SP1"))
5123 {
5124 OSVR = 0x0D
5125 }
5126
5127 If (_OSI ("Windows 2009"))
5128 {
5129 OSVR = 0x0E
5130 }
5131
5132 If (_OSI ("Windows 2012"))
5133 {
5134 OSVR = 0x10
5135 }
5136 }
5137
5138 TYOS = OSVR /* \OSVR */
5139 }
5140
5141 If ((Arg0 == 0x03))
5142 {
5143 P8XH (Zero, 0x53, One)
5144 }
5145
5146 If ((Arg0 == 0x04))
5147 {
5148 P8XH (Zero, 0x54, One)
5149 }
5150
5151 If ((Arg0 == 0x05))
5152 {
5153 P8XH (Zero, 0x55, One)
5154 }
5155 }
5156
5157 Method (_WAK, 1, Serialized) // _WAK: Wake
5158 {
5159 P80D = Zero
5160 P8XH (Zero, Arg0, One)
5161 If (NEXP)
5162 {
5163 If ((OSCC & 0x02))
5164 {
5165 \_SB.PCI0.NHPG ()
5166 }
5167
5168 If ((OSCC & 0x04))
5169 {
5170 \_SB.PCI0.NPME ()
5171 }
5172 }
5173
5174 If ((Arg0 == 0x03))
5175 {
5176 SSMP = 0x70
5177 }
5178
5179 If (((Arg0 == 0x03) || (Arg0 == 0x04)))
5180 {
5181 \_SB.PCI0.LPCB.H_EC.APFG = EMFG /* \EMFG */
5182 If ((DTSE && (TCNT > One)))
5183 {
5184 TRAP (TRTD, 0x14)
5185 }
5186
5187 If ((OSYS == 0x07D2))
5188 {
5189 If ((CFGD & One))
5190 {
5191 If ((\_PR.CPU0._PPC > Zero))
5192 {
5193 \_PR.CPU0._PPC -= One
5194 PNOT ()
5195 \_PR.CPU0._PPC += One
5196 PNOT ()
5197 }
5198 Else
5199 {
5200 \_PR.CPU0._PPC += One
5201 PNOT ()
5202 \_PR.CPU0._PPC -= One
5203 PNOT ()
5204 }
5205 }
5206 }
5207
5208 P8XH (Zero, 0x11, One)
5209 If ((ECON == One))
5210 {
5211 If (((LIDS == \_SB.PCI0.LPCB.H_EC.LSTE) & (\_SB.PCI0.LPCB.H_EC.LSTE == Zero)))
5212 {
5213 If (\_SB.PCI0.LPCB.H_EC.LSTE)
5214 {
5215 LIDS = Zero
5216 }
5217 Else
5218 {
5219 LIDS = One
5220 }
5221
5222 If (IGDS)
5223 {
5224 If (\_SB.PCI0.GFX0.GLID (LIDS))
5225 {
5226 \_SB.PCI0.GFX0.CLID |= 0x80000000
5227 }
5228 }
5229 }
5230
5231 P8XH (Zero, 0x22, One)
5232 If ((\_SB.PCI0.LPCB.H_EC.ACS != PWRS))
5233 {
5234 PWRS = \_SB.PCI0.LPCB.H_EC.ACS
5235 PNOT ()
5236 }
5237 }
5238
5239 P8XH (Zero, 0x33, One)
5240 If ((RP1D == Zero))
5241 {
5242 Notify (\_SB.PCI0.RP01, Zero) // Bus Check
5243 }
5244
5245 If ((RP2D == Zero))
5246 {
5247 Notify (\_SB.PCI0.RP02, Zero) // Bus Check
5248 }
5249
5250 If ((RP3D == Zero))
5251 {
5252 Notify (\_SB.PCI0.RP03, Zero) // Bus Check
5253 }
5254
5255 If ((RP4D == Zero))
5256 {
5257 Notify (\_SB.PCI0.RP04, Zero) // Bus Check
5258 }
5259
5260 If ((RP5D == Zero))
5261 {
5262 Notify (\_SB.PCI0.RP05, Zero) // Bus Check
5263 }
5264
5265 If ((RP6D == Zero))
5266 {
5267 Notify (\_SB.PCI0.RP06, Zero) // Bus Check
5268 }
5269
5270 If ((RP7D == Zero))
5271 {
5272 If ((DSTS == Zero))
5273 {
5274 Notify (\_SB.PCI0.RP07, Zero) // Bus Check
5275 }
5276 }
5277
5278 If ((RP8D == Zero))
5279 {
5280 If ((DSTS == Zero))
5281 {
5282 Notify (\_SB.PCI0.RP08, Zero) // Bus Check
5283 }
5284 }
5285 }
5286
5287 If (((Arg0 == 0x03) || (Arg0 == 0x04)))
5288 {
5289 \_SB.PCI0.XHC.XWAK ()
5290 \_PR.CPU0.CTLD ()
5291 }
5292
5293 If ((CondRefOf (\_OSI, Local0) && (Arg0 == 0x04)))
5294 {
5295 If (_OSI ("FreeBSD"))
5296 {
5297 OSVR = 0x06
5298 }
5299
5300 If (_OSI ("HP-UX"))
5301 {
5302 OSVR = 0x07
5303 }
5304
5305 If (_OSI ("OpenVMS"))
5306 {
5307 OSVR = 0x08
5308 }
5309
5310 If (_OSI ("Windows 2001 SP1"))
5311 {
5312 OSVR = 0x09
5313 }
5314
5315 If (_OSI ("Windows 2001 SP2"))
5316 {
5317 OSVR = 0x0A
5318 }
5319
5320 If (_OSI ("Windows 2001 SP3"))
5321 {
5322 OSVR = 0x0B
5323 }
5324
5325 If (_OSI ("Windows 2006"))
5326 {
5327 OSVR = 0x0C
5328 }
5329
5330 If (_OSI ("Windows 2006 SP1"))
5331 {
5332 OSVR = 0x0D
5333 }
5334
5335 If (_OSI ("Windows 2009"))
5336 {
5337 OSVR = 0x0E
5338 }
5339
5340 If (_OSI ("Windows 2012"))
5341 {
5342 OSVR = 0x10
5343 }
5344
5345 If (_OSI ("Linux"))
5346 {
5347 OSVR = 0x03
5348 }
5349
5350 \_SB.PCI0.LPCB.H_EC.OSVN = OSVR /* \OSVR */
5351 }
5352
5353 If ((Arg0 == 0x03))
5354 {
5355 P8XH (Zero, 0xE3, One)
5356 }
5357
5358 If ((Arg0 == 0x04))
5359 {
5360 P8XH (Zero, 0xE4, One)
5361 }
5362
5363 If ((Arg0 == 0x05))
5364 {
5365 P8XH (Zero, 0xE5, One)
5366 }
5367
5368 Return (Package (0x02)
5369 {
5370 Zero,
5371 Zero
5372 })
5373 }
5374
5375 Method (GETB, 3, Serialized)
5376 {
5377 Local0 = (Arg0 * 0x08)
5378 Local1 = (Arg1 * 0x08)
5379 CreateField (Arg2, Local0, Local1, TBF3)
5380 Return (TBF3) /* \GETB.TBF3 */
5381 }
5382
5383 Method (PNOT, 0, Serialized)
5384 {
5385 If ((TCNT > One))
5386 {
5387 If ((PDC0 & 0x08))
5388 {
5389 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
5390 If ((PDC0 & 0x10))
5391 {
5392 Sleep (0x64)
5393 Notify (\_PR.CPU0, 0x81) // C-State Change
5394 }
5395 }
5396
5397 If ((PDC1 & 0x08))
5398 {
5399 Notify (\_PR.CPU1, 0x80) // Performance Capability Change
5400 If ((PDC1 & 0x10))
5401 {
5402 Sleep (0x64)
5403 Notify (\_PR.CPU1, 0x81) // C-State Change
5404 }
5405 }
5406
5407 If ((PDC2 & 0x08))
5408 {
5409 Notify (\_PR.CPU2, 0x80) // Performance Capability Change
5410 If ((PDC2 & 0x10))
5411 {
5412 Sleep (0x64)
5413 Notify (\_PR.CPU2, 0x81) // C-State Change
5414 }
5415 }
5416
5417 If ((PDC3 & 0x08))
5418 {
5419 Notify (\_PR.CPU3, 0x80) // Performance Capability Change
5420 If ((PDC3 & 0x10))
5421 {
5422 Sleep (0x64)
5423 Notify (\_PR.CPU3, 0x81) // C-State Change
5424 }
5425 }
5426
5427 If ((PDC4 & 0x08))
5428 {
5429 Notify (\_PR.CPU4, 0x80) // Performance Capability Change
5430 If ((PDC4 & 0x10))
5431 {
5432 Sleep (0x64)
5433 Notify (\_PR.CPU4, 0x81) // C-State Change
5434 }
5435 }
5436
5437 If ((PDC5 & 0x08))
5438 {
5439 Notify (\_PR.CPU5, 0x80) // Performance Capability Change
5440 If ((PDC5 & 0x10))
5441 {
5442 Sleep (0x64)
5443 Notify (\_PR.CPU5, 0x81) // C-State Change
5444 }
5445 }
5446
5447 If ((PDC6 & 0x08))
5448 {
5449 Notify (\_PR.CPU6, 0x80) // Performance Capability Change
5450 If ((PDC6 & 0x10))
5451 {
5452 Sleep (0x64)
5453 Notify (\_PR.CPU6, 0x81) // C-State Change
5454 }
5455 }
5456
5457 If ((PDC7 & 0x08))
5458 {
5459 Notify (\_PR.CPU7, 0x80) // Performance Capability Change
5460 If ((PDC7 & 0x10))
5461 {
5462 Sleep (0x64)
5463 Notify (\_PR.CPU7, 0x81) // C-State Change
5464 }
5465 }
5466 }
5467 Else
5468 {
5469 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
5470 Sleep (0x64)
5471 Notify (\_PR.CPU0, 0x81) // C-State Change
5472 }
5473 }
5474
5475 Method (TRAP, 2, Serialized)
5476 {
5477 SMIF = Arg1
5478 If ((Arg0 == TRTP))
5479 {
5480 TRP0 = Zero
5481 }
5482
5483 If ((Arg0 == TRTD))
5484 {
5485 DTSF = Arg1
5486 TRPD = Zero
5487 Return (DTSF) /* \DTSF */
5488 }
5489
5490 If ((Arg0 == TRTI))
5491 {
5492 TRPH = Zero
5493 }
5494
5495 Return (SMIF) /* \SMIF */
5496 }
5497
5498 Scope (_SB.PCI0)
5499 {
5500 Method (_INI, 0, NotSerialized) // _INI: Initialize
5501 {
5502 OSYS = 0x07D0
5503 If (CondRefOf (\_OSI, Local0))
5504 {
5505 If (_OSI ("Windows 2001"))
5506 {
5507 OSYS = 0x07D1
5508 }
5509
5510 If (_OSI ("Windows 2001 SP1"))
5511 {
5512 OSYS = 0x07D1
5513 }
5514
5515 If (_OSI ("Windows 2001 SP2"))
5516 {
5517 OSYS = 0x07D2
5518 }
5519
5520 If (_OSI ("Windows 2001.1"))
5521 {
5522 OSYS = 0x07D3
5523 }
5524
5525 If (_OSI ("Windows 2006"))
5526 {
5527 OSYS = 0x07D6
5528 }
5529
5530 If (_OSI ("Windows 2009"))
5531 {
5532 OSYS = 0x07D9
5533 }
5534 }
5535 }
5536
5537 Method (NHPG, 0, Serialized)
5538 {
5539 ^RP01.HPEX = Zero
5540 ^RP02.HPEX = Zero
5541 ^RP03.HPEX = Zero
5542 ^RP04.HPEX = Zero
5543 ^RP01.HPSX = One
5544 ^RP02.HPSX = One
5545 ^RP03.HPSX = One
5546 ^RP04.HPSX = One
5547 }
5548
5549 Method (NPME, 0, Serialized)
5550 {
5551 ^RP01.PMEX = Zero
5552 ^RP02.PMEX = Zero
5553 ^RP03.PMEX = Zero
5554 ^RP04.PMEX = Zero
5555 ^RP05.PMEX = Zero
5556 ^RP06.PMEX = Zero
5557 ^RP07.PMEX = Zero
5558 ^RP08.PMEX = Zero
5559 ^RP01.PMSX = One
5560 ^RP02.PMSX = One
5561 ^RP03.PMSX = One
5562 ^RP04.PMSX = One
5563 ^RP05.PMSX = One
5564 ^RP06.PMSX = One
5565 ^RP07.PMSX = One
5566 ^RP08.PMSX = One
5567 }
5568 }
5569
5570 Scope (\)
5571 {
5572 Name (PICM, Zero)
5573 }
5574
5575 Scope (_PR)
5576 {
5577 Processor (CPU0, 0x01, 0x00000410, 0x06){}
5578 Processor (CPU1, 0x02, 0x00000410, 0x06){}
5579 Processor (CPU2, 0x03, 0x00000410, 0x06){}
5580 Processor (CPU3, 0x04, 0x00000410, 0x06){}
5581 Processor (CPU4, 0x05, 0x00000410, 0x06){}
5582 Processor (CPU5, 0x06, 0x00000410, 0x06){}
5583 Processor (CPU6, 0x07, 0x00000410, 0x06){}
5584 Processor (CPU7, 0x08, 0x00000410, 0x06){}
5585 }
5586
5587 Scope (_SB.PCI0)
5588 {
5589 Device (PDRC)
5590 {
5591 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
5592 Name (_UID, One) // _UID: Unique ID
5593 Name (BUF0, ResourceTemplate ()
5594 {
5595 Memory32Fixed (ReadWrite,
5596 0x00000000, // Address Base
5597 0x00004000, // Address Length
5598 _Y11)
5599 Memory32Fixed (ReadWrite,
5600 0x00000000, // Address Base
5601 0x00008000, // Address Length
5602 _Y13)
5603 Memory32Fixed (ReadWrite,
5604 0x00000000, // Address Base
5605 0x00001000, // Address Length
5606 _Y14)
5607 Memory32Fixed (ReadWrite,
5608 0x00000000, // Address Base
5609 0x00001000, // Address Length
5610 _Y15)
5611 Memory32Fixed (ReadWrite,
5612 0x00000000, // Address Base
5613 0x00000000, // Address Length
5614 _Y16)
5615 Memory32Fixed (ReadWrite,
5616 0xFED20000, // Address Base
5617 0x00020000, // Address Length
5618 )
5619 Memory32Fixed (ReadOnly,
5620 0xFED90000, // Address Base
5621 0x00004000, // Address Length
5622 )
5623 Memory32Fixed (ReadOnly,
5624 0xFF000000, // Address Base
5625 0x01000000, // Address Length
5626 )
5627 Memory32Fixed (ReadOnly,
5628 0xFEE00000, // Address Base
5629 0x00100000, // Address Length
5630 )
5631 Memory32Fixed (ReadWrite,
5632 0x00000000, // Address Base
5633 0x00001000, // Address Length
5634 _Y12)
5635 })
5636 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
5637 {
5638 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._BAS, RBR0) // _BAS: Base Address
5639 RBR0 = (^^LPCB.RCBA << 0x0E)
5640 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._BAS, TBR0) // _BAS: Base Address
5641 TBR0 = TBAB /* \TBAB */
5642 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._LEN, TBLN) // _LEN: Length
5643 If ((TBAB == Zero))
5644 {
5645 TBLN = Zero
5646 }
5647
5648 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._BAS, MBR0) // _BAS: Base Address
5649 MBR0 = (MHBR << 0x0F)
5650 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._BAS, DBR0) // _BAS: Base Address
5651 DBR0 = (DIBR << 0x0C)
5652 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y15._BAS, EBR0) // _BAS: Base Address
5653 EBR0 = (EPBR << 0x0C)
5654 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._BAS, XBR0) // _BAS: Base Address
5655 XBR0 = (PXBR << 0x1A)
5656 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._LEN, XSZ0) // _LEN: Length
5657 XSZ0 = (0x10000000 >> PXSZ) /* \_SB_.PCI0.PXSZ */
5658 Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
5659 }
5660 }
5661 }
5662
5663 Method (BRTN, 1, Serialized)
5664 {
5665 If (((DID1 & 0x0F00) == 0x0400))
5666 {
5667 Notify (\_SB.PCI0.GFX0.DD01, Arg0)
5668 }
5669
5670 If (((DID2 & 0x0F00) == 0x0400))
5671 {
5672 Notify (\_SB.PCI0.GFX0.DD02, Arg0)
5673 }
5674
5675 If (((DID3 & 0x0F00) == 0x0400))
5676 {
5677 Notify (\_SB.PCI0.GFX0.DD03, Arg0)
5678 }
5679
5680 If (((DID4 & 0x0F00) == 0x0400))
5681 {
5682 Notify (\_SB.PCI0.GFX0.DD04, Arg0)
5683 }
5684
5685 If (((DID5 & 0x0F00) == 0x0400))
5686 {
5687 Notify (\_SB.PCI0.GFX0.DD05, Arg0)
5688 }
5689
5690 If (((DID6 & 0x0F00) == 0x0400))
5691 {
5692 Notify (\_SB.PCI0.GFX0.DD06, Arg0)
5693 }
5694
5695 If (((DID7 & 0x0F00) == 0x0400))
5696 {
5697 Notify (\_SB.PCI0.GFX0.DD07, Arg0)
5698 }
5699
5700 If (((DID8 & 0x0F00) == 0x0400))
5701 {
5702 Notify (\_SB.PCI0.GFX0.DD08, Arg0)
5703 }
5704 }
5705
5706 Scope (_GPE)
5707 {
5708 Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
5709 {
5710 Notify (\_SB.PCI0.P0P1, 0x02) // Device Wake
5711 }
5712
5713 Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
5714 {
5715 If ((RP1D == Zero))
5716 {
5717 \_SB.PCI0.RP01.HPME ()
5718 Notify (\_SB.PCI0.RP01, 0x02) // Device Wake
5719 }
5720
5721 If ((RP2D == Zero))
5722 {
5723 \_SB.PCI0.RP02.HPME ()
5724 Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
5725 }
5726
5727 If ((RP3D == Zero))
5728 {
5729 \_SB.PCI0.RP03.HPME ()
5730 Notify (\_SB.PCI0.RP03, 0x02) // Device Wake
5731 Notify (\_SB.PWRB, 0x02) // Device Wake
5732 }
5733
5734 If ((RP4D == Zero))
5735 {
5736 \_SB.PCI0.RP04.HPME ()
5737 Notify (\_SB.PCI0.RP04, 0x02) // Device Wake
5738 }
5739
5740 If ((RP5D == Zero))
5741 {
5742 \_SB.PCI0.RP05.HPME ()
5743 Notify (\_SB.PCI0.RP05, 0x02) // Device Wake
5744 }
5745
5746 If ((RP6D == Zero))
5747 {
5748 \_SB.PCI0.RP06.HPME ()
5749 Notify (\_SB.PCI0.RP06, 0x02) // Device Wake
5750 }
5751
5752 If ((RP7D == Zero))
5753 {
5754 \_SB.PCI0.RP07.HPME ()
5755 Notify (\_SB.PCI0.RP07, 0x02) // Device Wake
5756 }
5757
5758 If ((RP8D == Zero))
5759 {
5760 \_SB.PCI0.RP08.HPME ()
5761 Notify (\_SB.PCI0.RP08, 0x02) // Device Wake
5762 }
5763
5764 Notify (\_SB.PCI0.PEG0, 0x02) // Device Wake
5765 Notify (\_SB.PCI0.PEG0.PEGP, 0x02) // Device Wake
5766 Notify (\_SB.PCI0.PEG1, 0x02) // Device Wake
5767 Notify (\_SB.PCI0.PEG2, 0x02) // Device Wake
5768 Notify (\_SB.PCI0.PEG3, 0x02) // Device Wake
5769 }
5770
5771 Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
5772 {
5773 Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake
5774 Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake
5775 Notify (\_SB.PCI0.HDEF, 0x02) // Device Wake
5776 Notify (\_SB.PCI0.GLAN, 0x02) // Device Wake
5777 Notify (\_SB.PWRB, 0x02) // Device Wake
5778 Notify (\_SB.PCI0.XHC, 0x02) // Device Wake
5779 If ((\_SB.PCI0.XHC.PMES && \_SB.PCI0.XHC.PMES))
5780 {
5781 \_SB.PCI0.XHC.PMES = One
5782 }
5783 }
5784
5785 Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
5786 {
5787 L01C += One
5788 If (((RP1D == Zero) && \_SB.PCI0.RP01.HPSX))
5789 {
5790 P8XH (One, One, One)
5791 P8XH (Zero, L01C, One)
5792 Sleep (0x64)
5793 If (\_SB.PCI0.RP01.PDCX)
5794 {
5795 \_SB.PCI0.RP01.PDCX = One
5796 \_SB.PCI0.RP01.HPSX = One
5797 If (!\_SB.PCI0.RP01.PDSX)
5798 {
5799 \_SB.PCI0.RP01.L0SE = Zero
5800 }
5801
5802 Notify (\_SB.PCI0.RP01, Zero) // Bus Check
5803 }
5804 Else
5805 {
5806 \_SB.PCI0.RP01.HPSX = One
5807 }
5808 }
5809
5810 If (((RP2D == Zero) && \_SB.PCI0.RP02.HPSX))
5811 {
5812 P8XH (One, 0x02, One)
5813 P8XH (Zero, L01C, One)
5814 Sleep (0x64)
5815 If (\_SB.PCI0.RP02.PDCX)
5816 {
5817 \_SB.PCI0.RP02.PDCX = One
5818 \_SB.PCI0.RP02.HPSX = One
5819 If (!\_SB.PCI0.RP02.PDSX)
5820 {
5821 \_SB.PCI0.RP02.L0SE = Zero
5822 }
5823
5824 Notify (\_SB.PCI0.RP02, Zero) // Bus Check
5825 }
5826 Else
5827 {
5828 \_SB.PCI0.RP02.HPSX = One
5829 }
5830 }
5831
5832 If (((RP3D == Zero) && \_SB.PCI0.RP03.HPSX))
5833 {
5834 P8XH (One, 0x03, One)
5835 P8XH (Zero, L01C, One)
5836 Sleep (0x64)
5837 If (\_SB.PCI0.RP03.PDCX)
5838 {
5839 \_SB.PCI0.RP03.PDCX = One
5840 \_SB.PCI0.RP03.HPSX = One
5841 If (!\_SB.PCI0.RP03.PDSX)
5842 {
5843 \_SB.PCI0.RP03.L0SE = Zero
5844 }
5845
5846 Notify (\_SB.PCI0.RP03, Zero) // Bus Check
5847 }
5848 Else
5849 {
5850 \_SB.PCI0.RP03.HPSX = One
5851 }
5852 }
5853
5854 If (((RP4D == Zero) && \_SB.PCI0.RP04.HPSX))
5855 {
5856 P8XH (One, 0x04, One)
5857 P8XH (Zero, L01C, One)
5858 Sleep (0x64)
5859 If (\_SB.PCI0.RP04.PDCX)
5860 {
5861 \_SB.PCI0.RP04.PDCX = One
5862 \_SB.PCI0.RP04.HPSX = One
5863 If (!\_SB.PCI0.RP04.PDSX)
5864 {
5865 \_SB.PCI0.RP04.L0SE = Zero
5866 }
5867
5868 Notify (\_SB.PCI0.RP04, Zero) // Bus Check
5869 }
5870 Else
5871 {
5872 \_SB.PCI0.RP04.HPSX = One
5873 }
5874 }
5875
5876 If (((RP5D == Zero) && \_SB.PCI0.RP05.HPSX))
5877 {
5878 P8XH (One, 0x05, One)
5879 P8XH (Zero, L01C, One)
5880 Sleep (0x64)
5881 If (\_SB.PCI0.RP05.PDCX)
5882 {
5883 \_SB.PCI0.RP05.PDCX = One
5884 \_SB.PCI0.RP05.HPSX = One
5885 If (!\_SB.PCI0.RP05.PDSX)
5886 {
5887 \_SB.PCI0.RP05.L0SE = Zero
5888 }
5889
5890 Notify (\_SB.PCI0.RP05, Zero) // Bus Check
5891 }
5892 Else
5893 {
5894 \_SB.PCI0.RP05.HPSX = One
5895 }
5896 }
5897
5898 If (((RP6D == Zero) && \_SB.PCI0.RP06.HPSX))
5899 {
5900 Sleep (0x64)
5901 If (\_SB.PCI0.RP06.PDCX)
5902 {
5903 \_SB.PCI0.RP06.PDCX = One
5904 \_SB.PCI0.RP06.HPSX = One
5905 If (!\_SB.PCI0.RP06.PDSX)
5906 {
5907 \_SB.PCI0.RP06.L0SE = Zero
5908 }
5909
5910 Notify (\_SB.PCI0.RP06, Zero) // Bus Check
5911 }
5912 Else
5913 {
5914 \_SB.PCI0.RP06.HPSX = One
5915 }
5916 }
5917
5918 If (((RP7D == Zero) && \_SB.PCI0.RP07.HPSX))
5919 {
5920 P8XH (One, 0x07, One)
5921 P8XH (Zero, L01C, One)
5922 Sleep (0x64)
5923 If (\_SB.PCI0.RP07.PDCX)
5924 {
5925 \_SB.PCI0.RP07.PDCX = One
5926 \_SB.PCI0.RP07.HPSX = One
5927 If (!\_SB.PCI0.RP07.PDSX)
5928 {
5929 \_SB.PCI0.RP07.L0SE = Zero
5930 }
5931
5932 If (ECON){}
5933 }
5934 Else
5935 {
5936 \_SB.PCI0.RP07.HPSX = One
5937 }
5938 }
5939
5940 If (((RP8D == Zero) && \_SB.PCI0.RP08.HPSX))
5941 {
5942 P8XH (One, 0x08, One)
5943 P8XH (Zero, L01C, One)
5944 Sleep (0x64)
5945 If (\_SB.PCI0.RP08.PDCX)
5946 {
5947 \_SB.PCI0.RP08.PDCX = One
5948 \_SB.PCI0.RP08.HPSX = One
5949 If (!\_SB.PCI0.RP08.PDSX)
5950 {
5951 \_SB.PCI0.RP08.L0SE = Zero
5952 }
5953
5954 If (ECON){}
5955 }
5956 Else
5957 {
5958 \_SB.PCI0.RP08.HPSX = One
5959 }
5960 }
5961 }
5962
5963 Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
5964 {
5965 GPEC = Zero
5966 If (CondRefOf (\_SB.PCI0.IEIT.EITV))
5967 {
5968 \_SB.PCI0.IEIT.EITV ()
5969 }
5970
5971 If (CondRefOf (\TNOT))
5972 {
5973 TNOT ()
5974 }
5975 }
5976
5977 Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
5978 {
5979 If ((\_SB.PCI0.GFX0.GSSE && !GSMI))
5980 {
5981 \_SB.PCI0.GFX0.GSCI ()
5982 }
5983 }
5984
5985 Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
5986 {
5987 \_SB.PCI0.SBUS.HSTS = 0x20
5988 }
5989
5990 Method (_L08, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
5991 {
5992 }
5993 }
5994
5995 Scope (\)
5996 {
5997 OperationRegion (IO_T, SystemIO, 0x1000, 0x10)
5998 Field (IO_T, ByteAcc, NoLock, Preserve)
5999 {
6000 TRPI, 16,
6001 Offset (0x04),
6002 Offset (0x06),
6003 Offset (0x08),
6004 TRP0, 8,
6005 Offset (0x0A),
6006 Offset (0x0B),
6007 Offset (0x0C),
6008 Offset (0x0D),
6009 Offset (0x0E),
6010 Offset (0x0F),
6011 Offset (0x10)
6012 }
6013
6014 OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
6015 Field (IO_D, ByteAcc, NoLock, Preserve)
6016 {
6017 TRPD, 8
6018 }
6019
6020 OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
6021 Field (IO_H, ByteAcc, NoLock, Preserve)
6022 {
6023 TRPH, 8
6024 }
6025
6026 OperationRegion (PMIO, SystemIO, PMBS, 0x80)
6027 Field (PMIO, ByteAcc, NoLock, Preserve)
6028 {
6029 , 14,
6030 PEWS, 1,
6031 Offset (0x28),
6032 Offset (0x2A),
6033 , 3,
6034 GPE3, 1,
6035 Offset (0x3C),
6036 PMEN, 1,
6037 UPRW, 1,
6038 Offset (0x42),
6039 , 1,
6040 GPEC, 1
6041 }
6042
6043 Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
6044 {
6045 Offset (0x20),
6046 Offset (0x22),
6047 , 3,
6048 GPS3, 1,
6049 Offset (0x64),
6050 , 9,
6051 SCIS, 1,
6052 Offset (0x66)
6053 }
6054
6055 OperationRegion (GPIO, SystemIO, GPBS, 0x64)
6056 Field (GPIO, ByteAcc, NoLock, Preserve)
6057 {
6058 GU00, 8,
6059 GU01, 8,
6060 GU02, 8,
6061 GU03, 8,
6062 GIO0, 8,
6063 GIO1, 8,
6064 GIO2, 8,
6065 GIO3, 8,
6066 Offset (0x0C),
6067 GL00, 8,
6068 GL01, 8,
6069 GL02, 8,
6070 GP24, 1,
6071 , 2,
6072 GP27, 1,
6073 GP28, 1,
6074 Offset (0x10),
6075 Offset (0x18),
6076 GB00, 8,
6077 GB01, 8,
6078 GB02, 8,
6079 GB03, 8,
6080 Offset (0x2C),
6081 GIV0, 8,
6082 GIV1, 8,
6083 GIV2, 8,
6084 GIV3, 8,
6085 GU04, 8,
6086 GU05, 8,
6087 GU06, 8,
6088 GU07, 8,
6089 GIO4, 8,
6090 GIO5, 8,
6091 GIO6, 8,
6092 GIO7, 8,
6093 GL04, 8,
6094 GL05, 8,
6095 GL06, 8,
6096 GL07, 8,
6097 Offset (0x40),
6098 GU08, 8,
6099 GU09, 8,
6100 GU0A, 8,
6101 GU0B, 8,
6102 GIO8, 8,
6103 GIO9, 8,
6104 GIOA, 8,
6105 GIOB, 8,
6106 GL08, 8,
6107 GL09, 8,
6108 GL0A, 8,
6109 GL0B, 8
6110 }
6111
6112 OperationRegion (RCRB, SystemMemory, SRCB, 0x4000)
6113 Field (RCRB, DWordAcc, Lock, Preserve)
6114 {
6115 Offset (0x1000),
6116 Offset (0x3000),
6117 Offset (0x3404),
6118 HPAS, 2,
6119 , 5,
6120 HPAE, 1,
6121 Offset (0x3418),
6122 , 1,
6123 , 1,
6124 SATD, 1,
6125 SMBD, 1,
6126 HDAD, 1,
6127 Offset (0x341A),
6128 RP1D, 1,
6129 RP2D, 1,
6130 RP3D, 1,
6131 RP4D, 1,
6132 RP5D, 1,
6133 RP6D, 1,
6134 RP7D, 1,
6135 RP8D, 1,
6136 Offset (0x359C),
6137 UP0D, 1,
6138 UP1D, 1,
6139 UP2D, 1,
6140 UP3D, 1,
6141 UP4D, 1,
6142 UP5D, 1,
6143 UP6D, 1,
6144 UP7D, 1,
6145 UP8D, 1,
6146 UP9D, 1,
6147 UPAD, 1,
6148 UPBD, 1,
6149 UPCD, 1,
6150 UPDD, 1,
6151 , 1,
6152 Offset (0x359E)
6153 }
6154
6155 Method (GPI0, 4, NotSerialized)
6156 {
6157 If (((Arg0 | Arg1) == Zero))
6158 {
6159 Return (Ones)
6160 }
6161 ElseIf (((Arg0 == Zero) & (Arg1 == One)))
6162 {
6163 Return (0x0384)
6164 }
6165
6166 Return ((0x1E * (0x09 - (Arg2 + Arg3))))
6167 }
6168
6169 Method (GDMA, 2, NotSerialized)
6170 {
6171 If ((Arg0 == One))
6172 {
6173 If ((Arg1 == One))
6174 {
6175 Return (0x0F)
6176 }
6177 }
6178
6179 Return (Ones)
6180 }
6181
6182 Method (SFLG, 5, NotSerialized)
6183 {
6184 Local0 = Zero
6185 Local0 |= Arg1
6186 Local0 |= (Arg0 << One)
6187 Local0 |= (Arg2 << 0x03)
6188 Local0 |= (Arg3 << 0x02)
6189 Local0 |= (Arg4 << 0x04)
6190 Return (Local0)
6191 }
6192
6193 Method (SPIO, 3, NotSerialized)
6194 {
6195 Name (PBUF, Buffer (0x05)
6196 {
6197 0x00, 0x00, 0x00, 0x00, 0x00 // .....
6198 })
6199 CreateByteField (PBUF, Zero, RCT)
6200 CreateByteField (PBUF, One, ISP)
6201 CreateByteField (PBUF, 0x02, FAST)
6202 CreateByteField (PBUF, 0x03, DMAE)
6203 CreateByteField (PBUF, 0x04, PIOT)
6204 If (((Arg0 == Zero) || (Arg0 == Ones)))
6205 {
6206 Return (PBUF) /* \SPIO.PBUF */
6207 }
6208
6209 If ((Arg0 > 0xF0))
6210 {
6211 DMAE = One
6212 PIOT = Zero
6213 }
6214 Else
6215 {
6216 FAST = One
6217 If ((Arg1 & 0x02))
6218 {
6219 If (((Arg0 == 0x78) & (Arg2 & 0x02)))
6220 {
6221 RCT = 0x03
6222 ISP = 0x02
6223 PIOT = 0x04
6224 Return (PBUF) /* \SPIO.PBUF */
6225 }
6226
6227 If (((Arg0 <= 0xB4) & (Arg2 & One)))
6228 {
6229 RCT = One
6230 ISP = 0x02
6231 PIOT = 0x03
6232 Return (PBUF) /* \SPIO.PBUF */
6233 }
6234 Else
6235 {
6236 RCT = Zero
6237 ISP = One
6238 PIOT = 0x02
6239 }
6240 }
6241 }
6242
6243 Return (PBUF) /* \SPIO.PBUF */
6244 }
6245
6246 Method (SDMA, 3, NotSerialized)
6247 {
6248 Name (PBUF, Buffer (0x05)
6249 {
6250 0x00, 0x00, 0x00, 0x00 // ....
6251 })
6252 CreateByteField (PBUF, Zero, PCT)
6253 CreateByteField (PBUF, One, PCB)
6254 CreateByteField (PBUF, 0x02, UDMT)
6255 CreateByteField (PBUF, 0x03, UDME)
6256 CreateByteField (PBUF, 0x04, DMAT)
6257 If (((Arg0 == Zero) || (Arg0 == Ones)))
6258 {
6259 Return (PBUF) /* \SDMA.PBUF */
6260 }
6261
6262 If ((Arg0 <= 0x78))
6263 {
6264 If ((Arg1 & 0x04))
6265 {
6266 UDME = One
6267 If (((Arg0 <= 0x0F) & (Arg2 & 0x40)))
6268 {
6269 UDMT = One
6270 PCB = One
6271 PCT = One
6272 DMAT = 0x06
6273 Return (PBUF) /* \SDMA.PBUF */
6274 }
6275
6276 If (((Arg0 <= 0x14) & (Arg2 & 0x20)))
6277 {
6278 UDMT = One
6279 PCB = One
6280 PCT = One
6281 DMAT = 0x05
6282 Return (PBUF) /* \SDMA.PBUF */
6283 }
6284
6285 If (((Arg0 <= 0x1E) & (Arg2 & 0x10)))
6286 {
6287 PCB = One
6288 PCT = 0x02
6289 DMAT = 0x04
6290 Return (PBUF) /* \SDMA.PBUF */
6291 }
6292
6293 If (((Arg0 <= 0x2D) & (Arg2 & 0x08)))
6294 {
6295 PCB = One
6296 PCT = One
6297 DMAT = 0x03
6298 Return (PBUF) /* \SDMA.PBUF */
6299 }
6300
6301 If (((Arg0 <= 0x3C) & (Arg2 & 0x04)))
6302 {
6303 PCT = 0x02
6304 DMAT = 0x02
6305 Return (PBUF) /* \SDMA.PBUF */
6306 }
6307
6308 If (((Arg0 <= 0x5A) & (Arg2 & 0x02)))
6309 {
6310 PCT = One
6311 DMAT = One
6312 Return (PBUF) /* \SDMA.PBUF */
6313 }
6314
6315 If (((Arg0 <= 0x78) & (Arg2 & One)))
6316 {
6317 DMAT = Zero
6318 }
6319 }
6320 }
6321
6322 Return (PBUF) /* \SDMA.PBUF */
6323 }
6324
6325 Method (SETT, 3, Serialized)
6326 {
6327 If ((Arg1 & 0x02))
6328 {
6329 If (((Arg0 <= 0x78) && (Arg2 & 0x02)))
6330 {
6331 Return (0x0B)
6332 }
6333
6334 If (((Arg0 <= 0xB4) && (Arg2 & One)))
6335 {
6336 Return (0x09)
6337 }
6338 }
6339
6340 Return (0x04)
6341 }
6342 }
6343
6344 Scope (_SB.PCI0)
6345 {
6346 Device (GLAN)
6347 {
6348 Name (_ADR, 0x00190000) // _ADR: Address
6349 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
6350 {
6351 If (WOLE)
6352 {
6353 Return (Package (0x02)
6354 {
6355 0x0D,
6356 0x04
6357 })
6358 }
6359 Else
6360 {
6361 Return (Package (0x02)
6362 {
6363 0x0D,
6364 Zero
6365 })
6366 }
6367 }
6368 }
6369
6370 Device (EHC1)
6371 {
6372 Name (_ADR, 0x001D0000) // _ADR: Address
6373 OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
6374 Field (PWKE, DWordAcc, NoLock, Preserve)
6375 {
6376 , 1,
6377 PWUC, 8
6378 }
6379
6380 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
6381 {
6382 If (Arg0)
6383 {
6384 PWUC = Ones
6385 }
6386 Else
6387 {
6388 PWUC = Zero
6389 }
6390 }
6391
6392 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
6393 {
6394 Return (0x02)
6395 }
6396
6397 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
6398 {
6399 Return (0x02)
6400 }
6401
6402 Device (HUBN)
6403 {
6404 Name (_ADR, Zero) // _ADR: Address
6405 Device (PR01)
6406 {
6407 Name (_ADR, One) // _ADR: Address
6408 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6409 {
6410 Name (UPCA, Package (0x04)
6411 {
6412 0xFF,
6413 Zero,
6414 Zero,
6415 Zero
6416 })
6417 Return (UPCA) /* \_SB_.PCI0.EHC1.HUBN.PR01._UPC.UPCA */
6418 }
6419
6420 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6421 {
6422 Name (PLDP, Package (0x01)
6423 {
6424 Buffer (0x10)
6425 {
6426 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6427 /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0.......
6428 }
6429 })
6430 Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01._PLD.PLDP */
6431 }
6432
6433 Device (PR11)
6434 {
6435 Name (_ADR, One) // _ADR: Address
6436 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6437 {
6438 Name (UPCP, Package (0x04)
6439 {
6440 0xFF,
6441 0xFF,
6442 Zero,
6443 Zero
6444 })
6445 Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR11._UPC.UPCP */
6446 }
6447
6448 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6449 {
6450 Name (PLDP, Package (0x01)
6451 {
6452 Buffer (0x10)
6453 {
6454 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6455 /* 0008 */ 0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
6456 }
6457 })
6458 Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR11._PLD.PLDP */
6459 }
6460 }
6461
6462 Device (PR12)
6463 {
6464 Name (_ADR, 0x02) // _ADR: Address
6465 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6466 {
6467 Name (UPCP, Package (0x04)
6468 {
6469 0xFF,
6470 0xFF,
6471 Zero,
6472 Zero
6473 })
6474 Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR12._UPC.UPCP */
6475 }
6476
6477 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6478 {
6479 Name (PLDP, Package (0x01)
6480 {
6481 Buffer (0x10)
6482 {
6483 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6484 /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
6485 }
6486 })
6487 Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR12._PLD.PLDP */
6488 }
6489 }
6490
6491 Device (PR13)
6492 {
6493 Name (_ADR, 0x03) // _ADR: Address
6494 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6495 {
6496 Name (UPCP, Package (0x04)
6497 {
6498 Zero,
6499 0xFF,
6500 Zero,
6501 Zero
6502 })
6503 }
6504
6505 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6506 {
6507 Name (PLDP, Package (0x01)
6508 {
6509 Buffer (0x10)
6510 {
6511 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6512 /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
6513 }
6514 })
6515 Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR13._PLD.PLDP */
6516 }
6517 }
6518
6519 Device (PR14)
6520 {
6521 Name (_ADR, 0x04) // _ADR: Address
6522 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6523 {
6524 Name (UPCP, Package (0x04)
6525 {
6526 Zero,
6527 0xFF,
6528 Zero,
6529 Zero
6530 })
6531 Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._UPC.UPCP */
6532 }
6533
6534 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6535 {
6536 Name (PLDP, Package (0x01)
6537 {
6538 Buffer (0x10)
6539 {
6540 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6541 /* 0008 */ 0xE1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
6542 }
6543 })
6544 Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._PLD.PLDP */
6545 }
6546
6547 Alias (SBV1, SDGV)
6548 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
6549 {
6550 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
6551 {
6552 Switch (ToInteger (Arg2))
6553 {
6554 Case (Zero)
6555 {
6556 If ((Arg1 == One))
6557 {
6558 Return (Buffer (One)
6559 {
6560 0x07 // .
6561 })
6562 }
6563 Else
6564 {
6565 Return (Buffer (One)
6566 {
6567 0x00 // .
6568 })
6569 }
6570 }
6571 Case (One)
6572 {
6573 If ((SDGV == 0xFF))
6574 {
6575 Return (Zero)
6576 }
6577 Else
6578 {
6579 Return (One)
6580 }
6581 }
6582 Case (0x02)
6583 {
6584 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14.SDGV */
6585 }
6586
6587 }
6588 }
6589
6590 Return (Zero)
6591 }
6592 }
6593
6594 Device (PR15)
6595 {
6596 Name (_ADR, 0x05) // _ADR: Address
6597 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6598 {
6599 Name (UPCP, Package (0x04)
6600 {
6601 Zero,
6602 0xFF,
6603 Zero,
6604 Zero
6605 })
6606 Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15._UPC.UPCP */
6607 }
6608
6609 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6610 {
6611 Name (PLDP, Package (0x01)
6612 {
6613 Buffer (0x10)
6614 {
6615 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6616 /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
6617 }
6618 })
6619 Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15._PLD.PLDP */
6620 }
6621
6622 Alias (SBV2, SDGV)
6623 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
6624 {
6625 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
6626 {
6627 Switch (ToInteger (Arg2))
6628 {
6629 Case (Zero)
6630 {
6631 If ((Arg1 == One))
6632 {
6633 Return (Buffer (One)
6634 {
6635 0x07 // .
6636 })
6637 }
6638 Else
6639 {
6640 Return (Buffer (One)
6641 {
6642 0x00 // .
6643 })
6644 }
6645 }
6646 Case (One)
6647 {
6648 If ((SDGV == 0xFF))
6649 {
6650 Return (Zero)
6651 }
6652 Else
6653 {
6654 Return (One)
6655 }
6656 }
6657 Case (0x02)
6658 {
6659 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15.SDGV */
6660 }
6661
6662 }
6663 }
6664
6665 Return (Zero)
6666 }
6667 }
6668
6669 Device (PR16)
6670 {
6671 Name (_ADR, 0x06) // _ADR: Address
6672 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6673 {
6674 Name (UPCP, Package (0x04)
6675 {
6676 Zero,
6677 0xFF,
6678 Zero,
6679 Zero
6680 })
6681 Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._UPC.UPCP */
6682 }
6683
6684 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6685 {
6686 Name (PLDP, Package (0x01)
6687 {
6688 Buffer (0x10)
6689 {
6690 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6691 /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
6692 }
6693 })
6694 Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._PLD.PLDP */
6695 }
6696
6697 Alias (SBV1, SDGV)
6698 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
6699 {
6700 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
6701 {
6702 Switch (ToInteger (Arg2))
6703 {
6704 Case (Zero)
6705 {
6706 If ((Arg1 == One))
6707 {
6708 Return (Buffer (One)
6709 {
6710 0x07 // .
6711 })
6712 }
6713 Else
6714 {
6715 Return (Buffer (One)
6716 {
6717 0x00 // .
6718 })
6719 }
6720 }
6721 Case (One)
6722 {
6723 If ((SDGV == 0xFF))
6724 {
6725 Return (Zero)
6726 }
6727 Else
6728 {
6729 Return (One)
6730 }
6731 }
6732 Case (0x02)
6733 {
6734 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.SDGV */
6735 }
6736
6737 }
6738 }
6739
6740 Return (Zero)
6741 }
6742 }
6743
6744 Device (PR17)
6745 {
6746 Name (_ADR, 0x07) // _ADR: Address
6747 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6748 {
6749 Name (UPCP, Package (0x04)
6750 {
6751 Zero,
6752 0xFF,
6753 Zero,
6754 Zero
6755 })
6756 Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._UPC.UPCP */
6757 }
6758
6759 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6760 {
6761 Name (PLDP, Package (0x01)
6762 {
6763 Buffer (0x10)
6764 {
6765 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6766 /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
6767 }
6768 })
6769 Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._PLD.PLDP */
6770 }
6771
6772 Alias (SBV2, SDGV)
6773 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
6774 {
6775 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
6776 {
6777 Switch (ToInteger (Arg2))
6778 {
6779 Case (Zero)
6780 {
6781 If ((Arg1 == One))
6782 {
6783 Return (Buffer (One)
6784 {
6785 0x07 // .
6786 })
6787 }
6788 Else
6789 {
6790 Return (Buffer (One)
6791 {
6792 0x00 // .
6793 })
6794 }
6795 }
6796 Case (One)
6797 {
6798 If ((SDGV == 0xFF))
6799 {
6800 Return (Zero)
6801 }
6802 Else
6803 {
6804 Return (One)
6805 }
6806 }
6807 Case (0x02)
6808 {
6809 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17.SDGV */
6810 }
6811
6812 }
6813 }
6814
6815 Return (Zero)
6816 }
6817 }
6818
6819 Device (PR18)
6820 {
6821 Name (_ADR, 0x08) // _ADR: Address
6822 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6823 {
6824 Name (UPCP, Package (0x04)
6825 {
6826 Zero,
6827 0xFF,
6828 Zero,
6829 Zero
6830 })
6831 Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR18._UPC.UPCP */
6832 }
6833
6834 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6835 {
6836 Name (PLDP, Package (0x01)
6837 {
6838 Buffer (0x10)
6839 {
6840 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6841 /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
6842 }
6843 })
6844 Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR18._PLD.PLDP */
6845 }
6846 }
6847 }
6848 }
6849
6850 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
6851 {
6852 0x0D,
6853 0x03
6854 })
6855 }
6856
6857 Device (EHC2)
6858 {
6859 Name (_ADR, 0x001A0000) // _ADR: Address
6860 OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
6861 Field (PWKE, DWordAcc, NoLock, Preserve)
6862 {
6863 , 1,
6864 PWUC, 6
6865 }
6866
6867 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
6868 {
6869 If (Arg0)
6870 {
6871 PWUC = Ones
6872 }
6873 Else
6874 {
6875 PWUC = Zero
6876 }
6877 }
6878
6879 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
6880 {
6881 Return (0x02)
6882 }
6883
6884 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
6885 {
6886 Return (0x02)
6887 }
6888
6889 Device (HUBN)
6890 {
6891 Name (_ADR, Zero) // _ADR: Address
6892 Device (PR01)
6893 {
6894 Name (_ADR, One) // _ADR: Address
6895 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6896 {
6897 Name (UPCA, Package (0x04)
6898 {
6899 0xFF,
6900 Zero,
6901 Zero,
6902 Zero
6903 })
6904 Return (UPCA) /* \_SB_.PCI0.EHC2.HUBN.PR01._UPC.UPCA */
6905 }
6906
6907 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6908 {
6909 Name (PLDP, Package (0x01)
6910 {
6911 Buffer (0x10)
6912 {
6913 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6914 /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0.......
6915 }
6916 })
6917 Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01._PLD.PLDP */
6918 }
6919
6920 Device (PR11)
6921 {
6922 Name (_ADR, One) // _ADR: Address
6923 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6924 {
6925 Name (UPCP, Package (0x04)
6926 {
6927 Zero,
6928 0xFF,
6929 Zero,
6930 Zero
6931 })
6932 Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR11._UPC.UPCP */
6933 }
6934
6935 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6936 {
6937 Name (PLDP, Package (0x01)
6938 {
6939 Buffer (0x10)
6940 {
6941 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6942 /* 0008 */ 0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
6943 }
6944 })
6945 Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR11._PLD.PLDP */
6946 }
6947 }
6948
6949 Device (PR12)
6950 {
6951 Name (_ADR, 0x02) // _ADR: Address
6952 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
6953 {
6954 Name (UPCP, Package (0x04)
6955 {
6956 0xFF,
6957 0xFF,
6958 Zero,
6959 Zero
6960 })
6961 Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12._UPC.UPCP */
6962 }
6963
6964 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
6965 {
6966 Name (PLDP, Package (0x01)
6967 {
6968 Buffer (0x10)
6969 {
6970 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
6971 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
6972 }
6973 })
6974 Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12._PLD.PLDP */
6975 }
6976
6977 Device (TPN0)
6978 {
6979 Name (_ADR, 0x02) // _ADR: Address
6980 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
6981 {
6982 ToPLD (
6983 PLD_Revision = 0x2,
6984 PLD_IgnoreColor = 0x1,
6985 PLD_Red = 0x0,
6986 PLD_Green = 0x0,
6987 PLD_Blue = 0x0,
6988 PLD_Width = 0x0,
6989 PLD_Height = 0x0,
6990 PLD_UserVisible = 0x0,
6991 PLD_Dock = 0x0,
6992 PLD_Lid = 0x1,
6993 PLD_Panel = "FRONT",
6994 PLD_VerticalPosition = "UPPER",
6995 PLD_HorizontalPosition = "CENTER",
6996 PLD_Shape = "UNKNOWN",
6997 PLD_GroupOrientation = 0x0,
6998 PLD_GroupToken = 0x0,
6999 PLD_GroupPosition = 0x0,
7000 PLD_Bay = 0x0,
7001 PLD_Ejectable = 0x0,
7002 PLD_EjectRequired = 0x0,
7003 PLD_CabinetNumber = 0x0,
7004 PLD_CardCageNumber = 0x0,
7005 PLD_Reference = 0x0,
7006 PLD_Rotation = 0x0,
7007 PLD_Order = 0x0,
7008 PLD_VerticalOffset = 0xFFFF,
7009 PLD_HorizontalOffset = 0xFFFF)
7010
7011 })
7012 }
7013 }
7014
7015 Device (PR13)
7016 {
7017 Name (_ADR, 0x03) // _ADR: Address
7018 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7019 {
7020 Name (UPCP, Package (0x04)
7021 {
7022 0xFF,
7023 0xFF,
7024 Zero,
7025 Zero
7026 })
7027 Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13._UPC.UPCP */
7028 }
7029
7030 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7031 {
7032 Name (PLDP, Package (0x01)
7033 {
7034 Buffer (0x10)
7035 {
7036 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
7037 /* 0008 */ 0xE0, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
7038 }
7039 })
7040 Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13._PLD.PLDP */
7041 }
7042
7043 Alias (SBV2, SDGV)
7044 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
7045 {
7046 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
7047 {
7048 Switch (ToInteger (Arg2))
7049 {
7050 Case (Zero)
7051 {
7052 If ((Arg1 == One))
7053 {
7054 Return (Buffer (One)
7055 {
7056 0x07 // .
7057 })
7058 }
7059 Else
7060 {
7061 Return (Buffer (One)
7062 {
7063 0x00 // .
7064 })
7065 }
7066 }
7067 Case (One)
7068 {
7069 If ((SDGV == 0xFF))
7070 {
7071 Return (Zero)
7072 }
7073 Else
7074 {
7075 Return (One)
7076 }
7077 }
7078 Case (0x02)
7079 {
7080 Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13.SDGV */
7081 }
7082
7083 }
7084 }
7085
7086 Return (Zero)
7087 }
7088 }
7089
7090 Device (PR15)
7091 {
7092 Name (_ADR, 0x05) // _ADR: Address
7093 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7094 {
7095 Name (UPCP, Package (0x04)
7096 {
7097 Zero,
7098 0xFF,
7099 Zero,
7100 Zero
7101 })
7102 Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR15._UPC.UPCP */
7103 }
7104
7105 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7106 {
7107 Name (PLDP, Package (0x01)
7108 {
7109 Buffer (0x10)
7110 {
7111 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
7112 /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
7113 }
7114 })
7115 Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR15._PLD.PLDP */
7116 }
7117 }
7118
7119 Device (PR14)
7120 {
7121 Name (_ADR, 0x04) // _ADR: Address
7122 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7123 {
7124 Name (UPCP, Package (0x04)
7125 {
7126 0xFF,
7127 0xFF,
7128 Zero,
7129 Zero
7130 })
7131 Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR14._UPC.UPCP */
7132 }
7133
7134 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7135 {
7136 Name (PLDP, Package (0x01)
7137 {
7138 Buffer (0x10)
7139 {
7140 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
7141 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
7142 }
7143 })
7144 Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR14._PLD.PLDP */
7145 }
7146
7147 Device (CAM0)
7148 {
7149 Name (_ADR, 0x04) // _ADR: Address
7150 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
7151 {
7152 ToPLD (
7153 PLD_Revision = 0x2,
7154 PLD_IgnoreColor = 0x1,
7155 PLD_Red = 0x0,
7156 PLD_Green = 0x0,
7157 PLD_Blue = 0x0,
7158 PLD_Width = 0x0,
7159 PLD_Height = 0x0,
7160 PLD_UserVisible = 0x0,
7161 PLD_Dock = 0x0,
7162 PLD_Lid = 0x1,
7163 PLD_Panel = "FRONT",
7164 PLD_VerticalPosition = "UPPER",
7165 PLD_HorizontalPosition = "CENTER",
7166 PLD_Shape = "UNKNOWN",
7167 PLD_GroupOrientation = 0x0,
7168 PLD_GroupToken = 0x0,
7169 PLD_GroupPosition = 0x0,
7170 PLD_Bay = 0x0,
7171 PLD_Ejectable = 0x0,
7172 PLD_EjectRequired = 0x0,
7173 PLD_CabinetNumber = 0x0,
7174 PLD_CardCageNumber = 0x0,
7175 PLD_Reference = 0x0,
7176 PLD_Rotation = 0x0,
7177 PLD_Order = 0x0,
7178 PLD_VerticalOffset = 0xFFFF,
7179 PLD_HorizontalOffset = 0xFFFF)
7180
7181 })
7182 }
7183 }
7184
7185 Device (PR16)
7186 {
7187 Name (_ADR, 0x06) // _ADR: Address
7188 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7189 {
7190 Name (UPCP, Package (0x04)
7191 {
7192 Zero,
7193 0xFF,
7194 Zero,
7195 Zero
7196 })
7197 Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR16._UPC.UPCP */
7198 }
7199
7200 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7201 {
7202 Name (PLDP, Package (0x01)
7203 {
7204 Buffer (0x10)
7205 {
7206 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
7207 /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
7208 }
7209 })
7210 Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR16._PLD.PLDP */
7211 }
7212 }
7213 }
7214 }
7215
7216 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
7217 {
7218 0x0D,
7219 0x03
7220 })
7221 }
7222
7223 Device (XHC)
7224 {
7225 Name (_ADR, 0x00140000) // _ADR: Address
7226 OperationRegion (XPRT, PCI_Config, 0x74, 0x6C)
7227 Field (XPRT, DWordAcc, NoLock, Preserve)
7228 {
7229 Offset (0x01),
7230 PMEE, 1,
7231 , 6,
7232 PMES, 1,
7233 Offset (0x5C),
7234 PR2, 32,
7235 PR2M, 32,
7236 PR3, 32,
7237 PR3M, 32
7238 }
7239
7240 Name (XRST, Zero)
7241 Method (CUID, 1, Serialized)
7242 {
7243 If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71")))
7244 {
7245 Return (One)
7246 }
7247
7248 Return (Zero)
7249 }
7250
7251 Method (POSC, 3, Serialized)
7252 {
7253 CreateDWordField (Arg2, Zero, CDW1)
7254 CreateDWordField (Arg2, 0x08, CDW3)
7255 If ((Arg1 != One))
7256 {
7257 CDW1 |= 0x08
7258 }
7259
7260 If ((XHCI == Zero))
7261 {
7262 CDW1 |= 0x02
7263 }
7264
7265 If (!(CDW1 & One))
7266 {
7267 If ((CDW3 & One))
7268 {
7269 ESEL ()
7270 }
7271 Else
7272 {
7273 XSEL ()
7274 }
7275 }
7276
7277 Return (Arg2)
7278 }
7279
7280 Method (XSEL, 0, Serialized)
7281 {
7282 If (((XHCI == 0x02) || (XHCI == 0x03)))
7283 {
7284 XUSB = One
7285 XRST = One
7286 Local0 = Zero
7287 Local0 = (PR3 & 0xFFFFFFF0)
7288 Local0 |= XHPM /* \XHPM */
7289 PR3 = (Local0 & PR3M) /* \_SB_.PCI0.XHC_.PR3M */
7290 Local0 = Zero
7291 Local0 = (PR2 & 0xFFFFFFF0)
7292 Local0 |= XHPM /* \XHPM */
7293 PR2 = (Local0 & PR2M) /* \_SB_.PCI0.XHC_.PR2M */
7294 }
7295 }
7296
7297 Method (ESEL, 0, Serialized)
7298 {
7299 If (((XHCI == 0x02) || (XHCI == 0x03)))
7300 {
7301 PR3 &= 0xFFFFFFF0
7302 PR2 &= 0xFFFFFFF0
7303 XUSB = Zero
7304 XRST = Zero
7305 }
7306 }
7307
7308 Method (XWAK, 0, Serialized)
7309 {
7310 If (((XUSB == One) || (XRST == One)))
7311 {
7312 XSEL ()
7313 }
7314 }
7315
7316 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
7317 {
7318 Return (0x02)
7319 }
7320
7321 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
7322 {
7323 Return (0x02)
7324 }
7325
7326 Device (RHUB)
7327 {
7328 Name (_ADR, Zero) // _ADR: Address
7329 Device (HSP1)
7330 {
7331 Name (_ADR, One) // _ADR: Address
7332 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7333 {
7334 Name (UPCP, Package (0x04)
7335 {
7336 0xFF,
7337 0x03,
7338 Zero,
7339 Zero
7340 })
7341 If (!(PR2 & One))
7342 {
7343 UPCP [Zero] = Zero
7344 }
7345
7346 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP1._UPC.UPCP */
7347 }
7348
7349 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7350 {
7351 Name (PLDP, Package (0x01)
7352 {
7353 Buffer (0x10)
7354 {
7355 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, // ..r.....
7356 /* 0008 */ 0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 // i.......
7357 }
7358 })
7359 CreateBitField (DerefOf (PLDP [Zero]), 0x40, VIS)
7360 If (!(PR2 & One))
7361 {
7362 VIS &= Zero
7363 }
7364
7365 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP1._PLD.PLDP */
7366 }
7367 }
7368
7369 Device (HSP2)
7370 {
7371 Name (_ADR, 0x02) // _ADR: Address
7372 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7373 {
7374 Name (UPCP, Package (0x04)
7375 {
7376 0xFF,
7377 0x03,
7378 Zero,
7379 Zero
7380 })
7381 If (!(PR2 & 0x02))
7382 {
7383 UPCP [Zero] = Zero
7384 }
7385
7386 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP2._UPC.UPCP */
7387 }
7388
7389 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7390 {
7391 Name (PLDP, Package (0x01)
7392 {
7393 Buffer (0x10)
7394 {
7395 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, // ..r.....
7396 /* 0008 */ 0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 // i.......
7397 }
7398 })
7399 CreateBitField (DerefOf (PLDP [Zero]), 0x40, VIS)
7400 If (!(PR2 & 0x02))
7401 {
7402 VIS &= Zero
7403 }
7404
7405 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP2._PLD.PLDP */
7406 }
7407 }
7408
7409 Device (HSP3)
7410 {
7411 Name (_ADR, 0x03) // _ADR: Address
7412 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7413 {
7414 Name (UPCP, Package (0x04)
7415 {
7416 0xFF,
7417 0x03,
7418 Zero,
7419 Zero
7420 })
7421 If (!(PR2 & 0x04))
7422 {
7423 UPCP [Zero] = Zero
7424 }
7425
7426 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP3._UPC.UPCP */
7427 }
7428
7429 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7430 {
7431 Name (PLDP, Package (0x01)
7432 {
7433 Buffer (0x10)
7434 {
7435 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, // ..r.....
7436 /* 0008 */ 0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00 // i.......
7437 }
7438 })
7439 CreateBitField (DerefOf (PLDP [Zero]), 0x40, VIS)
7440 If (!(PR2 & 0x04))
7441 {
7442 VIS &= Zero
7443 }
7444
7445 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP3._PLD.PLDP */
7446 }
7447 }
7448
7449 Device (HSP4)
7450 {
7451 Name (_ADR, 0x04) // _ADR: Address
7452 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7453 {
7454 Name (UPCP, Package (0x04)
7455 {
7456 0xFF,
7457 0x03,
7458 Zero,
7459 Zero
7460 })
7461 If (!(PR2 & 0x08))
7462 {
7463 UPCP [Zero] = Zero
7464 }
7465
7466 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP4._UPC.UPCP */
7467 }
7468
7469 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7470 {
7471 Name (PLDP, Package (0x01)
7472 {
7473 Buffer (0x10)
7474 {
7475 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, // ..r.....
7476 /* 0008 */ 0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 // i.......
7477 }
7478 })
7479 CreateBitField (DerefOf (PLDP [Zero]), 0x40, VIS)
7480 If (!(PR2 & 0x08))
7481 {
7482 VIS &= Zero
7483 }
7484
7485 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP4._PLD.PLDP */
7486 }
7487 }
7488
7489 Device (SSP1)
7490 {
7491 Name (_ADR, 0x05) // _ADR: Address
7492 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7493 {
7494 Name (UPCP, Package (0x04)
7495 {
7496 0xFF,
7497 0x03,
7498 Zero,
7499 Zero
7500 })
7501 If (!(PR3 & One))
7502 {
7503 UPCP [Zero] = Zero
7504 }
7505
7506 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._UPC.UPCP */
7507 }
7508
7509 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7510 {
7511 Name (PLDP, Package (0x01)
7512 {
7513 Buffer (0x10)
7514 {
7515 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, // ..r.....
7516 /* 0008 */ 0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 // i.......
7517 }
7518 })
7519 CreateBitField (DerefOf (PLDP [Zero]), 0x40, VIS)
7520 If (!(PR3 & One))
7521 {
7522 VIS &= Zero
7523 }
7524
7525 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._PLD.PLDP */
7526 }
7527 }
7528
7529 Device (SSP2)
7530 {
7531 Name (_ADR, 0x06) // _ADR: Address
7532 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7533 {
7534 Name (UPCP, Package (0x04)
7535 {
7536 0xFF,
7537 0x03,
7538 Zero,
7539 Zero
7540 })
7541 If (!(PR3 & 0x02))
7542 {
7543 UPCP [Zero] = Zero
7544 }
7545
7546 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._UPC.UPCP */
7547 }
7548
7549 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7550 {
7551 Name (PLDP, Package (0x01)
7552 {
7553 Buffer (0x10)
7554 {
7555 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, // ..r.....
7556 /* 0008 */ 0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 // i.......
7557 }
7558 })
7559 CreateBitField (DerefOf (PLDP [Zero]), 0x40, VIS)
7560 If (!(PR3 & 0x02))
7561 {
7562 VIS &= Zero
7563 }
7564
7565 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._PLD.PLDP */
7566 }
7567 }
7568
7569 Device (SSP3)
7570 {
7571 Name (_ADR, 0x07) // _ADR: Address
7572 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7573 {
7574 Name (UPCP, Package (0x04)
7575 {
7576 0xFF,
7577 0x03,
7578 Zero,
7579 Zero
7580 })
7581 If (!(PR3 & 0x04))
7582 {
7583 UPCP [Zero] = Zero
7584 }
7585
7586 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._UPC.UPCP */
7587 }
7588
7589 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7590 {
7591 Name (PLDP, Package (0x01)
7592 {
7593 Buffer (0x10)
7594 {
7595 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, // ..r.....
7596 /* 0008 */ 0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00 // i.......
7597 }
7598 })
7599 CreateBitField (DerefOf (PLDP [Zero]), 0x40, VIS)
7600 If (!(PR3 & 0x04))
7601 {
7602 VIS &= Zero
7603 }
7604
7605 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._PLD.PLDP */
7606 }
7607 }
7608
7609 Device (SSP4)
7610 {
7611 Name (_ADR, 0x08) // _ADR: Address
7612 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
7613 {
7614 Name (UPCP, Package (0x04)
7615 {
7616 0xFF,
7617 0x03,
7618 Zero,
7619 Zero
7620 })
7621 If (!(PR3 & 0x08))
7622 {
7623 UPCP [Zero] = Zero
7624 }
7625
7626 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._UPC.UPCP */
7627 }
7628
7629 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
7630 {
7631 Name (PLDP, Package (0x01)
7632 {
7633 Buffer (0x10)
7634 {
7635 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, // ..r.....
7636 /* 0008 */ 0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 // i.......
7637 }
7638 })
7639 CreateBitField (DerefOf (PLDP [Zero]), 0x40, VIS)
7640 If (!(PR3 & 0x08))
7641 {
7642 VIS &= Zero
7643 }
7644
7645 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._PLD.PLDP */
7646 }
7647 }
7648 }
7649
7650 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
7651 {
7652 0x0D,
7653 0x03
7654 })
7655 }
7656
7657 Device (HDEF)
7658 {
7659 Name (_ADR, 0x001B0000) // _ADR: Address
7660 OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
7661 Field (HDAR, WordAcc, NoLock, Preserve)
7662 {
7663 DCKA, 1,
7664 Offset (0x01),
7665 DCKM, 1,
7666 , 6,
7667 DCKS, 1,
7668 Offset (0x08),
7669 , 15,
7670 PMES, 1
7671 }
7672
7673 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
7674 {
7675 If (WKMD)
7676 {
7677 Return (Package (0x02)
7678 {
7679 0x0D,
7680 0x04
7681 })
7682 }
7683 Else
7684 {
7685 Return (Package (0x02)
7686 {
7687 0x0D,
7688 Zero
7689 })
7690 }
7691 }
7692 }
7693
7694 Device (RP01)
7695 {
7696 Name (_ADR, 0x001C0000) // _ADR: Address
7697 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
7698 Field (PXCS, AnyAcc, NoLock, Preserve)
7699 {
7700 Offset (0x10),
7701 L0SE, 1,
7702 Offset (0x11),
7703 Offset (0x12),
7704 , 13,
7705 LASX, 1,
7706 Offset (0x1A),
7707 ABPX, 1,
7708 , 2,
7709 PDCX, 1,
7710 , 2,
7711 PDSX, 1,
7712 Offset (0x1B),
7713 Offset (0x20),
7714 Offset (0x22),
7715 PSPX, 1,
7716 Offset (0x98),
7717 , 30,
7718 HPEX, 1,
7719 PMEX, 1
7720 }
7721
7722 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
7723 {
7724 Offset (0x9C),
7725 , 30,
7726 HPSX, 1,
7727 PMSX, 1
7728 }
7729
7730 Device (PXSX)
7731 {
7732 Name (_ADR, Zero) // _ADR: Address
7733 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
7734 {
7735 0x09,
7736 0x04
7737 })
7738 }
7739
7740 Method (HPME, 0, Serialized)
7741 {
7742 If (PMSX)
7743 {
7744 Local0 = 0xC8
7745 While (Local0)
7746 {
7747 PMSX = One
7748 If (PMSX)
7749 {
7750 Local0--
7751 }
7752 Else
7753 {
7754 Local0 = Zero
7755 }
7756 }
7757
7758 Notify (PXSX, 0x02) // Device Wake
7759 }
7760 }
7761
7762 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
7763 {
7764 If (PMEE)
7765 {
7766 Return (Package (0x02)
7767 {
7768 0x09,
7769 0x04
7770 })
7771 }
7772 Else
7773 {
7774 Return (Package (0x02)
7775 {
7776 0x09,
7777 Zero
7778 })
7779 }
7780 }
7781
7782 Name (PR05, Package (0x04)
7783 {
7784 Package (0x04)
7785 {
7786 0xFFFF,
7787 Zero,
7788 LNKA,
7789 Zero
7790 },
7791
7792 Package (0x04)
7793 {
7794 0xFFFF,
7795 One,
7796 LNKB,
7797 Zero
7798 },
7799
7800 Package (0x04)
7801 {
7802 0xFFFF,
7803 0x02,
7804 LNKC,
7805 Zero
7806 },
7807
7808 Package (0x04)
7809 {
7810 0xFFFF,
7811 0x03,
7812 LNKD,
7813 Zero
7814 }
7815 })
7816 Name (AR05, Package (0x04)
7817 {
7818 Package (0x04)
7819 {
7820 0xFFFF,
7821 Zero,
7822 Zero,
7823 0x10
7824 },
7825
7826 Package (0x04)
7827 {
7828 0xFFFF,
7829 One,
7830 Zero,
7831 0x11
7832 },
7833
7834 Package (0x04)
7835 {
7836 0xFFFF,
7837 0x02,
7838 Zero,
7839 0x12
7840 },
7841
7842 Package (0x04)
7843 {
7844 0xFFFF,
7845 0x03,
7846 Zero,
7847 0x13
7848 }
7849 })
7850 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
7851 {
7852 If (PICM)
7853 {
7854 Return (AR05) /* \_SB_.PCI0.RP01.AR05 */
7855 }
7856
7857 Return (PR05) /* \_SB_.PCI0.RP01.PR05 */
7858 }
7859 }
7860
7861 Device (RP02)
7862 {
7863 Name (_ADR, 0x001C0001) // _ADR: Address
7864 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
7865 Field (PXCS, AnyAcc, NoLock, Preserve)
7866 {
7867 Offset (0x10),
7868 L0SE, 1,
7869 Offset (0x11),
7870 Offset (0x12),
7871 , 13,
7872 LASX, 1,
7873 Offset (0x1A),
7874 ABPX, 1,
7875 , 2,
7876 PDCX, 1,
7877 , 2,
7878 PDSX, 1,
7879 Offset (0x1B),
7880 Offset (0x20),
7881 Offset (0x22),
7882 PSPX, 1,
7883 Offset (0x98),
7884 , 30,
7885 HPEX, 1,
7886 PMEX, 1
7887 }
7888
7889 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
7890 {
7891 Offset (0x9C),
7892 , 30,
7893 HPSX, 1,
7894 PMSX, 1
7895 }
7896
7897 Device (PXSX)
7898 {
7899 Name (_ADR, Zero) // _ADR: Address
7900 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
7901 {
7902 0x09,
7903 0x04
7904 })
7905 }
7906
7907 Method (HPME, 0, Serialized)
7908 {
7909 If (PMSX)
7910 {
7911 Local0 = 0xC8
7912 While (Local0)
7913 {
7914 PMSX = One
7915 If (PMSX)
7916 {
7917 Local0--
7918 }
7919 Else
7920 {
7921 Local0 = Zero
7922 }
7923 }
7924
7925 Notify (PXSX, 0x02) // Device Wake
7926 }
7927 }
7928
7929 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
7930 {
7931 If (PMEE)
7932 {
7933 Return (Package (0x02)
7934 {
7935 0x09,
7936 0x04
7937 })
7938 }
7939 Else
7940 {
7941 Return (Package (0x02)
7942 {
7943 0x09,
7944 Zero
7945 })
7946 }
7947 }
7948
7949 Name (PR06, Package (0x04)
7950 {
7951 Package (0x04)
7952 {
7953 0xFFFF,
7954 Zero,
7955 LNKB,
7956 Zero
7957 },
7958
7959 Package (0x04)
7960 {
7961 0xFFFF,
7962 One,
7963 LNKC,
7964 Zero
7965 },
7966
7967 Package (0x04)
7968 {
7969 0xFFFF,
7970 0x02,
7971 LNKD,
7972 Zero
7973 },
7974
7975 Package (0x04)
7976 {
7977 0xFFFF,
7978 0x03,
7979 LNKA,
7980 Zero
7981 }
7982 })
7983 Name (AR06, Package (0x04)
7984 {
7985 Package (0x04)
7986 {
7987 0xFFFF,
7988 Zero,
7989 Zero,
7990 0x11
7991 },
7992
7993 Package (0x04)
7994 {
7995 0xFFFF,
7996 One,
7997 Zero,
7998 0x12
7999 },
8000
8001 Package (0x04)
8002 {
8003 0xFFFF,
8004 0x02,
8005 Zero,
8006 0x13
8007 },
8008
8009 Package (0x04)
8010 {
8011 0xFFFF,
8012 0x03,
8013 Zero,
8014 0x10
8015 }
8016 })
8017 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8018 {
8019 If (PICM)
8020 {
8021 Return (AR06) /* \_SB_.PCI0.RP02.AR06 */
8022 }
8023
8024 Return (PR06) /* \_SB_.PCI0.RP02.PR06 */
8025 }
8026 }
8027
8028 Device (RP03)
8029 {
8030 Name (_ADR, 0x001C0002) // _ADR: Address
8031 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
8032 Field (PXCS, AnyAcc, NoLock, Preserve)
8033 {
8034 Offset (0x10),
8035 L0SE, 1,
8036 Offset (0x11),
8037 Offset (0x12),
8038 , 13,
8039 LASX, 1,
8040 Offset (0x1A),
8041 ABPX, 1,
8042 , 2,
8043 PDCX, 1,
8044 , 2,
8045 PDSX, 1,
8046 Offset (0x1B),
8047 Offset (0x20),
8048 Offset (0x22),
8049 PSPX, 1,
8050 Offset (0x98),
8051 , 30,
8052 HPEX, 1,
8053 PMEX, 1
8054 }
8055
8056 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
8057 {
8058 Offset (0x9C),
8059 , 30,
8060 HPSX, 1,
8061 PMSX, 1
8062 }
8063
8064 Device (PXSX)
8065 {
8066 Name (_ADR, Zero) // _ADR: Address
8067 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8068 {
8069 0x09,
8070 0x04
8071 })
8072 }
8073
8074 Method (HPME, 0, Serialized)
8075 {
8076 If (PMSX)
8077 {
8078 Local0 = 0xC8
8079 While (Local0)
8080 {
8081 PMSX = One
8082 If (PMSX)
8083 {
8084 Local0--
8085 }
8086 Else
8087 {
8088 Local0 = Zero
8089 }
8090 }
8091
8092 Notify (PXSX, 0x02) // Device Wake
8093 }
8094 }
8095
8096 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
8097 {
8098 If (PMEE)
8099 {
8100 Return (Package (0x02)
8101 {
8102 0x09,
8103 0x03
8104 })
8105 }
8106 Else
8107 {
8108 Return (Package (0x02)
8109 {
8110 0x09,
8111 Zero
8112 })
8113 }
8114 }
8115
8116 Name (PR07, Package (0x04)
8117 {
8118 Package (0x04)
8119 {
8120 0xFFFF,
8121 Zero,
8122 LNKC,
8123 Zero
8124 },
8125
8126 Package (0x04)
8127 {
8128 0xFFFF,
8129 One,
8130 LNKD,
8131 Zero
8132 },
8133
8134 Package (0x04)
8135 {
8136 0xFFFF,
8137 0x02,
8138 LNKA,
8139 Zero
8140 },
8141
8142 Package (0x04)
8143 {
8144 0xFFFF,
8145 0x03,
8146 LNKB,
8147 Zero
8148 }
8149 })
8150 Name (AR07, Package (0x04)
8151 {
8152 Package (0x04)
8153 {
8154 0xFFFF,
8155 Zero,
8156 Zero,
8157 0x12
8158 },
8159
8160 Package (0x04)
8161 {
8162 0xFFFF,
8163 One,
8164 Zero,
8165 0x13
8166 },
8167
8168 Package (0x04)
8169 {
8170 0xFFFF,
8171 0x02,
8172 Zero,
8173 0x10
8174 },
8175
8176 Package (0x04)
8177 {
8178 0xFFFF,
8179 0x03,
8180 Zero,
8181 0x11
8182 }
8183 })
8184 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8185 {
8186 If (PICM)
8187 {
8188 Return (AR07) /* \_SB_.PCI0.RP03.AR07 */
8189 }
8190
8191 Return (PR07) /* \_SB_.PCI0.RP03.PR07 */
8192 }
8193 }
8194
8195 Device (RP04)
8196 {
8197 Name (_ADR, 0x001C0003) // _ADR: Address
8198 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
8199 Field (PXCS, AnyAcc, NoLock, Preserve)
8200 {
8201 Offset (0x10),
8202 L0SE, 1,
8203 Offset (0x11),
8204 Offset (0x12),
8205 , 13,
8206 LASX, 1,
8207 Offset (0x1A),
8208 ABPX, 1,
8209 , 2,
8210 PDCX, 1,
8211 , 2,
8212 PDSX, 1,
8213 Offset (0x1B),
8214 Offset (0x20),
8215 Offset (0x22),
8216 PSPX, 1,
8217 Offset (0x98),
8218 , 30,
8219 HPEX, 1,
8220 PMEX, 1
8221 }
8222
8223 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
8224 {
8225 Offset (0x9C),
8226 , 30,
8227 HPSX, 1,
8228 PMSX, 1
8229 }
8230
8231 Device (PXSX)
8232 {
8233 Name (_ADR, Zero) // _ADR: Address
8234 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8235 {
8236 0x09,
8237 0x04
8238 })
8239 }
8240
8241 Method (HPME, 0, Serialized)
8242 {
8243 If (PMSX)
8244 {
8245 Local0 = 0xC8
8246 While (Local0)
8247 {
8248 PMSX = One
8249 If (PMSX)
8250 {
8251 Local0--
8252 }
8253 Else
8254 {
8255 Local0 = Zero
8256 }
8257 }
8258
8259 Notify (PXSX, 0x02) // Device Wake
8260 }
8261 }
8262
8263 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
8264 {
8265 If (PMEE)
8266 {
8267 Return (Package (0x02)
8268 {
8269 0x09,
8270 0x04
8271 })
8272 }
8273 Else
8274 {
8275 Return (Package (0x02)
8276 {
8277 0x09,
8278 Zero
8279 })
8280 }
8281 }
8282
8283 Name (PR08, Package (0x04)
8284 {
8285 Package (0x04)
8286 {
8287 0xFFFF,
8288 Zero,
8289 LNKD,
8290 Zero
8291 },
8292
8293 Package (0x04)
8294 {
8295 0xFFFF,
8296 One,
8297 LNKA,
8298 Zero
8299 },
8300
8301 Package (0x04)
8302 {
8303 0xFFFF,
8304 0x02,
8305 LNKB,
8306 Zero
8307 },
8308
8309 Package (0x04)
8310 {
8311 0xFFFF,
8312 0x03,
8313 LNKC,
8314 Zero
8315 }
8316 })
8317 Name (AR08, Package (0x04)
8318 {
8319 Package (0x04)
8320 {
8321 0xFFFF,
8322 Zero,
8323 Zero,
8324 0x13
8325 },
8326
8327 Package (0x04)
8328 {
8329 0xFFFF,
8330 One,
8331 Zero,
8332 0x10
8333 },
8334
8335 Package (0x04)
8336 {
8337 0xFFFF,
8338 0x02,
8339 Zero,
8340 0x11
8341 },
8342
8343 Package (0x04)
8344 {
8345 0xFFFF,
8346 0x03,
8347 Zero,
8348 0x12
8349 }
8350 })
8351 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8352 {
8353 If (PICM)
8354 {
8355 Return (AR08) /* \_SB_.PCI0.RP04.AR08 */
8356 }
8357
8358 Return (PR08) /* \_SB_.PCI0.RP04.PR08 */
8359 }
8360 }
8361
8362 Device (RP05)
8363 {
8364 Name (_ADR, 0x001C0004) // _ADR: Address
8365 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
8366 Field (PXCS, AnyAcc, NoLock, Preserve)
8367 {
8368 Offset (0x10),
8369 L0SE, 1,
8370 Offset (0x11),
8371 Offset (0x12),
8372 , 13,
8373 LASX, 1,
8374 Offset (0x1A),
8375 ABPX, 1,
8376 , 2,
8377 PDCX, 1,
8378 , 2,
8379 PDSX, 1,
8380 Offset (0x1B),
8381 Offset (0x20),
8382 Offset (0x22),
8383 PSPX, 1,
8384 Offset (0x98),
8385 , 30,
8386 HPEX, 1,
8387 PMEX, 1
8388 }
8389
8390 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
8391 {
8392 Offset (0x9C),
8393 , 30,
8394 HPSX, 1,
8395 PMSX, 1
8396 }
8397
8398 Device (PXSX)
8399 {
8400 Name (_ADR, Zero) // _ADR: Address
8401 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8402 {
8403 0x09,
8404 0x04
8405 })
8406 }
8407
8408 Method (HPME, 0, Serialized)
8409 {
8410 If (PMSX)
8411 {
8412 Local0 = 0xC8
8413 While (Local0)
8414 {
8415 PMSX = One
8416 If (PMSX)
8417 {
8418 Local0--
8419 }
8420 Else
8421 {
8422 Local0 = Zero
8423 }
8424 }
8425
8426 Notify (PXSX, 0x02) // Device Wake
8427 }
8428 }
8429
8430 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
8431 {
8432 If (PMEE)
8433 {
8434 Return (Package (0x02)
8435 {
8436 0x09,
8437 0x04
8438 })
8439 }
8440 Else
8441 {
8442 Return (Package (0x02)
8443 {
8444 0x09,
8445 Zero
8446 })
8447 }
8448 }
8449
8450 Name (PR09, Package (0x04)
8451 {
8452 Package (0x04)
8453 {
8454 0xFFFF,
8455 Zero,
8456 LNKA,
8457 Zero
8458 },
8459
8460 Package (0x04)
8461 {
8462 0xFFFF,
8463 One,
8464 LNKB,
8465 Zero
8466 },
8467
8468 Package (0x04)
8469 {
8470 0xFFFF,
8471 0x02,
8472 LNKC,
8473 Zero
8474 },
8475
8476 Package (0x04)
8477 {
8478 0xFFFF,
8479 0x03,
8480 LNKD,
8481 Zero
8482 }
8483 })
8484 Name (AR09, Package (0x04)
8485 {
8486 Package (0x04)
8487 {
8488 0xFFFF,
8489 Zero,
8490 Zero,
8491 0x10
8492 },
8493
8494 Package (0x04)
8495 {
8496 0xFFFF,
8497 One,
8498 Zero,
8499 0x11
8500 },
8501
8502 Package (0x04)
8503 {
8504 0xFFFF,
8505 0x02,
8506 Zero,
8507 0x12
8508 },
8509
8510 Package (0x04)
8511 {
8512 0xFFFF,
8513 0x03,
8514 Zero,
8515 0x13
8516 }
8517 })
8518 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8519 {
8520 If (PICM)
8521 {
8522 Return (AR09) /* \_SB_.PCI0.RP05.AR09 */
8523 }
8524
8525 Return (PR09) /* \_SB_.PCI0.RP05.PR09 */
8526 }
8527 }
8528
8529 Device (RP06)
8530 {
8531 Name (_ADR, 0x001C0005) // _ADR: Address
8532 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
8533 Field (PXCS, AnyAcc, NoLock, Preserve)
8534 {
8535 Offset (0x10),
8536 L0SE, 1,
8537 Offset (0x11),
8538 Offset (0x12),
8539 , 13,
8540 LASX, 1,
8541 Offset (0x1A),
8542 ABPX, 1,
8543 , 2,
8544 PDCX, 1,
8545 , 2,
8546 PDSX, 1,
8547 Offset (0x1B),
8548 Offset (0x20),
8549 Offset (0x22),
8550 PSPX, 1,
8551 Offset (0x98),
8552 , 30,
8553 HPEX, 1,
8554 PMEX, 1
8555 }
8556
8557 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
8558 {
8559 Offset (0x9C),
8560 , 30,
8561 HPSX, 1,
8562 PMSX, 1
8563 }
8564
8565 Device (PXSX)
8566 {
8567 Name (_ADR, Zero) // _ADR: Address
8568 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8569 {
8570 0x09,
8571 0x04
8572 })
8573 }
8574
8575 Method (HPME, 0, Serialized)
8576 {
8577 If (PMSX)
8578 {
8579 Local0 = 0xC8
8580 While (Local0)
8581 {
8582 PMSX = One
8583 If (PMSX)
8584 {
8585 Local0--
8586 }
8587 Else
8588 {
8589 Local0 = Zero
8590 }
8591 }
8592
8593 Notify (PXSX, 0x02) // Device Wake
8594 }
8595 }
8596
8597 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
8598 {
8599 If (PMEE)
8600 {
8601 Return (Package (0x02)
8602 {
8603 0x09,
8604 0x04
8605 })
8606 }
8607 Else
8608 {
8609 Return (Package (0x02)
8610 {
8611 0x09,
8612 Zero
8613 })
8614 }
8615 }
8616
8617 Name (PR0C, Package (0x04)
8618 {
8619 Package (0x04)
8620 {
8621 0xFFFF,
8622 Zero,
8623 LNKB,
8624 Zero
8625 },
8626
8627 Package (0x04)
8628 {
8629 0xFFFF,
8630 One,
8631 LNKC,
8632 Zero
8633 },
8634
8635 Package (0x04)
8636 {
8637 0xFFFF,
8638 0x02,
8639 LNKD,
8640 Zero
8641 },
8642
8643 Package (0x04)
8644 {
8645 0xFFFF,
8646 0x03,
8647 LNKA,
8648 Zero
8649 }
8650 })
8651 Name (AR0C, Package (0x04)
8652 {
8653 Package (0x04)
8654 {
8655 0xFFFF,
8656 Zero,
8657 Zero,
8658 0x11
8659 },
8660
8661 Package (0x04)
8662 {
8663 0xFFFF,
8664 One,
8665 Zero,
8666 0x12
8667 },
8668
8669 Package (0x04)
8670 {
8671 0xFFFF,
8672 0x02,
8673 Zero,
8674 0x13
8675 },
8676
8677 Package (0x04)
8678 {
8679 0xFFFF,
8680 0x03,
8681 Zero,
8682 0x10
8683 }
8684 })
8685 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8686 {
8687 If (PICM)
8688 {
8689 Return (AR0C) /* \_SB_.PCI0.RP06.AR0C */
8690 }
8691
8692 Return (PR0C) /* \_SB_.PCI0.RP06.PR0C */
8693 }
8694 }
8695
8696 Device (RP07)
8697 {
8698 Name (_ADR, 0x001C0006) // _ADR: Address
8699 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
8700 Field (PXCS, AnyAcc, NoLock, Preserve)
8701 {
8702 Offset (0x10),
8703 L0SE, 1,
8704 Offset (0x11),
8705 Offset (0x12),
8706 , 13,
8707 LASX, 1,
8708 Offset (0x1A),
8709 ABPX, 1,
8710 , 2,
8711 PDCX, 1,
8712 , 2,
8713 PDSX, 1,
8714 Offset (0x1B),
8715 Offset (0x20),
8716 Offset (0x22),
8717 PSPX, 1,
8718 Offset (0x98),
8719 , 30,
8720 HPEX, 1,
8721 PMEX, 1
8722 }
8723
8724 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
8725 {
8726 Offset (0x9C),
8727 , 30,
8728 HPSX, 1,
8729 PMSX, 1
8730 }
8731
8732 Device (PXSX)
8733 {
8734 Name (_ADR, Zero) // _ADR: Address
8735 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8736 {
8737 0x09,
8738 0x04
8739 })
8740 }
8741
8742 Method (HPME, 0, Serialized)
8743 {
8744 If (PMSX)
8745 {
8746 Local0 = 0xC8
8747 While (Local0)
8748 {
8749 PMSX = One
8750 If (PMSX)
8751 {
8752 Local0--
8753 }
8754 Else
8755 {
8756 Local0 = Zero
8757 }
8758 }
8759
8760 Notify (PXSX, 0x02) // Device Wake
8761 }
8762 }
8763
8764 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
8765 {
8766 If (PMEE)
8767 {
8768 Return (Package (0x02)
8769 {
8770 0x09,
8771 0x04
8772 })
8773 }
8774 Else
8775 {
8776 Return (Package (0x02)
8777 {
8778 0x09,
8779 Zero
8780 })
8781 }
8782 }
8783
8784 Name (PR0D, Package (0x04)
8785 {
8786 Package (0x04)
8787 {
8788 0xFFFF,
8789 Zero,
8790 LNKC,
8791 Zero
8792 },
8793
8794 Package (0x04)
8795 {
8796 0xFFFF,
8797 One,
8798 LNKD,
8799 Zero
8800 },
8801
8802 Package (0x04)
8803 {
8804 0xFFFF,
8805 0x02,
8806 LNKE,
8807 Zero
8808 },
8809
8810 Package (0x04)
8811 {
8812 0xFFFF,
8813 0x03,
8814 LNKF,
8815 Zero
8816 }
8817 })
8818 Name (AR0D, Package (0x04)
8819 {
8820 Package (0x04)
8821 {
8822 0xFFFF,
8823 Zero,
8824 Zero,
8825 0x12
8826 },
8827
8828 Package (0x04)
8829 {
8830 0xFFFF,
8831 One,
8832 Zero,
8833 0x13
8834 },
8835
8836 Package (0x04)
8837 {
8838 0xFFFF,
8839 0x02,
8840 Zero,
8841 0x14
8842 },
8843
8844 Package (0x04)
8845 {
8846 0xFFFF,
8847 0x03,
8848 Zero,
8849 0x15
8850 }
8851 })
8852 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8853 {
8854 If (PICM)
8855 {
8856 Return (AR0D) /* \_SB_.PCI0.RP07.AR0D */
8857 }
8858
8859 Return (PR0D) /* \_SB_.PCI0.RP07.PR0D */
8860 }
8861 }
8862
8863 Device (RP08)
8864 {
8865 Name (_ADR, 0x001C0007) // _ADR: Address
8866 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
8867 Field (PXCS, AnyAcc, NoLock, Preserve)
8868 {
8869 Offset (0x10),
8870 L0SE, 1,
8871 Offset (0x11),
8872 Offset (0x12),
8873 , 13,
8874 LASX, 1,
8875 Offset (0x1A),
8876 ABPX, 1,
8877 , 2,
8878 PDCX, 1,
8879 , 2,
8880 PDSX, 1,
8881 Offset (0x1B),
8882 Offset (0x20),
8883 Offset (0x22),
8884 PSPX, 1,
8885 Offset (0x98),
8886 , 30,
8887 HPEX, 1,
8888 PMEX, 1
8889 }
8890
8891 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
8892 {
8893 Offset (0x9C),
8894 , 30,
8895 HPSX, 1,
8896 PMSX, 1
8897 }
8898
8899 Device (PXSX)
8900 {
8901 Name (_ADR, Zero) // _ADR: Address
8902 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8903 {
8904 0x09,
8905 0x04
8906 })
8907 }
8908
8909 Method (HPME, 0, Serialized)
8910 {
8911 If (PMSX)
8912 {
8913 Local0 = 0xC8
8914 While (Local0)
8915 {
8916 PMSX = One
8917 If (PMSX)
8918 {
8919 Local0--
8920 }
8921 Else
8922 {
8923 Local0 = Zero
8924 }
8925 }
8926
8927 Notify (PXSX, 0x02) // Device Wake
8928 }
8929 }
8930
8931 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
8932 {
8933 If (PMEE)
8934 {
8935 Return (Package (0x02)
8936 {
8937 0x09,
8938 0x04
8939 })
8940 }
8941 Else
8942 {
8943 Return (Package (0x02)
8944 {
8945 0x09,
8946 Zero
8947 })
8948 }
8949 }
8950
8951 Name (PR0E, Package (0x04)
8952 {
8953 Package (0x04)
8954 {
8955 0xFFFF,
8956 Zero,
8957 LNKD,
8958 Zero
8959 },
8960
8961 Package (0x04)
8962 {
8963 0xFFFF,
8964 One,
8965 LNKA,
8966 Zero
8967 },
8968
8969 Package (0x04)
8970 {
8971 0xFFFF,
8972 0x02,
8973 LNKB,
8974 Zero
8975 },
8976
8977 Package (0x04)
8978 {
8979 0xFFFF,
8980 0x03,
8981 LNKC,
8982 Zero
8983 }
8984 })
8985 Name (AR0E, Package (0x04)
8986 {
8987 Package (0x04)
8988 {
8989 0xFFFF,
8990 Zero,
8991 Zero,
8992 0x13
8993 },
8994
8995 Package (0x04)
8996 {
8997 0xFFFF,
8998 One,
8999 Zero,
9000 0x10
9001 },
9002
9003 Package (0x04)
9004 {
9005 0xFFFF,
9006 0x02,
9007 Zero,
9008 0x11
9009 },
9010
9011 Package (0x04)
9012 {
9013 0xFFFF,
9014 0x03,
9015 Zero,
9016 0x12
9017 }
9018 })
9019 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
9020 {
9021 If (PICM)
9022 {
9023 Return (AR0E) /* \_SB_.PCI0.RP08.AR0E */
9024 }
9025
9026 Return (PR0E) /* \_SB_.PCI0.RP08.PR0E */
9027 }
9028 }
9029
9030 Device (SAT0)
9031 {
9032 Name (_ADR, 0x001F0002) // _ADR: Address
9033 }
9034
9035 Device (SAT1)
9036 {
9037 Name (_ADR, 0x001F0005) // _ADR: Address
9038 }
9039
9040 Device (SBUS)
9041 {
9042 Name (_ADR, 0x001F0003) // _ADR: Address
9043 OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
9044 Field (SMBP, DWordAcc, NoLock, Preserve)
9045 {
9046 , 2,
9047 I2CE, 1
9048 }
9049
9050 OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
9051 Field (SMPB, DWordAcc, NoLock, Preserve)
9052 {
9053 , 5,
9054 SBAR, 11
9055 }
9056
9057 OperationRegion (SMBI, SystemIO, (SBAR << 0x05), 0x10)
9058 Field (SMBI, ByteAcc, NoLock, Preserve)
9059 {
9060 HSTS, 8,
9061 Offset (0x02),
9062 HCON, 8,
9063 HCOM, 8,
9064 TXSA, 8,
9065 DAT0, 8,
9066 DAT1, 8,
9067 HBDR, 8,
9068 PECR, 8,
9069 RXSA, 8,
9070 SDAT, 16
9071 }
9072
9073 Method (SSXB, 2, Serialized)
9074 {
9075 If (STRT ())
9076 {
9077 Return (Zero)
9078 }
9079
9080 I2CE = Zero
9081 HSTS = 0xBF
9082 TXSA = Arg0
9083 HCOM = Arg1
9084 HCON = 0x48
9085 If (COMP ())
9086 {
9087 HSTS |= 0xFF
9088 Return (One)
9089 }
9090
9091 Return (Zero)
9092 }
9093
9094 Method (SRXB, 1, Serialized)
9095 {
9096 If (STRT ())
9097 {
9098 Return (0xFFFF)
9099 }
9100
9101 I2CE = Zero
9102 HSTS = 0xBF
9103 TXSA = (Arg0 | One)
9104 HCON = 0x44
9105 If (COMP ())
9106 {
9107 HSTS |= 0xFF
9108 Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
9109 }
9110
9111 Return (0xFFFF)
9112 }
9113
9114 Method (SWRB, 3, Serialized)
9115 {
9116 If (STRT ())
9117 {
9118 Return (Zero)
9119 }
9120
9121 I2CE = Zero
9122 HSTS = 0xBF
9123 TXSA = Arg0
9124 HCOM = Arg1
9125 DAT0 = Arg2
9126 HCON = 0x48
9127 If (COMP ())
9128 {
9129 HSTS |= 0xFF
9130 Return (One)
9131 }
9132
9133 Return (Zero)
9134 }
9135
9136 Method (SRDB, 2, Serialized)
9137 {
9138 If (STRT ())
9139 {
9140 Return (0xFFFF)
9141 }
9142
9143 I2CE = Zero
9144 HSTS = 0xBF
9145 TXSA = (Arg0 | One)
9146 HCOM = Arg1
9147 HCON = 0x48
9148 If (COMP ())
9149 {
9150 HSTS |= 0xFF
9151 Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
9152 }
9153
9154 Return (0xFFFF)
9155 }
9156
9157 Method (SWRW, 3, Serialized)
9158 {
9159 If (STRT ())
9160 {
9161 Return (Zero)
9162 }
9163
9164 I2CE = Zero
9165 HSTS = 0xBF
9166 TXSA = Arg0
9167 HCOM = Arg1
9168 DAT1 = (Arg2 & 0xFF)
9169 DAT0 = ((Arg2 >> 0x08) & 0xFF)
9170 HCON = 0x4C
9171 If (COMP ())
9172 {
9173 HSTS |= 0xFF
9174 Return (One)
9175 }
9176
9177 Return (Zero)
9178 }
9179
9180 Method (SRDW, 2, Serialized)
9181 {
9182 If (STRT ())
9183 {
9184 Return (0xFFFF)
9185 }
9186
9187 I2CE = Zero
9188 HSTS = 0xBF
9189 TXSA = (Arg0 | One)
9190 HCOM = Arg1
9191 HCON = 0x4C
9192 If (COMP ())
9193 {
9194 HSTS |= 0xFF
9195 Return (((DAT0 << 0x08) | DAT1))
9196 }
9197
9198 Return (Ones)
9199 }
9200
9201 Method (SBLW, 4, Serialized)
9202 {
9203 If (STRT ())
9204 {
9205 Return (Zero)
9206 }
9207
9208 I2CE = Arg3
9209 HSTS = 0xBF
9210 TXSA = Arg0
9211 HCOM = Arg1
9212 DAT0 = SizeOf (Arg2)
9213 Local1 = Zero
9214 HBDR = DerefOf (Arg2 [Zero])
9215 HCON = 0x54
9216 While ((SizeOf (Arg2) > Local1))
9217 {
9218 Local0 = 0x0FA0
9219 While ((!(HSTS & 0x80) && Local0))
9220 {
9221 Local0--
9222 Stall (0x32)
9223 }
9224
9225 If (!Local0)
9226 {
9227 KILL ()
9228 Return (Zero)
9229 }
9230
9231 HSTS = 0x80
9232 Local1++
9233 If ((SizeOf (Arg2) > Local1))
9234 {
9235 HBDR = DerefOf (Arg2 [Local1])
9236 }
9237 }
9238
9239 If (COMP ())
9240 {
9241 HSTS |= 0xFF
9242 Return (One)
9243 }
9244
9245 Return (Zero)
9246 }
9247
9248 Method (SBLR, 3, Serialized)
9249 {
9250 Name (TBUF, Buffer (0x0100){})
9251 If (STRT ())
9252 {
9253 Return (Zero)
9254 }
9255
9256 I2CE = Arg2
9257 HSTS = 0xBF
9258 TXSA = (Arg0 | One)
9259 HCOM = Arg1
9260 HCON = 0x54
9261 Local0 = 0x0FA0
9262 While ((!(HSTS & 0x80) && Local0))
9263 {
9264 Local0--
9265 Stall (0x32)
9266 }
9267
9268 If (!Local0)
9269 {
9270 KILL ()
9271 Return (Zero)
9272 }
9273
9274 TBUF [Zero] = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */
9275 HSTS = 0x80
9276 Local1 = One
9277 While ((Local1 < DerefOf (TBUF [Zero])))
9278 {
9279 Local0 = 0x0FA0
9280 While ((!(HSTS & 0x80) && Local0))
9281 {
9282 Local0--
9283 Stall (0x32)
9284 }
9285
9286 If (!Local0)
9287 {
9288 KILL ()
9289 Return (Zero)
9290 }
9291
9292 TBUF [Local1] = HBDR /* \_SB_.PCI0.SBUS.HBDR */
9293 HSTS = 0x80
9294 Local1++
9295 }
9296
9297 If (COMP ())
9298 {
9299 HSTS |= 0xFF
9300 Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */
9301 }
9302
9303 Return (Zero)
9304 }
9305
9306 Method (STRT, 0, Serialized)
9307 {
9308 Local0 = 0xC8
9309 While (Local0)
9310 {
9311 If ((HSTS & 0x40))
9312 {
9313 Local0--
9314 Sleep (One)
9315 If ((Local0 == Zero))
9316 {
9317 Return (One)
9318 }
9319 }
9320 Else
9321 {
9322 Local0 = Zero
9323 }
9324 }
9325
9326 Local0 = 0x0FA0
9327 While (Local0)
9328 {
9329 If ((HSTS & One))
9330 {
9331 Local0--
9332 Stall (0x32)
9333 If ((Local0 == Zero))
9334 {
9335 KILL ()
9336 }
9337 }
9338 Else
9339 {
9340 Return (Zero)
9341 }
9342 }
9343
9344 Return (One)
9345 }
9346
9347 Method (COMP, 0, Serialized)
9348 {
9349 Local0 = 0x0FA0
9350 While (Local0)
9351 {
9352 If ((HSTS & 0x02))
9353 {
9354 Return (One)
9355 }
9356 Else
9357 {
9358 Local0--
9359 Stall (0x32)
9360 If ((Local0 == Zero))
9361 {
9362 KILL ()
9363 }
9364 }
9365 }
9366
9367 Return (Zero)
9368 }
9369
9370 Method (KILL, 0, Serialized)
9371 {
9372 HCON |= 0x02
9373 HSTS |= 0xFF
9374 }
9375 }
9376 }
9377
9378 Scope (_SB.PCI0)
9379 {
9380 Device (PEG0)
9381 {
9382 Name (_ADR, 0x00010000) // _ADR: Address
9383 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
9384 {
9385 0x09,
9386 0x04
9387 })
9388 Name (PR0A, Package (0x04)
9389 {
9390 Package (0x04)
9391 {
9392 0xFFFF,
9393 Zero,
9394 LNKA,
9395 Zero
9396 },
9397
9398 Package (0x04)
9399 {
9400 0xFFFF,
9401 One,
9402 LNKB,
9403 Zero
9404 },
9405
9406 Package (0x04)
9407 {
9408 0xFFFF,
9409 0x02,
9410 LNKC,
9411 Zero
9412 },
9413
9414 Package (0x04)
9415 {
9416 0xFFFF,
9417 0x03,
9418 LNKD,
9419 Zero
9420 }
9421 })
9422 Name (AR0A, Package (0x04)
9423 {
9424 Package (0x04)
9425 {
9426 0xFFFF,
9427 Zero,
9428 Zero,
9429 0x10
9430 },
9431
9432 Package (0x04)
9433 {
9434 0xFFFF,
9435 One,
9436 Zero,
9437 0x11
9438 },
9439
9440 Package (0x04)
9441 {
9442 0xFFFF,
9443 0x02,
9444 Zero,
9445 0x12
9446 },
9447
9448 Package (0x04)
9449 {
9450 0xFFFF,
9451 0x03,
9452 Zero,
9453 0x13
9454 }
9455 })
9456 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
9457 {
9458 If (PICM)
9459 {
9460 Return (AR0A) /* \_SB_.PCI0.PEG0.AR0A */
9461 }
9462
9463 Return (PR0A) /* \_SB_.PCI0.PEG0.PR0A */
9464 }
9465
9466 Device (PEGP)
9467 {
9468 Name (_ADR, Zero) // _ADR: Address
9469 OperationRegion (DGFX, PCI_Config, Zero, 0xF0)
9470 Field (DGFX, DWordAcc, Lock, Preserve)
9471 {
9472 Offset (0x0B),
9473 LNKV, 8
9474 }
9475
9476 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
9477 {
9478 0x09,
9479 0x04
9480 })
9481 Name (BRT1, Zero)
9482 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
9483 {
9484 Name (DTMX, Package (0x04)
9485 {
9486 0x00010100,
9487 0x00010110,
9488 0x00010200,
9489 0x00010210
9490 })
9491 Return (DTMX) /* \_SB_.PCI0.PEG0.PEGP._DOD.DTMX */
9492 }
9493
9494 Device (DD02)
9495 {
9496 Method (_ADR, 0, Serialized) // _ADR: Address
9497 {
9498 Return (0x0110)
9499 }
9500
9501 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
9502 {
9503 Return (0x1F)
9504 }
9505
9506 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
9507 {
9508 Return (One)
9509 }
9510
9511 Name (BCL0, Package (0x12)
9512 {
9513 0x50,
9514 0x32,
9515 0x02,
9516 0x05,
9517 0x0A,
9518 0x0F,
9519 0x11,
9520 0x14,
9521 0x19,
9522 0x1E,
9523 0x23,
9524 0x28,
9525 0x32,
9526 0x3C,
9527 0x46,
9528 0x50,
9529 0x5A,
9530 0x64
9531 })
9532 Method (_BCL, 0, Serialized) // _BCL: Brightness Control Levels
9533 {
9534 Return (BCL0) /* \_SB_.PCI0.PEG0.PEGP.DD02.BCL0 */
9535 }
9536
9537 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
9538 {
9539 Local0 = Arg0
9540 Local1 = 0x02
9541 While ((DerefOf (BCL0 [Local1]) != Local0))
9542 {
9543 Local1++
9544 }
9545
9546 Local0 = (Local1 - 0x02)
9547 ^^^^LPCB.H_EC.SADC (Local0)
9548 BRT1 = Local0
9549 }
9550
9551 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
9552 {
9553 P8XH (0x04, 0x77, Zero)
9554 Local0 = ^^^^LPCB.H_EC.CUBL /* \_SB_.PCI0.LPCB.H_EC.CUBL */
9555 Local0 = DerefOf (BCL0 [Local0 += 0x02])
9556 Return (Local0)
9557 }
9558 }
9559 }
9560 }
9561
9562 Device (PEG1)
9563 {
9564 Name (_ADR, 0x00010001) // _ADR: Address
9565 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
9566 {
9567 0x09,
9568 0x04
9569 })
9570 Name (PR02, Package (0x04)
9571 {
9572 Package (0x04)
9573 {
9574 0xFFFF,
9575 Zero,
9576 LNKB,
9577 Zero
9578 },
9579
9580 Package (0x04)
9581 {
9582 0xFFFF,
9583 One,
9584 LNKC,
9585 Zero
9586 },
9587
9588 Package (0x04)
9589 {
9590 0xFFFF,
9591 0x02,
9592 LNKD,
9593 Zero
9594 },
9595
9596 Package (0x04)
9597 {
9598 0xFFFF,
9599 0x03,
9600 LNKA,
9601 Zero
9602 }
9603 })
9604 Name (AR02, Package (0x04)
9605 {
9606 Package (0x04)
9607 {
9608 0xFFFF,
9609 Zero,
9610 Zero,
9611 0x11
9612 },
9613
9614 Package (0x04)
9615 {
9616 0xFFFF,
9617 One,
9618 Zero,
9619 0x12
9620 },
9621
9622 Package (0x04)
9623 {
9624 0xFFFF,
9625 0x02,
9626 Zero,
9627 0x13
9628 },
9629
9630 Package (0x04)
9631 {
9632 0xFFFF,
9633 0x03,
9634 Zero,
9635 0x10
9636 }
9637 })
9638 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
9639 {
9640 If (PICM)
9641 {
9642 Return (AR02) /* \_SB_.PCI0.PEG1.AR02 */
9643 }
9644
9645 Return (PR02) /* \_SB_.PCI0.PEG1.PR02 */
9646 }
9647 }
9648
9649 Device (PEG2)
9650 {
9651 Name (_ADR, 0x00010002) // _ADR: Address
9652 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
9653 {
9654 0x09,
9655 0x04
9656 })
9657 Name (PR03, Package (0x04)
9658 {
9659 Package (0x04)
9660 {
9661 0xFFFF,
9662 Zero,
9663 LNKC,
9664 Zero
9665 },
9666
9667 Package (0x04)
9668 {
9669 0xFFFF,
9670 One,
9671 LNKD,
9672 Zero
9673 },
9674
9675 Package (0x04)
9676 {
9677 0xFFFF,
9678 0x02,
9679 LNKA,
9680 Zero
9681 },
9682
9683 Package (0x04)
9684 {
9685 0xFFFF,
9686 0x03,
9687 LNKB,
9688 Zero
9689 }
9690 })
9691 Name (AR03, Package (0x04)
9692 {
9693 Package (0x04)
9694 {
9695 0xFFFF,
9696 Zero,
9697 Zero,
9698 0x12
9699 },
9700
9701 Package (0x04)
9702 {
9703 0xFFFF,
9704 One,
9705 Zero,
9706 0x13
9707 },
9708
9709 Package (0x04)
9710 {
9711 0xFFFF,
9712 0x02,
9713 Zero,
9714 0x10
9715 },
9716
9717 Package (0x04)
9718 {
9719 0xFFFF,
9720 0x03,
9721 Zero,
9722 0x11
9723 }
9724 })
9725 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
9726 {
9727 If (PICM)
9728 {
9729 Return (AR03) /* \_SB_.PCI0.PEG2.AR03 */
9730 }
9731
9732 Return (PR03) /* \_SB_.PCI0.PEG2.PR03 */
9733 }
9734 }
9735
9736 Device (PEG3)
9737 {
9738 Name (_ADR, 0x00060000) // _ADR: Address
9739 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
9740 {
9741 0x09,
9742 0x04
9743 })
9744 Name (PR0B, Package (0x04)
9745 {
9746 Package (0x04)
9747 {
9748 0xFFFF,
9749 Zero,
9750 LNKD,
9751 Zero
9752 },
9753
9754 Package (0x04)
9755 {
9756 0xFFFF,
9757 One,
9758 LNKA,
9759 Zero
9760 },
9761
9762 Package (0x04)
9763 {
9764 0xFFFF,
9765 0x02,
9766 LNKB,
9767 Zero
9768 },
9769
9770 Package (0x04)
9771 {
9772 0xFFFF,
9773 0x03,
9774 LNKC,
9775 Zero
9776 }
9777 })
9778 Name (AR0B, Package (0x04)
9779 {
9780 Package (0x04)
9781 {
9782 0xFFFF,
9783 Zero,
9784 Zero,
9785 0x13
9786 },
9787
9788 Package (0x04)
9789 {
9790 0xFFFF,
9791 One,
9792 Zero,
9793 0x10
9794 },
9795
9796 Package (0x04)
9797 {
9798 0xFFFF,
9799 0x02,
9800 Zero,
9801 0x11
9802 },
9803
9804 Package (0x04)
9805 {
9806 0xFFFF,
9807 0x03,
9808 Zero,
9809 0x12
9810 }
9811 })
9812 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
9813 {
9814 If (PICM)
9815 {
9816 Return (AR0B) /* \_SB_.PCI0.PEG3.AR0B */
9817 }
9818
9819 Return (PR0B) /* \_SB_.PCI0.PEG3.PR0B */
9820 }
9821 }
9822
9823 Device (B0D4)
9824 {
9825 Name (_ADR, 0x00040000) // _ADR: Address
9826 }
9827
9828 Device (GFX0)
9829 {
9830 Name (_ADR, 0x00020000) // _ADR: Address
9831 Name (BRT1, Zero)
9832 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
9833 {
9834 DSEN = (Arg0 & 0x07)
9835 If (((Arg0 & 0x03) == Zero))
9836 {
9837 If (CondRefOf (HDOS))
9838 {
9839 HDOS ()
9840 }
9841 }
9842 }
9843
9844 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
9845 {
9846 If (CondRefOf (IDAB)){}
9847 Else
9848 {
9849 NDID = Zero
9850 If ((DIDL != Zero))
9851 {
9852 DID1 = SDDL (DIDL)
9853 }
9854
9855 If ((DDL2 != Zero))
9856 {
9857 DID2 = SDDL (DDL2)
9858 }
9859
9860 If ((DDL3 != Zero))
9861 {
9862 DID3 = SDDL (DDL3)
9863 }
9864
9865 If ((DDL4 != Zero))
9866 {
9867 DID4 = SDDL (DDL4)
9868 }
9869
9870 If ((DDL5 != Zero))
9871 {
9872 DID5 = SDDL (DDL5)
9873 }
9874
9875 If ((DDL6 != Zero))
9876 {
9877 DID6 = SDDL (DDL6)
9878 }
9879
9880 If ((DDL7 != Zero))
9881 {
9882 DID7 = SDDL (DDL7)
9883 }
9884
9885 If ((DDL8 != Zero))
9886 {
9887 DID8 = SDDL (DDL8)
9888 }
9889 }
9890
9891 If ((NDID == One))
9892 {
9893 Name (TMP1, Package (0x01)
9894 {
9895 Ones
9896 })
9897 TMP1 [Zero] = (0x00010000 | DID1)
9898 Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */
9899 }
9900
9901 If ((NDID == 0x02))
9902 {
9903 Name (TMP2, Package (0x02)
9904 {
9905 Ones,
9906 Ones
9907 })
9908 TMP2 [Zero] = (0x00010000 | DID1)
9909 TMP2 [One] = (0x00010000 | DID2)
9910 Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */
9911 }
9912
9913 If ((NDID == 0x03))
9914 {
9915 Name (TMP3, Package (0x03)
9916 {
9917 Ones,
9918 Ones,
9919 Ones
9920 })
9921 TMP3 [Zero] = (0x00010000 | DID1)
9922 TMP3 [One] = (0x00010000 | DID2)
9923 TMP3 [0x02] = (0x00010000 | DID3)
9924 Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */
9925 }
9926
9927 If ((NDID == 0x04))
9928 {
9929 Name (TMP4, Package (0x04)
9930 {
9931 Ones,
9932 Ones,
9933 Ones,
9934 Ones
9935 })
9936 TMP4 [Zero] = (0x00010000 | DID1)
9937 TMP4 [One] = (0x00010000 | DID2)
9938 TMP4 [0x02] = (0x00010000 | DID3)
9939 TMP4 [0x03] = (0x00010000 | DID4)
9940 Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */
9941 }
9942
9943 If ((NDID == 0x05))
9944 {
9945 Name (TMP5, Package (0x05)
9946 {
9947 Ones,
9948 Ones,
9949 Ones,
9950 Ones,
9951 Ones
9952 })
9953 TMP5 [Zero] = (0x00010000 | DID1)
9954 TMP5 [One] = (0x00010000 | DID2)
9955 TMP5 [0x02] = (0x00010000 | DID3)
9956 TMP5 [0x03] = (0x00010000 | DID4)
9957 TMP5 [0x04] = (0x00010000 | DID5)
9958 Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */
9959 }
9960
9961 If ((NDID == 0x06))
9962 {
9963 Name (TMP6, Package (0x06)
9964 {
9965 Ones,
9966 Ones,
9967 Ones,
9968 Ones,
9969 Ones,
9970 Ones
9971 })
9972 TMP6 [Zero] = (0x00010000 | DID1)
9973 TMP6 [One] = (0x00010000 | DID2)
9974 TMP6 [0x02] = (0x00010000 | DID3)
9975 TMP6 [0x03] = (0x00010000 | DID4)
9976 TMP6 [0x04] = (0x00010000 | DID5)
9977 TMP6 [0x05] = (0x00010000 | DID6)
9978 Return (TMP6) /* \_SB_.PCI0.GFX0._DOD.TMP6 */
9979 }
9980
9981 If ((NDID == 0x07))
9982 {
9983 Name (TMP7, Package (0x07)
9984 {
9985 Ones,
9986 Ones,
9987 Ones,
9988 Ones,
9989 Ones,
9990 Ones,
9991 Ones
9992 })
9993 TMP7 [Zero] = (0x00010000 | DID1)
9994 TMP7 [One] = (0x00010000 | DID2)
9995 TMP7 [0x02] = (0x00010000 | DID3)
9996 TMP7 [0x03] = (0x00010000 | DID4)
9997 TMP7 [0x04] = (0x00010000 | DID5)
9998 TMP7 [0x05] = (0x00010000 | DID6)
9999 TMP7 [0x06] = (0x00010000 | DID7)
10000 Return (TMP7) /* \_SB_.PCI0.GFX0._DOD.TMP7 */
10001 }
10002
10003 If ((NDID == 0x08))
10004 {
10005 Name (TMP8, Package (0x08)
10006 {
10007 Ones,
10008 Ones,
10009 Ones,
10010 Ones,
10011 Ones,
10012 Ones,
10013 Ones,
10014 Ones
10015 })
10016 TMP8 [Zero] = (0x00010000 | DID1)
10017 TMP8 [One] = (0x00010000 | DID2)
10018 TMP8 [0x02] = (0x00010000 | DID3)
10019 TMP8 [0x03] = (0x00010000 | DID4)
10020 TMP8 [0x04] = (0x00010000 | DID5)
10021 TMP8 [0x05] = (0x00010000 | DID6)
10022 TMP8 [0x06] = (0x00010000 | DID7)
10023 TMP8 [0x07] = (0x00010000 | DID8)
10024 Return (TMP8) /* \_SB_.PCI0.GFX0._DOD.TMP8 */
10025 }
10026
10027 If ((NDID == 0x09))
10028 {
10029 If (CondRefOf (HWID))
10030 {
10031 Return (HWID) /* External reference */
10032 }
10033 }
10034
10035 Return (Package (0x01)
10036 {
10037 0x0400
10038 })
10039 }
10040
10041 Device (DD01)
10042 {
10043 Method (_ADR, 0, Serialized) // _ADR: Address
10044 {
10045 If ((DID1 == Zero))
10046 {
10047 Return (One)
10048 }
10049 Else
10050 {
10051 Return ((0xFFFF & DID1))
10052 }
10053 }
10054
10055 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
10056 {
10057 Return (CDDS (DID1))
10058 }
10059
10060 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
10061 {
10062 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
10063 {
10064 Return (NXD1) /* \NXD1 */
10065 }
10066
10067 Return (NDDS (DID1))
10068 }
10069
10070 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
10071 {
10072 If (((Arg0 & 0xC0000000) == 0xC0000000))
10073 {
10074 CSTE = NSTE /* \NSTE */
10075 }
10076 }
10077 }
10078
10079 Device (DD02)
10080 {
10081 Method (_ADR, 0, Serialized) // _ADR: Address
10082 {
10083 If ((DID2 == Zero))
10084 {
10085 Return (0x02)
10086 }
10087 Else
10088 {
10089 Return ((0xFFFF & DID2))
10090 }
10091 }
10092
10093 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
10094 {
10095 If ((LIDS == Zero))
10096 {
10097 Return (Zero)
10098 }
10099
10100 Return (CDDS (DID2))
10101 }
10102
10103 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
10104 {
10105 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
10106 {
10107 Return (NXD2) /* \NXD2 */
10108 }
10109
10110 Return (NDDS (DID2))
10111 }
10112
10113 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
10114 {
10115 If (((Arg0 & 0xC0000000) == 0xC0000000))
10116 {
10117 CSTE = NSTE /* \NSTE */
10118 }
10119 }
10120
10121 Name (BCL0, Package (0x0D)
10122 {
10123 0x64,
10124 0x43,
10125 One,
10126 0x06,
10127 0x0B,
10128 0x10,
10129 0x18,
10130 0x20,
10131 0x28,
10132 0x31,
10133 0x3A,
10134 0x43,
10135 0x64
10136 })
10137 Name (BCL1, Package (0x0D)
10138 {
10139 0x64,
10140 0x50,
10141 0x05,
10142 0x0A,
10143 0x14,
10144 0x1E,
10145 0x28,
10146 0x32,
10147 0x3C,
10148 0x46,
10149 0x50,
10150 0x5A,
10151 0x64
10152 })
10153 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
10154 {
10155 If ((OSVR == 0x10))
10156 {
10157 Return (Package (0x67)
10158 {
10159 0x64,
10160 0x32,
10161 Zero,
10162 One,
10163 0x02,
10164 0x03,
10165 0x04,
10166 0x05,
10167 0x06,
10168 0x07,
10169 0x08,
10170 0x09,
10171 0x0A,
10172 0x0B,
10173 0x0C,
10174 0x0D,
10175 0x0E,
10176 0x0F,
10177 0x10,
10178 0x11,
10179 0x12,
10180 0x13,
10181 0x14,
10182 0x15,
10183 0x16,
10184 0x17,
10185 0x18,
10186 0x19,
10187 0x1A,
10188 0x1B,
10189 0x1C,
10190 0x1D,
10191 0x1E,
10192 0x1F,
10193 0x20,
10194 0x21,
10195 0x22,
10196 0x23,
10197 0x24,
10198 0x25,
10199 0x26,
10200 0x27,
10201 0x28,
10202 0x29,
10203 0x2A,
10204 0x2B,
10205 0x2C,
10206 0x2D,
10207 0x2E,
10208 0x2F,
10209 0x30,
10210 0x31,
10211 0x32,
10212 0x33,
10213 0x34,
10214 0x35,
10215 0x36,
10216 0x37,
10217 0x38,
10218 0x39,
10219 0x3A,
10220 0x3B,
10221 0x3C,
10222 0x3D,
10223 0x3E,
10224 0x3F,
10225 0x40,
10226 0x41,
10227 0x42,
10228 0x43,
10229 0x44,
10230 0x45,
10231 0x46,
10232 0x47,
10233 0x48,
10234 0x49,
10235 0x4A,
10236 0x4B,
10237 0x4C,
10238 0x4D,
10239 0x4E,
10240 0x4F,
10241 0x50,
10242 0x51,
10243 0x52,
10244 0x53,
10245 0x54,
10246 0x55,
10247 0x56,
10248 0x57,
10249 0x58,
10250 0x59,
10251 0x5A,
10252 0x5B,
10253 0x5C,
10254 0x5D,
10255 0x5E,
10256 0x5F,
10257 0x60,
10258 0x61,
10259 0x62,
10260 0x63,
10261 0x64
10262 })
10263 }
10264 ElseIf ((OSVR == 0x03))
10265 {
10266 Return (BCL1) /* \_SB_.PCI0.GFX0.DD02.BCL1 */
10267 }
10268 Else
10269 {
10270 Return (BCL0) /* \_SB_.PCI0.GFX0.DD02.BCL0 */
10271 }
10272 }
10273
10274 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
10275 {
10276 If ((OSVR == 0x10)){}
10277 ElseIf (((Arg0 >= Zero) && (Arg0 <= 0x64)))
10278 {
10279 If ((OSVR == 0x03))
10280 {
10281 AINT (One, Arg0)
10282 BRTL = Arg0
10283 }
10284 Else
10285 {
10286 AINT (One, Arg0)
10287 Local0 = Arg0
10288 BRTL = Arg0
10289 Local1 = 0x02
10290 While ((Local0 != DerefOf (BCL0 [Local1])))
10291 {
10292 Local1++
10293 }
10294
10295 Local0 = (Local1 - 0x02)
10296 ^^^LPCB.H_EC.CUBL = Local0
10297 BRT1 = Local0
10298 }
10299 }
10300 }
10301
10302 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
10303 {
10304 If ((OSVR == 0x10)){}
10305 Else
10306 {
10307 Return (BRTL) /* \BRTL */
10308 }
10309 }
10310 }
10311
10312 Device (DD03)
10313 {
10314 Method (_ADR, 0, Serialized) // _ADR: Address
10315 {
10316 If ((DID3 == Zero))
10317 {
10318 Return (0x03)
10319 }
10320 Else
10321 {
10322 Return ((0xFFFF & DID3))
10323 }
10324 }
10325
10326 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
10327 {
10328 If ((DID3 == Zero))
10329 {
10330 Return (0x0B)
10331 }
10332 Else
10333 {
10334 Return (CDDS (DID3))
10335 }
10336 }
10337
10338 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
10339 {
10340 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
10341 {
10342 Return (NXD3) /* \NXD3 */
10343 }
10344
10345 Return (NDDS (DID3))
10346 }
10347
10348 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
10349 {
10350 If (((Arg0 & 0xC0000000) == 0xC0000000))
10351 {
10352 CSTE = NSTE /* \NSTE */
10353 }
10354 }
10355 }
10356
10357 Device (DD04)
10358 {
10359 Method (_ADR, 0, Serialized) // _ADR: Address
10360 {
10361 If ((DID4 == Zero))
10362 {
10363 Return (0x04)
10364 }
10365 Else
10366 {
10367 Return ((0xFFFF & DID4))
10368 }
10369 }
10370
10371 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
10372 {
10373 If ((DID4 == Zero))
10374 {
10375 Return (0x0B)
10376 }
10377 Else
10378 {
10379 Return (CDDS (DID4))
10380 }
10381 }
10382
10383 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
10384 {
10385 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
10386 {
10387 Return (NXD4) /* \NXD4 */
10388 }
10389
10390 Return (NDDS (DID4))
10391 }
10392
10393 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
10394 {
10395 If (((Arg0 & 0xC0000000) == 0xC0000000))
10396 {
10397 CSTE = NSTE /* \NSTE */
10398 }
10399 }
10400 }
10401
10402 Device (DD05)
10403 {
10404 Method (_ADR, 0, Serialized) // _ADR: Address
10405 {
10406 If ((DID5 == Zero))
10407 {
10408 Return (0x05)
10409 }
10410 Else
10411 {
10412 Return ((0xFFFF & DID5))
10413 }
10414 }
10415
10416 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
10417 {
10418 If ((DID5 == Zero))
10419 {
10420 Return (0x0B)
10421 }
10422 Else
10423 {
10424 Return (CDDS (DID5))
10425 }
10426 }
10427
10428 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
10429 {
10430 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
10431 {
10432 Return (NXD5) /* \NXD5 */
10433 }
10434
10435 Return (NDDS (DID5))
10436 }
10437
10438 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
10439 {
10440 If (((Arg0 & 0xC0000000) == 0xC0000000))
10441 {
10442 CSTE = NSTE /* \NSTE */
10443 }
10444 }
10445 }
10446
10447 Device (DD06)
10448 {
10449 Method (_ADR, 0, Serialized) // _ADR: Address
10450 {
10451 If ((DID6 == Zero))
10452 {
10453 Return (0x06)
10454 }
10455 Else
10456 {
10457 Return ((0xFFFF & DID6))
10458 }
10459 }
10460
10461 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
10462 {
10463 If ((DID6 == Zero))
10464 {
10465 Return (0x0B)
10466 }
10467 Else
10468 {
10469 Return (CDDS (DID6))
10470 }
10471 }
10472
10473 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
10474 {
10475 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
10476 {
10477 Return (NXD6) /* \NXD6 */
10478 }
10479
10480 Return (NDDS (DID6))
10481 }
10482
10483 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
10484 {
10485 If (((Arg0 & 0xC0000000) == 0xC0000000))
10486 {
10487 CSTE = NSTE /* \NSTE */
10488 }
10489 }
10490 }
10491
10492 Device (DD07)
10493 {
10494 Method (_ADR, 0, Serialized) // _ADR: Address
10495 {
10496 If ((DID7 == Zero))
10497 {
10498 Return (0x07)
10499 }
10500 Else
10501 {
10502 Return ((0xFFFF & DID7))
10503 }
10504 }
10505
10506 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
10507 {
10508 If ((DID7 == Zero))
10509 {
10510 Return (0x0B)
10511 }
10512 Else
10513 {
10514 Return (CDDS (DID7))
10515 }
10516 }
10517
10518 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
10519 {
10520 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
10521 {
10522 Return (NXD7) /* \NXD7 */
10523 }
10524
10525 Return (NDDS (DID7))
10526 }
10527
10528 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
10529 {
10530 If (((Arg0 & 0xC0000000) == 0xC0000000))
10531 {
10532 CSTE = NSTE /* \NSTE */
10533 }
10534 }
10535 }
10536
10537 Device (DD08)
10538 {
10539 Method (_ADR, 0, Serialized) // _ADR: Address
10540 {
10541 If ((DID8 == Zero))
10542 {
10543 Return (0x08)
10544 }
10545 Else
10546 {
10547 Return ((0xFFFF & DID8))
10548 }
10549 }
10550
10551 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
10552 {
10553 If ((DID8 == Zero))
10554 {
10555 Return (0x0B)
10556 }
10557 Else
10558 {
10559 Return (CDDS (DID8))
10560 }
10561 }
10562
10563 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
10564 {
10565 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
10566 {
10567 Return (NXD8) /* \NXD8 */
10568 }
10569
10570 Return (NDDS (DID8))
10571 }
10572
10573 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
10574 {
10575 If (((Arg0 & 0xC0000000) == 0xC0000000))
10576 {
10577 CSTE = NSTE /* \NSTE */
10578 }
10579 }
10580 }
10581
10582 Method (SDDL, 1, NotSerialized)
10583 {
10584 NDID++
10585 Local0 = (Arg0 & 0x0F0F)
10586 Local1 = (0x80000000 | Local0)
10587 If ((DIDL == Local0))
10588 {
10589 Return (Local1)
10590 }
10591
10592 If ((DDL2 == Local0))
10593 {
10594 Return (Local1)
10595 }
10596
10597 If ((DDL3 == Local0))
10598 {
10599 Return (Local1)
10600 }
10601
10602 If ((DDL4 == Local0))
10603 {
10604 Return (Local1)
10605 }
10606
10607 If ((DDL5 == Local0))
10608 {
10609 Return (Local1)
10610 }
10611
10612 If ((DDL6 == Local0))
10613 {
10614 Return (Local1)
10615 }
10616
10617 If ((DDL7 == Local0))
10618 {
10619 Return (Local1)
10620 }
10621
10622 If ((DDL8 == Local0))
10623 {
10624 Return (Local1)
10625 }
10626
10627 Return (Zero)
10628 }
10629
10630 Method (CDDS, 1, NotSerialized)
10631 {
10632 Local0 = (Arg0 & 0x0F0F)
10633 If ((Zero == Local0))
10634 {
10635 Return (0x1D)
10636 }
10637
10638 If ((CADL == Local0))
10639 {
10640 Return (0x1F)
10641 }
10642
10643 If ((CAL2 == Local0))
10644 {
10645 Return (0x1F)
10646 }
10647
10648 If ((CAL3 == Local0))
10649 {
10650 Return (0x1F)
10651 }
10652
10653 If ((CAL4 == Local0))
10654 {
10655 Return (0x1F)
10656 }
10657
10658 If ((CAL5 == Local0))
10659 {
10660 Return (0x1F)
10661 }
10662
10663 If ((CAL6 == Local0))
10664 {
10665 Return (0x1F)
10666 }
10667
10668 If ((CAL7 == Local0))
10669 {
10670 Return (0x1F)
10671 }
10672
10673 If ((CAL8 == Local0))
10674 {
10675 Return (0x1F)
10676 }
10677
10678 Return (0x1D)
10679 }
10680
10681 Method (NDDS, 1, NotSerialized)
10682 {
10683 Local0 = (Arg0 & 0x0F0F)
10684 If ((Zero == Local0))
10685 {
10686 Return (Zero)
10687 }
10688
10689 If ((NADL == Local0))
10690 {
10691 Return (One)
10692 }
10693
10694 If ((NDL2 == Local0))
10695 {
10696 Return (One)
10697 }
10698
10699 If ((NDL3 == Local0))
10700 {
10701 Return (One)
10702 }
10703
10704 If ((NDL4 == Local0))
10705 {
10706 Return (One)
10707 }
10708
10709 If ((NDL5 == Local0))
10710 {
10711 Return (One)
10712 }
10713
10714 If ((NDL6 == Local0))
10715 {
10716 Return (One)
10717 }
10718
10719 If ((NDL7 == Local0))
10720 {
10721 Return (One)
10722 }
10723
10724 If ((NDL8 == Local0))
10725 {
10726 Return (One)
10727 }
10728
10729 Return (Zero)
10730 }
10731
10732 Scope (^^PCI0)
10733 {
10734 OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
10735 Field (MCHP, AnyAcc, NoLock, Preserve)
10736 {
10737 Offset (0x60),
10738 TASM, 10,
10739 Offset (0x62)
10740 }
10741 }
10742
10743 OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
10744 Field (IGDP, AnyAcc, NoLock, Preserve)
10745 {
10746 Offset (0x12),
10747 , 1,
10748 GIVD, 1,
10749 , 2,
10750 GUMA, 3,
10751 Offset (0x14),
10752 , 4,
10753 GMFN, 1,
10754 Offset (0x18),
10755 Offset (0xA4),
10756 ASLE, 8,
10757 Offset (0xA8),
10758 GSSE, 1,
10759 GSSB, 14,
10760 GSES, 1,
10761 Offset (0xB0),
10762 , 12,
10763 CDVL, 1,
10764 Offset (0xB2),
10765 Offset (0xB5),
10766 LBPC, 8,
10767 Offset (0xBC),
10768 ASLS, 32
10769 }
10770
10771 OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
10772 Field (IGDM, AnyAcc, NoLock, Preserve)
10773 {
10774 SIGN, 128,
10775 SIZE, 32,
10776 OVER, 32,
10777 SVER, 256,
10778 VVER, 128,
10779 GVER, 128,
10780 MBOX, 32,
10781 DMOD, 32,
10782 Offset (0x100),
10783 DRDY, 32,
10784 CSTS, 32,
10785 CEVT, 32,
10786 Offset (0x120),
10787 DIDL, 32,
10788 DDL2, 32,
10789 DDL3, 32,
10790 DDL4, 32,
10791 DDL5, 32,
10792 DDL6, 32,
10793 DDL7, 32,
10794 DDL8, 32,
10795 CPDL, 32,
10796 CPL2, 32,
10797 CPL3, 32,
10798 CPL4, 32,
10799 CPL5, 32,
10800 CPL6, 32,
10801 CPL7, 32,
10802 CPL8, 32,
10803 CADL, 32,
10804 CAL2, 32,
10805 CAL3, 32,
10806 CAL4, 32,
10807 CAL5, 32,
10808 CAL6, 32,
10809 CAL7, 32,
10810 CAL8, 32,
10811 NADL, 32,
10812 NDL2, 32,
10813 NDL3, 32,
10814 NDL4, 32,
10815 NDL5, 32,
10816 NDL6, 32,
10817 NDL7, 32,
10818 NDL8, 32,
10819 ASLP, 32,
10820 TIDX, 32,
10821 CHPD, 32,
10822 CLID, 32,
10823 CDCK, 32,
10824 SXSW, 32,
10825 EVTS, 32,
10826 CNOT, 32,
10827 NRDY, 32,
10828 Offset (0x200),
10829 SCIE, 1,
10830 GEFC, 4,
10831 GXFC, 3,
10832 GESF, 8,
10833 Offset (0x204),
10834 PARM, 32,
10835 DSLP, 32,
10836 Offset (0x300),
10837 ARDY, 32,
10838 ASLC, 32,
10839 TCHE, 32,
10840 ALSI, 32,
10841 BCLP, 32,
10842 PFIT, 32,
10843 CBLV, 32,
10844 BCLM, 320,
10845 CPFM, 32,
10846 EPFM, 32,
10847 PLUT, 592,
10848 PFMB, 32,
10849 CCDV, 32,
10850 PCFT, 32,
10851 Offset (0x400),
10852 GVD1, 49152,
10853 PHED, 32,
10854 BDDC, 2048
10855 }
10856
10857 Name (DBTB, Package (0x15)
10858 {
10859 Zero,
10860 0x07,
10861 0x38,
10862 0x01C0,
10863 0x0E00,
10864 0x3F,
10865 0x01C7,
10866 0x0E07,
10867 0x01F8,
10868 0x0E38,
10869 0x0FC0,
10870 Zero,
10871 Zero,
10872 Zero,
10873 Zero,
10874 Zero,
10875 0x7000,
10876 0x7007,
10877 0x7038,
10878 0x71C0,
10879 0x7E00
10880 })
10881 Name (CDCT, Package (0x05)
10882 {
10883 Package (0x02)
10884 {
10885 0xE4,
10886 0x0140
10887 },
10888
10889 Package (0x02)
10890 {
10891 0xDE,
10892 0x014D
10893 },
10894
10895 Package (0x02)
10896 {
10897 0xDE,
10898 0x014D
10899 },
10900
10901 Package (0x02)
10902 {
10903 Zero,
10904 Zero
10905 },
10906
10907 Package (0x02)
10908 {
10909 0xDE,
10910 0x014D
10911 }
10912 })
10913 Name (SUCC, One)
10914 Name (NVLD, 0x02)
10915 Name (CRIT, 0x04)
10916 Name (NCRT, 0x06)
10917 Method (GSCI, 0, Serialized)
10918 {
10919 Method (GBDA, 0, Serialized)
10920 {
10921 If ((GESF == Zero))
10922 {
10923 PARM = 0x0679
10924 GESF = Zero
10925 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
10926 }
10927
10928 If ((GESF == One))
10929 {
10930 PARM = 0x0240
10931 GESF = Zero
10932 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
10933 }
10934
10935 If ((GESF == 0x04))
10936 {
10937 PARM &= 0xEFFF0000
10938 PARM &= (DerefOf (DBTB [IBTT]) << 0x10)
10939 PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */
10940 GESF = Zero
10941 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
10942 }
10943
10944 If ((GESF == 0x05))
10945 {
10946 PARM = IPSC /* \IPSC */
10947 PARM |= (IPAT << 0x08)
10948 PARM += 0x0100
10949 PARM |= (LIDS << 0x10)
10950 PARM += 0x00010000
10951 PARM |= (IBIA << 0x14)
10952 GESF = Zero
10953 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
10954 }
10955
10956 If ((GESF == 0x06))
10957 {
10958 PARM = ITVF /* \ITVF */
10959 PARM |= (ITVM << 0x04)
10960 GESF = Zero
10961 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
10962 }
10963
10964 If ((GESF == 0x07))
10965 {
10966 PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */
10967 PARM ^= One
10968 PARM |= (GMFN << One)
10969 PARM |= 0x1800
10970 PARM |= (IDMS << 0x11)
10971 PARM |= (DerefOf (DerefOf (CDCT [HVCO]) [CDVL]) <<
10972 0x15) /* \_SB_.PCI0.GFX0.PARM */
10973 GESF = One
10974 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
10975 }
10976
10977 If ((GESF == 0x0A))
10978 {
10979 PARM = Zero
10980 If (ISSC)
10981 {
10982 PARM |= 0x03
10983 }
10984
10985 GESF = Zero
10986 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
10987 }
10988
10989 If ((GESF == 0x0B))
10990 {
10991 PARM = KSV0 /* \KSV0 */
10992 GESF = KSV1 /* \KSV1 */
10993 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
10994 }
10995
10996 GESF = Zero
10997 Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
10998 }
10999
11000 Method (SBCB, 0, Serialized)
11001 {
11002 If ((GESF == Zero))
11003 {
11004 PARM = Zero
11005 PARM = 0x000F87FD
11006 GESF = Zero
11007 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11008 }
11009
11010 If ((GESF == One))
11011 {
11012 GESF = Zero
11013 PARM = Zero
11014 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11015 }
11016
11017 If ((GESF == 0x03))
11018 {
11019 GESF = Zero
11020 PARM = Zero
11021 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11022 }
11023
11024 If ((GESF == 0x04))
11025 {
11026 GESF = Zero
11027 PARM = Zero
11028 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11029 }
11030
11031 If ((GESF == 0x05))
11032 {
11033 GESF = Zero
11034 PARM = Zero
11035 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11036 }
11037
11038 If ((GESF == 0x06))
11039 {
11040 ITVF = (PARM & 0x0F)
11041 ITVM = ((PARM & 0xF0) >> 0x04)
11042 GESF = Zero
11043 PARM = Zero
11044 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11045 }
11046
11047 If ((GESF == 0x07))
11048 {
11049 If ((PARM == Zero))
11050 {
11051 Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */
11052 If ((0x80000000 & Local0))
11053 {
11054 CLID &= 0x0F
11055 GLID (CLID)
11056 }
11057 }
11058
11059 GESF = Zero
11060 PARM = Zero
11061 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11062 }
11063
11064 If ((GESF == 0x08))
11065 {
11066 GESF = Zero
11067 PARM = Zero
11068 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11069 }
11070
11071 If ((GESF == 0x09))
11072 {
11073 IBTT = (PARM & 0xFF)
11074 GESF = Zero
11075 PARM = Zero
11076 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11077 }
11078
11079 If ((GESF == 0x0A))
11080 {
11081 IPSC = (PARM & 0xFF)
11082 If (((PARM >> 0x08) & 0xFF))
11083 {
11084 IPAT = ((PARM >> 0x08) & 0xFF)
11085 IPAT--
11086 }
11087
11088 IBIA = ((PARM >> 0x14) & 0x07)
11089 GESF = Zero
11090 PARM = Zero
11091 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11092 }
11093
11094 If ((GESF == 0x0B))
11095 {
11096 IF1E = ((PARM >> One) & One)
11097 If ((PARM & 0x0001E000))
11098 {
11099 IDMS = ((PARM >> 0x0D) & 0x0F)
11100 }
11101 Else
11102 {
11103 IDMS = ((PARM >> 0x11) & 0x0F)
11104 }
11105
11106 GESF = Zero
11107 PARM = Zero
11108 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11109 }
11110
11111 If ((GESF == 0x10))
11112 {
11113 GESF = Zero
11114 PARM = Zero
11115 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11116 }
11117
11118 If ((GESF == 0x11))
11119 {
11120 PARM = (LIDS << 0x08)
11121 PARM += 0x0100
11122 GESF = Zero
11123 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11124 }
11125
11126 If ((GESF == 0x12))
11127 {
11128 If ((PARM & One))
11129 {
11130 If (((PARM >> One) == One))
11131 {
11132 ISSC = One
11133 }
11134 Else
11135 {
11136 GESF = Zero
11137 Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
11138 }
11139 }
11140 Else
11141 {
11142 ISSC = Zero
11143 }
11144
11145 GESF = Zero
11146 PARM = Zero
11147 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11148 }
11149
11150 If ((GESF == 0x13))
11151 {
11152 GESF = Zero
11153 PARM = Zero
11154 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11155 }
11156
11157 If ((GESF == 0x14))
11158 {
11159 PAVP = (PARM & 0x0F)
11160 GESF = Zero
11161 PARM = Zero
11162 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11163 }
11164
11165 GESF = Zero
11166 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
11167 }
11168
11169 If ((GEFC == 0x04))
11170 {
11171 GXFC = GBDA ()
11172 }
11173
11174 If ((GEFC == 0x06))
11175 {
11176 GXFC = SBCB ()
11177 }
11178
11179 GEFC = Zero
11180 SCIS = One
11181 GSSE = Zero
11182 SCIE = Zero
11183 Return (Zero)
11184 }
11185
11186 Method (PDRD, 0, NotSerialized)
11187 {
11188 If (!DRDY)
11189 {
11190 Sleep (ASLP)
11191 }
11192
11193 Return (!DRDY)
11194 }
11195
11196 Method (PSTS, 0, NotSerialized)
11197 {
11198 If ((CSTS > 0x02))
11199 {
11200 Sleep (ASLP)
11201 }
11202
11203 Return ((CSTS == 0x03))
11204 }
11205
11206 Method (GNOT, 2, NotSerialized)
11207 {
11208 If (PDRD ())
11209 {
11210 Return (One)
11211 }
11212
11213 CEVT = Arg0
11214 CSTS = 0x03
11215 If (((CHPD == Zero) && (Arg1 == Zero)))
11216 {
11217 If (((OSYS > 0x07D0) || (OSYS < 0x07D6)))
11218 {
11219 Notify (PCI0, Arg1)
11220 }
11221 Else
11222 {
11223 Notify (GFX0, Arg1)
11224 }
11225 }
11226
11227 If (CondRefOf (HNOT))
11228 {
11229 HNOT (Arg0)
11230 }
11231 Else
11232 {
11233 Notify (GFX0, 0x80) // Status Change
11234 }
11235
11236 Return (Zero)
11237 }
11238
11239 Method (GHDS, 1, NotSerialized)
11240 {
11241 TIDX = Arg0
11242 Return (GNOT (One, Zero))
11243 }
11244
11245 Method (GLID, 1, NotSerialized)
11246 {
11247 If ((Arg0 == One))
11248 {
11249 CLID = 0x03
11250 }
11251 Else
11252 {
11253 CLID = Arg0
11254 }
11255
11256 Return (GNOT (0x02, Zero))
11257 }
11258
11259 Method (GDCK, 1, NotSerialized)
11260 {
11261 CDCK = Arg0
11262 Return (GNOT (0x04, Zero))
11263 }
11264
11265 Method (PARD, 0, NotSerialized)
11266 {
11267 If (!ARDY)
11268 {
11269 Sleep (ASLP)
11270 }
11271
11272 Return (!ARDY)
11273 }
11274
11275 Method (AINT, 2, Serialized)
11276 {
11277 If (!(TCHE & (One << Arg0)))
11278 {
11279 Return (One)
11280 }
11281
11282 If (PARD ())
11283 {
11284 Return (One)
11285 }
11286
11287 If ((Arg0 == 0x02))
11288 {
11289 If (CPFM)
11290 {
11291 Local0 = (CPFM & 0x0F)
11292 Local1 = (EPFM & 0x0F)
11293 If ((Local0 == One))
11294 {
11295 If ((Local1 & 0x06))
11296 {
11297 PFIT = 0x06
11298 }
11299 ElseIf ((Local1 & 0x08))
11300 {
11301 PFIT = 0x08
11302 }
11303 Else
11304 {
11305 PFIT = One
11306 }
11307 }
11308
11309 If ((Local0 == 0x06))
11310 {
11311 If ((Local1 & 0x08))
11312 {
11313 PFIT = 0x08
11314 }
11315 ElseIf ((Local1 & One))
11316 {
11317 PFIT = One
11318 }
11319 Else
11320 {
11321 PFIT = 0x06
11322 }
11323 }
11324
11325 If ((Local0 == 0x08))
11326 {
11327 If ((Local1 & One))
11328 {
11329 PFIT = One
11330 }
11331 ElseIf ((Local1 & 0x06))
11332 {
11333 PFIT = 0x06
11334 }
11335 Else
11336 {
11337 PFIT = 0x08
11338 }
11339 }
11340 }
11341 Else
11342 {
11343 PFIT ^= 0x07
11344 }
11345
11346 PFIT |= 0x80000000
11347 ASLC = 0x04
11348 }
11349 ElseIf ((Arg0 == One))
11350 {
11351 BCLP = ((Arg1 * 0xFF) / 0x64)
11352 BCLP |= 0x80000000
11353 ASLC = 0x02
11354 }
11355 ElseIf ((Arg0 == Zero))
11356 {
11357 ALSI = Arg1
11358 ASLC = One
11359 }
11360 Else
11361 {
11362 Return (One)
11363 }
11364
11365 ASLE = One
11366 Return (Zero)
11367 }
11368
11369 Method (SCIP, 0, NotSerialized)
11370 {
11371 If ((OVER != Zero))
11372 {
11373 Return (!GSMI)
11374 }
11375
11376 Return (Zero)
11377 }
11378
11379 Device (^^MEM2)
11380 {
11381 Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID
11382 Name (_UID, 0x02) // _UID: Unique ID
11383 Name (CRS1, ResourceTemplate ()
11384 {
11385 Memory32Fixed (ReadWrite,
11386 0x20000000, // Address Base
11387 0x00200000, // Address Length
11388 )
11389 Memory32Fixed (ReadWrite,
11390 0x40000000, // Address Base
11391 0x00200000, // Address Length
11392 )
11393 })
11394 Name (CRS2, ResourceTemplate ()
11395 {
11396 Memory32Fixed (ReadWrite,
11397 0x20000000, // Address Base
11398 0x00200000, // Address Length
11399 )
11400 Memory32Fixed (ReadWrite,
11401 0x40004000, // Address Base
11402 0x00001000, // Address Length
11403 )
11404 })
11405 Method (_STA, 0, NotSerialized) // _STA: Status
11406 {
11407 If (IGDS)
11408 {
11409 Return (0x0F)
11410 }
11411
11412 Return (Zero)
11413 }
11414
11415 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
11416 {
11417 If ((((PNHM & 0x0FFF0FF0) == 0x000206A0) || ((PNHM & 0x0FFF0FFF
11418 ) == 0x000306A0)))
11419 {
11420 Return (CRS1) /* \_SB_.MEM2.CRS1 */
11421 }
11422
11423 Return (CRS2) /* \_SB_.MEM2.CRS2 */
11424 }
11425 }
11426
11427 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
11428 {
11429 Name (DRET, Buffer (0x04)
11430 {
11431 0x00 // .
11432 })
11433 If ((Arg0 == ToUUID ("6f3975e1-7a82-4f67-8b97-15bee060bedf")))
11434 {
11435 If ((Arg2 == Zero))
11436 {
11437 CreateWordField (DRET, Zero, F0SS)
11438 F0SS = 0x02
11439 Return (DRET) /* \_SB_.PCI0.GFX0._DSM.DRET */
11440 }
11441
11442 If ((Arg2 == One))
11443 {
11444 If ((^^PEG0.PEGP.LNKV == 0x03))
11445 {
11446 Return (Zero)
11447 }
11448
11449 Return (One)
11450 }
11451 }
11452
11453 Return (DRET) /* \_SB_.PCI0.GFX0._DSM.DRET */
11454 }
11455 }
11456 }
11457
11458 Name (_S0, Package (0x04) // _S0_: S0 System State
11459 {
11460 Zero,
11461 Zero,
11462 Zero,
11463 Zero
11464 })
11465 If (SS1)
11466 {
11467 Name (_S1, Package (0x04) // _S1_: S1 System State
11468 {
11469 One,
11470 Zero,
11471 Zero,
11472 Zero
11473 })
11474 }
11475
11476 If (SS3)
11477 {
11478 Name (_S3, Package (0x04) // _S3_: S3 System State
11479 {
11480 0x05,
11481 Zero,
11482 Zero,
11483 Zero
11484 })
11485 }
11486
11487 If (SS4)
11488 {
11489 Name (_S4, Package (0x04) // _S4_: S4 System State
11490 {
11491 0x06,
11492 Zero,
11493 Zero,
11494 Zero
11495 })
11496 }
11497
11498 Name (_S5, Package (0x04) // _S5_: S5 System State
11499 {
11500 0x07,
11501 Zero,
11502 Zero,
11503 Zero
11504 })
11505 Scope (\_SB)
11506 {
11507 Device (PTID)
11508 {
11509 Name (_HID, EisaId ("INT340E") /* Motherboard Resources */) // _HID: Hardware ID
11510 Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _CID: Compatible ID
11511 Name (IVER, 0x00030000)
11512 Method (_STA, 0, NotSerialized) // _STA: Status
11513 {
11514 Return (0x0F)
11515 }
11516
11517 Name (TSDL, Package (0x2E)
11518 {
11519 Zero,
11520 "CPU Core 0 DTS",
11521 Zero,
11522 "CPU Core 1 DTS",
11523 Zero,
11524 "CPU Core 2 DTS",
11525 Zero,
11526 "CPU Core 3 DTS",
11527 Zero,
11528 "CPU Core Package DTS",
11529 0x03,
11530 "CPU Core VR (IMVP) Temperature",
11531 0x03,
11532 "CPU GT VR (IMVP) Temperature",
11533 0x03,
11534 "Heat Exchanger Fan Temperature",
11535 0x03,
11536 "Skin Temperature",
11537 0x03,
11538 "Ambient Temperature",
11539 0x03,
11540 "Minicard Region Temperature",
11541 0x02,
11542 "Channel 0 DIMM Temperature",
11543 0x02,
11544 "Channel 1 DIMM Temperature",
11545 Zero,
11546 "CPU Package Temperature",
11547 0x05,
11548 "PCH DTS Temperature from PCH",
11549 Zero,
11550 "CPU PECI reading",
11551 0x05,
11552 "SA DTS Temperature from PCH",
11553 0x02,
11554 "TS-on-DIMM0 Temperature",
11555 0x02,
11556 "TS-on-DIMM1 Temperature",
11557 0x02,
11558 "TS-on-DIMM2 Temperature",
11559 0x02,
11560 "TS-on-DIMM3 Temperature",
11561 0x02,
11562 "TZ00 _TMP",
11563 0x02,
11564 "TZ01 _TMP"
11565 })
11566 Name (PSDL, Package (0x0C)
11567 {
11568 Zero,
11569 "CPU Power",
11570 One,
11571 "Gfx Core Power",
11572 0x0A,
11573 "System Power",
11574 Zero,
11575 "CPU Average Power",
11576 One,
11577 "Gfx Core Average Power",
11578 0x0A,
11579 "System Average Power"
11580 })
11581 Name (OSDL, Package (0x06)
11582 {
11583 Zero,
11584 "CPU Fan Speed",
11585 "RPM",
11586 Zero,
11587 "CPU energy",
11588 "RAW"
11589 })
11590 Method (TSDD, 0, NotSerialized)
11591 {
11592 Name (TMPV, Package (0x17)
11593 {
11594 0x80000000,
11595 0x80000000,
11596 0x80000000,
11597 0x80000000,
11598 0x80000000,
11599 0x80000000,
11600 0x80000000,
11601 0x80000000,
11602 0x80000000,
11603 0x80000000,
11604 0x80000000,
11605 0x80000000,
11606 0x80000000,
11607 0x80000000,
11608 0x80000000,
11609 0x80000000,
11610 0x80000000,
11611 0x80000000,
11612 0x80000000,
11613 0x80000000,
11614 0x80000000,
11615 0x80000000,
11616 0x80000000
11617 })
11618 TMPV [Zero] = ((DTS1 * 0x0A) + 0x0AAC)
11619 TMPV [One] = ((DTS2 * 0x0A) + 0x0AAC)
11620 TMPV [0x02] = ((DTS3 * 0x0A) + 0x0AAC)
11621 TMPV [0x03] = ((DTS4 * 0x0A) + 0x0AAC)
11622 TMPV [0x04] = ((PDTS * 0x0A) + 0x0AAC)
11623 If (\ECON)
11624 {
11625 TMPV [0x05] = ((\_SB.PCI0.LPCB.H_EC.CVRT * 0x0A) + 0x0AAC)
11626 TMPV [0x06] = ((\_SB.PCI0.LPCB.H_EC.GTVR * 0x0A) + 0x0AAC)
11627 TMPV [0x07] = ((\_SB.PCI0.LPCB.H_EC.FANT * 0x0A) + 0x0AAC)
11628 TMPV [0x08] = ((\_SB.PCI0.LPCB.H_EC.SKNT * 0x0A) + 0x0AAC)
11629 TMPV [0x09] = ((\_SB.PCI0.LPCB.H_EC.AMBT * 0x0A) + 0x0AAC)
11630 TMPV [0x0A] = ((\_SB.PCI0.LPCB.H_EC.MCRT * 0x0A) + 0x0AAC)
11631 TMPV [0x0B] = ((\_SB.PCI0.LPCB.H_EC.DIM0 * 0x0A) + 0x0AAC)
11632 TMPV [0x0C] = ((\_SB.PCI0.LPCB.H_EC.DIM1 * 0x0A) + 0x0AAC)
11633 TMPV [0x0D] = ((\_SB.PCI0.LPCB.H_EC.PMAX * 0x0A) + 0x0AAC)
11634 TMPV [0x0E] = ((\_SB.PCI0.LPCB.H_EC.PPDT * 0x0A) + 0x0AAC)
11635 TMPV [0x0F] = ((\_SB.PCI0.LPCB.H_EC.PECH * 0x0A) + 0x0AAC)
11636 TMPV [0x10] = ((\_SB.PCI0.LPCB.H_EC.PMDT * 0x0A) + 0x0AAC)
11637 TMPV [0x11] = ((\_SB.PCI0.LPCB.H_EC.TSD0 * 0x0A) + 0x0AAC)
11638 TMPV [0x12] = ((\_SB.PCI0.LPCB.H_EC.TSD1 * 0x0A) + 0x0AAC)
11639 TMPV [0x13] = ((\_SB.PCI0.LPCB.H_EC.TSD2 * 0x0A) + 0x0AAC)
11640 TMPV [0x14] = ((\_SB.PCI0.LPCB.H_EC.TSD3 * 0x0A) + 0x0AAC)
11641 }
11642
11643 TMPV [0x15] = \_TZ.TZ00._TMP /* External reference */
11644 TMPV [0x16] = \_TZ.TZ01._TMP /* External reference */
11645 Return (TMPV) /* \_SB_.PTID.TSDD.TMPV */
11646 }
11647
11648 Method (PSDD, 0, NotSerialized)
11649 {
11650 Name (PWRV, Package (0x06)
11651 {
11652 0x80000000,
11653 0x80000000,
11654 0x80000000,
11655 0x80000000,
11656 0x80000000,
11657 0x80000000
11658 })
11659 If (\ECON)
11660 {
11661 PWRV [Zero] = \_SB.PCI0.LPCB.H_EC.CPUP /* External reference */
11662 PWRV [One] = \_SB.PCI0.LPCB.H_EC.MCHP /* External reference */
11663 PWRV [0x02] = (\_SB.PCI0.LPCB.H_EC.SYSP * 0x0A)
11664 PWRV [0x03] = \_SB.PCI0.LPCB.H_EC.CPAP /* External reference */
11665 PWRV [0x04] = \_SB.PCI0.LPCB.H_EC.MCAP /* External reference */
11666 PWRV [0x05] = (\_SB.PCI0.LPCB.H_EC.SYAP * 0x0A)
11667 }
11668
11669 Return (PWRV) /* \_SB_.PTID.PSDD.PWRV */
11670 }
11671
11672 Method (OSDD, 0, NotSerialized)
11673 {
11674 Name (OSDV, Package (0x02)
11675 {
11676 0x80000000,
11677 0x80000000
11678 })
11679 If (\ECON)
11680 {
11681 OSDV [Zero] = \_SB.PCI0.LPCB.H_EC.CFSP /* External reference */
11682 OSDV [One] = \_SB.PCI0.LPCB.H_EC.CPUE /* External reference */
11683 }
11684
11685 Return (OSDV) /* \_SB_.PTID.OSDD.OSDV */
11686 }
11687
11688 Method (SDSP, 0, NotSerialized)
11689 {
11690 Return (0x0A)
11691 }
11692
11693 Name (PADA, Package (0x0A)
11694 {
11695 One,
11696 Ones,
11697 Ones,
11698 0x1A,
11699 Ones,
11700 Ones,
11701 Ones,
11702 Ones,
11703 Ones,
11704 Ones
11705 })
11706 Name (PADD, Package (0x0A)
11707 {
11708 0x02,
11709 0x06A4,
11710 0x06A0,
11711 0x1A,
11712 0x62,
11713 0x63,
11714 0x60,
11715 0x61,
11716 0x65,
11717 0x64
11718 })
11719 Method (PADT, 0, NotSerialized)
11720 {
11721 If (PAMT)
11722 {
11723 Return (PADA) /* \_SB_.PTID.PADA */
11724 }
11725
11726 Return (PADD) /* \_SB_.PTID.PADD */
11727 }
11728
11729 Method (RPMD, 0, NotSerialized)
11730 {
11731 Name (MTMP, Buffer (0x1A){})
11732 If (\ECON)
11733 {
11734 MTMP [Zero] = \_SB.PCI0.LPCB.H_EC.PRCL /* External reference */
11735 MTMP [One] = \_SB.PCI0.LPCB.H_EC.PRC0 /* External reference */
11736 MTMP [0x02] = \_SB.PCI0.LPCB.H_EC.PRC1 /* External reference */
11737 MTMP [0x03] = \_SB.PCI0.LPCB.H_EC.PRCM /* External reference */
11738 MTMP [0x04] = \_SB.PCI0.LPCB.H_EC.PRIN /* External reference */
11739 MTMP [0x05] = \_SB.PCI0.LPCB.H_EC.PSTE /* External reference */
11740 MTMP [0x06] = \_SB.PCI0.LPCB.H_EC.PCAD /* External reference */
11741 MTMP [0x07] = \_SB.PCI0.LPCB.H_EC.PEWL /* External reference */
11742 MTMP [0x08] = \_SB.PCI0.LPCB.H_EC.PWRL /* External reference */
11743 MTMP [0x09] = \_SB.PCI0.LPCB.H_EC.PECD /* External reference */
11744 MTMP [0x0A] = \_SB.PCI0.LPCB.H_EC.PEHI /* External reference */
11745 MTMP [0x0B] = \_SB.PCI0.LPCB.H_EC.PECI /* External reference */
11746 MTMP [0x0C] = \_SB.PCI0.LPCB.H_EC.PEPL /* External reference */
11747 MTMP [0x0D] = \_SB.PCI0.LPCB.H_EC.PEPM /* External reference */
11748 MTMP [0x0E] = \_SB.PCI0.LPCB.H_EC.PWFC /* External reference */
11749 MTMP [0x0F] = \_SB.PCI0.LPCB.H_EC.PECC /* External reference */
11750 MTMP [0x10] = \_SB.PCI0.LPCB.H_EC.PDT0 /* External reference */
11751 MTMP [0x11] = \_SB.PCI0.LPCB.H_EC.PDT1 /* External reference */
11752 MTMP [0x12] = \_SB.PCI0.LPCB.H_EC.PDT2 /* External reference */
11753 MTMP [0x13] = \_SB.PCI0.LPCB.H_EC.PDT3 /* External reference */
11754 MTMP [0x14] = \_SB.PCI0.LPCB.H_EC.PRFC /* External reference */
11755 MTMP [0x15] = \_SB.PCI0.LPCB.H_EC.PRS0 /* External reference */
11756 MTMP [0x16] = \_SB.PCI0.LPCB.H_EC.PRS1 /* External reference */
11757 MTMP [0x17] = \_SB.PCI0.LPCB.H_EC.PRS2 /* External reference */
11758 MTMP [0x18] = \_SB.PCI0.LPCB.H_EC.PRS3 /* External reference */
11759 MTMP [0x19] = \_SB.PCI0.LPCB.H_EC.PRS4 /* External reference */
11760 }
11761
11762 Return (MTMP) /* \_SB_.PTID.RPMD.MTMP */
11763 }
11764
11765 Method (WPMD, 1, NotSerialized)
11766 {
11767 If ((SizeOf (Arg0) != 0x1A))
11768 {
11769 Return (Ones)
11770 }
11771
11772 If (\ECON)
11773 {
11774 \_SB.PCI0.LPCB.H_EC.PRCL = DerefOf (Arg0 [Zero])
11775 \_SB.PCI0.LPCB.H_EC.PRC0 = DerefOf (Arg0 [One])
11776 \_SB.PCI0.LPCB.H_EC.PRC1 = DerefOf (Arg0 [0x02])
11777 \_SB.PCI0.LPCB.H_EC.PRCM = DerefOf (Arg0 [0x03])
11778 \_SB.PCI0.LPCB.H_EC.PRIN = DerefOf (Arg0 [0x04])
11779 \_SB.PCI0.LPCB.H_EC.PSTE = DerefOf (Arg0 [0x05])
11780 \_SB.PCI0.LPCB.H_EC.PCAD = DerefOf (Arg0 [0x06])
11781 \_SB.PCI0.LPCB.H_EC.PEWL = DerefOf (Arg0 [0x07])
11782 \_SB.PCI0.LPCB.H_EC.PWRL = DerefOf (Arg0 [0x08])
11783 \_SB.PCI0.LPCB.H_EC.PECD = DerefOf (Arg0 [0x09])
11784 \_SB.PCI0.LPCB.H_EC.PEHI = DerefOf (Arg0 [0x0A])
11785 \_SB.PCI0.LPCB.H_EC.PECI = DerefOf (Arg0 [0x0B])
11786 \_SB.PCI0.LPCB.H_EC.PEPL = DerefOf (Arg0 [0x0C])
11787 \_SB.PCI0.LPCB.H_EC.PEPM = DerefOf (Arg0 [0x0D])
11788 \_SB.PCI0.LPCB.H_EC.PWFC = DerefOf (Arg0 [0x0E])
11789 \_SB.PCI0.LPCB.H_EC.PECC = DerefOf (Arg0 [0x0F])
11790 \_SB.PCI0.LPCB.H_EC.PDT0 = DerefOf (Arg0 [0x10])
11791 \_SB.PCI0.LPCB.H_EC.PDT1 = DerefOf (Arg0 [0x11])
11792 \_SB.PCI0.LPCB.H_EC.PDT2 = DerefOf (Arg0 [0x12])
11793 \_SB.PCI0.LPCB.H_EC.PDT3 = DerefOf (Arg0 [0x13])
11794 \_SB.PCI0.LPCB.H_EC.PRFC = DerefOf (Arg0 [0x14])
11795 \_SB.PCI0.LPCB.H_EC.PRS0 = DerefOf (Arg0 [0x15])
11796 \_SB.PCI0.LPCB.H_EC.PRS1 = DerefOf (Arg0 [0x16])
11797 \_SB.PCI0.LPCB.H_EC.PRS2 = DerefOf (Arg0 [0x17])
11798 \_SB.PCI0.LPCB.H_EC.PRS3 = DerefOf (Arg0 [0x18])
11799 \_SB.PCI0.LPCB.H_EC.PRS4 = DerefOf (Arg0 [0x19])
11800 \_SB.PCI0.LPCB.H_EC.ECMD
11801 0x67
11802 }
11803
11804 Return (Zero)
11805 }
11806
11807 Method (ISPC, 0, NotSerialized)
11808 {
11809 If (\ECON)
11810 {
11811 \_SB.PCI0.LPCB.H_EC.ECMD
11812 0x65
11813 }
11814
11815 Return (Zero)
11816 }
11817
11818 Method (ENPC, 0, NotSerialized)
11819 {
11820 If (\ECON)
11821 {
11822 \_SB.PCI0.LPCB.H_EC.ECMD
11823 0x66
11824 }
11825
11826 Return (Zero)
11827 }
11828
11829 Method (RPCS, 0, NotSerialized)
11830 {
11831 If (\ECON)
11832 {
11833 Local0 = \_SB.PCI0.LPCB.H_EC.PRCS /* External reference */
11834 }
11835
11836 Return (Local0)
11837 }
11838
11839 Method (RPEC, 0, NotSerialized)
11840 {
11841 Local0 = Zero
11842 If (\ECON)
11843 {
11844 Local1 = \_SB.PCI0.LPCB.H_EC.PEC0 /* External reference */
11845 Local0 |= Local1
11846 Local1 = \_SB.PCI0.LPCB.H_EC.PEC1 /* External reference */
11847 Local0 |= (Local1 << 0x08)
11848 Local1 = \_SB.PCI0.LPCB.H_EC.PEC2 /* External reference */
11849 Local0 |= (Local1 << 0x10)
11850 Local1 = \_SB.PCI0.LPCB.H_EC.PEC3 /* External reference */
11851 Local0 |= (Local1 << 0x18)
11852 }
11853
11854 Return (Local0)
11855 }
11856 }
11857 }
11858
11859 Scope (\_PR.CPU0)
11860 {
11861 Name (_PPC, Zero) // _PPC: Performance Present Capabilities
11862 Method (_PCT, 0, NotSerialized) // _PCT: Performance Control
11863 {
11864 \_PR.CPU0._PPC = \_PR.CPPC
11865 If (((CFGD & One) && (PDC0 & One)))
11866 {
11867 Return (Package (0x02)
11868 {
11869 ResourceTemplate ()
11870 {
11871 Register (FFixedHW,
11872 0x00, // Bit Width
11873 0x00, // Bit Offset
11874 0x0000000000000000, // Address
11875 ,)
11876 },
11877
11878 ResourceTemplate ()
11879 {
11880 Register (FFixedHW,
11881 0x00, // Bit Width
11882 0x00, // Bit Offset
11883 0x0000000000000000, // Address
11884 ,)
11885 }
11886 })
11887 }
11888
11889 Return (Package (0x02)
11890 {
11891 ResourceTemplate ()
11892 {
11893 Register (SystemIO,
11894 0x10, // Bit Width
11895 0x00, // Bit Offset
11896 0x0000000000001000, // Address
11897 ,)
11898 },
11899
11900 ResourceTemplate ()
11901 {
11902 Register (SystemIO,
11903 0x08, // Bit Width
11904 0x00, // Bit Offset
11905 0x00000000000000B3, // Address
11906 ,)
11907 }
11908 })
11909 }
11910
11911 Method (XPSS, 0, NotSerialized)
11912 {
11913 If ((PDC0 & One))
11914 {
11915 Return (NPSS) /* External reference */
11916 }
11917
11918 Return (SPSS) /* \_PR_.CPU0.SPSS */
11919 }
11920
11921 Name (SPSS, Package (0x0D)
11922 {
11923 Package (0x06)
11924 {
11925 0x00000709,
11926 0x00004268,
11927 0x0000006E,
11928 0x0000000A,
11929 0x00000083,
11930 0x00000000
11931 },
11932
11933 Package (0x06)
11934 {
11935 0x00000708,
11936 0x00004268,
11937 0x0000006E,
11938 0x0000000A,
11939 0x00000183,
11940 0x00000001
11941 },
11942
11943 Package (0x06)
11944 {
11945 0x000006A4,
11946 0x00003DB6,
11947 0x0000006E,
11948 0x0000000A,
11949 0x00000283,
11950 0x00000002
11951 },
11952
11953 Package (0x06)
11954 {
11955 0x00000640,
11956 0x0000391C,
11957 0x0000006E,
11958 0x0000000A,
11959 0x00000383,
11960 0x00000003
11961 },
11962
11963 Package (0x06)
11964 {
11965 0x000005DC,
11966 0x0000353F,
11967 0x0000006E,
11968 0x0000000A,
11969 0x00000483,
11970 0x00000004
11971 },
11972
11973 Package (0x06)
11974 {
11975 0x00000578,
11976 0x000030D3,
11977 0x0000006E,
11978 0x0000000A,
11979 0x00000583,
11980 0x00000005
11981 },
11982
11983 Package (0x06)
11984 {
11985 0x00000514,
11986 0x00002D20,
11987 0x0000006E,
11988 0x0000000A,
11989 0x00000683,
11990 0x00000006
11991 },
11992
11993 Package (0x06)
11994 {
11995 0x000004B0,
11996 0x000028E3,
11997 0x0000006E,
11998 0x0000000A,
11999 0x00000783,
12000 0x00000007
12001 },
12002
12003 Package (0x06)
12004 {
12005 0x0000044C,
12006 0x00002558,
12007 0x0000006E,
12008 0x0000000A,
12009 0x00000883,
12010 0x00000008
12011 },
12012
12013 Package (0x06)
12014 {
12015 0x000003E8,
12016 0x00002146,
12017 0x0000006E,
12018 0x0000000A,
12019 0x00000983,
12020 0x00000009
12021 },
12022
12023 Package (0x06)
12024 {
12025 0x00000384,
12026 0x00001DE3,
12027 0x0000006E,
12028 0x0000000A,
12029 0x00000A83,
12030 0x0000000A
12031 },
12032
12033 Package (0x06)
12034 {
12035 0x00000320,
12036 0x000019FC,
12037 0x0000006E,
12038 0x0000000A,
12039 0x00000B83,
12040 0x0000000B
12041 },
12042
12043 Package (0x06)
12044 {
12045 0x00000306,
12046 0x0000162D,
12047 0x0000006E,
12048 0x0000000A,
12049 0x00000C83,
12050 0x0000000C
12051 }
12052 })
12053 Package (0x06)
12054 {
12055 0x80000000,
12056 0x80000000,
12057 0x80000000,
12058 0x80000000,
12059 0x80000000,
12060 0x80000000
12061 }
12062
12063 Package (0x06)
12064 {
12065 0x80000000,
12066 0x80000000,
12067 0x80000000,
12068 0x80000000,
12069 0x80000000,
12070 0x80000000
12071 }
12072
12073 Package (0x06)
12074 {
12075 0x80000000,
12076 0x80000000,
12077 0x80000000,
12078 0x80000000,
12079 0x80000000,
12080 0x80000000
12081 }
12082
12083 Package (0x06)
12084 {
12085 0x80000000,
12086 0x80000000,
12087 0x80000000,
12088 0x80000000,
12089 0x80000000,
12090 0x80000000
12091 }
12092
12093 Package (0x06)
12094 {
12095 0x80000000,
12096 0x80000000,
12097 0x80000000,
12098 0x80000000,
12099 0x80000000,
12100 0x80000000
12101 }
12102
12103 Package (0x06)
12104 {
12105 0x80000000,
12106 0x80000000,
12107 0x80000000,
12108 0x80000000,
12109 0x80000000,
12110 0x80000000
12111 }
12112
12113 Package (0x06)
12114 {
12115 0x80000000,
12116 0x80000000,
12117 0x80000000,
12118 0x80000000,
12119 0x80000000,
12120 0x80000000
12121 }
12122
12123 Package (0x06)
12124 {
12125 0x80000000,
12126 0x80000000,
12127 0x80000000,
12128 0x80000000,
12129 0x80000000,
12130 0x80000000
12131 }
12132
12133 Package (0x06)
12134 {
12135 0x80000000,
12136 0x80000000,
12137 0x80000000,
12138 0x80000000,
12139 0x80000000,
12140 0x80000000
12141 }
12142
12143 Package (0x06)
12144 {
12145 0x80000000,
12146 0x80000000,
12147 0x80000000,
12148 0x80000000,
12149 0x80000000,
12150 0x80000000
12151 }
12152
12153 Package (0x06)
12154 {
12155 0x80000000,
12156 0x80000000,
12157 0x80000000,
12158 0x80000000,
12159 0x80000000,
12160 0x80000000
12161 }
12162
12163 Package (0x06)
12164 {
12165 0x80000000,
12166 0x80000000,
12167 0x80000000,
12168 0x80000000,
12169 0x80000000,
12170 0x80000000
12171 }
12172
12173 Package (0x06)
12174 {
12175 0x80000000,
12176 0x80000000,
12177 0x80000000,
12178 0x80000000,
12179 0x80000000,
12180 0x80000000
12181 }
12182
12183 Package (0x06)
12184 {
12185 0x80000000,
12186 0x80000000,
12187 0x80000000,
12188 0x80000000,
12189 0x80000000,
12190 0x80000000
12191 }
12192
12193 Package (0x06)
12194 {
12195 0x80000000,
12196 0x80000000,
12197 0x80000000,
12198 0x80000000,
12199 0x80000000,
12200 0x80000000
12201 }
12202
12203 Package (0x06)
12204 {
12205 0x80000000,
12206 0x80000000,
12207 0x80000000,
12208 0x80000000,
12209 0x80000000,
12210 0x80000000
12211 }
12212
12213 Name (_PSS, Package (0x0D) // _PSS: Performance Supported States
12214 {
12215 Package (0x06)
12216 {
12217 0x00000709,
12218 0x00004268,
12219 0x0000000A,
12220 0x0000000A,
12221 0x00001200,
12222 0x00001200
12223 },
12224
12225 Package (0x06)
12226 {
12227 0x00000708,
12228 0x00004268,
12229 0x0000000A,
12230 0x0000000A,
12231 0x00001200,
12232 0x00001200
12233 },
12234
12235 Package (0x06)
12236 {
12237 0x000006A4,
12238 0x00003DB6,
12239 0x0000000A,
12240 0x0000000A,
12241 0x00001100,
12242 0x00001100
12243 },
12244
12245 Package (0x06)
12246 {
12247 0x00000640,
12248 0x0000391C,
12249 0x0000000A,
12250 0x0000000A,
12251 0x00001000,
12252 0x00001000
12253 },
12254
12255 Package (0x06)
12256 {
12257 0x000005DC,
12258 0x0000353F,
12259 0x0000000A,
12260 0x0000000A,
12261 0x00000F00,
12262 0x00000F00
12263 },
12264
12265 Package (0x06)
12266 {
12267 0x00000578,
12268 0x000030D3,
12269 0x0000000A,
12270 0x0000000A,
12271 0x00000E00,
12272 0x00000E00
12273 },
12274
12275 Package (0x06)
12276 {
12277 0x00000514,
12278 0x00002D20,
12279 0x0000000A,
12280 0x0000000A,
12281 0x00000D00,
12282 0x00000D00
12283 },
12284
12285 Package (0x06)
12286 {
12287 0x000004B0,
12288 0x000028E3,
12289 0x0000000A,
12290 0x0000000A,
12291 0x00000C00,
12292 0x00000C00
12293 },
12294
12295 Package (0x06)
12296 {
12297 0x0000044C,
12298 0x00002558,
12299 0x0000000A,
12300 0x0000000A,
12301 0x00000B00,
12302 0x00000B00
12303 },
12304
12305 Package (0x06)
12306 {
12307 0x000003E8,
12308 0x00002146,
12309 0x0000000A,
12310 0x0000000A,
12311 0x00000A00,
12312 0x00000A00
12313 },
12314
12315 Package (0x06)
12316 {
12317 0x00000384,
12318 0x00001DE3,
12319 0x0000000A,
12320 0x0000000A,
12321 0x00000900,
12322 0x00000900
12323 },
12324
12325 Package (0x06)
12326 {
12327 0x00000320,
12328 0x000019FC,
12329 0x0000000A,
12330 0x0000000A,
12331 0x00000800,
12332 0x00000800
12333 },
12334
12335 Package (0x06)
12336 {
12337 0x00000306,
12338 0x0000162D,
12339 0x0000000A,
12340 0x0000000A,
12341 0x00000700,
12342 0x00000800
12343 }
12344 })
12345 Package (0x06)
12346 {
12347 0x80000000,
12348 0x80000000,
12349 0x80000000,
12350 0x80000000,
12351 0x80000000,
12352 0x80000000
12353 }
12354
12355 Package (0x06)
12356 {
12357 0x80000000,
12358 0x80000000,
12359 0x80000000,
12360 0x80000000,
12361 0x80000000,
12362 0x80000000
12363 }
12364
12365 Package (0x06)
12366 {
12367 0x80000000,
12368 0x80000000,
12369 0x80000000,
12370 0x80000000,
12371 0x80000000,
12372 0x80000000
12373 }
12374
12375 Package (0x06)
12376 {
12377 0x80000000,
12378 0x80000000,
12379 0x80000000,
12380 0x80000000,
12381 0x80000000,
12382 0x80000000
12383 }
12384
12385 Package (0x06)
12386 {
12387 0x80000000,
12388 0x80000000,
12389 0x80000000,
12390 0x80000000,
12391 0x80000000,
12392 0x80000000
12393 }
12394
12395 Package (0x06)
12396 {
12397 0x80000000,
12398 0x80000000,
12399 0x80000000,
12400 0x80000000,
12401 0x80000000,
12402 0x80000000
12403 }
12404
12405 Package (0x06)
12406 {
12407 0x80000000,
12408 0x80000000,
12409 0x80000000,
12410 0x80000000,
12411 0x80000000,
12412 0x80000000
12413 }
12414
12415 Package (0x06)
12416 {
12417 0x80000000,
12418 0x80000000,
12419 0x80000000,
12420 0x80000000,
12421 0x80000000,
12422 0x80000000
12423 }
12424
12425 Package (0x06)
12426 {
12427 0x80000000,
12428 0x80000000,
12429 0x80000000,
12430 0x80000000,
12431 0x80000000,
12432 0x80000000
12433 }
12434
12435 Package (0x06)
12436 {
12437 0x80000000,
12438 0x80000000,
12439 0x80000000,
12440 0x80000000,
12441 0x80000000,
12442 0x80000000
12443 }
12444
12445 Package (0x06)
12446 {
12447 0x80000000,
12448 0x80000000,
12449 0x80000000,
12450 0x80000000,
12451 0x80000000,
12452 0x80000000
12453 }
12454
12455 Package (0x06)
12456 {
12457 0x80000000,
12458 0x80000000,
12459 0x80000000,
12460 0x80000000,
12461 0x80000000,
12462 0x80000000
12463 }
12464
12465 Package (0x06)
12466 {
12467 0x80000000,
12468 0x80000000,
12469 0x80000000,
12470 0x80000000,
12471 0x80000000,
12472 0x80000000
12473 }
12474
12475 Package (0x06)
12476 {
12477 0x80000000,
12478 0x80000000,
12479 0x80000000,
12480 0x80000000,
12481 0x80000000,
12482 0x80000000
12483 }
12484
12485 Package (0x06)
12486 {
12487 0x80000000,
12488 0x80000000,
12489 0x80000000,
12490 0x80000000,
12491 0x80000000,
12492 0x80000000
12493 }
12494
12495 Package (0x06)
12496 {
12497 0x80000000,
12498 0x80000000,
12499 0x80000000,
12500 0x80000000,
12501 0x80000000,
12502 0x80000000
12503 }
12504
12505 Name (PSDF, Zero)
12506 Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies
12507 {
12508 If (!PSDF)
12509 {
12510 DerefOf (HPSD [Zero]) [0x04] = TCNT /* \TCNT */
12511 DerefOf (SPSD [Zero]) [0x04] = TCNT /* \TCNT */
12512 PSDF = Ones
12513 }
12514
12515 If ((PDC0 & 0x0800))
12516 {
12517 Return (HPSD) /* \_PR_.CPU0.HPSD */
12518 }
12519
12520 Return (SPSD) /* \_PR_.CPU0.SPSD */
12521 }
12522
12523 Name (HPSD, Package (0x01)
12524 {
12525 Package (0x05)
12526 {
12527 0x05,
12528 Zero,
12529 Zero,
12530 0xFE,
12531 0x80
12532 }
12533 })
12534 Name (SPSD, Package (0x01)
12535 {
12536 Package (0x05)
12537 {
12538 0x05,
12539 Zero,
12540 Zero,
12541 0xFC,
12542 0x80
12543 }
12544 })
12545 }
12546
12547 Scope (\)
12548 {
12549 Name (SSDT, Package (0x0C)
12550 {
12551 "CPU0IST ",
12552 0xA8992018,
12553 0x000008E4,
12554 "APIST ",
12555 0xAAE18A98,
12556 0x00000303,
12557 "CPU0CST ",
12558 0xAAE17018,
12559 0x0000083B,
12560 "APCST ",
12561 0xAAE16D98,
12562 0x00000119
12563 })
12564 Name (CFGD, 0x0066F6FF)
12565 Name (\PDC0, 0x80000000)
12566 Name (\PDC1, 0x80000000)
12567 Name (\PDC2, 0x80000000)
12568 Name (\PDC3, 0x80000000)
12569 Name (\PDC4, 0x80000000)
12570 Name (\PDC5, 0x80000000)
12571 Name (\PDC6, 0x80000000)
12572 Name (\PDC7, 0x80000000)
12573 Name (\SDTL, Zero)
12574 }
12575
12576 Scope (\_PR)
12577 {
12578 OperationRegion (PPMT, SystemMemory, 0xAAFBCF18, 0x0029)
12579 Field (PPMT, AnyAcc, Lock, Preserve)
12580 {
12581 PGRV, 8,
12582 Offset (0x05),
12583 CNTD, 8,
12584 ACRT, 8,
12585 APSV, 8,
12586 AAC0, 8,
12587 CPID, 32,
12588 CPPC, 8,
12589 CCTP, 8,
12590 CLVL, 8,
12591 CBMI, 8,
12592 PL10, 16,
12593 PL20, 16,
12594 PLW0, 8,
12595 CTC0, 8,
12596 TAR0, 8,
12597 PPC0, 8,
12598 PL11, 16,
12599 PL21, 16,
12600 PLW1, 8,
12601 CTC1, 8,
12602 TAR1, 8,
12603 PPC1, 8,
12604 PL12, 16,
12605 PL22, 16,
12606 PLW2, 8,
12607 CTC2, 8,
12608 TAR2, 8,
12609 PPC2, 8
12610 }
12611 }
12612
12613 Scope (\_PR.CPU0)
12614 {
12615 Name (HI0, Zero)
12616 Name (HC0, Zero)
12617 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
12618 {
12619 \_PR.CPU0._PPC = CPPC /* \_PR_.CPPC */
12620 Local0 = CPDC (Arg0)
12621 GCAP (Local0)
12622 Return (Local0)
12623 }
12624
12625 Method (CTLD, 0, NotSerialized)
12626 {
12627 If ((\ECON == One))
12628 {
12629 If ((CondRefOf (\_PR.CNTD) && CondRefOf (\_SB.PTID.WPMD)))
12630 {
12631 If (\_PR.CNTD)
12632 {
12633 Name (BUFF, Buffer (0x1A)
12634 {
12635 /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0A, // ......0.
12636 /* 0008 */ 0x01, 0xA5, 0x00, 0x21, 0x00, 0x00, 0x07, 0x00, // ...!....
12637 /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
12638 /* 0018 */ 0x00, 0x00 // ..
12639 })
12640 \_SB.PTID.WPMD (BUFF)
12641 \_SB.PTID.ISPC ()
12642 }
12643 }
12644 }
12645 }
12646
12647 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
12648 {
12649 Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
12650 GCAP (Local0)
12651 CTLD ()
12652 Return (Local0)
12653 }
12654
12655 Method (CPDC, 1, NotSerialized)
12656 {
12657 CreateDWordField (Arg0, Zero, REVS)
12658 CreateDWordField (Arg0, 0x04, SIZE)
12659 Local0 = SizeOf (Arg0)
12660 Local1 = (Local0 - 0x08)
12661 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
12662 Name (STS0, Buffer (0x04)
12663 {
12664 0x00, 0x00, 0x00, 0x00 // ....
12665 })
12666 Concatenate (STS0, TEMP, Local2)
12667 Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
12668 }
12669
12670 Method (COSC, 4, NotSerialized)
12671 {
12672 CreateDWordField (Arg3, Zero, STS0)
12673 CreateDWordField (Arg3, 0x04, CAP0)
12674 CreateDWordField (Arg0, Zero, IID0)
12675 CreateDWordField (Arg0, 0x04, IID1)
12676 CreateDWordField (Arg0, 0x08, IID2)
12677 CreateDWordField (Arg0, 0x0C, IID3)
12678 Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
12679 CreateDWordField (UID0, Zero, EID0)
12680 CreateDWordField (UID0, 0x04, EID1)
12681 CreateDWordField (UID0, 0x08, EID2)
12682 CreateDWordField (UID0, 0x0C, EID3)
12683 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
12684 IID2 == EID2) && (IID3 == EID3))))
12685 {
12686 STS0 = 0x06
12687 Return (Arg3)
12688 }
12689
12690 If ((Arg1 != One))
12691 {
12692 STS0 = 0x0A
12693 Return (Arg3)
12694 }
12695
12696 Return (Arg3)
12697 }
12698
12699 Method (GCAP, 1, NotSerialized)
12700 {
12701 CreateDWordField (Arg0, Zero, STS0)
12702 CreateDWordField (Arg0, 0x04, CAP0)
12703 If (((STS0 == 0x06) || (STS0 == 0x0A)))
12704 {
12705 Return (Zero)
12706 }
12707
12708 If ((STS0 & One))
12709 {
12710 CAP0 &= 0x0BFF
12711 Return (Zero)
12712 }
12713
12714 PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
12715 If ((CFGD & 0x3E))
12716 {
12717 If ((((CFGD & 0x0400) && (PDC0 & 0x18)) && !
12718 (SDTL & 0x02)))
12719 {
12720 SDTL |= 0x02
12721 OperationRegion (CST0, SystemMemory, DerefOf (SSDT [0x07]), DerefOf (SSDT [0x08]))
12722 Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
12723 }
12724 }
12725
12726 Return (Zero)
12727 }
12728 }
12729
12730 Scope (\_PR.CPU1)
12731 {
12732 Name (HI1, Zero)
12733 Name (HC1, Zero)
12734 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
12735 {
12736 Local0 = \_PR.CPU0.CPDC (Arg0)
12737 GCAP (Local0)
12738 Return (Local0)
12739 }
12740
12741 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
12742 {
12743 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
12744 GCAP (Local0)
12745 Return (Local0)
12746 }
12747
12748 Method (GCAP, 1, NotSerialized)
12749 {
12750 CreateDWordField (Arg0, Zero, STS1)
12751 CreateDWordField (Arg0, 0x04, CAP1)
12752 If (((STS1 == 0x06) || (STS1 == 0x0A)))
12753 {
12754 Return (Zero)
12755 }
12756
12757 If ((STS1 & One))
12758 {
12759 CAP1 &= 0x0BFF
12760 Return (Zero)
12761 }
12762
12763 PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
12764 If (((PDC1 & 0x09) == 0x09))
12765 {
12766 APPT ()
12767 }
12768
12769 If ((PDC1 & 0x18))
12770 {
12771 APCT ()
12772 }
12773
12774 PDC0 = PDC1 /* \PDC1 */
12775 Return (Zero)
12776 }
12777
12778 Method (APCT, 0, NotSerialized)
12779 {
12780 If (((CFGD & 0x2E) && !(SDTL & 0x20)))
12781 {
12782 SDTL |= 0x20
12783 OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B]))
12784 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
12785 }
12786 }
12787
12788 Method (APPT, 0, NotSerialized)
12789 {
12790 If (((CFGD & One) && !(SDTL & 0x10)))
12791 {
12792 SDTL |= 0x10
12793 OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05]))
12794 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
12795 }
12796 }
12797 }
12798
12799 Scope (\_PR.CPU2)
12800 {
12801 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
12802 {
12803 Local0 = \_PR.CPU0.CPDC (Arg0)
12804 GCAP (Local0)
12805 Return (Local0)
12806 }
12807
12808 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
12809 {
12810 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
12811 GCAP (Local0)
12812 Return (Local0)
12813 }
12814
12815 Method (GCAP, 1, NotSerialized)
12816 {
12817 CreateDWordField (Arg0, Zero, STS2)
12818 CreateDWordField (Arg0, 0x04, CAP2)
12819 If (((STS2 == 0x06) || (STS2 == 0x0A)))
12820 {
12821 Return (Zero)
12822 }
12823
12824 If ((STS2 & One))
12825 {
12826 CAP2 &= 0x0BFF
12827 Return (Zero)
12828 }
12829
12830 PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */
12831 If (((PDC2 & 0x09) == 0x09))
12832 {
12833 \_PR.CPU1.APPT ()
12834 }
12835
12836 If ((PDC2 & 0x18))
12837 {
12838 \_PR.CPU1.APCT ()
12839 }
12840
12841 PDC0 = PDC2 /* \PDC2 */
12842 Return (Zero)
12843 }
12844 }
12845
12846 Scope (\_PR.CPU3)
12847 {
12848 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
12849 {
12850 Local0 = \_PR.CPU0.CPDC (Arg0)
12851 GCAP (Local0)
12852 Return (Local0)
12853 }
12854
12855 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
12856 {
12857 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
12858 GCAP (Local0)
12859 Return (Local0)
12860 }
12861
12862 Method (GCAP, 1, NotSerialized)
12863 {
12864 CreateDWordField (Arg0, Zero, STS3)
12865 CreateDWordField (Arg0, 0x04, CAP3)
12866 If (((STS3 == 0x06) || (STS3 == 0x0A)))
12867 {
12868 Return (Zero)
12869 }
12870
12871 If ((STS3 & One))
12872 {
12873 CAP3 &= 0x0BFF
12874 Return (Zero)
12875 }
12876
12877 PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */
12878 If (((PDC3 & 0x09) == 0x09))
12879 {
12880 \_PR.CPU1.APPT ()
12881 }
12882
12883 If ((PDC3 & 0x18))
12884 {
12885 \_PR.CPU1.APCT ()
12886 }
12887
12888 PDC0 = PDC3 /* \PDC3 */
12889 Return (Zero)
12890 }
12891 }
12892
12893 Scope (\_PR.CPU4)
12894 {
12895 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
12896 {
12897 Local0 = \_PR.CPU0.CPDC (Arg0)
12898 GCAP (Local0)
12899 Return (Local0)
12900 }
12901
12902 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
12903 {
12904 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
12905 GCAP (Local0)
12906 Return (Local0)
12907 }
12908
12909 Method (GCAP, 1, NotSerialized)
12910 {
12911 CreateDWordField (Arg0, Zero, STS4)
12912 CreateDWordField (Arg0, 0x04, CAP4)
12913 If (((STS4 == 0x06) || (STS4 == 0x0A)))
12914 {
12915 Return (Zero)
12916 }
12917
12918 If ((STS4 & One))
12919 {
12920 CAP4 &= 0x0BFF
12921 Return (Zero)
12922 }
12923
12924 PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */
12925 If (((PDC4 & 0x09) == 0x09))
12926 {
12927 \_PR.CPU1.APPT ()
12928 }
12929
12930 If ((PDC4 & 0x18))
12931 {
12932 \_PR.CPU1.APCT ()
12933 }
12934
12935 PDC0 = PDC4 /* \PDC4 */
12936 Return (Zero)
12937 }
12938 }
12939
12940 Scope (\_PR.CPU5)
12941 {
12942 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
12943 {
12944 Local0 = \_PR.CPU0.CPDC (Arg0)
12945 GCAP (Local0)
12946 Return (Local0)
12947 }
12948
12949 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
12950 {
12951 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
12952 GCAP (Local0)
12953 Return (Local0)
12954 }
12955
12956 Method (GCAP, 1, NotSerialized)
12957 {
12958 CreateDWordField (Arg0, Zero, STS5)
12959 CreateDWordField (Arg0, 0x04, CAP5)
12960 If (((STS5 == 0x06) || (STS5 == 0x0A)))
12961 {
12962 Return (Zero)
12963 }
12964
12965 If ((STS5 & One))
12966 {
12967 CAP5 &= 0x0BFF
12968 Return (Zero)
12969 }
12970
12971 PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */
12972 If (((PDC5 & 0x09) == 0x09))
12973 {
12974 \_PR.CPU1.APPT ()
12975 }
12976
12977 If ((PDC5 & 0x18))
12978 {
12979 \_PR.CPU1.APCT ()
12980 }
12981
12982 PDC0 = PDC5 /* \PDC5 */
12983 Return (Zero)
12984 }
12985 }
12986
12987 Scope (\_PR.CPU6)
12988 {
12989 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
12990 {
12991 Local0 = \_PR.CPU0.CPDC (Arg0)
12992 GCAP (Local0)
12993 Return (Local0)
12994 }
12995
12996 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
12997 {
12998 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
12999 GCAP (Local0)
13000 Return (Local0)
13001 }
13002
13003 Method (GCAP, 1, NotSerialized)
13004 {
13005 CreateDWordField (Arg0, Zero, STS6)
13006 CreateDWordField (Arg0, 0x04, CAP6)
13007 If (((STS6 == 0x06) || (STS6 == 0x0A)))
13008 {
13009 Return (Zero)
13010 }
13011
13012 If ((STS6 & One))
13013 {
13014 CAP6 &= 0x0BFF
13015 Return (Zero)
13016 }
13017
13018 PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */
13019 If (((PDC6 & 0x09) == 0x09))
13020 {
13021 \_PR.CPU1.APPT ()
13022 }
13023
13024 If ((PDC6 & 0x18))
13025 {
13026 \_PR.CPU1.APCT ()
13027 }
13028
13029 PDC0 = PDC6 /* \PDC6 */
13030 Return (Zero)
13031 }
13032 }
13033
13034 Scope (\_PR.CPU7)
13035 {
13036 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
13037 {
13038 Local0 = \_PR.CPU0.CPDC (Arg0)
13039 GCAP (Local0)
13040 Return (Local0)
13041 }
13042
13043 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
13044 {
13045 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13046 GCAP (Local0)
13047 Return (Local0)
13048 }
13049
13050 Method (GCAP, 1, NotSerialized)
13051 {
13052 CreateDWordField (Arg0, Zero, STS7)
13053 CreateDWordField (Arg0, 0x04, CAP7)
13054 If (((STS7 == 0x06) || (STS7 == 0x0A)))
13055 {
13056 Return (Zero)
13057 }
13058
13059 If ((STS7 & One))
13060 {
13061 CAP7 &= 0x0BFF
13062 Return (Zero)
13063 }
13064
13065 PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */
13066 If (((PDC7 & 0x09) == 0x09))
13067 {
13068 \_PR.CPU1.APPT ()
13069 }
13070
13071 If ((PDC7 & 0x18))
13072 {
13073 \_PR.CPU1.APCT ()
13074 }
13075
13076 PDC0 = PDC7 /* \PDC7 */
13077 Return (Zero)
13078 }
13079 }
13080 }
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.