Advertisement
Guest User

Untitled

a guest
Sep 1st, 2015
387
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 556.36 KB | None | 0 0
  1. /*
  2. * Intel ACPI Component Architecture
  3. * AML Disassembler version 20100528
  4. *
  5. * Disassembly of DSDT, Tue Sep 1 17:16:59 2015
  6. *
  7. *
  8. * Original Table Header:
  9. * Signature "DSDT"
  10. * Length 0x00011E76 (73334)
  11. * Revision 0x02
  12. * Checksum 0xFD
  13. * OEM ID "_ASUS_"
  14. * OEM Table ID "Notebook"
  15. * OEM Revision 0x01072009 (17244169)
  16. * Compiler ID "INTL"
  17. * Compiler Version 0x20120913 (538052883)
  18. */
  19. DefinitionBlock ("DSDT.aml", "DSDT", 2, "_ASUS_", "Notebook", 0x01072009)
  20. {
  21. External (PDC3)
  22. External (PDC2)
  23. External (PDC1)
  24. External (PDC0)
  25. External (CFGD)
  26. External (TCGM)
  27. External (\_PR_.CPU0._PPC)
  28. External (\_SB_.PCI0.SBRG.TPM_.PTS_, MethodObj) // 1 Arguments
  29.  
  30. Name (PEBS, 0xE0000000)
  31. Name (LAPB, 0xFEE00000)
  32. Name (CPVD, Zero)
  33. Name (GBA0, 0xFED80000)
  34. Name (GBA1, 0xFED88000)
  35. Name (GBA2, 0xFED90000)
  36. Name (GBA3, 0xFED98000)
  37. Name (ABTR, 0xFEB00000)
  38. Name (SMBS, 0xEFA0)
  39. Name (SMBL, 0x20)
  40. Name (SRCB, 0xFED1C000)
  41. Name (SRCL, 0x4000)
  42. Name (PMBS, 0x0400)
  43. Name (PMLN, 0x80)
  44. Name (SMIP, 0xB2)
  45. Name (GPBS, 0x0500)
  46. Name (GPLN, 0x40)
  47. Name (APCB, 0xFEC00000)
  48. Name (APCL, 0x1000)
  49. Name (RCRB, 0xFED1C000)
  50. Name (RCRL, 0x4000)
  51. Name (SSEN, Zero)
  52. Name (SPM1, Zero)
  53. Name (ASSB, Zero)
  54. Name (AOTB, Zero)
  55. Name (AAXB, Zero)
  56. Name (PEHP, Zero)
  57. Name (SHPC, Zero)
  58. Name (PEPM, Zero)
  59. Name (PEER, Zero)
  60. Name (PECS, Zero)
  61. Name (ITKE, Zero)
  62. Name (MBEC, 0xFFFF)
  63. Name (SRSI, 0xB2)
  64. Name (CSMI, 0x61)
  65. Name (DSSP, Zero)
  66. Name (FHPP, One)
  67. Name (SMIA, 0xB2)
  68. Name (SMIB, 0xB3)
  69. Name (OFST, 0x35)
  70. Name (TRST, 0x02)
  71. Name (TCMF, Zero)
  72. Name (TMF1, Zero)
  73. Name (TMF2, Zero)
  74. Name (TMF3, Zero)
  75. Name (TTPF, Zero)
  76. Name (DTPT, Zero)
  77. Name (TTDP, One)
  78. Name (TPMB, 0xFFFFFFFF)
  79. Name (TPMC, 0xFFFFFFFF)
  80. Name (TPMM, 0xFED40000)
  81. Name (FTPM, 0xFFFFFFFF)
  82. Name (AMDT, Zero)
  83. Name (TPMF, Zero)
  84. Name (HIDK, "MSFT0001")
  85. Name (HIDM, "MSFT0003")
  86. Name (CIDK, 0x0303D041)
  87. Name (CIDM, 0x130FD041)
  88. Name (MBLF, 0x0A)
  89. Name (SP3O, 0x2E)
  90. Name (IO4B, 0x0A20)
  91. Name (IO4L, 0x20)
  92. Name (PMCB, 0xFED03000)
  93. Name (PUNB, 0xFED06000)
  94. Name (IBAS, 0xFED08000)
  95. Name (FMBL, One)
  96. Name (FDTP, 0x02)
  97. Name (GCDD, One)
  98. Name (DSTA, 0x0A)
  99. Name (DSLO, 0x02)
  100. Name (DSLC, 0x03)
  101. Name (PITS, 0x10)
  102. Name (SBCS, 0x12)
  103. Name (SALS, 0x13)
  104. Name (LSSS, 0x2A)
  105. Name (PSSS, 0x2B)
  106. Name (SOOT, 0x35)
  107. Name (ESCS, 0x48)
  108. Name (SDGV, 0x1C)
  109. Name (ACPH, 0xDE)
  110. Name (FTBL, 0x04)
  111. Name (CHRB, 0x80)
  112. Name (CIRB, 0x82)
  113. Name (CRRB, 0x55)
  114. Scope (\)
  115. {
  116. Method (UXDV, 1, Serialized)
  117. {
  118. }
  119.  
  120. Method (RRIO, 4, Serialized)
  121. {
  122. }
  123.  
  124. Method (RDMA, 3, NotSerialized)
  125. {
  126. }
  127. }
  128.  
  129. OperationRegion (GNVS, SystemMemory, 0x7701EA98, 0x0348)
  130. Field (GNVS, AnyAcc, Lock, Preserve)
  131. {
  132. OSYS, 16,
  133. SMIF, 8,
  134. P80D, 32,
  135. REVS, 8,
  136. OSID, 8,
  137. ADED, 8,
  138. BDID, 8,
  139. FBID, 8,
  140. STEP, 8,
  141. SOCS, 8,
  142. Offset (0x18),
  143. APIC, 8,
  144. MPEN, 8,
  145. PPMF, 32,
  146. PWRS, 8,
  147. Offset (0x29),
  148. IGDS, 8,
  149. TLST, 8,
  150. CADL, 8,
  151. PADL, 8,
  152. CSTE, 16,
  153. NSTE, 16,
  154. NDID, 8,
  155. DID1, 32,
  156. DID2, 32,
  157. DID3, 32,
  158. DID4, 32,
  159. DID5, 32,
  160. DID6, 32,
  161. DID7, 32,
  162. DID8, 32,
  163. ASLB, 32,
  164. IBTT, 8,
  165. IPAT, 8,
  166. ITVF, 8,
  167. ITVM, 8,
  168. IPSC, 8,
  169. IBLC, 8,
  170. IBIA, 8,
  171. ISSC, 8,
  172. IDMM, 8,
  173. IDMS, 8,
  174. IF1E, 8,
  175. GSMI, 8,
  176. PAVP, 8,
  177. PVDR, 8,
  178. BLCS, 8,
  179. BRTL, 8,
  180. ALSE, 8,
  181. ALAF, 8,
  182. LLOW, 8,
  183. LHIH, 8,
  184. ISPA, 32,
  185. ISPD, 8,
  186. RCAM, 8,
  187. ECAM, 8,
  188. NVGA, 32,
  189. NVHA, 32,
  190. AMDA, 32,
  191. HGMD, 8,
  192. GBAS, 32,
  193. XBAS, 32,
  194. HGGP, 8,
  195. DLPW, 16,
  196. DLHR, 16,
  197. HRCO, 32,
  198. HRPO, 32,
  199. HRAI, 8,
  200. PECO, 32,
  201. PEPO, 32,
  202. PEAI, 8,
  203. CPSP, 32,
  204. EECP, 8,
  205. EVCP, 16,
  206. RPBA, 32,
  207. DIDX, 32,
  208. EDPV, 8,
  209. Offset (0xB6),
  210. TPMP, 8,
  211. TM2E, 8,
  212. TM2A, 32,
  213. TM2L, 32,
  214. DTPM, 8,
  215. MORD, 8,
  216. PPRP, 32,
  217. PPRQ, 8,
  218. LPPR, 8,
  219. I0D3, 8,
  220. I1D3, 8,
  221. I2D3, 8,
  222. I3D3, 8,
  223. I4D3, 8,
  224. I5D3, 8,
  225. I6D3, 8,
  226. Offset (0xD2),
  227. LPES, 8,
  228. Offset (0xDC),
  229. OTG0, 32,
  230. OTG1, 32,
  231. OTGM, 8,
  232. LPE0, 32,
  233. LPE1, 32,
  234. LPE2, 32,
  235. PFLV, 8,
  236. XHCI, 8,
  237. PMEN, 8,
  238. USEL, 8,
  239. BTHS, 8,
  240. EMVR, 8,
  241. GOAE, 8,
  242. D10A, 32,
  243. D10L, 32,
  244. D11A, 32,
  245. D11L, 32,
  246. P10A, 32,
  247. P10L, 32,
  248. P11A, 32,
  249. P11L, 32,
  250. P20A, 32,
  251. P20L, 32,
  252. P21A, 32,
  253. P21L, 32,
  254. U10A, 32,
  255. U10L, 32,
  256. U11A, 32,
  257. U11L, 32,
  258. U20A, 32,
  259. U20L, 32,
  260. U21A, 32,
  261. U21L, 32,
  262. SP0A, 32,
  263. SP0L, 32,
  264. SP1A, 32,
  265. SP1L, 32,
  266. S20A, 32,
  267. S20L, 32,
  268. S21A, 32,
  269. S21L, 32,
  270. S30A, 32,
  271. S30L, 32,
  272. S31A, 32,
  273. S31L, 32,
  274. D20A, 32,
  275. D20L, 32,
  276. D21A, 32,
  277. D21L, 32,
  278. I10A, 32,
  279. I10L, 32,
  280. I11A, 32,
  281. I11L, 32,
  282. I20A, 32,
  283. I20L, 32,
  284. I21A, 32,
  285. I21L, 32,
  286. I30A, 32,
  287. I30L, 32,
  288. I31A, 32,
  289. I31L, 32,
  290. I40A, 32,
  291. I40L, 32,
  292. I41A, 32,
  293. I41L, 32,
  294. I50A, 32,
  295. I50L, 32,
  296. I51A, 32,
  297. I51L, 32,
  298. I60A, 32,
  299. I60L, 32,
  300. I61A, 32,
  301. I61L, 32,
  302. I70A, 32,
  303. I70L, 32,
  304. I71A, 32,
  305. I71L, 32,
  306. EM0A, 32,
  307. EM0L, 32,
  308. EM1A, 32,
  309. EM1L, 32,
  310. SI0A, 32,
  311. SI0L, 32,
  312. SI1A, 32,
  313. SI1L, 32,
  314. SD0A, 32,
  315. SD0L, 32,
  316. SD1A, 32,
  317. SD1L, 32,
  318. ISH0, 32,
  319. ISH1, 32,
  320. VS18, 16,
  321. VD33, 16,
  322. Offset (0x236),
  323. Offset (0x238),
  324. ITSA, 8,
  325. S0IX, 8,
  326. SDMD, 8,
  327. ELLN, 8,
  328. AUCD, 8,
  329. BTMS, 8,
  330. PMCT, 8,
  331. PSSD, 8,
  332. Offset (0x249),
  333. OSCC, 8,
  334. NEXP, 8,
  335. GPIC, 8,
  336. L01C, 8,
  337. MODS, 8,
  338. PB1E, 8,
  339. PSDE, 8,
  340. ISCT, 8,
  341. LIDS, 8,
  342. DSEN, 8,
  343. ECON, 8,
  344. ACT1, 8,
  345. ACTT, 8,
  346. PSVT, 8,
  347. TC1V, 8,
  348. TC2V, 8,
  349. TSPV, 8,
  350. CRTT, 8,
  351. DTSE, 8,
  352. DTS1, 8,
  353. DTS2, 8,
  354. DTSF, 8,
  355. CTYP, 8,
  356. VFN0, 8,
  357. STTV, 16,
  358. BNUM, 8,
  359. B0SC, 8,
  360. B1SC, 8,
  361. B0SS, 8,
  362. B1SS, 8,
  363. BCSL, 8,
  364. DBAT, 8,
  365. NATP, 8,
  366. CMCP, 8,
  367. CIRP, 8,
  368. W381, 8,
  369. DPTE, 8,
  370. THM0, 8,
  371. THM1, 8,
  372. THM2, 8,
  373. THM3, 8,
  374. THM4, 8,
  375. CHGR, 8,
  376. DDSP, 8,
  377. DSOC, 8,
  378. DPSR, 8,
  379. DPCT, 32,
  380. DPPT, 32,
  381. DGC0, 32,
  382. DGP0, 32,
  383. DGC1, 32,
  384. DGP1, 32,
  385. DGC2, 32,
  386. DGP2, 32,
  387. DGC3, 32,
  388. DGP3, 32,
  389. DGC4, 32,
  390. DGP4, 32,
  391. DLPM, 8,
  392. DSC0, 32,
  393. DSC1, 32,
  394. DSC2, 32,
  395. DSC3, 32,
  396. DSC4, 32,
  397. DDBG, 8,
  398. LPOE, 32,
  399. LPPS, 32,
  400. LPST, 32,
  401. LPPC, 32,
  402. LPPF, 32,
  403. DPME, 8,
  404. WWEN, 8,
  405. WWCR, 32,
  406. WWPS, 32,
  407. RSVD, 8,
  408. ABS0, 8,
  409. ABS1, 8,
  410. ABS2, 8,
  411. ABS3, 8,
  412. ABS4, 8,
  413. ABS5, 8,
  414. AMTE, 8,
  415. ABC0, 8,
  416. ABC1, 8,
  417. ABC2, 8,
  418. ABC3, 8,
  419. ABC4, 8,
  420. ABC5, 8,
  421. DPHL, 8,
  422. DPLL, 8,
  423. NFCS, 8,
  424. BMBD, 32,
  425. FSAS, 8,
  426. WIFD, 8,
  427. DPPP, 8,
  428. DPCP, 8,
  429. DPAP, 8,
  430. DGA0, 32,
  431. DGS0, 32,
  432. DGH0, 32,
  433. DGA1, 32,
  434. DGS1, 32,
  435. DGH1, 32,
  436. DGA2, 32,
  437. DGS2, 32,
  438. DGH2, 32,
  439. SAAT, 32,
  440. SACT, 32,
  441. SAST, 32,
  442. SAHT, 32,
  443. SAPT, 32,
  444. SCDD, 8,
  445. ISPE, 8,
  446. PAVB, 32,
  447. PAVL, 32,
  448. DRMB, 64,
  449. EPBA, 32,
  450. HYSS, 32
  451. }
  452.  
  453. Name (SS1, One)
  454. Name (SS2, Zero)
  455. Name (SS3, One)
  456. Name (SS4, One)
  457. Name (IOST, 0xFFFF)
  458. Name (TOPM, 0x00000000)
  459. Name (ROMS, 0xFFE00000)
  460. Name (VGAF, One)
  461. Method (ADBG, 1, Serialized)
  462. {
  463. Return (Zero)
  464. }
  465.  
  466. Name (WAKP, Package (0x02)
  467. {
  468. Zero,
  469. Zero
  470. })
  471. Method (PMED, 0, NotSerialized)
  472. {
  473. Store (One, \_SB.PCI0.XHC1.PMES)
  474. Store (Zero, \_SB.PCI0.XHC1.PMEE)
  475. }
  476.  
  477. Name (PRWP, Package (0x02)
  478. {
  479. Zero,
  480. Zero
  481. })
  482. Method (GPRW, 2, NotSerialized)
  483. {
  484. Store (Arg0, Index (PRWP, Zero))
  485. Store (ShiftLeft (SS1, One), Local0)
  486. Or (Local0, ShiftLeft (SS2, 0x02), Local0)
  487. Or (Local0, ShiftLeft (SS3, 0x03), Local0)
  488. Or (Local0, ShiftLeft (SS4, 0x04), Local0)
  489. If (And (ShiftLeft (One, Arg1), Local0))
  490. {
  491. Store (Arg1, Index (PRWP, One))
  492. }
  493. Else
  494. {
  495. ShiftRight (Local0, One, Local0)
  496. FindSetRightBit (Local0, Index (PRWP, One))
  497. }
  498.  
  499. Return (PRWP)
  500. }
  501.  
  502. Scope (_SB)
  503. {
  504. Device (RTC0)
  505. {
  506. Name (_HID, EisaId ("PNP0B00"))
  507. Name (_CRS, ResourceTemplate ()
  508. {
  509. IO (Decode16,
  510. 0x0070, // Range Minimum
  511. 0x0070, // Range Maximum
  512. 0x01, // Alignment
  513. 0x08, // Length
  514. )
  515. })
  516. }
  517. }
  518.  
  519. Scope (_SB)
  520. {
  521. Name (PRSA, ResourceTemplate ()
  522. {
  523. IRQ (Level, ActiveLow, Shared, )
  524. {3,4,5,6,7,10,11,12}
  525. })
  526. Name (PRSB, ResourceTemplate ()
  527. {
  528. IRQ (Level, ActiveLow, Shared, )
  529. {3,4,5,6,7,10,12}
  530. })
  531. Alias (PRSB, PRSC)
  532. Alias (PRSB, PRSD)
  533. Alias (PRSB, PRSE)
  534. Alias (PRSB, PRSF)
  535. Alias (PRSB, PRSG)
  536. Alias (PRSB, PRSH)
  537. Name (PR00, Package (0x1A)
  538. {
  539. Package (0x04)
  540. {
  541. 0x0002FFFF,
  542. Zero,
  543. LNKA,
  544. Zero
  545. },
  546.  
  547. Package (0x04)
  548. {
  549. 0x0003FFFF,
  550. Zero,
  551. LNKB,
  552. Zero
  553. },
  554.  
  555. Package (0x04)
  556. {
  557. 0x000AFFFF,
  558. Zero,
  559. LNKE,
  560. Zero
  561. },
  562.  
  563. Package (0x04)
  564. {
  565. 0x000BFFFF,
  566. Zero,
  567. LNKF,
  568. Zero
  569. },
  570.  
  571. Package (0x04)
  572. {
  573. 0x0010FFFF,
  574. Zero,
  575. LNKA,
  576. Zero
  577. },
  578.  
  579. Package (0x04)
  580. {
  581. 0x0011FFFF,
  582. Zero,
  583. LNKB,
  584. Zero
  585. },
  586.  
  587. Package (0x04)
  588. {
  589. 0x0012FFFF,
  590. Zero,
  591. LNKC,
  592. Zero
  593. },
  594.  
  595. Package (0x04)
  596. {
  597. 0x0014FFFF,
  598. Zero,
  599. LNKE,
  600. Zero
  601. },
  602.  
  603. Package (0x04)
  604. {
  605. 0x0015FFFF,
  606. Zero,
  607. LNKF,
  608. Zero
  609. },
  610.  
  611. Package (0x04)
  612. {
  613. 0x0016FFFF,
  614. Zero,
  615. LNKH,
  616. Zero
  617. },
  618.  
  619. Package (0x04)
  620. {
  621. 0x0018FFFF,
  622. Zero,
  623. LNKB,
  624. Zero
  625. },
  626.  
  627. Package (0x04)
  628. {
  629. 0x0018FFFF,
  630. 0x02,
  631. LNKD,
  632. Zero
  633. },
  634.  
  635. Package (0x04)
  636. {
  637. 0x0018FFFF,
  638. 0x03,
  639. LNKC,
  640. Zero
  641. },
  642.  
  643. Package (0x04)
  644. {
  645. 0x0018FFFF,
  646. One,
  647. LNKA,
  648. Zero
  649. },
  650.  
  651. Package (0x04)
  652. {
  653. 0x001AFFFF,
  654. Zero,
  655. LNKF,
  656. Zero
  657. },
  658.  
  659. Package (0x04)
  660. {
  661. 0x001BFFFF,
  662. Zero,
  663. LNKG,
  664. Zero
  665. },
  666.  
  667. Package (0x04)
  668. {
  669. 0x001EFFFF,
  670. Zero,
  671. LNKD,
  672. Zero
  673. },
  674.  
  675. Package (0x04)
  676. {
  677. 0x001EFFFF,
  678. 0x03,
  679. LNKA,
  680. Zero
  681. },
  682.  
  683. Package (0x04)
  684. {
  685. 0x001EFFFF,
  686. One,
  687. LNKB,
  688. Zero
  689. },
  690.  
  691. Package (0x04)
  692. {
  693. 0x001EFFFF,
  694. 0x02,
  695. LNKC,
  696. Zero
  697. },
  698.  
  699. Package (0x04)
  700. {
  701. 0x001FFFFF,
  702. One,
  703. LNKC,
  704. Zero
  705. },
  706.  
  707. Package (0x04)
  708. {
  709. 0x001CFFFF,
  710. Zero,
  711. LNKA,
  712. Zero
  713. },
  714.  
  715. Package (0x04)
  716. {
  717. 0x001CFFFF,
  718. One,
  719. LNKB,
  720. Zero
  721. },
  722.  
  723. Package (0x04)
  724. {
  725. 0x001CFFFF,
  726. 0x02,
  727. LNKC,
  728. Zero
  729. },
  730.  
  731. Package (0x04)
  732. {
  733. 0x001CFFFF,
  734. 0x03,
  735. LNKD,
  736. Zero
  737. },
  738.  
  739. Package (0x04)
  740. {
  741. 0x0013FFFF,
  742. Zero,
  743. LNKD,
  744. Zero
  745. }
  746. })
  747. Name (AR00, Package (0x1A)
  748. {
  749. Package (0x04)
  750. {
  751. 0x0002FFFF,
  752. Zero,
  753. Zero,
  754. 0x10
  755. },
  756.  
  757. Package (0x04)
  758. {
  759. 0x0003FFFF,
  760. Zero,
  761. Zero,
  762. 0x11
  763. },
  764.  
  765. Package (0x04)
  766. {
  767. 0x000AFFFF,
  768. Zero,
  769. Zero,
  770. 0x14
  771. },
  772.  
  773. Package (0x04)
  774. {
  775. 0x000BFFFF,
  776. Zero,
  777. Zero,
  778. 0x15
  779. },
  780.  
  781. Package (0x04)
  782. {
  783. 0x0010FFFF,
  784. Zero,
  785. Zero,
  786. 0x10
  787. },
  788.  
  789. Package (0x04)
  790. {
  791. 0x0011FFFF,
  792. Zero,
  793. Zero,
  794. 0x11
  795. },
  796.  
  797. Package (0x04)
  798. {
  799. 0x0012FFFF,
  800. Zero,
  801. Zero,
  802. 0x12
  803. },
  804.  
  805. Package (0x04)
  806. {
  807. 0x0014FFFF,
  808. Zero,
  809. Zero,
  810. 0x14
  811. },
  812.  
  813. Package (0x04)
  814. {
  815. 0x0015FFFF,
  816. Zero,
  817. Zero,
  818. 0x15
  819. },
  820.  
  821. Package (0x04)
  822. {
  823. 0x0016FFFF,
  824. Zero,
  825. Zero,
  826. 0x17
  827. },
  828.  
  829. Package (0x04)
  830. {
  831. 0x0018FFFF,
  832. Zero,
  833. Zero,
  834. 0x11
  835. },
  836.  
  837. Package (0x04)
  838. {
  839. 0x0018FFFF,
  840. 0x02,
  841. Zero,
  842. 0x13
  843. },
  844.  
  845. Package (0x04)
  846. {
  847. 0x0018FFFF,
  848. 0x03,
  849. Zero,
  850. 0x12
  851. },
  852.  
  853. Package (0x04)
  854. {
  855. 0x0018FFFF,
  856. One,
  857. Zero,
  858. 0x10
  859. },
  860.  
  861. Package (0x04)
  862. {
  863. 0x001AFFFF,
  864. Zero,
  865. Zero,
  866. 0x15
  867. },
  868.  
  869. Package (0x04)
  870. {
  871. 0x001BFFFF,
  872. Zero,
  873. Zero,
  874. 0x16
  875. },
  876.  
  877. Package (0x04)
  878. {
  879. 0x001EFFFF,
  880. Zero,
  881. Zero,
  882. 0x13
  883. },
  884.  
  885. Package (0x04)
  886. {
  887. 0x001EFFFF,
  888. 0x03,
  889. Zero,
  890. 0x10
  891. },
  892.  
  893. Package (0x04)
  894. {
  895. 0x001EFFFF,
  896. One,
  897. Zero,
  898. 0x11
  899. },
  900.  
  901. Package (0x04)
  902. {
  903. 0x001EFFFF,
  904. 0x02,
  905. Zero,
  906. 0x12
  907. },
  908.  
  909. Package (0x04)
  910. {
  911. 0x001FFFFF,
  912. One,
  913. Zero,
  914. 0x12
  915. },
  916.  
  917. Package (0x04)
  918. {
  919. 0x001CFFFF,
  920. Zero,
  921. Zero,
  922. 0x10
  923. },
  924.  
  925. Package (0x04)
  926. {
  927. 0x001CFFFF,
  928. One,
  929. Zero,
  930. 0x11
  931. },
  932.  
  933. Package (0x04)
  934. {
  935. 0x001CFFFF,
  936. 0x02,
  937. Zero,
  938. 0x12
  939. },
  940.  
  941. Package (0x04)
  942. {
  943. 0x001CFFFF,
  944. 0x03,
  945. Zero,
  946. 0x13
  947. },
  948.  
  949. Package (0x04)
  950. {
  951. 0x0013FFFF,
  952. Zero,
  953. Zero,
  954. 0x13
  955. }
  956. })
  957. Name (PR01, Package (0x04)
  958. {
  959. Package (0x04)
  960. {
  961. 0xFFFF,
  962. Zero,
  963. LNKA,
  964. Zero
  965. },
  966.  
  967. Package (0x04)
  968. {
  969. 0xFFFF,
  970. One,
  971. LNKB,
  972. Zero
  973. },
  974.  
  975. Package (0x04)
  976. {
  977. 0xFFFF,
  978. 0x02,
  979. LNKC,
  980. Zero
  981. },
  982.  
  983. Package (0x04)
  984. {
  985. 0xFFFF,
  986. 0x03,
  987. LNKD,
  988. Zero
  989. }
  990. })
  991. Name (AR01, Package (0x04)
  992. {
  993. Package (0x04)
  994. {
  995. 0xFFFF,
  996. Zero,
  997. Zero,
  998. 0x10
  999. },
  1000.  
  1001. Package (0x04)
  1002. {
  1003. 0xFFFF,
  1004. One,
  1005. Zero,
  1006. 0x11
  1007. },
  1008.  
  1009. Package (0x04)
  1010. {
  1011. 0xFFFF,
  1012. 0x02,
  1013. Zero,
  1014. 0x12
  1015. },
  1016.  
  1017. Package (0x04)
  1018. {
  1019. 0xFFFF,
  1020. 0x03,
  1021. Zero,
  1022. 0x13
  1023. }
  1024. })
  1025. Name (PR02, Package (0x04)
  1026. {
  1027. Package (0x04)
  1028. {
  1029. 0xFFFF,
  1030. Zero,
  1031. LNKB,
  1032. Zero
  1033. },
  1034.  
  1035. Package (0x04)
  1036. {
  1037. 0xFFFF,
  1038. One,
  1039. LNKC,
  1040. Zero
  1041. },
  1042.  
  1043. Package (0x04)
  1044. {
  1045. 0xFFFF,
  1046. 0x02,
  1047. LNKD,
  1048. Zero
  1049. },
  1050.  
  1051. Package (0x04)
  1052. {
  1053. 0xFFFF,
  1054. 0x03,
  1055. LNKA,
  1056. Zero
  1057. }
  1058. })
  1059. Name (AR02, Package (0x04)
  1060. {
  1061. Package (0x04)
  1062. {
  1063. 0xFFFF,
  1064. Zero,
  1065. Zero,
  1066. 0x11
  1067. },
  1068.  
  1069. Package (0x04)
  1070. {
  1071. 0xFFFF,
  1072. One,
  1073. Zero,
  1074. 0x12
  1075. },
  1076.  
  1077. Package (0x04)
  1078. {
  1079. 0xFFFF,
  1080. 0x02,
  1081. Zero,
  1082. 0x13
  1083. },
  1084.  
  1085. Package (0x04)
  1086. {
  1087. 0xFFFF,
  1088. 0x03,
  1089. Zero,
  1090. 0x10
  1091. }
  1092. })
  1093. Name (PR03, Package (0x04)
  1094. {
  1095. Package (0x04)
  1096. {
  1097. 0xFFFF,
  1098. Zero,
  1099. LNKC,
  1100. Zero
  1101. },
  1102.  
  1103. Package (0x04)
  1104. {
  1105. 0xFFFF,
  1106. One,
  1107. LNKD,
  1108. Zero
  1109. },
  1110.  
  1111. Package (0x04)
  1112. {
  1113. 0xFFFF,
  1114. 0x02,
  1115. LNKA,
  1116. Zero
  1117. },
  1118.  
  1119. Package (0x04)
  1120. {
  1121. 0xFFFF,
  1122. 0x03,
  1123. LNKB,
  1124. Zero
  1125. }
  1126. })
  1127. Name (AR03, Package (0x04)
  1128. {
  1129. Package (0x04)
  1130. {
  1131. 0xFFFF,
  1132. Zero,
  1133. Zero,
  1134. 0x12
  1135. },
  1136.  
  1137. Package (0x04)
  1138. {
  1139. 0xFFFF,
  1140. One,
  1141. Zero,
  1142. 0x13
  1143. },
  1144.  
  1145. Package (0x04)
  1146. {
  1147. 0xFFFF,
  1148. 0x02,
  1149. Zero,
  1150. 0x10
  1151. },
  1152.  
  1153. Package (0x04)
  1154. {
  1155. 0xFFFF,
  1156. 0x03,
  1157. Zero,
  1158. 0x11
  1159. }
  1160. })
  1161. Name (PR04, Package (0x04)
  1162. {
  1163. Package (0x04)
  1164. {
  1165. 0xFFFF,
  1166. Zero,
  1167. LNKD,
  1168. Zero
  1169. },
  1170.  
  1171. Package (0x04)
  1172. {
  1173. 0xFFFF,
  1174. One,
  1175. LNKA,
  1176. Zero
  1177. },
  1178.  
  1179. Package (0x04)
  1180. {
  1181. 0xFFFF,
  1182. 0x02,
  1183. LNKB,
  1184. Zero
  1185. },
  1186.  
  1187. Package (0x04)
  1188. {
  1189. 0xFFFF,
  1190. 0x03,
  1191. LNKC,
  1192. Zero
  1193. }
  1194. })
  1195. Name (AR04, Package (0x04)
  1196. {
  1197. Package (0x04)
  1198. {
  1199. 0xFFFF,
  1200. Zero,
  1201. Zero,
  1202. 0x13
  1203. },
  1204.  
  1205. Package (0x04)
  1206. {
  1207. 0xFFFF,
  1208. One,
  1209. Zero,
  1210. 0x10
  1211. },
  1212.  
  1213. Package (0x04)
  1214. {
  1215. 0xFFFF,
  1216. 0x02,
  1217. Zero,
  1218. 0x11
  1219. },
  1220.  
  1221. Package (0x04)
  1222. {
  1223. 0xFFFF,
  1224. 0x03,
  1225. Zero,
  1226. 0x12
  1227. }
  1228. })
  1229. }
  1230.  
  1231. Scope (_SB)
  1232. {
  1233. Device (PCI0)
  1234. {
  1235. Name (_HID, EisaId ("PNP0A08"))
  1236. Name (_CID, EisaId ("PNP0A03"))
  1237. Name (_ADR, Zero)
  1238. Method (^BN00, 0, NotSerialized)
  1239. {
  1240. Return (Zero)
  1241. }
  1242.  
  1243. Method (_BBN, 0, NotSerialized)
  1244. {
  1245. Return (BN00 ())
  1246. }
  1247.  
  1248. Name (_UID, Zero)
  1249. Method (_PRT, 0, NotSerialized)
  1250. {
  1251. If (PICM)
  1252. {
  1253. Return (AR00)
  1254. }
  1255.  
  1256. Return (PR00)
  1257. }
  1258.  
  1259. Device (CHVC)
  1260. {
  1261. Name (_ADR, Zero)
  1262. OperationRegion (HBUS, PCI_Config, Zero, 0xFF)
  1263. Field (HBUS, DWordAcc, NoLock, Preserve)
  1264. {
  1265. Offset (0xD0),
  1266. SMCR, 32,
  1267. SMDR, 32,
  1268. MCRX, 32,
  1269. MCXX, 32
  1270. }
  1271.  
  1272. Method (RMBR, 2, Serialized)
  1273. {
  1274. Or (ShiftLeft (Arg0, 0x10), ShiftLeft (Arg1, 0x08), Local0)
  1275. Or (0x100000F0, Local0, SMCR)
  1276. Return (SMDR)
  1277. }
  1278.  
  1279. Method (WMBR, 3, Serialized)
  1280. {
  1281. Store (Arg2, SMDR)
  1282. Or (ShiftLeft (Arg0, 0x10), ShiftLeft (Arg1, 0x08), Local0)
  1283. Or (0x110000F0, Local0, SMCR)
  1284. }
  1285.  
  1286. Method (RMBX, 6, Serialized)
  1287. {
  1288. And (Arg3, 0x07, Local4)
  1289. Store (ShiftLeft (Local4, 0x08), Local4)
  1290. Or (ShiftLeft (Arg4, 0x03), Arg5, Local5)
  1291. And (Local5, 0xFF, Local5)
  1292. Or (Local4, Local5, MCXX)
  1293. And (Arg1, 0xFFFFFF00, Local3)
  1294. Store (Local3, MCRX)
  1295. And (Arg1, 0xFF, Local0)
  1296. Or (ShiftLeft (Arg2, 0x18), ShiftLeft (Arg0, 0x10), Local1)
  1297. And (Local1, 0xFFFF0000, Local1)
  1298. Or (ShiftLeft (Local0, 0x08), 0xF0, Local2)
  1299. And (Local2, 0xFFFF, Local2)
  1300. Or (Local1, Local2, SMCR)
  1301. Return (SMDR)
  1302. }
  1303.  
  1304. Method (WMBX, 7, Serialized)
  1305. {
  1306. And (Arg4, 0x07, Local4)
  1307. Store (ShiftLeft (Local4, 0x08), Local4)
  1308. Or (ShiftLeft (Arg5, 0x03), Arg6, Local5)
  1309. And (Local5, 0xFF, Local5)
  1310. Or (Local4, Local5, MCXX)
  1311. And (Arg1, 0xFFFFFF00, Local3)
  1312. Store (Local3, MCRX)
  1313. Store (Arg2, SMDR)
  1314. And (Arg1, 0xFF, Local0)
  1315. Or (ShiftLeft (Arg3, 0x18), ShiftLeft (Arg0, 0x10), Local1)
  1316. And (Local1, 0xFFFF0000, Local1)
  1317. Or (ShiftLeft (Local0, 0x08), 0xF0, Local2)
  1318. And (Local2, 0xFFFF, Local2)
  1319. Or (Local1, Local2, SMCR)
  1320. }
  1321. }
  1322.  
  1323. Method (_CRS, 0, Serialized)
  1324. {
  1325. Name (FTSZ, 0x00100000)
  1326. CreateDWordField (RES0, 0xA8, LPMN)
  1327. CreateDWordField (RES0, 0xAC, LPMX)
  1328. CreateDWordField (RES0, 0xB4, LPLN)
  1329. If (LAnd (LNotEqual (LPE2, Zero), LEqual (LPED, Zero)))
  1330. {
  1331. Store (LPE2, LPMN)
  1332. Add (LPMN, LPLN, LPMX)
  1333. Subtract (LPMX, One, LPMX)
  1334. }
  1335. Else
  1336. {
  1337. Store (Zero, LPMN)
  1338. Store (Zero, LPMX)
  1339. Store (Zero, LPLN)
  1340. }
  1341.  
  1342. CreateDWordField (RES0, 0xC2, ISMN)
  1343. CreateDWordField (RES0, 0xC6, ISMX)
  1344. CreateDWordField (RES0, 0xCE, ISLN)
  1345. If (LEqual (ISPD, One))
  1346. {
  1347. Store (ISPA, ISMN)
  1348. Add (ISMN, ISLN, ISMX)
  1349. Subtract (ISMX, One, ISMX)
  1350. }
  1351. Else
  1352. {
  1353. Store (Zero, ISMN)
  1354. Store (Zero, ISMX)
  1355. Store (Zero, ISLN)
  1356. }
  1357.  
  1358. CreateDWordField (RES0, 0xDC, M1MN)
  1359. CreateDWordField (RES0, 0xE0, M1MX)
  1360. CreateDWordField (RES0, 0xE8, M1LN)
  1361. And (BMBD, 0xFF000000, M1MN)
  1362. Add (Subtract (M1MX, M1MN), One, M1LN)
  1363. Return (RES0)
  1364. }
  1365.  
  1366. Name (RES0, ResourceTemplate ()
  1367. {
  1368. WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
  1369. 0x0000, // Granularity
  1370. 0x0000, // Range Minimum
  1371. 0x00FF, // Range Maximum
  1372. 0x0000, // Translation Offset
  1373. 0x0100, // Length
  1374. ,, )
  1375. IO (Decode16,
  1376. 0x0070, // Range Minimum
  1377. 0x0077, // Range Maximum
  1378. 0x01, // Alignment
  1379. 0x08, // Length
  1380. )
  1381. IO (Decode16,
  1382. 0x0CF8, // Range Minimum
  1383. 0x0CF8, // Range Maximum
  1384. 0x01, // Alignment
  1385. 0x08, // Length
  1386. )
  1387. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1388. 0x0000, // Granularity
  1389. 0x0000, // Range Minimum
  1390. 0x006F, // Range Maximum
  1391. 0x0000, // Translation Offset
  1392. 0x0070, // Length
  1393. ,, , TypeStatic)
  1394. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1395. 0x0000, // Granularity
  1396. 0x0078, // Range Minimum
  1397. 0x0CF7, // Range Maximum
  1398. 0x0000, // Translation Offset
  1399. 0x0C80, // Length
  1400. ,, , TypeStatic)
  1401. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1402. 0x0000, // Granularity
  1403. 0x0D00, // Range Minimum
  1404. 0xFFFF, // Range Maximum
  1405. 0x0000, // Translation Offset
  1406. 0xF300, // Length
  1407. ,, , TypeStatic)
  1408. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1409. 0x00000000, // Granularity
  1410. 0x000A0000, // Range Minimum
  1411. 0x000BFFFF, // Range Maximum
  1412. 0x00000000, // Translation Offset
  1413. 0x00020000, // Length
  1414. ,, , AddressRangeMemory, TypeStatic)
  1415. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1416. 0x00000000, // Granularity
  1417. 0x000C0000, // Range Minimum
  1418. 0x000DFFFF, // Range Maximum
  1419. 0x00000000, // Translation Offset
  1420. 0x00020000, // Length
  1421. ,, , AddressRangeMemory, TypeStatic)
  1422. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1423. 0x00000000, // Granularity
  1424. 0x000E0000, // Range Minimum
  1425. 0x000FFFFF, // Range Maximum
  1426. 0x00000000, // Translation Offset
  1427. 0x00020000, // Length
  1428. ,, , AddressRangeMemory, TypeStatic)
  1429. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1430. 0x00000000, // Granularity
  1431. 0x20000000, // Range Minimum
  1432. 0x201FFFFF, // Range Maximum
  1433. 0x00000000, // Translation Offset
  1434. 0x00200000, // Length
  1435. ,, , AddressRangeMemory, TypeStatic)
  1436. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1437. 0x00000000, // Granularity
  1438. 0x7A000000, // Range Minimum
  1439. 0x7A3FFFFF, // Range Maximum
  1440. 0x00000000, // Translation Offset
  1441. 0x00400000, // Length
  1442. ,, , AddressRangeMemory, TypeStatic)
  1443. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1444. 0x00000000, // Granularity
  1445. 0x80000000, // Range Minimum
  1446. 0xDFFFFFFF, // Range Maximum
  1447. 0x00000000, // Translation Offset
  1448. 0x60000000, // Length
  1449. ,, , AddressRangeMemory, TypeStatic)
  1450. })
  1451. Name (GUID, Buffer (0x10)
  1452. {
  1453. /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
  1454. /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
  1455. })
  1456. Name (SUPP, Zero)
  1457. Name (CTRL, Zero)
  1458. Method (_OSC, 4, Serialized)
  1459. {
  1460. Store (Arg3, Local0)
  1461. CreateDWordField (Local0, Zero, CDW1)
  1462. CreateDWordField (Local0, 0x04, CDW2)
  1463. CreateDWordField (Local0, 0x08, CDW3)
  1464. If (LAnd (LEqual (Arg0, GUID), NEXP))
  1465. {
  1466. Store (CDW2, SUPP)
  1467. Store (CDW3, CTRL)
  1468. If (Not (And (CDW1, One)))
  1469. {
  1470. If (And (CTRL, 0x02))
  1471. {
  1472. NHPG ()
  1473. }
  1474.  
  1475. If (And (CTRL, 0x04))
  1476. {
  1477. NPME ()
  1478. }
  1479. }
  1480.  
  1481. If (LNotEqual (Arg1, One))
  1482. {
  1483. Or (CDW1, 0x08, CDW1)
  1484. }
  1485.  
  1486. If (LNotEqual (CDW3, CTRL))
  1487. {
  1488. Or (CDW1, 0x10, CDW1)
  1489. }
  1490.  
  1491. Store (CTRL, CDW3)
  1492. Store (CTRL, OSCC)
  1493. Return (Local0)
  1494. }
  1495. Else
  1496. {
  1497. Or (CDW1, 0x04, CDW1)
  1498. Return (Local0)
  1499. }
  1500. }
  1501.  
  1502. Device (GFX0)
  1503. {
  1504. Name (_ADR, 0x00020000)
  1505. Name (_S0W, 0x03)
  1506. Method (_DOS, 1, NotSerialized)
  1507. {
  1508. Store (And (Arg0, 0x07), DSEN)
  1509. If (DRDY)
  1510. {
  1511. And (Arg0, 0x03, DOSF)
  1512. Store (ShiftRight (Arg0, 0x02), BRNC)
  1513. And (BRNC, One, BRNC)
  1514. }
  1515. }
  1516.  
  1517. Method (_DOD, 0, NotSerialized)
  1518. {
  1519. If (LEqual (ISPE, One))
  1520. {
  1521. Store (One, NDID)
  1522. }
  1523. Else
  1524. {
  1525. Store (Zero, NDID)
  1526. }
  1527.  
  1528. If (LNotEqual (DIDL, Zero))
  1529. {
  1530. Store (SDDL (DIDL), DID1)
  1531. }
  1532.  
  1533. If (LNotEqual (DDL2, Zero))
  1534. {
  1535. Store (SDDL (DDL2), DID2)
  1536. }
  1537.  
  1538. If (LNotEqual (DDL3, Zero))
  1539. {
  1540. Store (SDDL (DDL3), DID3)
  1541. }
  1542.  
  1543. If (LNotEqual (DDL4, Zero))
  1544. {
  1545. Store (SDDL (DDL4), DID4)
  1546. }
  1547.  
  1548. If (LNotEqual (DDL5, Zero))
  1549. {
  1550. Store (SDDL (DDL5), DID5)
  1551. }
  1552.  
  1553. If (LNotEqual (DDL6, Zero))
  1554. {
  1555. Store (SDDL (DDL6), DID6)
  1556. }
  1557.  
  1558. If (LNotEqual (DDL7, Zero))
  1559. {
  1560. Store (SDDL (DDL7), DID7)
  1561. }
  1562.  
  1563. If (LNotEqual (DDL8, Zero))
  1564. {
  1565. Store (SDDL (DDL8), DID8)
  1566. }
  1567.  
  1568. If (LEqual (NDID, One))
  1569. {
  1570. Name (TMP1, Package (0x01)
  1571. {
  1572. 0xFFFFFFFF
  1573. })
  1574. If (LEqual (ISPE, One))
  1575. {
  1576. Store (0x000222B8, Index (TMP1, Zero))
  1577. }
  1578. Else
  1579. {
  1580. Store (Or (0x00010000, DID1), Index (TMP1, Zero))
  1581. }
  1582.  
  1583. Return (TMP1)
  1584. }
  1585.  
  1586. If (LEqual (NDID, 0x02))
  1587. {
  1588. Name (TMP2, Package (0x02)
  1589. {
  1590. 0xFFFFFFFF,
  1591. 0xFFFFFFFF
  1592. })
  1593. If (LEqual (ISPE, One))
  1594. {
  1595. Store (Or (0x00010000, DID1), Index (TMP2, Zero))
  1596. Store (0x000222B8, Index (TMP2, One))
  1597. }
  1598. Else
  1599. {
  1600. Store (Or (0x00010000, DID1), Index (TMP2, Zero))
  1601. Store (Or (0x00010000, DID2), Index (TMP2, One))
  1602. }
  1603.  
  1604. Return (TMP2)
  1605. }
  1606.  
  1607. If (LEqual (NDID, 0x03))
  1608. {
  1609. Name (TMP3, Package (0x03)
  1610. {
  1611. 0xFFFFFFFF,
  1612. 0xFFFFFFFF,
  1613. 0xFFFFFFFF
  1614. })
  1615. If (LEqual (ISPE, One))
  1616. {
  1617. Store (Or (0x00010000, DID1), Index (TMP3, Zero))
  1618. Store (Or (0x00010000, DID2), Index (TMP3, One))
  1619. Store (0x000222B8, Index (TMP3, 0x02))
  1620. }
  1621. Else
  1622. {
  1623. Store (Or (0x00010000, DID1), Index (TMP3, Zero))
  1624. Store (Or (0x00010000, DID2), Index (TMP3, One))
  1625. Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
  1626. }
  1627.  
  1628. Return (TMP3)
  1629. }
  1630.  
  1631. If (LEqual (NDID, 0x04))
  1632. {
  1633. Name (TMP4, Package (0x04)
  1634. {
  1635. 0xFFFFFFFF,
  1636. 0xFFFFFFFF,
  1637. 0xFFFFFFFF,
  1638. 0xFFFFFFFF
  1639. })
  1640. If (LEqual (ISPE, One))
  1641. {
  1642. Store (Or (0x00010000, DID1), Index (TMP4, Zero))
  1643. Store (Or (0x00010000, DID2), Index (TMP4, One))
  1644. Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
  1645. Store (0x000222B8, Index (TMP4, 0x03))
  1646. }
  1647. Else
  1648. {
  1649. Store (Or (0x00010000, DID1), Index (TMP4, Zero))
  1650. Store (Or (0x00010000, DID2), Index (TMP4, One))
  1651. Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
  1652. Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
  1653. }
  1654.  
  1655. Return (TMP4)
  1656. }
  1657.  
  1658. If (LEqual (NDID, 0x05))
  1659. {
  1660. Name (TMP5, Package (0x05)
  1661. {
  1662. 0xFFFFFFFF,
  1663. 0xFFFFFFFF,
  1664. 0xFFFFFFFF,
  1665. 0xFFFFFFFF,
  1666. 0xFFFFFFFF
  1667. })
  1668. If (LEqual (ISPE, One))
  1669. {
  1670. Store (Or (0x00010000, DID1), Index (TMP5, Zero))
  1671. Store (Or (0x00010000, DID2), Index (TMP5, One))
  1672. Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
  1673. Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
  1674. Store (0x000222B8, Index (TMP5, 0x04))
  1675. }
  1676. Else
  1677. {
  1678. Store (Or (0x00010000, DID1), Index (TMP5, Zero))
  1679. Store (Or (0x00010000, DID2), Index (TMP5, One))
  1680. Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
  1681. Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
  1682. Store (Or (0x00010000, DID5), Index (TMP5, 0x04))
  1683. }
  1684.  
  1685. Return (TMP5)
  1686. }
  1687.  
  1688. If (LEqual (NDID, 0x06))
  1689. {
  1690. Name (TMP6, Package (0x06)
  1691. {
  1692. 0xFFFFFFFF,
  1693. 0xFFFFFFFF,
  1694. 0xFFFFFFFF,
  1695. 0xFFFFFFFF,
  1696. 0xFFFFFFFF,
  1697. 0xFFFFFFFF
  1698. })
  1699. If (LEqual (ISPE, One))
  1700. {
  1701. Store (Or (0x00010000, DID1), Index (TMP6, Zero))
  1702. Store (Or (0x00010000, DID2), Index (TMP6, One))
  1703. Store (Or (0x00010000, DID3), Index (TMP6, 0x02))
  1704. Store (Or (0x00010000, DID4), Index (TMP6, 0x03))
  1705. Store (Or (0x00010000, DID5), Index (TMP6, 0x04))
  1706. Store (0x000222B8, Index (TMP6, 0x05))
  1707. }
  1708. Else
  1709. {
  1710. Store (Or (0x00010000, DID1), Index (TMP6, Zero))
  1711. Store (Or (0x00010000, DID2), Index (TMP6, One))
  1712. Store (Or (0x00010000, DID3), Index (TMP6, 0x02))
  1713. Store (Or (0x00010000, DID4), Index (TMP6, 0x03))
  1714. Store (Or (0x00010000, DID5), Index (TMP6, 0x04))
  1715. Store (Or (0x00010000, DID6), Index (TMP6, 0x05))
  1716. }
  1717.  
  1718. Return (TMP6)
  1719. }
  1720.  
  1721. If (LEqual (NDID, 0x07))
  1722. {
  1723. Name (TMP7, Package (0x07)
  1724. {
  1725. 0xFFFFFFFF,
  1726. 0xFFFFFFFF,
  1727. 0xFFFFFFFF,
  1728. 0xFFFFFFFF,
  1729. 0xFFFFFFFF,
  1730. 0xFFFFFFFF,
  1731. 0xFFFFFFFF
  1732. })
  1733. If (LEqual (ISPE, One))
  1734. {
  1735. Store (Or (0x00010000, DID1), Index (TMP7, Zero))
  1736. Store (Or (0x00010000, DID2), Index (TMP7, One))
  1737. Store (Or (0x00010000, DID3), Index (TMP7, 0x02))
  1738. Store (Or (0x00010000, DID4), Index (TMP7, 0x03))
  1739. Store (Or (0x00010000, DID5), Index (TMP7, 0x04))
  1740. Store (Or (0x00010000, DID6), Index (TMP7, 0x05))
  1741. Store (0x000222B8, Index (TMP7, 0x06))
  1742. }
  1743. Else
  1744. {
  1745. Store (Or (0x00010000, DID1), Index (TMP7, Zero))
  1746. Store (Or (0x00010000, DID2), Index (TMP7, One))
  1747. Store (Or (0x00010000, DID3), Index (TMP7, 0x02))
  1748. Store (Or (0x00010000, DID4), Index (TMP7, 0x03))
  1749. Store (Or (0x00010000, DID5), Index (TMP7, 0x04))
  1750. Store (Or (0x00010000, DID6), Index (TMP7, 0x05))
  1751. Store (Or (0x00010000, DID7), Index (TMP7, 0x06))
  1752. }
  1753.  
  1754. Return (TMP7)
  1755. }
  1756.  
  1757. If (LGreater (NDID, 0x07))
  1758. {
  1759. Name (TMP8, Package (0x08)
  1760. {
  1761. 0xFFFFFFFF,
  1762. 0xFFFFFFFF,
  1763. 0xFFFFFFFF,
  1764. 0xFFFFFFFF,
  1765. 0xFFFFFFFF,
  1766. 0xFFFFFFFF,
  1767. 0xFFFFFFFF,
  1768. 0xFFFFFFFF
  1769. })
  1770. If (LEqual (ISPE, One))
  1771. {
  1772. Store (Or (0x00010000, DID1), Index (TMP8, Zero))
  1773. Store (Or (0x00010000, DID2), Index (TMP8, One))
  1774. Store (Or (0x00010000, DID3), Index (TMP8, 0x02))
  1775. Store (Or (0x00010000, DID4), Index (TMP8, 0x03))
  1776. Store (Or (0x00010000, DID5), Index (TMP8, 0x04))
  1777. Store (Or (0x00010000, DID6), Index (TMP8, 0x05))
  1778. Store (Or (0x00010000, DID7), Index (TMP8, 0x06))
  1779. Store (0x000222B8, Index (TMP8, 0x07))
  1780. }
  1781. Else
  1782. {
  1783. Store (Or (0x00010000, DID1), Index (TMP8, Zero))
  1784. Store (Or (0x00010000, DID2), Index (TMP8, One))
  1785. Store (Or (0x00010000, DID3), Index (TMP8, 0x02))
  1786. Store (Or (0x00010000, DID4), Index (TMP8, 0x03))
  1787. Store (Or (0x00010000, DID5), Index (TMP8, 0x04))
  1788. Store (Or (0x00010000, DID6), Index (TMP8, 0x05))
  1789. Store (Or (0x00010000, DID7), Index (TMP8, 0x06))
  1790. Store (Or (0x00010000, DID8), Index (TMP8, 0x07))
  1791. }
  1792.  
  1793. Return (TMP8)
  1794. }
  1795.  
  1796. Return (Package (0x02)
  1797. {
  1798. 0x0400,
  1799. 0x000222B8
  1800. })
  1801. }
  1802.  
  1803. Device (DD01)
  1804. {
  1805. Method (_ADR, 0, Serialized)
  1806. {
  1807. If (LEqual (And (0x0F00, DID1), 0x0400))
  1808. {
  1809. Store (One, EDPV)
  1810. Store (DID1, DIDX)
  1811. Return (And (0xFFFF, DID1))
  1812. }
  1813.  
  1814. If (LEqual (DID1, Zero))
  1815. {
  1816. Return (One)
  1817. }
  1818. Else
  1819. {
  1820. Return (And (0xFFFF, DID1))
  1821. }
  1822. }
  1823.  
  1824. Method (_DCS, 0, NotSerialized)
  1825. {
  1826. Return (CDDS (DID1))
  1827. }
  1828.  
  1829. Method (_DGS, 0, NotSerialized)
  1830. {
  1831. Return (NDDS (DID1))
  1832. }
  1833.  
  1834. Method (_DSS, 1, NotSerialized)
  1835. {
  1836. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  1837. {
  1838. Store (NSTE, CSTE)
  1839. }
  1840. }
  1841.  
  1842. Method (MINB, 0, NotSerialized)
  1843. {
  1844. If (ARDY)
  1845. {
  1846. Store (BRTI, Local1)
  1847. ShiftLeft (Local1, 0x04, Local1)
  1848. Store (DerefOf (Index (^^^SBRG.EC0.PWAC, Local1)), Local0)
  1849. Or (TCHE, 0x08, TCHE)
  1850. Or (ASLC, 0x08, ASLC)
  1851. Store (Local0, PFMB)
  1852. Or (PFMB, 0x0100, PFMB)
  1853. Store (One, ASLE)
  1854. }
  1855. }
  1856.  
  1857. Method (_BCL, 0, NotSerialized)
  1858. {
  1859. If (LGreaterEqual (MSOS (), OSW8))
  1860. {
  1861. Add (0x64, One, Local0)
  1862. Add (Local0, 0x02, Local0)
  1863. Name (BRPP, Package (0x67) {})
  1864. Store (0x64, Index (BRPP, Zero))
  1865. Store (0x28, Index (BRPP, One))
  1866. Store (0x02, Local1)
  1867. Store (0x64, Local2)
  1868. While (LLess (Local1, Local0))
  1869. {
  1870. Store (Local2, Index (BRPP, Local1))
  1871. Increment (Local1)
  1872. Decrement (Local2)
  1873. }
  1874.  
  1875. Store (Zero, Local0)
  1876. While (LLessEqual (Local0, 0x0A))
  1877. {
  1878. Store (Multiply (Local0, 0x0A), Index (PCTG, Subtract (0x0A, Local0
  1879. )))
  1880. Increment (Local0)
  1881. }
  1882.  
  1883. MINB ()
  1884. Return (BRPP)
  1885. }
  1886. Else
  1887. {
  1888. Store (Zero, Local0)
  1889. Store (BRTI, Local4)
  1890. ShiftLeft (Local4, 0x04, Local4)
  1891. While (LLess (Local0, 0x0B))
  1892. {
  1893. Subtract (0x0B, Local0, Local3)
  1894. Subtract (Local3, One, Local3)
  1895. Store (Add (Local4, Local3), Local3)
  1896. Store (DerefOf (Index (^^^SBRG.EC0.PWAC, Local3)), Local1)
  1897. Store (Divide (Multiply (Local1, 0x64), 0xFF, ), Local2)
  1898. Store (Local2, Index (PCTG, Local0))
  1899. Increment (Local0)
  1900. }
  1901.  
  1902. MINB ()
  1903. Return (PCTG)
  1904. }
  1905. }
  1906.  
  1907. Method (_BCM, 1, NotSerialized)
  1908. {
  1909. Store (One, BCMD)
  1910. Store (GCBL (Arg0), Local0)
  1911. Subtract (0x0A, Local0, LBTN)
  1912. ^^^SBRG.EC0.STBR ()
  1913. }
  1914.  
  1915. Method (_BQC, 0, NotSerialized)
  1916. {
  1917. If (LGreaterEqual (MSOS (), OSW8))
  1918. {
  1919. And (CBLV, 0x7FFFFFFF, Local0)
  1920. Return (Local0)
  1921. }
  1922. Else
  1923. {
  1924. Store (BRTI, Local1)
  1925. ShiftLeft (Local1, 0x04, Local1)
  1926. Store (LBTN, Local2)
  1927. Store (Add (Local1, Local2), Local2)
  1928. Store (Multiply (DerefOf (Index (^^^SBRG.EC0.PWAC, Local2)), 0x64), Local3)
  1929. Store (Divide (Local3, 0xFF, ), Local3)
  1930. Return (Local3)
  1931. }
  1932. }
  1933. }
  1934.  
  1935. Device (DD02)
  1936. {
  1937. Method (_ADR, 0, Serialized)
  1938. {
  1939. If (LEqual (And (0x0F00, DID2), 0x0400))
  1940. {
  1941. Store (0x02, EDPV)
  1942. Store (DID2, DIDX)
  1943. Return (And (0xFFFF, DID2))
  1944. }
  1945.  
  1946. If (LEqual (DID2, Zero))
  1947. {
  1948. Return (0x02)
  1949. }
  1950. Else
  1951. {
  1952. Return (And (0xFFFF, DID2))
  1953. }
  1954. }
  1955.  
  1956. Method (_DCS, 0, NotSerialized)
  1957. {
  1958. Return (CDDS (DID2))
  1959. }
  1960.  
  1961. Method (_DGS, 0, NotSerialized)
  1962. {
  1963. Return (NDDS (DID2))
  1964. }
  1965.  
  1966. Method (_DSS, 1, NotSerialized)
  1967. {
  1968. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  1969. {
  1970. Store (NSTE, CSTE)
  1971. }
  1972. }
  1973. }
  1974.  
  1975. Device (DD03)
  1976. {
  1977. Method (_ADR, 0, Serialized)
  1978. {
  1979. If (LEqual (And (0x0F00, DID3), 0x0400))
  1980. {
  1981. Store (0x03, EDPV)
  1982. Store (DID3, DIDX)
  1983. Return (And (0xFFFF, DID3))
  1984. }
  1985.  
  1986. If (LEqual (DID3, Zero))
  1987. {
  1988. Return (0x03)
  1989. }
  1990. Else
  1991. {
  1992. Return (And (0xFFFF, DID3))
  1993. }
  1994. }
  1995.  
  1996. Method (_DCS, 0, NotSerialized)
  1997. {
  1998. If (LEqual (DID3, Zero))
  1999. {
  2000. Return (0x0B)
  2001. }
  2002. Else
  2003. {
  2004. Return (CDDS (DID3))
  2005. }
  2006. }
  2007.  
  2008. Method (_DGS, 0, NotSerialized)
  2009. {
  2010. Return (NDDS (DID3))
  2011. }
  2012.  
  2013. Method (_DSS, 1, NotSerialized)
  2014. {
  2015. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2016. {
  2017. Store (NSTE, CSTE)
  2018. }
  2019. }
  2020. }
  2021.  
  2022. Device (DD04)
  2023. {
  2024. Method (_ADR, 0, Serialized)
  2025. {
  2026. If (LEqual (And (0x0F00, DID4), 0x0400))
  2027. {
  2028. Store (0x04, EDPV)
  2029. Store (DID4, DIDX)
  2030. Return (And (0xFFFF, DID4))
  2031. }
  2032.  
  2033. If (LEqual (DID4, Zero))
  2034. {
  2035. Return (0x04)
  2036. }
  2037. Else
  2038. {
  2039. Return (And (0xFFFF, DID4))
  2040. }
  2041. }
  2042.  
  2043. Method (_DCS, 0, NotSerialized)
  2044. {
  2045. If (LEqual (DID4, Zero))
  2046. {
  2047. Return (0x0B)
  2048. }
  2049. Else
  2050. {
  2051. Return (CDDS (DID4))
  2052. }
  2053. }
  2054.  
  2055. Method (_DGS, 0, NotSerialized)
  2056. {
  2057. Return (NDDS (DID4))
  2058. }
  2059.  
  2060. Method (_DSS, 1, NotSerialized)
  2061. {
  2062. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2063. {
  2064. Store (NSTE, CSTE)
  2065. }
  2066. }
  2067. }
  2068.  
  2069. Device (DD05)
  2070. {
  2071. Method (_ADR, 0, Serialized)
  2072. {
  2073. If (LEqual (And (0x0F00, DID5), 0x0400))
  2074. {
  2075. Store (0x05, EDPV)
  2076. Store (DID5, DIDX)
  2077. Return (And (0xFFFF, DID5))
  2078. }
  2079.  
  2080. If (LEqual (DID5, Zero))
  2081. {
  2082. Return (0x05)
  2083. }
  2084. Else
  2085. {
  2086. Return (And (0xFFFF, DID5))
  2087. }
  2088. }
  2089.  
  2090. Method (_DCS, 0, NotSerialized)
  2091. {
  2092. If (LEqual (DID5, Zero))
  2093. {
  2094. Return (0x0B)
  2095. }
  2096. Else
  2097. {
  2098. Return (CDDS (DID5))
  2099. }
  2100. }
  2101.  
  2102. Method (_DGS, 0, NotSerialized)
  2103. {
  2104. Return (NDDS (DID5))
  2105. }
  2106.  
  2107. Method (_DSS, 1, NotSerialized)
  2108. {
  2109. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2110. {
  2111. Store (NSTE, CSTE)
  2112. }
  2113. }
  2114. }
  2115.  
  2116. Device (DD06)
  2117. {
  2118. Method (_ADR, 0, Serialized)
  2119. {
  2120. If (LEqual (And (0x0F00, DID6), 0x0400))
  2121. {
  2122. Store (0x06, EDPV)
  2123. Store (DID6, DIDX)
  2124. Return (And (0xFFFF, DID6))
  2125. }
  2126.  
  2127. If (LEqual (DID6, Zero))
  2128. {
  2129. Return (0x06)
  2130. }
  2131. Else
  2132. {
  2133. Return (And (0xFFFF, DID6))
  2134. }
  2135. }
  2136.  
  2137. Method (_DCS, 0, NotSerialized)
  2138. {
  2139. If (LEqual (DID6, Zero))
  2140. {
  2141. Return (0x0B)
  2142. }
  2143. Else
  2144. {
  2145. Return (CDDS (DID6))
  2146. }
  2147. }
  2148.  
  2149. Method (_DGS, 0, NotSerialized)
  2150. {
  2151. Return (NDDS (DID6))
  2152. }
  2153.  
  2154. Method (_DSS, 1, NotSerialized)
  2155. {
  2156. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2157. {
  2158. Store (NSTE, CSTE)
  2159. }
  2160. }
  2161. }
  2162.  
  2163. Device (DD07)
  2164. {
  2165. Method (_ADR, 0, Serialized)
  2166. {
  2167. If (LEqual (And (0x0F00, DID7), 0x0400))
  2168. {
  2169. Store (0x07, EDPV)
  2170. Store (DID7, DIDX)
  2171. Return (And (0xFFFF, DID7))
  2172. }
  2173.  
  2174. If (LEqual (DID7, Zero))
  2175. {
  2176. Return (0x07)
  2177. }
  2178. Else
  2179. {
  2180. Return (And (0xFFFF, DID7))
  2181. }
  2182. }
  2183.  
  2184. Method (_DCS, 0, NotSerialized)
  2185. {
  2186. If (LEqual (DID7, Zero))
  2187. {
  2188. Return (0x0B)
  2189. }
  2190. Else
  2191. {
  2192. Return (CDDS (DID7))
  2193. }
  2194. }
  2195.  
  2196. Method (_DGS, 0, NotSerialized)
  2197. {
  2198. Return (NDDS (DID7))
  2199. }
  2200.  
  2201. Method (_DSS, 1, NotSerialized)
  2202. {
  2203. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2204. {
  2205. Store (NSTE, CSTE)
  2206. }
  2207. }
  2208. }
  2209.  
  2210. Device (DD08)
  2211. {
  2212. Method (_ADR, 0, Serialized)
  2213. {
  2214. If (LEqual (And (0x0F00, DID8), 0x0400))
  2215. {
  2216. Store (0x08, EDPV)
  2217. Store (DID8, DIDX)
  2218. Return (And (0xFFFF, DID8))
  2219. }
  2220.  
  2221. If (LEqual (DID8, Zero))
  2222. {
  2223. Return (0x08)
  2224. }
  2225. Else
  2226. {
  2227. Return (And (0xFFFF, DID8))
  2228. }
  2229. }
  2230.  
  2231. Method (_DCS, 0, NotSerialized)
  2232. {
  2233. If (LEqual (DID8, Zero))
  2234. {
  2235. Return (0x0B)
  2236. }
  2237. Else
  2238. {
  2239. Return (CDDS (DID8))
  2240. }
  2241. }
  2242.  
  2243. Method (_DGS, 0, NotSerialized)
  2244. {
  2245. Return (NDDS (DID8))
  2246. }
  2247.  
  2248. Method (_DSS, 1, NotSerialized)
  2249. {
  2250. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2251. {
  2252. Store (NSTE, CSTE)
  2253. }
  2254. }
  2255. }
  2256.  
  2257. Device (DD1F)
  2258. {
  2259. Method (_ADR, 0, Serialized)
  2260. {
  2261. If (LEqual (EDPV, Zero))
  2262. {
  2263. Return (0x1F)
  2264. }
  2265. Else
  2266. {
  2267. Return (And (0xFFFF, DIDX))
  2268. }
  2269. }
  2270.  
  2271. Method (_DCS, 0, NotSerialized)
  2272. {
  2273. If (LEqual (EDPV, Zero))
  2274. {
  2275. Return (Zero)
  2276. }
  2277. Else
  2278. {
  2279. Return (CDDS (DIDX))
  2280. }
  2281. }
  2282.  
  2283. Method (_DGS, 0, NotSerialized)
  2284. {
  2285. Return (NDDS (DIDX))
  2286. }
  2287.  
  2288. Method (_DSS, 1, NotSerialized)
  2289. {
  2290. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2291. {
  2292. Store (NSTE, CSTE)
  2293. }
  2294. }
  2295. }
  2296.  
  2297. Method (SDDL, 1, NotSerialized)
  2298. {
  2299. Increment (NDID)
  2300. Store (And (Arg0, 0x0F0F), Local0)
  2301. Or (0x80000000, Local0, Local1)
  2302. If (LEqual (DIDL, Local0))
  2303. {
  2304. Return (Local1)
  2305. }
  2306.  
  2307. If (LEqual (DDL2, Local0))
  2308. {
  2309. Return (Local1)
  2310. }
  2311.  
  2312. If (LEqual (DDL3, Local0))
  2313. {
  2314. Return (Local1)
  2315. }
  2316.  
  2317. If (LEqual (DDL4, Local0))
  2318. {
  2319. Return (Local1)
  2320. }
  2321.  
  2322. If (LEqual (DDL5, Local0))
  2323. {
  2324. Return (Local1)
  2325. }
  2326.  
  2327. If (LEqual (DDL6, Local0))
  2328. {
  2329. Return (Local1)
  2330. }
  2331.  
  2332. If (LEqual (DDL7, Local0))
  2333. {
  2334. Return (Local1)
  2335. }
  2336.  
  2337. If (LEqual (DDL8, Local0))
  2338. {
  2339. Return (Local1)
  2340. }
  2341.  
  2342. Return (Zero)
  2343. }
  2344.  
  2345. Method (CDDS, 1, NotSerialized)
  2346. {
  2347. Store (And (Arg0, 0x0F0F), Local0)
  2348. If (LEqual (Zero, Local0))
  2349. {
  2350. Return (0x1D)
  2351. }
  2352.  
  2353. If (LEqual (CADL, Local0))
  2354. {
  2355. Return (0x1F)
  2356. }
  2357.  
  2358. If (LEqual (CAL2, Local0))
  2359. {
  2360. Return (0x1F)
  2361. }
  2362.  
  2363. If (LEqual (CAL3, Local0))
  2364. {
  2365. Return (0x1F)
  2366. }
  2367.  
  2368. If (LEqual (CAL4, Local0))
  2369. {
  2370. Return (0x1F)
  2371. }
  2372.  
  2373. If (LEqual (CAL5, Local0))
  2374. {
  2375. Return (0x1F)
  2376. }
  2377.  
  2378. If (LEqual (CAL6, Local0))
  2379. {
  2380. Return (0x1F)
  2381. }
  2382.  
  2383. If (LEqual (CAL7, Local0))
  2384. {
  2385. Return (0x1F)
  2386. }
  2387.  
  2388. If (LEqual (CAL8, Local0))
  2389. {
  2390. Return (0x1F)
  2391. }
  2392.  
  2393. Return (0x1D)
  2394. }
  2395.  
  2396. Method (NDDS, 1, NotSerialized)
  2397. {
  2398. Store (And (Arg0, 0x0F0F), Local0)
  2399. If (LEqual (Zero, Local0))
  2400. {
  2401. Return (Zero)
  2402. }
  2403.  
  2404. If (LEqual (NADL, Local0))
  2405. {
  2406. Return (One)
  2407. }
  2408.  
  2409. If (LEqual (NDL2, Local0))
  2410. {
  2411. Return (One)
  2412. }
  2413.  
  2414. If (LEqual (NDL3, Local0))
  2415. {
  2416. Return (One)
  2417. }
  2418.  
  2419. If (LEqual (NDL4, Local0))
  2420. {
  2421. Return (One)
  2422. }
  2423.  
  2424. If (LEqual (NDL5, Local0))
  2425. {
  2426. Return (One)
  2427. }
  2428.  
  2429. If (LEqual (NDL6, Local0))
  2430. {
  2431. Return (One)
  2432. }
  2433.  
  2434. If (LEqual (NDL7, Local0))
  2435. {
  2436. Return (One)
  2437. }
  2438.  
  2439. If (LEqual (NDL8, Local0))
  2440. {
  2441. Return (One)
  2442. }
  2443.  
  2444. Return (Zero)
  2445. }
  2446.  
  2447. OperationRegion (IGDP, PCI_Config, Zero, 0x0100)
  2448. Field (IGDP, AnyAcc, NoLock, Preserve)
  2449. {
  2450. GVID, 32,
  2451. Offset (0x10),
  2452. MADR, 32,
  2453. Offset (0x50),
  2454. , 1,
  2455. GIVD, 1,
  2456. , 1,
  2457. GUMA, 5,
  2458. Offset (0x52),
  2459. Offset (0x54),
  2460. , 4,
  2461. GMFN, 1,
  2462. Offset (0x58),
  2463. Offset (0x5C),
  2464. GSTM, 32,
  2465. Offset (0xE0),
  2466. GSSE, 1,
  2467. GSSB, 14,
  2468. GSES, 1,
  2469. Offset (0xE4),
  2470. ASLE, 8,
  2471. Offset (0xE8),
  2472. Offset (0xFC),
  2473. ASLS, 32
  2474. }
  2475.  
  2476. Method (GTTM, 0, Serialized)
  2477. {
  2478. If (LEqual (GVID, 0xFFFFFFFF))
  2479. {
  2480. Return (ABTR)
  2481. }
  2482. Else
  2483. {
  2484. Return (MADR)
  2485. }
  2486. }
  2487.  
  2488. OperationRegion (IGMM, SystemMemory, GTTM (), 0x3000)
  2489. Field (IGMM, AnyAcc, NoLock, Preserve)
  2490. {
  2491. Offset (0x20C8),
  2492. , 4,
  2493. DCFE, 4
  2494. }
  2495.  
  2496. OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
  2497. Field (IGDM, AnyAcc, NoLock, Preserve)
  2498. {
  2499. SIGN, 128,
  2500. SIZE, 32,
  2501. OVER, 32,
  2502. SVER, 256,
  2503. VVER, 128,
  2504. GVER, 128,
  2505. MBOX, 32,
  2506. DMOD, 32,
  2507. Offset (0x100),
  2508. DRDY, 32,
  2509. CSTS, 32,
  2510. CEVT, 32,
  2511. Offset (0x120),
  2512. DIDL, 32,
  2513. DDL2, 32,
  2514. DDL3, 32,
  2515. DDL4, 32,
  2516. DDL5, 32,
  2517. DDL6, 32,
  2518. DDL7, 32,
  2519. DDL8, 32,
  2520. CPDL, 32,
  2521. CPL2, 32,
  2522. CPL3, 32,
  2523. CPL4, 32,
  2524. CPL5, 32,
  2525. CPL6, 32,
  2526. CPL7, 32,
  2527. CPL8, 32,
  2528. CADL, 32,
  2529. CAL2, 32,
  2530. CAL3, 32,
  2531. CAL4, 32,
  2532. CAL5, 32,
  2533. CAL6, 32,
  2534. CAL7, 32,
  2535. CAL8, 32,
  2536. NADL, 32,
  2537. NDL2, 32,
  2538. NDL3, 32,
  2539. NDL4, 32,
  2540. NDL5, 32,
  2541. NDL6, 32,
  2542. NDL7, 32,
  2543. NDL8, 32,
  2544. ASLP, 32,
  2545. TIDX, 32,
  2546. CHPD, 32,
  2547. CLID, 32,
  2548. CDCK, 32,
  2549. SXSW, 32,
  2550. EVTS, 32,
  2551. CNOT, 32,
  2552. NRDY, 32,
  2553. Offset (0x200),
  2554. SCIE, 1,
  2555. GEFC, 4,
  2556. GXFC, 3,
  2557. GESF, 8,
  2558. Offset (0x204),
  2559. PARM, 32,
  2560. DSLP, 32,
  2561. Offset (0x300),
  2562. ARDY, 32,
  2563. ASLC, 32,
  2564. TCHE, 32,
  2565. ALSI, 32,
  2566. BCLP, 32,
  2567. PFIT, 32,
  2568. CBLV, 32,
  2569. BCLM, 320,
  2570. CPFM, 32,
  2571. EPFM, 32,
  2572. PLUT, 592,
  2573. PFMB, 32,
  2574. CCDV, 32,
  2575. PCFT, 32,
  2576. Offset (0x400),
  2577. GVD1, 49152,
  2578. PHED, 32,
  2579. BDDC, 2048
  2580. }
  2581.  
  2582. Name (DBTB, Package (0x15)
  2583. {
  2584. Zero,
  2585. 0x07,
  2586. 0x38,
  2587. 0x01C0,
  2588. 0x0E00,
  2589. 0x3F,
  2590. 0x01C7,
  2591. 0x0E07,
  2592. 0x01F8,
  2593. 0x0E38,
  2594. 0x0FC0,
  2595. Zero,
  2596. Zero,
  2597. Zero,
  2598. Zero,
  2599. Zero,
  2600. 0x7000,
  2601. 0x7007,
  2602. 0x7038,
  2603. 0x71C0,
  2604. 0x7E00
  2605. })
  2606. Name (CDCT, Package (0x06)
  2607. {
  2608. Package (0x01)
  2609. {
  2610. 0xA0
  2611. },
  2612.  
  2613. Package (0x01)
  2614. {
  2615. 0xC8
  2616. },
  2617.  
  2618. Package (0x01)
  2619. {
  2620. 0x010B
  2621. },
  2622.  
  2623. Package (0x01)
  2624. {
  2625. 0x0140
  2626. },
  2627.  
  2628. Package (0x01)
  2629. {
  2630. 0x0164
  2631. },
  2632.  
  2633. Package (0x01)
  2634. {
  2635. 0x0190
  2636. }
  2637. })
  2638. Name (SUCC, One)
  2639. Name (NVLD, 0x02)
  2640. Name (CRIT, 0x04)
  2641. Name (NCRT, 0x06)
  2642. Method (GSCI, 0, Serialized)
  2643. {
  2644. Method (GBDA, 0, Serialized)
  2645. {
  2646. If (LEqual (GESF, Zero))
  2647. {
  2648. Store (0x0279, PARM)
  2649. Store (Zero, GESF)
  2650. Return (SUCC)
  2651. }
  2652.  
  2653. If (LEqual (GESF, One))
  2654. {
  2655. Store (0x0240, PARM)
  2656. Store (Zero, GESF)
  2657. Return (SUCC)
  2658. }
  2659.  
  2660. If (LEqual (GESF, 0x04))
  2661. {
  2662. And (PARM, 0xEFFF0000, PARM)
  2663. And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10),
  2664. PARM)
  2665. Or (IBTT, PARM, PARM)
  2666. Store (Zero, GESF)
  2667. Return (SUCC)
  2668. }
  2669.  
  2670. If (LEqual (GESF, 0x05))
  2671. {
  2672. Store (IPSC, PARM)
  2673. Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
  2674. Add (PARM, 0x0100, PARM)
  2675. Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
  2676. Add (PARM, 0x00010000, PARM)
  2677. Or (PARM, ShiftLeft (IBLC, 0x12), PARM)
  2678. Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
  2679. Store (Zero, GESF)
  2680. Return (SUCC)
  2681. }
  2682.  
  2683. If (LEqual (GESF, 0x06))
  2684. {
  2685. Store (ITVF, PARM)
  2686. Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
  2687. Store (Zero, GESF)
  2688. Return (SUCC)
  2689. }
  2690.  
  2691. If (LEqual (GESF, 0x07))
  2692. {
  2693. Store (GIVD, PARM)
  2694. XOr (PARM, One, PARM)
  2695. Or (PARM, ShiftLeft (GMFN, One), PARM)
  2696. Or (PARM, 0x1800, PARM)
  2697. Or (PARM, ShiftLeft (IDMS, 0x11), PARM)
  2698. Or (ShiftLeft (DerefOf (Index (CDCT, DCFE)), 0x15), PARM,
  2699. PARM)
  2700. Store (One, GESF)
  2701. Return (SUCC)
  2702. }
  2703.  
  2704. If (LEqual (GESF, 0x0A))
  2705. {
  2706. Store (Zero, PARM)
  2707. If (ISSC)
  2708. {
  2709. Or (PARM, 0x03, PARM)
  2710. }
  2711.  
  2712. Store (Zero, GESF)
  2713. Return (SUCC)
  2714. }
  2715.  
  2716. Store (Zero, GESF)
  2717. Return (CRIT)
  2718. }
  2719.  
  2720. Method (SBCB, 0, Serialized)
  2721. {
  2722. If (LEqual (GESF, Zero))
  2723. {
  2724. Store (Zero, PARM)
  2725. If (LEqual (PFLV, FMBL))
  2726. {
  2727. Store (0x000F87FD, PARM)
  2728. }
  2729.  
  2730. If (LEqual (PFLV, FDTP))
  2731. {
  2732. Store (0x000F87BD, PARM)
  2733. }
  2734.  
  2735. Store (Zero, GESF)
  2736. Return (SUCC)
  2737. }
  2738.  
  2739. If (LEqual (GESF, One))
  2740. {
  2741. Store (Zero, GESF)
  2742. Store (Zero, PARM)
  2743. Return (SUCC)
  2744. }
  2745.  
  2746. If (LEqual (GESF, 0x03))
  2747. {
  2748. Store (Zero, GESF)
  2749. Store (Zero, PARM)
  2750. Return (SUCC)
  2751. }
  2752.  
  2753. If (LEqual (GESF, 0x04))
  2754. {
  2755. Store (Zero, GESF)
  2756. Store (Zero, PARM)
  2757. Return (SUCC)
  2758. }
  2759.  
  2760. If (LEqual (GESF, 0x05))
  2761. {
  2762. Store (Zero, GESF)
  2763. Store (Zero, PARM)
  2764. Return (SUCC)
  2765. }
  2766.  
  2767. If (LEqual (GESF, 0x06))
  2768. {
  2769. Store (And (PARM, 0x0F), ITVF)
  2770. Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM)
  2771. Store (Zero, GESF)
  2772. Store (Zero, PARM)
  2773. Return (SUCC)
  2774. }
  2775.  
  2776. If (LEqual (GESF, 0x07))
  2777. {
  2778. If (LEqual (PARM, Zero))
  2779. {
  2780. Store (CLID, Local0)
  2781. If (And (0x80000000, Local0))
  2782. {
  2783. And (CLID, 0x0F, CLID)
  2784. GLID (CLID)
  2785. }
  2786. }
  2787.  
  2788. Store (Zero, GESF)
  2789. Store (Zero, PARM)
  2790. Return (SUCC)
  2791. }
  2792.  
  2793. If (LEqual (GESF, 0x08))
  2794. {
  2795. Store (Zero, GESF)
  2796. Store (Zero, PARM)
  2797. Return (SUCC)
  2798. }
  2799.  
  2800. If (LEqual (GESF, 0x09))
  2801. {
  2802. And (PARM, 0xFF, IBTT)
  2803. Store (Zero, GESF)
  2804. Store (Zero, PARM)
  2805. Return (SUCC)
  2806. }
  2807.  
  2808. If (LEqual (GESF, 0x0A))
  2809. {
  2810. And (PARM, 0xFF, IPSC)
  2811. If (And (ShiftRight (PARM, 0x08), 0xFF))
  2812. {
  2813. And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
  2814. Decrement (IPAT)
  2815. }
  2816.  
  2817. And (ShiftRight (PARM, 0x12), 0x03, IBLC)
  2818. And (ShiftRight (PARM, 0x14), 0x07, IBIA)
  2819. Store (Zero, GESF)
  2820. Store (Zero, PARM)
  2821. Return (SUCC)
  2822. }
  2823.  
  2824. If (LEqual (GESF, 0x0B))
  2825. {
  2826. And (ShiftRight (PARM, One), One, IF1E)
  2827. And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
  2828. Store (Zero, GESF)
  2829. Store (Zero, PARM)
  2830. Return (SUCC)
  2831. }
  2832.  
  2833. If (LEqual (GESF, 0x10))
  2834. {
  2835. Store (Zero, GESF)
  2836. Store (Zero, PARM)
  2837. Return (SUCC)
  2838. }
  2839.  
  2840. If (LEqual (GESF, 0x11))
  2841. {
  2842. Store (ShiftLeft (LIDS, 0x08), PARM)
  2843. Add (PARM, 0x0100, PARM)
  2844. Store (Zero, GESF)
  2845. Return (SUCC)
  2846. }
  2847.  
  2848. If (LEqual (GESF, 0x12))
  2849. {
  2850. If (And (PARM, One))
  2851. {
  2852. If (LEqual (ShiftRight (PARM, One), One))
  2853. {
  2854. Store (One, ISSC)
  2855. }
  2856. Else
  2857. {
  2858. Store (Zero, GESF)
  2859. Return (CRIT)
  2860. }
  2861. }
  2862. Else
  2863. {
  2864. Store (Zero, ISSC)
  2865. }
  2866.  
  2867. Store (Zero, GESF)
  2868. Store (Zero, PARM)
  2869. Return (SUCC)
  2870. }
  2871.  
  2872. If (LEqual (GESF, 0x13))
  2873. {
  2874. Store (Zero, GESF)
  2875. Store (Zero, PARM)
  2876. Return (SUCC)
  2877. }
  2878.  
  2879. If (LEqual (GESF, 0x14))
  2880. {
  2881. And (PARM, 0x0F, PAVP)
  2882. Store (Zero, GESF)
  2883. Store (Zero, PARM)
  2884. Return (SUCC)
  2885. }
  2886.  
  2887. Store (Zero, GESF)
  2888. Return (SUCC)
  2889. }
  2890.  
  2891. If (LNotEqual (GVID, 0xFFFFFFFF))
  2892. {
  2893. If (LEqual (GEFC, 0x04))
  2894. {
  2895. Store (GBDA (), GXFC)
  2896. }
  2897.  
  2898. If (LEqual (GEFC, 0x06))
  2899. {
  2900. Store (SBCB (), GXFC)
  2901. }
  2902.  
  2903. Store (Zero, GEFC)
  2904. Store (Zero, GSSE)
  2905. Store (Zero, SCIE)
  2906. }
  2907.  
  2908. Store (One, SCIS)
  2909. Return (Zero)
  2910. }
  2911.  
  2912. Method (PDRD, 0, NotSerialized)
  2913. {
  2914. If (LNot (DRDY))
  2915. {
  2916. Sleep (ASLP)
  2917. }
  2918.  
  2919. Return (LNot (DRDY))
  2920. }
  2921.  
  2922. Method (PSTS, 0, NotSerialized)
  2923. {
  2924. If (LGreater (CSTS, 0x02))
  2925. {
  2926. Sleep (ASLP)
  2927. }
  2928.  
  2929. Return (LEqual (CSTS, 0x03))
  2930. }
  2931.  
  2932. Method (GNOT, 2, NotSerialized)
  2933. {
  2934. If (PDRD ())
  2935. {
  2936. Return (One)
  2937. }
  2938.  
  2939. Store (Arg0, CEVT)
  2940. Store (0x03, CSTS)
  2941. If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero)))
  2942. {
  2943. If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
  2944. {
  2945. Notify (PCI0, Arg1)
  2946. }
  2947. Else
  2948. {
  2949. Notify (GFX0, Arg1)
  2950. }
  2951. }
  2952.  
  2953. Notify (GFX0, 0x80)
  2954. Return (Zero)
  2955. }
  2956.  
  2957. Method (GHDS, 1, NotSerialized)
  2958. {
  2959. Store (Arg0, TIDX)
  2960. Return (GNOT (One, Zero))
  2961. }
  2962.  
  2963. Method (GLID, 1, NotSerialized)
  2964. {
  2965. Store (Arg0, CLID)
  2966. Return (GNOT (0x02, Zero))
  2967. }
  2968.  
  2969. Method (GDCK, 1, NotSerialized)
  2970. {
  2971. Store (Arg0, CDCK)
  2972. Return (GNOT (0x04, Zero))
  2973. }
  2974.  
  2975. Method (PARD, 0, NotSerialized)
  2976. {
  2977. If (LNot (ARDY))
  2978. {
  2979. Sleep (ASLP)
  2980. }
  2981.  
  2982. Return (LNot (ARDY))
  2983. }
  2984.  
  2985. Method (AINT, 2, NotSerialized)
  2986. {
  2987. If (LNot (And (TCHE, ShiftLeft (One, Arg0))))
  2988. {
  2989. Return (One)
  2990. }
  2991.  
  2992. If (PARD ())
  2993. {
  2994. Return (One)
  2995. }
  2996.  
  2997. If (LEqual (Arg0, 0x02))
  2998. {
  2999. If (CPFM)
  3000. {
  3001. And (CPFM, 0x0F, Local0)
  3002. And (EPFM, 0x0F, Local1)
  3003. If (LEqual (Local0, One))
  3004. {
  3005. If (And (Local1, 0x06))
  3006. {
  3007. Store (0x06, PFIT)
  3008. }
  3009. Else
  3010. {
  3011. If (And (Local1, 0x08))
  3012. {
  3013. Store (0x08, PFIT)
  3014. }
  3015. Else
  3016. {
  3017. Store (One, PFIT)
  3018. }
  3019. }
  3020. }
  3021.  
  3022. If (LEqual (Local0, 0x06))
  3023. {
  3024. If (And (Local1, 0x08))
  3025. {
  3026. Store (0x08, PFIT)
  3027. }
  3028. Else
  3029. {
  3030. If (And (Local1, One))
  3031. {
  3032. Store (One, PFIT)
  3033. }
  3034. Else
  3035. {
  3036. Store (0x06, PFIT)
  3037. }
  3038. }
  3039. }
  3040.  
  3041. If (LEqual (Local0, 0x08))
  3042. {
  3043. If (And (Local1, One))
  3044. {
  3045. Store (One, PFIT)
  3046. }
  3047. Else
  3048. {
  3049. If (And (Local1, 0x06))
  3050. {
  3051. Store (0x06, PFIT)
  3052. }
  3053. Else
  3054. {
  3055. Store (0x08, PFIT)
  3056. }
  3057. }
  3058. }
  3059. }
  3060. Else
  3061. {
  3062. XOr (PFIT, 0x07, PFIT)
  3063. }
  3064.  
  3065. Or (PFIT, 0x80000000, PFIT)
  3066. Store (0x04, ASLC)
  3067. }
  3068. Else
  3069. {
  3070. If (LEqual (Arg0, One))
  3071. {
  3072. Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP)
  3073. Or (BCLP, 0x80000000, BCLP)
  3074. Store (0x02, ASLC)
  3075. }
  3076. Else
  3077. {
  3078. If (LEqual (Arg0, Zero))
  3079. {
  3080. Store (Arg1, ALSI)
  3081. Store (One, ASLC)
  3082. }
  3083. Else
  3084. {
  3085. Return (One)
  3086. }
  3087. }
  3088. }
  3089.  
  3090. Store (One, ASLE)
  3091. Return (Zero)
  3092. }
  3093.  
  3094. Method (SCIP, 0, NotSerialized)
  3095. {
  3096. If (LNotEqual (OVER, Zero))
  3097. {
  3098. Return (LNot (GSMI))
  3099. }
  3100.  
  3101. Return (Zero)
  3102. }
  3103.  
  3104. Name (OPBS, 0xFFFFFF00)
  3105. Method (OPTS, 1, NotSerialized)
  3106. {
  3107. If (And (VGAF, One))
  3108. {
  3109. If (LEqual (Arg0, 0x03))
  3110. {
  3111. Store (ASLS, OPBS)
  3112. }
  3113. }
  3114. }
  3115.  
  3116. Method (OWAK, 1, NotSerialized)
  3117. {
  3118. If (And (VGAF, One))
  3119. {
  3120. If (LEqual (Arg0, 0x03))
  3121. {
  3122. Store (OPBS, ASLS)
  3123. Store (One, GSES)
  3124. }
  3125.  
  3126. Store (One, CLID)
  3127. }
  3128. }
  3129.  
  3130. Method (OGCD, 0, NotSerialized)
  3131. {
  3132. If (LEqual (CADL, Zero))
  3133. {
  3134. Store (LCDM, CSTE)
  3135. Return (Zero)
  3136. }
  3137.  
  3138. Store (OA2D (CADL), CSTE)
  3139. If (LEqual (CAL2, Zero))
  3140. {
  3141. Return (Zero)
  3142. }
  3143.  
  3144. Or (OA2D (CAL2), CSTE, CSTE)
  3145. If (LEqual (CAL3, Zero))
  3146. {
  3147. Return (Zero)
  3148. }
  3149.  
  3150. Or (OA2D (CAL3), CSTE, CSTE)
  3151. If (LEqual (CAL4, Zero))
  3152. {
  3153. Return (Zero)
  3154. }
  3155.  
  3156. Or (OA2D (CAL4), CSTE, CSTE)
  3157. If (LEqual (CAL5, Zero))
  3158. {
  3159. Return (Zero)
  3160. }
  3161.  
  3162. Or (OA2D (CAL5), CSTE, CSTE)
  3163. If (LEqual (CAL6, Zero))
  3164. {
  3165. Return (Zero)
  3166. }
  3167.  
  3168. Or (OA2D (CAL6), CSTE, CSTE)
  3169. If (LEqual (CAL7, Zero))
  3170. {
  3171. Return (Zero)
  3172. }
  3173.  
  3174. Or (OA2D (CAL7), CSTE, CSTE)
  3175. If (LEqual (CAL8, Zero))
  3176. {
  3177. Return (Zero)
  3178. }
  3179.  
  3180. Or (OA2D (CAL8), CSTE, CSTE)
  3181. Return (Zero)
  3182. }
  3183.  
  3184. Method (OGND, 0, NotSerialized)
  3185. {
  3186. If (LEqual (NADL, Zero))
  3187. {
  3188. Store (LCDM, NSTE)
  3189. Return (Zero)
  3190. }
  3191.  
  3192. Store (OA2D (NADL), NSTE)
  3193. If (LEqual (NDL2, Zero))
  3194. {
  3195. Return (Zero)
  3196. }
  3197.  
  3198. Or (OA2D (NDL2), NSTE, NSTE)
  3199. If (LEqual (NDL3, Zero))
  3200. {
  3201. Return (Zero)
  3202. }
  3203.  
  3204. Or (OA2D (NDL3), NSTE, NSTE)
  3205. If (LEqual (NDL4, Zero))
  3206. {
  3207. Return (Zero)
  3208. }
  3209.  
  3210. Or (OA2D (NDL4), NSTE, NSTE)
  3211. If (LEqual (NDL5, Zero))
  3212. {
  3213. Return (Zero)
  3214. }
  3215.  
  3216. Or (OA2D (NDL5), NSTE, NSTE)
  3217. If (LEqual (NDL6, Zero))
  3218. {
  3219. Return (Zero)
  3220. }
  3221.  
  3222. Or (OA2D (NDL6), NSTE, NSTE)
  3223. If (LEqual (NDL7, Zero))
  3224. {
  3225. Return (Zero)
  3226. }
  3227.  
  3228. Or (OA2D (NDL7), NSTE, NSTE)
  3229. If (LEqual (NDL8, Zero))
  3230. {
  3231. Return (Zero)
  3232. }
  3233.  
  3234. Or (OA2D (NDL8), NSTE, NSTE)
  3235. Return (Zero)
  3236. }
  3237.  
  3238. Method (OGCA, 0, NotSerialized)
  3239. {
  3240. SOID ()
  3241. If (LEqual (CPDL, Zero))
  3242. {
  3243. Store (LCDM, OCAD)
  3244. Return (Zero)
  3245. }
  3246.  
  3247. Store (OA2D (CPDL), OCAD)
  3248. If (LEqual (CPL2, Zero))
  3249. {
  3250. Return (Zero)
  3251. }
  3252.  
  3253. Or (OA2D (CPL2), OCAD, OCAD)
  3254. If (LEqual (CPL3, Zero))
  3255. {
  3256. Return (Zero)
  3257. }
  3258.  
  3259. Or (OA2D (CPL3), OCAD, OCAD)
  3260. If (LEqual (CPL4, Zero))
  3261. {
  3262. Return (Zero)
  3263. }
  3264.  
  3265. Or (OA2D (CPL4), OCAD, OCAD)
  3266. If (LEqual (CPL5, Zero))
  3267. {
  3268. Return (Zero)
  3269. }
  3270.  
  3271. Or (OA2D (CPL5), OCAD, OCAD)
  3272. If (LEqual (CPL6, Zero))
  3273. {
  3274. Return (Zero)
  3275. }
  3276.  
  3277. Or (OA2D (CPL6), OCAD, OCAD)
  3278. If (LEqual (CPL7, Zero))
  3279. {
  3280. Return (Zero)
  3281. }
  3282.  
  3283. Or (OA2D (CPL7), OCAD, OCAD)
  3284. If (LEqual (CPL8, Zero))
  3285. {
  3286. Return (Zero)
  3287. }
  3288.  
  3289. Or (OA2D (CPL8), OCAD, OCAD)
  3290. Return (Zero)
  3291. }
  3292.  
  3293. Method (OA2D, 1, NotSerialized)
  3294. {
  3295. Store (Zero, Local0)
  3296. If (LEqual (Arg0, LFID))
  3297. {
  3298. Or (Local0, LCDM, Local0)
  3299. }
  3300.  
  3301. If (LEqual (Arg0, CRID))
  3302. {
  3303. Or (Local0, CRTM, Local0)
  3304. }
  3305.  
  3306. If (LEqual (Arg0, TVID))
  3307. {
  3308. Or (Local0, TVOM, Local0)
  3309. }
  3310.  
  3311. If (LEqual (Arg0, HDID))
  3312. {
  3313. Or (Local0, HDMM, Local0)
  3314. }
  3315.  
  3316. If (LEqual (Arg0, DVID))
  3317. {
  3318. Or (Local0, DVIM, Local0)
  3319. }
  3320.  
  3321. If (LEqual (Arg0, DPID))
  3322. {
  3323. Or (Local0, DPOM, Local0)
  3324. }
  3325.  
  3326. Return (Local0)
  3327. }
  3328.  
  3329. Method (D2OA, 1, NotSerialized)
  3330. {
  3331. Store (Zero, Local0)
  3332. If (And (Arg0, LCDM))
  3333. {
  3334. Return (LFID)
  3335. }
  3336.  
  3337. If (And (Arg0, CRTM))
  3338. {
  3339. Return (CRID)
  3340. }
  3341.  
  3342. If (And (Arg0, TVOM))
  3343. {
  3344. Return (TVID)
  3345. }
  3346.  
  3347. If (And (Arg0, HDMM))
  3348. {
  3349. Return (HDID)
  3350. }
  3351.  
  3352. If (And (Arg0, DVIM))
  3353. {
  3354. Return (DVID)
  3355. }
  3356.  
  3357. If (And (Arg0, DPOM))
  3358. {
  3359. Return (DPID)
  3360. }
  3361.  
  3362. Return (Local0)
  3363. }
  3364.  
  3365. Name (DDID, Zero)
  3366. Method (WNDD, 1, NotSerialized)
  3367. {
  3368. Store (GDOA (Arg0), DDID)
  3369. Store (DDID, NADL)
  3370. Store (GDOA (Arg0), DDID)
  3371. Store (DDID, NDL2)
  3372. Store (GDOA (Arg0), DDID)
  3373. Store (DDID, NDL3)
  3374. Store (GDOA (Arg0), DDID)
  3375. Store (DDID, NDL4)
  3376. Store (GDOA (Arg0), DDID)
  3377. Store (DDID, NDL5)
  3378. Store (GDOA (Arg0), DDID)
  3379. Store (DDID, NDL6)
  3380. Store (GDOA (Arg0), DDID)
  3381. Store (DDID, NDL7)
  3382. Store (GDOA (Arg0), DDID)
  3383. Store (DDID, NDL8)
  3384. Store (Zero, CONT)
  3385. }
  3386.  
  3387. Name (CONT, Zero)
  3388. Method (GDOA, 1, NotSerialized)
  3389. {
  3390. While (LLess (CONT, 0x08))
  3391. {
  3392. Store (One, Local0)
  3393. ShiftLeft (Local0, CONT, Local0)
  3394. And (NSTE, Local0, Local1)
  3395. Increment (CONT)
  3396. Store (D2OA (Local1), Local1)
  3397. If (LNotEqual (Local1, Zero))
  3398. {
  3399. Return (Local1)
  3400. }
  3401. }
  3402.  
  3403. Return (Zero)
  3404. }
  3405.  
  3406. Name (LFID, 0xFFFFFFFF)
  3407. Name (CRID, 0xFFFFFFFF)
  3408. Name (TVID, 0xFFFFFFFF)
  3409. Name (DPID, 0xFFFFFFFF)
  3410. Name (HDID, 0xFFFFFFFF)
  3411. Name (DVID, 0xFFFFFFFF)
  3412. Method (GOID, 1, NotSerialized)
  3413. {
  3414. And (Arg0, 0x0F00, Local0)
  3415. If (LEqual (Local0, 0x0100))
  3416. {
  3417. Store (Arg0, CRID)
  3418. }
  3419.  
  3420. If (LEqual (Local0, 0x0200))
  3421. {
  3422. Store (Arg0, TVID)
  3423. }
  3424.  
  3425. If (LEqual (Local0, 0x0400))
  3426. {
  3427. Store (Arg0, LFID)
  3428. }
  3429. }
  3430.  
  3431. Method (SOID, 0, NotSerialized)
  3432. {
  3433. GOID (CPDL)
  3434. GOID (CPL2)
  3435. GOID (CPL3)
  3436. GOID (CPL4)
  3437. GOID (CPL5)
  3438. GOID (CPL6)
  3439. GOID (CPL7)
  3440. GOID (CPL8)
  3441. }
  3442.  
  3443. Name (DOSF, One)
  3444. Name (BCMD, Zero)
  3445. Name (BRNC, Zero)
  3446. Name (PCTG, Package (0x0B) {})
  3447. Name (NXTD, One)
  3448. Name (LCDM, 0x0808)
  3449. Name (CRTM, 0x0101)
  3450. Name (TVOM, 0x0202)
  3451. Name (HDMM, 0x0404)
  3452. Name (DVIM, 0x4040)
  3453. Name (DPOM, 0x8080)
  3454. Method (PRST, 0, NotSerialized)
  3455. {
  3456. If (LEqual (REG0, 0xFFFFFFFF))
  3457. {
  3458. Return (Zero)
  3459. }
  3460. Else
  3461. {
  3462. Return (One)
  3463. }
  3464. }
  3465.  
  3466. Method (NATK, 0, NotSerialized)
  3467. {
  3468. Return (One)
  3469. }
  3470.  
  3471. Method (D2AF, 1, NotSerialized)
  3472. {
  3473. Store (Zero, Local0)
  3474. If (And (Arg0, LCDM))
  3475. {
  3476. Or (Local0, One, Local0)
  3477. }
  3478.  
  3479. If (And (Arg0, CRTM))
  3480. {
  3481. Or (Local0, 0x02, Local0)
  3482. }
  3483.  
  3484. If (And (Arg0, TVOM))
  3485. {
  3486. Or (Local0, 0x04, Local0)
  3487. }
  3488.  
  3489. If (And (Arg0, DVIM))
  3490. {
  3491. Or (Local0, 0x08, Local0)
  3492. }
  3493.  
  3494. If (And (Arg0, HDMM))
  3495. {
  3496. Or (Local0, 0x10, Local0)
  3497. }
  3498.  
  3499. If (And (Arg0, DPOM))
  3500. {
  3501. Or (Local0, 0x20, Local0)
  3502. }
  3503.  
  3504. If (LNot (Local0))
  3505. {
  3506. Return (NXTD)
  3507. }
  3508.  
  3509. Return (Local0)
  3510. }
  3511.  
  3512. Method (GCDD, 0, NotSerialized)
  3513. {
  3514. OGCD ()
  3515. Return (CSTE)
  3516. }
  3517.  
  3518. Method (GCBL, 1, NotSerialized)
  3519. {
  3520. Store (Zero, Local0)
  3521. And (Arg0, 0x7FFFFFFF, Arg0)
  3522. While (LLess (Local0, 0x0A))
  3523. {
  3524. Store (DerefOf (Index (PCTG, Local0)), Local1)
  3525. Store (DerefOf (Index (PCTG, Add (Local0, One))), Local2)
  3526. If (LAnd (LLessEqual (Arg0, Local1), LGreater (Arg0, Local2)))
  3527. {
  3528. Break
  3529. }
  3530.  
  3531. Increment (Local0)
  3532. }
  3533.  
  3534. Return (Local0)
  3535. }
  3536.  
  3537. Method (UPBL, 0, NotSerialized)
  3538. {
  3539. If (BRNC)
  3540. {
  3541. GCDD ()
  3542. Store (And (D2AF (CSTE), One), Local0)
  3543. If (LEqual (Local0, Zero))
  3544. {
  3545. Return (Zero)
  3546. }
  3547.  
  3548. Store (CBLV, Local0)
  3549. Store (Zero, BCMD)
  3550. Notify (DD01, 0x86)
  3551. Store (0x012C, Local2)
  3552. And (Local0, 0x7FFFFFFF, Local1)
  3553. If (LGreaterEqual (Local1, DerefOf (Index (PCTG, One))))
  3554. {
  3555. Store (Zero, Local2)
  3556. Store (One, Local1)
  3557. }
  3558.  
  3559. If (LLess (MSOS (), OSW8))
  3560. {
  3561. While (LAnd (LNot (BCMD), Local2))
  3562. {
  3563. Store (CBLV, Local1)
  3564. If (LNot (And (Local1, 0x80000000)))
  3565. {
  3566. Store (Local0, Local1)
  3567. }
  3568.  
  3569. If (LEqual (Local0, Local1))
  3570. {
  3571. Sleep (0x0A)
  3572. Decrement (Local2)
  3573. Store (Zero, Local1)
  3574. }
  3575. Else
  3576. {
  3577. Store (Zero, Local2)
  3578. Store (One, Local1)
  3579. }
  3580. }
  3581. }
  3582.  
  3583. If (LAnd (LNot (BCMD), Local1))
  3584. {
  3585. If (LLess (MSOS (), OSW8))
  3586. {
  3587. Store (GCBL (CBLV), Local3)
  3588. Subtract (0x0A, Local3, Local3)
  3589. Store (Local3, LBTN)
  3590. }
  3591. }
  3592. }
  3593. Else
  3594. {
  3595. If (LLess (LBTN, 0x0F))
  3596. {
  3597. Increment (LBTN)
  3598. }
  3599. Else
  3600. {
  3601. Store (0x0F, LBTN)
  3602. }
  3603.  
  3604. ^^SBRG.EC0.STBR ()
  3605. }
  3606.  
  3607. Return (Zero)
  3608. }
  3609.  
  3610. Method (DWBL, 0, NotSerialized)
  3611. {
  3612. If (BRNC)
  3613. {
  3614. GCDD ()
  3615. Store (And (D2AF (CSTE), One), Local0)
  3616. If (LEqual (Local0, Zero))
  3617. {
  3618. Return (Zero)
  3619. }
  3620.  
  3621. Store (CBLV, Local0)
  3622. Store (Zero, BCMD)
  3623. Notify (DD01, 0x87)
  3624. Store (0x012C, Local2)
  3625. And (Local0, 0x7FFFFFFF, Local1)
  3626. If (LLessEqual (Local1, DerefOf (Index (PCTG, 0x0A))))
  3627. {
  3628. Store (Zero, Local2)
  3629. Store (One, Local1)
  3630. }
  3631.  
  3632. If (LLess (MSOS (), OSW8))
  3633. {
  3634. While (LAnd (LNot (BCMD), Local2))
  3635. {
  3636. Store (CBLV, Local1)
  3637. If (LNot (And (Local1, 0x80000000)))
  3638. {
  3639. Store (Local0, Local1)
  3640. }
  3641.  
  3642. If (LEqual (Local0, Local1))
  3643. {
  3644. Sleep (0x0A)
  3645. Decrement (Local2)
  3646. Store (Zero, Local1)
  3647. }
  3648. Else
  3649. {
  3650. Store (Zero, Local2)
  3651. Store (One, Local1)
  3652. }
  3653. }
  3654. }
  3655.  
  3656. If (LAnd (LNot (BCMD), Local1))
  3657. {
  3658. If (LLess (MSOS (), OSW8))
  3659. {
  3660. Store (GCBL (CBLV), Local3)
  3661. Subtract (0x0A, Local3, Local3)
  3662. Store (Local3, LBTN)
  3663. }
  3664. }
  3665. }
  3666. Else
  3667. {
  3668. If (LGreater (LBTN, Zero))
  3669. {
  3670. Decrement (LBTN)
  3671. }
  3672.  
  3673. If (LGreater (LBTN, 0x0F))
  3674. {
  3675. Store (0x0F, LBTN)
  3676. }
  3677.  
  3678. ^^SBRG.EC0.STBR ()
  3679. }
  3680.  
  3681. Return (Zero)
  3682. }
  3683.  
  3684. Device (ISP0)
  3685. {
  3686. Name (_ADR, 0x22B8)
  3687. Name (_DDN, "CHV ISP - 808622B8")
  3688. Name (_UID, One)
  3689. Method (_STA, 0, NotSerialized)
  3690. {
  3691. If (LAnd (LNotEqual (ISPA, Zero), LEqual (ISPD, One)))
  3692. {
  3693. Return (0x0F)
  3694. }
  3695. Else
  3696. {
  3697. Return (Zero)
  3698. }
  3699. }
  3700.  
  3701. Name (SBUF, ResourceTemplate ()
  3702. {
  3703. Memory32Fixed (ReadWrite,
  3704. 0x00000000, // Address Base
  3705. 0x00400000, // Address Length
  3706. )
  3707. })
  3708. Method (_CRS, 0, NotSerialized)
  3709. {
  3710. CreateDWordField (SBUF, 0x04, B0BA)
  3711. Store (ISPA, B0BA)
  3712. Return (SBUF)
  3713. }
  3714.  
  3715. Method (_SRS, 1, NotSerialized)
  3716. {
  3717. }
  3718.  
  3719. Method (_DIS, 0, NotSerialized)
  3720. {
  3721. }
  3722.  
  3723. Method (_DSM, 4, NotSerialized)
  3724. {
  3725. If (LEqual (Arg0, One))
  3726. {
  3727. Return (One)
  3728. }
  3729. Else
  3730. {
  3731. If (LEqual (Arg0, 0x02))
  3732. {
  3733. Return (0x02)
  3734. }
  3735. Else
  3736. {
  3737. Return (0x0F)
  3738. }
  3739. }
  3740. }
  3741. }
  3742.  
  3743. OperationRegion (VSID, PCI_Config, Zero, 0x04)
  3744. Field (VSID, ByteAcc, NoLock, Preserve)
  3745. {
  3746. REG0, 32
  3747. }
  3748. }
  3749.  
  3750. Device (D004)
  3751. {
  3752. Name (_ADR, 0x00030000)
  3753. }
  3754.  
  3755. Device (D005)
  3756. {
  3757. Name (_ADR, 0x000A0000)
  3758. }
  3759.  
  3760. Device (D006)
  3761. {
  3762. Name (_ADR, 0x000B0000)
  3763. }
  3764.  
  3765. Device (D007)
  3766. {
  3767. Name (_ADR, 0x00100000)
  3768. }
  3769.  
  3770. Device (D008)
  3771. {
  3772. Name (_ADR, 0x00110000)
  3773. }
  3774.  
  3775. Device (D009)
  3776. {
  3777. Name (_ADR, 0x00120000)
  3778. }
  3779.  
  3780. Device (XHC1)
  3781. {
  3782. Name (_ADR, 0x00140000)
  3783. }
  3784.  
  3785. Device (D00B)
  3786. {
  3787. Name (_ADR, 0x00150000)
  3788. }
  3789.  
  3790. Device (XHC2)
  3791. {
  3792. Name (_ADR, 0x00160000)
  3793. }
  3794.  
  3795. Device (D00D)
  3796. {
  3797. Name (_ADR, 0x00180000)
  3798. }
  3799.  
  3800. Device (D00E)
  3801. {
  3802. Name (_ADR, 0x00180002)
  3803. }
  3804.  
  3805. Device (D00F)
  3806. {
  3807. Name (_ADR, 0x00180003)
  3808. }
  3809.  
  3810. Device (D010)
  3811. {
  3812. Name (_ADR, 0x00180001)
  3813. }
  3814.  
  3815. Device (D011)
  3816. {
  3817. Name (_ADR, 0x001A0000)
  3818. }
  3819.  
  3820. Device (HDEF)
  3821. {
  3822. Name (_ADR, 0x001B0000)
  3823. }
  3824.  
  3825. Device (D013)
  3826. {
  3827. Name (_ADR, 0x001E0000)
  3828. }
  3829.  
  3830. Device (D014)
  3831. {
  3832. Name (_ADR, 0x001E0003)
  3833. }
  3834.  
  3835. Device (D015)
  3836. {
  3837. Name (_ADR, 0x001E0001)
  3838. }
  3839.  
  3840. Device (D016)
  3841. {
  3842. Name (_ADR, 0x001E0002)
  3843. }
  3844.  
  3845. Device (SBUS)
  3846. {
  3847. Name (_ADR, 0x001F0003)
  3848. OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
  3849. Field (SMBP, DWordAcc, NoLock, Preserve)
  3850. {
  3851. , 2,
  3852. I2CE, 1
  3853. }
  3854.  
  3855. OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
  3856. Field (SMPB, DWordAcc, NoLock, Preserve)
  3857. {
  3858. , 5,
  3859. SBAR, 11
  3860. }
  3861.  
  3862. OperationRegion (SMBI, SystemIO, ShiftLeft (SBAR, 0x05), 0x10)
  3863. Field (SMBI, ByteAcc, NoLock, Preserve)
  3864. {
  3865. HSTS, 8,
  3866. Offset (0x02),
  3867. HCON, 8,
  3868. HCOM, 8,
  3869. TXSA, 8,
  3870. DAT0, 8,
  3871. DAT1, 8,
  3872. HBDR, 8,
  3873. PECR, 8,
  3874. RXSA, 8,
  3875. SDAT, 16
  3876. }
  3877.  
  3878. Method (SSXB, 2, Serialized)
  3879. {
  3880. If (STRT ())
  3881. {
  3882. Return (Zero)
  3883. }
  3884.  
  3885. Store (Zero, I2CE)
  3886. Store (0xBF, HSTS)
  3887. Store (Arg0, TXSA)
  3888. Store (Arg1, HCOM)
  3889. Store (0x48, HCON)
  3890. If (COMP ())
  3891. {
  3892. Or (HSTS, 0xFF, HSTS)
  3893. Return (One)
  3894. }
  3895.  
  3896. Return (Zero)
  3897. }
  3898.  
  3899. Method (SRXB, 1, Serialized)
  3900. {
  3901. If (STRT ())
  3902. {
  3903. Return (0xFFFF)
  3904. }
  3905.  
  3906. Store (Zero, I2CE)
  3907. Store (0xBF, HSTS)
  3908. Store (Or (Arg0, One), TXSA)
  3909. Store (0x44, HCON)
  3910. If (COMP ())
  3911. {
  3912. Or (HSTS, 0xFF, HSTS)
  3913. Return (DAT0)
  3914. }
  3915.  
  3916. Return (0xFFFF)
  3917. }
  3918.  
  3919. Method (SWRB, 3, Serialized)
  3920. {
  3921. If (STRT ())
  3922. {
  3923. Return (Zero)
  3924. }
  3925.  
  3926. Store (Zero, I2CE)
  3927. Store (0xBF, HSTS)
  3928. Store (Arg0, TXSA)
  3929. Store (Arg1, HCOM)
  3930. Store (Arg2, DAT0)
  3931. Store (0x48, HCON)
  3932. If (COMP ())
  3933. {
  3934. Or (HSTS, 0xFF, HSTS)
  3935. Return (One)
  3936. }
  3937.  
  3938. Return (Zero)
  3939. }
  3940.  
  3941. Method (SRDB, 2, Serialized)
  3942. {
  3943. If (STRT ())
  3944. {
  3945. Return (0xFFFF)
  3946. }
  3947.  
  3948. Store (Zero, I2CE)
  3949. Store (0xBF, HSTS)
  3950. Store (Or (Arg0, One), TXSA)
  3951. Store (Arg1, HCOM)
  3952. Store (0x48, HCON)
  3953. If (COMP ())
  3954. {
  3955. Or (HSTS, 0xFF, HSTS)
  3956. Return (DAT0)
  3957. }
  3958.  
  3959. Return (0xFFFF)
  3960. }
  3961.  
  3962. Method (SWRW, 3, Serialized)
  3963. {
  3964. If (STRT ())
  3965. {
  3966. Return (Zero)
  3967. }
  3968.  
  3969. Store (Zero, I2CE)
  3970. Store (0xBF, HSTS)
  3971. Store (Arg0, TXSA)
  3972. Store (Arg1, HCOM)
  3973. And (Arg2, 0xFF, DAT1)
  3974. And (ShiftRight (Arg2, 0x08), 0xFF, DAT0)
  3975. Store (0x4C, HCON)
  3976. If (COMP ())
  3977. {
  3978. Or (HSTS, 0xFF, HSTS)
  3979. Return (One)
  3980. }
  3981.  
  3982. Return (Zero)
  3983. }
  3984.  
  3985. Method (SRDW, 2, Serialized)
  3986. {
  3987. If (STRT ())
  3988. {
  3989. Return (0xFFFF)
  3990. }
  3991.  
  3992. Store (Zero, I2CE)
  3993. Store (0xBF, HSTS)
  3994. Store (Or (Arg0, One), TXSA)
  3995. Store (Arg1, HCOM)
  3996. Store (0x4C, HCON)
  3997. If (COMP ())
  3998. {
  3999. Or (HSTS, 0xFF, HSTS)
  4000. Return (Or (ShiftLeft (DAT0, 0x08), DAT1))
  4001. }
  4002.  
  4003. Return (0xFFFFFFFF)
  4004. }
  4005.  
  4006. Method (SBLW, 4, Serialized)
  4007. {
  4008. If (STRT ())
  4009. {
  4010. Return (Zero)
  4011. }
  4012.  
  4013. Store (Arg3, I2CE)
  4014. Store (0xBF, HSTS)
  4015. Store (Arg0, TXSA)
  4016. Store (Arg1, HCOM)
  4017. Store (SizeOf (Arg2), DAT0)
  4018. Store (Zero, Local1)
  4019. Store (DerefOf (Index (Arg2, Zero)), HBDR)
  4020. Store (0x54, HCON)
  4021. While (LGreater (SizeOf (Arg2), Local1))
  4022. {
  4023. Store (0x0FA0, Local0)
  4024. While (LAnd (LNot (And (HSTS, 0x80)), Local0))
  4025. {
  4026. Decrement (Local0)
  4027. Stall (0x32)
  4028. }
  4029.  
  4030. If (LNot (Local0))
  4031. {
  4032. KILL ()
  4033. Return (Zero)
  4034. }
  4035.  
  4036. Store (0x80, HSTS)
  4037. Increment (Local1)
  4038. If (LGreater (SizeOf (Arg2), Local1))
  4039. {
  4040. Store (DerefOf (Index (Arg2, Local1)), HBDR)
  4041. }
  4042. }
  4043.  
  4044. If (COMP ())
  4045. {
  4046. Or (HSTS, 0xFF, HSTS)
  4047. Return (One)
  4048. }
  4049.  
  4050. Return (Zero)
  4051. }
  4052.  
  4053. Method (SBLR, 3, Serialized)
  4054. {
  4055. Name (TBUF, Buffer (0x0100) {})
  4056. If (STRT ())
  4057. {
  4058. Return (Zero)
  4059. }
  4060.  
  4061. Store (Arg2, I2CE)
  4062. Store (0xBF, HSTS)
  4063. Store (Or (Arg0, One), TXSA)
  4064. Store (Arg1, HCOM)
  4065. Store (0x54, HCON)
  4066. Store (0x0FA0, Local0)
  4067. While (LAnd (LNot (And (HSTS, 0x80)), Local0))
  4068. {
  4069. Decrement (Local0)
  4070. Stall (0x32)
  4071. }
  4072.  
  4073. If (LNot (Local0))
  4074. {
  4075. KILL ()
  4076. Return (Zero)
  4077. }
  4078.  
  4079. Store (DAT0, Index (TBUF, Zero))
  4080. Store (0x80, HSTS)
  4081. Store (One, Local1)
  4082. While (LLess (Local1, DerefOf (Index (TBUF, Zero))))
  4083. {
  4084. Store (0x0FA0, Local0)
  4085. While (LAnd (LNot (And (HSTS, 0x80)), Local0))
  4086. {
  4087. Decrement (Local0)
  4088. Stall (0x32)
  4089. }
  4090.  
  4091. If (LNot (Local0))
  4092. {
  4093. KILL ()
  4094. Return (Zero)
  4095. }
  4096.  
  4097. Store (HBDR, Index (TBUF, Local1))
  4098. Store (0x80, HSTS)
  4099. Increment (Local1)
  4100. }
  4101.  
  4102. If (COMP ())
  4103. {
  4104. Or (HSTS, 0xFF, HSTS)
  4105. Return (TBUF)
  4106. }
  4107.  
  4108. Return (Zero)
  4109. }
  4110.  
  4111. Method (STRT, 0, Serialized)
  4112. {
  4113. Store (0xC8, Local0)
  4114. While (Local0)
  4115. {
  4116. If (And (HSTS, 0x40))
  4117. {
  4118. Decrement (Local0)
  4119. Sleep (One)
  4120. If (LEqual (Local0, Zero))
  4121. {
  4122. Return (One)
  4123. }
  4124. }
  4125. Else
  4126. {
  4127. Store (Zero, Local0)
  4128. }
  4129. }
  4130.  
  4131. Store (0x0FA0, Local0)
  4132. While (Local0)
  4133. {
  4134. If (And (HSTS, One))
  4135. {
  4136. Decrement (Local0)
  4137. Stall (0x32)
  4138. If (LEqual (Local0, Zero))
  4139. {
  4140. KILL ()
  4141. }
  4142. }
  4143. Else
  4144. {
  4145. Return (Zero)
  4146. }
  4147. }
  4148.  
  4149. Return (One)
  4150. }
  4151.  
  4152. Method (COMP, 0, Serialized)
  4153. {
  4154. Store (0x0FA0, Local0)
  4155. While (Local0)
  4156. {
  4157. If (And (HSTS, 0x02))
  4158. {
  4159. Return (One)
  4160. }
  4161. Else
  4162. {
  4163. Decrement (Local0)
  4164. Stall (0x32)
  4165. If (LEqual (Local0, Zero))
  4166. {
  4167. KILL ()
  4168. }
  4169. }
  4170. }
  4171.  
  4172. Return (Zero)
  4173. }
  4174.  
  4175. Method (KILL, 0, Serialized)
  4176. {
  4177. Or (HCON, 0x02, HCON)
  4178. Or (HSTS, 0xFF, HSTS)
  4179. }
  4180. }
  4181.  
  4182. Device (SBRG)
  4183. {
  4184. Name (_ADR, 0x001F0000)
  4185. Scope (\_SB)
  4186. {
  4187. OperationRegion (ILBR, SystemMemory, IBAS, 0x8C)
  4188. Field (ILBR, AnyAcc, NoLock, Preserve)
  4189. {
  4190. Offset (0x08),
  4191. PARC, 8,
  4192. PBRC, 8,
  4193. PCRC, 8,
  4194. PDRC, 8,
  4195. PERC, 8,
  4196. PFRC, 8,
  4197. PGRC, 8,
  4198. PHRC, 8,
  4199. Offset (0x14),
  4200. ULKM, 8,
  4201. Offset (0x88),
  4202. , 4,
  4203. UI4E, 1
  4204. }
  4205.  
  4206. Device (LNKA)
  4207. {
  4208. Name (_HID, EisaId ("PNP0C0F"))
  4209. Name (_UID, One)
  4210. Method (_DIS, 0, Serialized)
  4211. {
  4212. Or (PARC, 0x80, PARC)
  4213. }
  4214.  
  4215. Method (_PRS, 0, Serialized)
  4216. {
  4217. Return (PRSA)
  4218. }
  4219.  
  4220. Method (_CRS, 0, Serialized)
  4221. {
  4222. Name (RTLA, ResourceTemplate ()
  4223. {
  4224. IRQ (Level, ActiveLow, Shared, )
  4225. {}
  4226. })
  4227. CreateWordField (RTLA, One, IRQ0)
  4228. Store (Zero, IRQ0)
  4229. ShiftLeft (One, And (PARC, 0x0F), IRQ0)
  4230. Return (RTLA)
  4231. }
  4232.  
  4233. Method (_SRS, 1, Serialized)
  4234. {
  4235. CreateWordField (Arg0, One, IRQ0)
  4236. FindSetRightBit (IRQ0, Local0)
  4237. Decrement (Local0)
  4238. Store (Local0, PARC)
  4239. }
  4240.  
  4241. Method (_STA, 0, Serialized)
  4242. {
  4243. If (And (PARC, 0x80))
  4244. {
  4245. Return (0x09)
  4246. }
  4247. Else
  4248. {
  4249. Return (0x0B)
  4250. }
  4251. }
  4252. }
  4253.  
  4254. Device (LNKB)
  4255. {
  4256. Name (_HID, EisaId ("PNP0C0F"))
  4257. Name (_UID, 0x02)
  4258. Method (_DIS, 0, Serialized)
  4259. {
  4260. Or (PBRC, 0x80, PBRC)
  4261. }
  4262.  
  4263. Method (_PRS, 0, Serialized)
  4264. {
  4265. Return (PRSB)
  4266. }
  4267.  
  4268. Method (_CRS, 0, Serialized)
  4269. {
  4270. Name (RTLB, ResourceTemplate ()
  4271. {
  4272. IRQ (Level, ActiveLow, Shared, )
  4273. {}
  4274. })
  4275. CreateWordField (RTLB, One, IRQ0)
  4276. Store (Zero, IRQ0)
  4277. ShiftLeft (One, And (PBRC, 0x0F), IRQ0)
  4278. Return (RTLB)
  4279. }
  4280.  
  4281. Method (_SRS, 1, Serialized)
  4282. {
  4283. CreateWordField (Arg0, One, IRQ0)
  4284. FindSetRightBit (IRQ0, Local0)
  4285. Decrement (Local0)
  4286. Store (Local0, PBRC)
  4287. }
  4288.  
  4289. Method (_STA, 0, Serialized)
  4290. {
  4291. If (And (PBRC, 0x80))
  4292. {
  4293. Return (0x09)
  4294. }
  4295. Else
  4296. {
  4297. Return (0x0B)
  4298. }
  4299. }
  4300. }
  4301.  
  4302. Device (LNKC)
  4303. {
  4304. Name (_HID, EisaId ("PNP0C0F"))
  4305. Name (_UID, 0x03)
  4306. Method (_DIS, 0, Serialized)
  4307. {
  4308. Or (PCRC, 0x80, PCRC)
  4309. }
  4310.  
  4311. Method (_PRS, 0, Serialized)
  4312. {
  4313. Return (PRSC)
  4314. }
  4315.  
  4316. Method (_CRS, 0, Serialized)
  4317. {
  4318. Name (RTLC, ResourceTemplate ()
  4319. {
  4320. IRQ (Level, ActiveLow, Shared, )
  4321. {}
  4322. })
  4323. CreateWordField (RTLC, One, IRQ0)
  4324. Store (Zero, IRQ0)
  4325. ShiftLeft (One, And (PCRC, 0x0F), IRQ0)
  4326. Return (RTLC)
  4327. }
  4328.  
  4329. Method (_SRS, 1, Serialized)
  4330. {
  4331. CreateWordField (Arg0, One, IRQ0)
  4332. FindSetRightBit (IRQ0, Local0)
  4333. Decrement (Local0)
  4334. Store (Local0, PCRC)
  4335. }
  4336.  
  4337. Method (_STA, 0, Serialized)
  4338. {
  4339. If (And (PCRC, 0x80))
  4340. {
  4341. Return (0x09)
  4342. }
  4343. Else
  4344. {
  4345. Return (0x0B)
  4346. }
  4347. }
  4348. }
  4349.  
  4350. Device (LNKD)
  4351. {
  4352. Name (_HID, EisaId ("PNP0C0F"))
  4353. Name (_UID, 0x04)
  4354. Method (_DIS, 0, Serialized)
  4355. {
  4356. Or (PDRC, 0x80, PDRC)
  4357. }
  4358.  
  4359. Method (_PRS, 0, Serialized)
  4360. {
  4361. Return (PRSD)
  4362. }
  4363.  
  4364. Method (_CRS, 0, Serialized)
  4365. {
  4366. Name (RTLD, ResourceTemplate ()
  4367. {
  4368. IRQ (Level, ActiveLow, Shared, )
  4369. {}
  4370. })
  4371. CreateWordField (RTLD, One, IRQ0)
  4372. Store (Zero, IRQ0)
  4373. ShiftLeft (One, And (PDRC, 0x0F), IRQ0)
  4374. Return (RTLD)
  4375. }
  4376.  
  4377. Method (_SRS, 1, Serialized)
  4378. {
  4379. CreateWordField (Arg0, One, IRQ0)
  4380. FindSetRightBit (IRQ0, Local0)
  4381. Decrement (Local0)
  4382. Store (Local0, PDRC)
  4383. }
  4384.  
  4385. Method (_STA, 0, Serialized)
  4386. {
  4387. If (And (PDRC, 0x80))
  4388. {
  4389. Return (0x09)
  4390. }
  4391. Else
  4392. {
  4393. Return (0x0B)
  4394. }
  4395. }
  4396. }
  4397.  
  4398. Device (LNKE)
  4399. {
  4400. Name (_HID, EisaId ("PNP0C0F"))
  4401. Name (_UID, 0x05)
  4402. Method (_DIS, 0, Serialized)
  4403. {
  4404. Or (PERC, 0x80, PERC)
  4405. }
  4406.  
  4407. Method (_PRS, 0, Serialized)
  4408. {
  4409. Return (PRSE)
  4410. }
  4411.  
  4412. Method (_CRS, 0, Serialized)
  4413. {
  4414. Name (RTLE, ResourceTemplate ()
  4415. {
  4416. IRQ (Level, ActiveLow, Shared, )
  4417. {}
  4418. })
  4419. CreateWordField (RTLE, One, IRQ0)
  4420. Store (Zero, IRQ0)
  4421. ShiftLeft (One, And (PERC, 0x0F), IRQ0)
  4422. Return (RTLE)
  4423. }
  4424.  
  4425. Method (_SRS, 1, Serialized)
  4426. {
  4427. CreateWordField (Arg0, One, IRQ0)
  4428. FindSetRightBit (IRQ0, Local0)
  4429. Decrement (Local0)
  4430. Store (Local0, PERC)
  4431. }
  4432.  
  4433. Method (_STA, 0, Serialized)
  4434. {
  4435. If (And (PERC, 0x80))
  4436. {
  4437. Return (0x09)
  4438. }
  4439. Else
  4440. {
  4441. Return (0x0B)
  4442. }
  4443. }
  4444. }
  4445.  
  4446. Device (LNKF)
  4447. {
  4448. Name (_HID, EisaId ("PNP0C0F"))
  4449. Name (_UID, 0x06)
  4450. Method (_DIS, 0, Serialized)
  4451. {
  4452. Or (PFRC, 0x80, PFRC)
  4453. }
  4454.  
  4455. Method (_PRS, 0, Serialized)
  4456. {
  4457. Return (PRSF)
  4458. }
  4459.  
  4460. Method (_CRS, 0, Serialized)
  4461. {
  4462. Name (RTLF, ResourceTemplate ()
  4463. {
  4464. IRQ (Level, ActiveLow, Shared, )
  4465. {}
  4466. })
  4467. CreateWordField (RTLF, One, IRQ0)
  4468. Store (Zero, IRQ0)
  4469. ShiftLeft (One, And (PFRC, 0x0F), IRQ0)
  4470. Return (RTLF)
  4471. }
  4472.  
  4473. Method (_SRS, 1, Serialized)
  4474. {
  4475. CreateWordField (Arg0, One, IRQ0)
  4476. FindSetRightBit (IRQ0, Local0)
  4477. Decrement (Local0)
  4478. Store (Local0, PFRC)
  4479. }
  4480.  
  4481. Method (_STA, 0, Serialized)
  4482. {
  4483. If (And (PFRC, 0x80))
  4484. {
  4485. Return (0x09)
  4486. }
  4487. Else
  4488. {
  4489. Return (0x0B)
  4490. }
  4491. }
  4492. }
  4493.  
  4494. Device (LNKG)
  4495. {
  4496. Name (_HID, EisaId ("PNP0C0F"))
  4497. Name (_UID, 0x07)
  4498. Method (_DIS, 0, Serialized)
  4499. {
  4500. Or (PGRC, 0x80, PGRC)
  4501. }
  4502.  
  4503. Method (_PRS, 0, Serialized)
  4504. {
  4505. Return (PRSG)
  4506. }
  4507.  
  4508. Method (_CRS, 0, Serialized)
  4509. {
  4510. Name (RTLG, ResourceTemplate ()
  4511. {
  4512. IRQ (Level, ActiveLow, Shared, )
  4513. {}
  4514. })
  4515. CreateWordField (RTLG, One, IRQ0)
  4516. Store (Zero, IRQ0)
  4517. ShiftLeft (One, And (PGRC, 0x0F), IRQ0)
  4518. Return (RTLG)
  4519. }
  4520.  
  4521. Method (_SRS, 1, Serialized)
  4522. {
  4523. CreateWordField (Arg0, One, IRQ0)
  4524. FindSetRightBit (IRQ0, Local0)
  4525. Decrement (Local0)
  4526. Store (Local0, PGRC)
  4527. }
  4528.  
  4529. Method (_STA, 0, Serialized)
  4530. {
  4531. If (And (PGRC, 0x80))
  4532. {
  4533. Return (0x09)
  4534. }
  4535. Else
  4536. {
  4537. Return (0x0B)
  4538. }
  4539. }
  4540. }
  4541.  
  4542. Device (LNKH)
  4543. {
  4544. Name (_HID, EisaId ("PNP0C0F"))
  4545. Name (_UID, 0x08)
  4546. Method (_DIS, 0, Serialized)
  4547. {
  4548. Or (PHRC, 0x80, PHRC)
  4549. }
  4550.  
  4551. Method (_PRS, 0, Serialized)
  4552. {
  4553. Return (PRSH)
  4554. }
  4555.  
  4556. Method (_CRS, 0, Serialized)
  4557. {
  4558. Name (RTLH, ResourceTemplate ()
  4559. {
  4560. IRQ (Level, ActiveLow, Shared, )
  4561. {}
  4562. })
  4563. CreateWordField (RTLH, One, IRQ0)
  4564. Store (Zero, IRQ0)
  4565. ShiftLeft (One, And (PHRC, 0x0F), IRQ0)
  4566. Return (RTLH)
  4567. }
  4568.  
  4569. Method (_SRS, 1, Serialized)
  4570. {
  4571. CreateWordField (Arg0, One, IRQ0)
  4572. FindSetRightBit (IRQ0, Local0)
  4573. Decrement (Local0)
  4574. Store (Local0, PHRC)
  4575. }
  4576.  
  4577. Method (_STA, 0, Serialized)
  4578. {
  4579. If (And (PHRC, 0x80))
  4580. {
  4581. Return (0x09)
  4582. }
  4583. Else
  4584. {
  4585. Return (0x0B)
  4586. }
  4587. }
  4588. }
  4589. }
  4590.  
  4591. OperationRegion (LPC0, PCI_Config, Zero, 0xC0)
  4592. Field (LPC0, AnyAcc, NoLock, Preserve)
  4593. {
  4594. Offset (0x08),
  4595. SRID, 8,
  4596. Offset (0x80),
  4597. C1EN, 1,
  4598. Offset (0x84)
  4599. }
  4600.  
  4601. Device (FWHD)
  4602. {
  4603. Name (_HID, EisaId ("INT0800"))
  4604. Name (_CRS, ResourceTemplate ()
  4605. {
  4606. Memory32Fixed (ReadOnly,
  4607. 0xFF000000, // Address Base
  4608. 0x01000000, // Address Length
  4609. )
  4610. })
  4611. }
  4612.  
  4613. Device (IPIC)
  4614. {
  4615. Name (_HID, EisaId ("PNP0000"))
  4616. Name (_CRS, ResourceTemplate ()
  4617. {
  4618. IO (Decode16,
  4619. 0x0020, // Range Minimum
  4620. 0x0020, // Range Maximum
  4621. 0x01, // Alignment
  4622. 0x02, // Length
  4623. )
  4624. IO (Decode16,
  4625. 0x0024, // Range Minimum
  4626. 0x0024, // Range Maximum
  4627. 0x01, // Alignment
  4628. 0x02, // Length
  4629. )
  4630. IO (Decode16,
  4631. 0x0028, // Range Minimum
  4632. 0x0028, // Range Maximum
  4633. 0x01, // Alignment
  4634. 0x02, // Length
  4635. )
  4636. IO (Decode16,
  4637. 0x002C, // Range Minimum
  4638. 0x002C, // Range Maximum
  4639. 0x01, // Alignment
  4640. 0x02, // Length
  4641. )
  4642. IO (Decode16,
  4643. 0x0030, // Range Minimum
  4644. 0x0030, // Range Maximum
  4645. 0x01, // Alignment
  4646. 0x02, // Length
  4647. )
  4648. IO (Decode16,
  4649. 0x0034, // Range Minimum
  4650. 0x0034, // Range Maximum
  4651. 0x01, // Alignment
  4652. 0x02, // Length
  4653. )
  4654. IO (Decode16,
  4655. 0x0038, // Range Minimum
  4656. 0x0038, // Range Maximum
  4657. 0x01, // Alignment
  4658. 0x02, // Length
  4659. )
  4660. IO (Decode16,
  4661. 0x003C, // Range Minimum
  4662. 0x003C, // Range Maximum
  4663. 0x01, // Alignment
  4664. 0x02, // Length
  4665. )
  4666. IO (Decode16,
  4667. 0x00A0, // Range Minimum
  4668. 0x00A0, // Range Maximum
  4669. 0x01, // Alignment
  4670. 0x02, // Length
  4671. )
  4672. IO (Decode16,
  4673. 0x00A4, // Range Minimum
  4674. 0x00A4, // Range Maximum
  4675. 0x01, // Alignment
  4676. 0x02, // Length
  4677. )
  4678. IO (Decode16,
  4679. 0x00A8, // Range Minimum
  4680. 0x00A8, // Range Maximum
  4681. 0x01, // Alignment
  4682. 0x02, // Length
  4683. )
  4684. IO (Decode16,
  4685. 0x00AC, // Range Minimum
  4686. 0x00AC, // Range Maximum
  4687. 0x01, // Alignment
  4688. 0x02, // Length
  4689. )
  4690. IO (Decode16,
  4691. 0x00B0, // Range Minimum
  4692. 0x00B0, // Range Maximum
  4693. 0x01, // Alignment
  4694. 0x02, // Length
  4695. )
  4696. IO (Decode16,
  4697. 0x00B4, // Range Minimum
  4698. 0x00B4, // Range Maximum
  4699. 0x01, // Alignment
  4700. 0x02, // Length
  4701. )
  4702. IO (Decode16,
  4703. 0x00B8, // Range Minimum
  4704. 0x00B8, // Range Maximum
  4705. 0x01, // Alignment
  4706. 0x02, // Length
  4707. )
  4708. IO (Decode16,
  4709. 0x00BC, // Range Minimum
  4710. 0x00BC, // Range Maximum
  4711. 0x01, // Alignment
  4712. 0x02, // Length
  4713. )
  4714. IO (Decode16,
  4715. 0x04D0, // Range Minimum
  4716. 0x04D0, // Range Maximum
  4717. 0x01, // Alignment
  4718. 0x02, // Length
  4719. )
  4720. IRQNoFlags ()
  4721. {2}
  4722. })
  4723. }
  4724.  
  4725. Device (LDRC)
  4726. {
  4727. Name (_HID, EisaId ("PNP0C02"))
  4728. Name (_UID, 0x02)
  4729. Name (_CRS, ResourceTemplate ()
  4730. {
  4731. IO (Decode16,
  4732. 0x004E, // Range Minimum
  4733. 0x004E, // Range Maximum
  4734. 0x01, // Alignment
  4735. 0x02, // Length
  4736. )
  4737. IO (Decode16,
  4738. 0x0061, // Range Minimum
  4739. 0x0061, // Range Maximum
  4740. 0x01, // Alignment
  4741. 0x01, // Length
  4742. )
  4743. IO (Decode16,
  4744. 0x0063, // Range Minimum
  4745. 0x0063, // Range Maximum
  4746. 0x01, // Alignment
  4747. 0x01, // Length
  4748. )
  4749. IO (Decode16,
  4750. 0x0065, // Range Minimum
  4751. 0x0065, // Range Maximum
  4752. 0x01, // Alignment
  4753. 0x01, // Length
  4754. )
  4755. IO (Decode16,
  4756. 0x0067, // Range Minimum
  4757. 0x0067, // Range Maximum
  4758. 0x01, // Alignment
  4759. 0x01, // Length
  4760. )
  4761. IO (Decode16,
  4762. 0x0070, // Range Minimum
  4763. 0x0070, // Range Maximum
  4764. 0x01, // Alignment
  4765. 0x01, // Length
  4766. )
  4767. IO (Decode16,
  4768. 0x0080, // Range Minimum
  4769. 0x0080, // Range Maximum
  4770. 0x01, // Alignment
  4771. 0x10, // Length
  4772. )
  4773. IO (Decode16,
  4774. 0x0092, // Range Minimum
  4775. 0x0092, // Range Maximum
  4776. 0x01, // Alignment
  4777. 0x01, // Length
  4778. )
  4779. IO (Decode16,
  4780. 0x00B2, // Range Minimum
  4781. 0x00B2, // Range Maximum
  4782. 0x01, // Alignment
  4783. 0x02, // Length
  4784. )
  4785. IO (Decode16,
  4786. 0x0680, // Range Minimum
  4787. 0x0680, // Range Maximum
  4788. 0x01, // Alignment
  4789. 0x20, // Length
  4790. )
  4791. IO (Decode16,
  4792. 0x0400, // Range Minimum
  4793. 0x0400, // Range Maximum
  4794. 0x01, // Alignment
  4795. 0x80, // Length
  4796. )
  4797. IO (Decode16,
  4798. 0x0500, // Range Minimum
  4799. 0x0500, // Range Maximum
  4800. 0x01, // Alignment
  4801. 0xFF, // Length
  4802. )
  4803. })
  4804. }
  4805.  
  4806. Device (TIMR)
  4807. {
  4808. Name (_HID, EisaId ("PNP0100"))
  4809. Name (_CRS, ResourceTemplate ()
  4810. {
  4811. IO (Decode16,
  4812. 0x0040, // Range Minimum
  4813. 0x0040, // Range Maximum
  4814. 0x01, // Alignment
  4815. 0x04, // Length
  4816. )
  4817. IO (Decode16,
  4818. 0x0050, // Range Minimum
  4819. 0x0050, // Range Maximum
  4820. 0x10, // Alignment
  4821. 0x04, // Length
  4822. )
  4823. IRQNoFlags ()
  4824. {0}
  4825. })
  4826. }
  4827. }
  4828.  
  4829. Device (RP01)
  4830. {
  4831. Name (_ADR, 0x001C0000)
  4832. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4833. Field (PXCS, AnyAcc, NoLock, Preserve)
  4834. {
  4835. Offset (0x10),
  4836. L0SE, 1,
  4837. , 3,
  4838. LDIS, 1,
  4839. Offset (0x11),
  4840. Offset (0x12),
  4841. , 13,
  4842. LASX, 1,
  4843. Offset (0x1A),
  4844. ABPX, 1,
  4845. , 2,
  4846. PDCX, 1,
  4847. , 2,
  4848. PDSX, 1,
  4849. Offset (0x1B),
  4850. Offset (0x20),
  4851. Offset (0x22),
  4852. PSPX, 1,
  4853. Offset (0x98),
  4854. , 30,
  4855. HPEX, 1,
  4856. PMEX, 1
  4857. }
  4858.  
  4859. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4860. {
  4861. Offset (0x9C),
  4862. , 30,
  4863. HPSX, 1,
  4864. PMSX, 1
  4865. }
  4866.  
  4867. Device (PXSX)
  4868. {
  4869. Name (_ADR, Zero)
  4870. Name (_PRW, Package (0x02)
  4871. {
  4872. 0x09,
  4873. 0x04
  4874. })
  4875. }
  4876.  
  4877. Method (HPME, 0, Serialized)
  4878. {
  4879. If (PMSX)
  4880. {
  4881. Store (0xC8, Local0)
  4882. While (Local0)
  4883. {
  4884. Store (One, PMSX)
  4885. If (PMSX)
  4886. {
  4887. Decrement (Local0)
  4888. }
  4889. Else
  4890. {
  4891. Store (Zero, Local0)
  4892. }
  4893. }
  4894.  
  4895. Notify (PXSX, 0x02)
  4896. }
  4897. }
  4898.  
  4899. Method (HPHK, 0, NotSerialized)
  4900. {
  4901. Store (One, PDCX)
  4902. Store (One, HPSX)
  4903. Store (Zero, LDIS)
  4904. Sleep (0xFA)
  4905. }
  4906.  
  4907. Method (_PRW, 0, NotSerialized)
  4908. {
  4909. Return (GPRW (0x09, 0x04))
  4910. }
  4911.  
  4912. Method (_PRT, 0, NotSerialized)
  4913. {
  4914. If (PICM)
  4915. {
  4916. Return (AR01)
  4917. }
  4918.  
  4919. Return (PR01)
  4920. }
  4921. }
  4922.  
  4923. Device (RP02)
  4924. {
  4925. Name (_ADR, 0x001C0001)
  4926. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4927. Field (PXCS, AnyAcc, NoLock, Preserve)
  4928. {
  4929. Offset (0x10),
  4930. L0SE, 1,
  4931. , 3,
  4932. LDIS, 1,
  4933. Offset (0x11),
  4934. Offset (0x12),
  4935. , 13,
  4936. LASX, 1,
  4937. Offset (0x1A),
  4938. ABPX, 1,
  4939. , 2,
  4940. PDCX, 1,
  4941. , 2,
  4942. PDSX, 1,
  4943. Offset (0x1B),
  4944. Offset (0x20),
  4945. Offset (0x22),
  4946. PSPX, 1,
  4947. Offset (0x98),
  4948. , 30,
  4949. HPEX, 1,
  4950. PMEX, 1
  4951. }
  4952.  
  4953. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4954. {
  4955. Offset (0x9C),
  4956. , 30,
  4957. HPSX, 1,
  4958. PMSX, 1
  4959. }
  4960.  
  4961. Device (PXSX)
  4962. {
  4963. Name (_ADR, Zero)
  4964. Name (_PRW, Package (0x02)
  4965. {
  4966. 0x09,
  4967. 0x04
  4968. })
  4969. }
  4970.  
  4971. Method (HPME, 0, Serialized)
  4972. {
  4973. If (PMSX)
  4974. {
  4975. Store (0xC8, Local0)
  4976. While (Local0)
  4977. {
  4978. Store (One, PMSX)
  4979. If (PMSX)
  4980. {
  4981. Decrement (Local0)
  4982. }
  4983. Else
  4984. {
  4985. Store (Zero, Local0)
  4986. }
  4987. }
  4988.  
  4989. Notify (PXSX, 0x02)
  4990. }
  4991. }
  4992.  
  4993. Method (HPHK, 0, NotSerialized)
  4994. {
  4995. Store (One, PDCX)
  4996. Store (One, HPSX)
  4997. Store (Zero, LDIS)
  4998. Sleep (0xFA)
  4999. }
  5000.  
  5001. Method (_PRW, 0, NotSerialized)
  5002. {
  5003. Return (GPRW (0x09, 0x04))
  5004. }
  5005.  
  5006. Method (_PRT, 0, NotSerialized)
  5007. {
  5008. If (PICM)
  5009. {
  5010. Return (AR02)
  5011. }
  5012.  
  5013. Return (PR02)
  5014. }
  5015.  
  5016. Device (GLAN)
  5017. {
  5018. Name (_ADR, Zero)
  5019. Method (_RMV, 0, NotSerialized)
  5020. {
  5021. Return (Zero)
  5022. }
  5023.  
  5024. OperationRegion (LANR, PCI_Config, Zero, 0x0100)
  5025. Field (LANR, ByteAcc, NoLock, Preserve)
  5026. {
  5027. VID, 16,
  5028. Offset (0xE0),
  5029. , 15,
  5030. PMES, 1
  5031. }
  5032. }
  5033. }
  5034.  
  5035. Device (RP03)
  5036. {
  5037. Name (_ADR, 0x001C0002)
  5038. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  5039. Field (PXCS, AnyAcc, NoLock, Preserve)
  5040. {
  5041. Offset (0x10),
  5042. L0SE, 1,
  5043. , 3,
  5044. LDIS, 1,
  5045. Offset (0x11),
  5046. Offset (0x12),
  5047. , 13,
  5048. LASX, 1,
  5049. Offset (0x1A),
  5050. ABPX, 1,
  5051. , 2,
  5052. PDCX, 1,
  5053. , 2,
  5054. PDSX, 1,
  5055. Offset (0x1B),
  5056. Offset (0x20),
  5057. Offset (0x22),
  5058. PSPX, 1,
  5059. Offset (0x98),
  5060. , 30,
  5061. HPEX, 1,
  5062. PMEX, 1
  5063. }
  5064.  
  5065. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  5066. {
  5067. Offset (0x9C),
  5068. , 30,
  5069. HPSX, 1,
  5070. PMSX, 1
  5071. }
  5072.  
  5073. Device (PXSX)
  5074. {
  5075. Name (_ADR, Zero)
  5076. Name (_PRW, Package (0x02)
  5077. {
  5078. 0x09,
  5079. 0x04
  5080. })
  5081. }
  5082.  
  5083. Method (HPME, 0, Serialized)
  5084. {
  5085. If (PMSX)
  5086. {
  5087. Store (0xC8, Local0)
  5088. While (Local0)
  5089. {
  5090. Store (One, PMSX)
  5091. If (PMSX)
  5092. {
  5093. Decrement (Local0)
  5094. }
  5095. Else
  5096. {
  5097. Store (Zero, Local0)
  5098. }
  5099. }
  5100.  
  5101. Notify (PXSX, 0x02)
  5102. }
  5103. }
  5104.  
  5105. Method (HPHK, 0, NotSerialized)
  5106. {
  5107. Store (One, PDCX)
  5108. Store (One, HPSX)
  5109. Store (Zero, LDIS)
  5110. Sleep (0xFA)
  5111. }
  5112.  
  5113. Method (_PRW, 0, NotSerialized)
  5114. {
  5115. Return (GPRW (0x09, 0x04))
  5116. }
  5117.  
  5118. Method (_PRT, 0, NotSerialized)
  5119. {
  5120. If (PICM)
  5121. {
  5122. Return (AR03)
  5123. }
  5124.  
  5125. Return (PR03)
  5126. }
  5127.  
  5128. Device (WLAN)
  5129. {
  5130. Name (_ADR, Zero)
  5131. Method (_RMV, 0, NotSerialized)
  5132. {
  5133. Return (Zero)
  5134. }
  5135.  
  5136. OperationRegion (MINP, PCI_Config, Zero, 0x68)
  5137. Field (MINP, ByteAcc, NoLock, Preserve)
  5138. {
  5139. VNUM, 32,
  5140. Offset (0x09),
  5141. PINF, 8,
  5142. SBCC, 8,
  5143. BSCC, 8,
  5144. Offset (0x2C),
  5145. SNUM, 32,
  5146. Offset (0x34)
  5147. }
  5148.  
  5149. Method (MPDP, 0, NotSerialized)
  5150. {
  5151. If (LEqual (SNUM, 0xFFFFFFFF))
  5152. {
  5153. Return (Zero)
  5154. }
  5155.  
  5156. If (LNotEqual (BSCC, 0x02))
  5157. {
  5158. Return (Zero)
  5159. }
  5160.  
  5161. Return (One)
  5162. }
  5163. }
  5164. }
  5165.  
  5166. Device (RP04)
  5167. {
  5168. Name (_ADR, 0x001C0003)
  5169. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  5170. Field (PXCS, AnyAcc, NoLock, Preserve)
  5171. {
  5172. Offset (0x10),
  5173. L0SE, 1,
  5174. , 3,
  5175. LDIS, 1,
  5176. Offset (0x11),
  5177. Offset (0x12),
  5178. , 13,
  5179. LASX, 1,
  5180. Offset (0x1A),
  5181. ABPX, 1,
  5182. , 2,
  5183. PDCX, 1,
  5184. , 2,
  5185. PDSX, 1,
  5186. Offset (0x1B),
  5187. Offset (0x20),
  5188. Offset (0x22),
  5189. PSPX, 1,
  5190. Offset (0x98),
  5191. , 30,
  5192. HPEX, 1,
  5193. PMEX, 1
  5194. }
  5195.  
  5196. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  5197. {
  5198. Offset (0x9C),
  5199. , 30,
  5200. HPSX, 1,
  5201. PMSX, 1
  5202. }
  5203.  
  5204. Device (PXSX)
  5205. {
  5206. Name (_ADR, Zero)
  5207. Name (_PRW, Package (0x02)
  5208. {
  5209. 0x09,
  5210. 0x04
  5211. })
  5212. }
  5213.  
  5214. Method (HPME, 0, Serialized)
  5215. {
  5216. If (PMSX)
  5217. {
  5218. Store (0xC8, Local0)
  5219. While (Local0)
  5220. {
  5221. Store (One, PMSX)
  5222. If (PMSX)
  5223. {
  5224. Decrement (Local0)
  5225. }
  5226. Else
  5227. {
  5228. Store (Zero, Local0)
  5229. }
  5230. }
  5231.  
  5232. Notify (PXSX, 0x02)
  5233. }
  5234. }
  5235.  
  5236. Method (HPHK, 0, NotSerialized)
  5237. {
  5238. Store (One, PDCX)
  5239. Store (One, HPSX)
  5240. Store (Zero, LDIS)
  5241. Sleep (0xFA)
  5242. }
  5243.  
  5244. Method (_PRW, 0, NotSerialized)
  5245. {
  5246. Return (GPRW (0x09, 0x04))
  5247. }
  5248.  
  5249. Method (_PRT, 0, NotSerialized)
  5250. {
  5251. If (PICM)
  5252. {
  5253. Return (AR04)
  5254. }
  5255.  
  5256. Return (PR04)
  5257. }
  5258. }
  5259.  
  5260. Device (SATA)
  5261. {
  5262. Name (_ADR, 0x00130000)
  5263. }
  5264. }
  5265. }
  5266.  
  5267. Scope (_GPE)
  5268. {
  5269. }
  5270.  
  5271. Name (_S0, Package (0x04)
  5272. {
  5273. Zero,
  5274. Zero,
  5275. Zero,
  5276. Zero
  5277. })
  5278. Name (_S3, Package (0x04)
  5279. {
  5280. 0x05,
  5281. Zero,
  5282. Zero,
  5283. Zero
  5284. })
  5285. Name (_S4, Package (0x04)
  5286. {
  5287. 0x06,
  5288. Zero,
  5289. Zero,
  5290. Zero
  5291. })
  5292. Name (_S5, Package (0x04)
  5293. {
  5294. 0x07,
  5295. Zero,
  5296. Zero,
  5297. Zero
  5298. })
  5299. Method (_PTS, 1, NotSerialized)
  5300. {
  5301. If (Arg0)
  5302. {
  5303. PPTS (Arg0)
  5304. OEMS (Arg0)
  5305. }
  5306. }
  5307.  
  5308. Method (_WAK, 1, NotSerialized)
  5309. {
  5310. PMED ()
  5311. PWAK (Arg0)
  5312. OEMW (Arg0)
  5313. Return (WAKP)
  5314. }
  5315.  
  5316. Scope (\)
  5317. {
  5318. OperationRegion (PMCR, SystemMemory, PMCB, 0x0100)
  5319. Field (PMCR, DWordAcc, Lock, Preserve)
  5320. {
  5321. Offset (0x34),
  5322. L10D, 1,
  5323. L11D, 1,
  5324. L12D, 1,
  5325. L13D, 1,
  5326. L14D, 1,
  5327. L15D, 1,
  5328. L16D, 1,
  5329. L17D, 1,
  5330. SD1D, 1,
  5331. SD2D, 1,
  5332. SD3D, 1,
  5333. , 1,
  5334. , 1,
  5335. LPED, 1,
  5336. OTGD, 1,
  5337. Offset (0x36),
  5338. , 1,
  5339. , 1,
  5340. , 1,
  5341. , 1,
  5342. RP1D, 1,
  5343. RP2D, 1,
  5344. RP3D, 1,
  5345. RP4D, 1,
  5346. L20D, 1,
  5347. L21D, 1,
  5348. L22D, 1,
  5349. L23D, 1,
  5350. L24D, 1,
  5351. L25D, 1,
  5352. L26D, 1,
  5353. L27D, 1,
  5354. , 1,
  5355. , 1,
  5356. , 1,
  5357. , 1,
  5358. ISHD, 1,
  5359. Offset (0x3C),
  5360. Offset (0x60),
  5361. CKC0, 2,
  5362. CKF0, 1,
  5363. Offset (0x64),
  5364. CKC1, 2,
  5365. CKF1, 1,
  5366. Offset (0x68),
  5367. CKC2, 2,
  5368. CKF2, 1,
  5369. Offset (0x6C),
  5370. CKC3, 2,
  5371. CKF3, 1,
  5372. Offset (0x70),
  5373. CKC4, 2,
  5374. CKF4, 1,
  5375. Offset (0x74),
  5376. CKC5, 2,
  5377. CKF5, 1,
  5378. Offset (0x78),
  5379. Offset (0xA0),
  5380. PMCD, 32,
  5381. Offset (0xC0),
  5382. , 14,
  5383. XPME, 1,
  5384. Offset (0xEC),
  5385. PMCC, 32
  5386. }
  5387.  
  5388. OperationRegion (PPSC, SystemMemory, Add (PMCB, 0xA0), 0x08)
  5389. Field (PPSC, DWordAcc, Lock, Preserve)
  5390. {
  5391. DM1P, 1,
  5392. PW1P, 1,
  5393. PW2P, 1,
  5394. UR1P, 1,
  5395. UR2P, 1,
  5396. SP1P, 1,
  5397. SP2P, 1,
  5398. SP3P, 1,
  5399. EMMP, 1,
  5400. SDI1, 1,
  5401. SDI2, 1,
  5402. , 2,
  5403. LPEP, 1,
  5404. , 1,
  5405. Offset (0x02),
  5406. , 1,
  5407. SATP, 1,
  5408. USBP, 1,
  5409. SECP, 1,
  5410. PRP1, 1,
  5411. PRP2, 1,
  5412. PRP3, 1,
  5413. PRP4, 1,
  5414. DM2P, 1,
  5415. IC1P, 1,
  5416. IC2P, 1,
  5417. IC3P, 1,
  5418. IC4P, 1,
  5419. IC5P, 1,
  5420. IC6P, 1,
  5421. IC7P, 1,
  5422. , 2,
  5423. ISHP, 1,
  5424. Offset (0x08)
  5425. }
  5426. }
  5427.  
  5428. Scope (_SB.PCI0)
  5429. {
  5430. Scope (SATA)
  5431. {
  5432. OperationRegion (SATR, PCI_Config, 0x74, 0x04)
  5433. Field (SATR, WordAcc, NoLock, Preserve)
  5434. {
  5435. Offset (0x01),
  5436. PMEE, 1,
  5437. , 6,
  5438. PMES, 1
  5439. }
  5440.  
  5441. Method (_DSW, 3, NotSerialized)
  5442. {
  5443. }
  5444. }
  5445.  
  5446. Scope (\_SB)
  5447. {
  5448. PowerResource (USBC, 0x00, 0x0000)
  5449. {
  5450. Method (_STA, 0, NotSerialized)
  5451. {
  5452. Return (0x0F)
  5453. }
  5454.  
  5455. Method (_ON, 0, NotSerialized)
  5456. {
  5457. }
  5458.  
  5459. Method (_OFF, 0, NotSerialized)
  5460. {
  5461. }
  5462. }
  5463. }
  5464.  
  5465. Scope (XHC1)
  5466. {
  5467. Name (_PRW, Package (0x02)
  5468. {
  5469. 0x0D,
  5470. 0x04
  5471. })
  5472. Name (_S3D, 0x02)
  5473. Name (_S4D, 0x02)
  5474. Name (XFLT, Zero)
  5475. Method (_PS3, 0, NotSerialized)
  5476. {
  5477. }
  5478.  
  5479. Method (_PS0, 0, NotSerialized)
  5480. {
  5481. Store (One, PMEB)
  5482. }
  5483.  
  5484. Method (_DSM, 4, Serialized)
  5485. {
  5486. If (LEqual (Arg0, Buffer (0x10)
  5487. {
  5488. /* 0000 */ 0xB7, 0x0C, 0x34, 0xAC, 0x01, 0xE9, 0xBF, 0x45,
  5489. /* 0008 */ 0xB7, 0xE6, 0x2B, 0x34, 0xEC, 0x93, 0x1E, 0x23
  5490. }))
  5491. {
  5492. If (LEqual (Arg1, 0x03))
  5493. {
  5494. Store (Arg1, XFLT)
  5495. }
  5496. }
  5497. }
  5498.  
  5499. Method (_S0W, 0, NotSerialized)
  5500. {
  5501. If (_OSI ("Android"))
  5502. {
  5503. Return (0x03)
  5504. }
  5505.  
  5506. If (LEqual (XFLT, Zero))
  5507. {
  5508. Return (Zero)
  5509. }
  5510. Else
  5511. {
  5512. Return (0x03)
  5513. }
  5514. }
  5515.  
  5516. OperationRegion (USBR, PCI_Config, Zero, 0x98)
  5517. Field (USBR, WordAcc, NoLock, Preserve)
  5518. {
  5519. Offset (0x10),
  5520. BAR0, 32,
  5521. Offset (0x74),
  5522. Offset (0x75),
  5523. PMEE, 1,
  5524. , 6,
  5525. PMES, 1
  5526. }
  5527.  
  5528. Method (_RMV, 0, NotSerialized)
  5529. {
  5530. Return (Zero)
  5531. }
  5532.  
  5533. Method (_PR3, 0, NotSerialized)
  5534. {
  5535. Return (Package (0x01)
  5536. {
  5537. USBC
  5538. })
  5539. }
  5540.  
  5541. Device (RHUB)
  5542. {
  5543. Name (_ADR, Zero)
  5544. Device (HS01)
  5545. {
  5546. Name (_ADR, One)
  5547. Method (_UPC, 0, Serialized)
  5548. {
  5549. Name (UPCP, Package (0x04)
  5550. {
  5551. 0xFF,
  5552. 0x03,
  5553. Zero,
  5554. Zero
  5555. })
  5556. Store (DerefOf (Index (CNTB, Zero)), Local0)
  5557. Store (Local0, Index (UPCP, Zero))
  5558. Return (UPCP)
  5559. }
  5560.  
  5561. Method (_PLD, 0, Serialized)
  5562. {
  5563. Name (PLDP, Package (0x01)
  5564. {
  5565. Buffer (0x10)
  5566. {
  5567. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5568. /* 0008 */ 0x61, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
  5569. }
  5570. })
  5571. Store (DerefOf (Index (VISB, Zero)), Local0)
  5572. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5573. Local1)
  5574. And (Local1, 0xFE, Local1)
  5575. Or (Local1, Local0, Local1)
  5576. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5577. Return (PLDP)
  5578. }
  5579. }
  5580.  
  5581. Device (HS02)
  5582. {
  5583. Name (_ADR, 0x02)
  5584. Method (_UPC, 0, Serialized)
  5585. {
  5586. Name (UPCP, Package (0x04)
  5587. {
  5588. 0xFF,
  5589. 0x03,
  5590. Zero,
  5591. Zero
  5592. })
  5593. Store (DerefOf (Index (CNTB, One)), Local0)
  5594. Store (Local0, Index (UPCP, Zero))
  5595. Return (UPCP)
  5596. }
  5597.  
  5598. Method (_PLD, 0, Serialized)
  5599. {
  5600. Name (PLDP, Package (0x01)
  5601. {
  5602. Buffer (0x10)
  5603. {
  5604. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5605. /* 0008 */ 0x61, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
  5606. }
  5607. })
  5608. Store (DerefOf (Index (VISB, One)), Local0)
  5609. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5610. Local1)
  5611. And (Local1, 0xFE, Local1)
  5612. Or (Local1, Local0, Local1)
  5613. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5614. Return (PLDP)
  5615. }
  5616. }
  5617.  
  5618. Device (HS03)
  5619. {
  5620. Name (_ADR, 0x03)
  5621. Method (_UPC, 0, Serialized)
  5622. {
  5623. Name (UPCP, Package (0x04)
  5624. {
  5625. 0xFF,
  5626. 0xFF,
  5627. Zero,
  5628. Zero
  5629. })
  5630. Store (DerefOf (Index (CNTB, 0x02)), Local0)
  5631. Store (Local0, Index (UPCP, Zero))
  5632. Return (UPCP)
  5633. }
  5634.  
  5635. Method (_PLD, 0, Serialized)
  5636. {
  5637. Name (PLDP, Package (0x01)
  5638. {
  5639. Buffer (0x10)
  5640. {
  5641. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5642. /* 0008 */ 0x60, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
  5643. }
  5644. })
  5645. Store (DerefOf (Index (VISB, 0x02)), Local0)
  5646. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5647. Local1)
  5648. And (Local1, 0xFE, Local1)
  5649. Or (Local1, Local0, Local1)
  5650. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5651. Return (PLDP)
  5652. }
  5653. }
  5654.  
  5655. Device (HS04)
  5656. {
  5657. Name (_ADR, 0x04)
  5658. Method (_UPC, 0, Serialized)
  5659. {
  5660. Name (UPCP, Package (0x04)
  5661. {
  5662. 0xFF,
  5663. 0xFF,
  5664. Zero,
  5665. Zero
  5666. })
  5667. Store (DerefOf (Index (CNTB, 0x03)), Local0)
  5668. Store (Local0, Index (UPCP, Zero))
  5669. Return (UPCP)
  5670. }
  5671.  
  5672. Method (_PLD, 0, Serialized)
  5673. {
  5674. Name (PLDP, Package (0x01)
  5675. {
  5676. Buffer (0x10)
  5677. {
  5678. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5679. /* 0008 */ 0x60, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00
  5680. }
  5681. })
  5682. Store (DerefOf (Index (VISB, 0x03)), Local0)
  5683. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5684. Local1)
  5685. And (Local1, 0xFE, Local1)
  5686. Or (Local1, Local0, Local1)
  5687. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5688. Return (PLDP)
  5689. }
  5690. }
  5691.  
  5692. Device (HS05)
  5693. {
  5694. Name (_ADR, 0x05)
  5695. Method (_UPC, 0, Serialized)
  5696. {
  5697. Name (UPCP, Package (0x04)
  5698. {
  5699. 0xFF,
  5700. Zero,
  5701. Zero,
  5702. Zero
  5703. })
  5704. Store (DerefOf (Index (CNTB, 0x04)), Local0)
  5705. Store (Local0, Index (UPCP, Zero))
  5706. Return (UPCP)
  5707. }
  5708.  
  5709. Method (_PLD, 0, Serialized)
  5710. {
  5711. Name (PLDP, Package (0x01)
  5712. {
  5713. Buffer (0x10)
  5714. {
  5715. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5716. /* 0008 */ 0x61, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00
  5717. }
  5718. })
  5719. Store (DerefOf (Index (VISB, 0x04)), Local0)
  5720. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5721. Local1)
  5722. And (Local1, 0xFE, Local1)
  5723. Or (Local1, Local0, Local1)
  5724. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5725. Return (PLDP)
  5726. }
  5727. }
  5728.  
  5729. Device (HS06)
  5730. {
  5731. Name (_ADR, 0x06)
  5732. Method (_UPC, 0, Serialized)
  5733. {
  5734. Name (UPCP, Package (0x04)
  5735. {
  5736. 0xFF,
  5737. 0xFF,
  5738. Zero,
  5739. Zero
  5740. })
  5741. Store (DerefOf (Index (CNTB, 0x05)), Local0)
  5742. Store (Local0, Index (UPCP, Zero))
  5743. Return (UPCP)
  5744. }
  5745.  
  5746. Method (_PLD, 0, Serialized)
  5747. {
  5748. Name (PLDP, Package (0x01)
  5749. {
  5750. Buffer (0x10)
  5751. {
  5752. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5753. /* 0008 */ 0x60, 0x0C, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00
  5754. }
  5755. })
  5756. Store (DerefOf (Index (VISB, 0x05)), Local0)
  5757. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5758. Local1)
  5759. And (Local1, 0xFE, Local1)
  5760. Or (Local1, Local0, Local1)
  5761. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5762. Return (PLDP)
  5763. }
  5764. }
  5765.  
  5766. Device (HS07)
  5767. {
  5768. Name (_ADR, 0x07)
  5769. Method (_UPC, 0, Serialized)
  5770. {
  5771. Name (UPCP, Package (0x04)
  5772. {
  5773. 0xFF,
  5774. 0xFF,
  5775. Zero,
  5776. Zero
  5777. })
  5778. Store (DerefOf (Index (CNTB, 0x06)), Local0)
  5779. Store (Local0, Index (UPCP, Zero))
  5780. Return (UPCP)
  5781. }
  5782.  
  5783. Method (_PLD, 0, Serialized)
  5784. {
  5785. Name (PLDP, Package (0x01)
  5786. {
  5787. Buffer (0x10)
  5788. {
  5789. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5790. /* 0008 */ 0x60, 0x0C, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00
  5791. }
  5792. })
  5793. Store (DerefOf (Index (VISB, 0x06)), Local0)
  5794. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5795. Local1)
  5796. And (Local1, 0xFE, Local1)
  5797. Or (Local1, Local0, Local1)
  5798. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5799. Return (PLDP)
  5800. }
  5801. }
  5802.  
  5803. Device (SSP1)
  5804. {
  5805. Name (_ADR, 0x08)
  5806. Method (_UPC, 0, Serialized)
  5807. {
  5808. Name (UPCP, Package (0x04)
  5809. {
  5810. 0xFF,
  5811. 0x03,
  5812. Zero,
  5813. Zero
  5814. })
  5815. Store (DerefOf (Index (CNTB, Zero)), Local0)
  5816. Store (Local0, Index (UPCP, Zero))
  5817. Return (UPCP)
  5818. }
  5819.  
  5820. Method (_PLD, 0, Serialized)
  5821. {
  5822. Name (PLDP, Package (0x01)
  5823. {
  5824. Buffer (0x10)
  5825. {
  5826. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5827. /* 0008 */ 0x61, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
  5828. }
  5829. })
  5830. Store (DerefOf (Index (VISB, Zero)), Local0)
  5831. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5832. Local1)
  5833. And (Local1, 0xFE, Local1)
  5834. Or (Local1, Local0, Local1)
  5835. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5836. Return (PLDP)
  5837. }
  5838. }
  5839.  
  5840. Device (SSP2)
  5841. {
  5842. Name (_ADR, 0x09)
  5843. Method (_UPC, 0, Serialized)
  5844. {
  5845. Name (UPCP, Package (0x04)
  5846. {
  5847. 0xFF,
  5848. 0x03,
  5849. Zero,
  5850. Zero
  5851. })
  5852. Store (DerefOf (Index (CNTB, One)), Local0)
  5853. Store (Local0, Index (UPCP, Zero))
  5854. Return (UPCP)
  5855. }
  5856.  
  5857. Method (_PLD, 0, Serialized)
  5858. {
  5859. Name (PLDP, Package (0x01)
  5860. {
  5861. Buffer (0x10)
  5862. {
  5863. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5864. /* 0008 */ 0x61, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
  5865. }
  5866. })
  5867. Store (DerefOf (Index (VISB, One)), Local0)
  5868. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5869. Local1)
  5870. And (Local1, 0xFE, Local1)
  5871. Or (Local1, Local0, Local1)
  5872. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5873. Return (PLDP)
  5874. }
  5875. }
  5876.  
  5877. Device (SSP3)
  5878. {
  5879. Name (_ADR, 0x0A)
  5880. Method (_UPC, 0, Serialized)
  5881. {
  5882. Name (UPCP, Package (0x04)
  5883. {
  5884. 0xFF,
  5885. 0xFF,
  5886. Zero,
  5887. Zero
  5888. })
  5889. Store (DerefOf (Index (CNTB, 0x02)), Local0)
  5890. Store (Local0, Index (UPCP, Zero))
  5891. Return (UPCP)
  5892. }
  5893.  
  5894. Method (_PLD, 0, Serialized)
  5895. {
  5896. Name (PLDP, Package (0x01)
  5897. {
  5898. Buffer (0x10)
  5899. {
  5900. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5901. /* 0008 */ 0x60, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
  5902. }
  5903. })
  5904. Store (DerefOf (Index (VISB, 0x02)), Local0)
  5905. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5906. Local1)
  5907. And (Local1, 0xFE, Local1)
  5908. Or (Local1, Local0, Local1)
  5909. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5910. Return (PLDP)
  5911. }
  5912. }
  5913.  
  5914. Device (SSP4)
  5915. {
  5916. Name (_ADR, 0x0B)
  5917. Method (_UPC, 0, Serialized)
  5918. {
  5919. Name (UPCP, Package (0x04)
  5920. {
  5921. 0xFF,
  5922. 0xFF,
  5923. Zero,
  5924. Zero
  5925. })
  5926. Store (DerefOf (Index (CNTB, 0x03)), Local0)
  5927. Store (Local0, Index (UPCP, Zero))
  5928. Return (UPCP)
  5929. }
  5930.  
  5931. Method (_PLD, 0, Serialized)
  5932. {
  5933. Name (PLDP, Package (0x01)
  5934. {
  5935. Buffer (0x10)
  5936. {
  5937. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5938. /* 0008 */ 0x60, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00
  5939. }
  5940. })
  5941. Store (DerefOf (Index (VISB, 0x03)), Local0)
  5942. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5943. Local1)
  5944. And (Local1, 0xFE, Local1)
  5945. Or (Local1, Local0, Local1)
  5946. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5947. Return (PLDP)
  5948. }
  5949. }
  5950.  
  5951. Device (SSP5)
  5952. {
  5953. Name (_ADR, 0x0C)
  5954. Method (_UPC, 0, Serialized)
  5955. {
  5956. Name (UPCP, Package (0x04)
  5957. {
  5958. 0xFF,
  5959. 0xFF,
  5960. Zero,
  5961. Zero
  5962. })
  5963. Store (DerefOf (Index (CNTB, 0x04)), Local0)
  5964. Store (Local0, Index (UPCP, Zero))
  5965. Return (UPCP)
  5966. }
  5967.  
  5968. Method (_PLD, 0, Serialized)
  5969. {
  5970. Name (PLDP, Package (0x01)
  5971. {
  5972. Buffer (0x10)
  5973. {
  5974. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  5975. /* 0008 */ 0x60, 0x0C, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00
  5976. }
  5977. })
  5978. Store (DerefOf (Index (VISB, 0x04)), Local0)
  5979. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  5980. Local1)
  5981. And (Local1, 0xFE, Local1)
  5982. Or (Local1, Local0, Local1)
  5983. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  5984. Return (PLDP)
  5985. }
  5986. }
  5987.  
  5988. Device (SSP6)
  5989. {
  5990. Name (_ADR, 0x0D)
  5991. Method (_UPC, 0, Serialized)
  5992. {
  5993. Name (UPCP, Package (0x04)
  5994. {
  5995. 0xFF,
  5996. 0xFF,
  5997. Zero,
  5998. Zero
  5999. })
  6000. Store (DerefOf (Index (CNTB, 0x05)), Local0)
  6001. Store (Local0, Index (UPCP, Zero))
  6002. Return (UPCP)
  6003. }
  6004.  
  6005. Method (_PLD, 0, Serialized)
  6006. {
  6007. Name (PLDP, Package (0x01)
  6008. {
  6009. Buffer (0x10)
  6010. {
  6011. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  6012. /* 0008 */ 0x60, 0x0C, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00
  6013. }
  6014. })
  6015. Store (DerefOf (Index (VISB, 0x05)), Local0)
  6016. Store (DerefOf (Index (DerefOf (Index (PLDP, Zero)), 0x08)),
  6017. Local1)
  6018. And (Local1, 0xFE, Local1)
  6019. Or (Local1, Local0, Local1)
  6020. Store (Local1, Index (DerefOf (Index (PLDP, Zero)), 0x08))
  6021. Return (PLDP)
  6022. }
  6023. }
  6024. }
  6025. }
  6026.  
  6027. Device (SDHA)
  6028. {
  6029. Name (_HID, "80860F14")
  6030. Name (_CID, "PNP0D40")
  6031. Name (_DDN, "Intel(R) eMMC Controller - 80862294")
  6032. Name (_UID, One)
  6033. Name (RBUF, ResourceTemplate ()
  6034. {
  6035. Memory32Fixed (ReadWrite,
  6036. 0x00000000, // Address Base
  6037. 0x00001000, // Address Length
  6038. )
  6039. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  6040. {
  6041. 0x0000002D,
  6042. }
  6043. })
  6044. Method (_CRS, 0, NotSerialized)
  6045. {
  6046. CreateDWordField (RBUF, 0x04, B0BA)
  6047. CreateDWordField (RBUF, 0x08, B0LN)
  6048. Store (EM0A, B0BA)
  6049. Store (EM0L, B0LN)
  6050. Return (RBUF)
  6051. }
  6052.  
  6053. Method (_STA, 0, NotSerialized)
  6054. {
  6055. If (LOr (LEqual (EM0A, Zero), LEqual (SD1D, One)))
  6056. {
  6057. Return (Zero)
  6058. }
  6059.  
  6060. Return (0x0F)
  6061. }
  6062.  
  6063. Method (_PS3, 0, NotSerialized)
  6064. {
  6065. Or (PSAT, 0x03, PSAT)
  6066. Or (PSAT, Zero, PSAT)
  6067. }
  6068.  
  6069. Method (_PS0, 0, NotSerialized)
  6070. {
  6071. And (PSAT, 0xFFFFFFFC, PSAT)
  6072. Or (PSAT, Zero, PSAT)
  6073. }
  6074.  
  6075. OperationRegion (KEYS, SystemMemory, EM1A, 0x0100)
  6076. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  6077. {
  6078. Offset (0x84),
  6079. PSAT, 32
  6080. }
  6081.  
  6082. Method (_DIS, 0, NotSerialized)
  6083. {
  6084. }
  6085.  
  6086. Device (EMMD)
  6087. {
  6088. Name (_ADR, 0x08)
  6089. Method (_RMV, 0, NotSerialized)
  6090. {
  6091. Return (Zero)
  6092. }
  6093. }
  6094. }
  6095.  
  6096. Device (PEMC)
  6097. {
  6098. Name (_ADR, 0x00100000)
  6099. OperationRegion (SDIO, PCI_Config, 0x84, 0x04)
  6100. Field (SDIO, WordAcc, NoLock, Preserve)
  6101. {
  6102. Offset (0x01),
  6103. PMEE, 1,
  6104. , 6,
  6105. PMES, 1
  6106. }
  6107.  
  6108. Method (_STA, 0, NotSerialized)
  6109. {
  6110. If (LAnd (LEqual (EM0A, Zero), LEqual (SD1D, Zero)))
  6111. {
  6112. Return (0x0F)
  6113. }
  6114. Else
  6115. {
  6116. Return (Zero)
  6117. }
  6118. }
  6119.  
  6120. Method (_DSW, 3, NotSerialized)
  6121. {
  6122. }
  6123.  
  6124. Device (CARD)
  6125. {
  6126. Name (_ADR, 0x08)
  6127. Method (_RMV, 0, NotSerialized)
  6128. {
  6129. Return (Zero)
  6130. }
  6131. }
  6132. }
  6133.  
  6134. Device (SDHB)
  6135. {
  6136. Name (_ADR, 0x00110000)
  6137. Name (_HID, "INT33BB")
  6138. Name (_CID, "PNP0D40")
  6139. Name (_DDN, "Intel(R) SDIO Controller - 80862295")
  6140. Name (_UID, 0x02)
  6141. Name (_HRV, 0x02)
  6142. Name (_DEP, Package (0x01)
  6143. {
  6144. GPO1
  6145. })
  6146. Name (PSTS, Zero)
  6147. Name (ABUF, Buffer (0x3A)
  6148. {
  6149. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  6150. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  6151. /* 0010 */ 0x01, 0x2E, 0x00, 0x00, 0x00, 0x8C, 0x20, 0x00,
  6152. /* 0018 */ 0x01, 0x01, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
  6153. /* 0020 */ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x19, 0x00,
  6154. /* 0028 */ 0x23, 0x00, 0x00, 0x00, 0x05, 0x00, 0x5C, 0x5F,
  6155. /* 0030 */ 0x53, 0x42, 0x2E, 0x47, 0x50, 0x4F, 0x31, 0x00,
  6156. /* 0038 */ 0x79, 0x00
  6157. })
  6158. Method (_CRS, 0, NotSerialized)
  6159. {
  6160. CreateDWordField (ABUF, 0x04, B0BA)
  6161. CreateDWordField (ABUF, 0x08, B0LN)
  6162. Store (SI0A, B0BA)
  6163. Store (SI0L, B0LN)
  6164. Return (ABUF)
  6165. }
  6166.  
  6167. Method (_STA, 0, NotSerialized)
  6168. {
  6169. If (LOr (LEqual (SI0A, Zero), LEqual (SD2D, One)))
  6170. {
  6171. Return (Zero)
  6172. }
  6173.  
  6174. Return (0x0F)
  6175. }
  6176.  
  6177. Method (_DIS, 0, NotSerialized)
  6178. {
  6179. }
  6180.  
  6181. Method (_PS3, 0, NotSerialized)
  6182. {
  6183. Or (PSAT, 0x03, PSAT)
  6184. Or (PSAT, Zero, PSAT)
  6185. }
  6186.  
  6187. Method (_PS0, 0, NotSerialized)
  6188. {
  6189. And (PSAT, 0xFFFFFFFC, PSAT)
  6190. Or (PSAT, Zero, PSAT)
  6191. If (LEqual (PSTS, Zero))
  6192. {
  6193. If (LEqual (^^^GPO1.AVBL, One))
  6194. {
  6195. Store (One, ^^^GPO1.CWLE)
  6196. }
  6197.  
  6198. Store (One, PSTS)
  6199. }
  6200. }
  6201.  
  6202. OperationRegion (KEYS, SystemMemory, SI1A, 0x0100)
  6203. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  6204. {
  6205. Offset (0x84),
  6206. PSAT, 32
  6207. }
  6208.  
  6209. Device (BRCM)
  6210. {
  6211. Name (_ADR, One)
  6212. Name (_DEP, Package (0x01)
  6213. {
  6214. GPO1
  6215. })
  6216. Name (_HID, "BCM43241")
  6217. Name (_CID, "BCM43241")
  6218. Method (_STA, 0, NotSerialized)
  6219. {
  6220. If (LEqual (WIFD, One))
  6221. {
  6222. Return (0x0F)
  6223. }
  6224.  
  6225. Return (Zero)
  6226. }
  6227.  
  6228. Method (_RMV, 0, NotSerialized)
  6229. {
  6230. Return (Zero)
  6231. }
  6232.  
  6233. Name (_PRW, Package (0x02)
  6234. {
  6235. Zero,
  6236. Zero
  6237. })
  6238. Name (_S4W, 0x02)
  6239. Name (_S0W, 0x02)
  6240. Method (_CRS, 0, NotSerialized)
  6241. {
  6242. Name (RBUF, Buffer (0x51)
  6243. {
  6244. /* 0000 */ 0x89, 0x06, 0x00, 0x13, 0x01, 0x35, 0x00, 0x00,
  6245. /* 0008 */ 0x00, 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00,
  6246. /* 0010 */ 0x11, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x17,
  6247. /* 0018 */ 0x00, 0x00, 0x19, 0x00, 0x23, 0x00, 0x00, 0x00,
  6248. /* 0020 */ 0x15, 0x00, 0x5C, 0x5F, 0x53, 0x42, 0x2E, 0x47,
  6249. /* 0028 */ 0x50, 0x4F, 0x31, 0x00, 0x8C, 0x20, 0x00, 0x01,
  6250. /* 0030 */ 0x01, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00,
  6251. /* 0038 */ 0x00, 0x00, 0x17, 0x00, 0x00, 0x19, 0x00, 0x23,
  6252. /* 0040 */ 0x00, 0x00, 0x00, 0x05, 0x00, 0x5C, 0x5F, 0x53,
  6253. /* 0048 */ 0x42, 0x2E, 0x47, 0x50, 0x4F, 0x31, 0x00, 0x79,
  6254. /* 0050 */ 0x00
  6255. })
  6256. Return (RBUF)
  6257. }
  6258.  
  6259. Method (_PS3, 0, NotSerialized)
  6260. {
  6261. If (LEqual (^^^^GPO1.AVBL, One))
  6262. {
  6263. Store (Zero, ^^^^GPO1.CWLE)
  6264. }
  6265.  
  6266. Store (Zero, PSTS)
  6267. }
  6268.  
  6269. Method (_PS0, 0, NotSerialized)
  6270. {
  6271. If (LEqual (PSTS, Zero))
  6272. {
  6273. If (LEqual (^^^^GPO1.AVBL, One))
  6274. {
  6275. Store (One, ^^^^GPO1.CWLE)
  6276. }
  6277.  
  6278. Store (One, PSTS)
  6279. }
  6280. }
  6281. }
  6282.  
  6283. Device (BRC1)
  6284. {
  6285. Name (_ADR, 0x02)
  6286. Name (_DEP, Package (0x01)
  6287. {
  6288. GPO1
  6289. })
  6290. Method (_STA, 0, NotSerialized)
  6291. {
  6292. If (LEqual (WIFD, Zero))
  6293. {
  6294. Return (0x0F)
  6295. }
  6296.  
  6297. Return (Zero)
  6298. }
  6299.  
  6300. Method (_RMV, 0, NotSerialized)
  6301. {
  6302. Return (Zero)
  6303. }
  6304.  
  6305. Name (_PRW, Package (0x02)
  6306. {
  6307. Zero,
  6308. Zero
  6309. })
  6310. Name (_S4W, 0x02)
  6311. Name (_S0W, 0x02)
  6312. Method (_CRS, 0, NotSerialized)
  6313. {
  6314. Name (RBUF, ResourceTemplate ()
  6315. {
  6316. Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
  6317. {
  6318. 0x00000035,
  6319. }
  6320. })
  6321. Return (RBUF)
  6322. }
  6323.  
  6324. Method (_PS3, 0, NotSerialized)
  6325. {
  6326. If (LEqual (^^^^GPO1.AVBL, One))
  6327. {
  6328. Store (Zero, ^^^^GPO1.CWLE)
  6329. }
  6330.  
  6331. Store (Zero, PSTS)
  6332. }
  6333.  
  6334. Method (_PS0, 0, NotSerialized)
  6335. {
  6336. If (LEqual (PSTS, Zero))
  6337. {
  6338. If (LEqual (^^^^GPO1.AVBL, One))
  6339. {
  6340. Store (One, ^^^^GPO1.CWLE)
  6341. }
  6342.  
  6343. Store (One, PSTS)
  6344. }
  6345. }
  6346. }
  6347.  
  6348. Device (BRC2)
  6349. {
  6350. Name (_ADR, 0x02)
  6351. Name (_STA, 0x0F)
  6352. Method (_RMV, 0, NotSerialized)
  6353. {
  6354. Return (Zero)
  6355. }
  6356.  
  6357. Method (_CRS, 0, NotSerialized)
  6358. {
  6359. Name (NAM, Buffer (0x14)
  6360. {
  6361. "\\_SB.PCI0.SDHB.BRC1"
  6362. })
  6363. Name (SPB, Buffer (0x0C)
  6364. {
  6365. /* 0000 */ 0x8E, 0x1D, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00,
  6366. /* 0008 */ 0x00, 0x01, 0x00, 0x00
  6367. })
  6368. Name (END, ResourceTemplate ()
  6369. {
  6370. })
  6371. Concatenate (SPB, NAM, Local0)
  6372. Concatenate (Local0, END, Local1)
  6373. Return (Local1)
  6374. }
  6375. }
  6376. }
  6377.  
  6378. Device (SDHC)
  6379. {
  6380. Name (_ADR, 0x00120000)
  6381. Name (_HID, "80860F14")
  6382. Name (_CID, "PNP0D40")
  6383. Name (_HRV, One)
  6384. Name (_DDN, "Intel(R) SD Card Controller - 80862296")
  6385. Name (_UID, 0x03)
  6386. Name (ABUF, Buffer (0xA3)
  6387. {
  6388. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  6389. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  6390. /* 0010 */ 0x01, 0x2F, 0x00, 0x00, 0x00, 0x8C, 0x20, 0x00,
  6391. /* 0018 */ 0x01, 0x00, 0x01, 0x00, 0x1D, 0x00, 0x03, 0x00,
  6392. /* 0020 */ 0x00, 0x10, 0x27, 0x17, 0x00, 0x00, 0x19, 0x00,
  6393. /* 0028 */ 0x23, 0x00, 0x00, 0x00, 0x51, 0x00, 0x5C, 0x5F,
  6394. /* 0030 */ 0x53, 0x42, 0x2E, 0x47, 0x50, 0x4F, 0x33, 0x00,
  6395. /* 0038 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x09,
  6396. /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00,
  6397. /* 0048 */ 0x00, 0x19, 0x00, 0x23, 0x00, 0x00, 0x00, 0x51,
  6398. /* 0050 */ 0x00, 0x5C, 0x5F, 0x53, 0x42, 0x2E, 0x47, 0x50,
  6399. /* 0058 */ 0x4F, 0x33, 0x00, 0x8C, 0x20, 0x00, 0x01, 0x01,
  6400. /* 0060 */ 0x01, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
  6401. /* 0068 */ 0x00, 0x17, 0x00, 0x00, 0x19, 0x00, 0x23, 0x00,
  6402. /* 0070 */ 0x00, 0x00, 0x55, 0x00, 0x5C, 0x5F, 0x53, 0x42,
  6403. /* 0078 */ 0x2E, 0x47, 0x50, 0x4F, 0x33, 0x00, 0x8C, 0x20,
  6404. /* 0080 */ 0x00, 0x01, 0x01, 0x01, 0x00, 0x09, 0x00, 0x00,
  6405. /* 0088 */ 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x19,
  6406. /* 0090 */ 0x00, 0x23, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x5C,
  6407. /* 0098 */ 0x5F, 0x53, 0x42, 0x2E, 0x47, 0x50, 0x4F, 0x33,
  6408. /* 00A0 */ 0x00, 0x79, 0x00
  6409. })
  6410. Name (WBUF, Buffer (0x5D)
  6411. {
  6412. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  6413. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  6414. /* 0010 */ 0x01, 0x2F, 0x00, 0x00, 0x00, 0x8C, 0x20, 0x00,
  6415. /* 0018 */ 0x01, 0x00, 0x01, 0x00, 0x1D, 0x00, 0x03, 0x00,
  6416. /* 0020 */ 0x00, 0x10, 0x27, 0x17, 0x00, 0x00, 0x19, 0x00,
  6417. /* 0028 */ 0x23, 0x00, 0x00, 0x00, 0x51, 0x00, 0x5C, 0x5F,
  6418. /* 0030 */ 0x53, 0x42, 0x2E, 0x47, 0x50, 0x4F, 0x33, 0x00,
  6419. /* 0038 */ 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00, 0x09,
  6420. /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00,
  6421. /* 0048 */ 0x00, 0x19, 0x00, 0x23, 0x00, 0x00, 0x00, 0x51,
  6422. /* 0050 */ 0x00, 0x5C, 0x5F, 0x53, 0x42, 0x2E, 0x47, 0x50,
  6423. /* 0058 */ 0x4F, 0x33, 0x00, 0x79, 0x00
  6424. })
  6425. Method (_CRS, 0, NotSerialized)
  6426. {
  6427. CreateDWordField (ABUF, 0x04, B0BA)
  6428. CreateDWordField (ABUF, 0x08, B0LN)
  6429. Store (SD0A, B0BA)
  6430. Store (SD0L, B0LN)
  6431. CreateDWordField (WBUF, 0x04, B01A)
  6432. CreateDWordField (WBUF, 0x08, B01N)
  6433. Store (SD0A, B01A)
  6434. Store (SD0L, B01N)
  6435. If (LEqual (OSID, 0x02))
  6436. {
  6437. Return (ABUF)
  6438. }
  6439.  
  6440. Return (WBUF)
  6441. }
  6442.  
  6443. Method (_STA, 0, NotSerialized)
  6444. {
  6445. If (LOr (LEqual (SD0A, Zero), LEqual (SD3D, One)))
  6446. {
  6447. Return (Zero)
  6448. }
  6449.  
  6450. Return (0x0F)
  6451. }
  6452.  
  6453. Method (_PS3, 0, NotSerialized)
  6454. {
  6455. Or (PSAT, 0x03, PSAT)
  6456. Or (PSAT, Zero, PSAT)
  6457. }
  6458.  
  6459. Method (_PS0, 0, NotSerialized)
  6460. {
  6461. And (PSAT, 0xFFFFFFFC, PSAT)
  6462. Or (PSAT, Zero, PSAT)
  6463. Sleep (0x03E8)
  6464. }
  6465.  
  6466. OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
  6467. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  6468. {
  6469. Offset (0x84),
  6470. PSAT, 32
  6471. }
  6472.  
  6473. Method (_DSM, 4, NotSerialized)
  6474. {
  6475. If (LEqual (Arg0, Buffer (0x10)
  6476. {
  6477. /* 0000 */ 0xA5, 0x3E, 0xC1, 0xF6, 0xCD, 0x65, 0x1F, 0x46,
  6478. /* 0008 */ 0xAB, 0x7A, 0x29, 0xF7, 0xE8, 0xD5, 0xBD, 0x61
  6479. }))
  6480. {
  6481. If (LEqual (Arg1, Zero))
  6482. {
  6483. If (LEqual (Arg2, Zero))
  6484. {
  6485. Return (Buffer (0x04)
  6486. {
  6487. 0x1F, 0x00, 0x00, 0x00
  6488. })
  6489. }
  6490.  
  6491. If (LEqual (Arg2, One))
  6492. {
  6493. Sleep (0x05)
  6494. Return (One)
  6495. }
  6496.  
  6497. If (LEqual (Arg2, 0x02))
  6498. {
  6499. Return (0x02)
  6500. }
  6501.  
  6502. If (LEqual (Arg2, 0x03))
  6503. {
  6504. Sleep (0x01F4)
  6505. Return (0x03)
  6506. }
  6507.  
  6508. If (LEqual (Arg2, 0x04))
  6509. {
  6510. Sleep (0x01F4)
  6511. Return (0x04)
  6512. }
  6513. }
  6514. Else
  6515. {
  6516. Return (Zero)
  6517. }
  6518.  
  6519. Return (Zero)
  6520. }
  6521. }
  6522. }
  6523.  
  6524. Device (GDM1)
  6525. {
  6526. Name (_HID, "INTL9C60")
  6527. Name (_DDN, "Intel(R) DMA Controller #1 - INTL9C60")
  6528. Name (_UID, One)
  6529. Name (RBUF, ResourceTemplate ()
  6530. {
  6531. Memory32Fixed (ReadWrite,
  6532. 0x00000000, // Address Base
  6533. 0x00004000, // Address Length
  6534. )
  6535. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  6536. {
  6537. 0x0000002A,
  6538. }
  6539. })
  6540. Method (_CRS, 0, NotSerialized)
  6541. {
  6542. CreateDWordField (RBUF, 0x04, B0BA)
  6543. CreateDWordField (RBUF, 0x08, B0LN)
  6544. Store (D10A, B0BA)
  6545. Store (D10L, B0LN)
  6546. Return (RBUF)
  6547. }
  6548.  
  6549. Method (_STA, 0, NotSerialized)
  6550. {
  6551. If (LOr (LEqual (D10A, Zero), LEqual (L10D, One)))
  6552. {
  6553. Return (Zero)
  6554. }
  6555.  
  6556. Return (0x0F)
  6557. }
  6558.  
  6559. Method (_PSC, 0, NotSerialized)
  6560. {
  6561. If (LEqual (DM1P, Zero))
  6562. {
  6563. Return (Zero)
  6564. }
  6565. Else
  6566. {
  6567. Return (0x03)
  6568. }
  6569. }
  6570. }
  6571.  
  6572. Device (GDM3)
  6573. {
  6574. Name (_HID, "INTL9C60")
  6575. Name (_DDN, "Intel(R) DMA Controller #2 - INTL9C60")
  6576. Name (_UID, 0x02)
  6577. Name (RBUF, ResourceTemplate ()
  6578. {
  6579. Memory32Fixed (ReadWrite,
  6580. 0x00000000, // Address Base
  6581. 0x00004000, // Address Length
  6582. )
  6583. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  6584. {
  6585. 0x0000002B,
  6586. }
  6587. })
  6588. Method (_CRS, 0, NotSerialized)
  6589. {
  6590. CreateDWordField (RBUF, 0x04, B0BA)
  6591. CreateDWordField (RBUF, 0x08, B0LN)
  6592. Store (D20A, B0BA)
  6593. Store (D20L, B0LN)
  6594. Return (RBUF)
  6595. }
  6596.  
  6597. Method (_STA, 0, NotSerialized)
  6598. {
  6599. If (LOr (LEqual (D20A, Zero), LEqual (L20D, One)))
  6600. {
  6601. Return (Zero)
  6602. }
  6603.  
  6604. Return (0x0F)
  6605. }
  6606.  
  6607. Method (_PSC, 0, NotSerialized)
  6608. {
  6609. If (LEqual (DM2P, Zero))
  6610. {
  6611. Return (Zero)
  6612. }
  6613. Else
  6614. {
  6615. Return (0x03)
  6616. }
  6617. }
  6618. }
  6619.  
  6620. Device (PWM1)
  6621. {
  6622. Name (_HID, "80862288")
  6623. Name (_CID, "80862288")
  6624. Name (_DDN, "Intel(R) PWM Controller #1 - 80862288")
  6625. Name (_UID, One)
  6626. Name (RBUF, ResourceTemplate ()
  6627. {
  6628. Memory32Fixed (ReadWrite,
  6629. 0x00000000, // Address Base
  6630. 0x00001000, // Address Length
  6631. )
  6632. })
  6633. Method (_CRS, 0, NotSerialized)
  6634. {
  6635. CreateDWordField (RBUF, 0x04, B0BA)
  6636. CreateDWordField (RBUF, 0x08, B0LN)
  6637. Store (P10A, B0BA)
  6638. Store (P10L, B0LN)
  6639. Return (RBUF)
  6640. }
  6641.  
  6642. Method (_STA, 0, NotSerialized)
  6643. {
  6644. If (LOr (LEqual (P10A, Zero), LEqual (L11D, One)))
  6645. {
  6646. Return (Zero)
  6647. }
  6648.  
  6649. Return (0x0F)
  6650. }
  6651.  
  6652. Method (_PS3, 0, NotSerialized)
  6653. {
  6654. Or (PSAT, 0x03, PSAT)
  6655. Or (PSAT, Zero, PSAT)
  6656. }
  6657.  
  6658. Method (_PS0, 0, NotSerialized)
  6659. {
  6660. And (PSAT, 0xFFFFFFFC, PSAT)
  6661. Or (PSAT, Zero, PSAT)
  6662. }
  6663.  
  6664. OperationRegion (KEYS, SystemMemory, P11A, 0x0100)
  6665. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  6666. {
  6667. Offset (0x84),
  6668. PSAT, 32
  6669. }
  6670. }
  6671.  
  6672. Device (PWM2)
  6673. {
  6674. Name (_HID, "80862288")
  6675. Name (_CID, "80862288")
  6676. Name (_DDN, "Intel(R) PWM Controller #2 - 80862289")
  6677. Name (_UID, 0x02)
  6678. Name (RBUF, ResourceTemplate ()
  6679. {
  6680. Memory32Fixed (ReadWrite,
  6681. 0x00000000, // Address Base
  6682. 0x00001000, // Address Length
  6683. )
  6684. })
  6685. Method (_CRS, 0, NotSerialized)
  6686. {
  6687. CreateDWordField (RBUF, 0x04, B0BA)
  6688. CreateDWordField (RBUF, 0x08, B0LN)
  6689. Store (P20A, B0BA)
  6690. Store (P20L, B0LN)
  6691. Return (RBUF)
  6692. }
  6693.  
  6694. Method (_STA, 0, NotSerialized)
  6695. {
  6696. If (LOr (LEqual (P20A, Zero), LEqual (L12D, One)))
  6697. {
  6698. Return (Zero)
  6699. }
  6700.  
  6701. Return (0x0F)
  6702. }
  6703.  
  6704. Method (_PS3, 0, NotSerialized)
  6705. {
  6706. Or (PSAT, 0x03, PSAT)
  6707. Or (PSAT, Zero, PSAT)
  6708. }
  6709.  
  6710. Method (_PS0, 0, NotSerialized)
  6711. {
  6712. And (PSAT, 0xFFFFFFFC, PSAT)
  6713. Or (PSAT, Zero, PSAT)
  6714. }
  6715.  
  6716. OperationRegion (KEYS, SystemMemory, P21A, 0x0100)
  6717. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  6718. {
  6719. Offset (0x84),
  6720. PSAT, 32
  6721. }
  6722. }
  6723.  
  6724. Device (SPI1)
  6725. {
  6726. Name (_HID, "8086228E")
  6727. Name (_CID, "8086228E")
  6728. Name (_DDN, "Intel(R) SPI Controller #1 - 8086228E")
  6729. Name (_UID, One)
  6730. Name (RBUF, Buffer (0x23)
  6731. {
  6732. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  6733. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  6734. /* 0010 */ 0x01, 0x29, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  6735. /* 0018 */ 0x00, 0x00, 0x02, 0x55, 0x01, 0x00, 0x01, 0x00,
  6736. /* 0020 */ 0x02, 0x79, 0x00
  6737. })
  6738. Method (_CRS, 0, NotSerialized)
  6739. {
  6740. CreateDWordField (RBUF, 0x04, B0BA)
  6741. CreateDWordField (RBUF, 0x08, B0LN)
  6742. Store (SP0A, B0BA)
  6743. Store (SP0L, B0LN)
  6744. Return (RBUF)
  6745. }
  6746.  
  6747. Method (_STA, 0, NotSerialized)
  6748. {
  6749. If (LOr (LEqual (SP0A, Zero), LEqual (L15D, One)))
  6750. {
  6751. Return (Zero)
  6752. }
  6753.  
  6754. Return (0x0F)
  6755. }
  6756.  
  6757. Method (_PS3, 0, NotSerialized)
  6758. {
  6759. Or (PSAT, 0x03, PSAT)
  6760. Or (PSAT, Zero, PSAT)
  6761. }
  6762.  
  6763. Method (_PS0, 0, NotSerialized)
  6764. {
  6765. And (PSAT, 0xFFFFFFFC, PSAT)
  6766. Or (PSAT, Zero, PSAT)
  6767. }
  6768.  
  6769. OperationRegion (KEYS, SystemMemory, SP1A, 0x0100)
  6770. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  6771. {
  6772. Offset (0x84),
  6773. PSAT, 32
  6774. }
  6775. }
  6776.  
  6777. Device (SPI2)
  6778. {
  6779. Name (_HID, "8086228E")
  6780. Name (_CID, "8086228E")
  6781. Name (_DDN, "Intel(R) SPI Controller #2 - 80862290")
  6782. Name (_UID, 0x02)
  6783. Name (RBUF, Buffer (0x23)
  6784. {
  6785. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  6786. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  6787. /* 0010 */ 0x01, 0x59, 0x00, 0x00, 0x00, 0x55, 0x06, 0x00,
  6788. /* 0018 */ 0x06, 0x00, 0x02, 0x55, 0x07, 0x00, 0x07, 0x00,
  6789. /* 0020 */ 0x02, 0x79, 0x00
  6790. })
  6791. Method (_CRS, 0, NotSerialized)
  6792. {
  6793. CreateDWordField (RBUF, 0x04, B0BA)
  6794. CreateDWordField (RBUF, 0x08, B0LN)
  6795. Store (S20A, B0BA)
  6796. Store (S20L, B0LN)
  6797. Return (RBUF)
  6798. }
  6799.  
  6800. Method (_STA, 0, NotSerialized)
  6801. {
  6802. If (LOr (LEqual (S20A, Zero), LEqual (L16D, One)))
  6803. {
  6804. Return (Zero)
  6805. }
  6806.  
  6807. Return (0x0F)
  6808. }
  6809.  
  6810. Method (_PS3, 0, NotSerialized)
  6811. {
  6812. Or (PSAT, 0x03, PSAT)
  6813. Or (PSAT, Zero, PSAT)
  6814. }
  6815.  
  6816. Method (_PS0, 0, NotSerialized)
  6817. {
  6818. And (PSAT, 0xFFFFFFFC, PSAT)
  6819. Or (PSAT, Zero, PSAT)
  6820. }
  6821.  
  6822. OperationRegion (KEYS, SystemMemory, S21A, 0x0100)
  6823. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  6824. {
  6825. Offset (0x84),
  6826. PSAT, 32
  6827. }
  6828. }
  6829.  
  6830. Device (SPI3)
  6831. {
  6832. Name (_HID, "8086228E")
  6833. Name (_CID, "8086228E")
  6834. Name (_DDN, "Intel(R) SPI Controller #3 - 808622AC")
  6835. Name (_UID, 0x03)
  6836. Name (RBUF, Buffer (0x23)
  6837. {
  6838. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  6839. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  6840. /* 0010 */ 0x01, 0x5A, 0x00, 0x00, 0x00, 0x55, 0x08, 0x00,
  6841. /* 0018 */ 0x08, 0x00, 0x02, 0x55, 0x09, 0x00, 0x09, 0x00,
  6842. /* 0020 */ 0x02, 0x79, 0x00
  6843. })
  6844. Method (_CRS, 0, NotSerialized)
  6845. {
  6846. CreateDWordField (RBUF, 0x04, B0BA)
  6847. CreateDWordField (RBUF, 0x08, B0LN)
  6848. Store (S30A, B0BA)
  6849. Store (S30L, B0LN)
  6850. Return (RBUF)
  6851. }
  6852.  
  6853. Method (_STA, 0, NotSerialized)
  6854. {
  6855. If (LOr (LEqual (S30A, Zero), LEqual (L16D, One)))
  6856. {
  6857. Return (Zero)
  6858. }
  6859.  
  6860. Return (0x0F)
  6861. }
  6862.  
  6863. Method (_PS3, 0, NotSerialized)
  6864. {
  6865. Or (PSAT, 0x03, PSAT)
  6866. Or (PSAT, Zero, PSAT)
  6867. }
  6868.  
  6869. Method (_PS0, 0, NotSerialized)
  6870. {
  6871. And (PSAT, 0xFFFFFFFC, PSAT)
  6872. Or (PSAT, Zero, PSAT)
  6873. }
  6874.  
  6875. OperationRegion (KEYS, SystemMemory, S31A, 0x0100)
  6876. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  6877. {
  6878. Offset (0x84),
  6879. PSAT, 32
  6880. }
  6881. }
  6882.  
  6883. Device (NFC2)
  6884. {
  6885. Name (_ADR, Zero)
  6886. Name (_HID, "NXP1002")
  6887. Name (_CID, "NXP1002")
  6888. Name (_DDN, "NXP NFC")
  6889. Name (_UID, One)
  6890. Method (_STA, 0, NotSerialized)
  6891. {
  6892. If (LEqual (NFCS, 0x02))
  6893. {
  6894. Return (0x0F)
  6895. }
  6896.  
  6897. Return (Zero)
  6898. }
  6899. }
  6900.  
  6901. Method (CDSM, 5, Serialized)
  6902. {
  6903. If (LEqual (Arg0, Buffer (0x10)
  6904. {
  6905. /* 0000 */ 0xF7, 0xF6, 0xDF, 0x3C, 0x67, 0x42, 0x55, 0x45,
  6906. /* 0008 */ 0xAD, 0x05, 0xB3, 0x0A, 0x3D, 0x89, 0x38, 0xDE
  6907. }))
  6908. {
  6909. If (LEqual (Arg2, Zero))
  6910. {
  6911. If (LEqual (Arg1, One))
  6912. {
  6913. Return (Buffer (One)
  6914. {
  6915. 0x03
  6916. })
  6917. }
  6918. }
  6919. Else
  6920. {
  6921. If (LEqual (Arg2, One))
  6922. {
  6923. Return (Arg4)
  6924. }
  6925. }
  6926. }
  6927.  
  6928. Return (Buffer (One)
  6929. {
  6930. 0x00
  6931. })
  6932. }
  6933.  
  6934. Device (I2C1)
  6935. {
  6936. Name (_HID, "808622C1")
  6937. Name (_CID, "808622C1")
  6938. Name (_DDN, "Intel(R) I2C Controller #1 - 808622C1")
  6939. Name (_UID, One)
  6940. Name (RBUF, Buffer (0x23)
  6941. {
  6942. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  6943. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  6944. /* 0010 */ 0x01, 0x20, 0x00, 0x00, 0x00, 0x55, 0x10, 0x00,
  6945. /* 0018 */ 0x00, 0x00, 0x02, 0x55, 0x11, 0x00, 0x01, 0x00,
  6946. /* 0020 */ 0x02, 0x79, 0x00
  6947. })
  6948. Method (_CRS, 0, NotSerialized)
  6949. {
  6950. CreateDWordField (RBUF, 0x04, B0BA)
  6951. CreateDWordField (RBUF, 0x08, B0LN)
  6952. Store (I10A, B0BA)
  6953. Store (I10L, B0LN)
  6954. Return (RBUF)
  6955. }
  6956.  
  6957. Method (_STA, 0, NotSerialized)
  6958. {
  6959. If (LOr (LEqual (I10A, Zero), LEqual (L21D, One)))
  6960. {
  6961. Return (Zero)
  6962. }
  6963.  
  6964. Return (0x0F)
  6965. }
  6966.  
  6967. Method (_PS3, 0, NotSerialized)
  6968. {
  6969. If (LEqual (I0D3, One))
  6970. {
  6971. Or (PSAT, 0x03, PSAT)
  6972. Or (PSAT, Zero, PSAT)
  6973. }
  6974. }
  6975.  
  6976. Method (_PS0, 0, NotSerialized)
  6977. {
  6978. If (LEqual (I0D3, One))
  6979. {
  6980. And (PSAT, 0xFFFFFFFC, PSAT)
  6981. Or (PSAT, Zero, PSAT)
  6982. }
  6983. }
  6984.  
  6985. OperationRegion (KEYS, SystemMemory, I11A, 0x0100)
  6986. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  6987. {
  6988. Offset (0x84),
  6989. PSAT, 32
  6990. }
  6991. }
  6992.  
  6993. Device (I2C2)
  6994. {
  6995. Name (_HID, "808622C1")
  6996. Name (_CID, "808622C1")
  6997. Name (_DDN, "Intel(R) I2C Controller #2 - 808622C2")
  6998. Name (_UID, 0x02)
  6999. Name (RBUF, Buffer (0x23)
  7000. {
  7001. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  7002. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  7003. /* 0010 */ 0x01, 0x21, 0x00, 0x00, 0x00, 0x55, 0x12, 0x00,
  7004. /* 0018 */ 0x02, 0x00, 0x02, 0x55, 0x13, 0x00, 0x03, 0x00,
  7005. /* 0020 */ 0x02, 0x79, 0x00
  7006. })
  7007. Method (_CRS, 0, NotSerialized)
  7008. {
  7009. CreateDWordField (RBUF, 0x04, B0BA)
  7010. CreateDWordField (RBUF, 0x08, B0LN)
  7011. Store (I20A, B0BA)
  7012. Store (I20L, B0LN)
  7013. Return (RBUF)
  7014. }
  7015.  
  7016. Method (_STA, 0, NotSerialized)
  7017. {
  7018. If (LOr (LEqual (I20A, Zero), LEqual (L22D, One)))
  7019. {
  7020. Return (Zero)
  7021. }
  7022.  
  7023. If (LEqual (BDID, CRRB))
  7024. {
  7025. Return (Zero)
  7026. }
  7027.  
  7028. Return (0x0F)
  7029. }
  7030.  
  7031. Method (_PS3, 0, NotSerialized)
  7032. {
  7033. If (LEqual (I1D3, One))
  7034. {
  7035. Or (PSAT, 0x03, PSAT)
  7036. Or (PSAT, Zero, PSAT)
  7037. }
  7038. }
  7039.  
  7040. Method (_PS0, 0, NotSerialized)
  7041. {
  7042. If (LEqual (I1D3, One))
  7043. {
  7044. And (PSAT, 0xFFFFFFFC, PSAT)
  7045. Or (PSAT, Zero, PSAT)
  7046. }
  7047. }
  7048.  
  7049. OperationRegion (KEYS, SystemMemory, I21A, 0x0100)
  7050. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  7051. {
  7052. Offset (0x84),
  7053. PSAT, 32
  7054. }
  7055. }
  7056.  
  7057. Device (I2C3)
  7058. {
  7059. Name (_HID, "808622C1")
  7060. Name (_CID, "808622C1")
  7061. Name (_DDN, "Intel(R) I2C Controller #3 - 808622C3")
  7062. Name (_UID, 0x03)
  7063. Name (RBUF, Buffer (0x23)
  7064. {
  7065. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  7066. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  7067. /* 0010 */ 0x01, 0x22, 0x00, 0x00, 0x00, 0x55, 0x14, 0x00,
  7068. /* 0018 */ 0x04, 0x00, 0x02, 0x55, 0x15, 0x00, 0x05, 0x00,
  7069. /* 0020 */ 0x02, 0x79, 0x00
  7070. })
  7071. Method (_CRS, 0, NotSerialized)
  7072. {
  7073. CreateDWordField (RBUF, 0x04, B0BA)
  7074. CreateDWordField (RBUF, 0x08, B0LN)
  7075. Store (I30A, B0BA)
  7076. Store (I30L, B0LN)
  7077. Return (RBUF)
  7078. }
  7079.  
  7080. Method (_STA, 0, NotSerialized)
  7081. {
  7082. If (LOr (LEqual (I30A, Zero), LEqual (L23D, One)))
  7083. {
  7084. Return (Zero)
  7085. }
  7086.  
  7087. Return (0x0F)
  7088. }
  7089.  
  7090. Method (_PS3, 0, NotSerialized)
  7091. {
  7092. If (LEqual (I2D3, One))
  7093. {
  7094. Or (PSAT, 0x03, PSAT)
  7095. Or (PSAT, Zero, PSAT)
  7096. }
  7097. }
  7098.  
  7099. Method (_PS0, 0, NotSerialized)
  7100. {
  7101. If (LEqual (I2D3, One))
  7102. {
  7103. And (PSAT, 0xFFFFFFFC, PSAT)
  7104. Or (PSAT, Zero, PSAT)
  7105. }
  7106. }
  7107.  
  7108. OperationRegion (KEYS, SystemMemory, I31A, 0x0100)
  7109. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  7110. {
  7111. Offset (0x84),
  7112. PSAT, 32
  7113. }
  7114.  
  7115. PowerResource (CLK0, 0x00, 0x0000)
  7116. {
  7117. Method (_STA, 0, NotSerialized)
  7118. {
  7119. Return (CKC0)
  7120. }
  7121.  
  7122. Method (_ON, 0, NotSerialized)
  7123. {
  7124. Store (One, CKC0)
  7125. Sleep (0x05)
  7126. }
  7127.  
  7128. Method (_OFF, 0, NotSerialized)
  7129. {
  7130. Store (0x02, CKC0)
  7131. }
  7132. }
  7133. }
  7134.  
  7135. Device (I2C4)
  7136. {
  7137. Name (_HID, "808622C1")
  7138. Name (_CID, "808622C1")
  7139. Name (_DDN, "Intel(R) I2C Controller #4 - 808622C4")
  7140. Name (_UID, 0x04)
  7141. Name (RBUF, Buffer (0x23)
  7142. {
  7143. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  7144. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  7145. /* 0010 */ 0x01, 0x23, 0x00, 0x00, 0x00, 0x55, 0x16, 0x00,
  7146. /* 0018 */ 0x06, 0x00, 0x02, 0x55, 0x17, 0x00, 0x07, 0x00,
  7147. /* 0020 */ 0x02, 0x79, 0x00
  7148. })
  7149. Method (_CRS, 0, NotSerialized)
  7150. {
  7151. CreateDWordField (RBUF, 0x04, B0BA)
  7152. CreateDWordField (RBUF, 0x08, B0LN)
  7153. Store (I40A, B0BA)
  7154. Store (I40L, B0LN)
  7155. Return (RBUF)
  7156. }
  7157.  
  7158. Method (_STA, 0, NotSerialized)
  7159. {
  7160. If (LOr (LEqual (I40A, Zero), LEqual (L24D, One)))
  7161. {
  7162. Return (Zero)
  7163. }
  7164.  
  7165. Return (0x0F)
  7166. }
  7167.  
  7168. Method (_PS3, 0, NotSerialized)
  7169. {
  7170. If (LEqual (I3D3, One))
  7171. {
  7172. Or (PSAT, 0x03, PSAT)
  7173. Or (PSAT, Zero, PSAT)
  7174. }
  7175. }
  7176.  
  7177. Method (_PS0, 0, NotSerialized)
  7178. {
  7179. If (LEqual (I3D3, One))
  7180. {
  7181. And (PSAT, 0xFFFFFFFC, PSAT)
  7182. Or (PSAT, Zero, PSAT)
  7183. }
  7184. }
  7185.  
  7186. OperationRegion (KEYS, SystemMemory, I41A, 0x0100)
  7187. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  7188. {
  7189. Offset (0x84),
  7190. PSAT, 32
  7191. }
  7192.  
  7193. PowerResource (CLK0, 0x00, 0x0000)
  7194. {
  7195. Method (_STA, 0, NotSerialized)
  7196. {
  7197. Return (CKC0)
  7198. }
  7199.  
  7200. Method (_ON, 0, NotSerialized)
  7201. {
  7202. Store (One, CKC0)
  7203. Sleep (0x05)
  7204. }
  7205.  
  7206. Method (_OFF, 0, NotSerialized)
  7207. {
  7208. Store (0x02, CKC0)
  7209. }
  7210. }
  7211.  
  7212. PowerResource (CLK1, 0x00, 0x0000)
  7213. {
  7214. Method (_STA, 0, NotSerialized)
  7215. {
  7216. Return (CKC1)
  7217. }
  7218.  
  7219. Method (_ON, 0, NotSerialized)
  7220. {
  7221. Store (One, CKC1)
  7222. Sleep (0x05)
  7223. }
  7224.  
  7225. Method (_OFF, 0, NotSerialized)
  7226. {
  7227. Store (0x02, CKC1)
  7228. }
  7229. }
  7230. }
  7231.  
  7232. Device (I2C5)
  7233. {
  7234. Name (_HID, "808622C1")
  7235. Name (_CID, "808622C1")
  7236. Name (_DDN, "Intel(R) I2C Controller #5 - 808622C5")
  7237. Name (_UID, 0x05)
  7238. Name (RBUF, Buffer (0x23)
  7239. {
  7240. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  7241. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  7242. /* 0010 */ 0x01, 0x24, 0x00, 0x00, 0x00, 0x55, 0x18, 0x00,
  7243. /* 0018 */ 0x00, 0x00, 0x02, 0x55, 0x19, 0x00, 0x01, 0x00,
  7244. /* 0020 */ 0x02, 0x79, 0x00
  7245. })
  7246. Method (_CRS, 0, NotSerialized)
  7247. {
  7248. CreateDWordField (RBUF, 0x04, B0BA)
  7249. CreateDWordField (RBUF, 0x08, B0LN)
  7250. Store (I50A, B0BA)
  7251. Store (I50L, B0LN)
  7252. Return (RBUF)
  7253. }
  7254.  
  7255. Method (_STA, 0, NotSerialized)
  7256. {
  7257. If (LOr (LEqual (I50A, Zero), LEqual (L25D, One)))
  7258. {
  7259. Return (Zero)
  7260. }
  7261.  
  7262. If (LEqual (BDID, CRRB))
  7263. {
  7264. Return (0x0F)
  7265. }
  7266.  
  7267. Return (Zero)
  7268. }
  7269.  
  7270. Method (_PS3, 0, NotSerialized)
  7271. {
  7272. If (LEqual (I4D3, One))
  7273. {
  7274. Or (PSAT, 0x03, PSAT)
  7275. Or (PSAT, Zero, PSAT)
  7276. }
  7277. }
  7278.  
  7279. Method (_PS0, 0, NotSerialized)
  7280. {
  7281. If (LEqual (I4D3, One))
  7282. {
  7283. And (PSAT, 0xFFFFFFFC, PSAT)
  7284. Or (PSAT, Zero, PSAT)
  7285. }
  7286. }
  7287.  
  7288. OperationRegion (KEYS, SystemMemory, I51A, 0x0100)
  7289. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  7290. {
  7291. Offset (0x84),
  7292. PSAT, 32
  7293. }
  7294. }
  7295.  
  7296. Method (TPSC, 0, Serialized)
  7297. {
  7298. If (LEqual (^^GPO0.AVBL, One))
  7299. {
  7300. If (LEqual (BDID, CRRB))
  7301. {
  7302. If (LEqual (^^GPO0.TSRR, Zero))
  7303. {
  7304. Return (0x03)
  7305. }
  7306. Else
  7307. {
  7308. Return (Zero)
  7309. }
  7310. }
  7311. Else
  7312. {
  7313. If (LEqual (FBID, 0x02))
  7314. {
  7315. If (LEqual (^^GPO0.TSR2, Zero))
  7316. {
  7317. Return (0x03)
  7318. }
  7319. Else
  7320. {
  7321. Return (Zero)
  7322. }
  7323. }
  7324. Else
  7325. {
  7326. If (LEqual (^^GPO0.TSRS, Zero))
  7327. {
  7328. Return (0x03)
  7329. }
  7330. Else
  7331. {
  7332. Return (Zero)
  7333. }
  7334. }
  7335. }
  7336. }
  7337. }
  7338.  
  7339. Method (TPS3, 0, Serialized)
  7340. {
  7341. If (LEqual (^^GPO0.AVBL, One))
  7342. {
  7343. If (LEqual (BDID, CRRB))
  7344. {
  7345. Store (Zero, ^^GPO0.TSRR)
  7346. }
  7347. Else
  7348. {
  7349. If (LEqual (FBID, 0x02))
  7350. {
  7351. Store (Zero, ^^GPO0.TSR2)
  7352. }
  7353. Else
  7354. {
  7355. Store (Zero, ^^GPO0.TSRS)
  7356. }
  7357. }
  7358. }
  7359. }
  7360.  
  7361. Method (TPS0, 0, Serialized)
  7362. {
  7363. If (LEqual (^^GPO0.AVBL, One))
  7364. {
  7365. If (LEqual (BDID, CRRB))
  7366. {
  7367. Store (One, ^^GPO0.TSRR)
  7368. }
  7369. Else
  7370. {
  7371. If (LEqual (FBID, 0x02))
  7372. {
  7373. Store (One, ^^GPO0.TSR2)
  7374. }
  7375. Else
  7376. {
  7377. Store (One, ^^GPO0.TSRS)
  7378. }
  7379. }
  7380. }
  7381.  
  7382. Sleep (0x64)
  7383. }
  7384.  
  7385. Method (TCRS, 1, Serialized)
  7386. {
  7387. Name (RSTL, Buffer (0x69)
  7388. {
  7389. /* 0000 */ 0x8E, 0x1E, 0x00, 0x01, 0x00, 0x01, 0x02, 0x00,
  7390. /* 0008 */ 0x00, 0x01, 0x06, 0x00, 0x80, 0x1A, 0x06, 0x00,
  7391. /* 0010 */ 0x4A, 0x00, 0x5C, 0x5F, 0x53, 0x42, 0x2E, 0x50,
  7392. /* 0018 */ 0x43, 0x49, 0x30, 0x2E, 0x49, 0x32, 0x43, 0x36,
  7393. /* 0020 */ 0x00, 0x8C, 0x20, 0x00, 0x01, 0x01, 0x01, 0x00,
  7394. /* 0028 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17,
  7395. /* 0030 */ 0x00, 0x00, 0x19, 0x00, 0x23, 0x00, 0x00, 0x00,
  7396. /* 0038 */ 0x4B, 0x00, 0x5C, 0x5F, 0x53, 0x42, 0x2E, 0x47,
  7397. /* 0040 */ 0x50, 0x4F, 0x30, 0x00, 0x8C, 0x20, 0x00, 0x01,
  7398. /* 0048 */ 0x00, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00,
  7399. /* 0050 */ 0x00, 0x00, 0x17, 0x00, 0x00, 0x19, 0x00, 0x23,
  7400. /* 0058 */ 0x00, 0x00, 0x00, 0x4C, 0x00, 0x5C, 0x5F, 0x53,
  7401. /* 0060 */ 0x42, 0x2E, 0x47, 0x50, 0x4F, 0x30, 0x00, 0x79,
  7402. /* 0068 */ 0x00
  7403. })
  7404. CreateByteField (RSTL, 0x10, VAL0)
  7405. Store (Arg0, VAL0)
  7406. CreateByteField (RSTL, 0x38, VAL1)
  7407. If (LEqual (BDID, CRRB))
  7408. {
  7409. Store (0x4B, VAL1)
  7410. }
  7411. Else
  7412. {
  7413. If (LEqual (FBID, 0x02))
  7414. {
  7415. Store (0x4E, VAL1)
  7416. }
  7417. Else
  7418. {
  7419. Store (0x50, VAL1)
  7420. }
  7421. }
  7422.  
  7423. Return (RSTL)
  7424. }
  7425.  
  7426. Device (I2C6)
  7427. {
  7428. Name (_HID, "808622C1")
  7429. Name (_CID, "808622C1")
  7430. Name (_DDN, "Intel(R) I2C Controller #6 - 808622C6")
  7431. Name (_UID, 0x06)
  7432. Name (RBUF, Buffer (0x23)
  7433. {
  7434. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  7435. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  7436. /* 0010 */ 0x01, 0x25, 0x00, 0x00, 0x00, 0x55, 0x1A, 0x00,
  7437. /* 0018 */ 0x02, 0x00, 0x02, 0x55, 0x1B, 0x00, 0x03, 0x00,
  7438. /* 0020 */ 0x02, 0x79, 0x00
  7439. })
  7440. Method (_CRS, 0, NotSerialized)
  7441. {
  7442. CreateDWordField (RBUF, 0x04, B0BA)
  7443. CreateDWordField (RBUF, 0x08, B0LN)
  7444. Store (I60A, B0BA)
  7445. Store (I60L, B0LN)
  7446. Return (RBUF)
  7447. }
  7448.  
  7449. Method (_STA, 0, NotSerialized)
  7450. {
  7451. If (LOr (LEqual (I60A, Zero), LEqual (L26D, One)))
  7452. {
  7453. Return (Zero)
  7454. }
  7455.  
  7456. Return (0x0F)
  7457. }
  7458.  
  7459. Method (_PS3, 0, NotSerialized)
  7460. {
  7461. If (LEqual (I5D3, One))
  7462. {
  7463. Or (PSAT, 0x03, PSAT)
  7464. Or (PSAT, Zero, PSAT)
  7465. }
  7466. }
  7467.  
  7468. Method (_PS0, 0, NotSerialized)
  7469. {
  7470. If (LEqual (I5D3, One))
  7471. {
  7472. And (PSAT, 0xFFFFFFFC, PSAT)
  7473. Or (PSAT, Zero, PSAT)
  7474. }
  7475. }
  7476.  
  7477. OperationRegion (KEYS, SystemMemory, I61A, 0x0100)
  7478. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  7479. {
  7480. Offset (0x84),
  7481. PSAT, 32
  7482. }
  7483. }
  7484.  
  7485. Device (I2C7)
  7486. {
  7487. Name (_HID, "808622C1")
  7488. Name (_CID, "808622C1")
  7489. Name (_DDN, "Intel(R) I2C Controller #7 - 808622C7")
  7490. Name (_UID, 0x07)
  7491. Name (RBUF, Buffer (0x23)
  7492. {
  7493. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  7494. /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x89, 0x06, 0x00, 0x05,
  7495. /* 0010 */ 0x01, 0x26, 0x00, 0x00, 0x00, 0x55, 0x1C, 0x00,
  7496. /* 0018 */ 0x04, 0x00, 0x02, 0x55, 0x1D, 0x00, 0x05, 0x00,
  7497. /* 0020 */ 0x02, 0x79, 0x00
  7498. })
  7499. Method (_CRS, 0, NotSerialized)
  7500. {
  7501. CreateDWordField (RBUF, 0x04, B0BA)
  7502. CreateDWordField (RBUF, 0x08, B0LN)
  7503. Store (I70A, B0BA)
  7504. Store (I70L, B0LN)
  7505. Return (RBUF)
  7506. }
  7507.  
  7508. Method (_STA, 0, NotSerialized)
  7509. {
  7510. If (LOr (LEqual (I70A, Zero), LEqual (L27D, One)))
  7511. {
  7512. Return (Zero)
  7513. }
  7514.  
  7515. Return (0x0F)
  7516. }
  7517.  
  7518. Method (_PS3, 0, NotSerialized)
  7519. {
  7520. If (LEqual (I6D3, One))
  7521. {
  7522. Or (PSAT, 0x03, PSAT)
  7523. Or (PSAT, Zero, PSAT)
  7524. }
  7525. }
  7526.  
  7527. Method (_PS0, 0, NotSerialized)
  7528. {
  7529. If (LEqual (I6D3, One))
  7530. {
  7531. And (PSAT, 0xFFFFFFFC, PSAT)
  7532. Or (PSAT, Zero, PSAT)
  7533. }
  7534. }
  7535.  
  7536. OperationRegion (KEYS, SystemMemory, I71A, 0x0100)
  7537. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  7538. {
  7539. Offset (0x84),
  7540. PSAT, 32
  7541. }
  7542. }
  7543.  
  7544. Scope (HDEF)
  7545. {
  7546. OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
  7547. Field (HDAR, WordAcc, NoLock, Preserve)
  7548. {
  7549. DCKA, 1,
  7550. Offset (0x01),
  7551. DCKM, 1,
  7552. , 6,
  7553. DCKS, 1,
  7554. Offset (0x08),
  7555. Offset (0x09),
  7556. PMEE, 1,
  7557. , 6,
  7558. PMES, 1
  7559. }
  7560.  
  7561. Name (_PRW, Package (0x02)
  7562. {
  7563. 0x0D,
  7564. 0x04
  7565. })
  7566. Method (_DSW, 3, NotSerialized)
  7567. {
  7568. }
  7569. }
  7570.  
  7571. Device (IISH)
  7572. {
  7573. Name (_HID, "808622D8")
  7574. Name (_CID, "808622D8")
  7575. Name (_DDN, "Intel(R) Integrated Sensor Hub - 808622D8")
  7576. Name (RBUF, ResourceTemplate ()
  7577. {
  7578. Memory32Fixed (ReadWrite,
  7579. 0x00000000, // Address Base
  7580. 0x00001000, // Address Length
  7581. )
  7582. Memory32Fixed (ReadWrite,
  7583. 0x00000000, // Address Base
  7584. 0x00001000, // Address Length
  7585. )
  7586. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  7587. {
  7588. 0x00000072,
  7589. }
  7590. })
  7591. Method (_CRS, 0, NotSerialized)
  7592. {
  7593. CreateDWordField (RBUF, 0x04, B0BA)
  7594. Store (ISH0, B0BA)
  7595. CreateDWordField (RBUF, 0x10, B1BA)
  7596. Store (ISH1, B1BA)
  7597. Return (RBUF)
  7598. }
  7599.  
  7600. Method (_STA, 0, NotSerialized)
  7601. {
  7602. If (LOr (LEqual (ISH0, Zero), LEqual (ISHD, One)))
  7603. {
  7604. Return (Zero)
  7605. }
  7606.  
  7607. Return (0x0F)
  7608. }
  7609.  
  7610. Method (_DIS, 0, NotSerialized)
  7611. {
  7612. }
  7613.  
  7614. Method (_PS3, 0, NotSerialized)
  7615. {
  7616. Or (PSAT, 0x03, PSAT)
  7617. Or (PSAT, Zero, PSAT)
  7618. }
  7619.  
  7620. Method (_PS0, 0, NotSerialized)
  7621. {
  7622. And (PSAT, 0xFFFFFFFC, PSAT)
  7623. Or (PSAT, Zero, PSAT)
  7624. }
  7625.  
  7626. OperationRegion (KEYS, SystemMemory, ISH1, 0x0100)
  7627. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  7628. {
  7629. Offset (0x84),
  7630. PSAT, 32
  7631. }
  7632. }
  7633.  
  7634. Device (LPEA)
  7635. {
  7636. Name (_HID, "808622A8")
  7637. Name (_CID, "808622A8")
  7638. Name (_DDN, "Intel(R) Low Power Audio Controller - 808622A8")
  7639. Name (_UID, One)
  7640. Name (RBUF, Buffer (0x7F)
  7641. {
  7642. /* 0000 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  7643. /* 0008 */ 0x00, 0x00, 0x20, 0x00, 0x86, 0x09, 0x00, 0x01,
  7644. /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
  7645. /* 0018 */ 0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  7646. /* 0020 */ 0x00, 0x00, 0x20, 0x00, 0x89, 0x06, 0x00, 0x05,
  7647. /* 0028 */ 0x01, 0x18, 0x00, 0x00, 0x00, 0x89, 0x06, 0x00,
  7648. /* 0030 */ 0x05, 0x01, 0x19, 0x00, 0x00, 0x00, 0x89, 0x06,
  7649. /* 0038 */ 0x00, 0x05, 0x01, 0x1A, 0x00, 0x00, 0x00, 0x89,
  7650. /* 0040 */ 0x06, 0x00, 0x05, 0x01, 0x1B, 0x00, 0x00, 0x00,
  7651. /* 0048 */ 0x89, 0x06, 0x00, 0x05, 0x01, 0x1C, 0x00, 0x00,
  7652. /* 0050 */ 0x00, 0x89, 0x06, 0x00, 0x05, 0x01, 0x1D, 0x00,
  7653. /* 0058 */ 0x00, 0x00, 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01,
  7654. /* 0060 */ 0x00, 0x15, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
  7655. /* 0068 */ 0x17, 0x00, 0x00, 0x19, 0x00, 0x23, 0x00, 0x00,
  7656. /* 0070 */ 0x00, 0x4D, 0x00, 0x5C, 0x5F, 0x53, 0x42, 0x2E,
  7657. /* 0078 */ 0x47, 0x50, 0x4F, 0x33, 0x00, 0x79, 0x00
  7658. })
  7659. Method (_CRS, 0, NotSerialized)
  7660. {
  7661. CreateDWordField (RBUF, 0x04, B0BA)
  7662. Store (LPE0, B0BA)
  7663. CreateDWordField (RBUF, 0x10, B1BA)
  7664. Store (LPE1, B1BA)
  7665. CreateDWordField (RBUF, 0x1C, B2BA)
  7666. Store (LPE2, B2BA)
  7667. Return (RBUF)
  7668. }
  7669.  
  7670. Method (_STA, 0, NotSerialized)
  7671. {
  7672. If (LAnd (LNotEqual (LPE0, Zero), LEqual (LPED, Zero)))
  7673. {
  7674. Return (0x0F)
  7675. }
  7676.  
  7677. Return (Zero)
  7678. }
  7679.  
  7680. Method (_DIS, 0, NotSerialized)
  7681. {
  7682. }
  7683.  
  7684. Method (_PS3, 0, NotSerialized)
  7685. {
  7686. Or (PSAT, 0x03, PSAT)
  7687. Or (PSAT, Zero, PSAT)
  7688. }
  7689.  
  7690. Method (_PS0, 0, NotSerialized)
  7691. {
  7692. And (PSAT, 0xFFFFFFFC, PSAT)
  7693. Or (PSAT, Zero, PSAT)
  7694. }
  7695.  
  7696. OperationRegion (KEYS, SystemMemory, LPE1, 0x0100)
  7697. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  7698. {
  7699. Offset (0x84),
  7700. PSAT, 32
  7701. }
  7702.  
  7703. Device (ADMA)
  7704. {
  7705. Name (_HID, "ADMA22A8")
  7706. Name (_CID, "ADMA22A8")
  7707. Name (_DDN, "Intel(R) Audio DMA0 - DMA0F28")
  7708. Name (_UID, One)
  7709. Name (RBUF, ResourceTemplate ()
  7710. {
  7711. Memory32Fixed (ReadWrite,
  7712. 0x00000000, // Address Base
  7713. 0x00200000, // Address Length
  7714. )
  7715. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  7716. {
  7717. 0x00000018,
  7718. }
  7719. })
  7720. Method (_CRS, 0, NotSerialized)
  7721. {
  7722. CreateDWordField (RBUF, 0x04, B3BA)
  7723. Store (LPE0, B3BA)
  7724. Return (RBUF)
  7725. }
  7726.  
  7727. Method (_STA, 0, NotSerialized)
  7728. {
  7729. If (LOr (LEqual (OSID, 0x02), LEqual (OSID, 0x03)))
  7730. {
  7731. Return (0x0F)
  7732. }
  7733.  
  7734. Return (Zero)
  7735. }
  7736. }
  7737. }
  7738.  
  7739. Device (AMCR)
  7740. {
  7741. Name (_HID, "AMCR22A8")
  7742. Name (_CID, "AMCR22A8")
  7743. Name (_DDN, "Intel(R) Audio Machine Driver - AMCR0F28")
  7744. Name (_UID, One)
  7745. Method (_CRS, 0, NotSerialized)
  7746. {
  7747. Name (RBUF, Buffer (0x6B)
  7748. {
  7749. /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x11,
  7750. /* 0008 */ 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00,
  7751. /* 0010 */ 0x00, 0x19, 0x00, 0x23, 0x00, 0x00, 0x00, 0x4D,
  7752. /* 0018 */ 0x00, 0x5C, 0x5F, 0x53, 0x42, 0x2E, 0x47, 0x50,
  7753. /* 0020 */ 0x4F, 0x33, 0x00, 0x8C, 0x20, 0x00, 0x01, 0x00,
  7754. /* 0028 */ 0x01, 0x00, 0x11, 0x00, 0x03, 0x00, 0x00, 0x00,
  7755. /* 0030 */ 0x00, 0x17, 0x00, 0x00, 0x19, 0x00, 0x23, 0x00,
  7756. /* 0038 */ 0x00, 0x00, 0x06, 0x00, 0x5C, 0x5F, 0x53, 0x42,
  7757. /* 0040 */ 0x2E, 0x47, 0x50, 0x4F, 0x31, 0x00, 0x8C, 0x20,
  7758. /* 0048 */ 0x00, 0x01, 0x00, 0x01, 0x00, 0x11, 0x00, 0x03,
  7759. /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x19,
  7760. /* 0058 */ 0x00, 0x23, 0x00, 0x00, 0x00, 0x06, 0x00, 0x5C,
  7761. /* 0060 */ 0x5F, 0x53, 0x42, 0x2E, 0x47, 0x50, 0x4F, 0x31,
  7762. /* 0068 */ 0x00, 0x79, 0x00
  7763. })
  7764. Return (RBUF)
  7765. }
  7766.  
  7767. Method (_STA, 0, NotSerialized)
  7768. {
  7769. If (LEqual (LPES, 0x02))
  7770. {
  7771. Return (0x0F)
  7772. }
  7773.  
  7774. Return (Zero)
  7775. }
  7776. }
  7777.  
  7778. Device (HAD0)
  7779. {
  7780. Name (_HID, "HAD022A8")
  7781. Name (_CID, "HAD022A8")
  7782. Name (_DDN, "Intel(R) HDMI Audio Driver - HAD")
  7783. Name (_UID, One)
  7784. Method (_CRS, 0, NotSerialized)
  7785. {
  7786. Name (RBUF, ResourceTemplate ()
  7787. {
  7788. Memory32Fixed (ReadWrite,
  7789. 0x00065800, // Address Base
  7790. 0x00000140, // Address Length
  7791. )
  7792. })
  7793. Return (RBUF)
  7794. }
  7795.  
  7796. Method (_STA, 0, NotSerialized)
  7797. {
  7798. If (LEqual (ADED, One))
  7799. {
  7800. If (LOr (LEqual (OSID, 0x02), LEqual (OSID, 0x03)))
  7801. {
  7802. Return (0x0F)
  7803. }
  7804. }
  7805.  
  7806. Return (Zero)
  7807. }
  7808. }
  7809.  
  7810. Device (SPRC)
  7811. {
  7812. Name (_HID, EisaId ("PNP0C02"))
  7813. Name (_UID, 0x03)
  7814. Name (RBUF, ResourceTemplate ()
  7815. {
  7816. Memory32Fixed (ReadWrite,
  7817. 0x00000000, // Address Base
  7818. 0x00000000, // Address Length
  7819. )
  7820. Memory32Fixed (ReadWrite,
  7821. 0x00000000, // Address Base
  7822. 0x00000000, // Address Length
  7823. )
  7824. Memory32Fixed (ReadWrite,
  7825. 0x00000000, // Address Base
  7826. 0x00000000, // Address Length
  7827. )
  7828. Memory32Fixed (ReadWrite,
  7829. 0x00000000, // Address Base
  7830. 0x00000000, // Address Length
  7831. )
  7832. Memory32Fixed (ReadWrite,
  7833. 0x00000000, // Address Base
  7834. 0x00000000, // Address Length
  7835. )
  7836. Memory32Fixed (ReadWrite,
  7837. 0x00000000, // Address Base
  7838. 0x00000000, // Address Length
  7839. )
  7840. Memory32Fixed (ReadWrite,
  7841. 0x00000000, // Address Base
  7842. 0x00000000, // Address Length
  7843. )
  7844. Memory32Fixed (ReadWrite,
  7845. 0x00000000, // Address Base
  7846. 0x00000000, // Address Length
  7847. )
  7848. Memory32Fixed (ReadWrite,
  7849. 0x00000000, // Address Base
  7850. 0x00000000, // Address Length
  7851. )
  7852. Memory32Fixed (ReadWrite,
  7853. 0x00000000, // Address Base
  7854. 0x00000000, // Address Length
  7855. )
  7856. Memory32Fixed (ReadWrite,
  7857. 0x00000000, // Address Base
  7858. 0x00000000, // Address Length
  7859. )
  7860. Memory32Fixed (ReadWrite,
  7861. 0x00000000, // Address Base
  7862. 0x00000000, // Address Length
  7863. )
  7864. Memory32Fixed (ReadWrite,
  7865. 0x00000000, // Address Base
  7866. 0x00000000, // Address Length
  7867. )
  7868. Memory32Fixed (ReadWrite,
  7869. 0x00000000, // Address Base
  7870. 0x00000000, // Address Length
  7871. )
  7872. Memory32Fixed (ReadWrite,
  7873. 0x00000000, // Address Base
  7874. 0x00000000, // Address Length
  7875. )
  7876. Memory32Fixed (ReadWrite,
  7877. 0x00000000, // Address Base
  7878. 0x00000000, // Address Length
  7879. )
  7880. Memory32Fixed (ReadWrite,
  7881. 0x00000000, // Address Base
  7882. 0x00000000, // Address Length
  7883. )
  7884. Memory32Fixed (ReadWrite,
  7885. 0x00000000, // Address Base
  7886. 0x00000000, // Address Length
  7887. )
  7888. Memory32Fixed (ReadWrite,
  7889. 0x00000000, // Address Base
  7890. 0x00000000, // Address Length
  7891. )
  7892. })
  7893. Method (_CRS, 0, NotSerialized)
  7894. {
  7895. CreateDWordField (RBUF, 0x04, BR01)
  7896. Store (EM1A, BR01)
  7897. If (LAnd (LNotEqual (BR01, Zero), LNotEqual (BR01, 0xFFFFF000)))
  7898. {
  7899. CreateDWordField (RBUF, 0x08, LN01)
  7900. Store (EM1L, LN01)
  7901. }
  7902.  
  7903. CreateDWordField (RBUF, 0x10, BR02)
  7904. Store (SI1A, BR02)
  7905. If (LAnd (LNotEqual (BR02, Zero), LNotEqual (BR02, 0xFFFFF000)))
  7906. {
  7907. CreateDWordField (RBUF, 0x14, LN02)
  7908. Store (SI1L, LN02)
  7909. }
  7910.  
  7911. CreateDWordField (RBUF, 0x1C, BR03)
  7912. Store (SD1A, BR03)
  7913. If (LAnd (LNotEqual (BR03, Zero), LNotEqual (BR03, 0xFFFFF000)))
  7914. {
  7915. CreateDWordField (RBUF, 0x20, LN03)
  7916. Store (SD1L, LN03)
  7917. }
  7918.  
  7919. CreateDWordField (RBUF, 0x28, BR04)
  7920. Store (D11A, BR04)
  7921. If (LAnd (LNotEqual (BR04, Zero), LNotEqual (BR04, 0xFFFFF000)))
  7922. {
  7923. CreateDWordField (RBUF, 0x2C, LN04)
  7924. Store (D11L, LN04)
  7925. }
  7926.  
  7927. CreateDWordField (RBUF, 0x34, BR05)
  7928. Store (P11A, BR05)
  7929. If (LAnd (LNotEqual (BR05, Zero), LNotEqual (BR05, 0xFFFFF000)))
  7930. {
  7931. CreateDWordField (RBUF, 0x38, LN05)
  7932. Store (P11L, LN05)
  7933. }
  7934.  
  7935. CreateDWordField (RBUF, 0x40, BR06)
  7936. Store (P21A, BR06)
  7937. If (LAnd (LNotEqual (BR06, Zero), LNotEqual (BR06, 0xFFFFF000)))
  7938. {
  7939. CreateDWordField (RBUF, 0x44, LN06)
  7940. Store (P21L, LN06)
  7941. }
  7942.  
  7943. CreateDWordField (RBUF, 0x4C, BR07)
  7944. Store (U11A, BR07)
  7945. If (LAnd (LNotEqual (BR07, Zero), LNotEqual (BR07, 0xFFFFF000)))
  7946. {
  7947. CreateDWordField (RBUF, 0x50, LN07)
  7948. Store (U11L, LN07)
  7949. }
  7950.  
  7951. CreateDWordField (RBUF, 0x58, BR08)
  7952. Store (U21A, BR08)
  7953. If (LAnd (LNotEqual (BR08, Zero), LNotEqual (BR08, 0xFFFFF000)))
  7954. {
  7955. CreateDWordField (RBUF, 0x5C, LN08)
  7956. Store (U21L, LN08)
  7957. }
  7958.  
  7959. CreateDWordField (RBUF, 0x64, BR09)
  7960. Store (SP1A, BR09)
  7961. If (LAnd (LNotEqual (BR09, Zero), LNotEqual (BR09, 0xFFFFF000)))
  7962. {
  7963. CreateDWordField (RBUF, 0x68, LN09)
  7964. Store (SP1L, LN09)
  7965. }
  7966.  
  7967. CreateDWordField (RBUF, 0x70, BR10)
  7968. Store (S21A, BR10)
  7969. If (LAnd (LNotEqual (BR10, Zero), LNotEqual (BR10, 0xFFFFF000)))
  7970. {
  7971. CreateDWordField (RBUF, 0x74, LN10)
  7972. Store (S21L, LN10)
  7973. }
  7974.  
  7975. CreateDWordField (RBUF, 0x7C, BR11)
  7976. Store (S31A, BR11)
  7977. If (LAnd (LNotEqual (BR11, Zero), LNotEqual (BR11, 0xFFFFF000)))
  7978. {
  7979. CreateDWordField (RBUF, 0x80, LN11)
  7980. Store (S31L, LN11)
  7981. }
  7982.  
  7983. CreateDWordField (RBUF, 0x88, BR12)
  7984. Store (D21A, BR12)
  7985. If (LAnd (LNotEqual (BR12, Zero), LNotEqual (BR12, 0xFFFFF000)))
  7986. {
  7987. CreateDWordField (RBUF, 0x8C, LN12)
  7988. Store (D21L, LN12)
  7989. }
  7990.  
  7991. CreateDWordField (RBUF, 0x94, BR13)
  7992. Store (I11A, BR13)
  7993. If (LAnd (LNotEqual (BR13, Zero), LNotEqual (BR13, 0xFFFFF000)))
  7994. {
  7995. CreateDWordField (RBUF, 0x98, LN13)
  7996. Store (I11L, LN13)
  7997. }
  7998.  
  7999. CreateDWordField (RBUF, 0xA0, BR14)
  8000. Store (I21A, BR14)
  8001. If (LAnd (LNotEqual (BR14, Zero), LNotEqual (BR14, 0xFFFFF000)))
  8002. {
  8003. CreateDWordField (RBUF, 0xA4, LN14)
  8004. Store (I21L, LN14)
  8005. }
  8006.  
  8007. CreateDWordField (RBUF, 0xAC, BR15)
  8008. Store (I31A, BR15)
  8009. If (LAnd (LNotEqual (BR15, Zero), LNotEqual (BR15, 0xFFFFF000)))
  8010. {
  8011. CreateDWordField (RBUF, 0xB0, LN15)
  8012. Store (I31L, LN15)
  8013. }
  8014.  
  8015. CreateDWordField (RBUF, 0xB8, BR16)
  8016. Store (I41A, BR16)
  8017. If (LAnd (LNotEqual (BR16, Zero), LNotEqual (BR16, 0xFFFFF000)))
  8018. {
  8019. CreateDWordField (RBUF, 0xBC, LN16)
  8020. Store (I41L, LN16)
  8021. }
  8022.  
  8023. CreateDWordField (RBUF, 0xC4, BR17)
  8024. Store (I51A, BR17)
  8025. If (LAnd (LNotEqual (BR17, Zero), LNotEqual (BR17, 0xFFFFF000)))
  8026. {
  8027. CreateDWordField (RBUF, 0xC8, LN17)
  8028. Store (I51L, LN17)
  8029. }
  8030.  
  8031. CreateDWordField (RBUF, 0xD0, BR18)
  8032. Store (I61A, BR18)
  8033. If (LAnd (LNotEqual (BR18, Zero), LNotEqual (BR18, 0xFFFFF000)))
  8034. {
  8035. CreateDWordField (RBUF, 0xD4, LN18)
  8036. Store (I61L, LN18)
  8037. }
  8038.  
  8039. CreateDWordField (RBUF, 0xDC, BR19)
  8040. Store (I71A, BR19)
  8041. If (LAnd (LNotEqual (BR19, Zero), LNotEqual (BR19, 0xFFFFF000)))
  8042. {
  8043. CreateDWordField (RBUF, 0xE0, LN19)
  8044. Store (I71L, LN19)
  8045. }
  8046.  
  8047. Return (RBUF)
  8048. }
  8049. }
  8050.  
  8051. Device (SEC0)
  8052. {
  8053. Name (_ADR, 0x001A0000)
  8054. Name (_S0W, 0x03)
  8055. OperationRegion (SECS, PCI_Config, 0x64, 0x04)
  8056. Field (SECS, DWordAcc, NoLock, Preserve)
  8057. {
  8058. SHAD, 32
  8059. }
  8060.  
  8061. OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
  8062. Field (PMEB, WordAcc, NoLock, Preserve)
  8063. {
  8064. Offset (0x01),
  8065. PMEE, 1,
  8066. , 6,
  8067. PMES, 1
  8068. }
  8069.  
  8070. Method (_DSW, 3, NotSerialized)
  8071. {
  8072. }
  8073.  
  8074. Name (RBUF, ResourceTemplate ()
  8075. {
  8076. Memory32Fixed (ReadWrite,
  8077. 0x00000000, // Address Base
  8078. 0x00000000, // Address Length
  8079. )
  8080. Memory32Fixed (ReadOnly,
  8081. 0x00000000, // Address Base
  8082. 0x01000000, // Address Length
  8083. )
  8084. })
  8085. Method (_CRS, 0, NotSerialized)
  8086. {
  8087. If (LAnd (LEqual (OSYS, 0x07DF), LNotEqual (PAVL, Zero)))
  8088. {
  8089. CreateDWordField (RBUF, 0x04, B0BA)
  8090. CreateDWordField (RBUF, 0x08, B0LN)
  8091. CreateDWordField (RBUF, 0x10, DBAS)
  8092. Store (PAVB, B0BA)
  8093. Store (PAVL, B0LN)
  8094. Store (DRMB, DBAS)
  8095. Return (RBUF)
  8096. }
  8097.  
  8098. Return (ResourceTemplate ()
  8099. {
  8100. })
  8101. }
  8102.  
  8103. Method (_DSM, 4, Serialized)
  8104. {
  8105. Name (_T_1, Zero)
  8106. Name (_T_0, Zero)
  8107. If (LEqual (Arg0, Buffer (0x10)
  8108. {
  8109. /* 0000 */ 0x1D, 0xE7, 0x30, 0x17, 0xDD, 0xE5, 0x34, 0x4A,
  8110. /* 0008 */ 0xBE, 0x57, 0x4D, 0x76, 0xB6, 0xA2, 0xFE, 0x37
  8111. }))
  8112. {
  8113. If (LEqual (Arg2, Zero))
  8114. {
  8115. If (LEqual (Arg1, Zero))
  8116. {
  8117. Return (Buffer (One)
  8118. {
  8119. 0x03
  8120. })
  8121. }
  8122. Else
  8123. {
  8124. Return (Zero)
  8125. }
  8126. }
  8127.  
  8128. If (LEqual (Arg2, One))
  8129. {
  8130. While (One)
  8131. {
  8132. Store (DerefOf (Index (Arg3, Zero)), _T_0)
  8133. If (LEqual (_T_0, Zero)) {}
  8134. Else
  8135. {
  8136. If (LEqual (_T_0, One))
  8137. {
  8138. If (CondRefOf (\_SB.SLPB))
  8139. {
  8140. Notify (SLPB, 0x80)
  8141. P8XH (Zero, 0x5D)
  8142. }
  8143. }
  8144. Else
  8145. {
  8146. If (LEqual (_T_0, 0x02)) {}
  8147. Else
  8148. {
  8149. If (LEqual (_T_0, 0x03)) {}
  8150. }
  8151. }
  8152. }
  8153.  
  8154. Break
  8155. }
  8156.  
  8157. Return (Zero)
  8158. }
  8159. Else
  8160. {
  8161. Return (Zero)
  8162. }
  8163. }
  8164. Else
  8165. {
  8166. If (LEqual (Arg0, Buffer (0x10)
  8167. {
  8168. /* 0000 */ 0xF7, 0xB3, 0x27, 0xAD, 0xAF, 0x13, 0xA3, 0x4F,
  8169. /* 0008 */ 0x93, 0xC9, 0xEE, 0xFD, 0x1F, 0x9D, 0x6A, 0xC7
  8170. }))
  8171. {
  8172. While (One)
  8173. {
  8174. Store (Arg2, _T_1)
  8175. If (LEqual (_T_1, Zero))
  8176. {
  8177. Return (0x03)
  8178. }
  8179. Else
  8180. {
  8181. If (LEqual (_T_1, One))
  8182. {
  8183. Return (DRMB)
  8184. }
  8185. Else
  8186. {
  8187. Return (Zero)
  8188. }
  8189. }
  8190.  
  8191. Break
  8192. }
  8193. }
  8194. Else
  8195. {
  8196. Return (Buffer (One)
  8197. {
  8198. 0x00
  8199. })
  8200. }
  8201. }
  8202. }
  8203. }
  8204. }
  8205.  
  8206. Scope (_PR)
  8207. {
  8208. Processor (CPU0, 0x01, 0x00000000, 0x00) {}
  8209. Processor (CPU1, 0x02, 0x00000000, 0x00) {}
  8210. Processor (CPU2, 0x03, 0x00000000, 0x00) {}
  8211. Processor (CPU3, 0x04, 0x00000000, 0x00) {}
  8212. }
  8213.  
  8214. Name (PICM, Zero)
  8215. Mutex (MUTX, 0x00)
  8216. OperationRegion (PRT0, SystemIO, 0x80, 0x04)
  8217. Field (PRT0, DWordAcc, Lock, Preserve)
  8218. {
  8219. P80H, 32
  8220. }
  8221.  
  8222. Method (P8XH, 2, Serialized)
  8223. {
  8224. If (LEqual (Arg0, Zero))
  8225. {
  8226. Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
  8227. }
  8228. Else
  8229. {
  8230. If (LEqual (Arg0, One))
  8231. {
  8232. Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)
  8233. ), P80D)
  8234. }
  8235. Else
  8236. {
  8237. If (LEqual (Arg0, 0x02))
  8238. {
  8239. Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)
  8240. ), P80D)
  8241. }
  8242. Else
  8243. {
  8244. If (LEqual (Arg0, 0x03))
  8245. {
  8246. Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)
  8247. ), P80D)
  8248. }
  8249. }
  8250. }
  8251. }
  8252.  
  8253. Store (P80D, P80H)
  8254. }
  8255.  
  8256. OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
  8257. Field (SPRT, ByteAcc, Lock, Preserve)
  8258. {
  8259. SSMP, 8
  8260. }
  8261.  
  8262. Method (_PIC, 1, NotSerialized)
  8263. {
  8264. Store (Arg0, GPIC)
  8265. Store (Arg0, PICM)
  8266. }
  8267.  
  8268. OperationRegion (SWC0, SystemIO, 0x0610, 0x0F)
  8269. Field (SWC0, ByteAcc, NoLock, Preserve)
  8270. {
  8271. G1S, 8,
  8272. Offset (0x04),
  8273. G1E, 8,
  8274. Offset (0x0A),
  8275. G1S2, 8,
  8276. G1S3, 8
  8277. }
  8278.  
  8279. OperationRegion (SWC1, SystemIO, PMBS, 0x34)
  8280. Field (SWC1, DWordAcc, NoLock, Preserve)
  8281. {
  8282. Offset (0x02),
  8283. PM1E, 16,
  8284. Offset (0x20),
  8285. G0S, 32,
  8286. Offset (0x28),
  8287. G0EN, 32,
  8288. Offset (0x30),
  8289. SSMI, 32
  8290. }
  8291.  
  8292. OperationRegion (SCWS, SystemMemory, Or (GBA1, 0x0200), 0x04)
  8293. Field (SCWS, DWordAcc, Lock, Preserve)
  8294. {
  8295. , 9,
  8296. SOCW, 1
  8297. }
  8298.  
  8299. OperationRegion (TPIS, SystemMemory, Or (GBA3, 0x0204), 0x04)
  8300. Field (TPIS, DWordAcc, Lock, Preserve)
  8301. {
  8302. , 14,
  8303. PADW, 1
  8304. }
  8305.  
  8306. Method (PPTS, 1, NotSerialized)
  8307. {
  8308. Store (SSMI, SSEN)
  8309. Store (PM1E, SPM1)
  8310. Store (Zero, P80D)
  8311. P8XH (Zero, Arg0)
  8312. And (XMMA, 0xFFFFFFF0, XMIO)
  8313. If (_OSI ("Android"))
  8314. {
  8315. If (LEqual (\_SB.PWRB.UPPS, One)) {}
  8316. }
  8317.  
  8318. Store (Ones, G1S3)
  8319. Store (Ones, G1S2)
  8320. Store (One, G1S)
  8321. Store (One, G1E)
  8322. Store (Ones, G0S)
  8323. Store (One, SOCW)
  8324. Store (One, PADW)
  8325. If (CondRefOf (TCGM))
  8326. {
  8327. \_SB.PCI0.SBRG.TPM.PTS (Arg0)
  8328. }
  8329.  
  8330. If (LEqual (Arg0, 0x03))
  8331. {
  8332. If (CondRefOf (DTSE))
  8333. {
  8334. If (LGreaterEqual (DTSE, One))
  8335. {
  8336. Store (0x1E, DTSF)
  8337. Store (0xA7, SSMP)
  8338. }
  8339. }
  8340. }
  8341. }
  8342.  
  8343. Name (XMIO, Zero)
  8344. OperationRegion (XPEB, SystemMemory, Add (PEBS, 0x000A0000), 0x78)
  8345. Field (XPEB, DWordAcc, NoLock, Preserve)
  8346. {
  8347. Offset (0x04),
  8348. , 1,
  8349. XMSE, 1,
  8350. Offset (0x10),
  8351. XMMA, 32,
  8352. Offset (0x74),
  8353. XHDX, 2
  8354. }
  8355.  
  8356. Method (XWAM, 1, Serialized)
  8357. {
  8358. If (LEqual (XPME, One))
  8359. {
  8360. If (LAnd (LNotEqual (XMIO, Zero), LNotEqual (XMIO, 0xFFFFFFF0)))
  8361. {
  8362. Store (XHDX, Local0)
  8363. Store (XMMA, Local1)
  8364. Store (XMSE, Local2)
  8365. Store (XMIO, XMMA)
  8366. Store (Zero, XHDX)
  8367. Store (One, XMSE)
  8368. OperationRegion (XWAM, SystemMemory, Add (XMIO, 0x80A4), 0x04)
  8369. Field (XWAM, DWordAcc, NoLock, Preserve)
  8370. {
  8371. , 28,
  8372. PMEC, 1
  8373. }
  8374.  
  8375. Store (One, PMEC)
  8376. Store (One, PMEB)
  8377. Store (Local2, XMSE)
  8378. Store (Local1, XMMA)
  8379. Store (Local0, XHDX)
  8380. P8XH (One, Arg0)
  8381. }
  8382. }
  8383. }
  8384.  
  8385. Name (LLID, Zero)
  8386. Method (PWAK, 1, Serialized)
  8387. {
  8388. Store (SSEN, SSMI)
  8389. Store (SPM1, PM1E)
  8390. P8XH (One, 0xAB)
  8391. If (LEqual (Arg0, 0x03))
  8392. {
  8393. XWAM (0xAE)
  8394. }
  8395.  
  8396. If (NEXP)
  8397. {
  8398. If (And (OSCC, 0x02))
  8399. {
  8400. \_SB.PCI0.NHPG ()
  8401. }
  8402.  
  8403. If (And (OSCC, 0x04))
  8404. {
  8405. \_SB.PCI0.NPME ()
  8406. }
  8407. }
  8408.  
  8409. If (LEqual (Arg0, 0x03))
  8410. {
  8411. Store (One, \_SB.PCI0.SEC0.SHAD)
  8412. }
  8413.  
  8414. If (Or (LEqual (BDID, CHRB), LEqual (BDID, CIRB)))
  8415. {
  8416. PNOT ()
  8417. }
  8418. Else
  8419. {
  8420. If (LEqual (PFLV, FMBL))
  8421. {
  8422. Store (One, ECON)
  8423. Notify (\_SB.LID, 0x80)
  8424. If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
  8425. {
  8426. If (LEqual (PFLV, FMBL))
  8427. {
  8428. If (LEqual (Arg0, 0x04))
  8429. {
  8430. PNOT ()
  8431. }
  8432. }
  8433.  
  8434. If (CondRefOf (DTSE))
  8435. {
  8436. If (LGreaterEqual (DTSE, One))
  8437. {
  8438. Store (0x14, DTSF)
  8439. Store (0xA7, SSMP)
  8440. Notify (\_TZ.THRM, 0x80)
  8441. }
  8442. }
  8443.  
  8444. If (And (CFGD, 0x01000000)) {}
  8445. If (LEqual (OSYS, 0x07D2))
  8446. {
  8447. If (And (CFGD, One))
  8448. {
  8449. If (LGreater (\_PR.CPU0._PPC, Zero))
  8450. {
  8451. Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
  8452. PNOT ()
  8453. Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
  8454. PNOT ()
  8455. }
  8456. Else
  8457. {
  8458. Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
  8459. PNOT ()
  8460. Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
  8461. PNOT ()
  8462. }
  8463. }
  8464. }
  8465. }
  8466. }
  8467. }
  8468. }
  8469.  
  8470. Method (PNOT, 0, Serialized)
  8471. {
  8472. If (MPEN)
  8473. {
  8474. If (And (PDC0, 0x08))
  8475. {
  8476. Notify (\_PR.CPU0, 0x80)
  8477. If (And (PDC0, 0x10))
  8478. {
  8479. Sleep (0x64)
  8480. Notify (\_PR.CPU0, 0x81)
  8481. }
  8482. }
  8483.  
  8484. If (And (PDC1, 0x08))
  8485. {
  8486. Notify (\_PR.CPU1, 0x80)
  8487. If (And (PDC1, 0x10))
  8488. {
  8489. Sleep (0x64)
  8490. Notify (\_PR.CPU1, 0x81)
  8491. }
  8492. }
  8493.  
  8494. If (And (PDC2, 0x08))
  8495. {
  8496. Notify (\_PR.CPU2, 0x80)
  8497. If (And (PDC2, 0x10))
  8498. {
  8499. Sleep (0x64)
  8500. Notify (\_PR.CPU2, 0x81)
  8501. }
  8502. }
  8503.  
  8504. If (And (PDC3, 0x08))
  8505. {
  8506. Notify (\_PR.CPU3, 0x80)
  8507. If (And (PDC3, 0x10))
  8508. {
  8509. Sleep (0x64)
  8510. Notify (\_PR.CPU3, 0x81)
  8511. }
  8512. }
  8513. }
  8514. Else
  8515. {
  8516. Notify (\_PR.CPU0, 0x80)
  8517. Sleep (0x64)
  8518. Notify (\_PR.CPU0, 0x81)
  8519. }
  8520. }
  8521.  
  8522. Scope (_SB)
  8523. {
  8524. Name (OSCI, Zero)
  8525. Name (OSCO, Zero)
  8526. Method (_OSC, 4, Serialized)
  8527. {
  8528. CreateDWordField (Arg3, Zero, STS0)
  8529. CreateDWordField (Arg3, 0x04, CAP0)
  8530. If (LEqual (Arg0, Buffer (0x10)
  8531. {
  8532. /* 0000 */ 0x6E, 0xB0, 0x11, 0x08, 0x27, 0x4A, 0xF9, 0x44,
  8533. /* 0008 */ 0x8D, 0x60, 0x3C, 0xBB, 0xC2, 0x2E, 0x7B, 0x48
  8534. }))
  8535. {
  8536. If (LEqual (Arg1, One))
  8537. {
  8538. If (And (CAP0, 0x04))
  8539. {
  8540. Store (0x04, OSCO)
  8541. If (LNotEqual (And (HGMD, 0x0F), 0x02))
  8542. {
  8543. And (CAP0, 0x3B, CAP0)
  8544. Or (STS0, 0x10, STS0)
  8545. }
  8546. }
  8547. }
  8548. Else
  8549. {
  8550. And (STS0, 0xFFFFFF00, STS0)
  8551. Or (STS0, 0x0A, STS0)
  8552. }
  8553. }
  8554. Else
  8555. {
  8556. And (STS0, 0xFFFFFF00, STS0)
  8557. Or (STS0, 0x06, STS0)
  8558. }
  8559.  
  8560. Return (Arg3)
  8561. }
  8562.  
  8563. Device (PWRB)
  8564. {
  8565. Name (_HID, EisaId ("PNP0C0C"))
  8566. Name (_PRW, Package (0x02)
  8567. {
  8568. 0x1D,
  8569. 0x04
  8570. })
  8571. Name (PBST, One)
  8572. Name (UPPS, Zero)
  8573. Name (PBLV, Zero)
  8574. Method (_STA, 0, NotSerialized)
  8575. {
  8576. If (LAnd (LEqual (ECON, One), PBST))
  8577. {
  8578. Return (0x0F)
  8579. }
  8580.  
  8581. Return (Zero)
  8582. }
  8583.  
  8584. Method (PBUP, 0, NotSerialized)
  8585. {
  8586. If (UPPS)
  8587. {
  8588. Notify (PWRB, 0xC0)
  8589. }
  8590. }
  8591.  
  8592. Method (_DSM, 4, Serialized)
  8593. {
  8594. Name (_T_0, Zero)
  8595. If (LEqual (Arg0, Buffer (0x10)
  8596. {
  8597. /* 0000 */ 0xCB, 0x5B, 0x35, 0x9C, 0xFA, 0x35, 0xF7, 0x44,
  8598. /* 0008 */ 0x8A, 0x67, 0x44, 0x73, 0x59, 0xC3, 0x6A, 0x03
  8599. }))
  8600. {
  8601. If (LEqual (Zero, ToInteger (Arg1)))
  8602. {
  8603. While (One)
  8604. {
  8605. Store (ToInteger (Arg2), _T_0)
  8606. If (LEqual (_T_0, Zero))
  8607. {
  8608. Return (Buffer (One)
  8609. {
  8610. 0x07
  8611. })
  8612. }
  8613. Else
  8614. {
  8615. If (LEqual (_T_0, One))
  8616. {
  8617. Store (One, UPPS)
  8618. Return (Zero)
  8619. }
  8620. Else
  8621. {
  8622. If (LEqual (_T_0, 0x02))
  8623. {
  8624. If (UPPS)
  8625. {
  8626. If (LNot (PBLV))
  8627. {
  8628. Return (Zero)
  8629. }
  8630. Else
  8631. {
  8632. Return (One)
  8633. }
  8634. }
  8635. }
  8636. }
  8637. }
  8638.  
  8639. Break
  8640. }
  8641. }
  8642. }
  8643.  
  8644. Return (Buffer (One)
  8645. {
  8646. 0x00
  8647. })
  8648. }
  8649. }
  8650.  
  8651. Scope (PCI0)
  8652. {
  8653. Method (_INI, 0, NotSerialized)
  8654. {
  8655. Store (0x07D0, OSYS)
  8656. If (CondRefOf (\_OSI, Local0))
  8657. {
  8658. If (_OSI ("Windows 2001"))
  8659. {
  8660. Store (0x07D1, OSYS)
  8661. }
  8662.  
  8663. If (_OSI ("Windows 2001 SP1"))
  8664. {
  8665. Store (0x07D1, OSYS)
  8666. }
  8667.  
  8668. If (_OSI ("Windows 2001 SP2"))
  8669. {
  8670. Store (0x07D2, OSYS)
  8671. }
  8672.  
  8673. If (_OSI ("Windows 2006"))
  8674. {
  8675. Store (0x07D6, OSYS)
  8676. }
  8677.  
  8678. If (_OSI ("Windows 2009"))
  8679. {
  8680. Store (0x07D9, OSYS)
  8681. }
  8682.  
  8683. If (_OSI ("Windows 2012"))
  8684. {
  8685. Store (0x07DC, OSYS)
  8686. }
  8687.  
  8688. If (_OSI ("Windows 2013"))
  8689. {
  8690. Store (0x07DD, OSYS)
  8691. }
  8692.  
  8693. If (_OSI ("Windows 2015"))
  8694. {
  8695. Store (0x07DF, OSYS)
  8696. }
  8697. }
  8698. }
  8699.  
  8700. Method (NHPG, 0, Serialized)
  8701. {
  8702. }
  8703.  
  8704. Method (NPME, 0, Serialized)
  8705. {
  8706. }
  8707. }
  8708.  
  8709. Device (GPED)
  8710. {
  8711. Name (_ADR, Zero)
  8712. Name (_HID, "INT0002")
  8713. Name (_CID, "INT0002")
  8714. Name (_DDN, "Virtual GPIO controller")
  8715. Name (_UID, One)
  8716. Name (INST, One)
  8717. Name (XTMP, Zero)
  8718. OperationRegion (SCIS, SystemMemory, 0xFED030C0, 0x04)
  8719. Field (SCIS, DWordAcc, NoLock, Preserve)
  8720. {
  8721. , 1,
  8722. LHAD, 1,
  8723. LATA, 1,
  8724. LDIO, 1,
  8725. LARD, 1,
  8726. LIO1, 1,
  8727. LCEP, 1,
  8728. LANB, 1,
  8729. LHCI, 1,
  8730. LOTG, 1,
  8731. LECI, 1,
  8732. LHSI, 1
  8733. }
  8734.  
  8735. Method (_DSM, 4, NotSerialized)
  8736. {
  8737. If (LEqual (Arg0, Buffer (0x10)
  8738. {
  8739. /* 0000 */ 0x69, 0xB4, 0x38, 0x8B, 0x95, 0x6F, 0x08, 0x4B,
  8740. /* 0008 */ 0x9B, 0x02, 0x2D, 0xEF, 0xCC, 0x2D, 0x2C, 0x35
  8741. }))
  8742. {
  8743. If (LEqual (Arg2, Zero))
  8744. {
  8745. If (LEqual (Arg1, One))
  8746. {
  8747. Return (Buffer (One)
  8748. {
  8749. 0x03
  8750. })
  8751. }
  8752. }
  8753.  
  8754. If (LEqual (Arg2, One))
  8755. {
  8756. Return (Add (PMBS, 0x20))
  8757. }
  8758.  
  8759. Return (Zero)
  8760. }
  8761. Else
  8762. {
  8763. Return (Buffer (One)
  8764. {
  8765. 0x00
  8766. })
  8767. }
  8768. }
  8769.  
  8770. Method (_CRS, 0, Serialized)
  8771. {
  8772. Name (RBUF, ResourceTemplate ()
  8773. {
  8774. Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
  8775. {
  8776. 0x00000009,
  8777. }
  8778. })
  8779. Return (RBUF)
  8780. }
  8781.  
  8782. Method (_STA, 0, NotSerialized)
  8783. {
  8784. If (LGreaterEqual (OSYS, 0x07DD))
  8785. {
  8786. If (And (PB1E, One))
  8787. {
  8788. Return (Zero)
  8789. }
  8790. }
  8791.  
  8792. Return (Zero)
  8793. }
  8794.  
  8795. Method (_AEI, 0, Serialized)
  8796. {
  8797. Name (RBUF, Buffer (0x25)
  8798. {
  8799. /* 0000 */ 0x8C, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x11,
  8800. /* 0008 */ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00,
  8801. /* 0010 */ 0x00, 0x19, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02,
  8802. /* 0018 */ 0x00, 0x5C, 0x5F, 0x53, 0x42, 0x2E, 0x47, 0x50,
  8803. /* 0020 */ 0x45, 0x44, 0x00, 0x79, 0x00
  8804. })
  8805. Return (RBUF)
  8806. }
  8807.  
  8808. Method (_E02, 0, NotSerialized)
  8809. {
  8810. If (LEqual (PWBS, One))
  8811. {
  8812. Store (One, PWBS)
  8813. Notify (PWRB, 0x80)
  8814. }
  8815.  
  8816. If (LEqual (PMEB, One))
  8817. {
  8818. Store (One, PMEB)
  8819. }
  8820.  
  8821. If (LEqual (^^PCI0.SATA.PMES, One))
  8822. {
  8823. Store (One, ^^PCI0.SATA.PMES)
  8824. Notify (^^PCI0.SATA, 0x02)
  8825. }
  8826.  
  8827. If (LEqual (^^PCI0.HDEF.PMES, One))
  8828. {
  8829. Store (One, ^^PCI0.HDEF.PMES)
  8830. Notify (^^PCI0.HDEF, 0x02)
  8831. }
  8832.  
  8833. If (LEqual (^^PCI0.XHC1.PMES, One))
  8834. {
  8835. Store (One, ^^PCI0.XHC1.PMES)
  8836. Notify (^^PCI0.XHC1, 0x02)
  8837. }
  8838. }
  8839. }
  8840.  
  8841. Device (GPO0)
  8842. {
  8843. Name (_ADR, Zero)
  8844. Name (_HID, "INT33FF")
  8845. Name (_CID, "INT33FF")
  8846. Name (_DDN, "General Purpose Input/Output (GPIO) controller - SOUTHWEST")
  8847. Name (_UID, One)
  8848. Method (_CRS, 0, NotSerialized)
  8849. {
  8850. Name (RBUF, ResourceTemplate ()
  8851. {
  8852. Memory32Fixed (ReadWrite,
  8853. 0xFED80000, // Address Base
  8854. 0x00008000, // Address Length
  8855. )
  8856. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  8857. {
  8858. 0x00000031,
  8859. }
  8860. })
  8861. Return (RBUF)
  8862. }
  8863.  
  8864. OperationRegion (GPM0, SystemMemory, Or (GBA0, 0x5800), 0x30)
  8865. Field (GPM0, DWordAcc, Lock, Preserve)
  8866. {
  8867. , 1,
  8868. TSRR, 1,
  8869. Offset (0x18),
  8870. , 1,
  8871. TSR2, 1,
  8872. Offset (0x28),
  8873. , 1,
  8874. TSRS, 1
  8875. }
  8876.  
  8877. Name (AVBL, One)
  8878. Method (_REG, 2, NotSerialized)
  8879. {
  8880. If (LEqual (Arg0, Zero))
  8881. {
  8882. Store (Arg1, AVBL)
  8883. }
  8884. }
  8885.  
  8886. Method (_STA, 0, NotSerialized)
  8887. {
  8888. If (LNot (_OSI ("Windows 2012")))
  8889. {
  8890. Return (Zero)
  8891. }
  8892.  
  8893. If (_OSI ("Android"))
  8894. {
  8895. Store (Zero, AVBL)
  8896. }
  8897.  
  8898. If (LEqual (GOAE, One))
  8899. {
  8900. Return (0x0F)
  8901. }
  8902.  
  8903. Return (Zero)
  8904. }
  8905. }
  8906.  
  8907. Device (GPO1)
  8908. {
  8909. Name (_ADR, Zero)
  8910. Name (_HID, "INT33FF")
  8911. Name (_CID, "INT33FF")
  8912. Name (_DDN, "General Purpose Input/Output (GPIO) controller - NORTH")
  8913. Name (_UID, 0x02)
  8914. Method (_CRS, 0, NotSerialized)
  8915. {
  8916. Name (RBUF, ResourceTemplate ()
  8917. {
  8918. Memory32Fixed (ReadWrite,
  8919. 0xFED88000, // Address Base
  8920. 0x00008000, // Address Length
  8921. )
  8922. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  8923. {
  8924. 0x00000030,
  8925. }
  8926. })
  8927. Return (RBUF)
  8928. }
  8929.  
  8930. OperationRegion (GPM1, SystemMemory, Or (GBA1, 0x4428), 0x04)
  8931. Field (GPM1, DWordAcc, Lock, Preserve)
  8932. {
  8933. , 1,
  8934. CWLE, 1
  8935. }
  8936.  
  8937. Name (AVBL, One)
  8938. Method (_REG, 2, NotSerialized)
  8939. {
  8940. If (LEqual (Arg0, Zero))
  8941. {
  8942. Store (Arg1, AVBL)
  8943. }
  8944. }
  8945.  
  8946. Method (_STA, 0, NotSerialized)
  8947. {
  8948. If (LNot (_OSI ("Windows 2012")))
  8949. {
  8950. Return (Zero)
  8951. }
  8952.  
  8953. If (_OSI ("Android"))
  8954. {
  8955. Store (Zero, AVBL)
  8956. }
  8957.  
  8958. If (LEqual (GOAE, One))
  8959. {
  8960. Return (0x0F)
  8961. }
  8962.  
  8963. Return (Zero)
  8964. }
  8965. }
  8966.  
  8967. Device (GPO2)
  8968. {
  8969. Name (_ADR, Zero)
  8970. Name (_HID, "INT33FF")
  8971. Name (_CID, "INT33FF")
  8972. Name (_DDN, "General Purpose Input/Output (GPIO) controller - EAST")
  8973. Name (_UID, 0x03)
  8974. Method (_CRS, 0, NotSerialized)
  8975. {
  8976. Name (RBUF, ResourceTemplate ()
  8977. {
  8978. Memory32Fixed (ReadWrite,
  8979. 0xFED90000, // Address Base
  8980. 0x00008000, // Address Length
  8981. )
  8982. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  8983. {
  8984. 0x00000032,
  8985. }
  8986. })
  8987. Return (RBUF)
  8988. }
  8989.  
  8990. OperationRegion (GPM2, SystemMemory, Or (GBA2, 0x4820), 0x04)
  8991. Field (GPM2, DWordAcc, Lock, Preserve)
  8992. {
  8993. , 1,
  8994. SHD3, 1
  8995. }
  8996.  
  8997. Name (AVBL, One)
  8998. Method (_REG, 2, NotSerialized)
  8999. {
  9000. If (LEqual (Arg0, Zero))
  9001. {
  9002. Store (Arg1, AVBL)
  9003. }
  9004. }
  9005.  
  9006. Method (_STA, 0, NotSerialized)
  9007. {
  9008. If (LNot (_OSI ("Windows 2012")))
  9009. {
  9010. Return (Zero)
  9011. }
  9012.  
  9013. If (_OSI ("Android"))
  9014. {
  9015. Store (Zero, AVBL)
  9016. }
  9017.  
  9018. If (LEqual (GOAE, One))
  9019. {
  9020. Return (0x0F)
  9021. }
  9022.  
  9023. Return (Zero)
  9024. }
  9025. }
  9026.  
  9027. Device (GPO3)
  9028. {
  9029. Name (_ADR, Zero)
  9030. Name (_HID, "INT33FF")
  9031. Name (_CID, "INT33FF")
  9032. Name (_DDN, "General Purpose Input/Output (GPIO) controller - SOUTHEAST")
  9033. Name (_UID, 0x04)
  9034. Method (_CRS, 0, NotSerialized)
  9035. {
  9036. Name (RBUF, ResourceTemplate ()
  9037. {
  9038. Memory32Fixed (ReadWrite,
  9039. 0xFED98000, // Address Base
  9040. 0x00008000, // Address Length
  9041. )
  9042. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  9043. {
  9044. 0x0000005B,
  9045. }
  9046. })
  9047. Return (RBUF)
  9048. }
  9049.  
  9050. Method (_STA, 0, NotSerialized)
  9051. {
  9052. If (LNot (_OSI ("Windows 2012")))
  9053. {
  9054. Return (Zero)
  9055. }
  9056.  
  9057. If (LEqual (GOAE, One))
  9058. {
  9059. Return (0x0F)
  9060. }
  9061.  
  9062. Return (Zero)
  9063. }
  9064. }
  9065.  
  9066. Device (MBID)
  9067. {
  9068. Name (_HID, "INT33BD")
  9069. Name (_CID, "INT33BD")
  9070. Name (_HRV, 0x02)
  9071. Name (_UID, One)
  9072. Method (_CRS, 0, Serialized)
  9073. {
  9074. Name (RBUF, ResourceTemplate ()
  9075. {
  9076. Memory32Fixed (ReadWrite,
  9077. 0xE00000D0, // Address Base
  9078. 0x0000000C, // Address Length
  9079. )
  9080. })
  9081. Return (RBUF)
  9082. }
  9083.  
  9084. Method (_STA, 0, NotSerialized)
  9085. {
  9086. Return (Zero)
  9087. }
  9088.  
  9089. OperationRegion (REGS, 0x87, Zero, 0x30)
  9090. Field (REGS, DWordAcc, NoLock, Preserve)
  9091. {
  9092. PORT, 32,
  9093. REG, 32,
  9094. DATA, 32,
  9095. MASK, 32,
  9096. BE, 32,
  9097. OP, 32
  9098. }
  9099.  
  9100. Name (AVBL, Zero)
  9101. Method (_REG, 2, NotSerialized)
  9102. {
  9103. If (LEqual (Arg0, 0x87))
  9104. {
  9105. Store (Arg1, AVBL)
  9106. }
  9107. }
  9108.  
  9109. Method (READ, 3, Serialized)
  9110. {
  9111. Store (0xFFFFFFFF, Local0)
  9112. If (LEqual (AVBL, One))
  9113. {
  9114. Store (Zero, OP)
  9115. Store (Arg0, PORT)
  9116. Store (Arg1, REG)
  9117. Store (Arg2, BE)
  9118. Store (DATA, Local0)
  9119. }
  9120.  
  9121. Return (Local0)
  9122. }
  9123.  
  9124. Method (WRIT, 4, Serialized)
  9125. {
  9126. If (LEqual (AVBL, One))
  9127. {
  9128. Store (One, OP)
  9129. Store (Arg0, PORT)
  9130. Store (Arg1, REG)
  9131. Store (Arg2, BE)
  9132. Store (Arg3, DATA)
  9133. }
  9134. }
  9135.  
  9136. Method (MODI, 5, Serialized)
  9137. {
  9138. If (LEqual (AVBL, One))
  9139. {
  9140. Store (0x02, OP)
  9141. Store (Arg0, PORT)
  9142. Store (Arg1, REG)
  9143. Store (Arg2, BE)
  9144. Store (Arg3, DATA)
  9145. Store (Arg4, MASK)
  9146. }
  9147. }
  9148. }
  9149.  
  9150. Device (PIND)
  9151. {
  9152. Name (_HID, "INT3497")
  9153. Name (_UID, Zero)
  9154. Method (_STA, 0, NotSerialized)
  9155. {
  9156. If (_OSI ("Android"))
  9157. {
  9158. Return (0x0F)
  9159. }
  9160.  
  9161. Return (Zero)
  9162. }
  9163.  
  9164. Name (PDAT, Package (0x03)
  9165. {
  9166. Package (0x02)
  9167. {
  9168. "VOLUME_UP",
  9169. Package (0x01)
  9170. {
  9171. 0x02
  9172. }
  9173. },
  9174.  
  9175. Package (0x02)
  9176. {
  9177. "VOLUME_DOWN",
  9178. Package (0x01)
  9179. {
  9180. 0x02
  9181. }
  9182. },
  9183.  
  9184. Package (0x02)
  9185. {
  9186. "HOME_BUTTON",
  9187. Package (0x01)
  9188. {
  9189. 0x02
  9190. }
  9191. }
  9192. })
  9193. Method (_IND, 0, Serialized)
  9194. {
  9195. Return (PDAT)
  9196. }
  9197. }
  9198. }
  9199.  
  9200. Scope (_TZ)
  9201. {
  9202. Name (LEGA, One)
  9203. Name (LEGP, One)
  9204. Name (LEGC, One)
  9205. PowerResource (FN00, 0x00, 0x0000)
  9206. {
  9207. Method (_STA, 0, Serialized)
  9208. {
  9209. If (Or (LEqual (BDID, CHRB), LEqual (BDID, CIRB)))
  9210. {
  9211. Return (Zero)
  9212. }
  9213.  
  9214. Return (VFN0)
  9215. }
  9216.  
  9217. Method (_ON, 0, Serialized)
  9218. {
  9219. Store (One, VFN0)
  9220. If (LAnd (ECON, LEGA)) {}
  9221. }
  9222.  
  9223. Method (_OFF, 0, Serialized)
  9224. {
  9225. Store (Zero, VFN0)
  9226. If (LAnd (ECON, LEGA)) {}
  9227. }
  9228. }
  9229.  
  9230. Device (FAN0)
  9231. {
  9232. Name (_HID, EisaId ("PNP0C0B"))
  9233. Name (_UID, Zero)
  9234. Name (_PR0, Package (0x01)
  9235. {
  9236. FN00
  9237. })
  9238. }
  9239.  
  9240. ThermalZone (TZ01)
  9241. {
  9242. Name (PTMP, 0x0BB8)
  9243. Name (SINI, Zero)
  9244. Name (ADDR, 0x96)
  9245. Name (LTV0, Zero)
  9246. Name (RTV1, One)
  9247. Name (RTV2, 0x30)
  9248. Name (HITP, 0x55)
  9249. Method (_SCP, 1, Serialized)
  9250. {
  9251. Store (Arg0, CTYP)
  9252. }
  9253.  
  9254. Method (_CRT, 0, Serialized)
  9255. {
  9256. If (LEqual (LEGC, Zero))
  9257. {
  9258. Return (0x12E0)
  9259. }
  9260.  
  9261. Return (Add (0x0AAC, Multiply (CRTT, 0x0A)))
  9262. }
  9263.  
  9264. Method (_AC0, 0, Serialized)
  9265. {
  9266. Return (0x0EF8)
  9267. }
  9268.  
  9269. Name (_AL0, Package (0x01)
  9270. {
  9271. FAN0
  9272. })
  9273. Method (_TMP, 0, Serialized)
  9274. {
  9275. If (DTSE)
  9276. {
  9277. If (LGreater (DTS2, DTS1))
  9278. {
  9279. Store (DTS2, Local0)
  9280. }
  9281. Else
  9282. {
  9283. Store (DTS1, Local0)
  9284. }
  9285.  
  9286. Return (Add (0x0AAC, Multiply (Local0, 0x0A)))
  9287. }
  9288.  
  9289. If (ECON) {}
  9290. Return (0x0BB8)
  9291. }
  9292.  
  9293. Method (_PSL, 0, Serialized)
  9294. {
  9295. If (LEqual (MPEN, 0x04))
  9296. {
  9297. Return (Package (0x04)
  9298. {
  9299. \_PR.CPU0,
  9300. \_PR.CPU1,
  9301. \_PR.CPU2,
  9302. \_PR.CPU3
  9303. })
  9304. }
  9305.  
  9306. If (MPEN)
  9307. {
  9308. Return (Package (0x02)
  9309. {
  9310. \_PR.CPU0,
  9311. \_PR.CPU1
  9312. })
  9313. }
  9314.  
  9315. Return (Package (0x01)
  9316. {
  9317. \_PR.CPU0
  9318. })
  9319. }
  9320.  
  9321. Method (_PSV, 0, Serialized)
  9322. {
  9323. If (LEqual (LEGP, Zero))
  9324. {
  9325. Return (0x0EF8)
  9326. }
  9327.  
  9328. Return (Add (0x0AAC, Multiply (PSVT, 0x0A)))
  9329. }
  9330.  
  9331. Method (_TC1, 0, Serialized)
  9332. {
  9333. Return (TC1V)
  9334. }
  9335.  
  9336. Method (_TC2, 0, Serialized)
  9337. {
  9338. Return (TC2V)
  9339. }
  9340.  
  9341. Method (_TSP, 0, Serialized)
  9342. {
  9343. Return (TSPV)
  9344. }
  9345.  
  9346. Method (_HOT, 0, Serialized)
  9347. {
  9348. If (LEqual (LEGC, Zero))
  9349. {
  9350. Return (0x12AE)
  9351. }
  9352.  
  9353. Subtract (CRTT, 0x05, Local0)
  9354. Return (Add (0x0AAC, Multiply (Local0, 0x0A)))
  9355. }
  9356. }
  9357. }
  9358.  
  9359. Scope (_SB.PCI0)
  9360. {
  9361. Device (PDRC)
  9362. {
  9363. Name (_HID, EisaId ("PNP0C02"))
  9364. Name (_UID, One)
  9365. Name (BUF0, ResourceTemplate ()
  9366. {
  9367. Memory32Fixed (ReadWrite,
  9368. 0xE0000000, // Address Base
  9369. 0x10000000, // Address Length
  9370. )
  9371. Memory32Fixed (ReadWrite,
  9372. 0xFEA00000, // Address Base
  9373. 0x00100000, // Address Length
  9374. )
  9375. Memory32Fixed (ReadWrite,
  9376. 0xFED01000, // Address Base
  9377. 0x00001000, // Address Length
  9378. )
  9379. Memory32Fixed (ReadWrite,
  9380. 0xFED03000, // Address Base
  9381. 0x00001000, // Address Length
  9382. )
  9383. Memory32Fixed (ReadWrite,
  9384. 0xFED06000, // Address Base
  9385. 0x00001000, // Address Length
  9386. )
  9387. Memory32Fixed (ReadWrite,
  9388. 0xFED08000, // Address Base
  9389. 0x00002000, // Address Length
  9390. )
  9391. Memory32Fixed (ReadWrite,
  9392. 0xFED80000, // Address Base
  9393. 0x00040000, // Address Length
  9394. )
  9395. Memory32Fixed (ReadWrite,
  9396. 0xFED1C000, // Address Base
  9397. 0x00001000, // Address Length
  9398. )
  9399. Memory32Fixed (ReadOnly,
  9400. 0xFEE00000, // Address Base
  9401. 0x00100000, // Address Length
  9402. )
  9403. })
  9404. Method (_CRS, 0, Serialized)
  9405. {
  9406. Return (BUF0)
  9407. }
  9408. }
  9409. }
  9410.  
  9411. Method (BRTN, 1, Serialized)
  9412. {
  9413. If (LEqual (And (DIDX, 0x0F00), 0x0400))
  9414. {
  9415. Notify (\_SB.PCI0.GFX0.DD1F, Arg0)
  9416. }
  9417. }
  9418.  
  9419. Scope (_GPE)
  9420. {
  9421. Method (_L01, 0, NotSerialized)
  9422. {
  9423. Add (L01C, One, L01C)
  9424. P8XH (Zero, One)
  9425. P8XH (One, L01C)
  9426. If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX))
  9427. {
  9428. Sleep (0x64)
  9429. If (\_SB.PCI0.RP01.PDCX)
  9430. {
  9431. Store (One, \_SB.PCI0.RP01.PDCX)
  9432. Store (One, \_SB.PCI0.RP01.HPSX)
  9433. If (LNot (\_SB.PCI0.RP01.PDSX))
  9434. {
  9435. Store (Zero, \_SB.PCI0.RP01.L0SE)
  9436. }
  9437.  
  9438. Notify (\_SB.PCI0.RP01, Zero)
  9439. }
  9440. Else
  9441. {
  9442. Store (One, \_SB.PCI0.RP01.HPSX)
  9443. }
  9444. }
  9445.  
  9446. If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX))
  9447. {
  9448. Sleep (0x64)
  9449. If (\_SB.PCI0.RP02.PDCX)
  9450. {
  9451. Store (One, \_SB.PCI0.RP02.PDCX)
  9452. Store (One, \_SB.PCI0.RP02.HPSX)
  9453. If (LNot (\_SB.PCI0.RP02.PDSX))
  9454. {
  9455. Store (Zero, \_SB.PCI0.RP02.L0SE)
  9456. }
  9457.  
  9458. Notify (\_SB.PCI0.RP02, Zero)
  9459. }
  9460. Else
  9461. {
  9462. Store (One, \_SB.PCI0.RP02.HPSX)
  9463. }
  9464. }
  9465.  
  9466. If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX))
  9467. {
  9468. Sleep (0x64)
  9469. If (\_SB.PCI0.RP03.PDCX)
  9470. {
  9471. Store (One, \_SB.PCI0.RP03.PDCX)
  9472. Store (One, \_SB.PCI0.RP03.HPSX)
  9473. If (LNot (\_SB.PCI0.RP03.PDSX))
  9474. {
  9475. Store (Zero, \_SB.PCI0.RP03.L0SE)
  9476. }
  9477.  
  9478. Notify (\_SB.PCI0.RP03, Zero)
  9479. }
  9480. Else
  9481. {
  9482. Store (One, \_SB.PCI0.RP03.HPSX)
  9483. }
  9484. }
  9485.  
  9486. If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX))
  9487. {
  9488. Sleep (0x64)
  9489. If (\_SB.PCI0.RP04.PDCX)
  9490. {
  9491. Store (One, \_SB.PCI0.RP04.PDCX)
  9492. Store (One, \_SB.PCI0.RP04.HPSX)
  9493. If (LNot (\_SB.PCI0.RP04.PDSX))
  9494. {
  9495. Store (Zero, \_SB.PCI0.RP04.L0SE)
  9496. }
  9497.  
  9498. Notify (\_SB.PCI0.RP04, Zero)
  9499. }
  9500. Else
  9501. {
  9502. Store (One, \_SB.PCI0.RP04.HPSX)
  9503. }
  9504. }
  9505. }
  9506.  
  9507. Method (_L04, 0, NotSerialized)
  9508. {
  9509. Store (One, PSCI)
  9510. }
  9511.  
  9512. Method (_L05, 0, NotSerialized)
  9513. {
  9514. If (LAnd (\_SB.PCI0.GFX0.GSSE, LNot (GSMI)))
  9515. {
  9516. \_SB.PCI0.GFX0.GSCI ()
  9517. }
  9518. }
  9519.  
  9520. Method (_L09, 0, NotSerialized)
  9521. {
  9522. If (LEqual (RP1D, Zero))
  9523. {
  9524. \_SB.PCI0.RP01.HPME ()
  9525. Notify (\_SB.PCI0.RP01, 0x02)
  9526. }
  9527.  
  9528. If (LEqual (RP2D, Zero))
  9529. {
  9530. \_SB.PCI0.RP02.HPME ()
  9531. Notify (\_SB.PCI0.RP02, 0x02)
  9532. }
  9533.  
  9534. If (LEqual (RP3D, Zero))
  9535. {
  9536. \_SB.PCI0.RP03.HPME ()
  9537. Notify (\_SB.PCI0.RP03, 0x02)
  9538. }
  9539.  
  9540. If (LEqual (RP4D, Zero))
  9541. {
  9542. \_SB.PCI0.RP04.HPME ()
  9543. Notify (\_SB.PCI0.RP04, 0x02)
  9544. }
  9545. }
  9546.  
  9547. Method (_L0D, 0, NotSerialized)
  9548. {
  9549. Notify (\_SB.PCI0.HDEF, 0x02)
  9550. Notify (\_SB.PCI0.XHC1, 0x02)
  9551. }
  9552. }
  9553.  
  9554. Scope (_SB.PCI0)
  9555. {
  9556. Scope (\)
  9557. {
  9558. Name (MSFG, One)
  9559. }
  9560. }
  9561.  
  9562. Scope (_SB.PCI0)
  9563. {
  9564. Scope (\)
  9565. {
  9566. Name (KBFG, One)
  9567. }
  9568. }
  9569.  
  9570. Device (_SB.TPM)
  9571. {
  9572. Method (_HID, 0, NotSerialized)
  9573. {
  9574. If (TCMF)
  9575. {
  9576. Return (0x01013469)
  9577. }
  9578. Else
  9579. {
  9580. If (LEqual (TTDP, Zero))
  9581. {
  9582. Return (0x310CD041)
  9583. }
  9584. Else
  9585. {
  9586. Return ("MSFT0101")
  9587. }
  9588. }
  9589. }
  9590.  
  9591. Method (_STR, 0, NotSerialized)
  9592. {
  9593. If (LEqual (TTDP, Zero))
  9594. {
  9595. Return (Unicode ("TPM 1.2 Device"))
  9596. }
  9597. Else
  9598. {
  9599. Return (Unicode ("TPM 2.0 Device"))
  9600. }
  9601. }
  9602.  
  9603. Name (_UID, One)
  9604. Name (CRST, ResourceTemplate ()
  9605. {
  9606. Memory32Fixed (ReadOnly,
  9607. 0x00000000, // Address Base
  9608. 0x00001000, // Address Length
  9609. )
  9610. Memory32Fixed (ReadOnly,
  9611. 0xFED70000, // Address Base
  9612. 0x00001000, // Address Length
  9613. )
  9614. })
  9615. Name (CRSD, ResourceTemplate ()
  9616. {
  9617. Memory32Fixed (ReadOnly,
  9618. 0xFED40000, // Address Base
  9619. 0x00001000, // Address Length
  9620. )
  9621. })
  9622. Name (CRSI, ResourceTemplate ()
  9623. {
  9624. Memory32Fixed (ReadOnly,
  9625. 0xFED40000, // Address Base
  9626. 0x00001000, // Address Length
  9627. )
  9628. })
  9629. Method (_CRS, 0, Serialized)
  9630. {
  9631. If (LEqual (AMDT, One))
  9632. {
  9633. CreateDWordField (CRST, 0x04, MTFB)
  9634. CreateDWordField (CRST, 0x08, LTFB)
  9635. Store (TPMB, MTFB)
  9636. Store (0x1000, LTFB)
  9637. CreateDWordField (CRST, 0x10, MTFC)
  9638. CreateDWordField (CRST, 0x14, LTFC)
  9639. Store (TPMC, MTFC)
  9640. Store (0x1000, LTFC)
  9641. Return (CRST)
  9642. }
  9643. Else
  9644. {
  9645. If (LEqual (DTPT, One))
  9646. {
  9647. CreateDWordField (CRSD, 0x04, MTFE)
  9648. CreateDWordField (CRSD, 0x08, LTFE)
  9649. Store (0xFED40000, MTFE)
  9650. Store (0x0880, LTFE)
  9651. Return (CRSD)
  9652. }
  9653. Else
  9654. {
  9655. If (LEqual (TTPF, One))
  9656. {
  9657. CreateDWordField (CRSI, 0x04, MTFD)
  9658. CreateDWordField (CRSI, 0x08, LTFD)
  9659. Store (0xFED40000, MTFD)
  9660. Store (0x5000, LTFD)
  9661. Return (CRSI)
  9662. }
  9663. Else
  9664. {
  9665. If (LEqual (TTPF, Zero))
  9666. {
  9667. CreateDWordField (CRSI, 0x04, MTFF)
  9668. Store (TPMM, MTFF)
  9669. Return (CRSI)
  9670. }
  9671. }
  9672. }
  9673. }
  9674. }
  9675.  
  9676. OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x5000)
  9677. Field (TMMB, ByteAcc, Lock, Preserve)
  9678. {
  9679. Offset (0x04),
  9680. LCST, 32,
  9681. Offset (0x40),
  9682. CREQ, 32,
  9683. CSTS, 32,
  9684. Offset (0x4C),
  9685. SCMD, 32
  9686. }
  9687.  
  9688. OperationRegion (CRBD, SystemMemory, TPMM, 0x48)
  9689. Field (CRBD, AnyAcc, NoLock, Preserve)
  9690. {
  9691. Offset (0x04),
  9692. HERR, 32,
  9693. Offset (0x40),
  9694. HCMD, 32,
  9695. HSTS, 32
  9696. }
  9697.  
  9698. Method (_STA, 0, NotSerialized)
  9699. {
  9700. If (LEqual (TTDP, Zero))
  9701. {
  9702. If (TPMF)
  9703. {
  9704. Return (0x0F)
  9705. }
  9706.  
  9707. Return (Zero)
  9708. }
  9709. Else
  9710. {
  9711. If (LEqual (TTDP, One))
  9712. {
  9713. If (TPMF)
  9714. {
  9715. Return (0x0F)
  9716. }
  9717.  
  9718. Return (Zero)
  9719. }
  9720. }
  9721. }
  9722.  
  9723. Method (STRT, 3, Serialized)
  9724. {
  9725. Name (_T_0, Zero)
  9726. OperationRegion (TPMR, SystemMemory, FTPM, 0x1000)
  9727. Field (TPMR, AnyAcc, NoLock, Preserve)
  9728. {
  9729. Offset (0x04),
  9730. FERR, 32,
  9731. Offset (0x0C),
  9732. BEGN, 32
  9733. }
  9734.  
  9735. Name (TIMR, Zero)
  9736. While (One)
  9737. {
  9738. Store (ToInteger (Arg1), _T_0)
  9739. If (LEqual (_T_0, Zero))
  9740. {
  9741. Return (Buffer (One)
  9742. {
  9743. 0x03
  9744. })
  9745. }
  9746. Else
  9747. {
  9748. If (LEqual (_T_0, One))
  9749. {
  9750. Store (Zero, TIMR)
  9751. If (LEqual (AMDT, One))
  9752. {
  9753. While (LAnd (LEqual (BEGN, One), LLess (TIMR, 0x0200)))
  9754. {
  9755. If (LEqual (BEGN, One))
  9756. {
  9757. Sleep (One)
  9758. Increment (TIMR)
  9759. }
  9760. }
  9761.  
  9762. Return (Zero)
  9763. }
  9764. Else
  9765. {
  9766. If (LEqual (Or (And (HSTS, 0x02), And (HSTS, One
  9767. )), 0x03))
  9768. {
  9769. Store (One, HCMD)
  9770. }
  9771. Else
  9772. {
  9773. Store (One, FERR)
  9774. Store (Zero, BEGN)
  9775. }
  9776.  
  9777. Return (Zero)
  9778. }
  9779. }
  9780. }
  9781.  
  9782. Break
  9783. }
  9784.  
  9785. Return (One)
  9786. }
  9787.  
  9788. Method (CRYF, 3, Serialized)
  9789. {
  9790. Name (_T_0, Zero)
  9791. While (One)
  9792. {
  9793. Store (ToInteger (Arg1), _T_0)
  9794. If (LEqual (_T_0, Zero))
  9795. {
  9796. Return (Buffer (One)
  9797. {
  9798. 0x03
  9799. })
  9800. }
  9801. Else
  9802. {
  9803. If (LEqual (_T_0, One))
  9804. {
  9805. Name (TPMV, Package (0x02)
  9806. {
  9807. One,
  9808. Package (0x02)
  9809. {
  9810. One,
  9811. 0x20
  9812. }
  9813. })
  9814. If (LEqual (_STA (), Zero))
  9815. {
  9816. Return (Package (0x01)
  9817. {
  9818. Zero
  9819. })
  9820. }
  9821.  
  9822. Return (TPMV)
  9823. }
  9824. }
  9825.  
  9826. Break
  9827. }
  9828.  
  9829. Return (Buffer (One)
  9830. {
  9831. 0x00
  9832. })
  9833. }
  9834. }
  9835.  
  9836. Scope (_SB.TPM)
  9837. {
  9838. OperationRegion (ASMI, SystemIO, SMIA, One)
  9839. Field (ASMI, ByteAcc, NoLock, Preserve)
  9840. {
  9841. INQ, 8
  9842. }
  9843.  
  9844. OperationRegion (BSMI, SystemIO, SMIB, One)
  9845. Field (BSMI, ByteAcc, NoLock, Preserve)
  9846. {
  9847. DAT, 8
  9848. }
  9849.  
  9850. Method (_DSM, 4, Serialized)
  9851. {
  9852. Name (_T_1, Zero)
  9853. Name (_T_0, Zero)
  9854. If (LEqual (Arg0, Buffer (0x10)
  9855. {
  9856. /* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E,
  9857. /* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
  9858. }))
  9859. {
  9860. While (One)
  9861. {
  9862. Store (ToInteger (Arg2), _T_0)
  9863. If (LEqual (_T_0, Zero))
  9864. {
  9865. Return (Buffer (0x02)
  9866. {
  9867. 0xFF, 0x01
  9868. })
  9869. }
  9870. Else
  9871. {
  9872. If (LEqual (_T_0, One))
  9873. {
  9874. Return ("1.2")
  9875. }
  9876. Else
  9877. {
  9878. If (LEqual (_T_0, 0x02))
  9879. {
  9880. ToInteger (DerefOf (Index (Arg3, Zero)), TMF2)
  9881. Store (0x12, TMF1)
  9882. Store (TMF1, DAT)
  9883. Store (OFST, INQ)
  9884. If (LEqual (DAT, 0xFF))
  9885. {
  9886. Return (0x02)
  9887. }
  9888.  
  9889. Store (TMF2, DAT)
  9890. Store (OFST, INQ)
  9891. If (LEqual (DAT, 0xFF))
  9892. {
  9893. Return (0x02)
  9894. }
  9895.  
  9896. If (LEqual (DAT, 0xF1))
  9897. {
  9898. Return (One)
  9899. }
  9900.  
  9901. Return (Zero)
  9902. }
  9903. Else
  9904. {
  9905. If (LEqual (_T_0, 0x03))
  9906. {
  9907. Name (PPI1, Package (0x02)
  9908. {
  9909. Zero,
  9910. Zero
  9911. })
  9912. Store (0x11, DAT)
  9913. Store (OFST, INQ)
  9914. If (LEqual (DAT, 0xFF))
  9915. {
  9916. Return (One)
  9917. }
  9918.  
  9919. Store (DAT, Index (PPI1, One))
  9920. Return (PPI1)
  9921. }
  9922. Else
  9923. {
  9924. If (LEqual (_T_0, 0x04))
  9925. {
  9926. Return (TRST)
  9927. }
  9928. Else
  9929. {
  9930. If (LEqual (_T_0, 0x05))
  9931. {
  9932. Name (PPI2, Package (0x03)
  9933. {
  9934. Zero,
  9935. Zero,
  9936. Zero
  9937. })
  9938. Store (0x21, DAT)
  9939. Store (OFST, INQ)
  9940. Store (DAT, Index (PPI2, One))
  9941. If (LEqual (DAT, 0xFF))
  9942. {
  9943. Return (0x02)
  9944. }
  9945.  
  9946. Store (0x31, DAT)
  9947. Store (OFST, INQ)
  9948. If (LEqual (DAT, 0xFF))
  9949. {
  9950. Return (0x02)
  9951. }
  9952.  
  9953. If (LEqual (DAT, 0xF0))
  9954. {
  9955. Store (0x51, DAT)
  9956. Store (OFST, INQ)
  9957. If (LEqual (DAT, 0xFF))
  9958. {
  9959. Store (0xFFFFFFF0, Index (PPI2, 0x02))
  9960. Return (PPI2)
  9961. }
  9962. }
  9963. Else
  9964. {
  9965. If (LEqual (DAT, 0xF1))
  9966. {
  9967. Store (0x51, DAT)
  9968. Store (OFST, INQ)
  9969. If (LEqual (DAT, 0xFF))
  9970. {
  9971. Store (0xFFFFFFF1, Index (PPI2, 0x02))
  9972. Return (PPI2)
  9973. }
  9974. }
  9975. Else
  9976. {
  9977. Store (DAT, Index (PPI2, 0x02))
  9978. }
  9979. }
  9980.  
  9981. Return (PPI2)
  9982. }
  9983. Else
  9984. {
  9985. If (LEqual (_T_0, 0x06))
  9986. {
  9987. Return (0x03)
  9988. }
  9989. Else
  9990. {
  9991. If (LEqual (_T_0, 0x07))
  9992. {
  9993. ToInteger (DerefOf (Index (Arg3, Zero)), TMF2)
  9994. Store (0x12, TMF1)
  9995. Store (TMF1, DAT)
  9996. Store (OFST, INQ)
  9997. If (LEqual (DAT, 0xFF))
  9998. {
  9999. Return (0x02)
  10000. }
  10001.  
  10002. Store (TMF2, DAT)
  10003. Store (OFST, INQ)
  10004. If (LEqual (DAT, 0xFF))
  10005. {
  10006. Return (0x02)
  10007. }
  10008.  
  10009. If (LEqual (DAT, 0xF1))
  10010. {
  10011. Return (One)
  10012. }
  10013.  
  10014. Return (Zero)
  10015. }
  10016. Else
  10017. {
  10018. If (LEqual (_T_0, 0x08))
  10019. {
  10020. ToInteger (DerefOf (Index (Arg3, Zero)), TMF2)
  10021. Store (0x43, TMF1)
  10022. Store (TMF1, DAT)
  10023. Store (OFST, INQ)
  10024. Store (TMF2, DAT)
  10025. Store (OFST, INQ)
  10026. Return (DAT)
  10027. }
  10028. Else
  10029. {
  10030. }
  10031. }
  10032. }
  10033. }
  10034. }
  10035. }
  10036. }
  10037. }
  10038. }
  10039.  
  10040. Break
  10041. }
  10042. }
  10043. Else
  10044. {
  10045. If (LEqual (Arg0, Buffer (0x10)
  10046. {
  10047. /* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46,
  10048. /* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
  10049. }))
  10050. {
  10051. While (One)
  10052. {
  10053. Store (ToInteger (Arg2), _T_1)
  10054. If (LEqual (_T_1, Zero))
  10055. {
  10056. Return (Buffer (One)
  10057. {
  10058. 0x03
  10059. })
  10060. }
  10061. Else
  10062. {
  10063. If (LEqual (_T_1, One))
  10064. {
  10065. Store (0x22, TMF1)
  10066. Store (TMF1, DAT)
  10067. Store (OFST, INQ)
  10068. If (LEqual (DAT, 0xFF))
  10069. {
  10070. Return (0x02)
  10071. }
  10072.  
  10073. ToInteger (DerefOf (Index (Arg3, Zero)), TMF1)
  10074. Store (TMF1, DAT)
  10075. Store (OFST, INQ)
  10076. If (LEqual (DAT, 0xFF))
  10077. {
  10078. Return (0x02)
  10079. }
  10080.  
  10081. Return (Zero)
  10082. }
  10083. Else
  10084. {
  10085. }
  10086. }
  10087.  
  10088. Break
  10089. }
  10090. }
  10091. }
  10092.  
  10093. If (LEqual (Arg0, Buffer (0x10)
  10094. {
  10095. /* 0000 */ 0xA5, 0x16, 0x8E, 0xCF, 0xE8, 0xC1, 0x25, 0x4E,
  10096. /* 0008 */ 0xB7, 0x12, 0x4F, 0x54, 0xA9, 0x67, 0x02, 0xC8
  10097. }))
  10098. {
  10099. Return (CRYF (Arg1, Arg2, Arg3))
  10100. }
  10101.  
  10102. If (LEqual (Arg0, Buffer (0x10)
  10103. {
  10104. /* 0000 */ 0xAB, 0x6C, 0xBF, 0x6B, 0x63, 0x54, 0x14, 0x47,
  10105. /* 0008 */ 0xB7, 0xCD, 0xF0, 0x20, 0x3C, 0x03, 0x68, 0xD4
  10106. }))
  10107. {
  10108. Return (STRT (Arg1, Arg2, Arg3))
  10109. }
  10110.  
  10111. Return (Buffer (One)
  10112. {
  10113. 0x00
  10114. })
  10115. }
  10116. }
  10117.  
  10118. OperationRegion (IRNV, SystemMemory, 0xFFFF0000, 0xAA55)
  10119. Field (IRNV, AnyAcc, Lock, Preserve)
  10120. {
  10121. INSC, 8
  10122. }
  10123.  
  10124. Scope (\)
  10125. {
  10126. Method (DIAG, 1, NotSerialized)
  10127. {
  10128. P8XH (Zero, Arg0)
  10129. }
  10130.  
  10131. OperationRegion (GPSC, SystemIO, 0xB2, 0x02)
  10132. Field (GPSC, ByteAcc, NoLock, Preserve)
  10133. {
  10134. SMCM, 8,
  10135. SMST, 8
  10136. }
  10137.  
  10138. Method (ISMI, 1, Serialized)
  10139. {
  10140. Store (Arg0, SMCM)
  10141. }
  10142.  
  10143. Method (ASMI, 1, Serialized)
  10144. {
  10145. Store (Arg0, \_SB.ALPR)
  10146. Store (0xA3, SMCM)
  10147. Return (\_SB.ALPR)
  10148. }
  10149.  
  10150. Scope (_SB)
  10151. {
  10152. OperationRegion (ECMS, SystemIO, 0x72, 0x02)
  10153. Field (ECMS, ByteAcc, Lock, Preserve)
  10154. {
  10155. EIND, 8,
  10156. EDAT, 8
  10157. }
  10158.  
  10159. IndexField (EIND, EDAT, ByteAcc, NoLock, Preserve)
  10160. {
  10161. Offset (0x40),
  10162. IKFG, 8,
  10163. Offset (0x43),
  10164. RAMB, 32,
  10165. AVOL, 8,
  10166. LBTN, 8,
  10167. ERRF, 8,
  10168. OCLK, 8,
  10169. WIDE, 1,
  10170. OVCK, 2,
  10171. SLPN, 3,
  10172. ACRD, 1,
  10173. VGAS, 1,
  10174. CPUR, 6,
  10175. CPUF, 2,
  10176. LBT2, 8,
  10177. PCMS, 8,
  10178. ALSL, 8,
  10179. ALAE, 1,
  10180. ALDE, 1,
  10181. ALSP, 1,
  10182. Offset (0x51),
  10183. Offset (0x53),
  10184. WLDP, 1,
  10185. BTDP, 1,
  10186. WRST, 1,
  10187. BRST, 1,
  10188. WRPS, 1,
  10189. BRPS, 1,
  10190. Offset (0x54),
  10191. SYNA, 1,
  10192. ALPS, 1,
  10193. ELAN, 1,
  10194. STLC, 1,
  10195. FOLT, 1,
  10196. TPIF, 1,
  10197. Offset (0x55),
  10198. IKF2, 8,
  10199. UHDB, 8,
  10200. OSPM, 8,
  10201. TCGF, 8,
  10202. PPIS, 8,
  10203. PPIR, 8,
  10204. SIDE, 1,
  10205. PWBS, 1,
  10206. WFFG, 1,
  10207. OCST, 3,
  10208. SMTT, 1,
  10209. Offset (0x5C),
  10210. SP80, 1,
  10211. ITPL, 1,
  10212. ETPL, 1,
  10213. Offset (0x5D),
  10214. SWD2, 1,
  10215. F9KP, 1,
  10216. HACF, 6,
  10217. UWDP, 1,
  10218. WMDP, 1,
  10219. GPDP, 1,
  10220. TGDP, 1,
  10221. UWST, 1,
  10222. WMST, 1,
  10223. GPST, 1,
  10224. TGST, 1,
  10225. UWPS, 1,
  10226. WMPS, 1,
  10227. GPPS, 1,
  10228. TGPS, 1,
  10229. Offset (0x60),
  10230. SPDC, 8,
  10231. DROK, 1,
  10232. SPDG, 1,
  10233. Offset (0x62),
  10234. KBLV, 8,
  10235. FVGA, 1,
  10236. P4HN, 1,
  10237. USSC, 1,
  10238. MFTM, 1,
  10239. APBM, 4,
  10240. EGCP, 8,
  10241. EGC2, 2,
  10242. Offset (0x66),
  10243. VHDA, 1,
  10244. DP3S, 1,
  10245. LTCL, 2,
  10246. LOLK, 2,
  10247. U3WA, 2,
  10248. GSDT, 1,
  10249. PBAF, 1,
  10250. Offset (0x68),
  10251. PA3D, 1,
  10252. S4EN, 1,
  10253. , 2,
  10254. TCCA, 4,
  10255. S4TF, 1,
  10256. BECF, 1,
  10257. MMOD, 4,
  10258. Offset (0x6A)
  10259. }
  10260.  
  10261. OperationRegion (RAMW, SystemMemory, RAMB, 0x0100)
  10262. Field (RAMW, AnyAcc, NoLock, Preserve)
  10263. {
  10264. TRTY, 8,
  10265. FSFN, 8,
  10266. FSTA, 16,
  10267. FADR, 32,
  10268. FSIZ, 16,
  10269. ACTD, 8,
  10270. AVLD, 8,
  10271. SETD, 8,
  10272. ACPF, 8,
  10273. DCPF, 8,
  10274. DCP2, 8,
  10275. DCTP, 8,
  10276. CTPY, 8,
  10277. OPAD, 16,
  10278. OCAD, 16,
  10279. CSTE, 16,
  10280. NSTE, 16,
  10281. SSTE, 16,
  10282. SFUN, 8,
  10283. TPSV, 8,
  10284. TAC0, 8,
  10285. TCRT, 8,
  10286. TDO1, 8,
  10287. TDO2, 8,
  10288. PPSV, 8,
  10289. PAC0, 8,
  10290. T0HL, 8,
  10291. T0LL, 8,
  10292. T0F1, 8,
  10293. T0F2, 8,
  10294. T1HL, 8,
  10295. T1LL, 8,
  10296. T1F1, 8,
  10297. T1F2, 8,
  10298. T2HL, 8,
  10299. T2LL, 8,
  10300. T2F1, 8,
  10301. T2F2, 8,
  10302. T3HL, 8,
  10303. T3LL, 8,
  10304. T3F1, 8,
  10305. T3F2, 8,
  10306. T4HL, 8,
  10307. T4LL, 8,
  10308. T4F1, 8,
  10309. T4F2, 8,
  10310. T5HL, 8,
  10311. T5LL, 8,
  10312. T5F1, 8,
  10313. T5F2, 8,
  10314. T6HL, 8,
  10315. T6LL, 8,
  10316. T6F1, 8,
  10317. T6F2, 8,
  10318. T7HL, 8,
  10319. T7LL, 8,
  10320. T7F1, 8,
  10321. T7F2, 8,
  10322. SLPT, 8,
  10323. AIBF, 8,
  10324. IDES, 8,
  10325. VGAF, 16,
  10326. C4CP, 8,
  10327. LUXS, 8,
  10328. LUXL, 8,
  10329. LUXH, 8,
  10330. LUXF, 8,
  10331. MNAM, 64,
  10332. LCDV, 32,
  10333. LCDR, 8,
  10334. PTIM, 8,
  10335. PTMP, 8,
  10336. SMIF, 8,
  10337. DTSE, 8,
  10338. DTS1, 8,
  10339. DTS2, 8,
  10340. MPEN, 8,
  10341. QFAN, 8,
  10342. VBIF, 16,
  10343. BIPA, 32,
  10344. RTCW, 16,
  10345. CPUN, 8,
  10346. ALPR, 32,
  10347. CIST, 8,
  10348. GNBF, 32,
  10349. CPUP, 16,
  10350. SLMT, 16,
  10351. LDES, 8,
  10352. HDDF, 8,
  10353. GCDF, 16,
  10354. SMBB, 32,
  10355. FEBL, 32,
  10356. TMPB, 8,
  10357. DSYN, 8,
  10358. LDFT, 8,
  10359. TBOT, 16,
  10360. RTC1, 8,
  10361. RTC2, 8,
  10362. RTC3, 8,
  10363. BRTI, 8,
  10364. SGEN, 8,
  10365. RBUF, 32,
  10366. RVBS, 32,
  10367. EXTS, 8,
  10368. USBT, 8,
  10369. SCMA, 32,
  10370. CTBO, 8,
  10371. DOSF, 8,
  10372. PTAB, 32,
  10373. CPCH, 32,
  10374. HTPT, 32,
  10375. CPUH, 8,
  10376. XHCB, 32,
  10377. USBF, 8,
  10378. VBOF, 16,
  10379. RSKY, 8,
  10380. WOLO, 8,
  10381. INSK, 8,
  10382. FPBA, 32,
  10383. FPTR, 32,
  10384. NVLK, 8,
  10385. NVLP, 64,
  10386. ACPI, 8,
  10387. NRS3, 16,
  10388. DPS3, 16,
  10389. S4FG, 8,
  10390. MODE, 8,
  10391. S4TM, 32,
  10392. SMFA, 32,
  10393. CALB, 32,
  10394. EVET, 32
  10395. }
  10396. }
  10397.  
  10398. OperationRegion (DBGM, SystemMemory, 0x000D0000, 0x04)
  10399. Field (DBGM, DWordAcc, NoLock, Preserve)
  10400. {
  10401. DBGG, 32
  10402. }
  10403.  
  10404. Name (OSFG, Zero)
  10405. Name (OS9X, One)
  10406. Name (OS98, 0x02)
  10407. Name (OSME, 0x04)
  10408. Name (OS2K, 0x08)
  10409. Name (OSXP, 0x10)
  10410. Name (OSEG, 0x20)
  10411. Name (OSVT, 0x40)
  10412. Name (OSW7, 0x80)
  10413. Name (OSW8, 0x0100)
  10414. Name (OS13, 0x0110)
  10415. Name (OS14, 0x0120)
  10416. Name (OS15, 0x0130)
  10417. Name (OS16, 0x0140)
  10418. Name (OS17, 0x0150)
  10419. Method (MCTH, 2, NotSerialized)
  10420. {
  10421. If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
  10422. {
  10423. Return (Zero)
  10424. }
  10425.  
  10426. Add (SizeOf (Arg0), One, Local0)
  10427. Name (BUF0, Buffer (Local0) {})
  10428. Name (BUF1, Buffer (Local0) {})
  10429. Store (Arg0, BUF0)
  10430. Store (Arg1, BUF1)
  10431. While (Local0)
  10432. {
  10433. Decrement (Local0)
  10434. If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
  10435. BUF1, Local0))))
  10436. {
  10437. Return (Zero)
  10438. }
  10439. }
  10440.  
  10441. Return (One)
  10442. }
  10443.  
  10444. Method (MSOS, 0, NotSerialized)
  10445. {
  10446. If (LNotEqual (OSFG, Zero))
  10447. {
  10448. Return (OSFG)
  10449. }
  10450.  
  10451. If (CondRefOf (\_OSI, Local0))
  10452. {
  10453. If (_OSI ("Windows 2001"))
  10454. {
  10455. Store (OSXP, OSFG)
  10456. }
  10457.  
  10458. If (_OSI ("Windows 2001 SP1"))
  10459. {
  10460. Store (OSXP, OSFG)
  10461. }
  10462.  
  10463. If (_OSI ("Windows 2001 SP2"))
  10464. {
  10465. Store (OSXP, OSFG)
  10466. }
  10467.  
  10468. If (_OSI ("Windows 2006"))
  10469. {
  10470. Store (OSVT, OSFG)
  10471. }
  10472.  
  10473. If (_OSI ("Linux"))
  10474. {
  10475. Store (OSEG, OSFG)
  10476. }
  10477.  
  10478. If (_OSI ("Windows 2009"))
  10479. {
  10480. Store (OSW7, OSFG)
  10481. }
  10482.  
  10483. If (_OSI ("Windows 2012"))
  10484. {
  10485. Store (OSW8, OSFG)
  10486. }
  10487.  
  10488. If (_OSI ("Windows 2013"))
  10489. {
  10490. Store (OS13, OSFG)
  10491. }
  10492.  
  10493. If (_OSI ("Windows 2014"))
  10494. {
  10495. Store (OS14, OSFG)
  10496. }
  10497.  
  10498. If (_OSI ("Windows 2015"))
  10499. {
  10500. Store (OS15, OSFG)
  10501. }
  10502.  
  10503. If (_OSI ("Windows 2016"))
  10504. {
  10505. Store (OS16, OSFG)
  10506. }
  10507.  
  10508. If (_OSI ("Windows 2017"))
  10509. {
  10510. Store (OS17, OSFG)
  10511. }
  10512.  
  10513. Return (OSFG)
  10514. }
  10515. Else
  10516. {
  10517. If (MCTH (_OS, "Microsoft Windows"))
  10518. {
  10519. Store (OS98, OSFG)
  10520. }
  10521. Else
  10522. {
  10523. If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
  10524. {
  10525. Store (OSME, OSFG)
  10526. }
  10527. Else
  10528. {
  10529. If (MCTH (_OS, "Microsoft Windows NT"))
  10530. {
  10531. Store (OS2K, OSFG)
  10532. }
  10533. Else
  10534. {
  10535. Store (OSXP, OSFG)
  10536. }
  10537. }
  10538. }
  10539. }
  10540.  
  10541. Return (OSFG)
  10542. }
  10543.  
  10544. Name (ONAM, "ASUSTeK")
  10545. Method (ADVG, 0, NotSerialized)
  10546. {
  10547. If (\_SB.PCI0.GFX0.PRST ()) {}
  10548. Return (0x03)
  10549. }
  10550.  
  10551. Method (GCDM, 0, NotSerialized)
  10552. {
  10553. If (\_SB.PCI0.GFX0.PRST ()) {}
  10554. Return (One)
  10555. }
  10556.  
  10557. Method (SWHG, 1, Serialized)
  10558. {
  10559. If (\_SB.PCI0.GFX0.PRST ())
  10560. {
  10561. Return (One)
  10562. }
  10563.  
  10564. Return (Zero)
  10565. }
  10566.  
  10567. Method (NATK, 0, NotSerialized)
  10568. {
  10569. If (\_SB.PCI0.GFX0.PRST ())
  10570. {
  10571. Return (\_SB.PCI0.GFX0.NATK ())
  10572. }
  10573.  
  10574. Return (One)
  10575. }
  10576. }
  10577.  
  10578. Scope (_SB.PCI0.SBRG)
  10579. {
  10580. Device (EC0)
  10581. {
  10582. Name (_HID, EisaId ("PNP0C09"))
  10583. Name (_CRS, ResourceTemplate ()
  10584. {
  10585. IO (Decode16,
  10586. 0x0062, // Range Minimum
  10587. 0x0062, // Range Maximum
  10588. 0x00, // Alignment
  10589. 0x01, // Length
  10590. )
  10591. IO (Decode16,
  10592. 0x0066, // Range Minimum
  10593. 0x0066, // Range Maximum
  10594. 0x00, // Alignment
  10595. 0x01, // Length
  10596. )
  10597. })
  10598. Method (_GPE, 0, NotSerialized)
  10599. {
  10600. Store (0x16, Local0)
  10601. Return (Local0)
  10602. }
  10603.  
  10604. Mutex (MUEC, 0x00)
  10605. Mutex (MU4T, 0x00)
  10606. Name (ECFL, Ones)
  10607. Method (ECAV, 0, NotSerialized)
  10608. {
  10609. If (LGreaterEqual (SLPT, 0x04))
  10610. {
  10611. Return (Zero)
  10612. }
  10613.  
  10614. If (LEqual (NVLK, One))
  10615. {
  10616. Return (Zero)
  10617. }
  10618.  
  10619. If (LEqual (ECFL, Ones))
  10620. {
  10621. If (LGreaterEqual (_REV, 0x02))
  10622. {
  10623. Return (One)
  10624. }
  10625. Else
  10626. {
  10627. Return (Zero)
  10628. }
  10629.  
  10630. Return (Zero)
  10631. }
  10632.  
  10633. Return (ECFL)
  10634. }
  10635.  
  10636. OperationRegion (PECO, SystemIO, 0x0260, 0x08)
  10637. Field (PECO, ByteAcc, Lock, Preserve)
  10638. {
  10639. HSTS, 8,
  10640. HCTL, 8,
  10641. HCMD, 8,
  10642. HTAR, 8,
  10643. HWLR, 8,
  10644. HRLR, 8,
  10645. HWDR, 8,
  10646. HRDR, 8
  10647. }
  10648.  
  10649. Method (PECI, 7, Serialized)
  10650. {
  10651. Name (_T_0, Zero)
  10652. While (LEqual (And (PBSY, 0x02), 0x02))
  10653. {
  10654. If (LGreater (Arg6, 0x1000))
  10655. {
  10656. Return (Zero)
  10657. }
  10658.  
  10659. Add (Arg6, One, Arg6)
  10660. Sleep (0x0A)
  10661. }
  10662.  
  10663. And (PBSY, 0xFD, PBSY)
  10664. Store (Arg0, HTAR)
  10665. Store (Arg1, HWLR)
  10666. Store (Arg2, HRLR)
  10667. Store (Arg3, HCMD)
  10668. Name (TEMP, Zero)
  10669. Store (Zero, TEMP)
  10670. If (LNotEqual (Arg1, Zero))
  10671. {
  10672. While (One)
  10673. {
  10674. Store (ToInteger (HCMD), _T_0)
  10675. If (LEqual (_T_0, 0xF7))
  10676. {
  10677. Store (Zero, TEMP)
  10678. Break
  10679. }
  10680. Else
  10681. {
  10682. If (LEqual (_T_0, One))
  10683. {
  10684. Store (Zero, TEMP)
  10685. Break
  10686. }
  10687. Else
  10688. {
  10689. If (LEqual (_T_0, 0x02))
  10690. {
  10691. Store (Zero, TEMP)
  10692. Break
  10693. }
  10694. Else
  10695. {
  10696. If (LEqual (_T_0, 0xA1))
  10697. {
  10698. Store (Subtract (Arg1, One), TEMP)
  10699. Break
  10700. }
  10701. Else
  10702. {
  10703. If (LEqual (_T_0, 0xA2))
  10704. {
  10705. Store (Subtract (Arg1, One), TEMP)
  10706. Break
  10707. }
  10708. Else
  10709. {
  10710. If (LEqual (_T_0, 0xB1))
  10711. {
  10712. Store (Subtract (Arg1, One), TEMP)
  10713. Break
  10714. }
  10715. Else
  10716. {
  10717. If (LEqual (_T_0, 0xB2))
  10718. {
  10719. Store (Subtract (Arg1, One), TEMP)
  10720. Break
  10721. }
  10722. Else
  10723. {
  10724. If (LEqual (_T_0, 0x61))
  10725. {
  10726. Store (Subtract (Arg1, One), TEMP)
  10727. Break
  10728. }
  10729. Else
  10730. {
  10731. If (LEqual (_T_0, 0x62))
  10732. {
  10733. Store (Subtract (Arg1, One), TEMP)
  10734. Break
  10735. }
  10736. Else
  10737. {
  10738. If (LEqual (_T_0, 0xE1))
  10739. {
  10740. Store (Subtract (Arg1, One), TEMP)
  10741. Break
  10742. }
  10743. Else
  10744. {
  10745. If (LEqual (_T_0, 0xE2))
  10746. {
  10747. Store (Subtract (Arg1, One), TEMP)
  10748. Break
  10749. }
  10750. Else
  10751. {
  10752. If (LEqual (_T_0, 0xA5))
  10753. {
  10754. Or (HCTL, 0x40, HCTL)
  10755. Store (Subtract (Arg1, 0x02), TEMP)
  10756. Break
  10757. }
  10758. Else
  10759. {
  10760. If (LEqual (_T_0, 0xA6))
  10761. {
  10762. Or (HCTL, 0x40, HCTL)
  10763. Store (Subtract (Arg1, 0x02), TEMP)
  10764. Break
  10765. }
  10766. Else
  10767. {
  10768. If (LEqual (_T_0, 0xB5))
  10769. {
  10770. Or (HCTL, 0x40, HCTL)
  10771. Store (Subtract (Arg1, 0x02), TEMP)
  10772. Break
  10773. }
  10774. Else
  10775. {
  10776. If (LEqual (_T_0, 0xB6))
  10777. {
  10778. Or (HCTL, 0x40, HCTL)
  10779. Store (Subtract (Arg1, 0x02), TEMP)
  10780. Break
  10781. }
  10782. Else
  10783. {
  10784. If (LEqual (_T_0, 0x65))
  10785. {
  10786. Or (HCTL, 0x40, HCTL)
  10787. Store (Subtract (Arg1, 0x02), TEMP)
  10788. Break
  10789. }
  10790. Else
  10791. {
  10792. If (LEqual (_T_0, 0x66))
  10793. {
  10794. Or (HCTL, 0x40, HCTL)
  10795. Store (Subtract (Arg1, 0x02), TEMP)
  10796. Break
  10797. }
  10798. Else
  10799. {
  10800. If (LEqual (_T_0, 0xE5))
  10801. {
  10802. Or (HCTL, 0x40, HCTL)
  10803. Store (Subtract (Arg1, 0x02), TEMP)
  10804. Break
  10805. }
  10806. Else
  10807. {
  10808. If (LEqual (_T_0, 0xE6))
  10809. {
  10810. Or (HCTL, 0x40, HCTL)
  10811. Store (Subtract (Arg1, 0x02), TEMP)
  10812. Break
  10813. }
  10814. Else
  10815. {
  10816. And (PBSY, 0xFE, PBSY)
  10817. Return (Zero)
  10818. }
  10819. }
  10820. }
  10821. }
  10822. }
  10823. }
  10824. }
  10825. }
  10826. }
  10827. }
  10828. }
  10829. }
  10830. }
  10831. }
  10832. }
  10833. }
  10834. }
  10835. }
  10836. }
  10837.  
  10838. Break
  10839. }
  10840. }
  10841.  
  10842. If (LGreater (TEMP, Zero))
  10843. {
  10844. Store (Zero, Local0)
  10845. While (LLess (Local0, TEMP))
  10846. {
  10847. Store (DerefOf (Index (Arg4, Local0)), HWDR)
  10848. Add (Local0, One, Local0)
  10849. }
  10850. }
  10851.  
  10852. Or (HCTL, One, HCTL)
  10853. Name (TIME, 0x5000)
  10854. Store (Zero, Local0)
  10855. While (LLess (Local0, TIME))
  10856. {
  10857. If (And (HSTS, 0x80))
  10858. {
  10859. Store (0x80, HSTS)
  10860. And (PBSY, 0xFE, PBSY)
  10861. Return (Zero)
  10862. }
  10863.  
  10864. If (And (HSTS, 0x40))
  10865. {
  10866. Store (0x40, HSTS)
  10867. And (PBSY, 0xFE, PBSY)
  10868. Return (Zero)
  10869. }
  10870.  
  10871. If (And (HSTS, 0x20))
  10872. {
  10873. Store (0x20, HSTS)
  10874. And (PBSY, 0xFE, PBSY)
  10875. Return (Zero)
  10876. }
  10877.  
  10878. If (And (HSTS, 0x08))
  10879. {
  10880. Store (0x08, HSTS)
  10881. And (PBSY, 0xFE, PBSY)
  10882. Return (Zero)
  10883. }
  10884.  
  10885. If (And (HSTS, 0x04))
  10886. {
  10887. Store (0x04, HSTS)
  10888. And (PBSY, 0xFE, PBSY)
  10889. Return (Zero)
  10890. }
  10891.  
  10892. If (And (HSTS, 0x02))
  10893. {
  10894. Store (0x02, HSTS)
  10895. Break
  10896. }
  10897. }
  10898.  
  10899. If (LEqual (Local0, TIME))
  10900. {
  10901. And (PBSY, 0xFE, PBSY)
  10902. Return (Zero)
  10903. }
  10904. Else
  10905. {
  10906. Store (Zero, Local0)
  10907. While (LLess (Local0, HRLR))
  10908. {
  10909. Store (HRDR, Local1)
  10910. Store (Local1, Index (Arg5, Local0))
  10911. Add (Local0, One, Local0)
  10912. }
  10913.  
  10914. And (PBSY, 0xFE, PBSY)
  10915. Return (One)
  10916. }
  10917.  
  10918. And (PBSY, 0xFE, PBSY)
  10919. }
  10920.  
  10921. OperationRegion (ECOR, EmbeddedControl, Zero, 0xFF)
  10922. Field (ECOR, ByteAcc, Lock, Preserve)
  10923. {
  10924. Offset (0x04),
  10925. CMD1, 8,
  10926. CDT1, 8,
  10927. CDT2, 8,
  10928. CDT3, 8,
  10929. Offset (0x80),
  10930. Offset (0x81),
  10931. Offset (0x82),
  10932. Offset (0x83),
  10933. EB0R, 8,
  10934. EB1R, 8,
  10935. EPWF, 8,
  10936. Offset (0x87),
  10937. Offset (0x88),
  10938. Offset (0x89),
  10939. Offset (0x8A),
  10940. HKEN, 1,
  10941. Offset (0x93),
  10942. TAH0, 16,
  10943. TAH1, 16,
  10944. TSTP, 8,
  10945. Offset (0x9C),
  10946. CDT4, 8,
  10947. CDT5, 8,
  10948. Offset (0xA0),
  10949. Offset (0xA1),
  10950. Offset (0xA2),
  10951. Offset (0xA3),
  10952. EACT, 8,
  10953. TH1R, 8,
  10954. TH1L, 8,
  10955. TH0R, 8,
  10956. TH0L, 8,
  10957. Offset (0xB0),
  10958. B0PN, 16,
  10959. Offset (0xB4),
  10960. Offset (0xB6),
  10961. Offset (0xB8),
  10962. Offset (0xBA),
  10963. Offset (0xBC),
  10964. Offset (0xBE),
  10965. B0TM, 16,
  10966. B0C1, 16,
  10967. B0C2, 16,
  10968. B0C3, 16,
  10969. B0C4, 16,
  10970. Offset (0xD0),
  10971. B1PN, 16,
  10972. Offset (0xD4),
  10973. Offset (0xD6),
  10974. Offset (0xD8),
  10975. Offset (0xDA),
  10976. Offset (0xDC),
  10977. Offset (0xDE),
  10978. B1TM, 16,
  10979. B1C1, 16,
  10980. B1C2, 16,
  10981. B1C3, 16,
  10982. B1C4, 16,
  10983. Offset (0xF0),
  10984. Offset (0xF2),
  10985. Offset (0xF4),
  10986. B0SN, 16,
  10987. Offset (0xF8),
  10988. Offset (0xFA),
  10989. Offset (0xFC),
  10990. B1SN, 16
  10991. }
  10992.  
  10993. Name (SMBF, Zero)
  10994. OperationRegion (SMBX, EmbeddedControl, 0x18, 0x28)
  10995. Field (SMBX, ByteAcc, NoLock, Preserve)
  10996. {
  10997. PRTC, 8,
  10998. SSTS, 5,
  10999. , 1,
  11000. ALFG, 1,
  11001. CDFG, 1,
  11002. ADDR, 8,
  11003. CMDB, 8,
  11004. BDAT, 256,
  11005. BCNT, 8,
  11006. , 1,
  11007. ALAD, 7,
  11008. ALD0, 8,
  11009. ALD1, 8
  11010. }
  11011.  
  11012. OperationRegion (SMB2, EmbeddedControl, 0x40, 0x28)
  11013. Field (SMB2, ByteAcc, NoLock, Preserve)
  11014. {
  11015. PRT2, 8,
  11016. SST2, 5,
  11017. , 1,
  11018. ALF2, 1,
  11019. CDF2, 1,
  11020. ADD2, 8,
  11021. CMD2, 8,
  11022. BDA2, 256,
  11023. BCN2, 8,
  11024. , 1,
  11025. ALA2, 7,
  11026. ALR0, 8,
  11027. ALR1, 8
  11028. }
  11029.  
  11030. Field (SMB2, ByteAcc, NoLock, Preserve)
  11031. {
  11032. Offset (0x04),
  11033. DA20, 8,
  11034. DA21, 8
  11035. }
  11036.  
  11037. Field (SMBX, ByteAcc, NoLock, Preserve)
  11038. {
  11039. Offset (0x04),
  11040. DAT0, 8,
  11041. DAT1, 8
  11042. }
  11043.  
  11044. Field (SMBX, ByteAcc, NoLock, Preserve)
  11045. {
  11046. Offset (0x04),
  11047. DT2B, 16
  11048. }
  11049.  
  11050. OperationRegion (NSBS, EmbeddedControl, 0x40, 0x04)
  11051. Field (NSBS, ByteAcc, NoLock, Preserve)
  11052. {
  11053. A2AD, 8,
  11054. A2D0, 8,
  11055. A2D1, 8,
  11056. A3AD, 8
  11057. }
  11058.  
  11059. OperationRegion (BRAM, SystemIO, 0x025A, 0x02)
  11060. Field (BRAM, ByteAcc, Lock, Preserve)
  11061. {
  11062. BRAI, 8,
  11063. BRAD, 8
  11064. }
  11065.  
  11066. IndexField (BRAI, BRAD, ByteAcc, NoLock, Preserve)
  11067. {
  11068. Offset (0x8F),
  11069. PBSY, 8,
  11070. EPWS, 8,
  11071. EB0S, 8,
  11072. EB1S, 8,
  11073. EB0T, 8,
  11074. EB1T, 8,
  11075. Offset (0x98),
  11076. ECPU, 8,
  11077. ECRT, 8,
  11078. EPSV, 8,
  11079. Offset (0xA0),
  11080. B0VL, 16,
  11081. B0RC, 16,
  11082. B0FC, 16,
  11083. B0MD, 16,
  11084. B0ST, 16,
  11085. B0CC, 16,
  11086. B0DC, 16,
  11087. B0DV, 16,
  11088. B1VL, 16,
  11089. B1RC, 16,
  11090. B1FC, 16,
  11091. B1MD, 16,
  11092. B1ST, 16,
  11093. B1CC, 16,
  11094. B1DC, 16,
  11095. B1DV, 16
  11096. }
  11097.  
  11098. Method (_INI, 0, NotSerialized)
  11099. {
  11100. If (LLessEqual (MSOS (), OSME))
  11101. {
  11102. Store (One, ECFL)
  11103. }
  11104.  
  11105. KINI ()
  11106. }
  11107.  
  11108. Method (_REG, 2, NotSerialized)
  11109. {
  11110. If (LEqual (Arg0, 0x03))
  11111. {
  11112. Store (Arg1, ECFL)
  11113. }
  11114. }
  11115. }
  11116. }
  11117.  
  11118. Scope (_SB)
  11119. {
  11120. Name (ATKP, Zero)
  11121. Name (AITM, Zero)
  11122. Name (PLMD, Zero)
  11123. Name (MUTX, One)
  11124. Name (LEDS, Zero)
  11125. Name (PWKY, Zero)
  11126. Name (FNIV, Zero)
  11127. Device (ATKD)
  11128. {
  11129. Name (_HID, "PNP0C14")
  11130. Name (_UID, "ATK")
  11131. Name (ATKQ, Package (0x10)
  11132. {
  11133. 0xFFFFFFFF,
  11134. 0xFFFFFFFF,
  11135. 0xFFFFFFFF,
  11136. 0xFFFFFFFF,
  11137. 0xFFFFFFFF,
  11138. 0xFFFFFFFF,
  11139. 0xFFFFFFFF,
  11140. 0xFFFFFFFF,
  11141. 0xFFFFFFFF,
  11142. 0xFFFFFFFF,
  11143. 0xFFFFFFFF,
  11144. 0xFFFFFFFF,
  11145. 0xFFFFFFFF,
  11146. 0xFFFFFFFF,
  11147. 0xFFFFFFFF,
  11148. 0xFFFFFFFF
  11149. })
  11150. Name (AQHI, Zero)
  11151. Name (AQTI, 0x0F)
  11152. Name (AQNO, Zero)
  11153. Method (IANQ, 1, Serialized)
  11154. {
  11155. If (LGreaterEqual (AQNO, 0x10))
  11156. {
  11157. Store (0x64, Local0)
  11158. While (LAnd (Local0, LGreaterEqual (AQNO, 0x10)))
  11159. {
  11160. Decrement (Local0)
  11161. Sleep (0x0A)
  11162. }
  11163.  
  11164. If (LAnd (LNot (Local0), LGreaterEqual (AQNO, 0x10)))
  11165. {
  11166. Return (Zero)
  11167. }
  11168. }
  11169.  
  11170. Increment (AQTI)
  11171. And (AQTI, 0x0F, AQTI)
  11172. Store (Arg0, Index (ATKQ, AQTI))
  11173. Increment (AQNO)
  11174. Return (One)
  11175. }
  11176.  
  11177. Method (GANQ, 0, Serialized)
  11178. {
  11179. If (AQNO)
  11180. {
  11181. Decrement (AQNO)
  11182. Store (DerefOf (Index (ATKQ, AQHI)), Local0)
  11183. Increment (AQHI)
  11184. And (AQHI, 0x0F, AQHI)
  11185. Return (Local0)
  11186. }
  11187.  
  11188. Return (Ones)
  11189. }
  11190.  
  11191. Name (_WDG, Buffer (0x28)
  11192. {
  11193. /* 0000 */ 0xD0, 0x5E, 0x84, 0x97, 0x6D, 0x4E, 0xDE, 0x11,
  11194. /* 0008 */ 0x8A, 0x39, 0x08, 0x00, 0x20, 0x0C, 0x9A, 0x66,
  11195. /* 0010 */ 0x4E, 0x42, 0x01, 0x02, 0x35, 0xBB, 0x3C, 0x0B,
  11196. /* 0018 */ 0xC2, 0xE3, 0xED, 0x45, 0x91, 0xC2, 0x4C, 0x5A,
  11197. /* 0020 */ 0x6D, 0x19, 0x5D, 0x1C, 0xFF, 0x00, 0x01, 0x08
  11198. })
  11199. Method (WMNB, 3, Serialized)
  11200. {
  11201. CreateDWordField (Arg2, Zero, IIA0)
  11202. CreateDWordField (Arg2, 0x04, IIA1)
  11203. And (Arg1, 0xFFFFFFFF, Local0)
  11204. If (LEqual (Local0, 0x54494E49))
  11205. {
  11206. INIT (IIA0)
  11207. Return (One)
  11208. }
  11209.  
  11210. If (LEqual (Local0, 0x53545342))
  11211. {
  11212. Return (BSTS ())
  11213. }
  11214.  
  11215. If (LEqual (Local0, 0x4E554653))
  11216. {
  11217. Return (SFUN ())
  11218. }
  11219.  
  11220. If (LEqual (Local0, 0x43455053))
  11221. {
  11222. Return (SPEC (IIA0))
  11223. }
  11224.  
  11225. If (LEqual (Local0, 0x494E424B))
  11226. {
  11227. Return (KBNI ())
  11228. }
  11229.  
  11230. If (LEqual (Local0, 0x5256534F))
  11231. {
  11232. OSVR (IIA0)
  11233. Return (Zero)
  11234. }
  11235.  
  11236. If (LEqual (Local0, 0x53545344))
  11237. {
  11238. If (LEqual (IIA0, 0x00060023))
  11239. {
  11240. Name (LASV, Zero)
  11241. If (LEqual (NVLK, One))
  11242. {
  11243. Return (LASV)
  11244. }
  11245.  
  11246. Store (Zero, Local0)
  11247. Store (0xFFFF, FSTA)
  11248. Store (0x55534243, FADR)
  11249. FSMI (0x05)
  11250. If (LEqual (FSTA, 0x03))
  11251. {
  11252. Store (And (^^PCI0.SBRG.EC0.STA8 (Zero), 0x03), Local0)
  11253. }
  11254.  
  11255. If (Ones)
  11256. {
  11257. Or (0x04, Local0, Local0)
  11258. }
  11259.  
  11260. Store (Local0, LASV)
  11261. Return (Local0)
  11262. }
  11263.  
  11264. If (LEqual (IIA0, 0x00060024))
  11265. {
  11266. Return (Package (0x03)
  11267. {
  11268. 0x22B58086,
  11269. 0x02,
  11270. 0xFFFFFFFF
  11271. })
  11272. }
  11273.  
  11274. If (LEqual (IIA0, 0x00060026))
  11275. {
  11276. Store (^^PCI0.SBRG.EC0.STA8 (Zero), Local0)
  11277. And (Local0, 0x04, Local0)
  11278. If (LEqual (Local0, 0x04))
  11279. {
  11280. Return (0x00010001)
  11281. }
  11282. Else
  11283. {
  11284. If (LEqual (Local0, Zero))
  11285. {
  11286. Return (0x00010000)
  11287. }
  11288. }
  11289. }
  11290.  
  11291. If (LEqual (IIA0, 0x00010002))
  11292. {
  11293. Return (0x00050006)
  11294. }
  11295.  
  11296. If (LEqual (IIA0, 0x00020011))
  11297. {
  11298. Return (Or (GALE (One), 0x00050000))
  11299. }
  11300.  
  11301. If (LEqual (IIA0, 0x00020012))
  11302. {
  11303. Return (Or (GALE (0x02), 0x00050000))
  11304. }
  11305.  
  11306. If (LEqual (IIA0, 0x00020013))
  11307. {
  11308. Return (Or (GALE (0x04), 0x00050000))
  11309. }
  11310.  
  11311. If (LEqual (IIA0, 0x00040015))
  11312. {
  11313. Return (Or (GALE (0x08), 0x00050000))
  11314. }
  11315.  
  11316. If (LEqual (IIA0, 0x00020014))
  11317. {
  11318. Return (Or (GALE (0x10), 0x00050000))
  11319. }
  11320.  
  11321. If (LEqual (IIA0, 0x00020015))
  11322. {
  11323. Return (Or (GALE (0x20), 0x00050000))
  11324. }
  11325.  
  11326. If (LEqual (IIA0, 0x00020016))
  11327. {
  11328. Return (Or (GALE (0x40), 0x00050000))
  11329. }
  11330.  
  11331. If (LEqual (IIA0, 0x00110011))
  11332. {
  11333. Return (And (TMPR (), 0xFFFF))
  11334. }
  11335.  
  11336. If (LEqual (IIA0, 0x00110012))
  11337. {
  11338. Store (TMPR (), Local0)
  11339. Store (Local0, Local1)
  11340. ShiftRight (And (Local0, 0xF0000000), 0x1C, Local0)
  11341. ShiftRight (And (Local1, 0x0F000000), 0x18, Local1)
  11342. ShiftLeft (Local1, 0x08, Local1)
  11343. Return (Add (Local0, Local1))
  11344. }
  11345.  
  11346. If (LEqual (IIA0, 0x00050012))
  11347. {
  11348. If (LGreaterEqual (MSOS (), OSW8))
  11349. {
  11350. Subtract (0x64, Zero, Local0)
  11351. ShiftLeft (Local0, 0x08, Local0)
  11352. Add (Local0, 0x64, Local1)
  11353. }
  11354. Else
  11355. {
  11356. Store (0x0A, Local0)
  11357. ShiftLeft (Local0, 0x08, Local0)
  11358. Store (Add (GPLV (), Local0), Local1)
  11359. }
  11360.  
  11361. Return (Local1)
  11362. }
  11363.  
  11364. If (LEqual (IIA0, 0x00010011))
  11365. {
  11366. If (WLDP)
  11367. {
  11368. Return (Add (WRST, 0x00030000))
  11369. }
  11370. }
  11371.  
  11372. If (LEqual (IIA0, 0x00010013))
  11373. {
  11374. If (BTDP)
  11375. {
  11376. Return (Add (BRST, 0x00050000))
  11377. }
  11378. }
  11379.  
  11380. If (LEqual (IIA0, 0x00010001))
  11381. {
  11382. Return (0x00040000)
  11383. }
  11384.  
  11385. If (LEqual (IIA0, 0x00120012))
  11386. {
  11387. Return (PSTC (Zero))
  11388. }
  11389.  
  11390. If (LEqual (IIA0, 0x00120015))
  11391. {
  11392. Subtract (SLMT, One, Local0)
  11393. Return (Or (Local0, 0x00010000))
  11394. }
  11395.  
  11396. If (LEqual (IIA0, 0x00080041))
  11397. {
  11398. Return (Zero)
  11399. }
  11400.  
  11401. If (LEqual (IIA0, 0x00080042))
  11402. {
  11403. Return (Zero)
  11404. }
  11405.  
  11406. If (LEqual (IIA0, 0x00080043))
  11407. {
  11408. Return (Zero)
  11409. }
  11410.  
  11411. If (LEqual (IIA0, 0x00080044))
  11412. {
  11413. Return (Zero)
  11414. }
  11415. }
  11416.  
  11417. If (LEqual (Local0, 0x53564544))
  11418. {
  11419. If (LEqual (IIA0, 0x00060023))
  11420. {
  11421. If (LEqual (NVLK, One))
  11422. {
  11423. Return (Zero)
  11424. }
  11425.  
  11426. Store (Zero, Local0)
  11427. Store (0xFFFF, FSTA)
  11428. Store (0x55534243, FADR)
  11429. FSMI (0x05)
  11430. ShiftRight (IIA1, 0x09, Local0)
  11431. If (LEqual (And (Local0, One), One))
  11432. {
  11433. Store (One, VBOF)
  11434. ShiftRight (IIA1, 0x18, Local0)
  11435. Multiply (Local0, 0x0100, Local0)
  11436. Or (Local0, VBOF, VBOF)
  11437. }
  11438. Else
  11439. {
  11440. Store (Zero, VBOF)
  11441. }
  11442.  
  11443. And (IIA1, 0xFF, Local0)
  11444. ^^PCI0.SBRG.EC0.STA9 (One, Local0)
  11445. ShiftRight (IIA1, 0x08, Local0)
  11446. Store (^^PCI0.SBRG.EC0.STA8 (Zero), Local1)
  11447. If (LEqual (And (Local0, One), One))
  11448. {
  11449. Or (Local1, 0x02, Local1)
  11450. And (Local1, 0x0F, Local2)
  11451. Store (Local2, USBF)
  11452. ^^PCI0.SBRG.EC0.STA9 (Zero, Local1)
  11453. }
  11454. Else
  11455. {
  11456. And (Local1, 0xFD, Local1)
  11457. And (Local1, 0x0F, Local2)
  11458. Store (Local2, USBF)
  11459. ^^PCI0.SBRG.EC0.STA9 (Zero, Local1)
  11460. }
  11461.  
  11462. Store (0xFFFF, FSTA)
  11463. Store (0x55534243, FADR)
  11464. FSMI (0x04)
  11465. If (LEqual (FSTA, 0x03))
  11466. {
  11467. Store (0xFFFF, FSTA)
  11468. FSMI (0x06)
  11469. If (LNotEqual (FSTA, Zero))
  11470. {
  11471. Return (Zero)
  11472. }
  11473. }
  11474.  
  11475. Return (One)
  11476. }
  11477.  
  11478. If (LEqual (IIA0, 0x00060026))
  11479. {
  11480. Store (Zero, Local0)
  11481. Store (0xFFFF, FSTA)
  11482. Store (0x55534243, FADR)
  11483. FSMI (0x05)
  11484. Store (^^PCI0.SBRG.EC0.STA8 (Zero), Local0)
  11485. If (LEqual (IIA1, One))
  11486. {
  11487. Or (0x04, USBF, Local2)
  11488. Store (Local2, USBF)
  11489. Or (Local0, 0x04, Local0)
  11490. ^^PCI0.SBRG.EC0.STA9 (Zero, Local0)
  11491. }
  11492. Else
  11493. {
  11494. And (0xFB, USBF, Local2)
  11495. Store (Local2, USBF)
  11496. And (Local0, 0xFB, Local0)
  11497. ^^PCI0.SBRG.EC0.STA9 (Zero, Local0)
  11498. }
  11499.  
  11500. Store (0xFFFF, FSTA)
  11501. Store (0x55534243, FADR)
  11502. FSMI (0x04)
  11503. If (LEqual (FSTA, 0x03))
  11504. {
  11505. Store (0xFFFF, FSTA)
  11506. FSMI (0x06)
  11507. If (LNotEqual (FSTA, Zero))
  11508. {
  11509. Return (Zero)
  11510. }
  11511. }
  11512.  
  11513. Return (One)
  11514. }
  11515.  
  11516. If (LEqual (IIA0, 0x00020011))
  11517. {
  11518. Return (SALE (Add (IIA1, 0x02)))
  11519. }
  11520.  
  11521. If (LEqual (IIA0, 0x00020012))
  11522. {
  11523. Return (SALE (Add (IIA1, 0x04)))
  11524. }
  11525.  
  11526. If (LEqual (IIA0, 0x00020013))
  11527. {
  11528. Return (SALE (Add (IIA1, 0x08)))
  11529. }
  11530.  
  11531. If (LEqual (IIA0, 0x00040015))
  11532. {
  11533. Return (SALE (Add (IIA1, 0x10)))
  11534. }
  11535.  
  11536. If (LEqual (IIA0, 0x00020014))
  11537. {
  11538. Return (SALE (Add (IIA1, 0x20)))
  11539. }
  11540.  
  11541. If (LEqual (IIA0, 0x00020015))
  11542. {
  11543. Return (SALE (Add (IIA1, 0x40)))
  11544. }
  11545.  
  11546. If (LEqual (IIA0, 0x00020016))
  11547. {
  11548. Return (SALE (Add (IIA1, 0x80)))
  11549. }
  11550.  
  11551. If (LEqual (IIA0, 0x00050011))
  11552. {
  11553. If (LEqual (IIA1, 0x02))
  11554. {
  11555. ^^PCI0.SBRG.EC0.SPIN (0x37, One)
  11556. Store (One, ^^PCI0.SBRG.EC0.BLCT)
  11557. }
  11558.  
  11559. Return (One)
  11560. }
  11561.  
  11562. If (LEqual (IIA0, 0x00050012))
  11563. {
  11564. SPLV (IIA1)
  11565. Return (One)
  11566. }
  11567.  
  11568. If (LEqual (IIA0, 0x00010002))
  11569. {
  11570. If (LOr (LEqual (IIA1, 0x04), LEqual (IIA1, 0x05)))
  11571. {
  11572. Subtract (IIA1, 0x04, IIA1)
  11573. }
  11574.  
  11575. OWGD (IIA1)
  11576. Return (One)
  11577. }
  11578.  
  11579. If (LEqual (IIA0, 0x00010012))
  11580. {
  11581. WLED (IIA1)
  11582. Return (One)
  11583. }
  11584.  
  11585. If (LEqual (IIA0, 0x00010013))
  11586. {
  11587. BLED (IIA1)
  11588. Return (One)
  11589. }
  11590.  
  11591. If (LEqual (IIA0, 0x00010003))
  11592. {
  11593. Return (CWAP (IIA1))
  11594. }
  11595.  
  11596. If (LEqual (IIA0, 0x00120012))
  11597. {
  11598. Return (PSTC (Add (IIA1, One)))
  11599. }
  11600.  
  11601. If (LEqual (IIA0, 0x00100021))
  11602. {
  11603. ^^PCI0.SBRG.EC0._Q0B ()
  11604. Return (One)
  11605. }
  11606.  
  11607. If (LEqual (IIA0, 0x00100022))
  11608. {
  11609. If (And (IIA1, 0x02))
  11610. {
  11611. ^^PCI0.SBRG.EC0.STB1 (0x04)
  11612. ^^PCI0.SBRG.EC0.STB1 (0x05)
  11613. Store (One, FNIV)
  11614. Return (One)
  11615. }
  11616. Else
  11617. {
  11618. KINI ()
  11619. Return (One)
  11620. }
  11621.  
  11622. Return (Zero)
  11623. }
  11624.  
  11625. If (LEqual (IIA0, 0x00120053))
  11626. {
  11627. If (And (IIA1, One))
  11628. {
  11629. BATF (One)
  11630. Return (One)
  11631. }
  11632. Else
  11633. {
  11634. BATF (Zero)
  11635. Return (One)
  11636. }
  11637.  
  11638. Return (Zero)
  11639. }
  11640. }
  11641.  
  11642. If (LEqual (Local0, 0x48534C46))
  11643. {
  11644. FLSH (IIA0)
  11645. Return (One)
  11646. }
  11647.  
  11648. If (LEqual (Local0, 0x494E4946))
  11649. {
  11650. Return (FINI (IIA0))
  11651. }
  11652.  
  11653. If (LEqual (Local0, 0x53524546))
  11654. {
  11655. Return (FERS (IIA0))
  11656. }
  11657.  
  11658. If (LEqual (Local0, 0x49525746))
  11659. {
  11660. Return (FWRI (IIA0))
  11661. }
  11662.  
  11663. If (LEqual (Local0, 0x57504346))
  11664. {
  11665. Return (FCPW (IIA0))
  11666. }
  11667.  
  11668. If (LEqual (Local0, 0x50504346))
  11669. {
  11670. Return (FCPP ())
  11671. }
  11672.  
  11673. If (LEqual (Local0, 0x50525746))
  11674. {
  11675. Return (FWRP ())
  11676. }
  11677.  
  11678. If (LEqual (Local0, 0x52534345))
  11679. {
  11680. Return (ECSR (IIA0))
  11681. }
  11682.  
  11683. If (LEqual (Local0, 0x43534C46))
  11684. {
  11685. Return (FLSC (IIA0))
  11686. }
  11687.  
  11688. If (LEqual (Local0, 0x43455246))
  11689. {
  11690. Return (FREC (IIA0))
  11691. }
  11692.  
  11693. If (LEqual (Local0, 0x454D4946))
  11694. {
  11695. Return (FIME (IIA0))
  11696. }
  11697.  
  11698. If (LEqual (Local0, 0x4C425053))
  11699. {
  11700. If (LEqual (IIA0, 0x80))
  11701. {
  11702. If (LGreaterEqual (MSOS (), OSVT))
  11703. {
  11704. Return (Zero)
  11705. }
  11706.  
  11707. Return (One)
  11708. }
  11709.  
  11710. If (LGreater (IIA0, 0x0F))
  11711. {
  11712. Return (Zero)
  11713. }
  11714.  
  11715. If (LLess (IIA0, Zero))
  11716. {
  11717. Return (Zero)
  11718. }
  11719.  
  11720. SPLV (IIA0)
  11721. Return (One)
  11722. }
  11723.  
  11724. If (LEqual (Local0, 0x50534453))
  11725. {
  11726. SDSP (IIA0)
  11727. Return (One)
  11728. }
  11729.  
  11730. If (LEqual (Local0, 0x50534447))
  11731. {
  11732. Return (GDSP (IIA0))
  11733. }
  11734.  
  11735. If (LEqual (Local0, 0x44495047))
  11736. {
  11737. Return (GPID ())
  11738. }
  11739.  
  11740. If (LEqual (Local0, 0x44434C47))
  11741. {
  11742. Return (GLCD ())
  11743. }
  11744.  
  11745. If (LEqual (Local0, 0x444F4D51))
  11746. {
  11747. Return (QMOD (IIA0))
  11748. }
  11749.  
  11750. If (LEqual (Local0, 0x49564E41))
  11751. {
  11752. Return (ANVI (IIA0))
  11753. }
  11754.  
  11755. If (LEqual (Local0, 0x46494243))
  11756. {
  11757. Return (CBIF (IIA0))
  11758. }
  11759.  
  11760. If (LEqual (Local0, 0x4E464741))
  11761. {
  11762. Return (AGFN (IIA0))
  11763. }
  11764.  
  11765. If (LEqual (Local0, 0x46494643))
  11766. {
  11767. CFIF (IIA0)
  11768. Return (One)
  11769. }
  11770.  
  11771. If (LEqual (Local0, 0x44495046))
  11772. {
  11773. Return (0x0118)
  11774. }
  11775.  
  11776. If (LEqual (Local0, 0x59454B48))
  11777. {
  11778. Store (^^PCI0.SBRG.EC0.CDT1, Local0)
  11779. Return (One)
  11780. }
  11781.  
  11782. If (LEqual (Local0, 0x5446424B))
  11783. {
  11784. Store (IIA0, ^^PCI0.SBRG.EC0.HKEN)
  11785. Return (One)
  11786. }
  11787.  
  11788. If (LEqual (Local0, 0x47444353))
  11789. {
  11790. Return (SCDG (IIA0))
  11791. }
  11792.  
  11793. Return (0xFFFFFFFE)
  11794. }
  11795.  
  11796. Method (_WED, 1, NotSerialized)
  11797. {
  11798. If (LEqual (Arg0, 0xFF))
  11799. {
  11800. Return (GANQ ())
  11801. }
  11802.  
  11803. Return (Ones)
  11804. }
  11805.  
  11806. Method (IANE, 1, Serialized)
  11807. {
  11808. IANQ (Arg0)
  11809. Notify (ATKD, 0xFF)
  11810. }
  11811.  
  11812. Method (INIT, 1, NotSerialized)
  11813. {
  11814. Store (One, ATKP)
  11815. Return (MNAM)
  11816. }
  11817.  
  11818. Method (BSTS, 0, NotSerialized)
  11819. {
  11820. Store (IKFG, Local0)
  11821. Or (Local0, ShiftLeft (IKF2, 0x08), Local0)
  11822. If (ACPF)
  11823. {
  11824. Store (Zero, Local0)
  11825. Return (Local0)
  11826. }
  11827. Else
  11828. {
  11829. Store (^^PCI0.SBRG.EC0.RRAM (0x04FE), Local0)
  11830. If (LEqual (And (Local0, 0xFF), 0x34))
  11831. {
  11832. Store (0x05, Local0)
  11833. Return (Local0)
  11834. }
  11835. Else
  11836. {
  11837. Store (Zero, Local0)
  11838. Return (Local0)
  11839. }
  11840. }
  11841.  
  11842. And (Local0, 0xFFDF, Local0)
  11843. Return (Local0)
  11844. }
  11845.  
  11846. Method (TMPR, 0, NotSerialized)
  11847. {
  11848. Return (Ones)
  11849. }
  11850.  
  11851. Method (SFUN, 0, NotSerialized)
  11852. {
  11853. Store (0x37, Local0)
  11854. Or (Local0, 0x40, Local0)
  11855. Or (Local0, 0x0800, Local0)
  11856. Or (Local0, 0x00020000, Local0)
  11857. Or (Local0, 0x00080000, Local0)
  11858. Return (Local0)
  11859. }
  11860.  
  11861. Method (SPEC, 1, NotSerialized)
  11862. {
  11863. If (LEqual (Arg0, Zero))
  11864. {
  11865. Return (0x00070009)
  11866. }
  11867. Else
  11868. {
  11869. If (LEqual (Arg0, One))
  11870. {
  11871. Return (One)
  11872. }
  11873. }
  11874.  
  11875. Return (0xFFFFFFFE)
  11876. }
  11877.  
  11878. Method (OSVR, 1, NotSerialized)
  11879. {
  11880. If (LEqual (OSFG, Zero))
  11881. {
  11882. Store (Arg0, OSFG)
  11883. }
  11884. }
  11885.  
  11886. Method (GPLV, 0, NotSerialized)
  11887. {
  11888. Return (LBTN)
  11889. }
  11890.  
  11891. Method (SPLV, 1, NotSerialized)
  11892. {
  11893. Store (Arg0, LBTN)
  11894. ^^PCI0.SBRG.EC0.STBR ()
  11895. Return (One)
  11896. }
  11897.  
  11898. Method (SPBL, 1, NotSerialized)
  11899. {
  11900. If (LEqual (Arg0, 0x0100))
  11901. {
  11902. Subtract (0x0B, One, Local0)
  11903. Return (Local0)
  11904. }
  11905.  
  11906. If (LEqual (Arg0, 0x80))
  11907. {
  11908. Return (One)
  11909. }
  11910.  
  11911. If (LGreater (Arg0, 0x0F))
  11912. {
  11913. Return (Zero)
  11914. }
  11915.  
  11916. If (LLess (Arg0, Zero))
  11917. {
  11918. Return (Zero)
  11919. }
  11920.  
  11921. SPLV (Arg0)
  11922. Return (One)
  11923. }
  11924.  
  11925. Method (WLED, 1, NotSerialized)
  11926. {
  11927. OWLD (Arg0)
  11928. Return (One)
  11929. }
  11930.  
  11931. Method (KBNI, 0, NotSerialized)
  11932. {
  11933. Return (One)
  11934. }
  11935.  
  11936. Method (GALE, 1, NotSerialized)
  11937. {
  11938. If (LEqual (Arg0, 0x04))
  11939. {
  11940. If (LAnd (LEDS, 0x04))
  11941. {
  11942. Return (One)
  11943. }
  11944. Else
  11945. {
  11946. Return (Zero)
  11947. }
  11948. }
  11949.  
  11950. If (LEqual (Arg0, 0x08))
  11951. {
  11952. If (LAnd (LEDS, 0x08))
  11953. {
  11954. Return (One)
  11955. }
  11956. Else
  11957. {
  11958. Return (Zero)
  11959. }
  11960. }
  11961.  
  11962. If (LEqual (Arg0, 0x10))
  11963. {
  11964. If (LAnd (LEDS, 0x10))
  11965. {
  11966. Return (One)
  11967. }
  11968. Else
  11969. {
  11970. Return (Zero)
  11971. }
  11972. }
  11973.  
  11974. Return (0x02)
  11975. }
  11976.  
  11977. Method (SALE, 1, NotSerialized)
  11978. {
  11979. If (LEqual (Arg0, 0x10)) {}
  11980. If (LEqual (Arg0, 0x11)) {}
  11981. Return (One)
  11982. }
  11983.  
  11984. Method (BLED, 1, NotSerialized)
  11985. {
  11986. OBTD (Arg0)
  11987. Return (One)
  11988. }
  11989.  
  11990. Method (RSTS, 0, NotSerialized)
  11991. {
  11992. Return (ORST ())
  11993. }
  11994.  
  11995. Method (SDSP, 1, NotSerialized)
  11996. {
  11997. If (NATK ())
  11998. {
  11999. Return (SWHG (Arg0))
  12000. }
  12001.  
  12002. Return (Zero)
  12003. }
  12004.  
  12005. Method (GPID, 0, NotSerialized)
  12006. {
  12007. Return (LCDR)
  12008. }
  12009.  
  12010. Method (HWRS, 0, NotSerialized)
  12011. {
  12012. Return (OHWR ())
  12013. }
  12014.  
  12015. Method (GLCD, 0, NotSerialized)
  12016. {
  12017. Return (LCDV)
  12018. }
  12019.  
  12020. Name (WAPF, Zero)
  12021. Method (CWAP, 1, NotSerialized)
  12022. {
  12023. Or (Arg0, WAPF, WAPF)
  12024. Return (One)
  12025. }
  12026.  
  12027. Method (QMOD, 1, NotSerialized)
  12028. {
  12029. If (LEqual (Arg0, Zero))
  12030. {
  12031. Return (Zero)
  12032. }
  12033.  
  12034. If (LEqual (Arg0, One))
  12035. {
  12036. ^^PCI0.SBRG.EC0.ST98 (QFAN)
  12037. }
  12038.  
  12039. If (LEqual (Arg0, 0x02))
  12040. {
  12041. ^^PCI0.SBRG.EC0.ST98 (0xFF)
  12042. }
  12043.  
  12044. Return (One)
  12045. }
  12046.  
  12047. Method (ANVI, 1, Serialized)
  12048. {
  12049. Store (ASMI (Arg0), Local0)
  12050. Return (Local0)
  12051. }
  12052.  
  12053. Method (PSTC, 1, Serialized)
  12054. {
  12055. If (LEqual (Arg0, Zero))
  12056. {
  12057. Store (CPUP, Local0)
  12058. ShiftLeft (Local0, 0x08, Local0)
  12059. Add (CPUP, Local0, Local0)
  12060. Return (Local0)
  12061. }
  12062.  
  12063. If (LGreater (Arg0, CPUP))
  12064. {
  12065. Return (Ones)
  12066. }
  12067.  
  12068. Store (Arg0, SLMT)
  12069. If (CIST)
  12070. {
  12071. Notify (\_PR.CPU0, 0x80)
  12072. Notify (\_PR.CPU1, 0x80)
  12073. Notify (\_PR.CPU2, 0x80)
  12074. Notify (\_PR.CPU3, 0x80)
  12075. }
  12076.  
  12077. Return (Zero)
  12078. }
  12079.  
  12080. Method (SMBB, 1, Serialized)
  12081. {
  12082. }
  12083.  
  12084. Method (SMBW, 1, Serialized)
  12085. {
  12086. }
  12087.  
  12088. Method (SMBK, 1, Serialized)
  12089. {
  12090. }
  12091.  
  12092. Method (ECRW, 1, Serialized)
  12093. {
  12094. ShiftRight (Arg0, 0x18, Local0)
  12095. And (Local0, 0xFF, Local0)
  12096. ShiftRight (Arg0, 0x10, Local1)
  12097. And (Local1, 0xFF, Local1)
  12098. ShiftRight (Arg0, 0x08, Local2)
  12099. And (Local2, 0xFF, Local2)
  12100. And (Arg0, 0xFF, Local3)
  12101. Acquire (^^PCI0.SBRG.EC0.MUEC, 0xFFFF)
  12102. Store (Local0, ^^PCI0.SBRG.EC0.CDT3)
  12103. Store (Local1, ^^PCI0.SBRG.EC0.CDT2)
  12104. Store (Local2, ^^PCI0.SBRG.EC0.CDT1)
  12105. Store (Local3, ^^PCI0.SBRG.EC0.CMD1)
  12106. Store (0x05, Local0)
  12107. While (LAnd (Local0, ^^PCI0.SBRG.EC0.CMD1))
  12108. {
  12109. Sleep (One)
  12110. Decrement (Local0)
  12111. }
  12112.  
  12113. Store (^^PCI0.SBRG.EC0.CDT3, Local0)
  12114. Store (^^PCI0.SBRG.EC0.CDT2, Local1)
  12115. Store (^^PCI0.SBRG.EC0.CDT1, Local2)
  12116. Store (^^PCI0.SBRG.EC0.CMD1, Local3)
  12117. Release (^^PCI0.SBRG.EC0.MUEC)
  12118. ShiftLeft (Local0, 0x08, Local0)
  12119. Or (Local0, Local1, Local0)
  12120. ShiftLeft (Local0, 0x08, Local0)
  12121. Or (Local0, Local2, Local0)
  12122. ShiftLeft (Local0, 0x08, Local0)
  12123. Or (Local0, Local3, Local0)
  12124. Return (Local0)
  12125. }
  12126.  
  12127. Method (CBIF, 1, Serialized)
  12128. {
  12129. Store (Arg0, TMPB)
  12130. Store (0x03, ALPR)
  12131. ISMI (0xA3)
  12132. Return (One)
  12133. }
  12134.  
  12135. Method (CFIF, 1, Serialized)
  12136. {
  12137. Store (Arg0, TMPB)
  12138. ISMI (0xA6)
  12139. Return (One)
  12140. }
  12141.  
  12142. Method (GDSP, 1, NotSerialized)
  12143. {
  12144. If (NATK ())
  12145. {
  12146. If (LEqual (Arg0, 0x80))
  12147. {
  12148. Return (One)
  12149. }
  12150. Else
  12151. {
  12152. If (LEqual (Arg0, 0x02))
  12153. {
  12154. Return (GCDM ())
  12155. }
  12156. Else
  12157. {
  12158. Return (Zero)
  12159. }
  12160. }
  12161. }
  12162.  
  12163. Return (Zero)
  12164. }
  12165.  
  12166. Name (CA1M, Zero)
  12167. Method (RMEM, 1, NotSerialized)
  12168. {
  12169. OperationRegion (VMEM, SystemMemory, Arg0, 0x04)
  12170. Field (VMEM, ByteAcc, NoLock, Preserve)
  12171. {
  12172. MEMI, 32
  12173. }
  12174.  
  12175. Store (MEMI, Local0)
  12176. Return (Local0)
  12177. }
  12178.  
  12179. Method (WMEM, 2, NotSerialized)
  12180. {
  12181. OperationRegion (VMEM, SystemMemory, Arg0, 0x04)
  12182. Field (VMEM, ByteAcc, NoLock, Preserve)
  12183. {
  12184. MEMI, 32
  12185. }
  12186.  
  12187. Store (Arg1, MEMI)
  12188. }
  12189.  
  12190. Name (MEMD, Package (0x41)
  12191. {
  12192. 0xFFFFFFFF,
  12193. 0xFFFFFFFF,
  12194. 0xFFFFFFFF,
  12195. 0xFFFFFFFF,
  12196. 0xFFFFFFFF,
  12197. 0xFFFFFFFF,
  12198. 0xFFFFFFFF,
  12199. 0xFFFFFFFF,
  12200. 0xFFFFFFFF,
  12201. 0xFFFFFFFF,
  12202. 0xFFFFFFFF,
  12203. 0xFFFFFFFF,
  12204. 0xFFFFFFFF,
  12205. 0xFFFFFFFF,
  12206. 0xFFFFFFFF,
  12207. 0xFFFFFFFF,
  12208. 0xFFFFFFFF,
  12209. 0xFFFFFFFF,
  12210. 0xFFFFFFFF,
  12211. 0xFFFFFFFF,
  12212. 0xFFFFFFFF,
  12213. 0xFFFFFFFF,
  12214. 0xFFFFFFFF,
  12215. 0xFFFFFFFF,
  12216. 0xFFFFFFFF,
  12217. 0xFFFFFFFF,
  12218. 0xFFFFFFFF,
  12219. 0xFFFFFFFF,
  12220. 0xFFFFFFFF,
  12221. 0xFFFFFFFF,
  12222. 0xFFFFFFFF,
  12223. 0xFFFFFFFF,
  12224. 0xFFFFFFFF,
  12225. 0xFFFFFFFF,
  12226. 0xFFFFFFFF,
  12227. 0xFFFFFFFF,
  12228. 0xFFFFFFFF,
  12229. 0xFFFFFFFF,
  12230. 0xFFFFFFFF,
  12231. 0xFFFFFFFF,
  12232. 0xFFFFFFFF,
  12233. 0xFFFFFFFF,
  12234. 0xFFFFFFFF,
  12235. 0xFFFFFFFF,
  12236. 0xFFFFFFFF,
  12237. 0xFFFFFFFF,
  12238. 0xFFFFFFFF,
  12239. 0xFFFFFFFF,
  12240. 0xFFFFFFFF,
  12241. 0xFFFFFFFF,
  12242. 0xFFFFFFFF,
  12243. 0xFFFFFFFF,
  12244. 0xFFFFFFFF,
  12245. 0xFFFFFFFF,
  12246. 0xFFFFFFFF,
  12247. 0xFFFFFFFF,
  12248. 0xFFFFFFFF,
  12249. 0xFFFFFFFF,
  12250. 0xFFFFFFFF,
  12251. 0xFFFFFFFF,
  12252. 0xFFFFFFFF,
  12253. 0xFFFFFFFF,
  12254. 0xFFFFFFFF,
  12255. 0xFFFFFFFF,
  12256. 0xFFFFFFFF
  12257. })
  12258. Method (SCDG, 1, NotSerialized)
  12259. {
  12260. Store (CALB, CA1M)
  12261. If (LNot (LAnd (LGreaterEqual (ToInteger (Arg0), Zero),
  12262. LLessEqual (ToInteger (Arg0), 0x09))))
  12263. {
  12264. Store (Zero, Index (MEMD, Zero))
  12265. Return (MEMD)
  12266. }
  12267.  
  12268. Store (Add (CALB, Multiply (0x0100, ToInteger (Arg0))),
  12269. CA1M)
  12270. Store (Zero, Local2)
  12271. Store (One, Local3)
  12272. Store (CA1M, Local1)
  12273. Store (0x0100, Index (MEMD, Zero))
  12274. While (LLess (Local3, 0x41))
  12275. {
  12276. Store (RMEM (Add (Local1, Local2)), Index (MEMD, Local3))
  12277. Add (Local2, 0x04, Local2)
  12278. Add (Local3, One, Local3)
  12279. }
  12280.  
  12281. Return (MEMD)
  12282. }
  12283. }
  12284. }
  12285.  
  12286. Scope (_SB)
  12287. {
  12288. Device (ASHS)
  12289. {
  12290. Name (_HID, "ATK4002")
  12291. Method (HSWC, 1, Serialized)
  12292. {
  12293. If (LLess (Arg0, 0x02))
  12294. {
  12295. OWGD (Arg0)
  12296. Return (One)
  12297. }
  12298.  
  12299. If (LEqual (Arg0, 0x04))
  12300. {
  12301. OWGD (Zero)
  12302. Return (One)
  12303. }
  12304.  
  12305. If (LEqual (Arg0, 0x05))
  12306. {
  12307. OWGD (One)
  12308. Return (One)
  12309. }
  12310.  
  12311. If (LEqual (Arg0, 0x02))
  12312. {
  12313. Store (OWGS (), Local0)
  12314. If (Local0)
  12315. {
  12316. Return (0x05)
  12317. }
  12318. Else
  12319. {
  12320. Return (0x04)
  12321. }
  12322. }
  12323.  
  12324. If (LEqual (Arg0, 0x03))
  12325. {
  12326. Return (0xFF)
  12327. }
  12328.  
  12329. If (LEqual (Arg0, 0x80))
  12330. {
  12331. Return (One)
  12332. }
  12333. }
  12334.  
  12335. Method (_STA, 0, NotSerialized)
  12336. {
  12337. If (LGreaterEqual (MSOS (), OSW8))
  12338. {
  12339. Return (0x0F)
  12340. }
  12341. Else
  12342. {
  12343. Return (Zero)
  12344. }
  12345. }
  12346. }
  12347. }
  12348.  
  12349. Scope (_SB.PCI0)
  12350. {
  12351. Device (AC0)
  12352. {
  12353. Name (_HID, "ACPI0003")
  12354. Method (_PSR, 0, NotSerialized)
  12355. {
  12356. Return (^^SBRG.EC0.ACAP ())
  12357. }
  12358.  
  12359. Name (_PCL, Package (0x01)
  12360. {
  12361. PCI0
  12362. })
  12363. }
  12364. }
  12365.  
  12366. Scope (_SB.PCI0.SBRG.EC0)
  12367. {
  12368. Method (ACAP, 0, Serialized)
  12369. {
  12370. Return (ACPF)
  12371. }
  12372. }
  12373.  
  12374. Scope (_SB.PCI0)
  12375. {
  12376. Device (BAT0)
  12377. {
  12378. Name (_HID, EisaId ("PNP0C0A"))
  12379. Name (_UID, Zero)
  12380. Name (_PCL, Package (0x01)
  12381. {
  12382. PCI0
  12383. })
  12384. Method (_STA, 0, NotSerialized)
  12385. {
  12386. If (^^SBRG.EC0.BATP (Zero))
  12387. {
  12388. Return (0x1F)
  12389. }
  12390. Else
  12391. {
  12392. Return (0x0F)
  12393. }
  12394. }
  12395.  
  12396. Name (LOW2, 0x012C)
  12397. Name (PUNT, One)
  12398. Name (LFCC, 0x1770)
  12399. Name (NBIF, Package (0x0D)
  12400. {
  12401. Zero,
  12402. 0xFFFFFFFF,
  12403. 0xFFFFFFFF,
  12404. One,
  12405. 0xFFFFFFFF,
  12406. 0xFFFFFFFF,
  12407. 0xFFFFFFFF,
  12408. 0xFFFFFFFF,
  12409. 0xFFFFFFFF,
  12410. "",
  12411. "",
  12412. "",
  12413. ""
  12414. })
  12415. Name (PBIF, Package (0x0D)
  12416. {
  12417. One,
  12418. 0x1770,
  12419. 0x1770,
  12420. One,
  12421. 0x39D0,
  12422. 0x0258,
  12423. 0x012C,
  12424. 0x3C,
  12425. 0x3C,
  12426. "M3N",
  12427. " ",
  12428. "LIon",
  12429. "ASUSTeK"
  12430. })
  12431. Name (PBST, Package (0x04)
  12432. {
  12433. Zero,
  12434. 0xFFFFFFFF,
  12435. 0xFFFFFFFF,
  12436. 0xFFFFFFFF
  12437. })
  12438. Name (BIXT, Package (0x14)
  12439. {
  12440. Zero,
  12441. Zero,
  12442. 0x1770,
  12443. 0x1770,
  12444. One,
  12445. 0x39D0,
  12446. 0x0258,
  12447. 0x012C,
  12448. Zero,
  12449. 0xFFFFFFFF,
  12450. 0xFFFFFFFF,
  12451. 0xFFFFFFFF,
  12452. 0xFFFFFFFF,
  12453. 0xFFFFFFFF,
  12454. 0x3C,
  12455. 0x3C,
  12456. "M3N",
  12457. " ",
  12458. "LIon",
  12459. "ASUSTeK"
  12460. })
  12461. Name (NBIX, Package (0x14)
  12462. {
  12463. Zero,
  12464. Zero,
  12465. 0xFFFFFFFF,
  12466. 0xFFFFFFFF,
  12467. One,
  12468. 0xFFFFFFFF,
  12469. 0xFFFFFFFF,
  12470. 0xFFFFFFFF,
  12471. Zero,
  12472. 0xFFFFFFFF,
  12473. 0xFFFFFFFF,
  12474. 0xFFFFFFFF,
  12475. 0xFFFFFFFF,
  12476. 0xFFFFFFFF,
  12477. 0xFFFFFFFF,
  12478. 0xFFFFFFFF,
  12479. "",
  12480. "",
  12481. "",
  12482. ""
  12483. })
  12484. Method (FBIF, 5, NotSerialized)
  12485. {
  12486. Store (Arg0, PUNT)
  12487. Store (Arg1, Local1)
  12488. Store (Arg2, Local2)
  12489. If (LEqual (PUNT, Zero))
  12490. {
  12491. Multiply (Local1, 0x0A, Local1)
  12492. Multiply (Local2, 0x0A, Local2)
  12493. }
  12494.  
  12495. Store (Arg0, Index (PBIF, Zero))
  12496. Store (Local1, Index (PBIF, One))
  12497. Store (Local2, Index (PBIF, 0x02))
  12498. Store (Local2, LFCC)
  12499. Store (Arg3, Index (PBIF, 0x03))
  12500. Store (Arg4, Index (PBIF, 0x04))
  12501. Divide (Local1, 0x0A, Local3, Local5)
  12502. Store (Local5, Index (PBIF, 0x05))
  12503. Divide (Local1, 0x64, Local3, Local6)
  12504. Store (Local6, Index (PBIF, 0x06))
  12505. Store (Local6, LOW2)
  12506. Divide (Local1, 0x64, Local3, Local7)
  12507. Store (Local7, Index (PBIF, 0x07))
  12508. Store (Local7, Index (PBIF, 0x08))
  12509. }
  12510.  
  12511. Method (CBIF, 0, NotSerialized)
  12512. {
  12513. If (PUNT)
  12514. {
  12515. Store (DerefOf (Index (PBIF, 0x04)), Local0)
  12516. Store (Zero, Index (PBIF, Zero))
  12517. Multiply (DerefOf (Index (PBIF, One)), Local0, Index (PBIF, One
  12518. ))
  12519. Multiply (DerefOf (Index (PBIF, 0x02)), Local0, Index (PBIF, 0x02
  12520. ))
  12521. Multiply (DerefOf (Index (PBIF, 0x05)), Local0, Index (PBIF, 0x05
  12522. ))
  12523. Multiply (DerefOf (Index (PBIF, 0x06)), Local0, Index (PBIF, 0x06
  12524. ))
  12525. Multiply (DerefOf (Index (PBIF, 0x07)), Local0, Index (PBIF, 0x07
  12526. ))
  12527. Multiply (DerefOf (Index (PBIF, 0x08)), Local0, Index (PBIF, 0x08
  12528. ))
  12529. Divide (DerefOf (Index (PBIF, One)), 0x03E8, Local2, Index (PBIF,
  12530. One))
  12531. Divide (DerefOf (Index (PBIF, 0x02)), 0x03E8, Local2, Index (PBIF,
  12532. 0x02))
  12533. Divide (DerefOf (Index (PBIF, 0x05)), 0x03E8, Local2, Index (PBIF,
  12534. 0x05))
  12535. Divide (DerefOf (Index (PBIF, 0x06)), 0x03E8, Local2, Index (PBIF,
  12536. 0x06))
  12537. Divide (DerefOf (Index (PBIF, 0x07)), 0x03E8, Local2, Index (PBIF,
  12538. 0x07))
  12539. Divide (DerefOf (Index (PBIF, 0x08)), 0x03E8, Local2, Index (PBIF,
  12540. 0x08))
  12541. }
  12542. }
  12543.  
  12544. Method (_BIF, 0, NotSerialized)
  12545. {
  12546. If (LNot (^^SBRG.EC0.BATP (Zero)))
  12547. {
  12548. Return (NBIF)
  12549. }
  12550.  
  12551. If (LEqual (^^SBRG.EC0.GBTT (Zero), 0xFF))
  12552. {
  12553. Return (NBIF)
  12554. }
  12555.  
  12556. BATO ()
  12557. BATS (Zero)
  12558. Store (^^SBRG.EC0.BIF9 (), Index (PBIF, 0x09))
  12559. Store (ONAM, Index (PBIF, 0x0C))
  12560. Store (^^SBRG.EC0.BIF0 (), Local0)
  12561. Store (^^SBRG.EC0.BIF1 (), Local1)
  12562. Store (^^SBRG.EC0.BIF2 (), Local2)
  12563. Store (^^SBRG.EC0.BIF3 (), Local3)
  12564. Store (^^SBRG.EC0.BIF4 (), Local4)
  12565. If (LNotEqual (Local0, Ones))
  12566. {
  12567. If (LNotEqual (Local1, Ones))
  12568. {
  12569. If (LNotEqual (Local2, Ones))
  12570. {
  12571. If (LNotEqual (Local3, Ones))
  12572. {
  12573. If (LNotEqual (Local4, Ones))
  12574. {
  12575. FBIF (Local0, Local1, Local2, Local3, Local4)
  12576. CBIF ()
  12577. }
  12578. }
  12579. }
  12580. }
  12581. }
  12582.  
  12583. If (LEqual (PUNT, Zero))
  12584. {
  12585. Multiply (Local2, 0x0A, Local2)
  12586. }
  12587.  
  12588. Store (Local2, LFCC)
  12589. BATR ()
  12590. Return (PBIF)
  12591. }
  12592.  
  12593. Method (FBST, 4, NotSerialized)
  12594. {
  12595. And (Arg1, 0xFFFF, Local1)
  12596. Store (Zero, Local0)
  12597. If (^^SBRG.EC0.ACAP ())
  12598. {
  12599. Store (One, Local0)
  12600. }
  12601.  
  12602. If (Local0)
  12603. {
  12604. If (CHGS (Zero))
  12605. {
  12606. Store (0x02, Local0)
  12607. }
  12608. Else
  12609. {
  12610. Store (Zero, Local0)
  12611. }
  12612. }
  12613. Else
  12614. {
  12615. Store (One, Local0)
  12616. }
  12617.  
  12618. If (BLLO)
  12619. {
  12620. ShiftLeft (One, 0x02, Local2)
  12621. Or (Local0, Local2, Local0)
  12622. }
  12623.  
  12624. If (And (^^SBRG.EC0.EB0S, 0x08))
  12625. {
  12626. ShiftLeft (One, 0x02, Local2)
  12627. Or (Local0, Local2, Local0)
  12628. }
  12629.  
  12630. If (LGreaterEqual (Local1, 0x8000))
  12631. {
  12632. Subtract (0xFFFF, Local1, Local1)
  12633. }
  12634.  
  12635. Store (Arg2, Local2)
  12636. If (LEqual (PUNT, Zero))
  12637. {
  12638. Multiply (Local1, ^^SBRG.EC0.B0DV, Local1)
  12639. Multiply (Local2, 0x0A, Local2)
  12640. }
  12641.  
  12642. And (Local0, 0x02, Local3)
  12643. If (LNot (Local3))
  12644. {
  12645. Subtract (LFCC, Local2, Local3)
  12646. Divide (LFCC, 0xC8, Local4, Local5)
  12647. If (LLess (Local3, Local5))
  12648. {
  12649. Store (LFCC, Local2)
  12650. }
  12651. }
  12652. Else
  12653. {
  12654. Divide (LFCC, 0xC8, Local4, Local5)
  12655. Subtract (LFCC, Local5, Local4)
  12656. If (LGreater (Local2, Local4))
  12657. {
  12658. Store (Local4, Local2)
  12659. }
  12660. }
  12661.  
  12662. If (LNot (^^SBRG.EC0.ACAP ()))
  12663. {
  12664. Divide (Local2, MBLF, Local3, Local4)
  12665. If (LLess (Local1, Local4))
  12666. {
  12667. Store (Local4, Local1)
  12668. }
  12669. }
  12670.  
  12671. Store (Local0, Index (PBST, Zero))
  12672. Store (Local1, Index (PBST, One))
  12673. Store (Local2, Index (PBST, 0x02))
  12674. Store (Arg3, Index (PBST, 0x03))
  12675. }
  12676.  
  12677. Method (CBST, 0, NotSerialized)
  12678. {
  12679. If (PUNT)
  12680. {
  12681. Store (^^SBRG.EC0.B0DV, Index (PBST, 0x03))
  12682. Store (DerefOf (Index (PBST, 0x03)), Local0)
  12683. Multiply (DerefOf (Index (PBST, One)), Local0, Index (PBST, One
  12684. ))
  12685. Divide (DerefOf (Index (PBST, One)), 0x03E8, Local1, Index (PBST,
  12686. One))
  12687. Multiply (DerefOf (Index (PBST, 0x02)), Local0, Index (PBST, 0x02
  12688. ))
  12689. Divide (DerefOf (Index (PBST, 0x02)), 0x03E8, Local1, Index (PBST,
  12690. 0x02))
  12691. }
  12692. }
  12693.  
  12694. Method (_BST, 0, NotSerialized)
  12695. {
  12696. Store (Zero, Index (PBST, Zero))
  12697. Store (Ones, Index (PBST, One))
  12698. Store (Ones, Index (PBST, 0x02))
  12699. Store (Ones, Index (PBST, 0x03))
  12700. If (LNot (^^SBRG.EC0.BATP (Zero)))
  12701. {
  12702. Return (PBST)
  12703. }
  12704.  
  12705. If (LEqual (^^SBRG.EC0.GBTT (Zero), 0xFF))
  12706. {
  12707. Return (PBST)
  12708. }
  12709.  
  12710. If (MES4)
  12711. {
  12712. Decrement (MES4)
  12713. Return (PBST)
  12714. }
  12715.  
  12716. BATO ()
  12717. BATS (Zero)
  12718. Store (^^SBRG.EC0.BSTS (), Local0)
  12719. Store (^^SBRG.EC0.BCRT (), Local1)
  12720. Store (^^SBRG.EC0.BRCP (), Local2)
  12721. Store (^^SBRG.EC0.BVOT (), Local3)
  12722. If (LNotEqual (Local0, Ones))
  12723. {
  12724. If (LNotEqual (Local1, Ones))
  12725. {
  12726. If (LNotEqual (Local2, Ones))
  12727. {
  12728. If (LNotEqual (Local3, Ones))
  12729. {
  12730. FBST (Local0, Local1, Local2, Local3)
  12731. CBST ()
  12732. }
  12733. }
  12734. }
  12735. }
  12736.  
  12737. BATR ()
  12738. Return (PBST)
  12739. }
  12740.  
  12741. Method (_BIX, 0, NotSerialized)
  12742. {
  12743. If (LNot (^^SBRG.EC0.BATP (Zero)))
  12744. {
  12745. Return (NBIX)
  12746. }
  12747.  
  12748. If (LEqual (^^SBRG.EC0.GBTT (Zero), 0xFF))
  12749. {
  12750. Return (NBIX)
  12751. }
  12752.  
  12753. _BIF ()
  12754. Store (DerefOf (Index (PBIF, Zero)), Index (BIXT, One))
  12755. Store (DerefOf (Index (PBIF, One)), Index (BIXT, 0x02))
  12756. Store (DerefOf (Index (PBIF, 0x02)), Index (BIXT, 0x03))
  12757. Store (DerefOf (Index (PBIF, 0x03)), Index (BIXT, 0x04))
  12758. Store (DerefOf (Index (PBIF, 0x04)), Index (BIXT, 0x05))
  12759. Store (DerefOf (Index (PBIF, 0x05)), Index (BIXT, 0x06))
  12760. Store (DerefOf (Index (PBIF, 0x06)), Index (BIXT, 0x07))
  12761. Store (DerefOf (Index (PBIF, 0x07)), Index (BIXT, 0x0E))
  12762. Store (DerefOf (Index (PBIF, 0x08)), Index (BIXT, 0x0F))
  12763. Store (DerefOf (Index (PBIF, 0x09)), Index (BIXT, 0x10))
  12764. Store (DerefOf (Index (PBIF, 0x0A)), Index (BIXT, 0x11))
  12765. Store (DerefOf (Index (PBIF, 0x0B)), Index (BIXT, 0x12))
  12766. Store (DerefOf (Index (PBIF, 0x0C)), Index (BIXT, 0x13))
  12767. If (LEqual (DerefOf (Index (BIXT, One)), One))
  12768. {
  12769. Store (Zero, Index (BIXT, One))
  12770. Store (DerefOf (Index (BIXT, 0x05)), Local0)
  12771. Multiply (DerefOf (Index (BIXT, 0x02)), Local0, Index (BIXT, 0x02
  12772. ))
  12773. Multiply (DerefOf (Index (BIXT, 0x03)), Local0, Index (BIXT, 0x03
  12774. ))
  12775. Multiply (DerefOf (Index (BIXT, 0x06)), Local0, Index (BIXT, 0x06
  12776. ))
  12777. Multiply (DerefOf (Index (BIXT, 0x07)), Local0, Index (BIXT, 0x07
  12778. ))
  12779. Multiply (DerefOf (Index (BIXT, 0x0E)), Local0, Index (BIXT, 0x0E
  12780. ))
  12781. Multiply (DerefOf (Index (BIXT, 0x0F)), Local0, Index (BIXT, 0x0F
  12782. ))
  12783. Divide (DerefOf (Index (BIXT, 0x02)), 0x03E8, Local0, Index (BIXT,
  12784. 0x02))
  12785. Divide (DerefOf (Index (BIXT, 0x03)), 0x03E8, Local0, Index (BIXT,
  12786. 0x03))
  12787. Divide (DerefOf (Index (BIXT, 0x06)), 0x03E8, Local0, Index (BIXT,
  12788. 0x06))
  12789. Divide (DerefOf (Index (BIXT, 0x07)), 0x03E8, Local0, Index (BIXT,
  12790. 0x07))
  12791. Divide (DerefOf (Index (BIXT, 0x0E)), 0x03E8, Local0, Index (BIXT,
  12792. 0x0E))
  12793. Divide (DerefOf (Index (BIXT, 0x0F)), 0x03E8, Local0, Index (BIXT,
  12794. 0x0F))
  12795. }
  12796.  
  12797. Store (^^SBRG.EC0.B0C3, Index (BIXT, 0x08))
  12798. Store (0x0001869F, Index (BIXT, 0x09))
  12799. Return (BIXT)
  12800. }
  12801.  
  12802. Method (_BTP, 1, NotSerialized)
  12803. {
  12804. ^^SBRG.EC0.ST8E (0x29, 0xFF)
  12805. ^^SBRG.EC0.ST8E (0x2A, 0xFF)
  12806. ^^SBRG.EC0.ST8E (0x28, 0x0F)
  12807. If (LNotEqual (Arg0, Zero))
  12808. {
  12809. Store (DerefOf (Index (PBIF, 0x04)), Local0)
  12810. Multiply (Arg0, 0x03E8, Local1)
  12811. Divide (Local1, Local0, Local2, Local3)
  12812. ^^SBRG.EC0.ST9E (0x29, 0xFF, And (Local3, 0xFF))
  12813. ShiftRight (Local3, 0x08, Local2)
  12814. And (Local2, 0xFF, Local2)
  12815. ^^SBRG.EC0.ST9E (0x2A, 0xFF, Local2)
  12816. }
  12817. }
  12818. }
  12819. }
  12820.  
  12821. Scope (_SB.PCI0)
  12822. {
  12823. Name (B0CR, Zero)
  12824. Name (B1CR, Zero)
  12825. Method (GGCC, 1, Serialized)
  12826. {
  12827. BATO ()
  12828. BATS (Arg0)
  12829. Store (^SBRG.EC0.BCRT (), Local0)
  12830. BATR ()
  12831. If (LEqual (Local0, Ones))
  12832. {
  12833. If (Arg0)
  12834. {
  12835. Store (B1CR, Local0)
  12836. }
  12837. Else
  12838. {
  12839. Store (B0CR, Local0)
  12840. }
  12841. }
  12842.  
  12843. And (Local0, 0x8000, Local1)
  12844. If (Local1)
  12845. {
  12846. Store (Zero, Local0)
  12847. }
  12848.  
  12849. If (Arg0)
  12850. {
  12851. Store (Local0, B1CR)
  12852. }
  12853. Else
  12854. {
  12855. Store (Local0, B0CR)
  12856. }
  12857.  
  12858. Return (Local0)
  12859. }
  12860. }
  12861.  
  12862. Scope (_SB.PCI0.SBRG.EC0)
  12863. {
  12864. Name (BADR, 0x0B)
  12865. Name (CADR, 0x09)
  12866. Name (SADR, 0x0A)
  12867. Method (ALMH, 1, NotSerialized)
  12868. {
  12869. If (LEqual (Arg0, BADR))
  12870. {
  12871. NBAT (0x80)
  12872. }
  12873. }
  12874.  
  12875. Method (BIFW, 1, NotSerialized)
  12876. {
  12877. Store (SMBR (RDWD, BADR, Arg0), Local0)
  12878. Store (DerefOf (Index (Local0, Zero)), Local1)
  12879. If (Local1)
  12880. {
  12881. Return (Ones)
  12882. }
  12883. Else
  12884. {
  12885. Return (DerefOf (Index (Local0, 0x02)))
  12886. }
  12887. }
  12888.  
  12889. Method (BIF0, 0, NotSerialized)
  12890. {
  12891. If (ECAV ())
  12892. {
  12893. If (BSLF)
  12894. {
  12895. Store (B1MD, Local0)
  12896. }
  12897. Else
  12898. {
  12899. Store (B0MD, Local0)
  12900. }
  12901.  
  12902. If (LNotEqual (Local0, 0xFFFF))
  12903. {
  12904. ShiftRight (Local0, 0x0F, Local1)
  12905. And (Local1, One, Local1)
  12906. XOr (Local1, One, Local0)
  12907. }
  12908. }
  12909. Else
  12910. {
  12911. Store (Ones, Local0)
  12912. }
  12913.  
  12914. Return (Local0)
  12915. }
  12916.  
  12917. Method (BIF1, 0, NotSerialized)
  12918. {
  12919. If (ECAV ())
  12920. {
  12921. If (BSLF)
  12922. {
  12923. Store (B1DC, Local0)
  12924. }
  12925. Else
  12926. {
  12927. Store (B0DC, Local0)
  12928. }
  12929.  
  12930. And (Local0, 0xFFFF, Local0)
  12931. }
  12932. Else
  12933. {
  12934. Store (Ones, Local0)
  12935. }
  12936.  
  12937. Return (Local0)
  12938. }
  12939.  
  12940. Method (BIF2, 0, NotSerialized)
  12941. {
  12942. If (ECAV ())
  12943. {
  12944. If (BSLF)
  12945. {
  12946. Store (B1FC, Local0)
  12947. }
  12948. Else
  12949. {
  12950. Store (B0FC, Local0)
  12951. }
  12952.  
  12953. And (Local0, 0xFFFF, Local0)
  12954. }
  12955. Else
  12956. {
  12957. Store (Ones, Local0)
  12958. }
  12959.  
  12960. Return (Local0)
  12961. }
  12962.  
  12963. Method (BIF3, 0, NotSerialized)
  12964. {
  12965. If (ECAV ())
  12966. {
  12967. If (BSLF)
  12968. {
  12969. Store (B1MD, Local0)
  12970. }
  12971. Else
  12972. {
  12973. Store (B0MD, Local0)
  12974. }
  12975.  
  12976. If (LNotEqual (Local0, 0xFFFF))
  12977. {
  12978. ShiftRight (Local0, 0x09, Local0)
  12979. And (Local0, One, Local0)
  12980. XOr (Local0, One, Local0)
  12981. }
  12982. }
  12983. Else
  12984. {
  12985. Store (Ones, Local0)
  12986. }
  12987.  
  12988. Return (Local0)
  12989. }
  12990.  
  12991. Method (BIF4, 0, NotSerialized)
  12992. {
  12993. If (ECAV ())
  12994. {
  12995. If (BSLF)
  12996. {
  12997. Store (B1DV, Local0)
  12998. }
  12999. Else
  13000. {
  13001. Store (B0DV, Local0)
  13002. }
  13003. }
  13004. Else
  13005. {
  13006. Store (Ones, Local0)
  13007. }
  13008.  
  13009. Return (Local0)
  13010. }
  13011.  
  13012. Method (BIF9, 0, NotSerialized)
  13013. {
  13014. Name (BSTR, Buffer (0x20) {})
  13015. Store (SMBR (RDBL, BADR, 0x21), Local0)
  13016. If (LNotEqual (DerefOf (Index (Local0, Zero)), Zero))
  13017. {
  13018. Store (MNAM, BSTR)
  13019. Store (Zero, Index (BSTR, 0x04))
  13020. }
  13021. Else
  13022. {
  13023. Store (DerefOf (Index (Local0, 0x02)), BSTR)
  13024. Store (Zero, Index (BSTR, DerefOf (Index (Local0, One))))
  13025. }
  13026.  
  13027. Return (BSTR)
  13028. }
  13029.  
  13030. Method (BIFA, 0, NotSerialized)
  13031. {
  13032. If (ECAV ())
  13033. {
  13034. If (BSLF)
  13035. {
  13036. Store (B1SN, Local0)
  13037. }
  13038. Else
  13039. {
  13040. Store (B0SN, Local0)
  13041. }
  13042. }
  13043. Else
  13044. {
  13045. Store (Ones, Local0)
  13046. }
  13047.  
  13048. Return (Local0)
  13049. }
  13050.  
  13051. Method (BSTS, 0, NotSerialized)
  13052. {
  13053. If (BSLF)
  13054. {
  13055. Store (B1ST, Local0)
  13056. }
  13057. Else
  13058. {
  13059. Store (B0ST, Local0)
  13060. }
  13061.  
  13062. Return (Local0)
  13063. }
  13064.  
  13065. Method (BCRT, 0, NotSerialized)
  13066. {
  13067. If (BSLF)
  13068. {
  13069. Store (B1CC, Local0)
  13070. }
  13071. Else
  13072. {
  13073. Store (B0CC, Local0)
  13074. }
  13075.  
  13076. Return (Local0)
  13077. }
  13078.  
  13079. Method (BRCP, 0, NotSerialized)
  13080. {
  13081. If (BSLF)
  13082. {
  13083. Store (B1RC, Local0)
  13084. }
  13085. Else
  13086. {
  13087. Store (B0RC, Local0)
  13088. }
  13089.  
  13090. If (LEqual (Local0, 0xFFFF))
  13091. {
  13092. Store (Ones, Local0)
  13093. }
  13094.  
  13095. Return (Local0)
  13096. }
  13097.  
  13098. Method (BVOT, 0, NotSerialized)
  13099. {
  13100. If (BSLF)
  13101. {
  13102. Store (B1VL, Local0)
  13103. }
  13104. Else
  13105. {
  13106. Store (B0VL, Local0)
  13107. }
  13108.  
  13109. Return (Local0)
  13110. }
  13111. }
  13112.  
  13113. Scope (\)
  13114. {
  13115. Method (CHGS, 1, Serialized)
  13116. {
  13117. Store (\_SB.PCI0.SBRG.EC0.BCHG (Arg0), Local0)
  13118. Return (Local0)
  13119. }
  13120.  
  13121. Name (BSLF, Zero)
  13122. Method (BATS, 1, Serialized)
  13123. {
  13124. If (Arg0)
  13125. {
  13126. Store (One, BSLF)
  13127. }
  13128. Else
  13129. {
  13130. Store (Zero, BSLF)
  13131. }
  13132. }
  13133.  
  13134. Mutex (MMPX, 0x00)
  13135. Method (BATO, 0, Serialized)
  13136. {
  13137. Acquire (MMPX, 0xFFFF)
  13138. }
  13139.  
  13140. Method (BATR, 0, Serialized)
  13141. {
  13142. Release (MMPX)
  13143. }
  13144.  
  13145. Name (BLLO, Zero)
  13146. }
  13147.  
  13148. Scope (_SB.PCI0.SBRG.EC0)
  13149. {
  13150. Method (_QA1, 0, NotSerialized)
  13151. {
  13152. Store (DCPS (Zero), DCPF)
  13153. If (DCPF)
  13154. {
  13155. Sleep (0x07D0)
  13156. }
  13157.  
  13158. Notify (BAT0, 0x80)
  13159. Notify (BAT0, 0x81)
  13160. }
  13161.  
  13162. Method (_QA5, 0, NotSerialized)
  13163. {
  13164. Store (One, BLLO)
  13165. If (ATKP)
  13166. {
  13167. ^^^^ATKD.IANE (0x6E)
  13168. }
  13169. Else
  13170. {
  13171. If (BATP (Zero))
  13172. {
  13173. Notify (BAT0, 0x80)
  13174. }
  13175. }
  13176. }
  13177.  
  13178. Method (_QA3, 0, NotSerialized)
  13179. {
  13180. If (BATP (Zero))
  13181. {
  13182. Store (BCLE (Zero), Local0)
  13183. If (LEqual (Local0, Zero))
  13184. {
  13185. Notify (BAT0, 0x80)
  13186. }
  13187. Else
  13188. {
  13189. Notify (BAT0, 0x81)
  13190. Notify (AC0, 0x80)
  13191. }
  13192. }
  13193. }
  13194.  
  13195. Method (BATP, 1, Serialized)
  13196. {
  13197. If (Arg0)
  13198. {
  13199. Return (DCP2)
  13200. }
  13201. Else
  13202. {
  13203. Return (DCPF)
  13204. }
  13205. }
  13206.  
  13207. Method (NBAT, 1, NotSerialized)
  13208. {
  13209. If (BATP (Zero))
  13210. {
  13211. Notify (BAT0, Arg0)
  13212. }
  13213. }
  13214. }
  13215.  
  13216. Scope (\)
  13217. {
  13218. Name (MES4, Zero)
  13219. Method (OEMS, 1, NotSerialized)
  13220. {
  13221. \_SB.PCI0.GFX0.OPTS (Arg0)
  13222. If (LEqual (Arg0, 0x03))
  13223. {
  13224. If (LLessEqual (MSOS (), OSME))
  13225. {
  13226. Store (One, \_SB.WIDE)
  13227. }
  13228. Else
  13229. {
  13230. Store (Zero, \_SB.WIDE)
  13231. }
  13232. }
  13233.  
  13234. SBRS (Arg0)
  13235. \_SB.PCI0.SBRG.EC0.EC0S (Arg0)
  13236. Store (Arg0, \_SB.SLPN)
  13237. DIAG (Add (Arg0, 0xD0))
  13238. PPRJ (Arg0)
  13239. Store (Arg0, \_SB.SLPT)
  13240. If (Arg0)
  13241. {
  13242. STRP (One)
  13243. }
  13244.  
  13245. PRJS (Arg0)
  13246. If (LEqual (Arg0, 0x04))
  13247. {
  13248. Store (One, \_SB.S4EN)
  13249. }
  13250. Else
  13251. {
  13252. Store (Zero, \_SB.S4EN)
  13253. }
  13254. }
  13255.  
  13256. Method (OEMW, 1, NotSerialized)
  13257. {
  13258. \_SB.ATKD.GENW (Arg0)
  13259. \_SB.PCI0.GFX0.OWAK (Arg0)
  13260. Store (Zero, \_SB.SLPT)
  13261. \_SB.PCI0.SBRG.EC0.EC0W (Arg0)
  13262. If (LEqual (Arg0, 0x04))
  13263. {
  13264. If (LLessEqual (MSOS (), OSME))
  13265. {
  13266. Store (0x02, MES4)
  13267. }
  13268. Else
  13269. {
  13270. Store (Zero, MES4)
  13271. }
  13272. }
  13273.  
  13274. SBRW (Arg0)
  13275. If (LEqual (Arg0, 0x04))
  13276. {
  13277. Notify (\_SB.SLPB, 0x02)
  13278. }
  13279.  
  13280. PRJW (Arg0)
  13281. DIAG (Add (Arg0, 0xF0))
  13282. }
  13283. }
  13284.  
  13285. Scope (_SB.ATKD)
  13286. {
  13287. Method (AGFN, 1, Serialized)
  13288. {
  13289. If (LEqual (Arg0, Zero))
  13290. {
  13291. Return (GNBF)
  13292. }
  13293.  
  13294. Store (Zero, Local0)
  13295. OperationRegion (\PARM, SystemMemory, Arg0, 0x08)
  13296. Field (PARM, DWordAcc, NoLock, Preserve)
  13297. {
  13298. MFUN, 16,
  13299. SFUN, 16,
  13300. LEN, 16,
  13301. STAS, 8,
  13302. EROR, 8
  13303. }
  13304.  
  13305. Store (Zero, EROR)
  13306. Store (One, STAS)
  13307. If (LEqual (MFUN, 0x02))
  13308. {
  13309. BSMI (Arg0)
  13310. And (STAS, 0xFE, STAS)
  13311. }
  13312.  
  13313. And (MFUN, 0xF0, Local0)
  13314. If (LEqual (Local0, 0x10))
  13315. {
  13316. MF1X (Arg0, LEN, MFUN, SFUN)
  13317. }
  13318.  
  13319. If (LEqual (MFUN, One))
  13320. {
  13321. GVER (Arg0, LEN)
  13322. And (STAS, 0xFE, STAS)
  13323. }
  13324.  
  13325. If (LEqual (MFUN, 0x30))
  13326. {
  13327. MF30 (Arg0, SFUN, LEN)
  13328. And (STAS, 0xFE, STAS)
  13329. }
  13330.  
  13331. If (LEqual (STAS, One))
  13332. {
  13333. Store (One, EROR)
  13334. Or (STAS, 0x02, STAS)
  13335. }
  13336.  
  13337. And (STAS, 0xFE, STAS)
  13338. Or (STAS, 0x80, STAS)
  13339. Return (Zero)
  13340. }
  13341.  
  13342. Method (GVER, 2, NotSerialized)
  13343. {
  13344. OperationRegion (\FGVR, SystemMemory, Arg0, Arg1)
  13345. Field (FGVR, DWordAcc, NoLock, Preserve)
  13346. {
  13347. Offset (0x08),
  13348. APID, 16,
  13349. APRV, 32
  13350. }
  13351.  
  13352. Return (Zero)
  13353. }
  13354.  
  13355. Method (MF30, 3, NotSerialized)
  13356. {
  13357. OperationRegion (FM30, SystemMemory, Arg0, 0x08)
  13358. Field (FM30, DWordAcc, NoLock, Preserve)
  13359. {
  13360. Offset (0x06),
  13361. SM30, 8,
  13362. EM30, 8
  13363. }
  13364.  
  13365. Store (One, Local0)
  13366. If (LEqual (Arg1, Zero))
  13367. {
  13368. Store (G30V (Arg0, Arg2), Local0)
  13369. }
  13370.  
  13371. If (LEqual (Arg1, One))
  13372. {
  13373. Store (EC01 (Arg0, Arg2), Local0)
  13374. }
  13375.  
  13376. If (LEqual (Arg1, 0x02))
  13377. {
  13378. Store (EC02 (Arg0, Arg2), Local0)
  13379. }
  13380.  
  13381. If (Local0)
  13382. {
  13383. Store (Local0, EM30)
  13384. Or (SM30, 0x02, SM30)
  13385. }
  13386.  
  13387. Or (SM30, 0x80, SM30)
  13388. Return (Zero)
  13389. }
  13390.  
  13391. Method (G30V, 2, NotSerialized)
  13392. {
  13393. If (LLess (Arg1, 0x0C))
  13394. {
  13395. Return (0x02)
  13396. }
  13397.  
  13398. OperationRegion (\F300, SystemMemory, Arg0, Arg1)
  13399. Field (F300, DWordAcc, NoLock, Preserve)
  13400. {
  13401. Offset (0x08),
  13402. SVER, 16,
  13403. MVER, 16
  13404. }
  13405.  
  13406. Store (Zero, MVER)
  13407. Store (Zero, SVER)
  13408. Return (Zero)
  13409. }
  13410.  
  13411. Method (EC01, 2, NotSerialized)
  13412. {
  13413. If (LLess (Arg1, 0x10))
  13414. {
  13415. Return (0x02)
  13416. }
  13417.  
  13418. OperationRegion (FEC1, SystemMemory, Arg0, Arg1)
  13419. Field (FEC1, DWordAcc, NoLock, Preserve)
  13420. {
  13421. Offset (0x08),
  13422. ECMD, 8,
  13423. EDA1, 8,
  13424. EDA2, 8,
  13425. EDA3, 8,
  13426. EDA4, 8,
  13427. EDA5, 8
  13428. }
  13429.  
  13430. Store (^^PCI0.SBRG.EC0.ECXT (ECMD, EDA1, EDA2, EDA3, EDA4, EDA5), Local0)
  13431. Store (DerefOf (Index (Local0, One)), EDA1)
  13432. Store (DerefOf (Index (Local0, 0x02)), EDA2)
  13433. Store (DerefOf (Index (Local0, 0x03)), EDA3)
  13434. Store (DerefOf (Index (Local0, 0x04)), EDA4)
  13435. Store (DerefOf (Index (Local0, 0x05)), EDA5)
  13436. Return (DerefOf (Index (Local0, Zero)))
  13437. }
  13438.  
  13439. Method (EC02, 2, NotSerialized)
  13440. {
  13441. If (LLess (Arg1, 0x30))
  13442. {
  13443. Return (0x02)
  13444. }
  13445.  
  13446. OperationRegion (FEC2, SystemMemory, Arg0, Arg1)
  13447. Field (FEC2, DWordAcc, NoLock, Preserve)
  13448. {
  13449. Offset (0x08),
  13450. BUSN, 8,
  13451. PROT, 8,
  13452. DADD, 8,
  13453. DREG, 8,
  13454. DAT0, 8,
  13455. DAT1, 8,
  13456. BLEN, 8,
  13457. REVB, 8,
  13458. BLKK, 256
  13459. }
  13460.  
  13461. Store (Package (0x02)
  13462. {
  13463. Zero,
  13464. Buffer (0x20) {}
  13465. }, Local1)
  13466. Store (BLEN, Index (Local1, Zero))
  13467. Store (BLKK, Index (Local1, One))
  13468. Store (^^PCI0.SBRG.EC0.ECSB (BUSN, PROT, DADD, DREG, DAT0, DAT1, Local1), Local0)
  13469. If (LEqual (DerefOf (Index (Local0, Zero)), Zero))
  13470. {
  13471. Store (DerefOf (Index (Local0, One)), DAT0)
  13472. Store (DerefOf (Index (Local0, 0x02)), DAT1)
  13473. Store (DerefOf (Index (Local0, 0x03)), BLEN)
  13474. Store (DerefOf (Index (Local0, 0x04)), BLKK)
  13475. }
  13476.  
  13477. Store (DerefOf (Index (Local0, Zero)), Local2)
  13478. And (Local2, 0x3F, Local2)
  13479. Return (Local2)
  13480. }
  13481.  
  13482. Method (GENW, 1, NotSerialized)
  13483. {
  13484. Store (Zero, RTCW)
  13485. }
  13486.  
  13487. Method (BSMI, 1, Serialized)
  13488. {
  13489. Store (Arg0, BIPA)
  13490. ISMI (0xA1)
  13491. }
  13492. }
  13493.  
  13494. Scope (_SB.ATKD)
  13495. {
  13496. Method (MF1X, 4, NotSerialized)
  13497. {
  13498. OperationRegion (FM1X, SystemMemory, Arg0, 0x08)
  13499. Field (FM1X, DWordAcc, NoLock, Preserve)
  13500. {
  13501. Offset (0x06),
  13502. SM1X, 8,
  13503. EM1X, 8
  13504. }
  13505.  
  13506. Store (One, Local0)
  13507. If (LEqual (Arg2, 0x10))
  13508. {
  13509. Store (MF10 (Arg0, Arg1, Arg3), Local0)
  13510. }
  13511.  
  13512. If (LEqual (Arg2, 0x11))
  13513. {
  13514. Store (MF11 (Arg0, Arg1, Arg3), Local0)
  13515. }
  13516.  
  13517. If (LEqual (Arg2, 0x12))
  13518. {
  13519. Store (MF12 (Arg0, Arg1, Arg3), Local0)
  13520. }
  13521.  
  13522. If (LEqual (Arg2, 0x13))
  13523. {
  13524. Store (MF13 (Arg0, Arg1, Arg3), Local0)
  13525. }
  13526.  
  13527. If (LEqual (Arg2, 0x14))
  13528. {
  13529. Store (MF14 (Arg0, Arg1, Arg3), Local0)
  13530. }
  13531.  
  13532. If (LEqual (Arg2, 0x15))
  13533. {
  13534. Store (MF15 (Arg0, Arg1, Arg3), Local0)
  13535. }
  13536.  
  13537. If (LEqual (Arg2, 0x16))
  13538. {
  13539. Store (MF16 (Arg0, Arg1, Arg3), Local0)
  13540. }
  13541.  
  13542. If (LEqual (Arg2, 0x17))
  13543. {
  13544. Store (MF17 (Arg0, Arg1, Arg3), Local0)
  13545. }
  13546.  
  13547. If (LEqual (Arg2, 0x18))
  13548. {
  13549. Store (MF18 (Arg0, Arg1, Arg3), Local0)
  13550. }
  13551.  
  13552. If (LEqual (Arg2, 0x19))
  13553. {
  13554. Store (MF19 (Arg0, Arg1, Arg3), Local0)
  13555. }
  13556.  
  13557. If (LEqual (Arg2, 0x1F))
  13558. {
  13559. Store (MF1F (Arg0, Arg1, Arg3), Local0)
  13560. }
  13561.  
  13562. And (SM1X, 0xFE, SM1X)
  13563. If (Local0)
  13564. {
  13565. Store (Local0, EM1X)
  13566. Or (SM1X, 0x02, SM1X)
  13567. }
  13568.  
  13569. Or (SM1X, 0x80, SM1X)
  13570. }
  13571.  
  13572. Method (MF10, 3, NotSerialized)
  13573. {
  13574. Store (One, Local0)
  13575. If (LEqual (Arg2, Zero))
  13576. {
  13577. Store (G10V (Arg0, Arg1), Local0)
  13578. }
  13579.  
  13580. If (LEqual (Arg2, One))
  13581. {
  13582. Store (SRTC (Arg0, Arg1), Local0)
  13583. }
  13584.  
  13585. Return (Local0)
  13586. }
  13587.  
  13588. Method (G10V, 2, NotSerialized)
  13589. {
  13590. If (LLess (Arg1, 0x0C))
  13591. {
  13592. Return (0x02)
  13593. }
  13594.  
  13595. OperationRegion (\F100, SystemMemory, Arg0, Arg1)
  13596. Field (F100, DWordAcc, NoLock, Preserve)
  13597. {
  13598. Offset (0x08),
  13599. SVER, 16,
  13600. MVER, 16
  13601. }
  13602.  
  13603. Store (Zero, MVER)
  13604. Store (Zero, SVER)
  13605. Return (Zero)
  13606. }
  13607.  
  13608. Method (SRTC, 2, NotSerialized)
  13609. {
  13610. If (LLess (Arg1, 0x0C))
  13611. {
  13612. Return (0x02)
  13613. }
  13614.  
  13615. OperationRegion (\F101, SystemMemory, Arg0, Arg1)
  13616. Field (F101, DWordAcc, NoLock, Preserve)
  13617. {
  13618. Offset (0x08),
  13619. DLTM, 16
  13620. }
  13621.  
  13622. Store (DLTM, RTCW)
  13623. Return (Zero)
  13624. }
  13625.  
  13626. Method (MF11, 3, NotSerialized)
  13627. {
  13628. Store (One, Local0)
  13629. If (LEqual (Arg2, Zero))
  13630. {
  13631. Store (G11V (Arg0, Arg1), Local0)
  13632. }
  13633.  
  13634. If (LEqual (Arg2, One))
  13635. {
  13636. Store (GBAT (Arg0, Arg1), Local0)
  13637. }
  13638.  
  13639. If (LEqual (Arg2, 0x02))
  13640. {
  13641. Store (ASBR (Arg0, Arg1), Local0)
  13642. }
  13643.  
  13644. If (LEqual (Arg2, 0x03))
  13645. {
  13646. Store (ASBE (Arg0, Arg1), Local0)
  13647. }
  13648.  
  13649. If (LEqual (Arg2, 0x04))
  13650. {
  13651. Store (BTCR (Arg0, Arg1), Local0)
  13652. }
  13653.  
  13654. Return (Local0)
  13655. }
  13656.  
  13657. Method (G11V, 2, NotSerialized)
  13658. {
  13659. If (LLess (Arg1, 0x0C))
  13660. {
  13661. Return (0x02)
  13662. }
  13663.  
  13664. OperationRegion (\F110, SystemMemory, Arg0, Arg1)
  13665. Field (F100, DWordAcc, NoLock, Preserve)
  13666. {
  13667. Offset (0x08),
  13668. SVER, 16,
  13669. MVER, 16
  13670. }
  13671.  
  13672. Store (Zero, MVER)
  13673. Store (Zero, SVER)
  13674. Return (Zero)
  13675. }
  13676.  
  13677. Method (GBAT, 2, NotSerialized)
  13678. {
  13679. If (LLess (Arg1, 0x0A))
  13680. {
  13681. Return (0x02)
  13682. }
  13683.  
  13684. OperationRegion (\F111, SystemMemory, Arg0, Arg1)
  13685. Field (F111, DWordAcc, NoLock, Preserve)
  13686. {
  13687. Offset (0x08),
  13688. BTNM, 8,
  13689. BTTP, 8
  13690. }
  13691.  
  13692. Store (One, BTNM)
  13693. Store (Zero, BTTP)
  13694. Return (Zero)
  13695. }
  13696.  
  13697. Method (ASBR, 2, NotSerialized)
  13698. {
  13699. If (LLess (Arg1, 0x30))
  13700. {
  13701. Return (0x02)
  13702. }
  13703.  
  13704. OperationRegion (\F112, SystemMemory, Arg0, Arg1)
  13705. Field (F112, DWordAcc, NoLock, Preserve)
  13706. {
  13707. Offset (0x08),
  13708. BATN, 8,
  13709. BATA, 8,
  13710. REGS, 8,
  13711. BDAT, 16,
  13712. BLEN, 8,
  13713. BREV, 16,
  13714. BLK1, 32,
  13715. BLK2, 32,
  13716. BLK3, 32,
  13717. BLK4, 32,
  13718. BLK5, 32,
  13719. BLK6, 32,
  13720. BLK7, 32,
  13721. BLK8, 32
  13722. }
  13723.  
  13724. If (LGreaterEqual (BATN, One))
  13725. {
  13726. Return (0x11)
  13727. }
  13728.  
  13729. If (LEqual (BATA, Zero))
  13730. {
  13731. Store (^^PCI0.SBRG.EC0.SMBR (^^PCI0.SBRG.EC0.RDWD, ^^PCI0.SBRG.EC0.BADR, REGS), Local0)
  13732. Store (DerefOf (Index (Local0, 0x02)), BDAT)
  13733. Store (DerefOf (Index (Local0, Zero)), Local2)
  13734. And (Local2, 0x1F, Local2)
  13735. If (Local2)
  13736. {
  13737. Add (Local2, 0x10, Local2)
  13738. }
  13739.  
  13740. Return (Local2)
  13741. }
  13742.  
  13743. If (LEqual (BATA, One))
  13744. {
  13745. Store (^^PCI0.SBRG.EC0.SMBW (^^PCI0.SBRG.EC0.WRWD, ^^PCI0.SBRG.EC0.BADR, REGS, 0x02, BDAT), Local0)
  13746. Store (DerefOf (Index (Local0, Zero)), Local2)
  13747. And (Local2, 0x1F, Local2)
  13748. If (Local2)
  13749. {
  13750. Add (Local2, 0x10, Local2)
  13751. }
  13752.  
  13753. Return (Local2)
  13754. }
  13755.  
  13756. If (LEqual (BATA, 0x02))
  13757. {
  13758. Store (^^PCI0.SBRG.EC0.SMBR (^^PCI0.SBRG.EC0.RDBL, ^^PCI0.SBRG.EC0.BADR, REGS), Local0)
  13759. Name (BKUF, Buffer (0x20) {})
  13760. CreateDWordField (BKUF, Zero, DAT1)
  13761. CreateDWordField (BKUF, 0x04, DAT2)
  13762. CreateDWordField (BKUF, 0x08, DAT3)
  13763. CreateDWordField (BKUF, 0x0C, DAT4)
  13764. CreateDWordField (BKUF, 0x10, DAT5)
  13765. CreateDWordField (BKUF, 0x14, DAT6)
  13766. CreateDWordField (BKUF, 0x18, DAT7)
  13767. CreateDWordField (BKUF, 0x1C, DAT8)
  13768. Store (DerefOf (Index (Local0, 0x02)), BKUF)
  13769. Store (DAT1, BLK1)
  13770. Store (DAT2, BLK2)
  13771. Store (DAT3, BLK3)
  13772. Store (DAT4, BLK4)
  13773. Store (DAT5, BLK5)
  13774. Store (DAT6, BLK6)
  13775. Store (DAT7, BLK7)
  13776. Store (DAT8, BLK8)
  13777. Store (DerefOf (Index (Local0, One)), BLEN)
  13778. Store (DerefOf (Index (Local0, Zero)), Local2)
  13779. And (Local2, 0x1F, Local2)
  13780. If (Local2)
  13781. {
  13782. Add (Local2, 0x10, Local2)
  13783. }
  13784.  
  13785. Return (Local2)
  13786. }
  13787.  
  13788. Return (0x10)
  13789. }
  13790.  
  13791. Method (ASBE, 2, Serialized)
  13792. {
  13793. If (LLess (Arg1, 0x0C))
  13794. {
  13795. Return (0x02)
  13796. }
  13797.  
  13798. OperationRegion (\F113, SystemMemory, Arg0, Arg1)
  13799. Field (F113, DWordAcc, NoLock, Preserve)
  13800. {
  13801. Offset (0x08),
  13802. BATN, 8,
  13803. BATA, 8,
  13804. REGS, 8,
  13805. BDAT, 8
  13806. }
  13807.  
  13808. If (LGreater (BATN, One))
  13809. {
  13810. Return (0x11)
  13811. }
  13812.  
  13813. If (LEqual (BATA, Zero))
  13814. {
  13815. Store (^^PCI0.SBRG.EC0.RBEP (REGS), Local2)
  13816. And (Local2, 0xFF, Local3)
  13817. Store (Local3, BDAT)
  13818. ShiftRight (Local2, 0x08, Local2)
  13819. And (Local2, 0x1F, Local2)
  13820. If (Local2)
  13821. {
  13822. Add (Local2, 0x10, Local2)
  13823. }
  13824.  
  13825. Return (Local2)
  13826. }
  13827.  
  13828. If (LEqual (BATA, One))
  13829. {
  13830. Store (^^PCI0.SBRG.EC0.WBEP (REGS, BDAT), Local2)
  13831. And (Local2, 0x1F, Local2)
  13832. If (Local2)
  13833. {
  13834. Add (Local2, 0x10, Local2)
  13835. }
  13836.  
  13837. Return (Local2)
  13838. }
  13839.  
  13840. Return (0x10)
  13841. }
  13842.  
  13843. Method (BTCR, 2, NotSerialized)
  13844. {
  13845. If (LLess (Arg1, 0x09))
  13846. {
  13847. Return (0x02)
  13848. }
  13849.  
  13850. OperationRegion (\F114, SystemMemory, Arg0, Arg1)
  13851. Field (F114, DWordAcc, NoLock, Preserve)
  13852. {
  13853. Offset (0x08),
  13854. BCDC, 8
  13855. }
  13856.  
  13857. SBTL (BCDC)
  13858. Return (Zero)
  13859. }
  13860.  
  13861. Method (MF12, 3, NotSerialized)
  13862. {
  13863. Store (One, Local0)
  13864. If (LEqual (Arg2, Zero))
  13865. {
  13866. Store (G12V (Arg0, Arg1), Local0)
  13867. }
  13868.  
  13869. If (LEqual (Arg2, One))
  13870. {
  13871. Store (GLDI (Arg0, Arg1), Local0)
  13872. }
  13873.  
  13874. If (LEqual (Arg2, 0x02))
  13875. {
  13876. Store (LDCR (Arg0, Arg1), Local0)
  13877. }
  13878.  
  13879. Return (Local0)
  13880. }
  13881.  
  13882. Method (G12V, 2, NotSerialized)
  13883. {
  13884. If (LLess (Arg1, 0x0C))
  13885. {
  13886. Return (0x02)
  13887. }
  13888.  
  13889. OperationRegion (\F120, SystemMemory, Arg0, Arg1)
  13890. Field (F120, DWordAcc, NoLock, Preserve)
  13891. {
  13892. Offset (0x08),
  13893. SVER, 16,
  13894. MVER, 16
  13895. }
  13896.  
  13897. Store (Zero, MVER)
  13898. Store (Zero, SVER)
  13899. Return (Zero)
  13900. }
  13901.  
  13902. Method (GLDI, 2, NotSerialized)
  13903. {
  13904. If (LLess (Arg1, 0x10))
  13905. {
  13906. Return (0x02)
  13907. }
  13908.  
  13909. OperationRegion (\F121, SystemMemory, Arg0, Arg1)
  13910. Field (F121, DWordAcc, NoLock, Preserve)
  13911. {
  13912. Offset (0x08),
  13913. LDI0, 32,
  13914. LDI1, 32
  13915. }
  13916.  
  13917. Store (Zero, Local0)
  13918. Or (Local0, 0x10, Local0)
  13919. Or (Local0, 0x20, Local0)
  13920. Store (Local0, LDI0)
  13921. Return (Zero)
  13922. }
  13923.  
  13924. Method (LDCR, 2, NotSerialized)
  13925. {
  13926. If (LLess (Arg1, 0x0A))
  13927. {
  13928. Return (0x02)
  13929. }
  13930.  
  13931. OperationRegion (\F122, SystemMemory, Arg0, Arg1)
  13932. Field (F122, DWordAcc, NoLock, Preserve)
  13933. {
  13934. Offset (0x08),
  13935. LDNM, 8,
  13936. LCRT, 8
  13937. }
  13938.  
  13939. If (LEqual (LDNM, 0x04))
  13940. {
  13941. WLED (LCRT)
  13942. Return (Zero)
  13943. }
  13944.  
  13945. Return (0x10)
  13946. }
  13947.  
  13948. Method (MF13, 3, NotSerialized)
  13949. {
  13950. Store (One, Local0)
  13951. If (LEqual (Arg2, Zero))
  13952. {
  13953. Store (G13V (Arg0, Arg1), Local0)
  13954. }
  13955.  
  13956. If (LEqual (Arg2, One))
  13957. {
  13958. Store (GTSI (Arg0, Arg1), Local0)
  13959. }
  13960.  
  13961. If (LEqual (Arg2, 0x02))
  13962. {
  13963. Store (GTSV (Arg0, Arg1), Local0)
  13964. }
  13965.  
  13966. If (LEqual (Arg2, 0x03))
  13967. {
  13968. Store (GVSN (Arg0, Arg1), Local0)
  13969. }
  13970.  
  13971. If (LEqual (Arg2, 0x04))
  13972. {
  13973. Store (GVSV (Arg0, Arg1), Local0)
  13974. }
  13975.  
  13976. If (LEqual (Arg2, 0x05))
  13977. {
  13978. Store (GFNN (Arg0, Arg1), Local0)
  13979. }
  13980.  
  13981. If (LEqual (Arg2, 0x06))
  13982. {
  13983. Store (GFNS (Arg0, Arg1), Local0)
  13984. }
  13985.  
  13986. If (LEqual (Arg2, 0x07))
  13987. {
  13988. Store (SFNS (Arg0, Arg1), Local0)
  13989. }
  13990.  
  13991. Return (Local0)
  13992. }
  13993.  
  13994. Method (G13V, 2, NotSerialized)
  13995. {
  13996. If (LLess (Arg1, 0x0C))
  13997. {
  13998. Return (0x02)
  13999. }
  14000.  
  14001. OperationRegion (\F130, SystemMemory, Arg0, Arg1)
  14002. Field (F130, DWordAcc, NoLock, Preserve)
  14003. {
  14004. Offset (0x08),
  14005. SVER, 16,
  14006. MVER, 16
  14007. }
  14008.  
  14009. Store (Zero, MVER)
  14010. Store (Zero, SVER)
  14011. Return (Zero)
  14012. }
  14013.  
  14014. Method (GTSI, 2, NotSerialized)
  14015. {
  14016. If (LLess (Arg1, 0x0C))
  14017. {
  14018. Return (0x02)
  14019. }
  14020.  
  14021. OperationRegion (\F131, SystemMemory, Arg0, Arg1)
  14022. Field (F131, DWordAcc, NoLock, Preserve)
  14023. {
  14024. Offset (0x08),
  14025. THRI, 32
  14026. }
  14027.  
  14028. Store (Zero, Local0)
  14029. Or (Local0, One, Local0)
  14030. If (LGreaterEqual (CPUN, One))
  14031. {
  14032. Or (Local0, 0x0100, Local0)
  14033. }
  14034.  
  14035. If (LGreaterEqual (CPUN, 0x02))
  14036. {
  14037. Or (Local0, 0x0200, Local0)
  14038. }
  14039.  
  14040. If (LGreaterEqual (CPUN, 0x03))
  14041. {
  14042. Or (Local0, 0x0400, Local0)
  14043. }
  14044.  
  14045. If (LGreaterEqual (CPUN, 0x04))
  14046. {
  14047. Or (Local0, 0x0800, Local0)
  14048. }
  14049.  
  14050. Store (Local0, THRI)
  14051. Return (Zero)
  14052. }
  14053.  
  14054. Method (GTSV, 2, NotSerialized)
  14055. {
  14056. If (LLess (Arg1, 0x0A))
  14057. {
  14058. Return (0x02)
  14059. }
  14060.  
  14061. OperationRegion (\F132, SystemMemory, Arg0, Arg1)
  14062. Field (F132, DWordAcc, NoLock, Preserve)
  14063. {
  14064. Offset (0x08),
  14065. TSNM, 8,
  14066. TSVL, 8,
  14067. TSST, 8
  14068. }
  14069.  
  14070. Store (Zero, TSST)
  14071. If (LEqual (TSNM, Zero))
  14072. {
  14073. Store (\_TZ.RTMP (), TSVL)
  14074. Return (Zero)
  14075. }
  14076.  
  14077. If (LEqual (TSNM, 0x08))
  14078. {
  14079. BSMI (Arg0)
  14080. Return (Zero)
  14081. }
  14082.  
  14083. If (LEqual (TSNM, 0x09))
  14084. {
  14085. BSMI (Arg0)
  14086. Return (Zero)
  14087. }
  14088.  
  14089. If (LEqual (TSNM, 0x0A))
  14090. {
  14091. BSMI (Arg0)
  14092. Return (Zero)
  14093. }
  14094.  
  14095. If (LEqual (TSNM, 0x0B))
  14096. {
  14097. BSMI (Arg0)
  14098. Return (Zero)
  14099. }
  14100.  
  14101. Return (0x10)
  14102. }
  14103.  
  14104. Method (GVSN, 2, NotSerialized)
  14105. {
  14106. If (LLess (Arg1, 0x09))
  14107. {
  14108. Return (0x02)
  14109. }
  14110.  
  14111. OperationRegion (\F133, SystemMemory, Arg0, Arg1)
  14112. Field (F133, DWordAcc, NoLock, Preserve)
  14113. {
  14114. Offset (0x08),
  14115. NMVS, 8
  14116. }
  14117.  
  14118. Store (Zero, NMVS)
  14119. Return (Zero)
  14120. }
  14121.  
  14122. Method (GVSV, 2, NotSerialized)
  14123. {
  14124. If (LLess (Arg1, 0x0B))
  14125. {
  14126. Return (0x02)
  14127. }
  14128.  
  14129. OperationRegion (\F134, SystemMemory, Arg0, Arg1)
  14130. Field (F134, DWordAcc, NoLock, Preserve)
  14131. {
  14132. Offset (0x08),
  14133. VSNM, 8,
  14134. VSVL, 16
  14135. }
  14136.  
  14137. If (LGreater (VSNM, Zero))
  14138. {
  14139. Return (0x10)
  14140. }
  14141.  
  14142. Return (Zero)
  14143. }
  14144.  
  14145. Method (GFNN, 2, NotSerialized)
  14146. {
  14147. If (LLess (Arg1, 0x09))
  14148. {
  14149. Return (0x02)
  14150. }
  14151.  
  14152. OperationRegion (\F135, SystemMemory, Arg0, Arg1)
  14153. Field (F135, DWordAcc, NoLock, Preserve)
  14154. {
  14155. Offset (0x08),
  14156. NMFN, 32
  14157. }
  14158.  
  14159. Store (One, NMFN)
  14160. Return (Zero)
  14161. }
  14162.  
  14163. Method (GFNS, 2, NotSerialized)
  14164. {
  14165. If (LLess (Arg1, 0x0D))
  14166. {
  14167. Return (0x02)
  14168. }
  14169.  
  14170. OperationRegion (\F136, SystemMemory, Arg0, Arg1)
  14171. Field (F136, DWordAcc, NoLock, Preserve)
  14172. {
  14173. Offset (0x08),
  14174. FNNM, 8,
  14175. GFNS, 32
  14176. }
  14177.  
  14178. If (Or (LEqual (FNNM, Zero), LGreater (FNNM, One)))
  14179. {
  14180. Return (0x10)
  14181. }
  14182.  
  14183. Store (FNNM, Local0)
  14184. Store (\_TZ.RFAN (Decrement (Local0)), GFNS)
  14185. Return (Zero)
  14186. }
  14187.  
  14188. Method (SFNS, 2, NotSerialized)
  14189. {
  14190. If (LLess (Arg1, 0x0A))
  14191. {
  14192. Return (0x02)
  14193. }
  14194.  
  14195. OperationRegion (\F137, SystemMemory, Arg0, Arg1)
  14196. Field (F137, DWordAcc, NoLock, Preserve)
  14197. {
  14198. Offset (0x08),
  14199. FNNB, 8,
  14200. FNSP, 8
  14201. }
  14202.  
  14203. If (LGreater (FNNB, One))
  14204. {
  14205. Return (0x10)
  14206. }
  14207.  
  14208. ^^PCI0.SBRG.EC0.SFNV (FNNB, FNSP)
  14209. Return (Zero)
  14210. }
  14211.  
  14212. Method (MF14, 3, NotSerialized)
  14213. {
  14214. Store (One, Local0)
  14215. If (LEqual (Arg2, Zero))
  14216. {
  14217. Store (G14V (Arg0, Arg1), Local0)
  14218. }
  14219.  
  14220. If (LEqual (Arg2, One))
  14221. {
  14222. Store (GNBT (Arg0, Arg1), Local0)
  14223. }
  14224.  
  14225. If (LEqual (Arg2, 0x02))
  14226. {
  14227. Store (GBTS (Arg0, Arg1), Local0)
  14228. }
  14229.  
  14230. Return (Local0)
  14231. }
  14232.  
  14233. Method (G14V, 2, NotSerialized)
  14234. {
  14235. If (LLess (Arg1, 0x0C))
  14236. {
  14237. Return (0x02)
  14238. }
  14239.  
  14240. OperationRegion (\F140, SystemMemory, Arg0, Arg1)
  14241. Field (F140, DWordAcc, NoLock, Preserve)
  14242. {
  14243. Offset (0x08),
  14244. SVER, 16,
  14245. MVER, 16
  14246. }
  14247.  
  14248. Store (Zero, MVER)
  14249. Store (Zero, SVER)
  14250. Return (Zero)
  14251. }
  14252.  
  14253. Method (GNBT, 2, NotSerialized)
  14254. {
  14255. If (LLess (Arg1, 0x09))
  14256. {
  14257. Return (0x02)
  14258. }
  14259.  
  14260. OperationRegion (\F141, SystemMemory, Arg0, Arg1)
  14261. Field (F141, DWordAcc, NoLock, Preserve)
  14262. {
  14263. Offset (0x08),
  14264. NBBT, 8
  14265. }
  14266.  
  14267. Store (0x05, NBBT)
  14268. Return (Zero)
  14269. }
  14270.  
  14271. Method (GBTS, 2, NotSerialized)
  14272. {
  14273. If (LLess (Arg1, 0x0A))
  14274. {
  14275. Return (0x02)
  14276. }
  14277.  
  14278. OperationRegion (\F142, SystemMemory, Arg0, Arg1)
  14279. Field (F142, DWordAcc, NoLock, Preserve)
  14280. {
  14281. Offset (0x08),
  14282. BTNM, 8,
  14283. BTST, 8
  14284. }
  14285.  
  14286. Name (BTTB, Package (0x05)
  14287. {
  14288. Package (0x03)
  14289. {
  14290. 0x0C,
  14291. Zero,
  14292. Zero
  14293. },
  14294.  
  14295. Package (0x03)
  14296. {
  14297. 0x0D,
  14298. Zero,
  14299. Zero
  14300. },
  14301.  
  14302. Package (0x03)
  14303. {
  14304. 0x0E,
  14305. Zero,
  14306. Zero
  14307. },
  14308.  
  14309. Package (0x03)
  14310. {
  14311. 0x0F,
  14312. Zero,
  14313. Zero
  14314. },
  14315.  
  14316. Package (0x03)
  14317. {
  14318. 0x15,
  14319. Zero,
  14320. Zero
  14321. }
  14322. })
  14323. If (LGreater (BTNM, 0x05))
  14324. {
  14325. Return (0x10)
  14326. }
  14327.  
  14328. Store (BTNM, Local0)
  14329. Decrement (Local0)
  14330. Store (DerefOf (Index (BTTB, Local0)), Local1)
  14331. If (LEqual (DerefOf (Index (Local1, One)), Zero))
  14332. {
  14333. Store (^^PCI0.SBRG.EC0.RPIN (DerefOf (Index (Local1, Zero))), Local2)
  14334. }
  14335.  
  14336. If (LEqual (DerefOf (Index (Local1, One)), 0x03)) {}
  14337. If (LEqual (DerefOf (Index (Local1, 0x02)), Local2))
  14338. {
  14339. Store (Zero, BTST)
  14340. }
  14341. Else
  14342. {
  14343. Store (One, BTST)
  14344. }
  14345.  
  14346. Return (Zero)
  14347. }
  14348.  
  14349. Method (MF15, 3, NotSerialized)
  14350. {
  14351. Store (One, Local0)
  14352. If (LEqual (Arg2, Zero))
  14353. {
  14354. Store (G15V (Arg0, Arg1), Local0)
  14355. }
  14356.  
  14357. If (LEqual (Arg2, One))
  14358. {
  14359. Store (GLDB (Arg0, Arg1), Local0)
  14360. }
  14361.  
  14362. If (LEqual (Arg2, 0x02))
  14363. {
  14364. Store (SLDB (Arg0, Arg1), Local0)
  14365. }
  14366.  
  14367. If (LEqual (Arg2, 0x03))
  14368. {
  14369. Store (GDPI (Arg0, Arg1), Local0)
  14370. }
  14371.  
  14372. If (LEqual (Arg2, 0x04))
  14373. {
  14374. Store (SODP (Arg0, Arg1), Local0)
  14375. }
  14376.  
  14377. Return (Local0)
  14378. }
  14379.  
  14380. Method (G15V, 2, NotSerialized)
  14381. {
  14382. If (LLess (Arg1, 0x0C))
  14383. {
  14384. Return (0x02)
  14385. }
  14386.  
  14387. OperationRegion (\F150, SystemMemory, Arg0, Arg1)
  14388. Field (F150, DWordAcc, NoLock, Preserve)
  14389. {
  14390. Offset (0x08),
  14391. SVER, 16,
  14392. MVER, 16
  14393. }
  14394.  
  14395. Store (Zero, MVER)
  14396. Store (Zero, SVER)
  14397. Return (Zero)
  14398. }
  14399.  
  14400. Method (GLDB, 2, NotSerialized)
  14401. {
  14402. If (LLess (Arg1, 0x0A))
  14403. {
  14404. Return (0x02)
  14405. }
  14406.  
  14407. OperationRegion (\F151, SystemMemory, Arg0, Arg1)
  14408. Field (F151, DWordAcc, NoLock, Preserve)
  14409. {
  14410. Offset (0x08),
  14411. LCDB, 8,
  14412. MLDB, 8
  14413. }
  14414.  
  14415. Store (GPLV (), LCDB)
  14416. Store (0x0B, MLDB)
  14417. Return (Zero)
  14418. }
  14419.  
  14420. Method (SLDB, 2, NotSerialized)
  14421. {
  14422. If (LLess (Arg1, 0x0A))
  14423. {
  14424. Return (0x02)
  14425. }
  14426.  
  14427. OperationRegion (\F152, SystemMemory, Arg0, Arg1)
  14428. Field (F152, DWordAcc, NoLock, Preserve)
  14429. {
  14430. Offset (0x08),
  14431. LCDL, 8,
  14432. LTPE, 8
  14433. }
  14434.  
  14435. If (LEqual (LTPE, Zero))
  14436. {
  14437. If (LGreater (LCDL, 0x0B))
  14438. {
  14439. Return (0x10)
  14440. }
  14441.  
  14442. SPLV (LCDL)
  14443. Return (Zero)
  14444. }
  14445.  
  14446. If (LEqual (LTPE, One))
  14447. {
  14448. ^^PCI0.SBRG.EC0.SBRV (LCDL)
  14449. Return (Zero)
  14450. }
  14451.  
  14452. Return (0x11)
  14453. }
  14454.  
  14455. Method (GDPI, 2, NotSerialized)
  14456. {
  14457. If (LLess (Arg1, 0x10))
  14458. {
  14459. Return (0x02)
  14460. }
  14461.  
  14462. OperationRegion (\F153, SystemMemory, Arg0, Arg1)
  14463. Field (F153, DWordAcc, NoLock, Preserve)
  14464. {
  14465. Offset (0x08),
  14466. ODPI, 32,
  14467. ODPC, 8
  14468. }
  14469.  
  14470. Store (Zero, Local0)
  14471. Or (Local0, One, Local0)
  14472. Or (Local0, 0x02, Local0)
  14473. Store (Local0, ODPI)
  14474. BSMI (Arg0)
  14475. Return (Zero)
  14476. }
  14477.  
  14478. Method (SODP, 2, NotSerialized)
  14479. {
  14480. If (LLess (Arg1, 0x0C))
  14481. {
  14482. Return (0x02)
  14483. }
  14484.  
  14485. OperationRegion (\F154, SystemMemory, Arg0, Arg1)
  14486. Field (F154, DWordAcc, NoLock, Preserve)
  14487. {
  14488. Offset (0x08),
  14489. ODPM, 32
  14490. }
  14491.  
  14492. Store (Zero, Local0)
  14493. Or (Local0, One, Local0)
  14494. Or (Local0, 0x02, Local0)
  14495. And (ODPM, Local0, Local0)
  14496. If (LEqual (Local0, ODPM))
  14497. {
  14498. SDSP (ODPM)
  14499. Return (Zero)
  14500. }
  14501.  
  14502. Return (0x10)
  14503. }
  14504.  
  14505. Method (MF16, 3, NotSerialized)
  14506. {
  14507. Store (One, Local0)
  14508. If (LEqual (Arg2, Zero))
  14509. {
  14510. Store (G16V (Arg0, Arg1), Local0)
  14511. }
  14512.  
  14513. If (LEqual (Arg2, One))
  14514. {
  14515. Store (SFBD (Arg0, Arg1), Local0)
  14516. }
  14517.  
  14518. If (LEqual (Arg2, 0x02))
  14519. {
  14520. Store (LCMD (Arg0, Arg1), Local0)
  14521. }
  14522.  
  14523. Return (Local0)
  14524. }
  14525.  
  14526. Method (G16V, 2, NotSerialized)
  14527. {
  14528. If (LLess (Arg1, 0x0C))
  14529. {
  14530. Return (0x02)
  14531. }
  14532.  
  14533. OperationRegion (\F160, SystemMemory, Arg0, Arg1)
  14534. Field (F160, DWordAcc, NoLock, Preserve)
  14535. {
  14536. Offset (0x08),
  14537. SVER, 16,
  14538. MVER, 16
  14539. }
  14540.  
  14541. Store (Zero, MVER)
  14542. Store (Zero, SVER)
  14543. Return (Zero)
  14544. }
  14545.  
  14546. Method (SFBD, 2, NotSerialized)
  14547. {
  14548. If (LLess (Arg1, 0x0A))
  14549. {
  14550. Return (0x02)
  14551. }
  14552.  
  14553. OperationRegion (\F161, SystemMemory, Arg0, Arg1)
  14554. Field (F161, DWordAcc, NoLock, Preserve)
  14555. {
  14556. Offset (0x08),
  14557. NXBD, 8
  14558. }
  14559.  
  14560. If (OFBD (NXBD))
  14561. {
  14562. Store (NXBD, UHDB)
  14563. Return (Zero)
  14564. }
  14565. Else
  14566. {
  14567. Return (0x10)
  14568. }
  14569. }
  14570.  
  14571. Method (LCMD, 2, NotSerialized)
  14572. {
  14573. If (LLess (Arg1, 0x0A))
  14574. {
  14575. Return (0x02)
  14576. }
  14577.  
  14578. BSMI (Arg0)
  14579. Return (Zero)
  14580. }
  14581.  
  14582. Method (MF17, 3, NotSerialized)
  14583. {
  14584. Store (One, Local0)
  14585. If (LEqual (Arg2, Zero))
  14586. {
  14587. Store (G17V (Arg0, Arg1), Local0)
  14588. }
  14589.  
  14590. If (LEqual (Arg2, One))
  14591. {
  14592. Store (GMDL (Arg0, Arg1), Local0)
  14593. }
  14594.  
  14595. If (LEqual (Arg2, 0x02))
  14596. {
  14597. Store (GBSI (Arg0, Arg1), Local0)
  14598. }
  14599.  
  14600. If (LEqual (Arg2, 0x03))
  14601. {
  14602. Store (GECI (Arg0, Arg1), Local0)
  14603. }
  14604.  
  14605. If (LEqual (Arg2, 0x04))
  14606. {
  14607. Store (GFII (Arg0, Arg1), Local0)
  14608. }
  14609.  
  14610. Return (Local0)
  14611. }
  14612.  
  14613. Method (G17V, 2, NotSerialized)
  14614. {
  14615. If (LLess (Arg1, 0x0C))
  14616. {
  14617. Return (0x02)
  14618. }
  14619.  
  14620. OperationRegion (\F170, SystemMemory, Arg0, Arg1)
  14621. Field (F170, DWordAcc, NoLock, Preserve)
  14622. {
  14623. Offset (0x08),
  14624. SVER, 16,
  14625. MVER, 16
  14626. }
  14627.  
  14628. Store (Zero, MVER)
  14629. Store (Zero, SVER)
  14630. Return (Zero)
  14631. }
  14632.  
  14633. Method (GMDL, 2, NotSerialized)
  14634. {
  14635. If (LLess (Arg1, 0x19))
  14636. {
  14637. Return (0x02)
  14638. }
  14639.  
  14640. OperationRegion (\F171, SystemMemory, Arg0, Arg1)
  14641. Field (F171, DWordAcc, NoLock, Preserve)
  14642. {
  14643. Offset (0x08),
  14644. MLEN, 8,
  14645. MDL1, 32,
  14646. MDL2, 32,
  14647. MDL3, 32,
  14648. MDL4, 32
  14649. }
  14650.  
  14651. Store (Zero, MDL1)
  14652. Store (Zero, MDL2)
  14653. Store (Zero, MDL3)
  14654. Store (Zero, MDL4)
  14655. Name (BBUF, Buffer (0x10) {})
  14656. CreateDWordField (BBUF, Zero, DAT1)
  14657. CreateDWordField (BBUF, 0x04, DAT2)
  14658. CreateDWordField (BBUF, 0x08, DAT3)
  14659. CreateDWordField (BBUF, 0x0C, DAT4)
  14660. Store (GBMN (), Local0)
  14661. Store (SizeOf (Local0), MLEN)
  14662. Store (GBMN (), BBUF)
  14663. Store (DAT1, MDL1)
  14664. Store (DAT2, MDL2)
  14665. Store (DAT3, MDL3)
  14666. Store (DAT4, MDL4)
  14667. Return (Zero)
  14668. }
  14669.  
  14670. Method (GBSI, 2, NotSerialized)
  14671. {
  14672. If (LLess (Arg1, 0x19))
  14673. {
  14674. Return (0x02)
  14675. }
  14676.  
  14677. OperationRegion (\F172, SystemMemory, Arg0, Arg1)
  14678. Field (F172, DWordAcc, NoLock, Preserve)
  14679. {
  14680. Offset (0x08),
  14681. BLEN, 8,
  14682. BDL1, 32,
  14683. BDL2, 32,
  14684. BDL3, 32,
  14685. BDL4, 32
  14686. }
  14687.  
  14688. Store (Zero, BDL1)
  14689. Store (Zero, BDL2)
  14690. Store (Zero, BDL3)
  14691. Store (Zero, BDL4)
  14692. Name (BBUF, Buffer (0x10) {})
  14693. CreateDWordField (BBUF, Zero, DAT1)
  14694. CreateDWordField (BBUF, 0x04, DAT2)
  14695. CreateDWordField (BBUF, 0x08, DAT3)
  14696. CreateDWordField (BBUF, 0x0C, DAT4)
  14697. Store (GBRV (), Local0)
  14698. Store (SizeOf (Local0), BLEN)
  14699. Store (GBRV (), BBUF)
  14700. Store (DAT1, BDL1)
  14701. Store (DAT2, BDL2)
  14702. Store (DAT3, BDL3)
  14703. Store (DAT4, BDL4)
  14704. Return (Zero)
  14705. }
  14706.  
  14707. Method (GECI, 2, NotSerialized)
  14708. {
  14709. If (LLess (Arg1, 0x19))
  14710. {
  14711. Return (0x02)
  14712. }
  14713.  
  14714. OperationRegion (\F173, SystemMemory, Arg0, Arg1)
  14715. Field (F173, DWordAcc, NoLock, Preserve)
  14716. {
  14717. Offset (0x08),
  14718. ELEN, 8,
  14719. EDL1, 32,
  14720. EDL2, 32,
  14721. EDL3, 32,
  14722. EDL4, 32
  14723. }
  14724.  
  14725. Store (Zero, EDL1)
  14726. Store (Zero, EDL2)
  14727. Store (Zero, EDL3)
  14728. Store (Zero, EDL4)
  14729. BSMI (Arg0)
  14730. Return (Zero)
  14731. }
  14732.  
  14733. Method (GFII, 2, NotSerialized)
  14734. {
  14735. If (LLess (Arg1, 0x10))
  14736. {
  14737. Return (0x02)
  14738. }
  14739.  
  14740. OperationRegion (\F174, SystemMemory, Arg0, Arg1)
  14741. Field (F174, DWordAcc, NoLock, Preserve)
  14742. {
  14743. Offset (0x08),
  14744. SFII, 8
  14745. }
  14746.  
  14747. Store (BECF, SFII)
  14748. Return (Zero)
  14749. }
  14750.  
  14751. Method (MF18, 3, NotSerialized)
  14752. {
  14753. Store (One, Local0)
  14754. If (LEqual (Arg2, Zero))
  14755. {
  14756. Store (G18V (Arg0, Arg1), Local0)
  14757. }
  14758.  
  14759. If (LEqual (Arg2, One))
  14760. {
  14761. Store (GDVI (Arg0, Arg1), Local0)
  14762. }
  14763.  
  14764. If (LEqual (Arg2, 0x02))
  14765. {
  14766. Store (GDVS (Arg0, Arg1), Local0)
  14767. }
  14768.  
  14769. If (LEqual (Arg2, 0x03))
  14770. {
  14771. Store (SDPW (Arg0, Arg1), Local0)
  14772. }
  14773.  
  14774. Return (Local0)
  14775. }
  14776.  
  14777. Method (G18V, 2, NotSerialized)
  14778. {
  14779. If (LLess (Arg1, 0x0C))
  14780. {
  14781. Return (0x02)
  14782. }
  14783.  
  14784. OperationRegion (\F180, SystemMemory, Arg0, Arg1)
  14785. Field (F180, DWordAcc, NoLock, Preserve)
  14786. {
  14787. Offset (0x08),
  14788. SVER, 16,
  14789. MVER, 16
  14790. }
  14791.  
  14792. Store (Zero, MVER)
  14793. Store (Zero, SVER)
  14794. Return (Zero)
  14795. }
  14796.  
  14797. Method (GDVI, 2, NotSerialized)
  14798. {
  14799. If (LLess (Arg1, 0x18))
  14800. {
  14801. Return (0x02)
  14802. }
  14803.  
  14804. OperationRegion (\F181, SystemMemory, Arg0, Arg1)
  14805. Field (F181, DWordAcc, NoLock, Preserve)
  14806. {
  14807. Offset (0x08),
  14808. LDI0, 32,
  14809. LDI1, 32
  14810. }
  14811.  
  14812. Store (FEBL, LDI0)
  14813. Return (Zero)
  14814. }
  14815.  
  14816. Method (GDVS, 2, NotSerialized)
  14817. {
  14818. If (LLess (Arg1, 0x0A))
  14819. {
  14820. Return (0x02)
  14821. }
  14822.  
  14823. OperationRegion (\F182, SystemMemory, Arg0, Arg1)
  14824. Field (F182, DWordAcc, NoLock, Preserve)
  14825. {
  14826. Offset (0x08),
  14827. DNUM, 8,
  14828. DSTS, 8
  14829. }
  14830.  
  14831. ShiftLeft (One, DNUM, Local0)
  14832. If (LEqual (And (Local0, FEBL), Zero))
  14833. {
  14834. Return (0x10)
  14835. }
  14836.  
  14837. Return (Zero)
  14838. }
  14839.  
  14840. Method (SDPW, 2, NotSerialized)
  14841. {
  14842. If (LLess (Arg1, 0x0A))
  14843. {
  14844. Return (0x02)
  14845. }
  14846.  
  14847. OperationRegion (\F183, SystemMemory, Arg0, Arg1)
  14848. Field (F183, DWordAcc, NoLock, Preserve)
  14849. {
  14850. Offset (0x08),
  14851. DNUM, 8,
  14852. DCTR, 8
  14853. }
  14854.  
  14855. ShiftLeft (One, DNUM, Local0)
  14856. If (LEqual (And (Local0, FEBL), Zero))
  14857. {
  14858. Return (0x10)
  14859. }
  14860.  
  14861. If (LGreater (DCTR, One))
  14862. {
  14863. Return (0x11)
  14864. }
  14865.  
  14866. Return (Zero)
  14867. }
  14868.  
  14869. Method (MF19, 3, NotSerialized)
  14870. {
  14871. Store (One, Local0)
  14872. If (LEqual (Arg2, Zero))
  14873. {
  14874. Store (G19V (Arg0, Arg1), Local0)
  14875. }
  14876.  
  14877. If (LEqual (Arg2, One))
  14878. {
  14879. Store (ACMS (Arg0, Arg1), Local0)
  14880. }
  14881.  
  14882. If (LEqual (Arg2, 0x02))
  14883. {
  14884. Store (CSIN (Arg0, Arg1), Local0)
  14885. }
  14886.  
  14887. Return (Local0)
  14888. }
  14889.  
  14890. Method (G19V, 2, NotSerialized)
  14891. {
  14892. If (LLess (Arg1, 0x0C))
  14893. {
  14894. Return (0x02)
  14895. }
  14896.  
  14897. OperationRegion (\F190, SystemMemory, Arg0, Arg1)
  14898. Field (F190, DWordAcc, NoLock, Preserve)
  14899. {
  14900. Offset (0x08),
  14901. SVER, 16,
  14902. MVER, 16
  14903. }
  14904.  
  14905. Store (Zero, MVER)
  14906. Store (Zero, SVER)
  14907. Return (Zero)
  14908. }
  14909.  
  14910. Method (ACMS, 2, NotSerialized)
  14911. {
  14912. BSMI (Arg0)
  14913. Return (Zero)
  14914. }
  14915.  
  14916. Method (CSIN, 2, NotSerialized)
  14917. {
  14918. If (LLess (Arg1, 0x0A))
  14919. {
  14920. Return (0x02)
  14921. }
  14922.  
  14923. OperationRegion (\F192, SystemMemory, Arg0, Arg1)
  14924. Field (F192, DWordAcc, NoLock, Preserve)
  14925. {
  14926. Offset (0x08),
  14927. CMAX, 16
  14928. }
  14929.  
  14930. Store (0xFF, CMAX)
  14931. Return (Zero)
  14932. }
  14933.  
  14934. Method (NVIN, 2, NotSerialized)
  14935. {
  14936. OperationRegion (FM1F, SystemMemory, Arg0, Arg1)
  14937. Field (FM1F, DWordAcc, NoLock, Preserve)
  14938. {
  14939. Offset (0x08),
  14940. AM1F, 32
  14941. }
  14942.  
  14943. Return (ANVI (AM1F))
  14944. }
  14945.  
  14946. Method (BATF, 1, NotSerialized)
  14947. {
  14948. Store (GNBF, Local0)
  14949. OperationRegion (FMAD, SystemMemory, Local0, 0x10)
  14950. Field (FMAD, DWordAcc, NoLock, Preserve)
  14951. {
  14952. MFUN, 16,
  14953. SFUN, 16,
  14954. LEN, 16,
  14955. SM1X, 8,
  14956. EM1X, 8,
  14957. BATE, 8,
  14958. Offset (0x10)
  14959. }
  14960.  
  14961. Store (0x1F, MFUN)
  14962. Store (0x14, SFUN)
  14963. Store (0x10, LEN)
  14964. If (Arg0)
  14965. {
  14966. Store (One, BATE)
  14967. }
  14968. Else
  14969. {
  14970. Store (Zero, BATE)
  14971. }
  14972.  
  14973. Store (Zero, EM1X)
  14974. Store (One, SM1X)
  14975. MF1X (Local0, LEN, MFUN, SFUN)
  14976. }
  14977.  
  14978. Method (MF1F, 3, NotSerialized)
  14979. {
  14980. If (LEqual (Arg2, 0x11))
  14981. {
  14982. Return (NVIN (Arg0, Arg1))
  14983. }
  14984.  
  14985. BSMI (Arg0)
  14986. Return (Zero)
  14987. }
  14988. }
  14989.  
  14990. Scope (_SB.ATKD)
  14991. {
  14992. Method (OFBD, 1, NotSerialized)
  14993. {
  14994. Name (FBDT, Package (0x52)
  14995. {
  14996. 0x88,
  14997. 0x89,
  14998. 0x8A,
  14999. 0x8B,
  15000. 0x8C,
  15001. 0x8D,
  15002. 0x8E,
  15003. 0x8F,
  15004. 0x70,
  15005. 0x71,
  15006. 0x72,
  15007. 0x73,
  15008. 0x74,
  15009. 0x75,
  15010. 0x76,
  15011. 0x77,
  15012. 0x78,
  15013. 0x79,
  15014. 0x7A,
  15015. 0x7B,
  15016. 0x7C,
  15017. 0x7D,
  15018. 0x7E,
  15019. 0x7F,
  15020. 0x60,
  15021. 0x61,
  15022. 0x62,
  15023. 0x63,
  15024. 0x64,
  15025. 0x65,
  15026. 0x66,
  15027. 0x67,
  15028. 0x91,
  15029. 0x92,
  15030. 0x93,
  15031. 0x96,
  15032. 0xE0,
  15033. 0xE1,
  15034. 0xE2,
  15035. 0xE3,
  15036. 0xE4,
  15037. 0xE5,
  15038. 0xE6,
  15039. 0xE7,
  15040. 0xE8,
  15041. 0xE9,
  15042. 0xEA,
  15043. 0xEB,
  15044. 0xEC,
  15045. 0xED,
  15046. 0xEE,
  15047. 0xEF,
  15048. 0xD0,
  15049. 0xD1,
  15050. 0xD2,
  15051. 0xD3,
  15052. 0xD4,
  15053. 0xD5,
  15054. 0xD6,
  15055. 0xD7,
  15056. 0xD8,
  15057. 0xD9,
  15058. 0xDA,
  15059. 0xDB,
  15060. 0xDC,
  15061. 0xDD,
  15062. 0xDE,
  15063. 0xDF,
  15064. 0xC0,
  15065. 0xC1,
  15066. 0xC2,
  15067. 0xC3,
  15068. 0xC4,
  15069. 0xC5,
  15070. 0xC6,
  15071. 0xC7,
  15072. 0xF1,
  15073. 0xF2,
  15074. 0xF3,
  15075. 0xF6,
  15076. 0xF7,
  15077. 0xFA
  15078. })
  15079. Store (Match (FBDT, MEQ, Arg0, MTR, Zero, Zero), Local0)
  15080. Increment (Local0)
  15081. Return (Local0)
  15082. }
  15083.  
  15084. Method (GBRV, 0, NotSerialized)
  15085. {
  15086. Store ("200", Local0)
  15087. Return (Local0)
  15088. }
  15089.  
  15090. Method (GBMN, 0, NotSerialized)
  15091. {
  15092. Store ("X453SA", Local0)
  15093. Return (Local0)
  15094. }
  15095.  
  15096. Method (OGDP, 1, NotSerialized)
  15097. {
  15098. Store (Arg0, Local0)
  15099. Store (0x02, Local1)
  15100. Return (Local1)
  15101. }
  15102.  
  15103. Method (RSID, 0, NotSerialized)
  15104. {
  15105. Return (Zero)
  15106. }
  15107.  
  15108. Method (OSDP, 2, NotSerialized)
  15109. {
  15110. Store (Arg0, Local0)
  15111. Store (Arg1, Local1)
  15112. }
  15113. }
  15114.  
  15115. Scope (\)
  15116. {
  15117. OperationRegion (PMIO, SystemIO, 0x0400, 0x46)
  15118. Field (PMIO, ByteAcc, NoLock, Preserve)
  15119. {
  15120. Offset (0x01),
  15121. PWBS, 1,
  15122. Offset (0x20),
  15123. , 9,
  15124. SBPS, 1,
  15125. , 3,
  15126. PMEB, 1,
  15127. Offset (0x30),
  15128. , 4,
  15129. SLPE, 1,
  15130. Offset (0x42),
  15131. , 1,
  15132. GPEC, 1
  15133. }
  15134.  
  15135. Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
  15136. {
  15137. Offset (0x20),
  15138. , 4,
  15139. PSCI, 1,
  15140. SCIS, 1,
  15141. , 17,
  15142. GP23, 1
  15143. }
  15144.  
  15145. OperationRegion (FDRG, SystemMemory, 0xFED03000, 0xFF)
  15146. Field (FDRG, ByteAcc, NoLock, Preserve)
  15147. {
  15148. Offset (0x34),
  15149. FDRT, 32
  15150. }
  15151.  
  15152. Method (RGPL, 3, Serialized)
  15153. {
  15154. OperationRegion (GIRD, SystemMemory, Add (GBAS, Add (Arg0, Arg1)), 0x04)
  15155. Field (GIRD, DWordAcc, NoLock, Preserve)
  15156. {
  15157. TEMP, 32
  15158. }
  15159.  
  15160. Store (And (TEMP, One), Local1)
  15161. If (LEqual (Arg2, Zero))
  15162. {
  15163. If (LEqual (Local1, Zero))
  15164. {
  15165. Store (One, Local1)
  15166. }
  15167. Else
  15168. {
  15169. Store (Zero, Local1)
  15170. }
  15171. }
  15172.  
  15173. Return (And (Local1, One))
  15174. }
  15175.  
  15176. Method (SGPL, 4, Serialized)
  15177. {
  15178. If (LEqual (Arg2, Zero))
  15179. {
  15180. If (LEqual (Arg3, Zero))
  15181. {
  15182. Store (One, Arg3)
  15183. }
  15184. Else
  15185. {
  15186. Store (Zero, Arg3)
  15187. }
  15188. }
  15189.  
  15190. OperationRegion (GIWR, SystemMemory, Add (GBAS, Add (Arg0, Arg1)), 0x04)
  15191. Field (GIWR, DWordAcc, NoLock, Preserve)
  15192. {
  15193. TEMP, 32
  15194. }
  15195.  
  15196. If (LEqual (Arg3, One))
  15197. {
  15198. Store (Or (TEMP, 0x02), TEMP)
  15199. }
  15200. Else
  15201. {
  15202. If (LEqual (Arg3, Zero))
  15203. {
  15204. Not (0x02, Local0)
  15205. Store (And (TEMP, Local0), TEMP)
  15206. }
  15207. }
  15208. }
  15209.  
  15210. Method (RGPP, 1, Serialized)
  15211. {
  15212. }
  15213.  
  15214. Method (TGPP, 1, Serialized)
  15215. {
  15216. }
  15217.  
  15218. Method (SGPP, 2, Serialized)
  15219. {
  15220. }
  15221.  
  15222. Name (PMEW, Zero)
  15223. Method (SBRS, 1, NotSerialized)
  15224. {
  15225. CPXS ()
  15226. }
  15227.  
  15228. Method (SBRW, 1, NotSerialized)
  15229. {
  15230. Store (SBPS, PMEW)
  15231. }
  15232.  
  15233. Method (STRP, 1, NotSerialized)
  15234. {
  15235. If (Arg0)
  15236. {
  15237. Store (One, SLPE)
  15238. }
  15239. Else
  15240. {
  15241. Store (Zero, SLPE)
  15242. }
  15243. }
  15244.  
  15245. Method (HKTH, 0, Serialized)
  15246. {
  15247. }
  15248.  
  15249. Method (CPXS, 0, NotSerialized)
  15250. {
  15251. Store (Zero, Local0)
  15252. Store (0x00100000, Local1)
  15253. Store (0x000E0060, Local2)
  15254. Store (0x000E00DC, Local3)
  15255. While (LLess (Local0, 0x04))
  15256. {
  15257. If (LNot (And (FDRT, Local1)))
  15258. {
  15259. While (And (\_SB.RDPE (Local2), 0x00010000))
  15260. {
  15261. Or (\_SB.RDPE (Local2), 0x00010000, Local4)
  15262. \_SB.WDPE (Local2, Local4)
  15263. }
  15264.  
  15265. While (And (\_SB.RDPE (Local3), 0x80000000))
  15266. {
  15267. Or (\_SB.RDPE (Local3), 0x80000000, Local4)
  15268. \_SB.WDPE (Local3, Local4)
  15269. }
  15270. }
  15271.  
  15272. Add (Local2, 0x1000, Local2)
  15273. Add (Local3, 0x1000, Local3)
  15274. ShiftLeft (Local1, One, Local1)
  15275. Increment (Local0)
  15276. }
  15277.  
  15278. While (And (SBPS, One))
  15279. {
  15280. Or (SBPS, One, SBPS)
  15281. }
  15282. }
  15283. }
  15284.  
  15285. Scope (\)
  15286. {
  15287. Name (CNTB, Buffer (0x0E)
  15288. {
  15289. /* 0000 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
  15290. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  15291. })
  15292. Name (VISB, Buffer (0x0E)
  15293. {
  15294. /* 0000 */ 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
  15295. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  15296. })
  15297. Name (SHPB, Buffer (0x0E)
  15298. {
  15299. /* 0000 */ 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
  15300. /* 0008 */ 0x07, 0x07, 0x07, 0x07, 0x07, 0x07
  15301. })
  15302. Name (BUPC, Package (0x04)
  15303. {
  15304. 0xFF,
  15305. Zero,
  15306. Zero,
  15307. Zero
  15308. })
  15309. Name (BPLD, Buffer (0x10)
  15310. {
  15311. 0x81, 0x00, 0x31, 0x00
  15312. })
  15313. Name (PLD3, Buffer (0x14)
  15314. {
  15315. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  15316. /* 0008 */ 0x51, 0x1A, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
  15317. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF
  15318. })
  15319. Name (UPC3, Package (0x04)
  15320. {
  15321. 0xFF,
  15322. 0x03,
  15323. Zero,
  15324. Zero
  15325. })
  15326. Method (OUPC, 1, Serialized)
  15327. {
  15328. Store (DerefOf (Index (CNTB, Arg0)), Local0)
  15329. Store (Local0, Index (BUPC, Zero))
  15330. }
  15331.  
  15332. Method (OPLD, 1, Serialized)
  15333. {
  15334. Store (DerefOf (Index (VISB, Arg0)), Local0)
  15335. Store (DerefOf (Index (BPLD, 0x08)), Local1)
  15336. And (Local1, 0xFE, Local1)
  15337. Or (Local1, Local0, Local1)
  15338. Store (Local1, Index (BPLD, 0x08))
  15339. Store (DerefOf (Index (SHPB, Arg0)), Local0)
  15340. Store (DerefOf (Index (BPLD, 0x09)), Local1)
  15341. And (Local1, 0xC3, Local1)
  15342. Or (Local1, Local0, Local1)
  15343. Store (Local1, Index (BPLD, 0x09))
  15344. }
  15345. }
  15346.  
  15347. Scope (_SB)
  15348. {
  15349. Name (XCPD, Zero)
  15350. Name (XNPT, One)
  15351. Name (XCAP, 0x02)
  15352. Name (XDCP, 0x04)
  15353. Name (XDCT, 0x08)
  15354. Name (XDST, 0x0A)
  15355. Name (XLCP, 0x0C)
  15356. Name (XLCT, 0x10)
  15357. Name (XLST, 0x12)
  15358. Name (XSCP, 0x14)
  15359. Name (XSCT, 0x18)
  15360. Name (XSST, 0x1A)
  15361. Name (XRCT, 0x1C)
  15362. Mutex (MUTE, 0x00)
  15363. Method (RBPE, 1, NotSerialized)
  15364. {
  15365. Acquire (MUTE, 0x03E8)
  15366. Add (Arg0, PEBS, Local0)
  15367. OperationRegion (PCFG, SystemMemory, Local0, One)
  15368. Field (PCFG, ByteAcc, NoLock, Preserve)
  15369. {
  15370. XCFG, 8
  15371. }
  15372.  
  15373. Release (MUTE)
  15374. Return (XCFG)
  15375. }
  15376.  
  15377. Method (RWPE, 1, NotSerialized)
  15378. {
  15379. Acquire (MUTE, 0x03E8)
  15380. And (Arg0, 0xFFFFFFFE, Arg0)
  15381. Add (Arg0, PEBS, Local0)
  15382. OperationRegion (PCFG, SystemMemory, Local0, 0x02)
  15383. Field (PCFG, WordAcc, NoLock, Preserve)
  15384. {
  15385. XCFG, 16
  15386. }
  15387.  
  15388. Release (MUTE)
  15389. Return (XCFG)
  15390. }
  15391.  
  15392. Method (RDPE, 1, NotSerialized)
  15393. {
  15394. Acquire (MUTE, 0x03E8)
  15395. And (Arg0, 0xFFFFFFFC, Arg0)
  15396. Add (Arg0, PEBS, Local0)
  15397. OperationRegion (PCFG, SystemMemory, Local0, 0x04)
  15398. Field (PCFG, DWordAcc, NoLock, Preserve)
  15399. {
  15400. XCFG, 32
  15401. }
  15402.  
  15403. Release (MUTE)
  15404. Return (XCFG)
  15405. }
  15406.  
  15407. Method (WBPE, 2, NotSerialized)
  15408. {
  15409. Acquire (MUTE, 0x0FFF)
  15410. Add (Arg0, PEBS, Local0)
  15411. OperationRegion (PCFG, SystemMemory, Local0, One)
  15412. Field (PCFG, ByteAcc, NoLock, Preserve)
  15413. {
  15414. XCFG, 8
  15415. }
  15416.  
  15417. Store (Arg1, XCFG)
  15418. Release (MUTE)
  15419. }
  15420.  
  15421. Method (WWPE, 2, NotSerialized)
  15422. {
  15423. Acquire (MUTE, 0x03E8)
  15424. And (Arg0, 0xFFFFFFFE, Arg0)
  15425. Add (Arg0, PEBS, Local0)
  15426. OperationRegion (PCFG, SystemMemory, Local0, 0x02)
  15427. Field (PCFG, WordAcc, NoLock, Preserve)
  15428. {
  15429. XCFG, 16
  15430. }
  15431.  
  15432. Store (Arg1, XCFG)
  15433. Release (MUTE)
  15434. }
  15435.  
  15436. Method (WDPE, 2, NotSerialized)
  15437. {
  15438. Acquire (MUTE, 0x03E8)
  15439. And (Arg0, 0xFFFFFFFC, Arg0)
  15440. Add (Arg0, PEBS, Local0)
  15441. OperationRegion (PCFG, SystemMemory, Local0, 0x04)
  15442. Field (PCFG, DWordAcc, NoLock, Preserve)
  15443. {
  15444. XCFG, 32
  15445. }
  15446.  
  15447. Store (Arg1, XCFG)
  15448. Release (MUTE)
  15449. }
  15450.  
  15451. Method (RWDP, 3, NotSerialized)
  15452. {
  15453. Acquire (MUTE, 0x03E8)
  15454. And (Arg0, 0xFFFFFFFC, Arg0)
  15455. Add (Arg0, PEBS, Local0)
  15456. OperationRegion (PCFG, SystemMemory, Local0, 0x04)
  15457. Field (PCFG, DWordAcc, NoLock, Preserve)
  15458. {
  15459. XCFG, 32
  15460. }
  15461.  
  15462. And (XCFG, Arg2, Local1)
  15463. Or (Local1, Arg1, XCFG)
  15464. Release (MUTE)
  15465. }
  15466.  
  15467. Method (RPME, 1, NotSerialized)
  15468. {
  15469. Add (Arg0, 0x84, Local0)
  15470. Store (RDPE (Local0), Local1)
  15471. If (LEqual (Local1, 0xFFFFFFFF))
  15472. {
  15473. Return (Zero)
  15474. }
  15475. Else
  15476. {
  15477. If (LAnd (Local1, 0x00010000))
  15478. {
  15479. WDPE (Local0, And (Local1, 0x00010000))
  15480. Return (One)
  15481. }
  15482.  
  15483. Return (Zero)
  15484. }
  15485. }
  15486.  
  15487. Method (BDFR, 4, NotSerialized)
  15488. {
  15489. ShiftLeft (Arg0, 0x14, Arg0)
  15490. ShiftLeft (Arg1, 0x0F, Arg1)
  15491. ShiftLeft (Arg2, 0x0C, Arg2)
  15492. Add (Arg0, Zero, Local0)
  15493. Add (Arg1, Local0, Local0)
  15494. Add (Arg2, Local0, Local0)
  15495. Add (Arg3, Local0, Local0)
  15496. Return (Local0)
  15497. }
  15498. }
  15499.  
  15500. Scope (_SB.PCI0.SBRG)
  15501. {
  15502. Device (ADBG)
  15503. {
  15504. Name (_HID, EisaId ("PNP0C02"))
  15505. Name (_UID, 0x13)
  15506. Name (CRS1, ResourceTemplate ()
  15507. {
  15508. IO (Decode16,
  15509. 0x0240, // Range Minimum
  15510. 0x0240, // Range Maximum
  15511. 0x01, // Alignment
  15512. 0x1A, // Length
  15513. )
  15514. })
  15515. OperationRegion (DBGC, SystemIO, 0x0259, 0x10)
  15516. Field (DBGC, ByteAcc, Lock, Preserve)
  15517. {
  15518. DBGP, 8
  15519. }
  15520.  
  15521. OperationRegion (DBPP, SystemIO, 0x0250, 0x02)
  15522. Field (DBPP, ByteAcc, Lock, Preserve)
  15523. {
  15524. PPDT, 8,
  15525. PPST, 8
  15526. }
  15527.  
  15528. OperationRegion (DB80, SystemIO, 0x80, One)
  15529. Field (DB80, ByteAcc, Lock, Preserve)
  15530. {
  15531. DP80, 8
  15532. }
  15533.  
  15534. Method (_CRS, 0, NotSerialized)
  15535. {
  15536. Return (CRS1)
  15537. }
  15538.  
  15539. Method (CALL, 0, Serialized)
  15540. {
  15541. ISMI (0x96)
  15542. }
  15543.  
  15544. Method (PUTD, 1, Serialized)
  15545. {
  15546. Or (And (Arg0, 0x0F), 0x10, Local0)
  15547. And (ShiftRight (Arg0, 0x04), 0x0F, Local1)
  15548. And (Not (Local1), 0x0F, Local2)
  15549. Store (0x3FFF, Local4)
  15550. Store (Local0, PPDT)
  15551. Store (ShiftRight (XOr (PPST, 0x80), 0x03), Local3)
  15552. While (LAnd (LNotEqual (Local3, 0x10), LNotEqual (Local4, Zero)))
  15553. {
  15554. Store (ShiftRight (XOr (PPST, 0x80), 0x03), Local3)
  15555. Decrement (Local4)
  15556. Stall (0x1E)
  15557. }
  15558.  
  15559. If (LEqual (Local4, Zero))
  15560. {
  15561. Store (Zero, PPDT)
  15562. Return (Zero)
  15563. }
  15564.  
  15565. Store (0x3FFF, Local4)
  15566. Store (Local1, PPDT)
  15567. Store (ShiftRight (XOr (PPST, 0x80), 0x03), Local3)
  15568. While (LAnd (LNotEqual (Local3, Zero), LNotEqual (Local4, Zero)))
  15569. {
  15570. Store (ShiftRight (XOr (PPST, 0x80), 0x03), Local3)
  15571. Decrement (Local4)
  15572. Stall (0x1E)
  15573. }
  15574.  
  15575. If (LEqual (Local4, Zero))
  15576. {
  15577. Store (Zero, PPDT)
  15578. Return (Zero)
  15579. }
  15580.  
  15581. Store (Local2, PPDT)
  15582. Return (One)
  15583. }
  15584.  
  15585. Method (OUTS, 1, Serialized)
  15586. {
  15587. If (LNotEqual (DBGP, 0xFF))
  15588. {
  15589. Add (SizeOf (Arg0), One, Local0)
  15590. Store (Zero, Local1)
  15591. Name (BUFF, Buffer (Local0) {})
  15592. Store (Arg0, BUFF)
  15593. Subtract (Local0, One, Local0)
  15594. If (LEqual (PUTD (0x53), Zero))
  15595. {
  15596. Return (Zero)
  15597. }
  15598.  
  15599. While (LNotEqual (DerefOf (Index (BUFF, Local1)), Zero))
  15600. {
  15601. If (LEqual (PUTD (DerefOf (Index (BUFF, Local1))), Zero))
  15602. {
  15603. PUTD (Zero)
  15604. Return (Zero)
  15605. }
  15606.  
  15607. Increment (Local1)
  15608. }
  15609.  
  15610. PUTD (Zero)
  15611. Return (One)
  15612. }
  15613. Else
  15614. {
  15615. Return (Zero)
  15616. }
  15617. }
  15618.  
  15619. Method (OUTD, 1, Serialized)
  15620. {
  15621. Name (DEC, Buffer (0x0B)
  15622. {
  15623. "0123456789"
  15624. })
  15625. Name (TMP, Buffer (0x0B) {})
  15626. Store (Zero, Local0)
  15627. Store (Arg0, Local1)
  15628. If (LEqual (Local1, Zero))
  15629. {
  15630. OUTS ("0")
  15631. }
  15632. Else
  15633. {
  15634. While (LGreater (Local1, Zero))
  15635. {
  15636. Divide (Local1, 0x0A, Local2, Local1)
  15637. Store (DerefOf (Index (DEC, Local2)), Index (TMP, Local0))
  15638. Increment (Local0)
  15639. Store (Zero, Index (TMP, Local0))
  15640. }
  15641.  
  15642. Store (Zero, Local2)
  15643. Decrement (Local0)
  15644. While (LLess (Local2, Local0))
  15645. {
  15646. Store (DerefOf (Index (TMP, Local2)), Local3)
  15647. Store (DerefOf (Index (TMP, Local0)), Index (TMP, Local2))
  15648. Store (Local3, Index (TMP, Local0))
  15649. Increment (Local2)
  15650. Decrement (Local0)
  15651. }
  15652.  
  15653. OUTS (TMP)
  15654. }
  15655. }
  15656.  
  15657. Method (OUTH, 1, Serialized)
  15658. {
  15659. Name (HEX, Buffer (0x11)
  15660. {
  15661. "0123456789ABCDEF"
  15662. })
  15663. Name (TMP, Buffer (0x0A) {})
  15664. Store (Zero, Local0)
  15665. Store (Arg0, Local1)
  15666. While (LLess (Local0, 0x08))
  15667. {
  15668. And (Local1, 0x0F, Local2)
  15669. Store (DerefOf (Index (HEX, Local2)), Index (TMP, Local0))
  15670. ShiftRight (Local1, 0x04, Local1)
  15671. Increment (Local0)
  15672. Store (Zero, Index (TMP, Local0))
  15673. }
  15674.  
  15675. Store (Zero, Local2)
  15676. Decrement (Local0)
  15677. While (LLess (Local2, Local0))
  15678. {
  15679. Store (DerefOf (Index (TMP, Local2)), Local3)
  15680. Store (DerefOf (Index (TMP, Local0)), Index (TMP, Local2))
  15681. Store (Local3, Index (TMP, Local0))
  15682. Increment (Local2)
  15683. Decrement (Local0)
  15684. }
  15685.  
  15686. OUTS (TMP)
  15687. }
  15688.  
  15689. OperationRegion (SIO1, SystemIO, 0x0240, 0x08)
  15690. Field (SIO1, ByteAcc, NoLock, Preserve)
  15691. {
  15692. SOUT, 8,
  15693. Offset (0x05),
  15694. SSAT, 8
  15695. }
  15696.  
  15697. Method (THRE, 0, NotSerialized)
  15698. {
  15699. And (SSAT, 0x20, Local0)
  15700. While (LEqual (Local0, Zero))
  15701. {
  15702. And (SSAT, 0x20, Local0)
  15703. }
  15704. }
  15705.  
  15706. Method (OUTX, 1, NotSerialized)
  15707. {
  15708. THRE ()
  15709. Store (Arg0, SOUT)
  15710. }
  15711.  
  15712. Method (OUTC, 1, NotSerialized)
  15713. {
  15714. If (LEqual (Arg0, 0x0A))
  15715. {
  15716. OUTX (0x0D)
  15717. }
  15718.  
  15719. OUTX (Arg0)
  15720. }
  15721.  
  15722. Method (DBGN, 1, NotSerialized)
  15723. {
  15724. And (Arg0, 0x0F, Local0)
  15725. If (LLess (Local0, 0x0A))
  15726. {
  15727. Add (Local0, 0x30, Local0)
  15728. }
  15729. Else
  15730. {
  15731. Add (Local0, 0x37, Local0)
  15732. }
  15733.  
  15734. OUTC (Local0)
  15735. }
  15736.  
  15737. Method (DBGB, 1, NotSerialized)
  15738. {
  15739. ShiftRight (Arg0, 0x04, Local0)
  15740. DBGN (Local0)
  15741. DBGN (Arg0)
  15742. }
  15743.  
  15744. Method (DBGW, 1, NotSerialized)
  15745. {
  15746. ShiftRight (Arg0, 0x08, Local0)
  15747. DBGB (Local0)
  15748. DBGB (Arg0)
  15749. }
  15750.  
  15751. Method (DBGD, 1, NotSerialized)
  15752. {
  15753. ShiftRight (Arg0, 0x10, Local0)
  15754. DBGW (Local0)
  15755. DBGW (Arg0)
  15756. }
  15757.  
  15758. Method (DBGQ, 1, NotSerialized)
  15759. {
  15760. ShiftRight (Arg0, 0x30, Local0)
  15761. DBGW (Local0)
  15762. ShiftRight (Arg0, 0x20, Local0)
  15763. DBGW (Local0)
  15764. ShiftRight (Arg0, 0x10, Local0)
  15765. DBGW (Local0)
  15766. DBGW (Arg0)
  15767. }
  15768.  
  15769. Name (DBGZ, Buffer (0x50) {})
  15770. Method (GETC, 2, NotSerialized)
  15771. {
  15772. CreateByteField (Arg0, Arg1, DBGC)
  15773. Return (DBGC)
  15774. }
  15775.  
  15776. Method (MNIO, 1, NotSerialized)
  15777. {
  15778. If (LEqual (ObjectType (Arg0), One))
  15779. {
  15780. If (LGreater (Arg0, 0xFFFFFFFF))
  15781. {
  15782. DBGQ (Arg0)
  15783. }
  15784. Else
  15785. {
  15786. If (LGreater (Arg0, 0xFFFF))
  15787. {
  15788. DBGD (Arg0)
  15789. }
  15790. Else
  15791. {
  15792. If (LGreater (Arg0, 0xFF))
  15793. {
  15794. DBGW (Arg0)
  15795. }
  15796. Else
  15797. {
  15798. DBGB (Arg0)
  15799. }
  15800. }
  15801. }
  15802.  
  15803. Return (Zero)
  15804. }
  15805.  
  15806. If (LEqual (ObjectType (Arg0), 0x02))
  15807. {
  15808. Store (Arg0, DBGZ)
  15809. Store (Zero, Local1)
  15810. While (One)
  15811. {
  15812. Store (GETC (DBGZ, Local1), Local0)
  15813. If (LEqual (Local0, Zero))
  15814. {
  15815. Return (Zero)
  15816. }
  15817.  
  15818. OUTC (Local0)
  15819. Increment (Local1)
  15820. }
  15821.  
  15822. Return (Zero)
  15823. }
  15824.  
  15825. If (LEqual (ObjectType (Arg0), 0x03))
  15826. {
  15827. Store (Zero, Local0)
  15828. While (LLess (Local0, SizeOf (Arg0)))
  15829. {
  15830. Store (GETC (Arg0, Local0), Local1)
  15831. If (LGreater (Local0, Zero))
  15832. {
  15833. OUTC (0x20)
  15834. }
  15835.  
  15836. DBGB (Local1)
  15837. Increment (Local0)
  15838. }
  15839.  
  15840. Return (Zero)
  15841. }
  15842.  
  15843. If (LEqual (ObjectType (Arg0), 0x04))
  15844. {
  15845. Store (Zero, Local0)
  15846. While (LLess (Local0, SizeOf (Arg0)))
  15847. {
  15848. OUTC (0x20)
  15849. OUTC (0x20)
  15850. MNIO (DerefOf (Index (Arg0, Local0)))
  15851. OUTC (0x0A)
  15852. Increment (Local0)
  15853. }
  15854.  
  15855. Return (Zero)
  15856. }
  15857.  
  15858. Return (One)
  15859. }
  15860. }
  15861. }
  15862.  
  15863. Scope (\)
  15864. {
  15865. Method (MNIO, 1, NotSerialized)
  15866. {
  15867. \_SB.PCI0.SBRG.ADBG.MNIO (Arg0)
  15868. }
  15869. }
  15870.  
  15871. Scope (_SB.PCI0.SBRG.EC0)
  15872. {
  15873. OperationRegion (ECID, SystemIO, 0x0257, One)
  15874. Field (ECID, ByteAcc, NoLock, Preserve)
  15875. {
  15876. EC4D, 8
  15877. }
  15878.  
  15879. OperationRegion (ECIC, SystemIO, 0x0258, One)
  15880. Field (ECIC, ByteAcc, NoLock, Preserve)
  15881. {
  15882. EC4C, 8
  15883. }
  15884.  
  15885. OperationRegion (ECAD, SystemMemory, GNBF, 0x10)
  15886. Field (ECAD, DWordAcc, NoLock, Preserve)
  15887. {
  15888. MFUN, 16,
  15889. SFUN, 16,
  15890. LEN, 16,
  15891. STAS, 8,
  15892. EROR, 8,
  15893. CMD, 8,
  15894. EDA1, 8,
  15895. EDA2, 8,
  15896. EDA3, 8,
  15897. EDA4, 8,
  15898. EDA5, 8,
  15899. Offset (0x10)
  15900. }
  15901.  
  15902. Method (WEIE, 0, Serialized)
  15903. {
  15904. Store (One, EDA1)
  15905. ECAC ()
  15906. If (LEqual (EDA1, 0xFF))
  15907. {
  15908. Return (Ones)
  15909. }
  15910.  
  15911. Return (Zero)
  15912. }
  15913.  
  15914. Method (WEOF, 0, Serialized)
  15915. {
  15916. Store (0x02, EDA1)
  15917. ECAC ()
  15918. If (LEqual (EDA1, 0xFF))
  15919. {
  15920. Return (Ones)
  15921. }
  15922.  
  15923. Return (Zero)
  15924. }
  15925.  
  15926. Method (WEOE, 0, NotSerialized)
  15927. {
  15928. Store (0x03, EDA1)
  15929. ECAC ()
  15930. If (LEqual (EDA1, 0xFF))
  15931. {
  15932. Return (Ones)
  15933. }
  15934.  
  15935. Return (Zero)
  15936. }
  15937.  
  15938. Method (ST83, 1, Serialized)
  15939. {
  15940. If (ECAV ())
  15941. {
  15942. Acquire (MU4T, 0xFFFF)
  15943. Store (0xFF, CMD)
  15944. Store (0x83, EDA1)
  15945. Store (Arg0, EDA2)
  15946. ECAC ()
  15947. Release (MU4T)
  15948. Return (EDA1)
  15949. }
  15950.  
  15951. Return (Ones)
  15952. }
  15953.  
  15954. Method (ST84, 2, Serialized)
  15955. {
  15956. If (ECAV ())
  15957. {
  15958. Acquire (MU4T, 0xFFFF)
  15959. Store (0xFF, CMD)
  15960. Store (0x84, EDA1)
  15961. Store (Arg0, EDA2)
  15962. Store (Arg1, EDA3)
  15963. ECAC ()
  15964. Release (MU4T)
  15965. Return (Zero)
  15966. }
  15967.  
  15968. Return (Ones)
  15969. }
  15970.  
  15971. Method (ST85, 1, Serialized)
  15972. {
  15973. If (ECAV ())
  15974. {
  15975. Acquire (MU4T, 0xFFFF)
  15976. Store (0xFF, CMD)
  15977. Store (0x85, EDA1)
  15978. Store (Arg0, EDA2)
  15979. ECAC ()
  15980. Release (MU4T)
  15981. Return (EDA1)
  15982. }
  15983.  
  15984. Return (Ones)
  15985. }
  15986.  
  15987. Method (ST86, 2, Serialized)
  15988. {
  15989. If (ECAV ())
  15990. {
  15991. Acquire (MU4T, 0xFFFF)
  15992. Store (0xFF, CMD)
  15993. Store (0x86, EDA1)
  15994. Store (Arg0, EDA2)
  15995. Store (Arg1, EDA3)
  15996. ECAC ()
  15997. Release (MU4T)
  15998. Return (Zero)
  15999. }
  16000.  
  16001. Return (Ones)
  16002. }
  16003.  
  16004. Method (ST87, 2, Serialized)
  16005. {
  16006. If (ECAV ())
  16007. {
  16008. Acquire (MU4T, 0xFFFF)
  16009. Store (0xFF, CMD)
  16010. Store (0x87, EDA1)
  16011. Store (Arg0, EDA2)
  16012. Store (Arg1, EDA3)
  16013. ECAC ()
  16014. Release (MU4T)
  16015. If (LEqual (Arg0, Zero))
  16016. {
  16017. Return (EDA1)
  16018. }
  16019.  
  16020. Return (Zero)
  16021. }
  16022.  
  16023. Return (Ones)
  16024. }
  16025.  
  16026. Method (ST8E, 2, Serialized)
  16027. {
  16028. If (ECAV ())
  16029. {
  16030. Acquire (MU4T, 0xFFFF)
  16031. Store (0xFF, CMD)
  16032. Store (0x8E, EDA1)
  16033. Store (Arg0, EDA2)
  16034. Store (Arg1, EDA3)
  16035. ECAC ()
  16036. Release (MU4T)
  16037. Return (EDA1)
  16038. }
  16039.  
  16040. Return (Ones)
  16041. }
  16042.  
  16043. Method (ST95, 2, Serialized)
  16044. {
  16045. If (ECAV ())
  16046. {
  16047. Acquire (MU4T, 0xFFFF)
  16048. Store (0xFF, CMD)
  16049. Store (0x95, EDA1)
  16050. Store (Arg0, EDA2)
  16051. Store (Arg1, EDA3)
  16052. ECAC ()
  16053. Release (MU4T)
  16054. If (LEqual (Arg0, Zero))
  16055. {
  16056. Return (EDA1)
  16057. }
  16058.  
  16059. Return (Zero)
  16060. }
  16061.  
  16062. Return (Ones)
  16063. }
  16064.  
  16065. Method (ST98, 1, Serialized)
  16066. {
  16067. If (ECAV ())
  16068. {
  16069. Acquire (MU4T, 0xFFFF)
  16070. Store (0xFF, CMD)
  16071. Store (0x98, EDA1)
  16072. Store (Arg0, EDA2)
  16073. ECAC ()
  16074. Release (MU4T)
  16075. Return (Zero)
  16076. }
  16077.  
  16078. Return (Ones)
  16079. }
  16080.  
  16081. Method (ST9E, 3, Serialized)
  16082. {
  16083. If (ECAV ())
  16084. {
  16085. Acquire (MU4T, 0xFFFF)
  16086. Store (0xFF, CMD)
  16087. Store (0x9E, EDA1)
  16088. Store (Arg0, EDA2)
  16089. Store (Arg1, EDA3)
  16090. Store (Arg2, EDA4)
  16091. ECAC ()
  16092. Release (MU4T)
  16093. Return (Zero)
  16094. }
  16095.  
  16096. Return (Ones)
  16097. }
  16098.  
  16099. Method (STA8, 1, Serialized)
  16100. {
  16101. If (ECAV ())
  16102. {
  16103. Acquire (MU4T, 0xFFFF)
  16104. Store (0xFF, CMD)
  16105. Store (0xA8, EDA1)
  16106. Store (Arg0, EDA2)
  16107. ECAC ()
  16108. Release (MU4T)
  16109. Return (EDA1)
  16110. }
  16111.  
  16112. Return (Ones)
  16113. }
  16114.  
  16115. Method (ST9F, 3, Serialized)
  16116. {
  16117. If (ECAV ())
  16118. {
  16119. Acquire (MU4T, 0xFFFF)
  16120. Store (0xFF, CMD)
  16121. Store (0x9F, EDA1)
  16122. Store (Arg0, EDA2)
  16123. Store (Arg1, EDA3)
  16124. Store (Arg2, EDA4)
  16125. ECAC ()
  16126. Release (MU4T)
  16127. Return (Zero)
  16128. }
  16129.  
  16130. Return (Ones)
  16131. }
  16132.  
  16133. Method (STA9, 2, Serialized)
  16134. {
  16135. If (ECAV ())
  16136. {
  16137. Acquire (MU4T, 0xFFFF)
  16138. Store (0xFF, CMD)
  16139. Store (0xA9, EDA1)
  16140. Store (Arg0, EDA2)
  16141. Store (Arg1, EDA3)
  16142. ECAC ()
  16143. Release (MU4T)
  16144. Return (Zero)
  16145. }
  16146.  
  16147. Return (Ones)
  16148. }
  16149.  
  16150. Method (STB0, 1, Serialized)
  16151. {
  16152. If (ECAV ())
  16153. {
  16154. Acquire (MU4T, 0xFFFF)
  16155. If (LNotEqual (WEOE (), Zero))
  16156. {
  16157. Release (MU4T)
  16158. Return (Ones)
  16159. }
  16160.  
  16161. If (LNotEqual (WEIE (), Zero))
  16162. {
  16163. Release (MU4T)
  16164. Return (Ones)
  16165. }
  16166.  
  16167. Store (0xB0, EC4C)
  16168. If (LNotEqual (WEIE (), Zero))
  16169. {
  16170. Release (MU4T)
  16171. Return (Ones)
  16172. }
  16173.  
  16174. Store (Arg0, EC4D)
  16175. If (LNotEqual (WEIE (), Zero))
  16176. {
  16177. Release (MU4T)
  16178. Return (Ones)
  16179. }
  16180.  
  16181. Release (MU4T)
  16182. Return (Zero)
  16183. }
  16184.  
  16185. Return (Ones)
  16186. }
  16187.  
  16188. Method (STB1, 1, Serialized)
  16189. {
  16190. If (ECAV ())
  16191. {
  16192. Acquire (MU4T, 0xFFFF)
  16193. If (LNotEqual (WEOE (), Zero))
  16194. {
  16195. Release (MU4T)
  16196. Return (Ones)
  16197. }
  16198.  
  16199. If (LNotEqual (WEIE (), Zero))
  16200. {
  16201. Release (MU4T)
  16202. Return (Ones)
  16203. }
  16204.  
  16205. Store (0xB1, EC4C)
  16206. If (LNotEqual (WEIE (), Zero))
  16207. {
  16208. Release (MU4T)
  16209. Return (Ones)
  16210. }
  16211.  
  16212. Store (Arg0, EC4D)
  16213. If (LNotEqual (WEIE (), Zero))
  16214. {
  16215. Release (MU4T)
  16216. Return (Ones)
  16217. }
  16218.  
  16219. Release (MU4T)
  16220. Return (Zero)
  16221. }
  16222.  
  16223. Return (Ones)
  16224. }
  16225.  
  16226. Method (STB2, 1, Serialized)
  16227. {
  16228. If (ECAV ())
  16229. {
  16230. Acquire (MU4T, 0xFFFF)
  16231. If (LNotEqual (WEOE (), Zero))
  16232. {
  16233. Release (MU4T)
  16234. Return (Ones)
  16235. }
  16236.  
  16237. If (LNotEqual (WEIE (), Zero))
  16238. {
  16239. Release (MU4T)
  16240. Return (Ones)
  16241. }
  16242.  
  16243. Store (0xB2, EC4C)
  16244. If (LNotEqual (WEIE (), Zero))
  16245. {
  16246. Release (MU4T)
  16247. Return (Ones)
  16248. }
  16249.  
  16250. Store (Arg0, EC4D)
  16251. If (LNotEqual (WEIE (), Zero))
  16252. {
  16253. Release (MU4T)
  16254. Return (Ones)
  16255. }
  16256.  
  16257. Release (MU4T)
  16258. Return (Zero)
  16259. }
  16260.  
  16261. Return (Ones)
  16262. }
  16263.  
  16264. Method (GBTT, 1, Serialized)
  16265. {
  16266. If (LEqual (Arg0, Zero))
  16267. {
  16268. Store (EB0T, Local0)
  16269. }
  16270. Else
  16271. {
  16272. Store (EB1T, Local0)
  16273. }
  16274.  
  16275. Return (Local0)
  16276. }
  16277.  
  16278. Method (WCMD, 1, Serialized)
  16279. {
  16280. If (ECAV ())
  16281. {
  16282. Acquire (MUEC, 0xFFFF)
  16283. Store (Arg0, CMD1)
  16284. Release (MUEC)
  16285. }
  16286. }
  16287.  
  16288. Method (DLY0, 1, Serialized)
  16289. {
  16290. If (LNot (ECAV ()))
  16291. {
  16292. Return (Ones)
  16293. }
  16294.  
  16295. Store (Ones, Local0)
  16296. Acquire (MUEC, 0xFFFF)
  16297. Store (Arg0, CDT1)
  16298. Store (0x6B, CDT2)
  16299. Store (Zero, CDT3)
  16300. Store (0xBB, CMD1)
  16301. Store (0x7F, Local1)
  16302. While (LAnd (Local1, CMD1))
  16303. {
  16304. Sleep (One)
  16305. Decrement (Local1)
  16306. }
  16307.  
  16308. If (LEqual (CMD1, Zero))
  16309. {
  16310. Store (CDT1, Local0)
  16311. }
  16312.  
  16313. Release (MUEC)
  16314. Return (Local0)
  16315. }
  16316.  
  16317. Method (RRAM, 1, Serialized)
  16318. {
  16319. If (ECAV ())
  16320. {
  16321. Acquire (MU4T, 0xFFFF)
  16322. Store (Arg0, Local0)
  16323. And (Local0, 0xFF, Local1)
  16324. ShiftRight (Local0, 0x08, Local0)
  16325. And (Local0, 0xFF, Local0)
  16326. Store (0xFF, CMD)
  16327. Store (0x80, EDA1)
  16328. Store (Local0, EDA2)
  16329. Store (Local1, EDA3)
  16330. ECAC ()
  16331. Release (MU4T)
  16332. Return (EDA1)
  16333. }
  16334.  
  16335. Return (Ones)
  16336. }
  16337.  
  16338. Method (WRAM, 2, Serialized)
  16339. {
  16340. If (ECAV ())
  16341. {
  16342. Acquire (MU4T, 0xFFFF)
  16343. Store (Arg0, Local0)
  16344. And (Local0, 0xFF, Local1)
  16345. ShiftRight (Local0, 0x08, Local0)
  16346. And (Local0, 0xFF, Local0)
  16347. Store (0xFF, CMD)
  16348. Store (0x81, EDA1)
  16349. Store (Local0, EDA2)
  16350. Store (Local1, EDA3)
  16351. Store (Arg1, EDA4)
  16352. ECAC ()
  16353. Release (MU4T)
  16354. Return (One)
  16355. }
  16356.  
  16357. Return (Ones)
  16358. }
  16359.  
  16360. Method (STBR, 0, Serialized)
  16361. {
  16362. Store (Zero, Local0)
  16363. Store (Zero, Local1)
  16364. Store (Zero, Local2)
  16365. If (And (VGAF, One))
  16366. {
  16367. Store (One, Local0)
  16368. }
  16369.  
  16370. If (Local0)
  16371. {
  16372. Store (One, Local2)
  16373. }
  16374.  
  16375. If (Local1)
  16376. {
  16377. ISMI (0x9A)
  16378. }
  16379. Else
  16380. {
  16381. If (LEqual (Local2, One))
  16382. {
  16383. If (LNotEqual (MSOS (), OSEG))
  16384. {
  16385. If (LLess (MSOS (), OSW8))
  16386. {
  16387. Store (BRTI, Local4)
  16388. ShiftLeft (Local4, 0x04, Local4)
  16389. Store (LBTN, Local3)
  16390. Store (Add (Local4, Local3), Local3)
  16391. ^^^GFX0.AINT (One, Divide (Multiply (DerefOf (Index (PWAC, Local3)), 0x64
  16392. ), 0xFF, ))
  16393. }
  16394. }
  16395. Else
  16396. {
  16397. ISMI (0x9A)
  16398. }
  16399. }
  16400. Else
  16401. {
  16402. If (LEqual (Local2, Zero))
  16403. {
  16404. ECCB ()
  16405. }
  16406. Else
  16407. {
  16408. If (LEqual (Local2, 0x02))
  16409. {
  16410. ISMI (0x9A)
  16411. }
  16412. Else
  16413. {
  16414. }
  16415. }
  16416. }
  16417. }
  16418. }
  16419.  
  16420. Method (ECCB, 0, Serialized)
  16421. {
  16422. If (LOr (ACAP (), LEqual (MSOS (), OSVT)))
  16423. {
  16424. Store (LBTN, Local0)
  16425. }
  16426. Else
  16427. {
  16428. Store (LBTN, Local0)
  16429. }
  16430.  
  16431. Store (BRTI, Local1)
  16432. ShiftLeft (Local1, 0x04, Local1)
  16433. Add (Local0, Local1, Local1)
  16434. Store (DerefOf (Index (PWAC, Local1)), Local0)
  16435. SADC (Local0)
  16436. }
  16437.  
  16438. Method (SBRV, 1, Serialized)
  16439. {
  16440. ST86 (Zero, Arg0)
  16441. }
  16442.  
  16443. Name (DECF, Zero)
  16444. Method (SFNV, 2, Serialized)
  16445. {
  16446. If (LEqual (Arg0, Zero))
  16447. {
  16448. If (And (DECF, One))
  16449. {
  16450. Store (RRAM (0x0521), Local0)
  16451. Or (Local0, 0x80, Local0)
  16452. WRAM (0x0521, Local0)
  16453. }
  16454.  
  16455. If (And (DECF, 0x02))
  16456. {
  16457. Store (RRAM (0x0522), Local0)
  16458. Or (Local0, 0x80, Local0)
  16459. WRAM (0x0522, Local0)
  16460. }
  16461.  
  16462. Store (Zero, DECF)
  16463. Return (Zero)
  16464. }
  16465.  
  16466. If (LEqual (Arg0, One))
  16467. {
  16468. Store (RRAM (0x0521), Local0)
  16469. And (Local0, 0x7F, Local0)
  16470. WRAM (0x0521, Local0)
  16471. Or (DECF, One, DECF)
  16472. ST84 (Zero, Arg1)
  16473. Return (Zero)
  16474. }
  16475.  
  16476. If (LEqual (Arg0, 0x02))
  16477. {
  16478. Store (RRAM (0x0522), Local0)
  16479. And (Local0, 0x7F, Local0)
  16480. WRAM (0x0522, Local0)
  16481. Or (DECF, 0x02, DECF)
  16482. ST84 (One, Arg1)
  16483. Return (Zero)
  16484. }
  16485.  
  16486. Return (Zero)
  16487. }
  16488.  
  16489. Method (SADC, 1, Serialized)
  16490. {
  16491. Return (ST86 (Zero, Arg0))
  16492. }
  16493.  
  16494. Method (SPIN, 2, Serialized)
  16495. {
  16496. If (Arg1)
  16497. {
  16498. ST87 (0x20, Arg0)
  16499. }
  16500. Else
  16501. {
  16502. ST87 (0x40, Arg0)
  16503. }
  16504.  
  16505. Return (One)
  16506. }
  16507.  
  16508. Method (RPIN, 1, Serialized)
  16509. {
  16510. Store (ST87 (Zero, Arg0), Local1)
  16511. Return (Local1)
  16512. }
  16513.  
  16514. Method (RBAT, 2, Serialized)
  16515. {
  16516. If (LNot (ECAV ()))
  16517. {
  16518. Return (Ones)
  16519. }
  16520.  
  16521. Acquire (MUEC, 0xFFFF)
  16522. Store (0x03, Local0)
  16523. While (Local0)
  16524. {
  16525. Store (Arg0, CDT2)
  16526. Store (Arg1, Local1)
  16527. ShiftLeft (Local1, One, Local1)
  16528. Add (Local1, 0xDA, Local1)
  16529. Store (Local1, CMD1)
  16530. Store (0x7F, Local1)
  16531. While (LAnd (CMD1, Local1))
  16532. {
  16533. Decrement (Local1)
  16534. Sleep (One)
  16535. }
  16536.  
  16537. If (LEqual (CMD1, Zero))
  16538. {
  16539. Store (CDT1, Local1)
  16540. Store (Zero, Local0)
  16541. }
  16542. Else
  16543. {
  16544. Store (Ones, Local1)
  16545. Decrement (Local0)
  16546. }
  16547. }
  16548.  
  16549. Release (MUEC)
  16550. Return (Local1)
  16551. Return (Ones)
  16552. }
  16553.  
  16554. Method (WBAT, 3, Serialized)
  16555. {
  16556. Or (Arg0, 0x80, Local3)
  16557. If (LNot (ECAV ()))
  16558. {
  16559. Return (Ones)
  16560. }
  16561.  
  16562. Acquire (MUEC, 0xFFFF)
  16563. Store (0x03, Local0)
  16564. While (Local0)
  16565. {
  16566. Store (Arg2, CDT1)
  16567. Store (Local3, CDT2)
  16568. Store (Arg1, Local1)
  16569. ShiftLeft (Local1, One, Local1)
  16570. Add (Local1, 0xDA, Local1)
  16571. Store (Local1, CMD1)
  16572. Store (0x7F, Local1)
  16573. While (LAnd (CMD1, Local1))
  16574. {
  16575. Decrement (Local1)
  16576. Sleep (One)
  16577. }
  16578. }
  16579.  
  16580. Release (MUEC)
  16581. Return (Local1)
  16582. Return (Ones)
  16583. }
  16584.  
  16585. Method (FNCT, 2, Serialized)
  16586. {
  16587. If (ECAV ())
  16588. {
  16589. Acquire (MUEC, 0xFFFF)
  16590. Store (Arg0, CDT2)
  16591. Store (Arg1, CDT1)
  16592. Store (0xC4, CMD1)
  16593. Store (0x7F, Local0)
  16594. While (LAnd (Local0, CMD1))
  16595. {
  16596. Sleep (One)
  16597. Decrement (Local0)
  16598. }
  16599.  
  16600. Release (MUEC)
  16601. }
  16602. }
  16603.  
  16604. Name (WRQK, 0x02)
  16605. Name (RDQK, 0x03)
  16606. Name (SDBT, 0x04)
  16607. Name (RCBT, 0x05)
  16608. Name (WRBT, 0x06)
  16609. Name (RDBT, 0x07)
  16610. Name (WRWD, 0x08)
  16611. Name (RDWD, 0x09)
  16612. Name (WRBL, 0x0A)
  16613. Name (RDBL, 0x0B)
  16614. Name (PCLL, 0x0C)
  16615. Name (GOOD, Zero)
  16616. Name (UKER, 0x07)
  16617. Name (DAER, 0x10)
  16618. Name (CMDN, 0x12)
  16619. Name (UKE2, 0x13)
  16620. Name (DADN, 0x17)
  16621. Name (SBTO, 0x18)
  16622. Name (USPT, 0x19)
  16623. Name (SBBY, 0x1A)
  16624. Method (SWTC, 1, Serialized)
  16625. {
  16626. Store (UKER, Local0)
  16627. Store (0x03, Local1)
  16628. While (LAnd (Local0, Local1))
  16629. {
  16630. Store (0x23, Local2)
  16631. While (Local2)
  16632. {
  16633. If (PRTC)
  16634. {
  16635. Sleep (One)
  16636. Decrement (Local2)
  16637. }
  16638. Else
  16639. {
  16640. Store (Zero, Local2)
  16641. Store (SSTS, Local0)
  16642. }
  16643. }
  16644.  
  16645. If (Local0)
  16646. {
  16647. Store (Zero, PRTC)
  16648. Decrement (Local1)
  16649. If (Local1)
  16650. {
  16651. Sleep (One)
  16652. Store (Arg0, PRTC)
  16653. }
  16654. }
  16655. }
  16656.  
  16657. Return (Local0)
  16658. }
  16659.  
  16660. Method (SMBR, 3, Serialized)
  16661. {
  16662. Store (Package (0x03)
  16663. {
  16664. 0x07,
  16665. Zero,
  16666. Zero
  16667. }, Local0)
  16668. If (LNot (ECAV ()))
  16669. {
  16670. Return (Local0)
  16671. }
  16672.  
  16673. If (LNotEqual (Arg0, RDBL))
  16674. {
  16675. If (LNotEqual (Arg0, RDWD))
  16676. {
  16677. If (LNotEqual (Arg0, RDBT))
  16678. {
  16679. If (LNotEqual (Arg0, RCBT))
  16680. {
  16681. If (LNotEqual (Arg0, RDQK))
  16682. {
  16683. Return (Local0)
  16684. }
  16685. }
  16686. }
  16687. }
  16688. }
  16689.  
  16690. Acquire (MUEC, 0xFFFF)
  16691. Store (PRTC, Local1)
  16692. Store (Zero, Local2)
  16693. While (LNotEqual (Local1, Zero))
  16694. {
  16695. Stall (0x0A)
  16696. Increment (Local2)
  16697. If (LGreater (Local2, 0x03E8))
  16698. {
  16699. Store (SBBY, Index (Local0, Zero))
  16700. Store (Zero, Local1)
  16701. }
  16702. Else
  16703. {
  16704. Store (PRTC, Local1)
  16705. }
  16706. }
  16707.  
  16708. If (LLessEqual (Local2, 0x03E8))
  16709. {
  16710. ShiftLeft (Arg1, One, Local3)
  16711. Or (Local3, One, Local3)
  16712. Store (Local3, ADDR)
  16713. If (LNotEqual (Arg0, RDQK))
  16714. {
  16715. If (LNotEqual (Arg0, RCBT))
  16716. {
  16717. Store (Arg2, CMDB)
  16718. }
  16719. }
  16720.  
  16721. Store (Zero, BDAT)
  16722. Store (Arg0, PRTC)
  16723. Store (SWTC (Arg0), Index (Local0, Zero))
  16724. If (LEqual (DerefOf (Index (Local0, Zero)), Zero))
  16725. {
  16726. If (LEqual (Arg0, RDBL))
  16727. {
  16728. Store (BCNT, Index (Local0, One))
  16729. Store (BDAT, Index (Local0, 0x02))
  16730. }
  16731.  
  16732. If (LEqual (Arg0, RDWD))
  16733. {
  16734. Store (0x02, Index (Local0, One))
  16735. Store (DT2B, Index (Local0, 0x02))
  16736. }
  16737.  
  16738. If (LEqual (Arg0, RDBT))
  16739. {
  16740. Store (One, Index (Local0, One))
  16741. Store (DAT0, Index (Local0, 0x02))
  16742. }
  16743.  
  16744. If (LEqual (Arg0, RCBT))
  16745. {
  16746. Store (One, Index (Local0, One))
  16747. Store (DAT0, Index (Local0, 0x02))
  16748. }
  16749. }
  16750. }
  16751.  
  16752. Release (MUEC)
  16753. Return (Local0)
  16754. }
  16755.  
  16756. Method (SMBW, 5, Serialized)
  16757. {
  16758. Store (Package (0x01)
  16759. {
  16760. 0x07
  16761. }, Local0)
  16762. If (LNot (ECAV ()))
  16763. {
  16764. Return (Local0)
  16765. }
  16766.  
  16767. If (LNotEqual (Arg0, WRBL))
  16768. {
  16769. If (LNotEqual (Arg0, WRWD))
  16770. {
  16771. If (LNotEqual (Arg0, WRBT))
  16772. {
  16773. If (LNotEqual (Arg0, SDBT))
  16774. {
  16775. If (LNotEqual (Arg0, WRQK))
  16776. {
  16777. Return (Local0)
  16778. }
  16779. }
  16780. }
  16781. }
  16782. }
  16783.  
  16784. Acquire (MUEC, 0xFFFF)
  16785. Store (PRTC, Local1)
  16786. Store (Zero, Local2)
  16787. While (LNotEqual (Local1, Zero))
  16788. {
  16789. Stall (0x0A)
  16790. Increment (Local2)
  16791. If (LGreater (Local2, 0x03E8))
  16792. {
  16793. Store (SBBY, Index (Local0, Zero))
  16794. Store (Zero, Local1)
  16795. }
  16796. Else
  16797. {
  16798. Store (PRTC, Local1)
  16799. }
  16800. }
  16801.  
  16802. If (LLessEqual (Local2, 0x03E8))
  16803. {
  16804. Store (Zero, BDAT)
  16805. ShiftLeft (Arg1, One, Local3)
  16806. Store (Local3, ADDR)
  16807. If (LNotEqual (Arg0, WRQK))
  16808. {
  16809. If (LNotEqual (Arg0, SDBT))
  16810. {
  16811. Store (Arg2, CMDB)
  16812. }
  16813. }
  16814.  
  16815. If (LEqual (Arg0, WRBL))
  16816. {
  16817. Store (Arg3, BCNT)
  16818. Store (Arg4, BDAT)
  16819. }
  16820.  
  16821. If (LEqual (Arg0, WRWD))
  16822. {
  16823. Store (Arg4, DT2B)
  16824. }
  16825.  
  16826. If (LEqual (Arg0, WRBT))
  16827. {
  16828. Store (Arg4, DAT0)
  16829. }
  16830.  
  16831. If (LEqual (Arg0, SDBT))
  16832. {
  16833. Store (Arg4, DAT0)
  16834. }
  16835.  
  16836. Store (Arg0, PRTC)
  16837. Store (SWTC (Arg0), Index (Local0, Zero))
  16838. }
  16839.  
  16840. Release (MUEC)
  16841. Return (Local0)
  16842. }
  16843.  
  16844. Mutex (MUEP, 0x00)
  16845. Method (RBEP, 1, NotSerialized)
  16846. {
  16847. Store (0xFFFF, Local1)
  16848. Acquire (MUEP, 0xFFFF)
  16849. Store (RRAM (0x0620), Local3)
  16850. And (Local3, 0x7F, Local4)
  16851. WRAM (0x0620, Local4)
  16852. Store (0x10, Local2)
  16853. Store (0x10, Local1)
  16854. While (And (LEqual (Local1, 0x10), LNotEqual (Local2, Zero)))
  16855. {
  16856. SMBW (WRWD, BADR, Zero, 0x02, 0x0635)
  16857. SMBW (WRWD, BADR, Zero, 0x02, 0x0606)
  16858. Store (SMBR (RDBT, 0x50, Arg0), Local0)
  16859. Store (DerefOf (Index (Local0, Zero)), Local1)
  16860. Decrement (Local2)
  16861. }
  16862.  
  16863. WRAM (0x0620, Local3)
  16864. ShiftLeft (Local1, 0x08, Local1)
  16865. Or (Local1, DerefOf (Index (Local0, 0x02)), Local1)
  16866. Release (MUEP)
  16867. Return (Local1)
  16868. }
  16869.  
  16870. Method (WBEP, 2, NotSerialized)
  16871. {
  16872. Store (0xFFFF, Local1)
  16873. Acquire (MUEP, 0xFFFF)
  16874. Store (RRAM (0x0620), Local3)
  16875. And (Local3, 0x7F, Local4)
  16876. WRAM (0x0620, Local4)
  16877. Store (0x10, Local2)
  16878. Store (0x10, Local1)
  16879. While (And (LEqual (Local1, 0x10), LNotEqual (Local2, Zero)))
  16880. {
  16881. SMBW (WRWD, BADR, Zero, 0x02, 0x0635)
  16882. SMBW (WRWD, BADR, Zero, 0x02, 0x0606)
  16883. Store (SMBW (WRBT, 0x50, Arg0, One, Arg1), Local0)
  16884. Store (DerefOf (Index (Local0, Zero)), Local1)
  16885. Decrement (Local2)
  16886. }
  16887.  
  16888. WRAM (0x0620, Local3)
  16889. Release (MUEP)
  16890. Return (Local1)
  16891. }
  16892.  
  16893. Method (ECXT, 6, NotSerialized)
  16894. {
  16895. If (ECAV ())
  16896. {
  16897. Acquire (MU4T, 0xFFFF)
  16898. Store (Package (0x06)
  16899. {
  16900. 0x10,
  16901. Zero,
  16902. Zero,
  16903. Zero,
  16904. Zero,
  16905. Zero
  16906. }, Local0)
  16907. Store (Arg0, CMD)
  16908. Store (Arg1, EDA1)
  16909. Store (Arg2, EDA2)
  16910. Store (Arg3, EDA3)
  16911. Store (Arg4, EDA4)
  16912. Store (Arg5, EDA5)
  16913. ECAC ()
  16914. Store (CMD, Index (Local0, Zero))
  16915. Store (EDA1, Index (Local0, One))
  16916. Store (EDA2, Index (Local0, 0x02))
  16917. Store (EDA3, Index (Local0, 0x03))
  16918. Store (EDA4, Index (Local0, 0x04))
  16919. Store (EDA5, Index (Local0, 0x05))
  16920. Release (MU4T)
  16921. Return (Local0)
  16922. }
  16923. }
  16924.  
  16925. Method (ECSB, 7, NotSerialized)
  16926. {
  16927. Store (Package (0x05)
  16928. {
  16929. 0x11,
  16930. Zero,
  16931. Zero,
  16932. Zero,
  16933. Buffer (0x20) {}
  16934. }, Local1)
  16935. If (LGreater (Arg0, One))
  16936. {
  16937. Return (Local1)
  16938. }
  16939.  
  16940. If (ECAV ())
  16941. {
  16942. Acquire (MUEC, 0xFFFF)
  16943. If (LEqual (Arg0, Zero))
  16944. {
  16945. Store (PRTC, Local0)
  16946. }
  16947. Else
  16948. {
  16949. Store (PRT2, Local0)
  16950. }
  16951.  
  16952. Store (Zero, Local2)
  16953. While (LNotEqual (Local0, Zero))
  16954. {
  16955. Stall (0x0A)
  16956. Increment (Local2)
  16957. If (LGreater (Local2, 0x03E8))
  16958. {
  16959. Store (SBBY, Index (Local1, Zero))
  16960. Store (Zero, Local0)
  16961. }
  16962. Else
  16963. {
  16964. If (LEqual (Arg0, Zero))
  16965. {
  16966. Store (PRTC, Local0)
  16967. }
  16968. Else
  16969. {
  16970. Store (PRT2, Local0)
  16971. }
  16972. }
  16973. }
  16974.  
  16975. If (LLessEqual (Local2, 0x03E8))
  16976. {
  16977. If (LEqual (Arg0, Zero))
  16978. {
  16979. Store (Arg2, ADDR)
  16980. Store (Arg3, CMDB)
  16981. If (LOr (LEqual (Arg1, 0x0A), LEqual (Arg1, 0x0B)))
  16982. {
  16983. Store (DerefOf (Index (Arg6, Zero)), BCNT)
  16984. Store (DerefOf (Index (Arg6, One)), BDAT)
  16985. }
  16986. Else
  16987. {
  16988. Store (Arg4, DAT0)
  16989. Store (Arg5, DAT1)
  16990. }
  16991.  
  16992. Store (Arg1, PRTC)
  16993. }
  16994. Else
  16995. {
  16996. Store (Arg2, ADD2)
  16997. Store (Arg3, CMD2)
  16998. If (LOr (LEqual (Arg1, 0x0A), LEqual (Arg1, 0x0B)))
  16999. {
  17000. Store (DerefOf (Index (Arg6, Zero)), BCN2)
  17001. Store (DerefOf (Index (Arg6, One)), BDA2)
  17002. }
  17003. Else
  17004. {
  17005. Store (Arg4, DA20)
  17006. Store (Arg5, DA21)
  17007. }
  17008.  
  17009. Store (Arg1, PRT2)
  17010. }
  17011.  
  17012. Store (0x7F, Local0)
  17013. If (LEqual (Arg0, Zero))
  17014. {
  17015. While (PRTC)
  17016. {
  17017. Sleep (One)
  17018. Decrement (Local0)
  17019. }
  17020. }
  17021. Else
  17022. {
  17023. While (PRT2)
  17024. {
  17025. Sleep (One)
  17026. Decrement (Local0)
  17027. }
  17028. }
  17029.  
  17030. If (Local0)
  17031. {
  17032. If (LEqual (Arg0, Zero))
  17033. {
  17034. Store (SSTS, Local0)
  17035. Store (DAT0, Index (Local1, One))
  17036. Store (DAT1, Index (Local1, 0x02))
  17037. Store (BCNT, Index (Local1, 0x03))
  17038. Store (BDAT, Index (Local1, 0x04))
  17039. }
  17040. Else
  17041. {
  17042. Store (SST2, Local0)
  17043. Store (DA20, Index (Local1, One))
  17044. Store (DA21, Index (Local1, 0x02))
  17045. Store (BCN2, Index (Local1, 0x03))
  17046. Store (BDA2, Index (Local1, 0x04))
  17047. }
  17048.  
  17049. And (Local0, 0x1F, Local0)
  17050. If (Local0)
  17051. {
  17052. Add (Local0, 0x10, Local0)
  17053. }
  17054.  
  17055. Store (Local0, Index (Local1, Zero))
  17056. }
  17057. Else
  17058. {
  17059. Store (0x10, Index (Local1, Zero))
  17060. }
  17061. }
  17062.  
  17063. Release (MUEC)
  17064. }
  17065.  
  17066. Return (Local1)
  17067. }
  17068.  
  17069. Method (TPSW, 1, NotSerialized)
  17070. {
  17071. And (Arg0, One, Local0)
  17072. If (Local0)
  17073. {
  17074. ECXT (0xB6, 0xB8, One, One, Zero, Zero)
  17075. }
  17076. Else
  17077. {
  17078. ECXT (0xB6, 0xB8, One, 0x02, Zero, Zero)
  17079. }
  17080. }
  17081.  
  17082. Method (TPST, 0, NotSerialized)
  17083. {
  17084. Store (ECXT (0xB6, 0xB8, 0x02, Zero, Zero, Zero), Local0)
  17085. Store (DerefOf (Index (Local0, One)), Local1)
  17086. If (LEqual (Local1, Zero))
  17087. {
  17088. Return (One)
  17089. }
  17090. Else
  17091. {
  17092. Return (Zero)
  17093. }
  17094. }
  17095.  
  17096. Method (LBSW, 1, NotSerialized)
  17097. {
  17098. If (LEqual (Arg0, One))
  17099. {
  17100. ECXT (0xB6, 0xB9, One, Zero, Zero, Zero)
  17101. }
  17102. Else
  17103. {
  17104. ECXT (0xB6, 0xB9, 0x02, Zero, Zero, Zero)
  17105. }
  17106. }
  17107.  
  17108. Method (LBST, 0, NotSerialized)
  17109. {
  17110. Store (RRAM (0x044A), Local0)
  17111. And (Local0, 0x03, Local0)
  17112. Return (Local0)
  17113. }
  17114.  
  17115. Method (ECAC, 0, NotSerialized)
  17116. {
  17117. Store (GNBF, BIPA)
  17118. Store (0x30, MFUN)
  17119. Store (One, SFUN)
  17120. Store (0x10, LEN)
  17121. Store (Zero, EROR)
  17122. Store (One, STAS)
  17123. ISMI (0xA1)
  17124. }
  17125. }
  17126.  
  17127. Scope (\)
  17128. {
  17129. Name (TSP, 0x0A)
  17130. Name (TC1, 0x02)
  17131. Name (TC2, 0x0A)
  17132. }
  17133.  
  17134. Scope (_TZ)
  17135. {
  17136. Method (KELV, 1, NotSerialized)
  17137. {
  17138. And (Arg0, 0xFF, Local0)
  17139. If (LGreaterEqual (Local0, 0x80))
  17140. {
  17141. Subtract (0x0100, Local0, Local0)
  17142. Multiply (Local0, 0x0A, Local0)
  17143. Subtract (0x0AAC, Local0, Local0)
  17144. Return (Local0)
  17145. }
  17146.  
  17147. Multiply (Local0, 0x0A, Local0)
  17148. Add (Local0, 0x0AAC, Local0)
  17149. Return (Local0)
  17150. }
  17151.  
  17152. Method (CELC, 1, NotSerialized)
  17153. {
  17154. Subtract (Arg0, 0x0AAC, Local0)
  17155. Divide (Local0, 0x0A, Local1, Local0)
  17156. Return (Local0)
  17157. }
  17158.  
  17159. Name (PLCY, Zero)
  17160. ThermalZone (THRM)
  17161. {
  17162. Method (_CRT, 0, NotSerialized)
  17163. {
  17164. RCRT ()
  17165. Return (KELV (\_SB.TCRT))
  17166. }
  17167.  
  17168. Method (_TMP, 0, NotSerialized)
  17169. {
  17170. Store (0x05, Local1)
  17171. While (Local1)
  17172. {
  17173. Store (RTMP (), Local0)
  17174. If (LGreater (Local0, \_SB.TCRT))
  17175. {
  17176. Decrement (Local1)
  17177. }
  17178. Else
  17179. {
  17180. Store (Zero, Local1)
  17181. }
  17182. }
  17183.  
  17184. Store (\_SB.T0F1, Local1)
  17185. \_SB.PCI0.SBRG.EC0.WRAM (0x03A0, Local1)
  17186. Return (KELV (Local1))
  17187. }
  17188.  
  17189. Name (_PSL, Package (0x04)
  17190. {
  17191. \_PR.CPU0,
  17192. \_PR.CPU1,
  17193. \_PR.CPU2,
  17194. \_PR.CPU3
  17195. })
  17196. Method (_TSP, 0, NotSerialized)
  17197. {
  17198. Multiply (TSP, 0x0A, Local0)
  17199. Return (Local0)
  17200. }
  17201.  
  17202. Method (_TC1, 0, NotSerialized)
  17203. {
  17204. Return (TC1)
  17205. }
  17206.  
  17207. Method (_TC2, 0, NotSerialized)
  17208. {
  17209. Return (TC2)
  17210. }
  17211.  
  17212. Method (_PSV, 0, NotSerialized)
  17213. {
  17214. RPSV ()
  17215. If (PLCY)
  17216. {
  17217. Return (KELV (\_SB.PPSV))
  17218. }
  17219. Else
  17220. {
  17221. Return (KELV (\_SB.TPSV))
  17222. }
  17223. }
  17224.  
  17225. Method (_SCP, 1, NotSerialized)
  17226. {
  17227. Store (Zero, PLCY)
  17228. Notify (THRM, 0x81)
  17229. }
  17230. }
  17231. }
  17232.  
  17233. Scope (_TZ)
  17234. {
  17235. Name (ATMP, 0x3C)
  17236. Name (LTMP, 0x3C)
  17237. Name (FANS, Zero)
  17238. Method (RTMP, 0, NotSerialized)
  17239. {
  17240. If (\_SB.PCI0.SBRG.EC0.ECAV ())
  17241. {
  17242. Store (\_SB.PCI0.SBRG.EC0.ECPU, Local0)
  17243. If (LLess (Local0, 0x80))
  17244. {
  17245. Store (Local0, LTMP)
  17246. }
  17247. }
  17248.  
  17249. Return (LTMP)
  17250. }
  17251.  
  17252. Method (RCRT, 0, NotSerialized)
  17253. {
  17254. If (\_SB.PCI0.SBRG.EC0.ECAV ())
  17255. {
  17256. Store (\_SB.PCI0.SBRG.EC0.ECRT, Local0)
  17257. If (LLess (Local0, 0x80))
  17258. {
  17259. Store (Local0, \_SB.TCRT)
  17260. }
  17261. }
  17262. }
  17263.  
  17264. Method (RPSV, 0, NotSerialized)
  17265. {
  17266. If (\_SB.PCI0.SBRG.EC0.ECAV ())
  17267. {
  17268. Store (\_SB.PCI0.SBRG.EC0.EPSV, Local0)
  17269. If (LLess (Local0, 0x80))
  17270. {
  17271. Store (Local0, \_SB.TPSV)
  17272. }
  17273. }
  17274. }
  17275.  
  17276. Method (RFAN, 1, NotSerialized)
  17277. {
  17278. If (\_SB.PCI0.SBRG.EC0.ECAV ())
  17279. {
  17280. Store (\_SB.PCI0.SBRG.EC0.ST83 (Arg0), Local0)
  17281. If (LEqual (Local0, 0xFF))
  17282. {
  17283. Return (Local0)
  17284. }
  17285.  
  17286. Store (\_SB.PCI0.SBRG.EC0.TACH (Arg0), Local0)
  17287. Divide (Local0, 0x64, Local1, Local0)
  17288. Add (Local0, One, Local0)
  17289. If (LLessEqual (Local0, 0x3C))
  17290. {
  17291. Store (Local0, FANS)
  17292. }
  17293. Else
  17294. {
  17295. Store (FANS, Local0)
  17296. }
  17297. }
  17298. Else
  17299. {
  17300. Store (Zero, Local0)
  17301. }
  17302.  
  17303. Return (Local0)
  17304. }
  17305.  
  17306. Method (RFSE, 0, NotSerialized)
  17307. {
  17308. If (\_SB.PCI0.SBRG.EC0.ECAV ())
  17309. {
  17310. Store (\_SB.PCI0.SBRG.EC0.ST83 (Zero), Local1)
  17311. If (LLess (Local1, 0x80))
  17312. {
  17313. If (LLess (Local1, 0x0A))
  17314. {
  17315. Store (Zero, Local0)
  17316. }
  17317. Else
  17318. {
  17319. Store (One, Local0)
  17320. }
  17321. }
  17322. Else
  17323. {
  17324. If (LLess (Local1, 0xF5))
  17325. {
  17326. Store (0x02, Local0)
  17327. }
  17328. Else
  17329. {
  17330. Store (0x03, Local0)
  17331. }
  17332. }
  17333. }
  17334. Else
  17335. {
  17336. Store (Zero, Local0)
  17337. }
  17338.  
  17339. Return (Local0)
  17340. }
  17341.  
  17342. Method (TCHG, 0, NotSerialized)
  17343. {
  17344. }
  17345.  
  17346. Method (THDL, 0, NotSerialized)
  17347. {
  17348. }
  17349.  
  17350. Method (TMSS, 1, NotSerialized)
  17351. {
  17352. }
  17353.  
  17354. Method (TMSW, 1, NotSerialized)
  17355. {
  17356. }
  17357. }
  17358.  
  17359. Scope (_SB.PCI0.SBRG.EC0)
  17360. {
  17361. Name (PWAC, Buffer (0x40)
  17362. {
  17363. /* 0000 */ 0x1B, 0x2E, 0x3B, 0x48, 0x55, 0x61, 0x6E, 0x7B,
  17364. /* 0008 */ 0x9A, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  17365. /* 0010 */ 0x0E, 0x21, 0x2F, 0x40, 0x4E, 0x5F, 0x6D, 0x7B,
  17366. /* 0018 */ 0x9A, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  17367. /* 0020 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  17368. /* 0028 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  17369. /* 0030 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  17370. /* 0038 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
  17371. })
  17372. Name (F8FG, Zero)
  17373. Name (BLCT, Zero)
  17374. Method (ACPS, 0, Serialized)
  17375. {
  17376. Return (And (GPWS (), One))
  17377. }
  17378.  
  17379. Method (DCPS, 1, Serialized)
  17380. {
  17381. Store (GPWS (), Local0)
  17382. If (Arg0)
  17383. {
  17384. And (Local0, 0x04, Local0)
  17385. }
  17386. Else
  17387. {
  17388. And (Local0, 0x02, Local0)
  17389. }
  17390.  
  17391. If (Local0)
  17392. {
  17393. Store (One, Local0)
  17394. }
  17395. Else
  17396. {
  17397. Store (Zero, Local0)
  17398. }
  17399.  
  17400. Return (Local0)
  17401. }
  17402.  
  17403. Method (GPWS, 0, Serialized)
  17404. {
  17405. Store (EPWS, Local0)
  17406. Return (Local0)
  17407. }
  17408.  
  17409. Method (BCHG, 1, Serialized)
  17410. {
  17411. If (Arg0)
  17412. {
  17413. If (ECAV ())
  17414. {
  17415. Store (EB1S, Local0)
  17416. And (Local0, 0xFF, Local0)
  17417. If (LNotEqual (Local0, 0xFF))
  17418. {
  17419. And (Local0, 0x02, Local0)
  17420. }
  17421. Else
  17422. {
  17423. Store (Zero, Local0)
  17424. }
  17425. }
  17426. Else
  17427. {
  17428. Store (Zero, Local0)
  17429. }
  17430.  
  17431. Return (Local0)
  17432. }
  17433. Else
  17434. {
  17435. If (ECAV ())
  17436. {
  17437. Store (EB0S, Local0)
  17438. And (Local0, 0xFF, Local0)
  17439. If (LNotEqual (Local0, 0xFF))
  17440. {
  17441. And (Local0, 0x02, Local0)
  17442. }
  17443. Else
  17444. {
  17445. Store (Zero, Local0)
  17446. }
  17447. }
  17448. Else
  17449. {
  17450. Store (Zero, Local0)
  17451. }
  17452.  
  17453. Return (Local0)
  17454. }
  17455. }
  17456.  
  17457. Method (BCLE, 1, Serialized)
  17458. {
  17459. If (Arg0)
  17460. {
  17461. If (ECAV ())
  17462. {
  17463. Store (Ones, Local0)
  17464. Store (EB1S, Local1)
  17465. And (Local1, 0xFFFF, Local1)
  17466. If (LNotEqual (Local1, 0xFFFF))
  17467. {
  17468. And (Local1, 0x16, Local1)
  17469. If (LEqual (Local1, 0x04))
  17470. {
  17471. Store (Zero, Local0)
  17472. }
  17473. Else
  17474. {
  17475. If (LEqual (Local1, 0x02))
  17476. {
  17477. Store (One, Local0)
  17478. }
  17479. Else
  17480. {
  17481. If (LEqual (Local1, 0x10))
  17482. {
  17483. Store (One, Local0)
  17484. }
  17485. }
  17486. }
  17487. }
  17488. }
  17489. Else
  17490. {
  17491. Store (Ones, Local0)
  17492. }
  17493.  
  17494. Return (Local0)
  17495. }
  17496. Else
  17497. {
  17498. If (ECAV ())
  17499. {
  17500. Store (Ones, Local0)
  17501. Store (EB0S, Local1)
  17502. And (Local1, 0xFFFF, Local1)
  17503. If (LNotEqual (Local1, 0xFFFF))
  17504. {
  17505. And (Local1, 0x16, Local1)
  17506. If (LEqual (Local1, 0x04))
  17507. {
  17508. Store (Zero, Local0)
  17509. }
  17510. Else
  17511. {
  17512. If (LEqual (Local1, 0x02))
  17513. {
  17514. Store (One, Local0)
  17515. }
  17516. Else
  17517. {
  17518. If (LEqual (Local1, 0x10))
  17519. {
  17520. Store (One, Local0)
  17521. }
  17522. }
  17523. }
  17524. }
  17525. }
  17526. Else
  17527. {
  17528. Store (Ones, Local0)
  17529. }
  17530.  
  17531. Return (Local0)
  17532. }
  17533. }
  17534.  
  17535. Method (CHBT, 1, Serialized)
  17536. {
  17537. If (ECAV ())
  17538. {
  17539. Store (GBTT (Arg0), Local1)
  17540. If (LEqual (Local1, 0xFF))
  17541. {
  17542. Store (Zero, Local0)
  17543. }
  17544. Else
  17545. {
  17546. And (Local1, 0x10, Local0)
  17547. If (Local0)
  17548. {
  17549. Store (One, Local0)
  17550. }
  17551. }
  17552. }
  17553. Else
  17554. {
  17555. Store (DCTP, Local0)
  17556. }
  17557.  
  17558. Return (Local0)
  17559. }
  17560.  
  17561. Method (TACH, 1, Serialized)
  17562. {
  17563. Name (_T_0, Zero)
  17564. If (ECAV ())
  17565. {
  17566. While (One)
  17567. {
  17568. Store (Arg0, _T_0)
  17569. If (LEqual (_T_0, Zero))
  17570. {
  17571. Store (TAH0, Local0)
  17572. Break
  17573. }
  17574. Else
  17575. {
  17576. If (LEqual (_T_0, One))
  17577. {
  17578. Store (TAH1, Local0)
  17579. Break
  17580. }
  17581. Else
  17582. {
  17583. Return (Ones)
  17584. }
  17585. }
  17586.  
  17587. Break
  17588. }
  17589.  
  17590. Multiply (Local0, 0x02, Local0)
  17591. If (LNotEqual (Local0, Zero))
  17592. {
  17593. Divide (0x0041CDB4, Local0, Local1, Local0)
  17594. Return (Local0)
  17595. }
  17596. Else
  17597. {
  17598. Return (Ones)
  17599. }
  17600. }
  17601. Else
  17602. {
  17603. Return (Ones)
  17604. }
  17605. }
  17606.  
  17607. Name (HKFG, Zero)
  17608. Method (EC0S, 1, NotSerialized)
  17609. {
  17610. If (LEqual (Arg0, 0x03)) {}
  17611. If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) {}
  17612. If (LEqual (Arg0, 0x05)) {}
  17613. If (LGreater (Arg0, 0x04)) {}
  17614. Store (HKEN, HKFG)
  17615. }
  17616.  
  17617. Method (EC0W, 1, NotSerialized)
  17618. {
  17619. If (LEqual (Arg0, 0x03)) {}
  17620. If (LLessEqual (Arg0, 0x04))
  17621. {
  17622. Store (DCPS (Zero), DCPF)
  17623. Store (ACPS (), Local0)
  17624. If (LNotEqual (Local0, ACPF))
  17625. {
  17626. Store (ACPS (), ACPF)
  17627. PNOT ()
  17628. }
  17629. }
  17630.  
  17631. If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
  17632. {
  17633. Store (RRAM (0x0449), Local0)
  17634. And (Local0, 0x02, Local1)
  17635. If (Local1)
  17636. {
  17637. Or (Local0, One, Local0)
  17638. WRAM (0x0449, Local0)
  17639. }
  17640. }
  17641.  
  17642. If (LEqual (Arg0, 0x05)) {}
  17643. Store (HKFG, HKEN)
  17644. If (And (WOLO, One))
  17645. {
  17646. Store (0x0580, Local0)
  17647. Add (Local0, 0x03, Local0)
  17648. Store (RRAM (Local0), Local1)
  17649. Or (Local1, 0x05, Local1)
  17650. WRAM (Local0, Local1)
  17651. }
  17652.  
  17653. If (And (DSYN, One))
  17654. {
  17655. ST9F (0x2B, 0x20, 0x20)
  17656. }
  17657. }
  17658.  
  17659. Name (FHKM, One)
  17660. Method (FHKW, 0, Serialized)
  17661. {
  17662. While (LNot (FHKM))
  17663. {
  17664. Sleep (0x0A)
  17665. }
  17666.  
  17667. Store (Zero, FHKM)
  17668. }
  17669.  
  17670. Method (FHKS, 0, Serialized)
  17671. {
  17672. Store (One, FHKM)
  17673. }
  17674.  
  17675. Method (_Q01, 0, NotSerialized)
  17676. {
  17677. If (ATKP)
  17678. {
  17679. ^^^^ATKD.IANE (0x52)
  17680. }
  17681. }
  17682.  
  17683. Method (_Q02, 0, NotSerialized)
  17684. {
  17685. If (ATKP)
  17686. {
  17687. ^^^^ATKD.IANE (0x53)
  17688. }
  17689. }
  17690.  
  17691. Method (_Q03, 0, NotSerialized)
  17692. {
  17693. If (ATKP)
  17694. {
  17695. ^^^^ATKD.IANE (0x54)
  17696. }
  17697. }
  17698.  
  17699. Method (_Q04, 0, NotSerialized)
  17700. {
  17701. If (ATKP)
  17702. {
  17703. ^^^^ATKD.IANE (0x55)
  17704. }
  17705. }
  17706.  
  17707. Method (_Q05, 0, NotSerialized)
  17708. {
  17709. If (ATKP)
  17710. {
  17711. ^^^^ATKD.IANE (0x56)
  17712. }
  17713. }
  17714.  
  17715. Method (_Q0A, 0, NotSerialized)
  17716. {
  17717. Notify (SLPB, 0x80)
  17718. }
  17719.  
  17720. Method (_Q0B, 0, NotSerialized)
  17721. {
  17722. If (LGreaterEqual (MSOS (), OSW8))
  17723. {
  17724. Notify (ASHS, 0x88)
  17725. }
  17726. Else
  17727. {
  17728. If (And (^^^^ATKD.WAPF, 0x04))
  17729. {
  17730. If (ATKP)
  17731. {
  17732. ^^^^ATKD.IANE (0x88)
  17733. }
  17734. }
  17735. Else
  17736. {
  17737. Store (OHWR (), Local0)
  17738. If (And (Local0, 0x02))
  17739. {
  17740. If (And (Local0, One))
  17741. {
  17742. Store (One, Local0)
  17743. }
  17744. Else
  17745. {
  17746. Store (Zero, Local0)
  17747. }
  17748. }
  17749. Else
  17750. {
  17751. Store (One, Local0)
  17752. }
  17753.  
  17754. If (Local0)
  17755. {
  17756. If (And (^^^^ATKD.WAPF, One))
  17757. {
  17758. If (LAnd (WLDP, BTDP))
  17759. {
  17760. Store (WRST, Local0)
  17761. Or (ShiftLeft (BRST, One), Local0, Local0)
  17762. Increment (Local0)
  17763. If (LGreater (Local0, 0x03))
  17764. {
  17765. Store (Zero, Local0)
  17766. }
  17767.  
  17768. Store (DerefOf (Index (WBTL, Local0)), Local1)
  17769. If (LEqual (Local1, Zero))
  17770. {
  17771. ^^^^ATKD.IANE (0x74)
  17772. OWLD (Zero)
  17773. Sleep (0x0DAC)
  17774. OBTD (Zero)
  17775. }
  17776.  
  17777. If (LEqual (Local1, One))
  17778. {
  17779. ^^^^ATKD.IANE (0x73)
  17780. OWLD (One)
  17781. Sleep (0x0DAC)
  17782. OBTD (One)
  17783. }
  17784.  
  17785. If (LEqual (Local1, 0x02))
  17786. {
  17787. ^^^^ATKD.IANE (0x74)
  17788. OWLD (Zero)
  17789. Sleep (0x0DAC)
  17790. OBTD (Zero)
  17791. }
  17792.  
  17793. If (LEqual (Local1, 0x03))
  17794. {
  17795. ^^^^ATKD.IANE (0x74)
  17796. OWLD (Zero)
  17797. Sleep (0x0DAC)
  17798. OBTD (Zero)
  17799. }
  17800. }
  17801. Else
  17802. {
  17803. If (WLDP)
  17804. {
  17805. ^^^^ATKD.IANE (0x5D)
  17806. }
  17807. Else
  17808. {
  17809. If (BTDP)
  17810. {
  17811. If (BRST)
  17812. {
  17813. OBTD (Zero)
  17814. ^^^^ATKD.IANE (0x7E)
  17815. }
  17816. Else
  17817. {
  17818. OBTD (One)
  17819. ^^^^ATKD.IANE (0x7D)
  17820. }
  17821. }
  17822. }
  17823. }
  17824. }
  17825. Else
  17826. {
  17827. If (LAnd (WLDP, BTDP))
  17828. {
  17829. Store (WRST, Local0)
  17830. Or (ShiftLeft (BRST, One), Local0, Local0)
  17831. Increment (Local0)
  17832. If (LGreater (Local0, 0x03))
  17833. {
  17834. Store (Zero, Local0)
  17835. }
  17836.  
  17837. Store (DerefOf (Index (WBTL, Local0)), Local1)
  17838. If (LEqual (Local1, Zero))
  17839. {
  17840. OWLD (Zero)
  17841. ^^^^ATKD.IANE (0x5F)
  17842. Sleep (0x0DAC)
  17843. OBTD (Zero)
  17844. ^^^^ATKD.IANE (0x7E)
  17845. }
  17846.  
  17847. If (LEqual (Local1, One))
  17848. {
  17849. OWLD (One)
  17850. ^^^^ATKD.IANE (0x5E)
  17851. Sleep (0x0DAC)
  17852. OBTD (Zero)
  17853. ^^^^ATKD.IANE (0x7E)
  17854. }
  17855.  
  17856. If (LEqual (Local1, 0x02))
  17857. {
  17858. OWLD (Zero)
  17859. ^^^^ATKD.IANE (0x5F)
  17860. Sleep (0x0DAC)
  17861. OBTD (One)
  17862. ^^^^ATKD.IANE (0x7D)
  17863. }
  17864.  
  17865. If (LEqual (Local1, 0x03))
  17866. {
  17867. OWLD (One)
  17868. ^^^^ATKD.IANE (0x5E)
  17869. Sleep (0x0DAC)
  17870. OBTD (One)
  17871. ^^^^ATKD.IANE (0x7D)
  17872. }
  17873. }
  17874. Else
  17875. {
  17876. If (WLDP)
  17877. {
  17878. If (WRST)
  17879. {
  17880. OWLD (Zero)
  17881. ^^^^ATKD.IANE (0x5F)
  17882. }
  17883. Else
  17884. {
  17885. OWLD (One)
  17886. ^^^^ATKD.IANE (0x5E)
  17887. }
  17888. }
  17889. Else
  17890. {
  17891. If (BTDP)
  17892. {
  17893. If (BRST)
  17894. {
  17895. OBTD (Zero)
  17896. ^^^^ATKD.IANE (0x7E)
  17897. }
  17898. Else
  17899. {
  17900. OBTD (One)
  17901. ^^^^ATKD.IANE (0x7D)
  17902. }
  17903. }
  17904. }
  17905. }
  17906. }
  17907. }
  17908. Else
  17909. {
  17910. If (WLDP) {}
  17911. If (LAnd (WLDP, BTDP))
  17912. {
  17913. Sleep (0x0DAC)
  17914. }
  17915.  
  17916. If (BTDP)
  17917. {
  17918. ^^^^ATKD.IANE (0x7E)
  17919. }
  17920. }
  17921. }
  17922. }
  17923. }
  17924.  
  17925. Name (WBTL, Package (0x04)
  17926. {
  17927. Zero,
  17928. One,
  17929. 0x02,
  17930. 0x03
  17931. })
  17932. Method (_Q0C, 0, NotSerialized)
  17933. {
  17934. If (ATKP)
  17935. {
  17936. ^^^^ATKD.IANE (0x50)
  17937. }
  17938. }
  17939.  
  17940. Method (_Q0D, 0, NotSerialized)
  17941. {
  17942. If (ATKP)
  17943. {
  17944. ^^^^ATKD.IANE (0x51)
  17945. }
  17946. }
  17947.  
  17948. Name (ASBN, Zero)
  17949. Method (SBRN, 0, Serialized)
  17950. {
  17951. If (^^^GFX0.PRST ())
  17952. {
  17953. Store (^^^GFX0.GCBL (^^^GFX0.CBLV), Local0)
  17954. Subtract (0x0A, Local0, Local1)
  17955. If (LNotEqual (Local1, LBTN))
  17956. {
  17957. Store (Local1, LBTN)
  17958. }
  17959. }
  17960. }
  17961.  
  17962. Method (_Q0E, 0, NotSerialized)
  17963. {
  17964. If (LLess (MSOS (), OSW8))
  17965. {
  17966. SBRN ()
  17967. }
  17968.  
  17969. If (LGreaterEqual (MSOS (), OSVT))
  17970. {
  17971. Store (LBTN, Local0)
  17972. If (^^^GFX0.PRST ())
  17973. {
  17974. If (LNotEqual (^^^GFX0.DD01._DCS (), 0x1F))
  17975. {
  17976. Return (Zero)
  17977. }
  17978.  
  17979. ^^^GFX0.DWBL ()
  17980. Store (One, ASBN)
  17981. }
  17982.  
  17983. Store (Zero, ASBN)
  17984. If (ATKP)
  17985. {
  17986. If (LGreaterEqual (MSOS (), OSW8)) {}
  17987. Else
  17988. {
  17989. If (LGreater (Local0, Zero))
  17990. {
  17991. Decrement (Local0)
  17992. }
  17993.  
  17994. If (LGreater (Local0, 0x0A))
  17995. {
  17996. Store (0x0A, Local0)
  17997. }
  17998.  
  17999. Store (Local0, LBTN)
  18000. ^^^^ATKD.IANE (Add (Local0, 0x20))
  18001. }
  18002. }
  18003. }
  18004. Else
  18005. {
  18006. If (LGreater (LBTN, Zero))
  18007. {
  18008. Decrement (LBTN)
  18009. }
  18010.  
  18011. If (LGreater (LBTN, 0x0A))
  18012. {
  18013. Store (0x0A, LBTN)
  18014. }
  18015.  
  18016. STBR ()
  18017. If (ATKP)
  18018. {
  18019. ^^^^ATKD.IANE (Add (LBTN, 0x20))
  18020. }
  18021. }
  18022.  
  18023. Return (Zero)
  18024. }
  18025.  
  18026. Method (_Q0F, 0, NotSerialized)
  18027. {
  18028. If (LLess (MSOS (), OSW8))
  18029. {
  18030. SBRN ()
  18031. }
  18032.  
  18033. If (LGreaterEqual (MSOS (), OSVT))
  18034. {
  18035. Store (LBTN, Local0)
  18036. If (^^^GFX0.PRST ())
  18037. {
  18038. If (LNotEqual (^^^GFX0.DD01._DCS (), 0x1F))
  18039. {
  18040. Return (Zero)
  18041. }
  18042.  
  18043. ^^^GFX0.UPBL ()
  18044. Store (One, ASBN)
  18045. }
  18046.  
  18047. Store (Zero, ASBN)
  18048. If (ATKP)
  18049. {
  18050. If (LGreaterEqual (MSOS (), OSW8)) {}
  18051. Else
  18052. {
  18053. If (LLess (Local0, 0x0A))
  18054. {
  18055. Increment (Local0)
  18056. }
  18057. Else
  18058. {
  18059. Store (0x0A, Local0)
  18060. }
  18061.  
  18062. Store (Local0, LBTN)
  18063. ^^^^ATKD.IANE (Add (Local0, 0x10))
  18064. }
  18065. }
  18066. }
  18067. Else
  18068. {
  18069. If (LLess (LBTN, 0x0A))
  18070. {
  18071. Increment (LBTN)
  18072. }
  18073. Else
  18074. {
  18075. Store (0x0A, LBTN)
  18076. }
  18077.  
  18078. STBR ()
  18079. If (ATKP)
  18080. {
  18081. ^^^^ATKD.IANE (Add (LBTN, 0x10))
  18082. }
  18083. }
  18084.  
  18085. Return (Zero)
  18086. }
  18087.  
  18088. Method (_Q10, 0, NotSerialized)
  18089. {
  18090. If (LEqual (BLCT, Zero))
  18091. {
  18092. Store (One, Local0)
  18093. Store (RPIN (0x37), Local0)
  18094. XOr (Local0, One, Local0)
  18095. SPIN (0x37, Local0)
  18096. If (ATKP)
  18097. {
  18098. Subtract (0x34, Local0, Local0)
  18099. ^^^^ATKD.IANE (Local0)
  18100. }
  18101. }
  18102. Else
  18103. {
  18104. If (LEqual (BLCT, One))
  18105. {
  18106. If (ATKP)
  18107. {
  18108. ^^^^ATKD.IANE (0x35)
  18109. }
  18110. }
  18111. }
  18112. }
  18113.  
  18114. Method (_Q11, 0, Serialized)
  18115. {
  18116. Name (_T_0, Zero)
  18117. If (LGreaterEqual (MSOS (), OSW8))
  18118. {
  18119. If (LEqual (F8FG, Zero))
  18120. {
  18121. Store (One, F8FG)
  18122. STB2 (0xE0)
  18123. STB2 (0x5B)
  18124. }
  18125.  
  18126. STB2 (0x19)
  18127. STB2 (0x99)
  18128. Return (Zero)
  18129. }
  18130.  
  18131. FHKW ()
  18132. Store (ADVG (), Local0)
  18133. If (NATK ())
  18134. {
  18135. If (LLess (Local0, 0x08))
  18136. {
  18137. Add (Local0, 0x60, Local1)
  18138. }
  18139. Else
  18140. {
  18141. If (LLess (Local0, 0x10))
  18142. {
  18143. Subtract (Local0, 0x08, Local1)
  18144. Add (Local1, 0x8C, Local1)
  18145. }
  18146. Else
  18147. {
  18148. If (LLess (Local0, 0x20))
  18149. {
  18150. And (Local0, 0x07, Local1)
  18151. Add (Local1, 0xA0, Local1)
  18152. }
  18153. Else
  18154. {
  18155. If (LLess (Local0, 0x40))
  18156. {
  18157. While (One)
  18158. {
  18159. Store (ToInteger (Local0), _T_0)
  18160. If (LEqual (_T_0, 0x20))
  18161. {
  18162. Store (0xD0, Local1)
  18163. }
  18164. Else
  18165. {
  18166. If (LEqual (_T_0, 0x21))
  18167. {
  18168. Store (0xD1, Local1)
  18169. }
  18170. Else
  18171. {
  18172. If (LEqual (_T_0, 0x22))
  18173. {
  18174. Store (0xD2, Local1)
  18175. }
  18176. Else
  18177. {
  18178. If (LEqual (_T_0, 0x24))
  18179. {
  18180. Store (0xD3, Local1)
  18181. }
  18182. Else
  18183. {
  18184. If (LEqual (_T_0, 0x28))
  18185. {
  18186. Store (0xD4, Local1)
  18187. }
  18188. Else
  18189. {
  18190. If (LEqual (_T_0, 0x30))
  18191. {
  18192. Store (0xD5, Local1)
  18193. }
  18194. }
  18195. }
  18196. }
  18197. }
  18198. }
  18199.  
  18200. Break
  18201. }
  18202. }
  18203. }
  18204. }
  18205. }
  18206.  
  18207. If (ATKP)
  18208. {
  18209. If (LNotEqual (Local1, 0x60))
  18210. {
  18211. ^^^^ATKD.IANE (Local1)
  18212. }
  18213. }
  18214. Else
  18215. {
  18216. SWHG (Local0)
  18217. }
  18218. }
  18219. Else
  18220. {
  18221. SWHG (Local0)
  18222. }
  18223.  
  18224. FHKS ()
  18225. }
  18226.  
  18227. Method (_Q12, 0, NotSerialized)
  18228. {
  18229. If (LNot (And (DSYN, One)))
  18230. {
  18231. If (ATKP)
  18232. {
  18233. ^^^^ATKD.IANE (0x6B)
  18234. }
  18235. }
  18236. Else
  18237. {
  18238. If (ATKP)
  18239. {
  18240. ^^^^ATKD.IANE (0x6F)
  18241. }
  18242. }
  18243. }
  18244.  
  18245. Method (_Q13, 0, NotSerialized)
  18246. {
  18247. If (LGreaterEqual (MSOS (), OSW8))
  18248. {
  18249. STB2 (0xE0)
  18250. STB2 (0x20)
  18251. STB2 (0xE0)
  18252. STB2 (0xA0)
  18253. Return (Zero)
  18254. }
  18255.  
  18256. If (ATKP)
  18257. {
  18258. ^^^^ATKD.IANE (0x32)
  18259. }
  18260.  
  18261. Return (Zero)
  18262. }
  18263.  
  18264. Method (_Q14, 0, NotSerialized)
  18265. {
  18266. If (LGreaterEqual (MSOS (), OSW8))
  18267. {
  18268. STB2 (0xE0)
  18269. STB2 (0x2E)
  18270. STB2 (0xE0)
  18271. STB2 (0xAE)
  18272. Return (Zero)
  18273. }
  18274.  
  18275. If (LLess (AVOL, 0x0F))
  18276. {
  18277. Increment (AVOL)
  18278. }
  18279.  
  18280. If (ATKP)
  18281. {
  18282. ^^^^ATKD.IANE (0x31)
  18283. }
  18284.  
  18285. Return (Zero)
  18286. }
  18287.  
  18288. Method (_Q15, 0, NotSerialized)
  18289. {
  18290. If (LGreaterEqual (MSOS (), OSW8))
  18291. {
  18292. STB2 (0xE0)
  18293. STB2 (0x30)
  18294. STB2 (0xE0)
  18295. STB2 (0xB0)
  18296. Return (Zero)
  18297. }
  18298.  
  18299. If (LGreater (AVOL, Zero))
  18300. {
  18301. Decrement (AVOL)
  18302. }
  18303.  
  18304. If (ATKP)
  18305. {
  18306. ^^^^ATKD.IANE (0x30)
  18307. }
  18308.  
  18309. Return (Zero)
  18310. }
  18311.  
  18312. Method (_Q6F, 0, NotSerialized)
  18313. {
  18314. If (ATKP)
  18315. {
  18316. ^^^^ATKD.IANE (0x45)
  18317. }
  18318. }
  18319.  
  18320. Method (_Q6E, 0, NotSerialized)
  18321. {
  18322. If (ATKP)
  18323. {
  18324. ^^^^ATKD.IANE (0x43)
  18325. }
  18326. }
  18327.  
  18328. Method (_Q6C, 0, NotSerialized)
  18329. {
  18330. If (ATKP)
  18331. {
  18332. ^^^^ATKD.IANE (0x40)
  18333. }
  18334. }
  18335.  
  18336. Method (_Q6D, 0, NotSerialized)
  18337. {
  18338. If (ATKP)
  18339. {
  18340. ^^^^ATKD.IANE (0x41)
  18341. }
  18342. }
  18343.  
  18344. Method (_Q70, 0, NotSerialized)
  18345. {
  18346. }
  18347.  
  18348. Method (_Q71, 0, NotSerialized)
  18349. {
  18350. If (ATKP)
  18351. {
  18352. ^^^^ATKD.IANE (0x5C)
  18353. }
  18354. }
  18355.  
  18356. Method (_Q72, 0, NotSerialized)
  18357. {
  18358. If (ATKP)
  18359. {
  18360. ^^^^ATKD.IANE (0x8A)
  18361. }
  18362. }
  18363.  
  18364. Method (_Q73, 0, NotSerialized)
  18365. {
  18366. If (ATKP)
  18367. {
  18368. ^^^^ATKD.IANE (0x99)
  18369. }
  18370. }
  18371.  
  18372. Method (_Q74, 0, NotSerialized)
  18373. {
  18374. If (ATKP)
  18375. {
  18376. ^^^^ATKD.IANE (0x82)
  18377. }
  18378. }
  18379.  
  18380. Method (_Q77, 0, NotSerialized)
  18381. {
  18382. If (ATKP)
  18383. {
  18384. ^^^^ATKD.IANE (0xB5)
  18385. }
  18386. }
  18387.  
  18388. Method (_Q78, 0, NotSerialized)
  18389. {
  18390. If (ATKP)
  18391. {
  18392. ^^^^ATKD.IANE (0x84)
  18393. }
  18394. }
  18395.  
  18396. Method (_Q85, 0, NotSerialized)
  18397. {
  18398. If (ATKP)
  18399. {
  18400. ^^^^ATKD.IANE (0x5C)
  18401. }
  18402. }
  18403.  
  18404. Method (_Q84, 0, NotSerialized)
  18405. {
  18406. Store (OHWR (), Local0)
  18407. If (And (Local0, 0x02))
  18408. {
  18409. If (And (^^^^ATKD.WAPF, 0x04))
  18410. {
  18411. If (ATKP)
  18412. {
  18413. If (And (Local0, One))
  18414. {
  18415. ^^^^ATKD.IANE (0x80)
  18416. }
  18417. Else
  18418. {
  18419. ^^^^ATKD.IANE (0x81)
  18420. }
  18421. }
  18422. }
  18423. Else
  18424. {
  18425. If (And (^^^^ATKD.WAPF, One))
  18426. {
  18427. If (And (Local0, One))
  18428. {
  18429. If (WLDP)
  18430. {
  18431. If (LEqual (WRPS, One))
  18432. {
  18433. ^^^^ATKD.IANE (0x5E)
  18434. }
  18435. Else
  18436. {
  18437. ^^^^ATKD.IANE (0x5F)
  18438. }
  18439. }
  18440.  
  18441. If (LAnd (WLDP, BTDP))
  18442. {
  18443. Sleep (0x0DAC)
  18444. }
  18445.  
  18446. If (BTDP)
  18447. {
  18448. If (BRPS)
  18449. {
  18450. OBTD (One)
  18451. ^^^^ATKD.IANE (0x7D)
  18452. }
  18453. Else
  18454. {
  18455. OBTD (Zero)
  18456. ^^^^ATKD.IANE (0x7E)
  18457. }
  18458. }
  18459. }
  18460. Else
  18461. {
  18462. If (WLDP)
  18463. {
  18464. Store (WRST, WRPS)
  18465. ^^^^ATKD.IANE (0x5F)
  18466. }
  18467.  
  18468. If (LAnd (WLDP, BTDP))
  18469. {
  18470. Sleep (0x0DAC)
  18471. }
  18472.  
  18473. If (BTDP)
  18474. {
  18475. Store (BRST, BRPS)
  18476. OBTD (Zero)
  18477. ^^^^ATKD.IANE (0x7E)
  18478. }
  18479. }
  18480. }
  18481. Else
  18482. {
  18483. If (And (Local0, One))
  18484. {
  18485. If (WLDP)
  18486. {
  18487. If (WRPS)
  18488. {
  18489. OWLD (One)
  18490. ^^^^ATKD.IANE (0x5E)
  18491. }
  18492. Else
  18493. {
  18494. OWLD (Zero)
  18495. ^^^^ATKD.IANE (0x5F)
  18496. }
  18497. }
  18498.  
  18499. If (LAnd (WLDP, BTDP))
  18500. {
  18501. Sleep (0x0DAC)
  18502. }
  18503.  
  18504. If (BTDP)
  18505. {
  18506. If (BRPS)
  18507. {
  18508. OBTD (One)
  18509. ^^^^ATKD.IANE (0x7D)
  18510. }
  18511. Else
  18512. {
  18513. OBTD (Zero)
  18514. ^^^^ATKD.IANE (0x7E)
  18515. }
  18516. }
  18517. }
  18518. Else
  18519. {
  18520. If (WLDP)
  18521. {
  18522. Store (WRST, WRPS)
  18523. OWLD (Zero)
  18524. ^^^^ATKD.IANE (0x5F)
  18525. }
  18526.  
  18527. If (LAnd (WLDP, BTDP))
  18528. {
  18529. Sleep (0x0DAC)
  18530. }
  18531.  
  18532. If (BTDP)
  18533. {
  18534. Store (BRST, BRPS)
  18535. OBTD (Zero)
  18536. ^^^^ATKD.IANE (0x7E)
  18537. }
  18538. }
  18539. }
  18540. }
  18541. }
  18542. }
  18543.  
  18544. Method (_QB0, 0, NotSerialized)
  18545. {
  18546. Notify (\_TZ.THRM, 0x80)
  18547. }
  18548.  
  18549. Method (_QD7, 0, NotSerialized)
  18550. {
  18551. ISMI (0xA8)
  18552. Notify (\_TZ.THRM, 0x80)
  18553. }
  18554.  
  18555. Method (_QA0, 0, NotSerialized)
  18556. {
  18557. If (ACPS ())
  18558. {
  18559. Store (One, ACPF)
  18560. Store (0x58, Local0)
  18561. }
  18562. Else
  18563. {
  18564. Store (Zero, ACPF)
  18565. Store (0x57, Local0)
  18566. }
  18567.  
  18568. If (LNotEqual (MSOS (), OSVT))
  18569. {
  18570. STBR ()
  18571. }
  18572.  
  18573. Notify (AC0, 0x80)
  18574. If (ATKP)
  18575. {
  18576. ^^^^ATKD.IANE (Local0)
  18577. }
  18578.  
  18579. Sleep (0x64)
  18580. PNOT ()
  18581. Sleep (0x0A)
  18582. NBAT (0x80)
  18583. }
  18584.  
  18585. Method (_Q20, 0, NotSerialized)
  18586. {
  18587. If (CDFG)
  18588. {
  18589. Store (One, SMBF)
  18590. Store (Zero, CDFG)
  18591. }
  18592.  
  18593. If (ALFG)
  18594. {
  18595. Store (Zero, ALFG)
  18596. }
  18597. }
  18598.  
  18599. Method (_QB3, 0, NotSerialized)
  18600. {
  18601. ^^^^ATKD.IANE (0x6D)
  18602. }
  18603.  
  18604. Method (ECRS, 2, Serialized)
  18605. {
  18606. If (ECAV ())
  18607. {
  18608. Acquire (MUEC, 0xFFFF)
  18609. Store (Arg0, ADD2)
  18610. Store (Arg1, CMD2)
  18611. Store (0x07, PRT2)
  18612. Store (0x7F, Local0)
  18613. While (PRT2)
  18614. {
  18615. Sleep (One)
  18616. Decrement (Local0)
  18617. }
  18618.  
  18619. If (Local0)
  18620. {
  18621. Store (DA20, Local0)
  18622. }
  18623. Else
  18624. {
  18625. Store (Ones, Local0)
  18626. }
  18627.  
  18628. Release (MUEC)
  18629. }
  18630.  
  18631. Return (Local0)
  18632. }
  18633.  
  18634. Method (ECWS, 3, Serialized)
  18635. {
  18636. If (ECAV ())
  18637. {
  18638. Acquire (MUEC, 0xFFFF)
  18639. Store (Arg0, ADD2)
  18640. Store (Arg1, CMD2)
  18641. Store (Arg2, DA20)
  18642. Store (0x06, PRT2)
  18643. Store (0x07FF, Local0)
  18644. While (PRT2)
  18645. {
  18646. Sleep (One)
  18647. Decrement (Local0)
  18648. }
  18649.  
  18650. Release (MUEC)
  18651. }
  18652.  
  18653. Return (Local0)
  18654. }
  18655.  
  18656. Method (_QAC, 0, NotSerialized)
  18657. {
  18658. Store (ST8E (0x28, Zero), Local0)
  18659. If (LEqual (And (Local0, One), One))
  18660. {
  18661. Notify (BAT0, 0x80)
  18662. }
  18663. }
  18664.  
  18665. Method (_QD3, 0, NotSerialized)
  18666. {
  18667. }
  18668.  
  18669. Method (_QD4, 0, NotSerialized)
  18670. {
  18671. If (LEqual (F8FG, One))
  18672. {
  18673. Store (Zero, F8FG)
  18674. STB2 (0xE0)
  18675. STB2 (0xDB)
  18676. }
  18677. }
  18678. }
  18679.  
  18680. Scope (_SB)
  18681. {
  18682. Device (LID)
  18683. {
  18684. Name (_HID, EisaId ("PNP0C0D"))
  18685. Method (_LID, 0, NotSerialized)
  18686. {
  18687. Store (One, Local0)
  18688. Store (^^PCI0.SBRG.EC0.RPIN (0x11), Local0)
  18689. If (LEqual (Local0, Ones))
  18690. {
  18691. Store (One, Local0)
  18692. }
  18693.  
  18694. If (And (VGAF, One))
  18695. {
  18696. Store (One, ^^PCI0.GFX0.CLID)
  18697. }
  18698.  
  18699. Return (Local0)
  18700. }
  18701. }
  18702. }
  18703.  
  18704. Scope (_GPE)
  18705. {
  18706. }
  18707.  
  18708. Scope (_SB.PCI0.SBRG.EC0)
  18709. {
  18710. Method (_Q83, 0, NotSerialized)
  18711. {
  18712. Notify (LID, 0x80)
  18713. If (And (VGAF, One))
  18714. {
  18715. Store (GLID (), Local0)
  18716. Store (Local0, LIDS)
  18717. If (CondRefOf (\_SB.PCI0.GFX0.GLID))
  18718. {
  18719. ^^^GFX0.GLID (LIDS)
  18720. }
  18721. }
  18722. }
  18723. }
  18724.  
  18725. Scope (_SB)
  18726. {
  18727. Device (SLPB)
  18728. {
  18729. Name (_HID, EisaId ("PNP0C0E"))
  18730. Method (_PRW, 0, NotSerialized)
  18731. {
  18732. Return (Package (0x02)
  18733. {
  18734. 0x0B,
  18735. 0x04
  18736. })
  18737. }
  18738. }
  18739. }
  18740.  
  18741. Scope (_SB.ATKD)
  18742. {
  18743. Method (FSMI, 1, NotSerialized)
  18744. {
  18745. Store (Arg0, FSFN)
  18746. Or (Arg0, 0xA0, Local0)
  18747. ISMI (0x90)
  18748. Return (FSTA)
  18749. }
  18750.  
  18751. Method (FLSH, 1, NotSerialized)
  18752. {
  18753. Store (Arg0, FSTA)
  18754. FSMI (Zero)
  18755. }
  18756.  
  18757. Method (FINI, 1, NotSerialized)
  18758. {
  18759. Store (Arg0, FADR)
  18760. Return (FSMI (One))
  18761. }
  18762.  
  18763. Method (FERS, 1, NotSerialized)
  18764. {
  18765. Store (Arg0, FSTA)
  18766. Return (FSMI (0x02))
  18767. }
  18768.  
  18769. Method (FWRI, 1, NotSerialized)
  18770. {
  18771. Store (Arg0, FADR)
  18772. Store (0x1000, FSIZ)
  18773. Return (Subtract (0x1000, FSMI (0x03)))
  18774. }
  18775.  
  18776. Method (FCPW, 1, NotSerialized)
  18777. {
  18778. Store (Arg0, FADR)
  18779. Store (0x1000, FSIZ)
  18780. Return (FSMI (0x0D))
  18781. }
  18782.  
  18783. Method (FCPP, 0, NotSerialized)
  18784. {
  18785. Store (Zero, FSIZ)
  18786. Return (FSMI (0x0D))
  18787. }
  18788.  
  18789. Method (FWRP, 0, NotSerialized)
  18790. {
  18791. Store (Zero, FSIZ)
  18792. Return (Subtract (0x1000, FSMI (0x03)))
  18793. }
  18794.  
  18795. Method (FEBW, 1, NotSerialized)
  18796. {
  18797. Store (Arg0, FADR)
  18798. Return (FSMI (0x04))
  18799. }
  18800.  
  18801. Method (FEBR, 1, NotSerialized)
  18802. {
  18803. Store (Arg0, FADR)
  18804. Return (FSMI (0x05))
  18805. }
  18806.  
  18807. Method (FEDW, 0, NotSerialized)
  18808. {
  18809. Return (FSMI (0x06))
  18810. }
  18811.  
  18812. Method (ECSR, 1, NotSerialized)
  18813. {
  18814. Store (Arg0, FSTA)
  18815. Return (FSMI (0x07))
  18816. }
  18817.  
  18818. Method (FLSC, 1, NotSerialized)
  18819. {
  18820. Store (Arg0, FSTA)
  18821. Return (FSMI (0x08))
  18822. }
  18823.  
  18824. Method (FIME, 1, NotSerialized)
  18825. {
  18826. Store (Arg0, FSTA)
  18827. If (Or (LEqual (Arg0, 0x04), LEqual (Arg0, 0x05)))
  18828. {
  18829. FSMI (0x09)
  18830. If (LEqual (Arg0, 0x04))
  18831. {
  18832. Store (FADR, ULCK)
  18833. }
  18834.  
  18835. Store (Zero, FSTA)
  18836. Return (FSTA)
  18837. }
  18838.  
  18839. If (LEqual (Arg0, 0x8000))
  18840. {
  18841. Store (0x1000, FSIZ)
  18842. FSMI (0x09)
  18843. Return (FSTA)
  18844. }
  18845.  
  18846. Return (FSMI (0x09))
  18847. }
  18848.  
  18849. Method (FREC, 1, NotSerialized)
  18850. {
  18851. If (LEqual (Arg0, 0x8000))
  18852. {
  18853. Store (Arg0, FSTA)
  18854. FSMI (0x0A)
  18855. Store (0x1000, FSIZ)
  18856. Return (FSTA)
  18857. }
  18858.  
  18859. Store (Arg0, FSTA)
  18860. Return (FSMI (0x0A))
  18861. }
  18862.  
  18863. Name (ULCK, Zero)
  18864. }
  18865.  
  18866. Scope (\)
  18867. {
  18868. Method (LIMT, 0, NotSerialized)
  18869. {
  18870. Subtract (\_SB.CPUP, \_SB.SLMT, Local0)
  18871. Return (Local0)
  18872. }
  18873.  
  18874. Method (NCPS, 1, Serialized)
  18875. {
  18876. Notify (\_PR.CPU0, Arg0)
  18877. Notify (\_PR.CPU1, Arg0)
  18878. If (LGreaterEqual (\_SB.CPUN, 0x04))
  18879. {
  18880. Notify (\_PR.CPU2, Arg0)
  18881. Notify (\_PR.CPU3, Arg0)
  18882. }
  18883.  
  18884. If (LGreaterEqual (\_SB.CPUN, 0x08)) {}
  18885. }
  18886.  
  18887. Name (LCDB, Zero)
  18888. Method (PPRJ, 1, Serialized)
  18889. {
  18890. }
  18891.  
  18892. Method (PRJS, 1, Serialized)
  18893. {
  18894. }
  18895.  
  18896. Method (PRJW, 1, Serialized)
  18897. {
  18898. KINI ()
  18899. \_SB.PCI0.SBRG.EC0.STBR ()
  18900. }
  18901.  
  18902. Method (GLID, 0, Serialized)
  18903. {
  18904. Return (\_SB.PCI0.SBRG.EC0.RPIN (0x11))
  18905. }
  18906.  
  18907. Method (TLID, 0, Serialized)
  18908. {
  18909. }
  18910.  
  18911. Method (TGAC, 0, Serialized)
  18912. {
  18913. }
  18914.  
  18915. Method (TGDC, 1, Serialized)
  18916. {
  18917. }
  18918.  
  18919. Method (FCTR, 3, Serialized)
  18920. {
  18921. }
  18922.  
  18923. Method (OWGD, 1, Serialized)
  18924. {
  18925. Store (Arg0, \_SB.GPO1.WLED)
  18926. }
  18927.  
  18928. Method (OWGS, 0, Serialized)
  18929. {
  18930. Return (\_SB.GPO1.WLED)
  18931. }
  18932.  
  18933. Method (OWLD, 1, Serialized)
  18934. {
  18935. If (\_SB.WLDP)
  18936. {
  18937. Store (Arg0, \_SB.WRST)
  18938. }
  18939.  
  18940. XOr (Arg0, One, Arg0)
  18941. If (LEqual (LAnd (\_SB.ATKD.WAPF, 0x05), Zero)) {}
  18942. }
  18943.  
  18944. Method (OBTD, 1, Serialized)
  18945. {
  18946. If (\_SB.BTDP)
  18947. {
  18948. Store (Arg0, \_SB.BRST)
  18949. }
  18950.  
  18951. XOr (Arg0, One, Arg0)
  18952. }
  18953.  
  18954. Method (OHWS, 0, Serialized)
  18955. {
  18956. Return (Zero)
  18957. }
  18958.  
  18959. Method (OHWR, 0, Serialized)
  18960. {
  18961. Store (Zero, Local0)
  18962. If (LEqual (OHWS (), Zero))
  18963. {
  18964. And (Local0, 0xFFFE, Local0)
  18965. }
  18966. Else
  18967. {
  18968. Or (Local0, One, Local0)
  18969. }
  18970.  
  18971. If (\_SB.PCI0.RP03.WLAN.MPDP ())
  18972. {
  18973. Or (Local0, 0x80, Local0)
  18974. }
  18975.  
  18976. If (\_SB.BTDP)
  18977. {
  18978. Or (Local0, 0x0100, Local0)
  18979. }
  18980.  
  18981. Return (Local0)
  18982. }
  18983.  
  18984. Method (ORST, 0, Serialized)
  18985. {
  18986. Store (Zero, Local0)
  18987. If (\_SB.WRST)
  18988. {
  18989. Or (Local0, One, Local0)
  18990. }
  18991.  
  18992. If (\_SB.BRST)
  18993. {
  18994. Or (Local0, 0x02, Local0)
  18995. }
  18996.  
  18997. Return (Local0)
  18998. }
  18999.  
  19000. Method (GBTL, 0, Serialized)
  19001. {
  19002. }
  19003.  
  19004. Method (SBTL, 1, Serialized)
  19005. {
  19006. }
  19007.  
  19008. Method (BL2C, 0, NotSerialized)
  19009. {
  19010. Return (Zero)
  19011. }
  19012.  
  19013. Method (STCF, 1, Serialized)
  19014. {
  19015. If (LEqual (Arg0, One))
  19016. {
  19017. \_SB.PCI0.SBRG.EC0.FNCT (0x84, Zero)
  19018. }
  19019. }
  19020.  
  19021. Method (OTGB, 0, Serialized)
  19022. {
  19023. Store (One, Local0)
  19024. Return (Local0)
  19025. }
  19026.  
  19027. Method (DCPS, 1, Serialized)
  19028. {
  19029. Store (\_SB.PCI0.SBRG.EC0.RPIN (0x26), Local0)
  19030. XOr (Local0, One, Local0)
  19031. Return (Local0)
  19032. }
  19033.  
  19034. Method (ACPS, 0, Serialized)
  19035. {
  19036. Store (\_SB.PCI0.SBRG.EC0.RPIN (0x10), Local0)
  19037. XOr (Local0, One, Local0)
  19038. Return (Local0)
  19039. }
  19040.  
  19041. Method (KINI, 0, Serialized)
  19042. {
  19043. If (LGreaterEqual (MSOS (), OSW8))
  19044. {
  19045. \_SB.PCI0.SBRG.EC0.STB1 (0x02)
  19046. \_SB.PCI0.SBRG.EC0.STB1 (0x04)
  19047. Store (Zero, \_SB.FNIV)
  19048. }
  19049. Else
  19050. {
  19051. \_SB.PCI0.SBRG.EC0.STB1 (0x02)
  19052. \_SB.PCI0.SBRG.EC0.STB1 (0x03)
  19053. Store (Zero, \_SB.FNIV)
  19054. }
  19055. }
  19056. }
  19057.  
  19058. Scope (_GPE)
  19059. {
  19060. }
  19061.  
  19062. Scope (_SB.PCI0.SBRG.EC0)
  19063. {
  19064. }
  19065.  
  19066. Scope (_SB.PCI0.XHC1.RHUB.HS04)
  19067. {
  19068. Name (CAPD, Package (0x01)
  19069. {
  19070. Buffer (0x14)
  19071. {
  19072. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14, 0x00,
  19073. /* 0008 */ 0x25, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  19074. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF
  19075. }
  19076. })
  19077. Device (DCAM)
  19078. {
  19079. Name (_ADR, 0x04)
  19080. Method (_PLD, 0, NotSerialized)
  19081. {
  19082. Return (CAPD)
  19083. }
  19084. }
  19085. }
  19086.  
  19087. Scope (_SB.GPO1)
  19088. {
  19089. OperationRegion (N04, SystemMemory, 0xFED8C428, 0x04)
  19090. Field (N04, DWordAcc, Lock, Preserve)
  19091. {
  19092. , 1,
  19093. WLED, 1
  19094. }
  19095. }
  19096.  
  19097. Scope (_SB.PCI0.SBRG)
  19098. {
  19099. Device (PS2K)
  19100. {
  19101. Name (_HID, EisaId ("ATK3001"))
  19102. Name (_CID, EisaId ("PNP030B"))
  19103. Method (_STA, 0, NotSerialized)
  19104. {
  19105. If (And (IOST, 0x0400))
  19106. {
  19107. Return (0x0F)
  19108. }
  19109. Else
  19110. {
  19111. Return (Zero)
  19112. }
  19113. }
  19114.  
  19115. Name (_CRS, ResourceTemplate ()
  19116. {
  19117. IO (Decode16,
  19118. 0x0060, // Range Minimum
  19119. 0x0060, // Range Maximum
  19120. 0x00, // Alignment
  19121. 0x01, // Length
  19122. )
  19123. IO (Decode16,
  19124. 0x0064, // Range Minimum
  19125. 0x0064, // Range Maximum
  19126. 0x00, // Alignment
  19127. 0x01, // Length
  19128. )
  19129. IRQNoFlags ()
  19130. {1}
  19131. })
  19132. Name (_PRS, ResourceTemplate ()
  19133. {
  19134. StartDependentFn (0x00, 0x00)
  19135. {
  19136. IO (Decode16,
  19137. 0x0060, // Range Minimum
  19138. 0x0060, // Range Maximum
  19139. 0x00, // Alignment
  19140. 0x01, // Length
  19141. )
  19142. IO (Decode16,
  19143. 0x0064, // Range Minimum
  19144. 0x0064, // Range Maximum
  19145. 0x00, // Alignment
  19146. 0x01, // Length
  19147. )
  19148. IRQNoFlags ()
  19149. {1}
  19150. }
  19151. EndDependentFn ()
  19152. })
  19153. }
  19154. }
  19155.  
  19156. Scope (_SB.PCI0.SBRG)
  19157. {
  19158. Device (PS2M)
  19159. {
  19160. Method (_HID, 0, NotSerialized)
  19161. {
  19162. If (ELAN)
  19163. {
  19164. Return (0x08018416)
  19165. }
  19166.  
  19167. If (FOLT)
  19168. {
  19169. Return (0x01019419)
  19170. }
  19171.  
  19172. Return (0x060A2E4F)
  19173. }
  19174.  
  19175. Name (CID0, Package (0x05)
  19176. {
  19177. 0x000A2E4F,
  19178. 0x02002E4F,
  19179. 0x030FD041,
  19180. 0x130FD041,
  19181. 0x120FD041
  19182. })
  19183. Method (_CID, 0, NotSerialized)
  19184. {
  19185. Return (CID0)
  19186. }
  19187.  
  19188. Method (_STA, 0, NotSerialized)
  19189. {
  19190. If (LNotEqual (TPIF, Zero))
  19191. {
  19192. Return (Zero)
  19193. }
  19194.  
  19195. ShiftLeft (One, 0x0E, Local0)
  19196. If (And (IOST, Local0))
  19197. {
  19198. Return (0x0F)
  19199. }
  19200. Else
  19201. {
  19202. Return (Zero)
  19203. }
  19204.  
  19205. Return (Zero)
  19206. }
  19207.  
  19208. Name (CRS1, ResourceTemplate ()
  19209. {
  19210. IRQNoFlags ()
  19211. {12}
  19212. })
  19213. Name (CRS2, ResourceTemplate ()
  19214. {
  19215. IO (Decode16,
  19216. 0x0060, // Range Minimum
  19217. 0x0060, // Range Maximum
  19218. 0x00, // Alignment
  19219. 0x01, // Length
  19220. )
  19221. IO (Decode16,
  19222. 0x0064, // Range Minimum
  19223. 0x0064, // Range Maximum
  19224. 0x00, // Alignment
  19225. 0x01, // Length
  19226. )
  19227. IRQNoFlags ()
  19228. {12}
  19229. })
  19230. Method (_CRS, 0, NotSerialized)
  19231. {
  19232. ShiftLeft (One, 0x0A, Local0)
  19233. If (And (IOST, Local0))
  19234. {
  19235. Return (CRS1)
  19236. }
  19237. Else
  19238. {
  19239. Return (CRS2)
  19240. }
  19241. }
  19242. }
  19243. }
  19244. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement