Guest User

Untitled

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