Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
700
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 909.51 KB | None | 0 0
  1. /*
  2. * Intel ACPI Component Architecture
  3. * AML/ASL+ Disassembler version 20160930-64
  4. * Copyright (c) 2000 - 2016 Intel Corporation
  5. *
  6. * Disassembling to symbolic ASL+ operators
  7. *
  8. * Disassembly of dsdt.dat, Sun Dec 4 03:44:08 2016
  9. *
  10. * Original Table Header:
  11. * Signature "DSDT"
  12. * Length 0x0001D2FF (119551)
  13. * Revision 0x02
  14. * Checksum 0x67
  15. * OEM ID "A M I"
  16. * OEM Table ID "A M I"
  17. * OEM Revision 0x01072009 (17244169)
  18. * Compiler ID "INTL"
  19. * Compiler Version 0x20120913 (538052883)
  20. */
  21. DefinitionBlock ("", "DSDT", 2, "A M I", "A M I", 0x01072009)
  22. {
  23. /*
  24. * iASL Warning: There were 2 external control methods found during
  25. * disassembly, but only 0 were resolved (2 unresolved). Additional
  26. * ACPI tables may be required to properly disassemble the code. This
  27. * resulting disassembler output file may not compile because the
  28. * disassembler did not know how many arguments to assign to the
  29. * unresolved methods. Note: SSDTs can be dynamically loaded at
  30. * runtime and may or may not be available via the host OS.
  31. *
  32. * To specify the tables needed to resolve external control method
  33. * references, the -e option can be used to specify the filenames.
  34. * Example iASL invocations:
  35. * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
  36. * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
  37. * iasl -e ssdt*.aml -d dsdt.aml
  38. *
  39. * In addition, the -fe option can be used to specify a file containing
  40. * control method external declarations with the associated method
  41. * argument counts. Each line of the file must be of the form:
  42. * External (<method pathname>, MethodObj, <argument count>)
  43. * Invocation:
  44. * iasl -fe refs.txt -d dsdt.aml
  45. *
  46. * The following methods were unresolved and many not compile properly
  47. * because the disassembler had to guess at the number of arguments
  48. * required for each:
  49. */
  50. External (_PR_.CPU0._PPC, UnknownObj)
  51. External (_SB_.DPTF, UnknownObj)
  52. External (_SB_.PCI0.LPCB.TPM_.PTS_, MethodObj) // Warning: Unknown method, guessing 1 arguments
  53. External (CFGD, UnknownObj)
  54. External (DPTF, UnknownObj)
  55. External (NDN3, MethodObj) // Warning: Unknown method, guessing 1 arguments
  56. External (PDC0, UnknownObj)
  57. External (PDC1, UnknownObj)
  58. External (PDC2, UnknownObj)
  59. External (PDC3, UnknownObj)
  60. External (TCHG, UnknownObj)
  61. External (UBTC, UnknownObj)
  62.  
  63. Name (LAPB, 0xFEE00000)
  64. Name (CPVD, Zero)
  65. Name (SMBS, 0xEFA0)
  66. Name (SMBL, 0x20)
  67. Name (SRCB, 0xFED1C000)
  68. Name (SRCL, 0x4000)
  69. Name (PMBS, 0x0400)
  70. Name (PMLN, 0x80)
  71. Name (SMIP, 0xB2)
  72. Name (APCB, 0xFEC00000)
  73. Name (APCL, 0x1000)
  74. Name (RCRB, 0xFED1C000)
  75. Name (RCRL, 0x4000)
  76. Name (HPTB, 0xFED00000)
  77. Name (HPTC, 0xFED1F404)
  78. Name (ASSB, Zero)
  79. Name (AOTB, Zero)
  80. Name (AAXB, Zero)
  81. Name (PEHP, One)
  82. Name (SHPC, Zero)
  83. Name (PEPM, One)
  84. Name (PEER, One)
  85. Name (PECS, One)
  86. Name (ITKE, Zero)
  87. Name (MBEC, 0xFFFF)
  88. Name (PEBS, 0xE0000000)
  89. Name (PELN, 0x10000000)
  90. Name (SRSI, 0xB2)
  91. Name (CSMI, 0x61)
  92. Name (SMIA, 0xB2)
  93. Name (SMIB, 0xB3)
  94. Name (OFST, 0x35)
  95. Name (TRST, 0x02)
  96. Name (TCMF, Zero)
  97. Name (TMF1, Zero)
  98. Name (TMF2, Zero)
  99. Name (TMF3, Zero)
  100. Name (TTPF, Zero)
  101. Name (DTPT, Zero)
  102. Name (TTDP, One)
  103. Name (TPMB, 0xFFFFFFFF)
  104. Name (TPMC, 0xFFFFFFFF)
  105. Name (TPMM, 0xFED40000)
  106. Name (FTPM, 0xFFFFFFFF)
  107. Name (AMDT, Zero)
  108. Name (TPMF, Zero)
  109. Name (PMCB, 0xFED03000)
  110. Name (PMCP, 0xFED030A0)
  111. Name (PUNB, 0xFED06000)
  112. Name (IBAS, 0xFED08000)
  113. Name (FMBL, One)
  114. Name (FDTP, 0x02)
  115. Name (RCOM, 0xFED98000)
  116. OperationRegion (GNVS, SystemMemory, 0xBB2FF000, 0x0372)
  117. Field (GNVS, AnyAcc, Lock, Preserve)
  118. {
  119. OSYS, 16,
  120. SMIF, 8,
  121. PRM0, 8,
  122. PRM1, 8,
  123. SCIF, 8,
  124. PRM2, 8,
  125. PRM3, 8,
  126. LCKF, 8,
  127. PRM4, 8,
  128. PRM5, 8,
  129. P80D, 32,
  130. LIDS, 8,
  131. PWRS, 8,
  132. DBGS, 8,
  133. THOF, 8,
  134. ACT1, 8,
  135. ACTT, 8,
  136. PSVT, 8,
  137. TC1V, 8,
  138. TC2V, 8,
  139. TSPV, 8,
  140. CRTT, 8,
  141. DTSE, 8,
  142. DTS1, 8,
  143. DTS2, 8,
  144. DTSF, 8,
  145. BNUM, 8,
  146. B0SC, 8,
  147. B1SC, 8,
  148. B2SC, 8,
  149. B0SS, 8,
  150. B1SS, 8,
  151. B2SS, 8,
  152. REVS, 8,
  153. OSID, 8,
  154. ADED, 8,
  155. APIC, 8,
  156. MPEN, 8,
  157. PCP0, 8,
  158. PCP1, 8,
  159. PPCM, 8,
  160. PPMF, 32,
  161. Offset (0x32),
  162. NATP, 8,
  163. CMAP, 8,
  164. CMBP, 8,
  165. LPTP, 8,
  166. FDCP, 8,
  167. CMCP, 8,
  168. CIRP, 8,
  169. W381, 8,
  170. NPCE, 8,
  171. Offset (0x3C),
  172. IGDS, 8,
  173. TLST, 8,
  174. CADL, 8,
  175. PADL, 8,
  176. CSTE, 16,
  177. NSTE, 16,
  178. SSTE, 16,
  179. NDID, 8,
  180. DID1, 32,
  181. DID2, 32,
  182. DID3, 32,
  183. DID4, 32,
  184. DID5, 32,
  185. KSV0, 32,
  186. KSV1, 8,
  187. Offset (0x67),
  188. BLCS, 8,
  189. BRTL, 8,
  190. ALSE, 8,
  191. ALAF, 8,
  192. LLOW, 8,
  193. LHIH, 8,
  194. Offset (0x6E),
  195. EMAE, 8,
  196. EMAP, 16,
  197. EMAL, 16,
  198. Offset (0x74),
  199. MEFE, 8,
  200. DSTS, 8,
  201. Offset (0x78),
  202. TPMP, 8,
  203. TM2E, 8,
  204. MORD, 8,
  205. TCGP, 8,
  206. PPRP, 32,
  207. PPRQ, 8,
  208. LPPR, 8,
  209. GTF0, 56,
  210. GTF2, 56,
  211. IDEM, 8,
  212. GTF1, 56,
  213. Offset (0xAA),
  214. ASLB, 32,
  215. IBTT, 8,
  216. IPAT, 8,
  217. ITVF, 8,
  218. ITVM, 8,
  219. IPSC, 8,
  220. IBLC, 8,
  221. IBIA, 8,
  222. ISSC, 8,
  223. I409, 8,
  224. I509, 8,
  225. I609, 8,
  226. I709, 8,
  227. IDMM, 8,
  228. IDMS, 8,
  229. IF1E, 8,
  230. HVCO, 8,
  231. NXD1, 32,
  232. NXD2, 32,
  233. NXD3, 32,
  234. NXD4, 32,
  235. NXD5, 32,
  236. NXD6, 32,
  237. NXD7, 32,
  238. NXD8, 32,
  239. GSMI, 8,
  240. PAVP, 8,
  241. Offset (0xE1),
  242. OSCC, 8,
  243. NEXP, 8,
  244. Offset (0xEB),
  245. DSEN, 8,
  246. ECON, 8,
  247. GPIC, 8,
  248. CTYP, 8,
  249. L01C, 8,
  250. VFN0, 8,
  251. VFN1, 8,
  252. Offset (0x100),
  253. NVGA, 32,
  254. NVHA, 32,
  255. AMDA, 32,
  256. DID6, 32,
  257. DID7, 32,
  258. DID8, 32,
  259. Offset (0x147),
  260. OTG0, 32,
  261. OTG1, 32,
  262. LPE0, 32,
  263. LPE1, 32,
  264. LPE2, 32,
  265. ACST, 8,
  266. BTST, 8,
  267. PFLV, 8,
  268. BREV, 8,
  269. AOAC, 8,
  270. XHCI, 8,
  271. PMEN, 8,
  272. USEL, 8,
  273. ISPA, 32,
  274. ISPD, 8,
  275. D10A, 32,
  276. D10L, 32,
  277. D11A, 32,
  278. D11L, 32,
  279. P10A, 32,
  280. P10L, 32,
  281. P11A, 32,
  282. P11L, 32,
  283. P20A, 32,
  284. P20L, 32,
  285. P21A, 32,
  286. P21L, 32,
  287. U10A, 32,
  288. U10L, 32,
  289. U11A, 32,
  290. U11L, 32,
  291. U20A, 32,
  292. U20L, 32,
  293. U21A, 32,
  294. U21L, 32,
  295. SP0A, 32,
  296. SP0L, 32,
  297. SP1A, 32,
  298. SP1L, 32,
  299. S20A, 32,
  300. S20L, 32,
  301. S21A, 32,
  302. S21L, 32,
  303. S30A, 32,
  304. S30L, 32,
  305. S31A, 32,
  306. S31L, 32,
  307. D20A, 32,
  308. D20L, 32,
  309. D21A, 32,
  310. D21L, 32,
  311. I10A, 32,
  312. I10L, 32,
  313. I11A, 32,
  314. I11L, 32,
  315. I20A, 32,
  316. I20L, 32,
  317. I21A, 32,
  318. I21L, 32,
  319. I30A, 32,
  320. I30L, 32,
  321. I31A, 32,
  322. I31L, 32,
  323. I40A, 32,
  324. I40L, 32,
  325. I41A, 32,
  326. I41L, 32,
  327. I50A, 32,
  328. I50L, 32,
  329. I51A, 32,
  330. I51L, 32,
  331. I60A, 32,
  332. I60L, 32,
  333. I61A, 32,
  334. I61L, 32,
  335. I70A, 32,
  336. I70L, 32,
  337. I71A, 32,
  338. I71L, 32,
  339. EM0A, 32,
  340. EM0L, 32,
  341. EM1A, 32,
  342. EM1L, 32,
  343. SI0A, 32,
  344. SI0L, 32,
  345. SI1A, 32,
  346. SI1L, 32,
  347. SD0A, 32,
  348. SD0L, 32,
  349. SD1A, 32,
  350. SD1L, 32,
  351. ISH0, 32,
  352. ISH1, 32,
  353. Offset (0x2A4),
  354. Offset (0x2A8),
  355. DPTE, 8,
  356. THM0, 8,
  357. THM1, 8,
  358. THM2, 8,
  359. THM3, 8,
  360. THM4, 8,
  361. CHGR, 8,
  362. DDSP, 8,
  363. DSOC, 8,
  364. DPSR, 8,
  365. DPCT, 32,
  366. DPPT, 32,
  367. DGC0, 32,
  368. DGP0, 32,
  369. DGC1, 32,
  370. DGP1, 32,
  371. DGC2, 32,
  372. DGP2, 32,
  373. DGC3, 32,
  374. DGP3, 32,
  375. DGC4, 32,
  376. DGP4, 32,
  377. DLPM, 8,
  378. DSC0, 32,
  379. DSC1, 32,
  380. DSC2, 32,
  381. DSC3, 32,
  382. DSC4, 32,
  383. DDBG, 8,
  384. LPOE, 32,
  385. LPPS, 32,
  386. LPST, 32,
  387. LPPC, 32,
  388. LPPF, 32,
  389. DPME, 8,
  390. BCSL, 8,
  391. RSVD, 8,
  392. BTHS, 8,
  393. TM2A, 32,
  394. TM2L, 32,
  395. PSSD, 8,
  396. ITSA, 8,
  397. S0IX, 8,
  398. SDMD, 8,
  399. EMVR, 8,
  400. BMBD, 32,
  401. FSAS, 8,
  402. BDID, 8,
  403. FBID, 8,
  404. OTGM, 8,
  405. STEP, 8,
  406. SOCS, 8,
  407. AMTE, 8,
  408. ABC0, 8,
  409. ABC1, 8,
  410. ABC2, 8,
  411. ABC3, 8,
  412. ABC4, 8,
  413. ABC5, 8,
  414. DPHL, 8,
  415. DPLL, 8,
  416. DBAT, 8,
  417. DTPM, 8,
  418. RSV, 8,
  419. PSDE, 8,
  420. RSD2, 8,
  421. MODS, 8,
  422. WWEN, 8,
  423. WWCR, 32,
  424. WWPS, 32,
  425. ABS0, 8,
  426. ABS1, 8,
  427. ABS2, 8,
  428. ABS3, 8,
  429. ABS4, 8,
  430. ABS5, 8,
  431. RCAM, 8,
  432. ECAM, 8,
  433. AUCD, 8,
  434. BTHM, 8,
  435. PMID, 8,
  436. MPNL, 8,
  437. VTSP, 16,
  438. Offset (0x34E),
  439. Offset (0x34F),
  440. FMDM, 8,
  441. SDVL, 8,
  442. MLSD, 8,
  443. SCDD, 8,
  444. HPME, 8,
  445. GPSD, 8,
  446. PAVB, 32,
  447. PAVL, 32,
  448. NUSB, 8,
  449. DSFG, 8,
  450. DAMT, 8,
  451. MODM, 8,
  452. UBCB, 32,
  453. PSSE, 8,
  454. MFCS, 8,
  455. MRCS, 8,
  456. TPID, 8,
  457. CIND, 8,
  458. LIDA, 8,
  459. GSSR, 8,
  460. CAMR, 8,
  461. CAMF, 8,
  462. BTID, 8,
  463. GPSS, 8,
  464. LSID, 8,
  465. DTGS, 8
  466. }
  467.  
  468. Method (ADBG, 1, Serialized)
  469. {
  470. Return (Zero)
  471. }
  472.  
  473. Name (WAKP, Package (0x02)
  474. {
  475. Zero,
  476. Zero
  477. })
  478. Name (SS1, Zero)
  479. Name (SS2, Zero)
  480. Name (SS3, Zero)
  481. Name (SS4, One)
  482. Name (IOST, 0xFFFF)
  483. Name (TOPM, 0x00000000)
  484. Name (ROMS, 0xFFE00000)
  485. Name (VGAF, One)
  486. Scope (_SB)
  487. {
  488. Name (PRSA, ResourceTemplate ()
  489. {
  490. IRQ (Level, ActiveLow, Shared, )
  491. {3,4,5,6,10,11,12,14,15}
  492. })
  493. Alias (PRSA, PRSB)
  494. Alias (PRSA, PRSC)
  495. Alias (PRSA, PRSD)
  496. Alias (PRSA, PRSE)
  497. Alias (PRSA, PRSF)
  498. Alias (PRSA, PRSG)
  499. Alias (PRSA, PRSH)
  500. Name (PR00, Package (0x17)
  501. {
  502. Package (0x04)
  503. {
  504. 0x0002FFFF,
  505. Zero,
  506. LNKA,
  507. Zero
  508. },
  509.  
  510. Package (0x04)
  511. {
  512. 0x0003FFFF,
  513. Zero,
  514. LNKB,
  515. Zero
  516. },
  517.  
  518. Package (0x04)
  519. {
  520. 0x000AFFFF,
  521. Zero,
  522. LNKE,
  523. Zero
  524. },
  525.  
  526. Package (0x04)
  527. {
  528. 0x000BFFFF,
  529. Zero,
  530. LNKF,
  531. Zero
  532. },
  533.  
  534. Package (0x04)
  535. {
  536. 0x001CFFFF,
  537. Zero,
  538. LNKA,
  539. Zero
  540. },
  541.  
  542. Package (0x04)
  543. {
  544. 0x001CFFFF,
  545. One,
  546. LNKB,
  547. Zero
  548. },
  549.  
  550. Package (0x04)
  551. {
  552. 0x001CFFFF,
  553. 0x02,
  554. LNKC,
  555. Zero
  556. },
  557.  
  558. Package (0x04)
  559. {
  560. 0x001CFFFF,
  561. 0x03,
  562. LNKD,
  563. Zero
  564. },
  565.  
  566. Package (0x04)
  567. {
  568. 0x0010FFFF,
  569. Zero,
  570. LNKA,
  571. Zero
  572. },
  573.  
  574. Package (0x04)
  575. {
  576. 0x0011FFFF,
  577. Zero,
  578. LNKB,
  579. Zero
  580. },
  581.  
  582. Package (0x04)
  583. {
  584. 0x0012FFFF,
  585. Zero,
  586. LNKC,
  587. Zero
  588. },
  589.  
  590. Package (0x04)
  591. {
  592. 0x0014FFFF,
  593. Zero,
  594. LNKE,
  595. Zero
  596. },
  597.  
  598. Package (0x04)
  599. {
  600. 0x0015FFFF,
  601. Zero,
  602. LNKF,
  603. Zero
  604. },
  605.  
  606. Package (0x04)
  607. {
  608. 0x0016FFFF,
  609. Zero,
  610. LNKH,
  611. Zero
  612. },
  613.  
  614. Package (0x04)
  615. {
  616. 0x0018FFFF,
  617. Zero,
  618. LNKB,
  619. Zero
  620. },
  621.  
  622. Package (0x04)
  623. {
  624. 0x0018FFFF,
  625. 0x02,
  626. LNKD,
  627. Zero
  628. },
  629.  
  630. Package (0x04)
  631. {
  632. 0x0018FFFF,
  633. 0x03,
  634. LNKC,
  635. Zero
  636. },
  637.  
  638. Package (0x04)
  639. {
  640. 0x0018FFFF,
  641. One,
  642. LNKA,
  643. Zero
  644. },
  645.  
  646. Package (0x04)
  647. {
  648. 0x001AFFFF,
  649. Zero,
  650. LNKF,
  651. Zero
  652. },
  653.  
  654. Package (0x04)
  655. {
  656. 0x001EFFFF,
  657. Zero,
  658. LNKD,
  659. Zero
  660. },
  661.  
  662. Package (0x04)
  663. {
  664. 0x001EFFFF,
  665. 0x03,
  666. LNKA,
  667. Zero
  668. },
  669.  
  670. Package (0x04)
  671. {
  672. 0x001EFFFF,
  673. One,
  674. LNKB,
  675. Zero
  676. },
  677.  
  678. Package (0x04)
  679. {
  680. 0x001EFFFF,
  681. 0x02,
  682. LNKC,
  683. Zero
  684. }
  685. })
  686. Name (AR00, Package (0x17)
  687. {
  688. Package (0x04)
  689. {
  690. 0x0002FFFF,
  691. Zero,
  692. Zero,
  693. 0x10
  694. },
  695.  
  696. Package (0x04)
  697. {
  698. 0x0003FFFF,
  699. Zero,
  700. Zero,
  701. 0x11
  702. },
  703.  
  704. Package (0x04)
  705. {
  706. 0x000AFFFF,
  707. Zero,
  708. Zero,
  709. 0x14
  710. },
  711.  
  712. Package (0x04)
  713. {
  714. 0x000BFFFF,
  715. Zero,
  716. Zero,
  717. 0x15
  718. },
  719.  
  720. Package (0x04)
  721. {
  722. 0x001CFFFF,
  723. Zero,
  724. Zero,
  725. 0x10
  726. },
  727.  
  728. Package (0x04)
  729. {
  730. 0x001CFFFF,
  731. One,
  732. Zero,
  733. 0x11
  734. },
  735.  
  736. Package (0x04)
  737. {
  738. 0x001CFFFF,
  739. 0x02,
  740. Zero,
  741. 0x12
  742. },
  743.  
  744. Package (0x04)
  745. {
  746. 0x001CFFFF,
  747. 0x03,
  748. Zero,
  749. 0x13
  750. },
  751.  
  752. Package (0x04)
  753. {
  754. 0x0010FFFF,
  755. Zero,
  756. Zero,
  757. 0x10
  758. },
  759.  
  760. Package (0x04)
  761. {
  762. 0x0011FFFF,
  763. Zero,
  764. Zero,
  765. 0x11
  766. },
  767.  
  768. Package (0x04)
  769. {
  770. 0x0012FFFF,
  771. Zero,
  772. Zero,
  773. 0x12
  774. },
  775.  
  776. Package (0x04)
  777. {
  778. 0x0014FFFF,
  779. Zero,
  780. Zero,
  781. 0x14
  782. },
  783.  
  784. Package (0x04)
  785. {
  786. 0x0015FFFF,
  787. Zero,
  788. Zero,
  789. 0x15
  790. },
  791.  
  792. Package (0x04)
  793. {
  794. 0x0016FFFF,
  795. Zero,
  796. Zero,
  797. 0x17
  798. },
  799.  
  800. Package (0x04)
  801. {
  802. 0x0018FFFF,
  803. Zero,
  804. Zero,
  805. 0x11
  806. },
  807.  
  808. Package (0x04)
  809. {
  810. 0x0018FFFF,
  811. 0x02,
  812. Zero,
  813. 0x13
  814. },
  815.  
  816. Package (0x04)
  817. {
  818. 0x0018FFFF,
  819. 0x03,
  820. Zero,
  821. 0x12
  822. },
  823.  
  824. Package (0x04)
  825. {
  826. 0x0018FFFF,
  827. One,
  828. Zero,
  829. 0x10
  830. },
  831.  
  832. Package (0x04)
  833. {
  834. 0x001AFFFF,
  835. Zero,
  836. Zero,
  837. 0x15
  838. },
  839.  
  840. Package (0x04)
  841. {
  842. 0x001EFFFF,
  843. Zero,
  844. Zero,
  845. 0x13
  846. },
  847.  
  848. Package (0x04)
  849. {
  850. 0x001EFFFF,
  851. 0x03,
  852. Zero,
  853. 0x10
  854. },
  855.  
  856. Package (0x04)
  857. {
  858. 0x001EFFFF,
  859. One,
  860. Zero,
  861. 0x11
  862. },
  863.  
  864. Package (0x04)
  865. {
  866. 0x001EFFFF,
  867. 0x02,
  868. Zero,
  869. 0x12
  870. }
  871. })
  872. Name (PR01, Package (0x04)
  873. {
  874. Package (0x04)
  875. {
  876. 0xFFFF,
  877. Zero,
  878. LNKA,
  879. Zero
  880. },
  881.  
  882. Package (0x04)
  883. {
  884. 0xFFFF,
  885. One,
  886. LNKB,
  887. Zero
  888. },
  889.  
  890. Package (0x04)
  891. {
  892. 0xFFFF,
  893. 0x02,
  894. LNKC,
  895. Zero
  896. },
  897.  
  898. Package (0x04)
  899. {
  900. 0xFFFF,
  901. 0x03,
  902. LNKD,
  903. Zero
  904. }
  905. })
  906. Name (AR01, Package (0x04)
  907. {
  908. Package (0x04)
  909. {
  910. 0xFFFF,
  911. Zero,
  912. Zero,
  913. 0x10
  914. },
  915.  
  916. Package (0x04)
  917. {
  918. 0xFFFF,
  919. One,
  920. Zero,
  921. 0x11
  922. },
  923.  
  924. Package (0x04)
  925. {
  926. 0xFFFF,
  927. 0x02,
  928. Zero,
  929. 0x12
  930. },
  931.  
  932. Package (0x04)
  933. {
  934. 0xFFFF,
  935. 0x03,
  936. Zero,
  937. 0x13
  938. }
  939. })
  940. Name (PR02, Package (0x04)
  941. {
  942. Package (0x04)
  943. {
  944. 0xFFFF,
  945. Zero,
  946. LNKB,
  947. Zero
  948. },
  949.  
  950. Package (0x04)
  951. {
  952. 0xFFFF,
  953. One,
  954. LNKC,
  955. Zero
  956. },
  957.  
  958. Package (0x04)
  959. {
  960. 0xFFFF,
  961. 0x02,
  962. LNKD,
  963. Zero
  964. },
  965.  
  966. Package (0x04)
  967. {
  968. 0xFFFF,
  969. 0x03,
  970. LNKA,
  971. Zero
  972. }
  973. })
  974. Name (AR02, Package (0x04)
  975. {
  976. Package (0x04)
  977. {
  978. 0xFFFF,
  979. Zero,
  980. Zero,
  981. 0x11
  982. },
  983.  
  984. Package (0x04)
  985. {
  986. 0xFFFF,
  987. One,
  988. Zero,
  989. 0x12
  990. },
  991.  
  992. Package (0x04)
  993. {
  994. 0xFFFF,
  995. 0x02,
  996. Zero,
  997. 0x13
  998. },
  999.  
  1000. Package (0x04)
  1001. {
  1002. 0xFFFF,
  1003. 0x03,
  1004. Zero,
  1005. 0x10
  1006. }
  1007. })
  1008. Name (PR03, Package (0x04)
  1009. {
  1010. Package (0x04)
  1011. {
  1012. 0xFFFF,
  1013. Zero,
  1014. LNKC,
  1015. Zero
  1016. },
  1017.  
  1018. Package (0x04)
  1019. {
  1020. 0xFFFF,
  1021. One,
  1022. LNKD,
  1023. Zero
  1024. },
  1025.  
  1026. Package (0x04)
  1027. {
  1028. 0xFFFF,
  1029. 0x02,
  1030. LNKA,
  1031. Zero
  1032. },
  1033.  
  1034. Package (0x04)
  1035. {
  1036. 0xFFFF,
  1037. 0x03,
  1038. LNKB,
  1039. Zero
  1040. }
  1041. })
  1042. Name (AR03, Package (0x04)
  1043. {
  1044. Package (0x04)
  1045. {
  1046. 0xFFFF,
  1047. Zero,
  1048. Zero,
  1049. 0x12
  1050. },
  1051.  
  1052. Package (0x04)
  1053. {
  1054. 0xFFFF,
  1055. One,
  1056. Zero,
  1057. 0x13
  1058. },
  1059.  
  1060. Package (0x04)
  1061. {
  1062. 0xFFFF,
  1063. 0x02,
  1064. Zero,
  1065. 0x10
  1066. },
  1067.  
  1068. Package (0x04)
  1069. {
  1070. 0xFFFF,
  1071. 0x03,
  1072. Zero,
  1073. 0x11
  1074. }
  1075. })
  1076. Name (PR04, Package (0x04)
  1077. {
  1078. Package (0x04)
  1079. {
  1080. 0xFFFF,
  1081. Zero,
  1082. LNKD,
  1083. Zero
  1084. },
  1085.  
  1086. Package (0x04)
  1087. {
  1088. 0xFFFF,
  1089. One,
  1090. LNKA,
  1091. Zero
  1092. },
  1093.  
  1094. Package (0x04)
  1095. {
  1096. 0xFFFF,
  1097. 0x02,
  1098. LNKB,
  1099. Zero
  1100. },
  1101.  
  1102. Package (0x04)
  1103. {
  1104. 0xFFFF,
  1105. 0x03,
  1106. LNKC,
  1107. Zero
  1108. }
  1109. })
  1110. Name (AR04, Package (0x04)
  1111. {
  1112. Package (0x04)
  1113. {
  1114. 0xFFFF,
  1115. Zero,
  1116. Zero,
  1117. 0x13
  1118. },
  1119.  
  1120. Package (0x04)
  1121. {
  1122. 0xFFFF,
  1123. One,
  1124. Zero,
  1125. 0x10
  1126. },
  1127.  
  1128. Package (0x04)
  1129. {
  1130. 0xFFFF,
  1131. 0x02,
  1132. Zero,
  1133. 0x11
  1134. },
  1135.  
  1136. Package (0x04)
  1137. {
  1138. 0xFFFF,
  1139. 0x03,
  1140. Zero,
  1141. 0x12
  1142. }
  1143. })
  1144. }
  1145.  
  1146. Scope (_SB)
  1147. {
  1148. Device (PCI0)
  1149. {
  1150. Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
  1151. Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
  1152. Name (_ADR, Zero) // _ADR: Address
  1153. Method (^BN00, 0, NotSerialized)
  1154. {
  1155. Return (Zero)
  1156. }
  1157.  
  1158. Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number
  1159. {
  1160. Return (BN00 ())
  1161. }
  1162.  
  1163. Name (_UID, Zero) // _UID: Unique ID
  1164. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  1165. {
  1166. If (PICM)
  1167. {
  1168. Return (AR00) /* \_SB_.AR00 */
  1169. }
  1170.  
  1171. Return (PR00) /* \_SB_.PR00 */
  1172. }
  1173.  
  1174. Device (CHVC)
  1175. {
  1176. Name (_ADR, Zero) // _ADR: Address
  1177. OperationRegion (HBUS, PCI_Config, Zero, 0xFF)
  1178. Field (HBUS, DWordAcc, NoLock, Preserve)
  1179. {
  1180. Offset (0xD0),
  1181. SMCR, 32,
  1182. SMDR, 32,
  1183. MCRX, 32,
  1184. MCXX, 32
  1185. }
  1186.  
  1187. Method (RMBR, 2, Serialized)
  1188. {
  1189. Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08))
  1190. SMCR = (0x100000F0 | Local0)
  1191. Return (SMDR) /* \_SB_.PCI0.CHVC.SMDR */
  1192. }
  1193.  
  1194. Method (WMBR, 3, Serialized)
  1195. {
  1196. SMDR = Arg2
  1197. Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08))
  1198. SMCR = (0x110000F0 | Local0)
  1199. }
  1200.  
  1201. Method (RMBX, 6, Serialized)
  1202. {
  1203. Local4 = (Arg3 & 0x07)
  1204. Local4 = ShiftLeft (Local4, 0x08)
  1205. Local5 = ((Arg4 << 0x03) | Arg5)
  1206. Local5 &= 0xFF
  1207. MCXX = (Local4 | Local5)
  1208. Local3 = (Arg1 & 0xFFFFFF00)
  1209. MCRX = Local3
  1210. Local0 = (Arg1 & 0xFF)
  1211. Local1 = ((Arg2 << 0x18) | (Arg0 << 0x10))
  1212. Local1 &= 0xFFFF0000
  1213. Local2 = ((Local0 << 0x08) | 0xF0)
  1214. Local2 &= 0xFFFF
  1215. SMCR = (Local1 | Local2)
  1216. Return (SMDR) /* \_SB_.PCI0.CHVC.SMDR */
  1217. }
  1218.  
  1219. Method (WMBX, 7, Serialized)
  1220. {
  1221. Local4 = (Arg4 & 0x07)
  1222. Local4 = ShiftLeft (Local4, 0x08)
  1223. Local5 = ((Arg5 << 0x03) | Arg6)
  1224. Local5 &= 0xFF
  1225. MCXX = (Local4 | Local5)
  1226. Local3 = (Arg1 & 0xFFFFFF00)
  1227. MCRX = Local3
  1228. SMDR = Arg2
  1229. Local0 = (Arg1 & 0xFF)
  1230. Local1 = ((Arg3 << 0x18) | (Arg0 << 0x10))
  1231. Local1 &= 0xFFFF0000
  1232. Local2 = ((Local0 << 0x08) | 0xF0)
  1233. Local2 &= 0xFFFF
  1234. SMCR = (Local1 | Local2)
  1235. }
  1236. }
  1237.  
  1238. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  1239. {
  1240. Name (FTSZ, 0x00100000)
  1241. CreateDWordField (RES0, \_SB.PCI0._Y00._MIN, LPMN) // _MIN: Minimum Base Address
  1242. CreateDWordField (RES0, \_SB.PCI0._Y00._MAX, LPMX) // _MAX: Maximum Base Address
  1243. CreateDWordField (RES0, \_SB.PCI0._Y00._LEN, LPLN) // _LEN: Length
  1244. If ((LPE2 != Zero) && (LPED == Zero))
  1245. {
  1246. LPMN = LPE2 /* \LPE2 */
  1247. LPMX = (LPMN + LPLN) /* \_SB_.PCI0._CRS.LPLN */
  1248. LPMX -= One
  1249. }
  1250. Else
  1251. {
  1252. LPMN = Zero
  1253. LPMX = Zero
  1254. LPLN = Zero
  1255. }
  1256.  
  1257. CreateDWordField (RES0, \_SB.PCI0._Y01._MIN, ISMN) // _MIN: Minimum Base Address
  1258. CreateDWordField (RES0, \_SB.PCI0._Y01._MAX, ISMX) // _MAX: Maximum Base Address
  1259. CreateDWordField (RES0, \_SB.PCI0._Y01._LEN, ISLN) // _LEN: Length
  1260. If (ISPD == One)
  1261. {
  1262. ISMN = ISPA /* \ISPA */
  1263. ISMX = (ISMN + ISLN) /* \_SB_.PCI0._CRS.ISLN */
  1264. ISMX -= One
  1265. }
  1266. Else
  1267. {
  1268. ISMN = Zero
  1269. ISMX = Zero
  1270. ISLN = Zero
  1271. }
  1272.  
  1273. CreateDWordField (RES0, \_SB.PCI0._Y02._MIN, M1MN) // _MIN: Minimum Base Address
  1274. CreateDWordField (RES0, \_SB.PCI0._Y02._MAX, M1MX) // _MAX: Maximum Base Address
  1275. CreateDWordField (RES0, \_SB.PCI0._Y02._LEN, M1LN) // _LEN: Length
  1276. M1MN = (BMBD & 0xFF000000)
  1277. M1LN = ((M1MX - M1MN) + One)
  1278. CreateDWordField (RES0, \_SB.PCI0._Y03._MIN, GSMN) // _MIN: Minimum Base Address
  1279. CreateDWordField (RES0, \_SB.PCI0._Y03._MAX, GSMX) // _MAX: Maximum Base Address
  1280. CreateDWordField (RES0, \_SB.PCI0._Y03._LEN, GSLN) // _LEN: Length
  1281. GSMN = ^GFX0.GSTM /* \_SB_.PCI0.GFX0.GSTM */
  1282. GSLN = (^GFX0.GUMA << 0x19)
  1283. GSMX = (GSMN + GSLN) /* \_SB_.PCI0._CRS.GSLN */
  1284. GSMX -= One
  1285. Return (RES0) /* \_SB_.PCI0.RES0 */
  1286. }
  1287.  
  1288. Name (RES0, ResourceTemplate ()
  1289. {
  1290. WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
  1291. 0x0000, // Granularity
  1292. 0x0000, // Range Minimum
  1293. 0x00FF, // Range Maximum
  1294. 0x0000, // Translation Offset
  1295. 0x0100, // Length
  1296. ,, )
  1297. IO (Decode16,
  1298. 0x0070, // Range Minimum
  1299. 0x0077, // Range Maximum
  1300. 0x01, // Alignment
  1301. 0x08, // Length
  1302. )
  1303. IO (Decode16,
  1304. 0x0CF8, // Range Minimum
  1305. 0x0CF8, // Range Maximum
  1306. 0x01, // Alignment
  1307. 0x08, // Length
  1308. )
  1309. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1310. 0x0000, // Granularity
  1311. 0x0000, // Range Minimum
  1312. 0x006F, // Range Maximum
  1313. 0x0000, // Translation Offset
  1314. 0x0070, // Length
  1315. ,, , TypeStatic, DenseTranslation)
  1316. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1317. 0x0000, // Granularity
  1318. 0x0078, // Range Minimum
  1319. 0x0CF7, // Range Maximum
  1320. 0x0000, // Translation Offset
  1321. 0x0C80, // Length
  1322. ,, , TypeStatic, DenseTranslation)
  1323. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1324. 0x0000, // Granularity
  1325. 0x0D00, // Range Minimum
  1326. 0xFFFF, // Range Maximum
  1327. 0x0000, // Translation Offset
  1328. 0xF300, // Length
  1329. ,, , TypeStatic, DenseTranslation)
  1330. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1331. 0x00000000, // Granularity
  1332. 0x000A0000, // Range Minimum
  1333. 0x000BFFFF, // Range Maximum
  1334. 0x00000000, // Translation Offset
  1335. 0x00020000, // Length
  1336. ,, , AddressRangeMemory, TypeStatic)
  1337. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1338. 0x00000000, // Granularity
  1339. 0x000C0000, // Range Minimum
  1340. 0x000DFFFF, // Range Maximum
  1341. 0x00000000, // Translation Offset
  1342. 0x00020000, // Length
  1343. ,, , AddressRangeMemory, TypeStatic)
  1344. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1345. 0x00000000, // Granularity
  1346. 0x000E0000, // Range Minimum
  1347. 0x000FFFFF, // Range Maximum
  1348. 0x00000000, // Translation Offset
  1349. 0x00020000, // Length
  1350. ,, , AddressRangeMemory, TypeStatic)
  1351. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1352. 0x00000000, // Granularity
  1353. 0x20000000, // Range Minimum
  1354. 0x201FFFFF, // Range Maximum
  1355. 0x00000000, // Translation Offset
  1356. 0x00200000, // Length
  1357. ,, _Y00, AddressRangeMemory, TypeStatic)
  1358. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1359. 0x00000000, // Granularity
  1360. 0x7A000000, // Range Minimum
  1361. 0x7A3FFFFF, // Range Maximum
  1362. 0x00000000, // Translation Offset
  1363. 0x00400000, // Length
  1364. ,, _Y01, AddressRangeMemory, TypeStatic)
  1365. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1366. 0x00000000, // Granularity
  1367. 0x7C000000, // Range Minimum
  1368. 0x7FFFFFFF, // Range Maximum
  1369. 0x00000000, // Translation Offset
  1370. 0x04000000, // Length
  1371. ,, _Y03, AddressRangeMemory, TypeStatic)
  1372. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1373. 0x00000000, // Granularity
  1374. 0x80000000, // Range Minimum
  1375. 0xDFFFFFFF, // Range Maximum
  1376. 0x00000000, // Translation Offset
  1377. 0x60000000, // Length
  1378. ,, _Y02, AddressRangeMemory, TypeStatic)
  1379. })
  1380. Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
  1381. Name (SUPP, Zero)
  1382. Name (CTRL, Zero)
  1383. Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
  1384. {
  1385. Local0 = Arg3
  1386. CreateDWordField (Local0, Zero, CDW1)
  1387. CreateDWordField (Local0, 0x04, CDW2)
  1388. CreateDWordField (Local0, 0x08, CDW3)
  1389. If (Arg0 == GUID)
  1390. {
  1391. SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
  1392. CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
  1393. If (~(CDW1 & One))
  1394. {
  1395. If (CTRL & 0x02)
  1396. {
  1397. NHPG ()
  1398. }
  1399.  
  1400. If (CTRL & 0x04)
  1401. {
  1402. NPME ()
  1403. }
  1404. }
  1405.  
  1406. If (Arg1 != One)
  1407. {
  1408. CDW1 |= 0x08
  1409. }
  1410.  
  1411. If (CDW3 != CTRL)
  1412. {
  1413. CDW1 |= 0x10
  1414. }
  1415.  
  1416. CDW3 = CTRL /* \_SB_.PCI0.CTRL */
  1417. OSCC = CTRL /* \_SB_.PCI0.CTRL */
  1418. Return (Local0)
  1419. }
  1420. Else
  1421. {
  1422. CDW1 |= 0x04
  1423. Return (Local0)
  1424. }
  1425. }
  1426.  
  1427. Device (GFX0)
  1428. {
  1429. Name (_ADR, 0x00020000) // _ADR: Address
  1430. }
  1431.  
  1432. Device (ISP3)
  1433. {
  1434. Name (_ADR, 0x00030000) // _ADR: Address
  1435. }
  1436.  
  1437. Device (LPCB)
  1438. {
  1439. Name (_ADR, 0x001F0000) // _ADR: Address
  1440. Scope (\_SB)
  1441. {
  1442. OperationRegion (ILBR, SystemMemory, IBAS, 0x8C)
  1443. Field (ILBR, AnyAcc, NoLock, Preserve)
  1444. {
  1445. Offset (0x08),
  1446. PARC, 8,
  1447. PBRC, 8,
  1448. PCRC, 8,
  1449. PDRC, 8,
  1450. PERC, 8,
  1451. PFRC, 8,
  1452. PGRC, 8,
  1453. PHRC, 8,
  1454. Offset (0x88),
  1455. , 4,
  1456. UI4E, 1
  1457. }
  1458.  
  1459. Device (LNKA)
  1460. {
  1461. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  1462. Name (_UID, One) // _UID: Unique ID
  1463. Method (_DIS, 0, Serialized) // _DIS: Disable Device
  1464. {
  1465. PARC |= 0x80
  1466. }
  1467.  
  1468. Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
  1469. {
  1470. Return (PRSA) /* \_SB_.PRSA */
  1471. }
  1472.  
  1473. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  1474. {
  1475. Name (RTLA, ResourceTemplate ()
  1476. {
  1477. IRQ (Level, ActiveLow, Shared, )
  1478. {}
  1479. })
  1480. CreateWordField (RTLA, One, IRQ0)
  1481. IRQ0 = Zero
  1482. IRQ0 = (One << (PARC & 0x0F))
  1483. Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
  1484. }
  1485.  
  1486. Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
  1487. {
  1488. CreateWordField (Arg0, One, IRQ0)
  1489. FindSetRightBit (IRQ0, Local0)
  1490. Local0--
  1491. PARC = Local0
  1492. }
  1493.  
  1494. Method (_STA, 0, Serialized) // _STA: Status
  1495. {
  1496. If (PARC & 0x80)
  1497. {
  1498. Return (0x09)
  1499. }
  1500. Else
  1501. {
  1502. Return (0x0B)
  1503. }
  1504. }
  1505. }
  1506.  
  1507. Device (LNKB)
  1508. {
  1509. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  1510. Name (_UID, 0x02) // _UID: Unique ID
  1511. Method (_DIS, 0, Serialized) // _DIS: Disable Device
  1512. {
  1513. PBRC |= 0x80
  1514. }
  1515.  
  1516. Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
  1517. {
  1518. Return (PRSB) /* \_SB_.PRSB */
  1519. }
  1520.  
  1521. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  1522. {
  1523. Name (RTLB, ResourceTemplate ()
  1524. {
  1525. IRQ (Level, ActiveLow, Shared, )
  1526. {}
  1527. })
  1528. CreateWordField (RTLB, One, IRQ0)
  1529. IRQ0 = Zero
  1530. IRQ0 = (One << (PBRC & 0x0F))
  1531. Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
  1532. }
  1533.  
  1534. Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
  1535. {
  1536. CreateWordField (Arg0, One, IRQ0)
  1537. FindSetRightBit (IRQ0, Local0)
  1538. Local0--
  1539. PBRC = Local0
  1540. }
  1541.  
  1542. Method (_STA, 0, Serialized) // _STA: Status
  1543. {
  1544. If (PBRC & 0x80)
  1545. {
  1546. Return (0x09)
  1547. }
  1548. Else
  1549. {
  1550. Return (0x0B)
  1551. }
  1552. }
  1553. }
  1554.  
  1555. Device (LNKC)
  1556. {
  1557. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  1558. Name (_UID, 0x03) // _UID: Unique ID
  1559. Method (_DIS, 0, Serialized) // _DIS: Disable Device
  1560. {
  1561. PCRC |= 0x80
  1562. }
  1563.  
  1564. Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
  1565. {
  1566. Return (PRSC) /* \_SB_.PRSC */
  1567. }
  1568.  
  1569. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  1570. {
  1571. Name (RTLC, ResourceTemplate ()
  1572. {
  1573. IRQ (Level, ActiveLow, Shared, )
  1574. {}
  1575. })
  1576. CreateWordField (RTLC, One, IRQ0)
  1577. IRQ0 = Zero
  1578. IRQ0 = (One << (PCRC & 0x0F))
  1579. Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
  1580. }
  1581.  
  1582. Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
  1583. {
  1584. CreateWordField (Arg0, One, IRQ0)
  1585. FindSetRightBit (IRQ0, Local0)
  1586. Local0--
  1587. PCRC = Local0
  1588. }
  1589.  
  1590. Method (_STA, 0, Serialized) // _STA: Status
  1591. {
  1592. If (PCRC & 0x80)
  1593. {
  1594. Return (0x09)
  1595. }
  1596. Else
  1597. {
  1598. Return (0x0B)
  1599. }
  1600. }
  1601. }
  1602.  
  1603. Device (LNKD)
  1604. {
  1605. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  1606. Name (_UID, 0x04) // _UID: Unique ID
  1607. Method (_DIS, 0, Serialized) // _DIS: Disable Device
  1608. {
  1609. PDRC |= 0x80
  1610. }
  1611.  
  1612. Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
  1613. {
  1614. Return (PRSD) /* \_SB_.PRSD */
  1615. }
  1616.  
  1617. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  1618. {
  1619. Name (RTLD, ResourceTemplate ()
  1620. {
  1621. IRQ (Level, ActiveLow, Shared, )
  1622. {}
  1623. })
  1624. CreateWordField (RTLD, One, IRQ0)
  1625. IRQ0 = Zero
  1626. IRQ0 = (One << (PDRC & 0x0F))
  1627. Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
  1628. }
  1629.  
  1630. Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
  1631. {
  1632. CreateWordField (Arg0, One, IRQ0)
  1633. FindSetRightBit (IRQ0, Local0)
  1634. Local0--
  1635. PDRC = Local0
  1636. }
  1637.  
  1638. Method (_STA, 0, Serialized) // _STA: Status
  1639. {
  1640. If (PDRC & 0x80)
  1641. {
  1642. Return (0x09)
  1643. }
  1644. Else
  1645. {
  1646. Return (0x0B)
  1647. }
  1648. }
  1649. }
  1650.  
  1651. Device (LNKE)
  1652. {
  1653. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  1654. Name (_UID, 0x05) // _UID: Unique ID
  1655. Method (_DIS, 0, Serialized) // _DIS: Disable Device
  1656. {
  1657. PERC |= 0x80
  1658. }
  1659.  
  1660. Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
  1661. {
  1662. Return (PRSE) /* \_SB_.PRSE */
  1663. }
  1664.  
  1665. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  1666. {
  1667. Name (RTLE, ResourceTemplate ()
  1668. {
  1669. IRQ (Level, ActiveLow, Shared, )
  1670. {}
  1671. })
  1672. CreateWordField (RTLE, One, IRQ0)
  1673. IRQ0 = Zero
  1674. IRQ0 = (One << (PERC & 0x0F))
  1675. Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
  1676. }
  1677.  
  1678. Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
  1679. {
  1680. CreateWordField (Arg0, One, IRQ0)
  1681. FindSetRightBit (IRQ0, Local0)
  1682. Local0--
  1683. PERC = Local0
  1684. }
  1685.  
  1686. Method (_STA, 0, Serialized) // _STA: Status
  1687. {
  1688. If (PERC & 0x80)
  1689. {
  1690. Return (0x09)
  1691. }
  1692. Else
  1693. {
  1694. Return (0x0B)
  1695. }
  1696. }
  1697. }
  1698.  
  1699. Device (LNKF)
  1700. {
  1701. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  1702. Name (_UID, 0x06) // _UID: Unique ID
  1703. Method (_DIS, 0, Serialized) // _DIS: Disable Device
  1704. {
  1705. PFRC |= 0x80
  1706. }
  1707.  
  1708. Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
  1709. {
  1710. Return (PRSF) /* \_SB_.PRSF */
  1711. }
  1712.  
  1713. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  1714. {
  1715. Name (RTLF, ResourceTemplate ()
  1716. {
  1717. IRQ (Level, ActiveLow, Shared, )
  1718. {}
  1719. })
  1720. CreateWordField (RTLF, One, IRQ0)
  1721. IRQ0 = Zero
  1722. IRQ0 = (One << (PFRC & 0x0F))
  1723. Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
  1724. }
  1725.  
  1726. Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
  1727. {
  1728. CreateWordField (Arg0, One, IRQ0)
  1729. FindSetRightBit (IRQ0, Local0)
  1730. Local0--
  1731. PFRC = Local0
  1732. }
  1733.  
  1734. Method (_STA, 0, Serialized) // _STA: Status
  1735. {
  1736. If (PFRC & 0x80)
  1737. {
  1738. Return (0x09)
  1739. }
  1740. Else
  1741. {
  1742. Return (0x0B)
  1743. }
  1744. }
  1745. }
  1746.  
  1747. Device (LNKG)
  1748. {
  1749. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  1750. Name (_UID, 0x07) // _UID: Unique ID
  1751. Method (_DIS, 0, Serialized) // _DIS: Disable Device
  1752. {
  1753. PGRC |= 0x80
  1754. }
  1755.  
  1756. Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
  1757. {
  1758. Return (PRSG) /* \_SB_.PRSG */
  1759. }
  1760.  
  1761. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  1762. {
  1763. Name (RTLG, ResourceTemplate ()
  1764. {
  1765. IRQ (Level, ActiveLow, Shared, )
  1766. {}
  1767. })
  1768. CreateWordField (RTLG, One, IRQ0)
  1769. IRQ0 = Zero
  1770. IRQ0 = (One << (PGRC & 0x0F))
  1771. Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
  1772. }
  1773.  
  1774. Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
  1775. {
  1776. CreateWordField (Arg0, One, IRQ0)
  1777. FindSetRightBit (IRQ0, Local0)
  1778. Local0--
  1779. PGRC = Local0
  1780. }
  1781.  
  1782. Method (_STA, 0, Serialized) // _STA: Status
  1783. {
  1784. If (PGRC & 0x80)
  1785. {
  1786. Return (0x09)
  1787. }
  1788. Else
  1789. {
  1790. Return (0x0B)
  1791. }
  1792. }
  1793. }
  1794.  
  1795. Device (LNKH)
  1796. {
  1797. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  1798. Name (_UID, 0x08) // _UID: Unique ID
  1799. Method (_DIS, 0, Serialized) // _DIS: Disable Device
  1800. {
  1801. PHRC |= 0x80
  1802. }
  1803.  
  1804. Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
  1805. {
  1806. Return (PRSH) /* \_SB_.PRSH */
  1807. }
  1808.  
  1809. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  1810. {
  1811. Name (RTLH, ResourceTemplate ()
  1812. {
  1813. IRQ (Level, ActiveLow, Shared, )
  1814. {}
  1815. })
  1816. CreateWordField (RTLH, One, IRQ0)
  1817. IRQ0 = Zero
  1818. IRQ0 = (One << (PHRC & 0x0F))
  1819. Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
  1820. }
  1821.  
  1822. Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
  1823. {
  1824. CreateWordField (Arg0, One, IRQ0)
  1825. FindSetRightBit (IRQ0, Local0)
  1826. Local0--
  1827. PHRC = Local0
  1828. }
  1829.  
  1830. Method (_STA, 0, Serialized) // _STA: Status
  1831. {
  1832. If (PHRC & 0x80)
  1833. {
  1834. Return (0x09)
  1835. }
  1836. Else
  1837. {
  1838. Return (0x0B)
  1839. }
  1840. }
  1841. }
  1842. }
  1843.  
  1844. OperationRegion (LPC0, PCI_Config, Zero, 0xC0)
  1845. Field (LPC0, AnyAcc, NoLock, Preserve)
  1846. {
  1847. Offset (0x08),
  1848. SRID, 8,
  1849. Offset (0x80),
  1850. C1EN, 1,
  1851. Offset (0x84)
  1852. }
  1853.  
  1854. Device (FWHD)
  1855. {
  1856. Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID
  1857. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  1858. {
  1859. Memory32Fixed (ReadOnly,
  1860. 0xFF000000, // Address Base
  1861. 0x01000000, // Address Length
  1862. )
  1863. })
  1864. }
  1865.  
  1866. Scope (\_SB)
  1867. {
  1868. Device (RTC)
  1869. {
  1870. Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
  1871. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  1872. {
  1873. IO (Decode16,
  1874. 0x0070, // Range Minimum
  1875. 0x0070, // Range Maximum
  1876. 0x01, // Alignment
  1877. 0x08, // Length
  1878. )
  1879. })
  1880. }
  1881.  
  1882. Device (HPET)
  1883. {
  1884. Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
  1885. Name (_UID, Zero) // _UID: Unique ID
  1886. Method (_STA, 0, NotSerialized) // _STA: Status
  1887. {
  1888. Return (0x0F)
  1889. }
  1890.  
  1891. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  1892. {
  1893. Name (RBUF, ResourceTemplate ()
  1894. {
  1895. Memory32Fixed (ReadWrite,
  1896. 0xFED00000, // Address Base
  1897. 0x00000400, // Address Length
  1898. )
  1899. Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
  1900. {
  1901. 0x00000008,
  1902. }
  1903. })
  1904. Name (GBUF, ResourceTemplate ()
  1905. {
  1906. Memory32Fixed (ReadWrite,
  1907. 0xFED00000, // Address Base
  1908. 0x00000400, // Address Length
  1909. )
  1910. Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
  1911. {
  1912. 0x00000008,
  1913. }
  1914. })
  1915. If (OSID == One)
  1916. {
  1917. Return (RBUF) /* \_SB_.HPET._CRS.RBUF */
  1918. }
  1919.  
  1920. Return (GBUF) /* \_SB_.HPET._CRS.GBUF */
  1921. }
  1922. }
  1923. }
  1924.  
  1925. Device (IPIC)
  1926. {
  1927. Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
  1928. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  1929. {
  1930. IO (Decode16,
  1931. 0x0020, // Range Minimum
  1932. 0x0020, // Range Maximum
  1933. 0x01, // Alignment
  1934. 0x02, // Length
  1935. )
  1936. IO (Decode16,
  1937. 0x0024, // Range Minimum
  1938. 0x0024, // Range Maximum
  1939. 0x01, // Alignment
  1940. 0x02, // Length
  1941. )
  1942. IO (Decode16,
  1943. 0x0028, // Range Minimum
  1944. 0x0028, // Range Maximum
  1945. 0x01, // Alignment
  1946. 0x02, // Length
  1947. )
  1948. IO (Decode16,
  1949. 0x002C, // Range Minimum
  1950. 0x002C, // Range Maximum
  1951. 0x01, // Alignment
  1952. 0x02, // Length
  1953. )
  1954. IO (Decode16,
  1955. 0x0030, // Range Minimum
  1956. 0x0030, // Range Maximum
  1957. 0x01, // Alignment
  1958. 0x02, // Length
  1959. )
  1960. IO (Decode16,
  1961. 0x0034, // Range Minimum
  1962. 0x0034, // Range Maximum
  1963. 0x01, // Alignment
  1964. 0x02, // Length
  1965. )
  1966. IO (Decode16,
  1967. 0x0038, // Range Minimum
  1968. 0x0038, // Range Maximum
  1969. 0x01, // Alignment
  1970. 0x02, // Length
  1971. )
  1972. IO (Decode16,
  1973. 0x003C, // Range Minimum
  1974. 0x003C, // Range Maximum
  1975. 0x01, // Alignment
  1976. 0x02, // Length
  1977. )
  1978. IO (Decode16,
  1979. 0x00A0, // Range Minimum
  1980. 0x00A0, // Range Maximum
  1981. 0x01, // Alignment
  1982. 0x02, // Length
  1983. )
  1984. IO (Decode16,
  1985. 0x00A4, // Range Minimum
  1986. 0x00A4, // Range Maximum
  1987. 0x01, // Alignment
  1988. 0x02, // Length
  1989. )
  1990. IO (Decode16,
  1991. 0x00A8, // Range Minimum
  1992. 0x00A8, // Range Maximum
  1993. 0x01, // Alignment
  1994. 0x02, // Length
  1995. )
  1996. IO (Decode16,
  1997. 0x00AC, // Range Minimum
  1998. 0x00AC, // Range Maximum
  1999. 0x01, // Alignment
  2000. 0x02, // Length
  2001. )
  2002. IO (Decode16,
  2003. 0x00B0, // Range Minimum
  2004. 0x00B0, // Range Maximum
  2005. 0x01, // Alignment
  2006. 0x02, // Length
  2007. )
  2008. IO (Decode16,
  2009. 0x00B4, // Range Minimum
  2010. 0x00B4, // Range Maximum
  2011. 0x01, // Alignment
  2012. 0x02, // Length
  2013. )
  2014. IO (Decode16,
  2015. 0x00B8, // Range Minimum
  2016. 0x00B8, // Range Maximum
  2017. 0x01, // Alignment
  2018. 0x02, // Length
  2019. )
  2020. IO (Decode16,
  2021. 0x00BC, // Range Minimum
  2022. 0x00BC, // Range Maximum
  2023. 0x01, // Alignment
  2024. 0x02, // Length
  2025. )
  2026. IO (Decode16,
  2027. 0x04D0, // Range Minimum
  2028. 0x04D0, // Range Maximum
  2029. 0x01, // Alignment
  2030. 0x02, // Length
  2031. )
  2032. IRQNoFlags ()
  2033. {2}
  2034. })
  2035. }
  2036.  
  2037. Device (LDRC)
  2038. {
  2039. Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
  2040. Name (_UID, 0x02) // _UID: Unique ID
  2041. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  2042. {
  2043. IO (Decode16,
  2044. 0x004E, // Range Minimum
  2045. 0x004E, // Range Maximum
  2046. 0x01, // Alignment
  2047. 0x02, // Length
  2048. )
  2049. IO (Decode16,
  2050. 0x0061, // Range Minimum
  2051. 0x0061, // Range Maximum
  2052. 0x01, // Alignment
  2053. 0x01, // Length
  2054. )
  2055. IO (Decode16,
  2056. 0x0063, // Range Minimum
  2057. 0x0063, // Range Maximum
  2058. 0x01, // Alignment
  2059. 0x01, // Length
  2060. )
  2061. IO (Decode16,
  2062. 0x0065, // Range Minimum
  2063. 0x0065, // Range Maximum
  2064. 0x01, // Alignment
  2065. 0x01, // Length
  2066. )
  2067. IO (Decode16,
  2068. 0x0067, // Range Minimum
  2069. 0x0067, // Range Maximum
  2070. 0x01, // Alignment
  2071. 0x01, // Length
  2072. )
  2073. IO (Decode16,
  2074. 0x0070, // Range Minimum
  2075. 0x0070, // Range Maximum
  2076. 0x01, // Alignment
  2077. 0x01, // Length
  2078. )
  2079. IO (Decode16,
  2080. 0x0080, // Range Minimum
  2081. 0x0080, // Range Maximum
  2082. 0x01, // Alignment
  2083. 0x10, // Length
  2084. )
  2085. IO (Decode16,
  2086. 0x0092, // Range Minimum
  2087. 0x0092, // Range Maximum
  2088. 0x01, // Alignment
  2089. 0x01, // Length
  2090. )
  2091. IO (Decode16,
  2092. 0x00B2, // Range Minimum
  2093. 0x00B2, // Range Maximum
  2094. 0x01, // Alignment
  2095. 0x02, // Length
  2096. )
  2097. IO (Decode16,
  2098. 0x0680, // Range Minimum
  2099. 0x0680, // Range Maximum
  2100. 0x01, // Alignment
  2101. 0x20, // Length
  2102. )
  2103. IO (Decode16,
  2104. 0x0400, // Range Minimum
  2105. 0x0400, // Range Maximum
  2106. 0x01, // Alignment
  2107. 0x80, // Length
  2108. )
  2109. IO (Decode16,
  2110. 0x0500, // Range Minimum
  2111. 0x0500, // Range Maximum
  2112. 0x01, // Alignment
  2113. 0xFF, // Length
  2114. )
  2115. })
  2116. }
  2117.  
  2118. Device (TIMR)
  2119. {
  2120. Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
  2121. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  2122. {
  2123. IO (Decode16,
  2124. 0x0040, // Range Minimum
  2125. 0x0040, // Range Maximum
  2126. 0x01, // Alignment
  2127. 0x04, // Length
  2128. )
  2129. IO (Decode16,
  2130. 0x0050, // Range Minimum
  2131. 0x0050, // Range Maximum
  2132. 0x10, // Alignment
  2133. 0x04, // Length
  2134. )
  2135. IRQNoFlags ()
  2136. {0}
  2137. })
  2138. }
  2139.  
  2140. Device (IURT)
  2141. {
  2142. Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
  2143. Name (_UID, One) // _UID: Unique ID
  2144. Method (_STA, 0, Serialized) // _STA: Status
  2145. {
  2146. If (USEL == Zero)
  2147. {
  2148. UI4E = One
  2149. C1EN = One
  2150. Return (0x0F)
  2151. }
  2152.  
  2153. Return (Zero)
  2154. }
  2155.  
  2156. Method (_DIS, 0, Serialized) // _DIS: Disable Device
  2157. {
  2158. If ((BDID != One) && ((BDID != 0x0A) &&
  2159. (BDID != 0x09)))
  2160. {
  2161. UI4E = Zero
  2162. C1EN = Zero
  2163. }
  2164. }
  2165.  
  2166. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  2167. {
  2168. Name (BUF0, ResourceTemplate ()
  2169. {
  2170. IO (Decode16,
  2171. 0x03F8, // Range Minimum
  2172. 0x03F8, // Range Maximum
  2173. 0x01, // Alignment
  2174. 0x08, // Length
  2175. )
  2176. IRQNoFlags ()
  2177. {4}
  2178. })
  2179. Return (BUF0) /* \_SB_.PCI0.LPCB.IURT._CRS.BUF0 */
  2180. }
  2181. }
  2182. }
  2183.  
  2184. Device (PISH)
  2185. {
  2186. Name (_ADR, 0x000A0000) // _ADR: Address
  2187. }
  2188.  
  2189. Device (D006)
  2190. {
  2191. Name (_ADR, 0x000B0000) // _ADR: Address
  2192. }
  2193.  
  2194. Device (RP01)
  2195. {
  2196. Name (_ADR, 0x001C0000) // _ADR: Address
  2197. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  2198. Field (PXCS, AnyAcc, NoLock, Preserve)
  2199. {
  2200. Offset (0x10),
  2201. L0SE, 1,
  2202. Offset (0x11),
  2203. Offset (0x12),
  2204. , 13,
  2205. LASX, 1,
  2206. Offset (0x1A),
  2207. ABPX, 1,
  2208. , 2,
  2209. PDCX, 1,
  2210. , 2,
  2211. PDSX, 1,
  2212. Offset (0x1B),
  2213. Offset (0x20),
  2214. Offset (0x22),
  2215. PSPX, 1,
  2216. Offset (0x98),
  2217. , 30,
  2218. HPEX, 1,
  2219. PMEX, 1
  2220. }
  2221.  
  2222. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  2223. {
  2224. Offset (0x9C),
  2225. , 30,
  2226. HPSX, 1,
  2227. PMSX, 1
  2228. }
  2229.  
  2230. Device (PXSX)
  2231. {
  2232. Name (_ADR, Zero) // _ADR: Address
  2233. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  2234. {
  2235. }
  2236. }
  2237.  
  2238. Method (HPME, 0, Serialized)
  2239. {
  2240. If (PMSX)
  2241. {
  2242. Local0 = 0xC8
  2243. While (Local0)
  2244. {
  2245. PMSX = One
  2246. If (PMSX)
  2247. {
  2248. Local0--
  2249. }
  2250. Else
  2251. {
  2252. Local0 = Zero
  2253. }
  2254. }
  2255.  
  2256. Notify (PXSX, 0x02) // Device Wake
  2257. }
  2258. }
  2259.  
  2260. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  2261. {
  2262. }
  2263.  
  2264. Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
  2265. {
  2266. Return (Zero)
  2267. }
  2268.  
  2269. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  2270. {
  2271. If (PICM)
  2272. {
  2273. Return (AR01) /* \_SB_.AR01 */
  2274. }
  2275.  
  2276. Return (PR01) /* \_SB_.PR01 */
  2277. }
  2278.  
  2279. Device (D00B)
  2280. {
  2281. Name (_ADR, 0xFF) // _ADR: Address
  2282. }
  2283. }
  2284.  
  2285. Device (RP02)
  2286. {
  2287. Name (_ADR, 0x001C0001) // _ADR: Address
  2288. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  2289. Field (PXCS, AnyAcc, NoLock, Preserve)
  2290. {
  2291. Offset (0x10),
  2292. L0SE, 1,
  2293. Offset (0x11),
  2294. Offset (0x12),
  2295. , 13,
  2296. LASX, 1,
  2297. Offset (0x1A),
  2298. ABPX, 1,
  2299. , 2,
  2300. PDCX, 1,
  2301. , 2,
  2302. PDSX, 1,
  2303. Offset (0x1B),
  2304. Offset (0x20),
  2305. Offset (0x22),
  2306. PSPX, 1,
  2307. Offset (0x98),
  2308. , 30,
  2309. HPEX, 1,
  2310. PMEX, 1
  2311. }
  2312.  
  2313. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  2314. {
  2315. Offset (0x9C),
  2316. , 30,
  2317. HPSX, 1,
  2318. PMSX, 1
  2319. }
  2320.  
  2321. Device (PXSX)
  2322. {
  2323. Name (_ADR, Zero) // _ADR: Address
  2324. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  2325. {
  2326. }
  2327.  
  2328. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  2329. {
  2330. Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
  2331. If (Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37"))
  2332. {
  2333. If (Arg2 == Zero)
  2334. {
  2335. If (Arg1 == Zero)
  2336. {
  2337. Return (Buffer (One)
  2338. {
  2339. 0x03 /* . */
  2340. })
  2341. }
  2342. Else
  2343. {
  2344. Return (Buffer (One)
  2345. {
  2346. 0x00 /* . */
  2347. })
  2348. }
  2349. }
  2350.  
  2351. If (Arg2 == One)
  2352. {
  2353. While (One)
  2354. {
  2355. _T_0 = DerefOf (Arg3 [Zero])
  2356. If (_T_0 == Zero)
  2357. {
  2358. ^^^HIDD.HPEM (0x1B)
  2359. }
  2360. ElseIf (_T_0 == One)
  2361. {
  2362. ^^^HIDD.HPEM (0x0B)
  2363. }
  2364.  
  2365. Break
  2366. }
  2367.  
  2368. Return (Zero)
  2369. }
  2370.  
  2371. Return (Zero)
  2372. }
  2373. Else
  2374. {
  2375. Return (Zero)
  2376. }
  2377. }
  2378. }
  2379.  
  2380. Method (HPME, 0, Serialized)
  2381. {
  2382. If (PMSX)
  2383. {
  2384. Local0 = 0xC8
  2385. While (Local0)
  2386. {
  2387. PMSX = One
  2388. If (PMSX)
  2389. {
  2390. Local0--
  2391. }
  2392. Else
  2393. {
  2394. Local0 = Zero
  2395. }
  2396. }
  2397.  
  2398. Notify (PXSX, 0x02) // Device Wake
  2399. }
  2400. }
  2401.  
  2402. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  2403. {
  2404. If (PICM)
  2405. {
  2406. Return (AR02) /* \_SB_.AR02 */
  2407. }
  2408.  
  2409. Return (PR02) /* \_SB_.PR02 */
  2410. }
  2411.  
  2412. Device (D00C)
  2413. {
  2414. Name (_ADR, 0xFF) // _ADR: Address
  2415. }
  2416. }
  2417.  
  2418. Device (RP03)
  2419. {
  2420. Name (_ADR, 0x001C0002) // _ADR: Address
  2421. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  2422. Field (PXCS, AnyAcc, NoLock, Preserve)
  2423. {
  2424. Offset (0x10),
  2425. L0SE, 1,
  2426. Offset (0x11),
  2427. Offset (0x12),
  2428. , 13,
  2429. LASX, 1,
  2430. Offset (0x1A),
  2431. ABPX, 1,
  2432. , 2,
  2433. PDCX, 1,
  2434. , 2,
  2435. PDSX, 1,
  2436. Offset (0x1B),
  2437. Offset (0x20),
  2438. Offset (0x22),
  2439. PSPX, 1,
  2440. Offset (0x98),
  2441. , 30,
  2442. HPEX, 1,
  2443. PMEX, 1
  2444. }
  2445.  
  2446. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  2447. {
  2448. Offset (0x9C),
  2449. , 30,
  2450. HPSX, 1,
  2451. PMSX, 1
  2452. }
  2453.  
  2454. Device (PXSX)
  2455. {
  2456. Name (_ADR, Zero) // _ADR: Address
  2457. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  2458. {
  2459. }
  2460. }
  2461.  
  2462. Method (HPME, 0, Serialized)
  2463. {
  2464. If (PMSX)
  2465. {
  2466. Local0 = 0xC8
  2467. While (Local0)
  2468. {
  2469. PMSX = One
  2470. If (PMSX)
  2471. {
  2472. Local0--
  2473. }
  2474. Else
  2475. {
  2476. Local0 = Zero
  2477. }
  2478. }
  2479.  
  2480. Notify (PXSX, 0x02) // Device Wake
  2481. }
  2482. }
  2483.  
  2484. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  2485. {
  2486. If (PICM)
  2487. {
  2488. Return (AR03) /* \_SB_.AR03 */
  2489. }
  2490.  
  2491. Return (PR03) /* \_SB_.PR03 */
  2492. }
  2493.  
  2494. Device (D00D)
  2495. {
  2496. Name (_ADR, 0xFF) // _ADR: Address
  2497. }
  2498. }
  2499.  
  2500. Device (RP04)
  2501. {
  2502. Name (_ADR, 0x001C0003) // _ADR: Address
  2503. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  2504. Field (PXCS, AnyAcc, NoLock, Preserve)
  2505. {
  2506. Offset (0x10),
  2507. L0SE, 1,
  2508. Offset (0x11),
  2509. Offset (0x12),
  2510. , 13,
  2511. LASX, 1,
  2512. Offset (0x1A),
  2513. ABPX, 1,
  2514. , 2,
  2515. PDCX, 1,
  2516. , 2,
  2517. PDSX, 1,
  2518. Offset (0x1B),
  2519. Offset (0x20),
  2520. Offset (0x22),
  2521. PSPX, 1,
  2522. Offset (0x98),
  2523. , 30,
  2524. HPEX, 1,
  2525. PMEX, 1
  2526. }
  2527.  
  2528. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  2529. {
  2530. Offset (0x9C),
  2531. , 30,
  2532. HPSX, 1,
  2533. PMSX, 1
  2534. }
  2535.  
  2536. Device (PXSX)
  2537. {
  2538. Name (_ADR, Zero) // _ADR: Address
  2539. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  2540. {
  2541. }
  2542. }
  2543.  
  2544. Method (HPME, 0, Serialized)
  2545. {
  2546. If (PMSX)
  2547. {
  2548. Local0 = 0xC8
  2549. While (Local0)
  2550. {
  2551. PMSX = One
  2552. If (PMSX)
  2553. {
  2554. Local0--
  2555. }
  2556. Else
  2557. {
  2558. Local0 = Zero
  2559. }
  2560. }
  2561.  
  2562. Notify (PXSX, 0x02) // Device Wake
  2563. }
  2564. }
  2565.  
  2566. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  2567. {
  2568. If (PICM)
  2569. {
  2570. Return (AR04) /* \_SB_.AR04 */
  2571. }
  2572.  
  2573. Return (PR04) /* \_SB_.PR04 */
  2574. }
  2575.  
  2576. Device (D00E)
  2577. {
  2578. Name (_ADR, 0xFF) // _ADR: Address
  2579. }
  2580. }
  2581.  
  2582. Device (D00F)
  2583. {
  2584. Name (_ADR, 0x00100000) // _ADR: Address
  2585. }
  2586.  
  2587. Device (D010)
  2588. {
  2589. Name (_ADR, 0x00110000) // _ADR: Address
  2590. }
  2591.  
  2592. Device (D011)
  2593. {
  2594. Name (_ADR, 0x00120000) // _ADR: Address
  2595. }
  2596.  
  2597. Device (XHC1)
  2598. {
  2599. Name (_ADR, 0x00140000) // _ADR: Address
  2600. }
  2601.  
  2602. Device (D013)
  2603. {
  2604. Name (_ADR, 0x00150000) // _ADR: Address
  2605. }
  2606.  
  2607. Device (D014)
  2608. {
  2609. Name (_ADR, 0x00160000) // _ADR: Address
  2610. }
  2611.  
  2612. Device (D015)
  2613. {
  2614. Name (_ADR, 0x00180000) // _ADR: Address
  2615. }
  2616.  
  2617. Device (D016)
  2618. {
  2619. Name (_ADR, 0x00180001) // _ADR: Address
  2620. }
  2621.  
  2622. Device (D017)
  2623. {
  2624. Name (_ADR, 0x00180002) // _ADR: Address
  2625. }
  2626.  
  2627. Device (D018)
  2628. {
  2629. Name (_ADR, 0x00180003) // _ADR: Address
  2630. }
  2631.  
  2632. Device (D019)
  2633. {
  2634. Name (_ADR, 0x00180004) // _ADR: Address
  2635. }
  2636.  
  2637. Device (D01A)
  2638. {
  2639. Name (_ADR, 0x00180005) // _ADR: Address
  2640. }
  2641.  
  2642. Device (D01B)
  2643. {
  2644. Name (_ADR, 0x00180006) // _ADR: Address
  2645. }
  2646.  
  2647. Device (D01C)
  2648. {
  2649. Name (_ADR, 0x00180007) // _ADR: Address
  2650. }
  2651.  
  2652. Device (SEC0)
  2653. {
  2654. Name (_ADR, 0x001A0000) // _ADR: Address
  2655. }
  2656.  
  2657. Device (D01E)
  2658. {
  2659. Name (_ADR, 0x001E0000) // _ADR: Address
  2660. }
  2661.  
  2662. Device (D01F)
  2663. {
  2664. Name (_ADR, 0x001E0001) // _ADR: Address
  2665. }
  2666.  
  2667. Device (D020)
  2668. {
  2669. Name (_ADR, 0x001E0002) // _ADR: Address
  2670. }
  2671.  
  2672. Device (D021)
  2673. {
  2674. Name (_ADR, 0x001E0003) // _ADR: Address
  2675. }
  2676.  
  2677. Device (D022)
  2678. {
  2679. Name (_ADR, 0x001E0004) // _ADR: Address
  2680. }
  2681.  
  2682. Device (D023)
  2683. {
  2684. Name (_ADR, 0x001E0005) // _ADR: Address
  2685. }
  2686.  
  2687. Device (D024)
  2688. {
  2689. Name (_ADR, 0x001E0006) // _ADR: Address
  2690. }
  2691.  
  2692. Device (D025)
  2693. {
  2694. Name (_ADR, 0x001E0007) // _ADR: Address
  2695. }
  2696. }
  2697. }
  2698.  
  2699. Scope (_GPE)
  2700. {
  2701. }
  2702.  
  2703. Name (_S0, Package (0x04) // _S0_: S0 System State
  2704. {
  2705. Zero,
  2706. Zero,
  2707. Zero,
  2708. Zero
  2709. })
  2710. Name (_S4, Package (0x04) // _S4_: S4 System State
  2711. {
  2712. 0x06,
  2713. Zero,
  2714. Zero,
  2715. Zero
  2716. })
  2717. Name (_S5, Package (0x04) // _S5_: S5 System State
  2718. {
  2719. 0x07,
  2720. Zero,
  2721. Zero,
  2722. Zero
  2723. })
  2724. Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
  2725. {
  2726. If (Arg0)
  2727. {
  2728. PPTS (Arg0)
  2729. }
  2730. }
  2731.  
  2732. Method (_WAK, 1, NotSerialized) // _WAK: Wake
  2733. {
  2734. PWAK (Arg0)
  2735. Return (WAKP) /* \WAKP */
  2736. }
  2737.  
  2738. Scope (\)
  2739. {
  2740. OperationRegion (PMIO, SystemIO, PMBS, 0x46)
  2741. Field (PMIO, ByteAcc, NoLock, Preserve)
  2742. {
  2743. Offset (0x01),
  2744. PWBS, 1,
  2745. Offset (0x20),
  2746. , 13,
  2747. PMEB, 1,
  2748. Offset (0x30),
  2749. , 4,
  2750. SLPE, 1,
  2751. Offset (0x34),
  2752. , 4,
  2753. SLPS, 1,
  2754. Offset (0x35),
  2755. PM1S, 1,
  2756. Offset (0x42),
  2757. , 1,
  2758. GPEC, 1
  2759. }
  2760.  
  2761. Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
  2762. {
  2763. Offset (0x20),
  2764. , 4,
  2765. PSCI, 1,
  2766. SCIS, 1
  2767. }
  2768.  
  2769. OperationRegion (PMCR, SystemMemory, PMCB, 0x0100)
  2770. Field (PMCR, DWordAcc, Lock, Preserve)
  2771. {
  2772. Offset (0x34),
  2773. L10D, 1,
  2774. L11D, 1,
  2775. L12D, 1,
  2776. L13D, 1,
  2777. L14D, 1,
  2778. L15D, 1,
  2779. L16D, 1,
  2780. L17D, 1,
  2781. SD1D, 1,
  2782. SD2D, 1,
  2783. SD3D, 1,
  2784. , 1,
  2785. , 1,
  2786. LPED, 1,
  2787. OTGD, 1,
  2788. Offset (0x36),
  2789. , 1,
  2790. , 1,
  2791. , 1,
  2792. , 1,
  2793. RP1D, 1,
  2794. RP2D, 1,
  2795. RP3D, 1,
  2796. RP4D, 1,
  2797. L20D, 1,
  2798. L21D, 1,
  2799. L22D, 1,
  2800. L23D, 1,
  2801. L24D, 1,
  2802. L25D, 1,
  2803. L26D, 1,
  2804. L27D, 1,
  2805. , 1,
  2806. , 1,
  2807. , 1,
  2808. , 1,
  2809. ISHD, 1,
  2810. Offset (0x3C),
  2811. Offset (0x60),
  2812. CKC0, 2,
  2813. CKF0, 1,
  2814. Offset (0x64),
  2815. CKC1, 2,
  2816. CKF1, 1,
  2817. Offset (0x68),
  2818. CKC2, 2,
  2819. CKF2, 1,
  2820. Offset (0x6C),
  2821. CKC3, 2,
  2822. CKF3, 1,
  2823. Offset (0x70),
  2824. CKC4, 2,
  2825. CKF4, 1,
  2826. Offset (0x74),
  2827. CKC5, 2,
  2828. CKF5, 1,
  2829. Offset (0x78),
  2830. Offset (0xA0),
  2831. PMCD, 32,
  2832. Offset (0xEC),
  2833. PMCC, 32
  2834. }
  2835.  
  2836. OperationRegion (PPSC, SystemMemory, PMCP, 0x08)
  2837. Field (PPSC, DWordAcc, Lock, Preserve)
  2838. {
  2839. DM1P, 1,
  2840. PW1P, 1,
  2841. PW2P, 1,
  2842. UR1P, 1,
  2843. UR2P, 1,
  2844. SP1P, 1,
  2845. SP2P, 1,
  2846. SP3P, 1,
  2847. EMMP, 1,
  2848. SDI1, 1,
  2849. SDI2, 1,
  2850. , 2,
  2851. LPEP, 1,
  2852. , 1,
  2853. Offset (0x02),
  2854. , 1,
  2855. SATP, 1,
  2856. USBP, 1,
  2857. SECP, 1,
  2858. PRP1, 1,
  2859. PRP2, 1,
  2860. PRP3, 1,
  2861. PRP4, 1,
  2862. DM2P, 1,
  2863. IC1P, 1,
  2864. IC2P, 1,
  2865. IC3P, 1,
  2866. IC4P, 1,
  2867. IC5P, 1,
  2868. IC6P, 1,
  2869. IC7P, 1,
  2870. , 2,
  2871. ISHP, 1,
  2872. Offset (0x08)
  2873. }
  2874. }
  2875.  
  2876. Scope (_SB.PCI0)
  2877. {
  2878. Scope (XHC1)
  2879. {
  2880. Name (_DDN, "Baytrail XHCI controller (CCG core/Host only)") // _DDN: DOS Device Name
  2881. Name (XHD3, Zero)
  2882. Name (XCD3, Zero)
  2883. Name (_STR, Unicode ("Baytrail XHCI controller (CCG core/Host only)")) // _STR: Description String
  2884. Name (MSET, Zero)
  2885. Name (DDST, Zero)
  2886. Name (XFLT, Zero)
  2887. Method (MINF, 0, NotSerialized)
  2888. {
  2889. If (OSID == 0x04)
  2890. {
  2891. Return (Package (0x03)
  2892. {
  2893. PSSE,
  2894. 0x05,
  2895. MODM
  2896. })
  2897. }
  2898. }
  2899.  
  2900. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  2901. {
  2902. }
  2903.  
  2904. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  2905. {
  2906. }
  2907.  
  2908. OperationRegion (XHOP, SystemMemory, 0xE00A0000, 0x40)
  2909. Field (XHOP, DWordAcc, NoLock, Preserve)
  2910. {
  2911. Offset (0x10),
  2912. XBAR, 32
  2913. }
  2914.  
  2915. OperationRegion (XOP1, SystemMemory, XBAR, 0x884C)
  2916. Field (XOP1, DWordAcc, NoLock, Preserve)
  2917. {
  2918. Offset (0x52C),
  2919. CCS, 1,
  2920. , 4,
  2921. PLS, 4,
  2922. PP, 1,
  2923. Offset (0x869C),
  2924. , 18,
  2925. D3HE, 1,
  2926. Offset (0x8808),
  2927. , 30,
  2928. S1PD, 1,
  2929. S1PU, 1
  2930. }
  2931.  
  2932. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  2933. {
  2934. If (Arg0 == ToUUID ("ac340cb7-e901-45bf-b7e6-2b34ec931e23"))
  2935. {
  2936. If (Arg1 == 0x03)
  2937. {
  2938. XFLT = Arg1
  2939. }
  2940.  
  2941. If (Arg1 == 0x05)
  2942. {
  2943. If (PSSE == One)
  2944. {
  2945. XCD3 = Zero
  2946. If (XHD3 == One)
  2947. {
  2948. XHD3 = Zero
  2949. D3HE = Zero
  2950. Stall (0xFF)
  2951. ^^^FLDM.MOFF ()
  2952. S1PD = Zero
  2953. S1PU = One
  2954. S1PD = One
  2955. Stall (0xFF)
  2956. ^^^FLDM.MDON ()
  2957. S1PD = Zero
  2958. S1PU = Zero
  2959. S1PD = One
  2960. Stall (0xFF)
  2961. }
  2962.  
  2963. If (((CCS == Zero) || (PP == Zero)) || ((
  2964. PLS >= 0x04) && (PLS <= 0x0F)))
  2965. {
  2966. D3HE = Zero
  2967. }
  2968. Else
  2969. {
  2970. D3HE = One
  2971. }
  2972. }
  2973. }
  2974.  
  2975. If (Arg1 == 0x06)
  2976. {
  2977. If (PSSE == One)
  2978. {
  2979. XCD3 = One
  2980. If (((CCS == Zero) || (PP == Zero)) || ((
  2981. PLS >= 0x04) && (PLS <= 0x0F)))
  2982. {
  2983. D3HE = Zero
  2984. }
  2985. Else
  2986. {
  2987. D3HE = One
  2988. }
  2989. }
  2990. }
  2991. }
  2992. }
  2993.  
  2994. Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
  2995. {
  2996. If ((OSID == 0x02) || (OSID == 0x04))
  2997. {
  2998. Return (0x03)
  2999. }
  3000.  
  3001. If (XFLT == Zero)
  3002. {
  3003. Return (Zero)
  3004. }
  3005. Else
  3006. {
  3007. Return (0x03)
  3008. }
  3009. }
  3010.  
  3011. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  3012. {
  3013. Name (UBUF, ResourceTemplate ()
  3014. {
  3015. GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
  3016. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  3017. )
  3018. { // Pin list
  3019. 0x004E
  3020. }
  3021. GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
  3022. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  3023. )
  3024. { // Pin list
  3025. 0x0007
  3026. }
  3027. })
  3028. Name (WBUF, ResourceTemplate ()
  3029. {
  3030. })
  3031. If ((BDID != One) && ((OSID == 0x02) || (OSID ==
  3032. 0x04)))
  3033. {
  3034. Return (UBUF) /* \_SB_.PCI0.XHC1._CRS.UBUF */
  3035. }
  3036. Else
  3037. {
  3038. Return (WBUF) /* \_SB_.PCI0.XHC1._CRS.WBUF */
  3039. }
  3040. }
  3041.  
  3042. OperationRegion (XHCR, PCI_Config, 0x75, One)
  3043. Field (XHCR, ByteAcc, NoLock, WriteAsZeros)
  3044. {
  3045. PMEE, 1,
  3046. , 6,
  3047. PMES, 1
  3048. }
  3049.  
  3050. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  3051. {
  3052. Return (Zero)
  3053. }
  3054.  
  3055. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  3056. {
  3057. }
  3058.  
  3059. Name (IPRW, Package (0x02)
  3060. {
  3061. 0x0D,
  3062. 0x04
  3063. })
  3064. Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot
  3065. {
  3066. Return (Package (0x01)
  3067. {
  3068. USBC
  3069. })
  3070. }
  3071.  
  3072. Method (_STA, 0, NotSerialized) // _STA: Status
  3073. {
  3074. If (XHCI != Zero)
  3075. {
  3076. Return (0x0F)
  3077. }
  3078. Else
  3079. {
  3080. Return (Zero)
  3081. }
  3082. }
  3083.  
  3084. OperationRegion (XPRT, PCI_Config, 0xD0, 0x10)
  3085. Field (XPRT, DWordAcc, NoLock, Preserve)
  3086. {
  3087. PR2, 32,
  3088. PR2M, 32,
  3089. PR3, 32,
  3090. PR3M, 32
  3091. }
  3092.  
  3093. Device (RHUB)
  3094. {
  3095. Name (_ADR, Zero) // _ADR: Address
  3096. Method (TPLD, 2, Serialized)
  3097. {
  3098. Name (PCKG, Package (0x01)
  3099. {
  3100. Buffer (0x10) {}
  3101. })
  3102. CreateField (DerefOf (PCKG [Zero]), Zero, 0x07, REV)
  3103. REV = One
  3104. CreateField (DerefOf (PCKG [Zero]), 0x40, One, VISI)
  3105. VISI = Arg0
  3106. CreateField (DerefOf (PCKG [Zero]), 0x57, 0x08, GPOS)
  3107. GPOS = Arg1
  3108. CreateField (DerefOf (PCKG [Zero]), 0x4A, 0x04, SHAP)
  3109. SHAP = One
  3110. CreateField (DerefOf (PCKG [Zero]), 0x20, 0x10, WID)
  3111. WID = 0x08
  3112. CreateField (DerefOf (PCKG [Zero]), 0x30, 0x10, HGT)
  3113. HGT = 0x03
  3114. Return (PCKG) /* \_SB_.PCI0.XHC1.RHUB.TPLD.PCKG */
  3115. }
  3116.  
  3117. Device (SSP1)
  3118. {
  3119. Name (_ADR, 0x08) // _ADR: Address
  3120. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3121. {
  3122. Name (UPCP, Package (0x04)
  3123. {
  3124. 0xFF,
  3125. 0x06,
  3126. Zero,
  3127. Zero
  3128. })
  3129. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._UPC.UPCP */
  3130. }
  3131.  
  3132. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3133. {
  3134. Name (PLDP, Package (0x01)
  3135. {
  3136. Buffer (0x14)
  3137. {
  3138. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3139. /* 0008 */ 0x4B, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* K....... */
  3140. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3141. }
  3142. })
  3143. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._PLD.PLDP */
  3144. }
  3145. }
  3146.  
  3147. Device (HS01)
  3148. {
  3149. Name (_ADR, One) // _ADR: Address
  3150. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3151. {
  3152. Name (UPCP, Package (0x04)
  3153. {
  3154. 0xFF,
  3155. 0x06,
  3156. Zero,
  3157. Zero
  3158. })
  3159. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS01._UPC.UPCP */
  3160. }
  3161.  
  3162. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3163. {
  3164. Name (PLDP, Package (0x01)
  3165. {
  3166. Buffer (0x14)
  3167. {
  3168. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3169. /* 0008 */ 0x4B, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* K....... */
  3170. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3171. }
  3172. })
  3173. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS01._PLD.PLDP */
  3174. }
  3175. }
  3176.  
  3177. Device (SSP2)
  3178. {
  3179. Name (_ADR, 0x09) // _ADR: Address
  3180. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3181. {
  3182. Name (UPCD, Package (0x04)
  3183. {
  3184. Zero,
  3185. 0xFF,
  3186. Zero,
  3187. Zero
  3188. })
  3189. Name (UPCR, Package (0x04)
  3190. {
  3191. 0xFF,
  3192. 0x03,
  3193. Zero,
  3194. Zero
  3195. })
  3196. Name (UPCP, Package (0x04)
  3197. {
  3198. 0xFF,
  3199. 0xFF,
  3200. Zero,
  3201. Zero
  3202. })
  3203. If (NUSB == One)
  3204. {
  3205. Return (UPCD) /* \_SB_.PCI0.XHC1.RHUB.SSP2._UPC.UPCD */
  3206. }
  3207. ElseIf (BDID == 0x02)
  3208. {
  3209. Return (UPCR) /* \_SB_.PCI0.XHC1.RHUB.SSP2._UPC.UPCR */
  3210. }
  3211. Else
  3212. {
  3213. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP2._UPC.UPCP */
  3214. }
  3215. }
  3216.  
  3217. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3218. {
  3219. Name (PLDP, Package (0x01)
  3220. {
  3221. Buffer (0x14)
  3222. {
  3223. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3224. /* 0008 */ 0x43, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, /* C....... */
  3225. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3226. }
  3227. })
  3228. Name (PLDR, Package (0x01)
  3229. {
  3230. Buffer (0x14)
  3231. {
  3232. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3233. /* 0008 */ 0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C....... */
  3234. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3235. }
  3236. })
  3237. If (BDID == 0x02)
  3238. {
  3239. Return (PLDR) /* \_SB_.PCI0.XHC1.RHUB.SSP2._PLD.PLDR */
  3240. }
  3241. Else
  3242. {
  3243. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP2._PLD.PLDP */
  3244. }
  3245. }
  3246. }
  3247.  
  3248. Device (HS02)
  3249. {
  3250. Name (_ADR, 0x02) // _ADR: Address
  3251. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3252. {
  3253. Name (UPCD, Package (0x04)
  3254. {
  3255. Zero,
  3256. 0xFF,
  3257. Zero,
  3258. Zero
  3259. })
  3260. Name (UPCR, Package (0x04)
  3261. {
  3262. 0xFF,
  3263. 0x03,
  3264. Zero,
  3265. Zero
  3266. })
  3267. Name (UPCP, Package (0x04)
  3268. {
  3269. 0xFF,
  3270. 0xFF,
  3271. Zero,
  3272. Zero
  3273. })
  3274. If (NUSB == One)
  3275. {
  3276. Return (UPCD) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCD */
  3277. }
  3278. ElseIf (BDID == 0x02)
  3279. {
  3280. Return (UPCR) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCR */
  3281. }
  3282. Else
  3283. {
  3284. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCP */
  3285. }
  3286. }
  3287.  
  3288. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3289. {
  3290. Name (PLDP, Package (0x01)
  3291. {
  3292. Buffer (0x14)
  3293. {
  3294. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3295. /* 0008 */ 0x43, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, /* C....... */
  3296. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3297. }
  3298. })
  3299. Name (PLDR, Package (0x01)
  3300. {
  3301. Buffer (0x14)
  3302. {
  3303. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3304. /* 0008 */ 0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C....... */
  3305. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3306. }
  3307. })
  3308. If (BDID == 0x02)
  3309. {
  3310. Return (PLDR) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDR */
  3311. }
  3312. Else
  3313. {
  3314. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDP */
  3315. }
  3316. }
  3317. }
  3318.  
  3319. Device (SSP3)
  3320. {
  3321. Name (_ADR, 0x0A) // _ADR: Address
  3322. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  3323. Name (_DEP, Package (0x02) // _DEP: Dependencies
  3324. {
  3325. GPO1,
  3326. ^^^I2C7.PMIC
  3327. })
  3328. Method (_STA, 0, NotSerialized) // _STA: Status
  3329. {
  3330. If (PMID == Zero)
  3331. {
  3332. Return (0x0F)
  3333. }
  3334.  
  3335. Return (Zero)
  3336. }
  3337.  
  3338. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3339. {
  3340. Name (UPCP, Package (0x04)
  3341. {
  3342. 0xFF,
  3343. 0xFF,
  3344. Zero,
  3345. Zero
  3346. })
  3347. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP3._UPC.UPCP */
  3348. }
  3349.  
  3350. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3351. {
  3352. Name (PLDP, Package (0x01)
  3353. {
  3354. Buffer (0x14)
  3355. {
  3356. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3357. /* 0008 */ 0x30, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, /* 0....... */
  3358. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3359. }
  3360. })
  3361. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP3._PLD.PLDP */
  3362. }
  3363. }
  3364.  
  3365. Device (HS03)
  3366. {
  3367. Name (_ADR, 0x03) // _ADR: Address
  3368. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  3369. Name (_DEP, Package (0x02) // _DEP: Dependencies
  3370. {
  3371. GPO1,
  3372. ^^^I2C7.PMIC
  3373. })
  3374. Method (_STA, 0, NotSerialized) // _STA: Status
  3375. {
  3376. If (PMID == Zero)
  3377. {
  3378. Return (0x0F)
  3379. }
  3380.  
  3381. Return (Zero)
  3382. }
  3383.  
  3384. OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
  3385. Field (BAD0, DWordAcc, NoLock, Preserve)
  3386. {
  3387. MRB0, 32,
  3388. MRB1, 32
  3389. }
  3390.  
  3391. OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
  3392. Field (BAD1, DWordAcc, NoLock, Preserve)
  3393. {
  3394. MRP0, 32,
  3395. MRP1, 32
  3396. }
  3397.  
  3398. PowerResource (WWPR, 0x00, 0x0000)
  3399. {
  3400. Name (_DEP, Package (0x02) // _DEP: Dependencies
  3401. {
  3402. GPO1,
  3403. ^^^^I2C7.PMIC
  3404. })
  3405. Method (_STA, 0, NotSerialized) // _STA: Status
  3406. {
  3407. If (^^^^^I2C7.PMIC.AVBG == One)
  3408. {
  3409. Return (^^^^^I2C7.PMIC.MOXX) /* \_SB_.PCI0.I2C7.PMIC.MOXX */
  3410. }
  3411.  
  3412. Return (Zero)
  3413. }
  3414.  
  3415. Method (_ON, 0, NotSerialized) // _ON_: Power On
  3416. {
  3417. If (FMDM == Zero)
  3418. {
  3419. If (OSID == One)
  3420. {
  3421. If (^^^^^I2C7.PMIC.AVBG == One)
  3422. {
  3423. ^^^^^I2C7.PMIC.MOXX = One
  3424. Stall (0x0A)
  3425. }
  3426.  
  3427. If (\_SB.GPO1.AVBL == One)
  3428. {
  3429. \_SB.GPO1.MRD3 = One
  3430. Stall (0x0A)
  3431. \_SB.GPO1.MPD3 = Zero
  3432. Stall (0x0A)
  3433. \_SB.GPO1.MPD3 = One
  3434. Stall (0x5B)
  3435. \_SB.GPO1.MPD3 = Zero
  3436. }
  3437. Else
  3438. {
  3439. MRB0 &= 0xFFFFFFFD
  3440. MRB0 |= 0x02
  3441. Stall (0x0A)
  3442. MRP0 &= 0xFFFFFFFD
  3443. MRP0 |= Zero
  3444. Stall (0x0A)
  3445. MRP0 &= 0xFFFFFFFD
  3446. MRP0 |= 0x02
  3447. Stall (0x5B)
  3448. MRP0 &= 0xFFFFFFFD
  3449. MRP0 |= Zero
  3450. }
  3451. }
  3452. }
  3453. }
  3454.  
  3455. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  3456. {
  3457. }
  3458. }
  3459.  
  3460. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  3461. {
  3462. WWPR
  3463. })
  3464. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  3465. {
  3466. WWPR
  3467. })
  3468. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  3469. {
  3470. WWPR
  3471. })
  3472. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3473. {
  3474. Name (UPCP, Package (0x04)
  3475. {
  3476. 0xFF,
  3477. 0xFF,
  3478. Zero,
  3479. Zero
  3480. })
  3481. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS03._UPC.UPCP */
  3482. }
  3483.  
  3484. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  3485. {
  3486. Return (Zero)
  3487. }
  3488.  
  3489. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3490. {
  3491. Name (PLDP, Package (0x01)
  3492. {
  3493. Buffer (0x14)
  3494. {
  3495. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3496. /* 0008 */ 0x30, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, /* 0....... */
  3497. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3498. }
  3499. })
  3500. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS03._PLD.PLDP */
  3501. }
  3502.  
  3503. Device (MDM1)
  3504. {
  3505. Name (_ADR, 0x03) // _ADR: Address
  3506. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  3507. {
  3508. WWPR
  3509. })
  3510. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  3511. {
  3512. WWPR
  3513. })
  3514. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  3515. {
  3516. WWPR
  3517. })
  3518. }
  3519. }
  3520.  
  3521. Device (HS13)
  3522. {
  3523. Name (_ADR, 0x03) // _ADR: Address
  3524. Name (_DDN, "USB port 3") // _DDN: DOS Device Name
  3525. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3526. {
  3527. Name (UPCP, Package (0x04)
  3528. {
  3529. 0xFF,
  3530. Zero,
  3531. Zero,
  3532. Zero
  3533. })
  3534. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS13._UPC.UPCP */
  3535. }
  3536.  
  3537. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3538. {
  3539. Name (PLDP, Package (0x01)
  3540. {
  3541. Buffer (0x14)
  3542. {
  3543. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3544. /* 0008 */ 0x31, 0x08, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, /* 1....... */
  3545. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3546. }
  3547. })
  3548. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS13._PLD.PLDP */
  3549. }
  3550. }
  3551.  
  3552. Device (SSP4)
  3553. {
  3554. Name (_ADR, 0x0B) // _ADR: Address
  3555. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3556. {
  3557. Name (UPCP, Package (0x04)
  3558. {
  3559. 0xFF,
  3560. 0xFF,
  3561. Zero,
  3562. Zero
  3563. })
  3564. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP4._UPC.UPCP */
  3565. }
  3566.  
  3567. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3568. {
  3569. Name (PLDP, Package (0x01)
  3570. {
  3571. Buffer (0x14)
  3572. {
  3573. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3574. /* 0008 */ 0x30, 0x08, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, /* 0....... */
  3575. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3576. }
  3577. })
  3578. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP4._PLD.PLDP */
  3579. }
  3580. }
  3581.  
  3582. Device (HS04)
  3583. {
  3584. Name (_ADR, 0x04) // _ADR: Address
  3585. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3586. {
  3587. Name (UPCP, Package (0x04)
  3588. {
  3589. 0xFF,
  3590. 0xFF,
  3591. Zero,
  3592. Zero
  3593. })
  3594. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS04._UPC.UPCP */
  3595. }
  3596.  
  3597. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3598. {
  3599. Name (PLDP, Package (0x01)
  3600. {
  3601. Buffer (0x14)
  3602. {
  3603. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3604. /* 0008 */ 0x30, 0x08, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, /* 0....... */
  3605. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3606. }
  3607. })
  3608. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS04._PLD.PLDP */
  3609. }
  3610.  
  3611. Device (USCF)
  3612. {
  3613. Name (_ADR, 0x04) // _ADR: Address
  3614. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3615. {
  3616. Name (UPCP, Package (0x04)
  3617. {
  3618. 0xFF,
  3619. 0xFF,
  3620. Zero,
  3621. Zero
  3622. })
  3623. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS04.USCF._UPC.UPCP */
  3624. }
  3625.  
  3626. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3627. {
  3628. Name (PLDP, Package (0x01)
  3629. {
  3630. Buffer (0x14)
  3631. {
  3632. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3633. /* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* a....... */
  3634. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3635. }
  3636. })
  3637. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS04.USCF._PLD.PLDP */
  3638. }
  3639. }
  3640. }
  3641.  
  3642. Device (SSC2)
  3643. {
  3644. Name (_ADR, 0x0D) // _ADR: Address
  3645. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3646. {
  3647. Name (UPCP, Package (0x04)
  3648. {
  3649. 0xFF,
  3650. 0xFF,
  3651. Zero,
  3652. Zero
  3653. })
  3654. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSC2._UPC.UPCP */
  3655. }
  3656.  
  3657. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3658. {
  3659. Name (PLDP, Package (0x01)
  3660. {
  3661. Buffer (0x14)
  3662. {
  3663. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3664. /* 0008 */ 0x30, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0....... */
  3665. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3666. }
  3667. })
  3668. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSC2._PLD.PLDP */
  3669. }
  3670. }
  3671.  
  3672. Device (HSC2)
  3673. {
  3674. Name (_ADR, 0x07) // _ADR: Address
  3675. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3676. {
  3677. Name (UPCP, Package (0x04)
  3678. {
  3679. 0xFF,
  3680. 0xFF,
  3681. Zero,
  3682. Zero
  3683. })
  3684. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._UPC.UPCP */
  3685. }
  3686.  
  3687. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3688. {
  3689. Name (PLDP, Package (0x01)
  3690. {
  3691. Buffer (0x14)
  3692. {
  3693. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3694. /* 0008 */ 0x30, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0....... */
  3695. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3696. }
  3697. })
  3698. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._PLD.PLDP */
  3699. }
  3700. }
  3701.  
  3702. Device (SSC1)
  3703. {
  3704. Name (_ADR, 0x0C) // _ADR: Address
  3705. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  3706. Name (_DEP, Package (0x02) // _DEP: Dependencies
  3707. {
  3708. GPO1,
  3709. ^^^I2C7.PMIC
  3710. })
  3711. Method (_STA, 0, NotSerialized) // _STA: Status
  3712. {
  3713. If (PMID == Zero)
  3714. {
  3715. Return (0x0F)
  3716. }
  3717.  
  3718. Return (Zero)
  3719. }
  3720.  
  3721. OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
  3722. Field (BAD0, DWordAcc, NoLock, Preserve)
  3723. {
  3724. MRB0, 32,
  3725. MRB1, 32
  3726. }
  3727.  
  3728. OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
  3729. Field (BAD1, DWordAcc, NoLock, Preserve)
  3730. {
  3731. MRP0, 32,
  3732. MRP1, 32
  3733. }
  3734.  
  3735. PowerResource (WWPR, 0x00, 0x0000)
  3736. {
  3737. Name (_DEP, Package (0x02) // _DEP: Dependencies
  3738. {
  3739. GPO1,
  3740. ^^^^I2C7.PMIC
  3741. })
  3742. Method (_STA, 0, NotSerialized) // _STA: Status
  3743. {
  3744. If (^^^^^I2C7.PMIC.AVBG == One)
  3745. {
  3746. Return (^^^^^I2C7.PMIC.MOXX) /* \_SB_.PCI0.I2C7.PMIC.MOXX */
  3747. }
  3748.  
  3749. Return (Zero)
  3750. }
  3751.  
  3752. Method (_ON, 0, NotSerialized) // _ON_: Power On
  3753. {
  3754. }
  3755.  
  3756. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  3757. {
  3758. If (OSID == 0x04)
  3759. {
  3760. If (^^^^^I2C7.PMIC.AVBG == One)
  3761. {
  3762. If (\_SB.GPO1.AVBL == One)
  3763. {
  3764. \_SB.GPO1.MRD3 = Zero
  3765. Sleep (One)
  3766. ^^^^^I2C7.PMIC.MOXX = Zero
  3767. Sleep (One)
  3768. }
  3769. }
  3770. }
  3771. }
  3772. }
  3773.  
  3774. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  3775. {
  3776. WWPR
  3777. })
  3778. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  3779. {
  3780. WWPR
  3781. })
  3782. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  3783. {
  3784. WWPR
  3785. })
  3786. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3787. {
  3788. Name (UPCP, Package (0x04)
  3789. {
  3790. 0xFF,
  3791. 0xFF,
  3792. Zero,
  3793. Zero
  3794. })
  3795. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSC1._UPC.UPCP */
  3796. }
  3797.  
  3798. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3799. {
  3800. Name (PLDP, Package (0x01)
  3801. {
  3802. Buffer (0x14)
  3803. {
  3804. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3805. /* 0008 */ 0x30, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, /* 0....... */
  3806. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3807. }
  3808. })
  3809. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSC1._PLD.PLDP */
  3810. }
  3811.  
  3812. Device (MDM3)
  3813. {
  3814. Name (_ADR, 0x0C) // _ADR: Address
  3815. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  3816. {
  3817. WWPR
  3818. })
  3819. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  3820. {
  3821. WWPR
  3822. })
  3823. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  3824. {
  3825. WWPR
  3826. })
  3827. }
  3828. }
  3829.  
  3830. Device (SSCW)
  3831. {
  3832. Name (_ADR, 0x0C) // _ADR: Address
  3833. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  3834. Name (_DEP, Package (0x02) // _DEP: Dependencies
  3835. {
  3836. GPO1,
  3837. ^^^I2C7.PMI5
  3838. })
  3839. Method (_STA, 0, NotSerialized) // _STA: Status
  3840. {
  3841. If (PMID == 0x03)
  3842. {
  3843. Return (0x0F)
  3844. }
  3845.  
  3846. Return (Zero)
  3847. }
  3848.  
  3849. OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
  3850. Field (BAD0, DWordAcc, NoLock, Preserve)
  3851. {
  3852. MRB0, 32,
  3853. MRB1, 32
  3854. }
  3855.  
  3856. OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
  3857. Field (BAD1, DWordAcc, NoLock, Preserve)
  3858. {
  3859. MRP0, 32,
  3860. MRP1, 32
  3861. }
  3862.  
  3863. PowerResource (WWPR, 0x00, 0x0000)
  3864. {
  3865. Name (_DEP, Package (0x02) // _DEP: Dependencies
  3866. {
  3867. GPO1,
  3868. ^^^^I2C7.PMI5
  3869. })
  3870. Method (_STA, 0, NotSerialized) // _STA: Status
  3871. {
  3872. If (^^^^^I2C7.PMI5.AVBG == One)
  3873. {
  3874. Return (^^^^^I2C7.PMI5.MOXX) /* \_SB_.PCI0.I2C7.PMI5.MOXX */
  3875. }
  3876.  
  3877. Return (Zero)
  3878. }
  3879.  
  3880. Method (_ON, 0, NotSerialized) // _ON_: Power On
  3881. {
  3882. }
  3883.  
  3884. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  3885. {
  3886. If (OSID == 0x04)
  3887. {
  3888. If (^^^^^I2C7.PMI5.AVBG == One)
  3889. {
  3890. If (\_SB.GPO1.AVBL == One)
  3891. {
  3892. \_SB.GPO1.MRD3 = Zero
  3893. Sleep (One)
  3894. ^^^^^I2C7.PMI5.MOXX = Zero
  3895. Sleep (One)
  3896. }
  3897. }
  3898. }
  3899. }
  3900. }
  3901.  
  3902. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  3903. {
  3904. WWPR
  3905. })
  3906. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  3907. {
  3908. WWPR
  3909. })
  3910. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  3911. {
  3912. WWPR
  3913. })
  3914. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  3915. {
  3916. Name (UPCP, Package (0x04)
  3917. {
  3918. 0xFF,
  3919. 0xFF,
  3920. Zero,
  3921. Zero
  3922. })
  3923. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSCW._UPC.UPCP */
  3924. }
  3925.  
  3926. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  3927. {
  3928. Name (PLDP, Package (0x01)
  3929. {
  3930. Buffer (0x14)
  3931. {
  3932. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  3933. /* 0008 */ 0x30, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, /* 0....... */
  3934. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  3935. }
  3936. })
  3937. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSCW._PLD.PLDP */
  3938. }
  3939.  
  3940. Device (MDM3)
  3941. {
  3942. Name (_ADR, 0x0C) // _ADR: Address
  3943. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  3944. {
  3945. WWPR
  3946. })
  3947. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  3948. {
  3949. WWPR
  3950. })
  3951. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  3952. {
  3953. WWPR
  3954. })
  3955. }
  3956. }
  3957.  
  3958. Device (HSC1)
  3959. {
  3960. Name (_ADR, 0x06) // _ADR: Address
  3961. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  3962. Name (_DEP, Package (0x02) // _DEP: Dependencies
  3963. {
  3964. GPO1,
  3965. ^^^I2C7.PMIC
  3966. })
  3967. Method (_STA, 0, NotSerialized) // _STA: Status
  3968. {
  3969. If (PMID == Zero)
  3970. {
  3971. Return (0x0F)
  3972. }
  3973.  
  3974. Return (Zero)
  3975. }
  3976.  
  3977. OperationRegion (BADR, SystemMemory, 0xFED8C410, 0x08)
  3978. Field (BADR, DWordAcc, NoLock, Preserve)
  3979. {
  3980. MRB0, 32,
  3981. MRB1, 32
  3982. }
  3983.  
  3984. OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
  3985. Field (BAD1, DWordAcc, NoLock, Preserve)
  3986. {
  3987. MRP0, 32,
  3988. MRP1, 32
  3989. }
  3990.  
  3991. PowerResource (WWPR, 0x00, 0x0000)
  3992. {
  3993. Name (_DEP, Package (0x02) // _DEP: Dependencies
  3994. {
  3995. GPO1,
  3996. ^^^^I2C7.PMIC
  3997. })
  3998. Method (_STA, 0, NotSerialized) // _STA: Status
  3999. {
  4000. If ((OSID == One) && (^^^^^I2C7.PMIC.AVBG == One))
  4001. {
  4002. Return (^^^^^I2C7.PMIC.MOXX) /* \_SB_.PCI0.I2C7.PMIC.MOXX */
  4003. }
  4004.  
  4005. Return (Zero)
  4006. }
  4007.  
  4008. Method (_ON, 0, NotSerialized) // _ON_: Power On
  4009. {
  4010. If (FMDM == Zero)
  4011. {
  4012. If (OSID == One)
  4013. {
  4014. If (^^^^^I2C7.PMIC.AVBG == One)
  4015. {
  4016. ^^^^^I2C7.PMIC.MOXX = One
  4017. Stall (0x0A)
  4018. }
  4019.  
  4020. If (\_SB.GPO1.AVBL == One)
  4021. {
  4022. \_SB.GPO1.MRD3 = One
  4023. Stall (0x0A)
  4024. \_SB.GPO1.MPD3 = Zero
  4025. Stall (0x0A)
  4026. \_SB.GPO1.MPD3 = One
  4027. Stall (0x5B)
  4028. \_SB.GPO1.MPD3 = Zero
  4029. }
  4030. Else
  4031. {
  4032. MRB0 &= 0xFFFFFFFD
  4033. MRB0 |= 0x02
  4034. Stall (0x0A)
  4035. MRP0 &= 0xFFFFFFFD
  4036. MRP0 |= Zero
  4037. Stall (0x0A)
  4038. MRP0 &= 0xFFFFFFFD
  4039. MRP0 |= 0x02
  4040. Stall (0x5B)
  4041. MRP0 &= 0xFFFFFFFD
  4042. MRP0 |= Zero
  4043. }
  4044. }
  4045. }
  4046. }
  4047.  
  4048. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  4049. {
  4050. }
  4051. }
  4052.  
  4053. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  4054. {
  4055. WWPR
  4056. })
  4057. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  4058. {
  4059. WWPR
  4060. })
  4061. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  4062. {
  4063. WWPR
  4064. })
  4065. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  4066. {
  4067. Name (UPCP, Package (0x04)
  4068. {
  4069. 0xFF,
  4070. 0xFF,
  4071. Zero,
  4072. Zero
  4073. })
  4074. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC1._UPC.UPCP */
  4075. }
  4076.  
  4077. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  4078. {
  4079. Name (PLDP, Package (0x01)
  4080. {
  4081. Buffer (0x14)
  4082. {
  4083. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  4084. /* 0008 */ 0x30, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, /* 0....... */
  4085. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  4086. }
  4087. })
  4088. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC1._PLD.PLDP */
  4089. }
  4090.  
  4091. Device (MDM2)
  4092. {
  4093. Name (_ADR, 0x06) // _ADR: Address
  4094. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  4095. {
  4096. WWPR
  4097. })
  4098. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  4099. {
  4100. WWPR
  4101. })
  4102. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  4103. {
  4104. WWPR
  4105. })
  4106. }
  4107. }
  4108.  
  4109. Device (HSC3)
  4110. {
  4111. Name (_ADR, 0x06) // _ADR: Address
  4112. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  4113. Name (_DEP, Package (0x02) // _DEP: Dependencies
  4114. {
  4115. GPO1,
  4116. ^^^I2C7.PMI5
  4117. })
  4118. Method (_STA, 0, NotSerialized) // _STA: Status
  4119. {
  4120. If (PMID == 0x03)
  4121. {
  4122. Return (0x0F)
  4123. }
  4124.  
  4125. Return (Zero)
  4126. }
  4127.  
  4128. OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
  4129. Field (BAD0, DWordAcc, NoLock, Preserve)
  4130. {
  4131. MRB0, 32,
  4132. MRB1, 32
  4133. }
  4134.  
  4135. OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
  4136. Field (BAD1, DWordAcc, NoLock, Preserve)
  4137. {
  4138. MRP0, 32,
  4139. MRP1, 32
  4140. }
  4141.  
  4142. PowerResource (WWPR, 0x00, 0x0000)
  4143. {
  4144. Name (_DEP, Package (0x02) // _DEP: Dependencies
  4145. {
  4146. GPO1,
  4147. ^^^^I2C7.PMI5
  4148. })
  4149. Method (_STA, 0, NotSerialized) // _STA: Status
  4150. {
  4151. If ((OSID == One) && (^^^^^I2C7.PMI5.AVBG == One))
  4152. {
  4153. Return (^^^^^I2C7.PMI5.MOXX) /* \_SB_.PCI0.I2C7.PMI5.MOXX */
  4154. }
  4155.  
  4156. Return (Zero)
  4157. }
  4158.  
  4159. Method (_ON, 0, NotSerialized) // _ON_: Power On
  4160. {
  4161. If (FMDM == Zero)
  4162. {
  4163. If (OSID == One)
  4164. {
  4165. If (^^^^^I2C7.PMI5.AVBG == One)
  4166. {
  4167. ^^^^^I2C7.PMI5.MOXX = One
  4168. Stall (0x0A)
  4169. }
  4170.  
  4171. If (\_SB.GPO1.AVBL == One)
  4172. {
  4173. \_SB.GPO1.MRD3 = One
  4174. Stall (0x0A)
  4175. \_SB.GPO1.MPD3 = Zero
  4176. Stall (0x0A)
  4177. \_SB.GPO1.MPD3 = One
  4178. Stall (0x5B)
  4179. \_SB.GPO1.MPD3 = Zero
  4180. }
  4181. Else
  4182. {
  4183. MRB0 &= 0xFFFFFFFD
  4184. MRB0 |= 0x02
  4185. Stall (0x0A)
  4186. MRP0 &= 0xFFFFFFFD
  4187. MRP0 |= Zero
  4188. Stall (0x0A)
  4189. MRP0 &= 0xFFFFFFFD
  4190. MRP0 |= 0x02
  4191. Stall (0x5B)
  4192. MRP0 &= 0xFFFFFFFD
  4193. MRP0 |= Zero
  4194. }
  4195. }
  4196. }
  4197. }
  4198.  
  4199. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  4200. {
  4201. }
  4202. }
  4203.  
  4204. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  4205. {
  4206. WWPR
  4207. })
  4208. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  4209. {
  4210. WWPR
  4211. })
  4212. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  4213. {
  4214. WWPR
  4215. })
  4216. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  4217. {
  4218. Name (UPCP, Package (0x04)
  4219. {
  4220. 0xFF,
  4221. 0xFF,
  4222. Zero,
  4223. Zero
  4224. })
  4225. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC3._UPC.UPCP */
  4226. }
  4227.  
  4228. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  4229. {
  4230. Name (PLDP, Package (0x01)
  4231. {
  4232. Buffer (0x14)
  4233. {
  4234. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  4235. /* 0008 */ 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0....... */
  4236. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  4237. }
  4238. })
  4239. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC3._PLD.PLDP */
  4240. }
  4241.  
  4242. Device (MDM4)
  4243. {
  4244. Name (_ADR, 0x06) // _ADR: Address
  4245. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  4246. {
  4247. WWPR
  4248. })
  4249. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  4250. {
  4251. WWPR
  4252. })
  4253. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  4254. {
  4255. WWPR
  4256. })
  4257. }
  4258. }
  4259.  
  4260. Device (HS05)
  4261. {
  4262. Name (_ADR, 0x05) // _ADR: Address
  4263. Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
  4264. {
  4265. Name (UPCP, Package (0x04)
  4266. {
  4267. Zero,
  4268. 0xFF,
  4269. Zero,
  4270. Zero
  4271. })
  4272. Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS05._UPC.UPCP */
  4273. }
  4274.  
  4275. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  4276. {
  4277. Name (PLDP, Package (0x01)
  4278. {
  4279. Buffer (0x14)
  4280. {
  4281. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  4282. /* 0008 */ 0x00, 0x19, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, /* ........ */
  4283. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  4284. }
  4285. })
  4286. Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS05._PLD.PLDP */
  4287. }
  4288. }
  4289. }
  4290. }
  4291.  
  4292. Device (OTG1)
  4293. {
  4294. Name (_ADR, 0x00160000) // _ADR: Address
  4295. Name (_DDN, "Baytrail XHCI controller (Synopsys core/OTG)") // _DDN: DOS Device Name
  4296. Name (_STR, Unicode ("Baytrail XHCI controller (Synopsys core/OTG)")) // _STR: Description String
  4297. Name (_S0W, 0x03) // _S0W: S0 Device Wake State
  4298. OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
  4299. Field (PMEB, WordAcc, NoLock, Preserve)
  4300. {
  4301. Offset (0x01),
  4302. PMEE, 1,
  4303. , 6,
  4304. PMES, 1
  4305. }
  4306.  
  4307. OperationRegion (GENR, PCI_Config, 0xA0, 0x10)
  4308. Field (GENR, WordAcc, NoLock, Preserve)
  4309. {
  4310. , 18,
  4311. CPME, 1,
  4312. U2EN, 1,
  4313. U3EN, 1
  4314. }
  4315.  
  4316. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  4317. {
  4318. CPME = One
  4319. U2EN = One
  4320. U3EN = One
  4321. }
  4322.  
  4323. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  4324. {
  4325. CPME = Zero
  4326. U2EN = Zero
  4327. U3EN = Zero
  4328. }
  4329.  
  4330. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  4331. {
  4332. }
  4333.  
  4334. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  4335. {
  4336. Return (Zero)
  4337. }
  4338.  
  4339. Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot
  4340. {
  4341. Return (Package (0x01)
  4342. {
  4343. USBC
  4344. })
  4345. }
  4346.  
  4347. Method (_STA, 0, NotSerialized) // _STA: Status
  4348. {
  4349. If (OTGM != Zero)
  4350. {
  4351. Return (0x0F)
  4352. }
  4353. Else
  4354. {
  4355. Return (Zero)
  4356. }
  4357. }
  4358.  
  4359. Method (SMBC, 2, NotSerialized)
  4360. {
  4361. Name (BUFF, Buffer (0x03)
  4362. {
  4363. 0x00, 0x01, 0x00 /* ... */
  4364. })
  4365. CreateByteField (BUFF, Zero, BYAT)
  4366. CreateByteField (BUFF, 0x02, DATA)
  4367. If (Arg0 == Zero)
  4368. {
  4369. DATA = 0x50
  4370. ^^I2C1.BC00 = BUFF /* \_SB_.PCI0.OTG1.SMBC.BUFF */
  4371. }
  4372. Else
  4373. {
  4374. DATA = 0x51
  4375. ^^I2C1.BC00 = BUFF /* \_SB_.PCI0.OTG1.SMBC.BUFF */
  4376. }
  4377.  
  4378. BUFF = ^^I2C1.BC01 /* \_SB_.PCI0.I2C1.BC01 */
  4379. DATA &= 0xFD
  4380. ^^I2C1.BC01 = BUFF /* \_SB_.PCI0.OTG1.SMBC.BUFF */
  4381. If (Arg1 == Zero)
  4382. {
  4383. BUFF = ^^I2C1.BC31 /* \_SB_.PCI0.I2C1.BC31 */
  4384. DATA &= 0xFB
  4385. ^^I2C1.BC31 = BUFF /* \_SB_.PCI0.OTG1.SMBC.BUFF */
  4386. }
  4387. Else
  4388. {
  4389. BUFF = ^^I2C1.BC31 /* \_SB_.PCI0.I2C1.BC31 */
  4390. DATA |= 0x04
  4391. ^^I2C1.BC31 = BUFF /* \_SB_.PCI0.OTG1.SMBC.BUFF */
  4392. }
  4393. }
  4394.  
  4395. Method (TIBC, 2, NotSerialized)
  4396. {
  4397. If (Arg0 == Zero)
  4398. {
  4399. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4400. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
  4401. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
  4402. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4403. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4404. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
  4405. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
  4406. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4407. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4408. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
  4409. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x38)
  4410. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4411. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4412. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
  4413. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
  4414. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4415. }
  4416. ElseIf (Arg0 == One)
  4417. {
  4418. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4419. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
  4420. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
  4421. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4422. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4423. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
  4424. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
  4425. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4426. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4427. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
  4428. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x39)
  4429. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4430. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4431. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
  4432. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
  4433. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4434. }
  4435. ElseIf (Arg0 == 0x02)
  4436. {
  4437. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4438. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
  4439. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
  4440. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4441. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4442. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
  4443. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
  4444. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4445. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4446. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
  4447. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3A)
  4448. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4449. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4450. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
  4451. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
  4452. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4453. }
  4454. ElseIf (Arg0 == 0x03)
  4455. {
  4456. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4457. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
  4458. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
  4459. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4460. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4461. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
  4462. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
  4463. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4464. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4465. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
  4466. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
  4467. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4468. ^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
  4469. ^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
  4470. ^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
  4471. ^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
  4472. }
  4473. }
  4474.  
  4475. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  4476. {
  4477. If (Arg0 == ToUUID ("eaa3afa9-6469-4015-9041-a83634a7fa2d"))
  4478. {
  4479. If (Arg2 == Zero)
  4480. {
  4481. Return (Zero)
  4482. }
  4483.  
  4484. If (Arg2 == One)
  4485. {
  4486. Return (One)
  4487. }
  4488. }
  4489.  
  4490. If (Arg0 == ToUUID ("e2528aa0-8863-48f4-aa40-865e05902449"))
  4491. {
  4492. If (BDID == 0x08)
  4493. {
  4494. Local0 = ^^I2C7.BATC.PSRC ()
  4495. }
  4496. ElseIf ((BDID == 0x09) || (BDID == 0x0A))
  4497. {
  4498. Local0 = ^^I2C7.WIDR.PSRC ()
  4499. }
  4500. Else
  4501. {
  4502. Local0 = ^^I2C1.BATC.PSRC ()
  4503. }
  4504.  
  4505. If (Arg2 == Zero)
  4506. {
  4507. Return (Zero)
  4508. }
  4509.  
  4510. If (Arg2 == One)
  4511. {
  4512. If (Local0 == One)
  4513. {
  4514. Return (0x03)
  4515. }
  4516.  
  4517. If (Local0 == 0x02)
  4518. {
  4519. Return (Zero)
  4520. }
  4521.  
  4522. If (Local0 == 0x03)
  4523. {
  4524. Return (0x02)
  4525. }
  4526.  
  4527. If (Local0 == 0x04)
  4528. {
  4529. Return (One)
  4530. }
  4531.  
  4532. If (Local0 == 0x05)
  4533. {
  4534. Return (0x04)
  4535. }
  4536.  
  4537. If (Local0 == Zero)
  4538. {
  4539. Return (0x05)
  4540. }
  4541. }
  4542. }
  4543.  
  4544. If (Arg0 == ToUUID ("b2090db6-9135-4ef6-bd18-d5590dda90be"))
  4545. {
  4546. Name (BUFF, Buffer (0x03)
  4547. {
  4548. 0x00, 0x01, 0x00 /* ... */
  4549. })
  4550. CreateByteField (BUFF, Zero, BYAT)
  4551. CreateByteField (BUFF, 0x02, DATA)
  4552. If (Arg2 == Zero)
  4553. {
  4554. Return (Zero)
  4555. }
  4556.  
  4557. If (Arg2 == One)
  4558. {
  4559. If (BDID == 0x03)
  4560. {
  4561. SMBC (Zero, Zero)
  4562. }
  4563. ElseIf ((BDID == 0x08) || ((BDID == 0x09) || (BDID ==
  4564. 0x0A)))
  4565. {
  4566. TIBC (Zero, Zero)
  4567. }
  4568. }
  4569.  
  4570. If (Arg2 == 0x02)
  4571. {
  4572. If (BDID == 0x03)
  4573. {
  4574. SMBC (Zero, Zero)
  4575. }
  4576. ElseIf ((BDID == 0x08) || ((BDID == 0x09) || (BDID ==
  4577. 0x0A)))
  4578. {
  4579. TIBC (0x02, Zero)
  4580. }
  4581. }
  4582.  
  4583. If (Arg2 == 0x03)
  4584. {
  4585. If (BDID == 0x03)
  4586. {
  4587. SMBC (Zero, One)
  4588. }
  4589. ElseIf ((BDID == 0x08) || ((BDID == 0x09) || (BDID ==
  4590. 0x0A)))
  4591. {
  4592. TIBC (One, One)
  4593. }
  4594. }
  4595.  
  4596. If (Arg2 == 0x04)
  4597. {
  4598. If (BDID == 0x03)
  4599. {
  4600. SMBC (One, One)
  4601. }
  4602. ElseIf ((BDID == 0x08) || ((BDID == 0x09) || (BDID ==
  4603. 0x0A)))
  4604. {
  4605. TIBC (0x03, One)
  4606. }
  4607. }
  4608.  
  4609. If (Arg2 == 0x05)
  4610. {
  4611. If (BDID == 0x03)
  4612. {
  4613. BUFF = ^^I2C1.BC30 /* \_SB_.PCI0.I2C1.BC30 */
  4614. Local0 = DATA /* \_SB_.PCI0.OTG1._DSM.DATA */
  4615. Local1 = (Local0 & 0xFF)
  4616. DATA = (Local1 | 0x04)
  4617. ^^I2C1.BC30 = BUFF /* \_SB_.PCI0.OTG1._DSM.BUFF */
  4618. Return (BYAT) /* \_SB_.PCI0.OTG1._DSM.BYAT */
  4619. }
  4620. }
  4621. }
  4622. }
  4623. }
  4624.  
  4625. Device (OTG2)
  4626. {
  4627. Name (_HID, "INT3496") // _HID: Hardware ID
  4628. Name (_CID, "INT3496") // _CID: Compatible ID
  4629. Method (_STA, 0, NotSerialized) // _STA: Status
  4630. {
  4631. If ((BDID == One) && (OSID != One))
  4632. {
  4633. Return (0x0F)
  4634. }
  4635.  
  4636. Return (Zero)
  4637. }
  4638.  
  4639. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  4640. {
  4641. Name (ABUF, ResourceTemplate ()
  4642. {
  4643. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  4644. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  4645. )
  4646. { // Pin list
  4647. 0x0003
  4648. }
  4649. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  4650. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  4651. )
  4652. { // Pin list
  4653. 0x002E
  4654. }
  4655. })
  4656. Return (ABUF) /* \_SB_.PCI0.OTG2._CRS.ABUF */
  4657. }
  4658. }
  4659.  
  4660. Device (GPTC)
  4661. {
  4662. Name (_HID, "GPTC0001") // _HID: Hardware ID
  4663. Name (_CID, "GPTC0001") // _CID: Compatible ID
  4664. Method (_STA, 0, NotSerialized) // _STA: Status
  4665. {
  4666. If ((OSID != One) && ((BDID == 0x09) || (BDID ==
  4667. 0x0A)))
  4668. {
  4669. Return (0x0F)
  4670. }
  4671.  
  4672. Return (Zero)
  4673. }
  4674.  
  4675. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  4676. {
  4677. Name (ABUF, ResourceTemplate ()
  4678. {
  4679. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  4680. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  4681. )
  4682. { // Pin list
  4683. 0x0000
  4684. }
  4685. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  4686. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  4687. )
  4688. { // Pin list
  4689. 0x0002
  4690. }
  4691. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  4692. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  4693. )
  4694. { // Pin list
  4695. 0x0003
  4696. }
  4697. })
  4698. Return (ABUF) /* \_SB_.PCI0.GPTC._CRS.ABUF */
  4699. }
  4700. }
  4701.  
  4702. Device (PEPD)
  4703. {
  4704. Name (_HID, "INT33A4") // _HID: Hardware ID
  4705. Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */) // _CID: Compatible ID
  4706. Name (_UID, One) // _UID: Unique ID
  4707. Name (CDMP, Package (0x02) {})
  4708. Name (DEVY, Package (0x17)
  4709. {
  4710. Package (0x03)
  4711. {
  4712. "\\_PR.CPU0",
  4713. One,
  4714. Package (0x02)
  4715. {
  4716. Zero,
  4717. Package (0x02)
  4718. {
  4719. 0xFF,
  4720. Zero
  4721. }
  4722. }
  4723. },
  4724.  
  4725. Package (0x03)
  4726. {
  4727. "\\_PR.CPU1",
  4728. One,
  4729. Package (0x02)
  4730. {
  4731. Zero,
  4732. Package (0x02)
  4733. {
  4734. 0xFF,
  4735. Zero
  4736. }
  4737. }
  4738. },
  4739.  
  4740. Package (0x03)
  4741. {
  4742. "\\_PR.CPU2",
  4743. One,
  4744. Package (0x02)
  4745. {
  4746. Zero,
  4747. Package (0x02)
  4748. {
  4749. 0xFF,
  4750. Zero
  4751. }
  4752. }
  4753. },
  4754.  
  4755. Package (0x03)
  4756. {
  4757. "\\_PR.CPU3",
  4758. One,
  4759. Package (0x02)
  4760. {
  4761. Zero,
  4762. Package (0x02)
  4763. {
  4764. 0xFF,
  4765. Zero
  4766. }
  4767. }
  4768. },
  4769.  
  4770. Package (0x03)
  4771. {
  4772. "\\_SB.PCI0.GFX0",
  4773. One,
  4774. Package (0x02)
  4775. {
  4776. Zero,
  4777. Package (0x02)
  4778. {
  4779. 0xFF,
  4780. 0x03
  4781. }
  4782. }
  4783. },
  4784.  
  4785. Package (0x03)
  4786. {
  4787. "\\_SB.PCI0.I2C1",
  4788. One,
  4789. Package (0x05)
  4790. {
  4791. Zero,
  4792. Package (0x02)
  4793. {
  4794. Zero,
  4795. Zero
  4796. },
  4797.  
  4798. Package (0x02)
  4799. {
  4800. One,
  4801. 0x03
  4802. },
  4803.  
  4804. Package (0x02)
  4805. {
  4806. 0x02,
  4807. 0x03
  4808. },
  4809.  
  4810. Package (0x02)
  4811. {
  4812. 0x03,
  4813. 0x03
  4814. }
  4815. }
  4816. },
  4817.  
  4818. Package (0x03)
  4819. {
  4820. "\\_SB.PCI0.I2C2",
  4821. One,
  4822. Package (0x05)
  4823. {
  4824. Zero,
  4825. Package (0x02)
  4826. {
  4827. Zero,
  4828. Zero
  4829. },
  4830.  
  4831. Package (0x02)
  4832. {
  4833. One,
  4834. 0x03
  4835. },
  4836.  
  4837. Package (0x02)
  4838. {
  4839. 0x02,
  4840. 0x03
  4841. },
  4842.  
  4843. Package (0x02)
  4844. {
  4845. 0x03,
  4846. 0x03
  4847. }
  4848. }
  4849. },
  4850.  
  4851. Package (0x03)
  4852. {
  4853. "\\_SB.PCI0.I2C3",
  4854. One,
  4855. Package (0x05)
  4856. {
  4857. Zero,
  4858. Package (0x02)
  4859. {
  4860. Zero,
  4861. Zero
  4862. },
  4863.  
  4864. Package (0x02)
  4865. {
  4866. One,
  4867. 0x03
  4868. },
  4869.  
  4870. Package (0x02)
  4871. {
  4872. 0x02,
  4873. 0x03
  4874. },
  4875.  
  4876. Package (0x02)
  4877. {
  4878. 0x03,
  4879. 0x03
  4880. }
  4881. }
  4882. },
  4883.  
  4884. Package (0x03)
  4885. {
  4886. "\\_SB.PCI0.I2C4",
  4887. One,
  4888. Package (0x05)
  4889. {
  4890. Zero,
  4891. Package (0x02)
  4892. {
  4893. Zero,
  4894. Zero
  4895. },
  4896.  
  4897. Package (0x02)
  4898. {
  4899. One,
  4900. 0x03
  4901. },
  4902.  
  4903. Package (0x02)
  4904. {
  4905. 0x02,
  4906. 0x03
  4907. },
  4908.  
  4909. Package (0x02)
  4910. {
  4911. 0x03,
  4912. 0x03
  4913. }
  4914. }
  4915. },
  4916.  
  4917. Package (0x03)
  4918. {
  4919. "\\_SB.PCI0.I2C5",
  4920. One,
  4921. Package (0x05)
  4922. {
  4923. Zero,
  4924. Package (0x02)
  4925. {
  4926. Zero,
  4927. Zero
  4928. },
  4929.  
  4930. Package (0x02)
  4931. {
  4932. One,
  4933. 0x03
  4934. },
  4935.  
  4936. Package (0x02)
  4937. {
  4938. 0x02,
  4939. 0x03
  4940. },
  4941.  
  4942. Package (0x02)
  4943. {
  4944. 0x03,
  4945. 0x03
  4946. }
  4947. }
  4948. },
  4949.  
  4950. Package (0x03)
  4951. {
  4952. "\\_SB.PCI0.I2C6",
  4953. One,
  4954. Package (0x05)
  4955. {
  4956. Zero,
  4957. Package (0x02)
  4958. {
  4959. Zero,
  4960. Zero
  4961. },
  4962.  
  4963. Package (0x02)
  4964. {
  4965. One,
  4966. 0x03
  4967. },
  4968.  
  4969. Package (0x02)
  4970. {
  4971. 0x02,
  4972. 0x03
  4973. },
  4974.  
  4975. Package (0x02)
  4976. {
  4977. 0x03,
  4978. 0x03
  4979. }
  4980. }
  4981. },
  4982.  
  4983. Package (0x03)
  4984. {
  4985. "\\_SB.PCI0.I2C7",
  4986. One,
  4987. Package (0x05)
  4988. {
  4989. Zero,
  4990. Package (0x02)
  4991. {
  4992. Zero,
  4993. Zero
  4994. },
  4995.  
  4996. Package (0x02)
  4997. {
  4998. One,
  4999. 0x03
  5000. },
  5001.  
  5002. Package (0x02)
  5003. {
  5004. 0x02,
  5005. 0x03
  5006. },
  5007.  
  5008. Package (0x02)
  5009. {
  5010. 0x03,
  5011. 0x03
  5012. }
  5013. }
  5014. },
  5015.  
  5016. Package (0x03)
  5017. {
  5018. "\\_SB.PCI0.XHC1",
  5019. One,
  5020. Package (0x05)
  5021. {
  5022. Zero,
  5023. Package (0x02)
  5024. {
  5025. Zero,
  5026. Zero
  5027. },
  5028.  
  5029. Package (0x02)
  5030. {
  5031. One,
  5032. 0x03
  5033. },
  5034.  
  5035. Package (0x02)
  5036. {
  5037. 0x02,
  5038. 0x03
  5039. },
  5040.  
  5041. Package (0x02)
  5042. {
  5043. 0x03,
  5044. 0x03
  5045. }
  5046. }
  5047. },
  5048.  
  5049. Package (0x03)
  5050. {
  5051. "\\_SB.PCI0.SEC0",
  5052. One,
  5053. Package (0x05)
  5054. {
  5055. Zero,
  5056. Package (0x02)
  5057. {
  5058. Zero,
  5059. Zero
  5060. },
  5061.  
  5062. Package (0x02)
  5063. {
  5064. One,
  5065. 0x03
  5066. },
  5067.  
  5068. Package (0x02)
  5069. {
  5070. 0x02,
  5071. 0x03
  5072. },
  5073.  
  5074. Package (0x02)
  5075. {
  5076. 0x03,
  5077. 0x03
  5078. }
  5079. }
  5080. },
  5081.  
  5082. Package (0x03)
  5083. {
  5084. "\\_SB.PCI0.LPEA",
  5085. One,
  5086. Package (0x05)
  5087. {
  5088. Zero,
  5089. Package (0x02)
  5090. {
  5091. Zero,
  5092. Zero
  5093. },
  5094.  
  5095. Package (0x02)
  5096. {
  5097. One,
  5098. Zero
  5099. },
  5100.  
  5101. Package (0x02)
  5102. {
  5103. 0x02,
  5104. 0x03
  5105. },
  5106.  
  5107. Package (0x02)
  5108. {
  5109. 0x03,
  5110. 0x03
  5111. }
  5112. }
  5113. },
  5114.  
  5115. Package (0x03)
  5116. {
  5117. "\\_SB.PCI0.SDHA",
  5118. One,
  5119. Package (0x05)
  5120. {
  5121. Zero,
  5122. Package (0x02)
  5123. {
  5124. Zero,
  5125. Zero
  5126. },
  5127.  
  5128. Package (0x02)
  5129. {
  5130. One,
  5131. 0x03
  5132. },
  5133.  
  5134. Package (0x02)
  5135. {
  5136. 0x02,
  5137. 0x03
  5138. },
  5139.  
  5140. Package (0x02)
  5141. {
  5142. 0x03,
  5143. 0x03
  5144. }
  5145. }
  5146. },
  5147.  
  5148. Package (0x03)
  5149. {
  5150. "\\_SB.PCI0.SDHB",
  5151. One,
  5152. Package (0x05)
  5153. {
  5154. Zero,
  5155. Package (0x02)
  5156. {
  5157. Zero,
  5158. Zero
  5159. },
  5160.  
  5161. Package (0x02)
  5162. {
  5163. One,
  5164. 0x03
  5165. },
  5166.  
  5167. Package (0x02)
  5168. {
  5169. 0x02,
  5170. 0x03
  5171. },
  5172.  
  5173. Package (0x02)
  5174. {
  5175. 0x03,
  5176. 0x03
  5177. }
  5178. }
  5179. },
  5180.  
  5181. Package (0x03)
  5182. {
  5183. "\\_SB.PCI0.SDHC",
  5184. One,
  5185. Package (0x05)
  5186. {
  5187. Zero,
  5188. Package (0x02)
  5189. {
  5190. Zero,
  5191. Zero
  5192. },
  5193.  
  5194. Package (0x02)
  5195. {
  5196. One,
  5197. 0x03
  5198. },
  5199.  
  5200. Package (0x02)
  5201. {
  5202. 0x02,
  5203. 0x03
  5204. },
  5205.  
  5206. Package (0x02)
  5207. {
  5208. 0x03,
  5209. 0x03
  5210. }
  5211. }
  5212. },
  5213.  
  5214. Package (0x03)
  5215. {
  5216. "\\_SB.PCI0.SPI1",
  5217. One,
  5218. Package (0x05)
  5219. {
  5220. Zero,
  5221. Package (0x02)
  5222. {
  5223. Zero,
  5224. Zero
  5225. },
  5226.  
  5227. Package (0x02)
  5228. {
  5229. One,
  5230. 0x03
  5231. },
  5232.  
  5233. Package (0x02)
  5234. {
  5235. 0x02,
  5236. 0x03
  5237. },
  5238.  
  5239. Package (0x02)
  5240. {
  5241. 0x03,
  5242. 0x03
  5243. }
  5244. }
  5245. },
  5246.  
  5247. Package (0x03)
  5248. {
  5249. "\\_SB.PCI0.SPI2",
  5250. One,
  5251. Package (0x05)
  5252. {
  5253. Zero,
  5254. Package (0x02)
  5255. {
  5256. Zero,
  5257. Zero
  5258. },
  5259.  
  5260. Package (0x02)
  5261. {
  5262. One,
  5263. 0x03
  5264. },
  5265.  
  5266. Package (0x02)
  5267. {
  5268. 0x02,
  5269. 0x03
  5270. },
  5271.  
  5272. Package (0x02)
  5273. {
  5274. 0x03,
  5275. 0x03
  5276. }
  5277. }
  5278. },
  5279.  
  5280. Package (0x03)
  5281. {
  5282. "\\_SB.PCI0.SPI3",
  5283. One,
  5284. Package (0x05)
  5285. {
  5286. Zero,
  5287. Package (0x02)
  5288. {
  5289. Zero,
  5290. Zero
  5291. },
  5292.  
  5293. Package (0x02)
  5294. {
  5295. One,
  5296. 0x03
  5297. },
  5298.  
  5299. Package (0x02)
  5300. {
  5301. 0x02,
  5302. 0x03
  5303. },
  5304.  
  5305. Package (0x02)
  5306. {
  5307. 0x03,
  5308. 0x03
  5309. }
  5310. }
  5311. },
  5312.  
  5313. Package (0x03)
  5314. {
  5315. "\\_SB.PCI0.URT1",
  5316. One,
  5317. Package (0x05)
  5318. {
  5319. Zero,
  5320. Package (0x02)
  5321. {
  5322. Zero,
  5323. Zero
  5324. },
  5325.  
  5326. Package (0x02)
  5327. {
  5328. One,
  5329. 0x03
  5330. },
  5331.  
  5332. Package (0x02)
  5333. {
  5334. 0x02,
  5335. 0x03
  5336. },
  5337.  
  5338. Package (0x02)
  5339. {
  5340. 0x03,
  5341. 0x03
  5342. }
  5343. }
  5344. },
  5345.  
  5346. Package (0x03)
  5347. {
  5348. "\\_SB.PCI0.URT2",
  5349. One,
  5350. Package (0x05)
  5351. {
  5352. Zero,
  5353. Package (0x02)
  5354. {
  5355. Zero,
  5356. Zero
  5357. },
  5358.  
  5359. Package (0x02)
  5360. {
  5361. One,
  5362. 0x03
  5363. },
  5364.  
  5365. Package (0x02)
  5366. {
  5367. 0x02,
  5368. 0x03
  5369. },
  5370.  
  5371. Package (0x02)
  5372. {
  5373. 0x03,
  5374. 0x03
  5375. }
  5376. }
  5377. }
  5378. })
  5379. Name (DEVL, Package (0x17)
  5380. {
  5381. Package (0x03)
  5382. {
  5383. "\\_PR.CPU0",
  5384. One,
  5385. Package (0x02)
  5386. {
  5387. Zero,
  5388. Package (0x02)
  5389. {
  5390. 0xFF,
  5391. Zero
  5392. }
  5393. }
  5394. },
  5395.  
  5396. Package (0x03)
  5397. {
  5398. "\\_PR.CPU1",
  5399. One,
  5400. Package (0x02)
  5401. {
  5402. Zero,
  5403. Package (0x02)
  5404. {
  5405. 0xFF,
  5406. Zero
  5407. }
  5408. }
  5409. },
  5410.  
  5411. Package (0x03)
  5412. {
  5413. "\\_PR.CPU2",
  5414. One,
  5415. Package (0x02)
  5416. {
  5417. Zero,
  5418. Package (0x02)
  5419. {
  5420. 0xFF,
  5421. Zero
  5422. }
  5423. }
  5424. },
  5425.  
  5426. Package (0x03)
  5427. {
  5428. "\\_PR.CPU3",
  5429. One,
  5430. Package (0x02)
  5431. {
  5432. Zero,
  5433. Package (0x02)
  5434. {
  5435. 0xFF,
  5436. Zero
  5437. }
  5438. }
  5439. },
  5440.  
  5441. Package (0x03)
  5442. {
  5443. "\\_SB.PCI0.GFX0",
  5444. One,
  5445. Package (0x02)
  5446. {
  5447. Zero,
  5448. Package (0x02)
  5449. {
  5450. 0xFF,
  5451. 0x03
  5452. }
  5453. }
  5454. },
  5455.  
  5456. Package (0x03)
  5457. {
  5458. "\\_SB.PCI0.I2C1",
  5459. One,
  5460. Package (0x05)
  5461. {
  5462. Zero,
  5463. Package (0x02)
  5464. {
  5465. Zero,
  5466. Zero
  5467. },
  5468.  
  5469. Package (0x02)
  5470. {
  5471. One,
  5472. 0x03
  5473. },
  5474.  
  5475. Package (0x02)
  5476. {
  5477. 0x02,
  5478. 0x03
  5479. },
  5480.  
  5481. Package (0x02)
  5482. {
  5483. 0x03,
  5484. 0x03
  5485. }
  5486. }
  5487. },
  5488.  
  5489. Package (0x03)
  5490. {
  5491. "\\_SB.PCI0.I2C2",
  5492. One,
  5493. Package (0x05)
  5494. {
  5495. Zero,
  5496. Package (0x02)
  5497. {
  5498. Zero,
  5499. Zero
  5500. },
  5501.  
  5502. Package (0x02)
  5503. {
  5504. One,
  5505. 0x03
  5506. },
  5507.  
  5508. Package (0x02)
  5509. {
  5510. 0x02,
  5511. 0x03
  5512. },
  5513.  
  5514. Package (0x02)
  5515. {
  5516. 0x03,
  5517. 0x03
  5518. }
  5519. }
  5520. },
  5521.  
  5522. Package (0x03)
  5523. {
  5524. "\\_SB.PCI0.I2C3",
  5525. One,
  5526. Package (0x05)
  5527. {
  5528. Zero,
  5529. Package (0x02)
  5530. {
  5531. Zero,
  5532. Zero
  5533. },
  5534.  
  5535. Package (0x02)
  5536. {
  5537. One,
  5538. 0x03
  5539. },
  5540.  
  5541. Package (0x02)
  5542. {
  5543. 0x02,
  5544. 0x03
  5545. },
  5546.  
  5547. Package (0x02)
  5548. {
  5549. 0x03,
  5550. 0x03
  5551. }
  5552. }
  5553. },
  5554.  
  5555. Package (0x03)
  5556. {
  5557. "\\_SB.PCI0.I2C4",
  5558. One,
  5559. Package (0x05)
  5560. {
  5561. Zero,
  5562. Package (0x02)
  5563. {
  5564. Zero,
  5565. Zero
  5566. },
  5567.  
  5568. Package (0x02)
  5569. {
  5570. One,
  5571. 0x03
  5572. },
  5573.  
  5574. Package (0x02)
  5575. {
  5576. 0x02,
  5577. 0x03
  5578. },
  5579.  
  5580. Package (0x02)
  5581. {
  5582. 0x03,
  5583. 0x03
  5584. }
  5585. }
  5586. },
  5587.  
  5588. Package (0x03)
  5589. {
  5590. "\\_SB.PCI0.I2C5",
  5591. One,
  5592. Package (0x05)
  5593. {
  5594. Zero,
  5595. Package (0x02)
  5596. {
  5597. Zero,
  5598. Zero
  5599. },
  5600.  
  5601. Package (0x02)
  5602. {
  5603. One,
  5604. 0x03
  5605. },
  5606.  
  5607. Package (0x02)
  5608. {
  5609. 0x02,
  5610. 0x03
  5611. },
  5612.  
  5613. Package (0x02)
  5614. {
  5615. 0x03,
  5616. 0x03
  5617. }
  5618. }
  5619. },
  5620.  
  5621. Package (0x03)
  5622. {
  5623. "\\_SB.PCI0.I2C6",
  5624. One,
  5625. Package (0x05)
  5626. {
  5627. Zero,
  5628. Package (0x02)
  5629. {
  5630. Zero,
  5631. Zero
  5632. },
  5633.  
  5634. Package (0x02)
  5635. {
  5636. One,
  5637. 0x03
  5638. },
  5639.  
  5640. Package (0x02)
  5641. {
  5642. 0x02,
  5643. 0x03
  5644. },
  5645.  
  5646. Package (0x02)
  5647. {
  5648. 0x03,
  5649. 0x03
  5650. }
  5651. }
  5652. },
  5653.  
  5654. Package (0x03)
  5655. {
  5656. "\\_SB.PCI0.I2C7",
  5657. One,
  5658. Package (0x05)
  5659. {
  5660. Zero,
  5661. Package (0x02)
  5662. {
  5663. Zero,
  5664. Zero
  5665. },
  5666.  
  5667. Package (0x02)
  5668. {
  5669. One,
  5670. 0x03
  5671. },
  5672.  
  5673. Package (0x02)
  5674. {
  5675. 0x02,
  5676. 0x03
  5677. },
  5678.  
  5679. Package (0x02)
  5680. {
  5681. 0x03,
  5682. 0x03
  5683. }
  5684. }
  5685. },
  5686.  
  5687. Package (0x03)
  5688. {
  5689. "\\_SB.PCI0.XHC1",
  5690. One,
  5691. Package (0x05)
  5692. {
  5693. Zero,
  5694. Package (0x02)
  5695. {
  5696. Zero,
  5697. Zero
  5698. },
  5699.  
  5700. Package (0x02)
  5701. {
  5702. One,
  5703. 0x03
  5704. },
  5705.  
  5706. Package (0x02)
  5707. {
  5708. 0x02,
  5709. 0x03
  5710. },
  5711.  
  5712. Package (0x02)
  5713. {
  5714. 0x03,
  5715. 0x03
  5716. }
  5717. }
  5718. },
  5719.  
  5720. Package (0x03)
  5721. {
  5722. "\\_SB.PCI0.SEC0",
  5723. One,
  5724. Package (0x05)
  5725. {
  5726. Zero,
  5727. Package (0x02)
  5728. {
  5729. Zero,
  5730. Zero
  5731. },
  5732.  
  5733. Package (0x02)
  5734. {
  5735. One,
  5736. 0x03
  5737. },
  5738.  
  5739. Package (0x02)
  5740. {
  5741. 0x02,
  5742. 0x03
  5743. },
  5744.  
  5745. Package (0x02)
  5746. {
  5747. 0x03,
  5748. 0x03
  5749. }
  5750. }
  5751. },
  5752.  
  5753. Package (0x03)
  5754. {
  5755. "\\_SB.PCI0.LPEA",
  5756. One,
  5757. Package (0x05)
  5758. {
  5759. Zero,
  5760. Package (0x02)
  5761. {
  5762. Zero,
  5763. Zero
  5764. },
  5765.  
  5766. Package (0x02)
  5767. {
  5768. One,
  5769. Zero
  5770. },
  5771.  
  5772. Package (0x02)
  5773. {
  5774. 0x02,
  5775. 0x03
  5776. },
  5777.  
  5778. Package (0x02)
  5779. {
  5780. 0x03,
  5781. 0x03
  5782. }
  5783. }
  5784. },
  5785.  
  5786. Package (0x03)
  5787. {
  5788. "\\_SB.PCI0.SDHA",
  5789. One,
  5790. Package (0x05)
  5791. {
  5792. Zero,
  5793. Package (0x02)
  5794. {
  5795. Zero,
  5796. Zero
  5797. },
  5798.  
  5799. Package (0x02)
  5800. {
  5801. One,
  5802. 0x03
  5803. },
  5804.  
  5805. Package (0x02)
  5806. {
  5807. 0x02,
  5808. 0x03
  5809. },
  5810.  
  5811. Package (0x02)
  5812. {
  5813. 0x03,
  5814. 0x03
  5815. }
  5816. }
  5817. },
  5818.  
  5819. Package (0x03)
  5820. {
  5821. "\\_SB.PCI0.SDHB",
  5822. One,
  5823. Package (0x05)
  5824. {
  5825. Zero,
  5826. Package (0x02)
  5827. {
  5828. Zero,
  5829. Zero
  5830. },
  5831.  
  5832. Package (0x02)
  5833. {
  5834. One,
  5835. 0x03
  5836. },
  5837.  
  5838. Package (0x02)
  5839. {
  5840. 0x02,
  5841. 0x03
  5842. },
  5843.  
  5844. Package (0x02)
  5845. {
  5846. 0x03,
  5847. 0x03
  5848. }
  5849. }
  5850. },
  5851.  
  5852. Package (0x03)
  5853. {
  5854. "\\_SB.PCI0.SHC1",
  5855. One,
  5856. Package (0x05)
  5857. {
  5858. Zero,
  5859. Package (0x02)
  5860. {
  5861. Zero,
  5862. Zero
  5863. },
  5864.  
  5865. Package (0x02)
  5866. {
  5867. One,
  5868. 0x03
  5869. },
  5870.  
  5871. Package (0x02)
  5872. {
  5873. 0x02,
  5874. 0x03
  5875. },
  5876.  
  5877. Package (0x02)
  5878. {
  5879. 0x03,
  5880. 0x03
  5881. }
  5882. }
  5883. },
  5884.  
  5885. Package (0x03)
  5886. {
  5887. "\\_SB.PCI0.SPI1",
  5888. One,
  5889. Package (0x05)
  5890. {
  5891. Zero,
  5892. Package (0x02)
  5893. {
  5894. Zero,
  5895. Zero
  5896. },
  5897.  
  5898. Package (0x02)
  5899. {
  5900. One,
  5901. 0x03
  5902. },
  5903.  
  5904. Package (0x02)
  5905. {
  5906. 0x02,
  5907. 0x03
  5908. },
  5909.  
  5910. Package (0x02)
  5911. {
  5912. 0x03,
  5913. 0x03
  5914. }
  5915. }
  5916. },
  5917.  
  5918. Package (0x03)
  5919. {
  5920. "\\_SB.PCI0.SPI2",
  5921. One,
  5922. Package (0x05)
  5923. {
  5924. Zero,
  5925. Package (0x02)
  5926. {
  5927. Zero,
  5928. Zero
  5929. },
  5930.  
  5931. Package (0x02)
  5932. {
  5933. One,
  5934. 0x03
  5935. },
  5936.  
  5937. Package (0x02)
  5938. {
  5939. 0x02,
  5940. 0x03
  5941. },
  5942.  
  5943. Package (0x02)
  5944. {
  5945. 0x03,
  5946. 0x03
  5947. }
  5948. }
  5949. },
  5950.  
  5951. Package (0x03)
  5952. {
  5953. "\\_SB.PCI0.SPI3",
  5954. One,
  5955. Package (0x05)
  5956. {
  5957. Zero,
  5958. Package (0x02)
  5959. {
  5960. Zero,
  5961. Zero
  5962. },
  5963.  
  5964. Package (0x02)
  5965. {
  5966. One,
  5967. 0x03
  5968. },
  5969.  
  5970. Package (0x02)
  5971. {
  5972. 0x02,
  5973. 0x03
  5974. },
  5975.  
  5976. Package (0x02)
  5977. {
  5978. 0x03,
  5979. 0x03
  5980. }
  5981. }
  5982. },
  5983.  
  5984. Package (0x03)
  5985. {
  5986. "\\_SB.PCI0.URT1",
  5987. One,
  5988. Package (0x05)
  5989. {
  5990. Zero,
  5991. Package (0x02)
  5992. {
  5993. Zero,
  5994. Zero
  5995. },
  5996.  
  5997. Package (0x02)
  5998. {
  5999. One,
  6000. 0x03
  6001. },
  6002.  
  6003. Package (0x02)
  6004. {
  6005. 0x02,
  6006. 0x03
  6007. },
  6008.  
  6009. Package (0x02)
  6010. {
  6011. 0x03,
  6012. 0x03
  6013. }
  6014. }
  6015. },
  6016.  
  6017. Package (0x03)
  6018. {
  6019. "\\_SB.PCI0.URT2",
  6020. One,
  6021. Package (0x05)
  6022. {
  6023. Zero,
  6024. Package (0x02)
  6025. {
  6026. Zero,
  6027. Zero
  6028. },
  6029.  
  6030. Package (0x02)
  6031. {
  6032. One,
  6033. 0x03
  6034. },
  6035.  
  6036. Package (0x02)
  6037. {
  6038. 0x02,
  6039. 0x03
  6040. },
  6041.  
  6042. Package (0x02)
  6043. {
  6044. 0x03,
  6045. 0x03
  6046. }
  6047. }
  6048. }
  6049. })
  6050. Name (DEHY, Package (0x16)
  6051. {
  6052. Package (0x03)
  6053. {
  6054. "\\_PR.CPU0",
  6055. One,
  6056. Package (0x02)
  6057. {
  6058. Zero,
  6059. Package (0x02)
  6060. {
  6061. 0xFF,
  6062. Zero
  6063. }
  6064. }
  6065. },
  6066.  
  6067. Package (0x03)
  6068. {
  6069. "\\_PR.CPU1",
  6070. One,
  6071. Package (0x02)
  6072. {
  6073. Zero,
  6074. Package (0x02)
  6075. {
  6076. 0xFF,
  6077. Zero
  6078. }
  6079. }
  6080. },
  6081.  
  6082. Package (0x03)
  6083. {
  6084. "\\_PR.CPU2",
  6085. One,
  6086. Package (0x02)
  6087. {
  6088. Zero,
  6089. Package (0x02)
  6090. {
  6091. 0xFF,
  6092. Zero
  6093. }
  6094. }
  6095. },
  6096.  
  6097. Package (0x03)
  6098. {
  6099. "\\_PR.CPU3",
  6100. One,
  6101. Package (0x02)
  6102. {
  6103. Zero,
  6104. Package (0x02)
  6105. {
  6106. 0xFF,
  6107. Zero
  6108. }
  6109. }
  6110. },
  6111.  
  6112. Package (0x03)
  6113. {
  6114. "\\_SB.PCI0.GFX0",
  6115. One,
  6116. Package (0x02)
  6117. {
  6118. Zero,
  6119. Package (0x02)
  6120. {
  6121. 0xFF,
  6122. 0x03
  6123. }
  6124. }
  6125. },
  6126.  
  6127. Package (0x03)
  6128. {
  6129. "\\_SB.PCI0.I2C1",
  6130. One,
  6131. Package (0x05)
  6132. {
  6133. Zero,
  6134. Package (0x02)
  6135. {
  6136. Zero,
  6137. Zero
  6138. },
  6139.  
  6140. Package (0x02)
  6141. {
  6142. One,
  6143. 0x03
  6144. },
  6145.  
  6146. Package (0x02)
  6147. {
  6148. 0x02,
  6149. 0x03
  6150. },
  6151.  
  6152. Package (0x02)
  6153. {
  6154. 0x03,
  6155. 0x03
  6156. }
  6157. }
  6158. },
  6159.  
  6160. Package (0x03)
  6161. {
  6162. "\\_SB.PCI0.I2C2",
  6163. One,
  6164. Package (0x05)
  6165. {
  6166. Zero,
  6167. Package (0x02)
  6168. {
  6169. Zero,
  6170. Zero
  6171. },
  6172.  
  6173. Package (0x02)
  6174. {
  6175. One,
  6176. 0x03
  6177. },
  6178.  
  6179. Package (0x02)
  6180. {
  6181. 0x02,
  6182. 0x03
  6183. },
  6184.  
  6185. Package (0x02)
  6186. {
  6187. 0x03,
  6188. 0x03
  6189. }
  6190. }
  6191. },
  6192.  
  6193. Package (0x03)
  6194. {
  6195. "\\_SB.PCI0.I2C3",
  6196. One,
  6197. Package (0x05)
  6198. {
  6199. Zero,
  6200. Package (0x02)
  6201. {
  6202. Zero,
  6203. Zero
  6204. },
  6205.  
  6206. Package (0x02)
  6207. {
  6208. One,
  6209. 0x03
  6210. },
  6211.  
  6212. Package (0x02)
  6213. {
  6214. 0x02,
  6215. 0x03
  6216. },
  6217.  
  6218. Package (0x02)
  6219. {
  6220. 0x03,
  6221. 0x03
  6222. }
  6223. }
  6224. },
  6225.  
  6226. Package (0x03)
  6227. {
  6228. "\\_SB.PCI0.I2C4",
  6229. One,
  6230. Package (0x05)
  6231. {
  6232. Zero,
  6233. Package (0x02)
  6234. {
  6235. Zero,
  6236. Zero
  6237. },
  6238.  
  6239. Package (0x02)
  6240. {
  6241. One,
  6242. 0x03
  6243. },
  6244.  
  6245. Package (0x02)
  6246. {
  6247. 0x02,
  6248. 0x03
  6249. },
  6250.  
  6251. Package (0x02)
  6252. {
  6253. 0x03,
  6254. 0x03
  6255. }
  6256. }
  6257. },
  6258.  
  6259. Package (0x03)
  6260. {
  6261. "\\_SB.PCI0.I2C5",
  6262. One,
  6263. Package (0x05)
  6264. {
  6265. Zero,
  6266. Package (0x02)
  6267. {
  6268. Zero,
  6269. Zero
  6270. },
  6271.  
  6272. Package (0x02)
  6273. {
  6274. One,
  6275. 0x03
  6276. },
  6277.  
  6278. Package (0x02)
  6279. {
  6280. 0x02,
  6281. 0x03
  6282. },
  6283.  
  6284. Package (0x02)
  6285. {
  6286. 0x03,
  6287. 0x03
  6288. }
  6289. }
  6290. },
  6291.  
  6292. Package (0x03)
  6293. {
  6294. "\\_SB.PCI0.I2C6",
  6295. One,
  6296. Package (0x05)
  6297. {
  6298. Zero,
  6299. Package (0x02)
  6300. {
  6301. Zero,
  6302. Zero
  6303. },
  6304.  
  6305. Package (0x02)
  6306. {
  6307. One,
  6308. 0x03
  6309. },
  6310.  
  6311. Package (0x02)
  6312. {
  6313. 0x02,
  6314. 0x03
  6315. },
  6316.  
  6317. Package (0x02)
  6318. {
  6319. 0x03,
  6320. 0x03
  6321. }
  6322. }
  6323. },
  6324.  
  6325. Package (0x03)
  6326. {
  6327. "\\_SB.PCI0.I2C7",
  6328. One,
  6329. Package (0x05)
  6330. {
  6331. Zero,
  6332. Package (0x02)
  6333. {
  6334. Zero,
  6335. Zero
  6336. },
  6337.  
  6338. Package (0x02)
  6339. {
  6340. One,
  6341. 0x03
  6342. },
  6343.  
  6344. Package (0x02)
  6345. {
  6346. 0x02,
  6347. 0x03
  6348. },
  6349.  
  6350. Package (0x02)
  6351. {
  6352. 0x03,
  6353. 0x03
  6354. }
  6355. }
  6356. },
  6357.  
  6358. Package (0x03)
  6359. {
  6360. "\\_SB.PCI0.XHC1",
  6361. One,
  6362. Package (0x05)
  6363. {
  6364. Zero,
  6365. Package (0x02)
  6366. {
  6367. Zero,
  6368. Zero
  6369. },
  6370.  
  6371. Package (0x02)
  6372. {
  6373. One,
  6374. 0x03
  6375. },
  6376.  
  6377. Package (0x02)
  6378. {
  6379. 0x02,
  6380. 0x03
  6381. },
  6382.  
  6383. Package (0x02)
  6384. {
  6385. 0x03,
  6386. 0x03
  6387. }
  6388. }
  6389. },
  6390.  
  6391. Package (0x03)
  6392. {
  6393. "\\_SB.PCI0.SEC0",
  6394. One,
  6395. Package (0x05)
  6396. {
  6397. Zero,
  6398. Package (0x02)
  6399. {
  6400. Zero,
  6401. Zero
  6402. },
  6403.  
  6404. Package (0x02)
  6405. {
  6406. One,
  6407. 0x03
  6408. },
  6409.  
  6410. Package (0x02)
  6411. {
  6412. 0x02,
  6413. 0x03
  6414. },
  6415.  
  6416. Package (0x02)
  6417. {
  6418. 0x03,
  6419. 0x03
  6420. }
  6421. }
  6422. },
  6423.  
  6424. Package (0x03)
  6425. {
  6426. "\\_SB.PCI0.LPEA",
  6427. One,
  6428. Package (0x05)
  6429. {
  6430. Zero,
  6431. Package (0x02)
  6432. {
  6433. Zero,
  6434. Zero
  6435. },
  6436.  
  6437. Package (0x02)
  6438. {
  6439. One,
  6440. Zero
  6441. },
  6442.  
  6443. Package (0x02)
  6444. {
  6445. 0x02,
  6446. 0x03
  6447. },
  6448.  
  6449. Package (0x02)
  6450. {
  6451. 0x03,
  6452. 0x03
  6453. }
  6454. }
  6455. },
  6456.  
  6457. Package (0x03)
  6458. {
  6459. "\\_SB.PCI0.SDHA",
  6460. One,
  6461. Package (0x05)
  6462. {
  6463. Zero,
  6464. Package (0x02)
  6465. {
  6466. Zero,
  6467. Zero
  6468. },
  6469.  
  6470. Package (0x02)
  6471. {
  6472. One,
  6473. 0x03
  6474. },
  6475.  
  6476. Package (0x02)
  6477. {
  6478. 0x02,
  6479. 0x03
  6480. },
  6481.  
  6482. Package (0x02)
  6483. {
  6484. 0x03,
  6485. 0x03
  6486. }
  6487. }
  6488. },
  6489.  
  6490. Package (0x03)
  6491. {
  6492. "\\_SB.PCI0.SDHC",
  6493. One,
  6494. Package (0x05)
  6495. {
  6496. Zero,
  6497. Package (0x02)
  6498. {
  6499. Zero,
  6500. Zero
  6501. },
  6502.  
  6503. Package (0x02)
  6504. {
  6505. One,
  6506. 0x03
  6507. },
  6508.  
  6509. Package (0x02)
  6510. {
  6511. 0x02,
  6512. 0x03
  6513. },
  6514.  
  6515. Package (0x02)
  6516. {
  6517. 0x03,
  6518. 0x03
  6519. }
  6520. }
  6521. },
  6522.  
  6523. Package (0x03)
  6524. {
  6525. "\\_SB.PCI0.SPI1",
  6526. One,
  6527. Package (0x05)
  6528. {
  6529. Zero,
  6530. Package (0x02)
  6531. {
  6532. Zero,
  6533. Zero
  6534. },
  6535.  
  6536. Package (0x02)
  6537. {
  6538. One,
  6539. 0x03
  6540. },
  6541.  
  6542. Package (0x02)
  6543. {
  6544. 0x02,
  6545. 0x03
  6546. },
  6547.  
  6548. Package (0x02)
  6549. {
  6550. 0x03,
  6551. 0x03
  6552. }
  6553. }
  6554. },
  6555.  
  6556. Package (0x03)
  6557. {
  6558. "\\_SB.PCI0.SPI2",
  6559. One,
  6560. Package (0x05)
  6561. {
  6562. Zero,
  6563. Package (0x02)
  6564. {
  6565. Zero,
  6566. Zero
  6567. },
  6568.  
  6569. Package (0x02)
  6570. {
  6571. One,
  6572. 0x03
  6573. },
  6574.  
  6575. Package (0x02)
  6576. {
  6577. 0x02,
  6578. 0x03
  6579. },
  6580.  
  6581. Package (0x02)
  6582. {
  6583. 0x03,
  6584. 0x03
  6585. }
  6586. }
  6587. },
  6588.  
  6589. Package (0x03)
  6590. {
  6591. "\\_SB.PCI0.SPI3",
  6592. One,
  6593. Package (0x05)
  6594. {
  6595. Zero,
  6596. Package (0x02)
  6597. {
  6598. Zero,
  6599. Zero
  6600. },
  6601.  
  6602. Package (0x02)
  6603. {
  6604. One,
  6605. 0x03
  6606. },
  6607.  
  6608. Package (0x02)
  6609. {
  6610. 0x02,
  6611. 0x03
  6612. },
  6613.  
  6614. Package (0x02)
  6615. {
  6616. 0x03,
  6617. 0x03
  6618. }
  6619. }
  6620. },
  6621.  
  6622. Package (0x03)
  6623. {
  6624. "\\_SB.PCI0.URT1",
  6625. One,
  6626. Package (0x05)
  6627. {
  6628. Zero,
  6629. Package (0x02)
  6630. {
  6631. Zero,
  6632. Zero
  6633. },
  6634.  
  6635. Package (0x02)
  6636. {
  6637. One,
  6638. 0x03
  6639. },
  6640.  
  6641. Package (0x02)
  6642. {
  6643. 0x02,
  6644. 0x03
  6645. },
  6646.  
  6647. Package (0x02)
  6648. {
  6649. 0x03,
  6650. 0x03
  6651. }
  6652. }
  6653. },
  6654.  
  6655. Package (0x03)
  6656. {
  6657. "\\_SB.PCI0.URT2",
  6658. One,
  6659. Package (0x05)
  6660. {
  6661. Zero,
  6662. Package (0x02)
  6663. {
  6664. Zero,
  6665. Zero
  6666. },
  6667.  
  6668. Package (0x02)
  6669. {
  6670. One,
  6671. 0x03
  6672. },
  6673.  
  6674. Package (0x02)
  6675. {
  6676. 0x02,
  6677. 0x03
  6678. },
  6679.  
  6680. Package (0x02)
  6681. {
  6682. 0x03,
  6683. 0x03
  6684. }
  6685. }
  6686. }
  6687. })
  6688. Name (DEHL, Package (0x16)
  6689. {
  6690. Package (0x03)
  6691. {
  6692. "\\_PR.CPU0",
  6693. One,
  6694. Package (0x02)
  6695. {
  6696. Zero,
  6697. Package (0x02)
  6698. {
  6699. 0xFF,
  6700. Zero
  6701. }
  6702. }
  6703. },
  6704.  
  6705. Package (0x03)
  6706. {
  6707. "\\_PR.CPU1",
  6708. One,
  6709. Package (0x02)
  6710. {
  6711. Zero,
  6712. Package (0x02)
  6713. {
  6714. 0xFF,
  6715. Zero
  6716. }
  6717. }
  6718. },
  6719.  
  6720. Package (0x03)
  6721. {
  6722. "\\_PR.CPU2",
  6723. One,
  6724. Package (0x02)
  6725. {
  6726. Zero,
  6727. Package (0x02)
  6728. {
  6729. 0xFF,
  6730. Zero
  6731. }
  6732. }
  6733. },
  6734.  
  6735. Package (0x03)
  6736. {
  6737. "\\_PR.CPU3",
  6738. One,
  6739. Package (0x02)
  6740. {
  6741. Zero,
  6742. Package (0x02)
  6743. {
  6744. 0xFF,
  6745. Zero
  6746. }
  6747. }
  6748. },
  6749.  
  6750. Package (0x03)
  6751. {
  6752. "\\_SB.PCI0.GFX0",
  6753. One,
  6754. Package (0x02)
  6755. {
  6756. Zero,
  6757. Package (0x02)
  6758. {
  6759. 0xFF,
  6760. 0x03
  6761. }
  6762. }
  6763. },
  6764.  
  6765. Package (0x03)
  6766. {
  6767. "\\_SB.PCI0.I2C1",
  6768. One,
  6769. Package (0x05)
  6770. {
  6771. Zero,
  6772. Package (0x02)
  6773. {
  6774. Zero,
  6775. Zero
  6776. },
  6777.  
  6778. Package (0x02)
  6779. {
  6780. One,
  6781. 0x03
  6782. },
  6783.  
  6784. Package (0x02)
  6785. {
  6786. 0x02,
  6787. 0x03
  6788. },
  6789.  
  6790. Package (0x02)
  6791. {
  6792. 0x03,
  6793. 0x03
  6794. }
  6795. }
  6796. },
  6797.  
  6798. Package (0x03)
  6799. {
  6800. "\\_SB.PCI0.I2C2",
  6801. One,
  6802. Package (0x05)
  6803. {
  6804. Zero,
  6805. Package (0x02)
  6806. {
  6807. Zero,
  6808. Zero
  6809. },
  6810.  
  6811. Package (0x02)
  6812. {
  6813. One,
  6814. 0x03
  6815. },
  6816.  
  6817. Package (0x02)
  6818. {
  6819. 0x02,
  6820. 0x03
  6821. },
  6822.  
  6823. Package (0x02)
  6824. {
  6825. 0x03,
  6826. 0x03
  6827. }
  6828. }
  6829. },
  6830.  
  6831. Package (0x03)
  6832. {
  6833. "\\_SB.PCI0.I2C3",
  6834. One,
  6835. Package (0x05)
  6836. {
  6837. Zero,
  6838. Package (0x02)
  6839. {
  6840. Zero,
  6841. Zero
  6842. },
  6843.  
  6844. Package (0x02)
  6845. {
  6846. One,
  6847. 0x03
  6848. },
  6849.  
  6850. Package (0x02)
  6851. {
  6852. 0x02,
  6853. 0x03
  6854. },
  6855.  
  6856. Package (0x02)
  6857. {
  6858. 0x03,
  6859. 0x03
  6860. }
  6861. }
  6862. },
  6863.  
  6864. Package (0x03)
  6865. {
  6866. "\\_SB.PCI0.I2C4",
  6867. One,
  6868. Package (0x05)
  6869. {
  6870. Zero,
  6871. Package (0x02)
  6872. {
  6873. Zero,
  6874. Zero
  6875. },
  6876.  
  6877. Package (0x02)
  6878. {
  6879. One,
  6880. 0x03
  6881. },
  6882.  
  6883. Package (0x02)
  6884. {
  6885. 0x02,
  6886. 0x03
  6887. },
  6888.  
  6889. Package (0x02)
  6890. {
  6891. 0x03,
  6892. 0x03
  6893. }
  6894. }
  6895. },
  6896.  
  6897. Package (0x03)
  6898. {
  6899. "\\_SB.PCI0.I2C5",
  6900. One,
  6901. Package (0x05)
  6902. {
  6903. Zero,
  6904. Package (0x02)
  6905. {
  6906. Zero,
  6907. Zero
  6908. },
  6909.  
  6910. Package (0x02)
  6911. {
  6912. One,
  6913. 0x03
  6914. },
  6915.  
  6916. Package (0x02)
  6917. {
  6918. 0x02,
  6919. 0x03
  6920. },
  6921.  
  6922. Package (0x02)
  6923. {
  6924. 0x03,
  6925. 0x03
  6926. }
  6927. }
  6928. },
  6929.  
  6930. Package (0x03)
  6931. {
  6932. "\\_SB.PCI0.I2C6",
  6933. One,
  6934. Package (0x05)
  6935. {
  6936. Zero,
  6937. Package (0x02)
  6938. {
  6939. Zero,
  6940. Zero
  6941. },
  6942.  
  6943. Package (0x02)
  6944. {
  6945. One,
  6946. 0x03
  6947. },
  6948.  
  6949. Package (0x02)
  6950. {
  6951. 0x02,
  6952. 0x03
  6953. },
  6954.  
  6955. Package (0x02)
  6956. {
  6957. 0x03,
  6958. 0x03
  6959. }
  6960. }
  6961. },
  6962.  
  6963. Package (0x03)
  6964. {
  6965. "\\_SB.PCI0.I2C7",
  6966. One,
  6967. Package (0x05)
  6968. {
  6969. Zero,
  6970. Package (0x02)
  6971. {
  6972. Zero,
  6973. Zero
  6974. },
  6975.  
  6976. Package (0x02)
  6977. {
  6978. One,
  6979. 0x03
  6980. },
  6981.  
  6982. Package (0x02)
  6983. {
  6984. 0x02,
  6985. 0x03
  6986. },
  6987.  
  6988. Package (0x02)
  6989. {
  6990. 0x03,
  6991. 0x03
  6992. }
  6993. }
  6994. },
  6995.  
  6996. Package (0x03)
  6997. {
  6998. "\\_SB.PCI0.XHC1",
  6999. One,
  7000. Package (0x05)
  7001. {
  7002. Zero,
  7003. Package (0x02)
  7004. {
  7005. Zero,
  7006. Zero
  7007. },
  7008.  
  7009. Package (0x02)
  7010. {
  7011. One,
  7012. 0x03
  7013. },
  7014.  
  7015. Package (0x02)
  7016. {
  7017. 0x02,
  7018. 0x03
  7019. },
  7020.  
  7021. Package (0x02)
  7022. {
  7023. 0x03,
  7024. 0x03
  7025. }
  7026. }
  7027. },
  7028.  
  7029. Package (0x03)
  7030. {
  7031. "\\_SB.PCI0.SEC0",
  7032. One,
  7033. Package (0x05)
  7034. {
  7035. Zero,
  7036. Package (0x02)
  7037. {
  7038. Zero,
  7039. Zero
  7040. },
  7041.  
  7042. Package (0x02)
  7043. {
  7044. One,
  7045. 0x03
  7046. },
  7047.  
  7048. Package (0x02)
  7049. {
  7050. 0x02,
  7051. 0x03
  7052. },
  7053.  
  7054. Package (0x02)
  7055. {
  7056. 0x03,
  7057. 0x03
  7058. }
  7059. }
  7060. },
  7061.  
  7062. Package (0x03)
  7063. {
  7064. "\\_SB.PCI0.LPEA",
  7065. One,
  7066. Package (0x05)
  7067. {
  7068. Zero,
  7069. Package (0x02)
  7070. {
  7071. Zero,
  7072. Zero
  7073. },
  7074.  
  7075. Package (0x02)
  7076. {
  7077. One,
  7078. Zero
  7079. },
  7080.  
  7081. Package (0x02)
  7082. {
  7083. 0x02,
  7084. 0x03
  7085. },
  7086.  
  7087. Package (0x02)
  7088. {
  7089. 0x03,
  7090. 0x03
  7091. }
  7092. }
  7093. },
  7094.  
  7095. Package (0x03)
  7096. {
  7097. "\\_SB.PCI0.SDHA",
  7098. One,
  7099. Package (0x05)
  7100. {
  7101. Zero,
  7102. Package (0x02)
  7103. {
  7104. Zero,
  7105. Zero
  7106. },
  7107.  
  7108. Package (0x02)
  7109. {
  7110. One,
  7111. 0x03
  7112. },
  7113.  
  7114. Package (0x02)
  7115. {
  7116. 0x02,
  7117. 0x03
  7118. },
  7119.  
  7120. Package (0x02)
  7121. {
  7122. 0x03,
  7123. 0x03
  7124. }
  7125. }
  7126. },
  7127.  
  7128. Package (0x03)
  7129. {
  7130. "\\_SB.PCI0.SHC1",
  7131. One,
  7132. Package (0x05)
  7133. {
  7134. Zero,
  7135. Package (0x02)
  7136. {
  7137. Zero,
  7138. Zero
  7139. },
  7140.  
  7141. Package (0x02)
  7142. {
  7143. One,
  7144. 0x03
  7145. },
  7146.  
  7147. Package (0x02)
  7148. {
  7149. 0x02,
  7150. 0x03
  7151. },
  7152.  
  7153. Package (0x02)
  7154. {
  7155. 0x03,
  7156. 0x03
  7157. }
  7158. }
  7159. },
  7160.  
  7161. Package (0x03)
  7162. {
  7163. "\\_SB.PCI0.SPI1",
  7164. One,
  7165. Package (0x05)
  7166. {
  7167. Zero,
  7168. Package (0x02)
  7169. {
  7170. Zero,
  7171. Zero
  7172. },
  7173.  
  7174. Package (0x02)
  7175. {
  7176. One,
  7177. 0x03
  7178. },
  7179.  
  7180. Package (0x02)
  7181. {
  7182. 0x02,
  7183. 0x03
  7184. },
  7185.  
  7186. Package (0x02)
  7187. {
  7188. 0x03,
  7189. 0x03
  7190. }
  7191. }
  7192. },
  7193.  
  7194. Package (0x03)
  7195. {
  7196. "\\_SB.PCI0.SPI2",
  7197. One,
  7198. Package (0x05)
  7199. {
  7200. Zero,
  7201. Package (0x02)
  7202. {
  7203. Zero,
  7204. Zero
  7205. },
  7206.  
  7207. Package (0x02)
  7208. {
  7209. One,
  7210. 0x03
  7211. },
  7212.  
  7213. Package (0x02)
  7214. {
  7215. 0x02,
  7216. 0x03
  7217. },
  7218.  
  7219. Package (0x02)
  7220. {
  7221. 0x03,
  7222. 0x03
  7223. }
  7224. }
  7225. },
  7226.  
  7227. Package (0x03)
  7228. {
  7229. "\\_SB.PCI0.SPI3",
  7230. One,
  7231. Package (0x05)
  7232. {
  7233. Zero,
  7234. Package (0x02)
  7235. {
  7236. Zero,
  7237. Zero
  7238. },
  7239.  
  7240. Package (0x02)
  7241. {
  7242. One,
  7243. 0x03
  7244. },
  7245.  
  7246. Package (0x02)
  7247. {
  7248. 0x02,
  7249. 0x03
  7250. },
  7251.  
  7252. Package (0x02)
  7253. {
  7254. 0x03,
  7255. 0x03
  7256. }
  7257. }
  7258. },
  7259.  
  7260. Package (0x03)
  7261. {
  7262. "\\_SB.PCI0.URT1",
  7263. One,
  7264. Package (0x05)
  7265. {
  7266. Zero,
  7267. Package (0x02)
  7268. {
  7269. Zero,
  7270. Zero
  7271. },
  7272.  
  7273. Package (0x02)
  7274. {
  7275. One,
  7276. 0x03
  7277. },
  7278.  
  7279. Package (0x02)
  7280. {
  7281. 0x02,
  7282. 0x03
  7283. },
  7284.  
  7285. Package (0x02)
  7286. {
  7287. 0x03,
  7288. 0x03
  7289. }
  7290. }
  7291. },
  7292.  
  7293. Package (0x03)
  7294. {
  7295. "\\_SB.PCI0.URT2",
  7296. One,
  7297. Package (0x05)
  7298. {
  7299. Zero,
  7300. Package (0x02)
  7301. {
  7302. Zero,
  7303. Zero
  7304. },
  7305.  
  7306. Package (0x02)
  7307. {
  7308. One,
  7309. 0x03
  7310. },
  7311.  
  7312. Package (0x02)
  7313. {
  7314. 0x02,
  7315. 0x03
  7316. },
  7317.  
  7318. Package (0x02)
  7319. {
  7320. 0x03,
  7321. 0x03
  7322. }
  7323. }
  7324. }
  7325. })
  7326. Name (BCCD, Package (0x01)
  7327. {
  7328. Package (0x02)
  7329. {
  7330. "\\_SB.PCI0.SDHA",
  7331. Package (0x01)
  7332. {
  7333. Package (0x03)
  7334. {
  7335. Package (0x05)
  7336. {
  7337. Zero,
  7338. 0x20,
  7339. Zero,
  7340. 0x03,
  7341. Ones
  7342. },
  7343.  
  7344. Package (0x03)
  7345. {
  7346. 0xFFFFFFFC,
  7347. Zero,
  7348. 0x04
  7349. },
  7350.  
  7351. Zero
  7352. }
  7353. }
  7354. }
  7355. })
  7356. Method (_STA, 0, NotSerialized) // _STA: Status
  7357. {
  7358. Return (0x0F)
  7359. }
  7360.  
  7361. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  7362. {
  7363. If (Arg0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66"))
  7364. {
  7365. If (Arg2 == Zero)
  7366. {
  7367. Return (Buffer (One)
  7368. {
  7369. 0x07 /* . */
  7370. })
  7371. }
  7372.  
  7373. If (Arg2 == One)
  7374. {
  7375. If (MLSD == One)
  7376. {
  7377. If (((BDID == 0x09) || (BDID == 0x0A)) || (BDID == 0x08))
  7378. {
  7379. Return (DEHL) /* \_SB_.PCI0.PEPD.DEHL */
  7380. }
  7381. Else
  7382. {
  7383. Return (DEVL) /* \_SB_.PCI0.PEPD.DEVL */
  7384. }
  7385. }
  7386. ElseIf ((BDID == 0x09) || (BDID == 0x0A))
  7387. {
  7388. Return (DEHY) /* \_SB_.PCI0.PEPD.DEHY */
  7389. }
  7390. Else
  7391. {
  7392. Return (DEVY) /* \_SB_.PCI0.PEPD.DEVY */
  7393. }
  7394. }
  7395.  
  7396. If (Arg2 == 0x02)
  7397. {
  7398. Local0 = EM1A /* \EM1A */
  7399. Local0 += 0x84
  7400. DerefOf (DerefOf (DerefOf (DerefOf (BCCD [Zero]
  7401. ) [One]) [Zero]) [Zero]) [0x04] = Local0
  7402. Return (BCCD) /* \_SB_.PCI0.PEPD.BCCD */
  7403. }
  7404. }
  7405.  
  7406. Return (One)
  7407. }
  7408. }
  7409.  
  7410. Device (SDHA)
  7411. {
  7412. Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */) // _HID: Hardware ID
  7413. Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID
  7414. Name (_DDN, "Intel(R) eMMC Controller - 80862294") // _DDN: DOS Device Name
  7415. Name (_UID, One) // _UID: Unique ID
  7416. Name (_HRV, One) // _HRV: Hardware Revision
  7417. Name (_DEP, Package (0x01) // _DEP: Dependencies
  7418. {
  7419. PEPD
  7420. })
  7421. Name (RBUF, ResourceTemplate ()
  7422. {
  7423. Memory32Fixed (ReadWrite,
  7424. 0x00000000, // Address Base
  7425. 0x00001000, // Address Length
  7426. _Y04)
  7427. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  7428. {
  7429. 0x0000002D,
  7430. }
  7431. })
  7432. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7433. {
  7434. CreateDWordField (RBUF, \_SB.PCI0.SDHA._Y04._BAS, B0BA) // _BAS: Base Address
  7435. CreateDWordField (RBUF, \_SB.PCI0.SDHA._Y04._LEN, B0LN) // _LEN: Length
  7436. B0BA = EM0A /* \EM0A */
  7437. B0LN = EM0L /* \EM0L */
  7438. Return (RBUF) /* \_SB_.PCI0.SDHA.RBUF */
  7439. }
  7440.  
  7441. Method (_STA, 0, NotSerialized) // _STA: Status
  7442. {
  7443. If ((EM0A == Zero) || (SD1D == One))
  7444. {
  7445. Return (Zero)
  7446. }
  7447.  
  7448. Return (0x0F)
  7449. }
  7450.  
  7451. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  7452. {
  7453. If (EMMP == Zero)
  7454. {
  7455. Return (Zero)
  7456. }
  7457. Else
  7458. {
  7459. Return (0x03)
  7460. }
  7461. }
  7462.  
  7463. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  7464. {
  7465. PSAT |= 0x03
  7466. PSAT |= Zero
  7467. }
  7468.  
  7469. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  7470. {
  7471. PSAT &= 0xFFFFFFFC
  7472. PSAT |= Zero
  7473. }
  7474.  
  7475. OperationRegion (KEYS, SystemMemory, EM1A, 0x0100)
  7476. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  7477. {
  7478. Offset (0x84),
  7479. PSAT, 32
  7480. }
  7481.  
  7482. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  7483. {
  7484. }
  7485.  
  7486. Device (EMMD)
  7487. {
  7488. Name (_ADR, 0x08) // _ADR: Address
  7489. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  7490. {
  7491. Return (Zero)
  7492. }
  7493. }
  7494. }
  7495.  
  7496. Device (PEMC)
  7497. {
  7498. Name (_ADR, 0x00100000) // _ADR: Address
  7499. OperationRegion (SDIO, PCI_Config, 0x84, 0x04)
  7500. Field (SDIO, WordAcc, NoLock, Preserve)
  7501. {
  7502. Offset (0x01),
  7503. PMEE, 1,
  7504. , 6,
  7505. PMES, 1
  7506. }
  7507.  
  7508. Method (_STA, 0, NotSerialized) // _STA: Status
  7509. {
  7510. If ((EM0A == Zero) && (SD1D == Zero))
  7511. {
  7512. Return (0x0F)
  7513. }
  7514. Else
  7515. {
  7516. Return (Zero)
  7517. }
  7518. }
  7519.  
  7520. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  7521. {
  7522. }
  7523.  
  7524. Device (CARD)
  7525. {
  7526. Name (_ADR, 0x08) // _ADR: Address
  7527. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  7528. {
  7529. Return (Zero)
  7530. }
  7531. }
  7532. }
  7533.  
  7534. Device (SDHB)
  7535. {
  7536. Name (_ADR, Zero) // _ADR: Address
  7537. Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */) // _HID: Hardware ID
  7538. Name (AHID, "INT33BB")
  7539. Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID
  7540. Name (_DDN, "Intel(R) SDIO Controller - 80862295") // _DDN: DOS Device Name
  7541. Name (_UID, 0x02) // _UID: Unique ID
  7542. Name (_HRV, One) // _HRV: Hardware Revision
  7543. Name (AHRV, 0x02)
  7544. Name (_DEP, Package (0x03) // _DEP: Dependencies
  7545. {
  7546. PEPD,
  7547. GPO1,
  7548. GPO3
  7549. })
  7550. Name (PSTS, Zero)
  7551. Name (SBUF, ResourceTemplate ()
  7552. {
  7553. Memory32Fixed (ReadWrite,
  7554. 0x00000000, // Address Base
  7555. 0x00001000, // Address Length
  7556. _Y05)
  7557. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  7558. {
  7559. 0x0000002E,
  7560. }
  7561. })
  7562. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7563. {
  7564. CreateDWordField (SBUF, \_SB.PCI0.SDHB._Y05._BAS, B0BA) // _BAS: Base Address
  7565. CreateDWordField (SBUF, \_SB.PCI0.SDHB._Y05._LEN, B0LN) // _LEN: Length
  7566. B0BA = SI0A /* \SI0A */
  7567. B0LN = SI0L /* \SI0L */
  7568. Return (SBUF) /* \_SB_.PCI0.SDHB.SBUF */
  7569. }
  7570.  
  7571. Method (_STA, 0, NotSerialized) // _STA: Status
  7572. {
  7573. If ((SI0A == Zero) || (SD2D == One))
  7574. {
  7575. Return (Zero)
  7576. }
  7577.  
  7578. Return (0x0F)
  7579. }
  7580.  
  7581. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  7582. {
  7583. }
  7584.  
  7585. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  7586. {
  7587. PSAT |= 0x03
  7588. PSAT |= Zero
  7589. }
  7590.  
  7591. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  7592. {
  7593. PSAT &= 0xFFFFFFFC
  7594. PSAT |= Zero
  7595. If (OSID == One)
  7596. {
  7597. If (PSTS == Zero)
  7598. {
  7599. If ((BDID != One) && (^^^GPO3.AVBL == One))
  7600. {
  7601. P8XH (Zero, 0x58)
  7602. If (((BDID != 0x09) && (BDID != 0x0A)) &&
  7603. (BDID != One))
  7604. {
  7605. ^^^GPO3.WFD3 = One
  7606. }
  7607.  
  7608. PSTS = One
  7609. }
  7610. ElseIf (^^^GPO1.AVBL == One)
  7611. {
  7612. If (((BDID != 0x09) && (BDID != 0x0A)) &&
  7613. (BDID != One))
  7614. {
  7615. If (OSID == One)
  7616. {
  7617. ^^^GPO1.WLD3 = One
  7618. }
  7619. Else
  7620. {
  7621. ^^^GPO1.WLDA = One
  7622. }
  7623. }
  7624.  
  7625. PSTS = One
  7626. }
  7627. }
  7628. }
  7629. }
  7630.  
  7631. OperationRegion (KEYS, SystemMemory, SI1A, 0x0100)
  7632. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  7633. {
  7634. Offset (0x84),
  7635. PSAT, 32
  7636. }
  7637.  
  7638. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  7639. {
  7640. If (SDI1 == Zero)
  7641. {
  7642. Return (Zero)
  7643. }
  7644. Else
  7645. {
  7646. Return (0x03)
  7647. }
  7648. }
  7649.  
  7650. Device (BRCM)
  7651. {
  7652. Name (_ADR, One) // _ADR: Address
  7653. Name (_DEP, Package (0x02) // _DEP: Dependencies
  7654. {
  7655. GPO2,
  7656. GPO3
  7657. })
  7658. Name (_HID, "BCM43241") // _HID: Hardware ID
  7659. Name (_CID, "BCM43241") // _CID: Compatible ID
  7660. Method (_STA, 0, NotSerialized) // _STA: Status
  7661. {
  7662. If ((BDID == One) || (BDID == 0x09))
  7663. {
  7664. Return (Zero)
  7665. }
  7666.  
  7667. If ((BDID == 0x08) || (BDID == 0x0A))
  7668. {
  7669. Return (Zero)
  7670. }
  7671.  
  7672. If ((OSID == 0x02) || (OSID == 0x04))
  7673. {
  7674. Return (0x0F)
  7675. }
  7676.  
  7677. Return (Zero)
  7678. }
  7679.  
  7680. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  7681. {
  7682. Return (Zero)
  7683. }
  7684.  
  7685. Name (_S4W, 0x02) // _S4W: S4 Device Wake State
  7686. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  7687. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7688. {
  7689. Name (RBUF, ResourceTemplate ()
  7690. {
  7691. Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
  7692. {
  7693. 0x00000044,
  7694. }
  7695. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  7696. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  7697. )
  7698. { // Pin list
  7699. 0x000A
  7700. }
  7701. GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
  7702. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  7703. )
  7704. { // Pin list
  7705. 0x004B
  7706. }
  7707. })
  7708. Return (RBUF) /* \_SB_.PCI0.SDHB.BRCM._CRS.RBUF */
  7709. }
  7710.  
  7711. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  7712. {
  7713. If (^^^^GPO3.AVBL == One)
  7714. {
  7715. ^^^^GPO3.WFD3 = Zero
  7716. }
  7717. }
  7718.  
  7719. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  7720. {
  7721. If (^^^^GPO3.AVBL == One)
  7722. {
  7723. ^^^^GPO3.WFD3 = One
  7724. }
  7725. }
  7726. }
  7727.  
  7728. Device (BRC1)
  7729. {
  7730. Name (_ADR, One) // _ADR: Address
  7731. Name (_DEP, Package (0x01) // _DEP: Dependencies
  7732. {
  7733. GPO3
  7734. })
  7735. Method (_STA, 0, NotSerialized) // _STA: Status
  7736. {
  7737. If (BDID == One)
  7738. {
  7739. Return (Zero)
  7740. }
  7741.  
  7742. If (OSID == One)
  7743. {
  7744. Return (0x0F)
  7745. }
  7746.  
  7747. Return (Zero)
  7748. }
  7749.  
  7750. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  7751. {
  7752. Return (Zero)
  7753. }
  7754.  
  7755. Name (_S4W, 0x02) // _S4W: S4 Device Wake State
  7756. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  7757. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7758. {
  7759. Name (RBUF, ResourceTemplate ()
  7760. {
  7761. Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
  7762. {
  7763. 0x00000044,
  7764. }
  7765. })
  7766. Return (RBUF) /* \_SB_.PCI0.SDHB.BRC1._CRS.RBUF */
  7767. }
  7768.  
  7769. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  7770. {
  7771. If (^^^^GPO3.AVBL == One)
  7772. {
  7773. ^^^^GPO3.WFD3 = Zero
  7774. PSTS = Zero
  7775. }
  7776. }
  7777.  
  7778. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  7779. {
  7780. If (PSTS == Zero)
  7781. {
  7782. If (^^^^GPO3.AVBL == One)
  7783. {
  7784. ^^^^GPO3.WFD3 = One
  7785. PSTS = One
  7786. }
  7787. }
  7788. }
  7789. }
  7790.  
  7791. Device (BRC2)
  7792. {
  7793. Name (_ADR, 0x02) // _ADR: Address
  7794. Method (_STA, 0, NotSerialized) // _STA: Status
  7795. {
  7796. If (BDID == One)
  7797. {
  7798. Return (Zero)
  7799. }
  7800.  
  7801. Return (0x0F)
  7802. }
  7803.  
  7804. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  7805. {
  7806. Return (Zero)
  7807. }
  7808.  
  7809. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7810. {
  7811. Name (NAM, Buffer (0x14)
  7812. {
  7813. "\\_SB.PCI0.SDHB.BRC1"
  7814. })
  7815. Name (SPB, Buffer (0x0C)
  7816. {
  7817. /* 0000 */ 0x8E, 0x1D, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00, /* ........ */
  7818. /* 0008 */ 0x00, 0x01, 0x00, 0x00 /* .... */
  7819. })
  7820. Name (END, ResourceTemplate ()
  7821. {
  7822. })
  7823. Concatenate (SPB, NAM, Local0)
  7824. Concatenate (Local0, END, Local1)
  7825. Return (Local1)
  7826. }
  7827. }
  7828.  
  7829. Device (RTLW)
  7830. {
  7831. Name (AHID, "RTL8723")
  7832. Name (ACID, "RTL8723")
  7833. Name (_ADR, One) // _ADR: Address
  7834. Name (_DEP, Package (0x02) // _DEP: Dependencies
  7835. {
  7836. GPO1,
  7837. GPO2
  7838. })
  7839. Method (_STA, 0, NotSerialized) // _STA: Status
  7840. {
  7841. If (BDID == One)
  7842. {
  7843. Return (0x0F)
  7844. }
  7845.  
  7846. Return (Zero)
  7847. }
  7848.  
  7849. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  7850. {
  7851. Return (Zero)
  7852. }
  7853.  
  7854. Name (_S4W, 0x02) // _S4W: S4 Device Wake State
  7855. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  7856. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7857. {
  7858. Name (RBUF, ResourceTemplate ()
  7859. {
  7860. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
  7861. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  7862. )
  7863. { // Pin list
  7864. 0x000A
  7865. }
  7866. GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
  7867. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  7868. )
  7869. { // Pin list
  7870. 0x0010
  7871. }
  7872. })
  7873. Name (ABUF, ResourceTemplate ()
  7874. {
  7875. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
  7876. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  7877. )
  7878. { // Pin list
  7879. 0x000A
  7880. }
  7881. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  7882. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  7883. )
  7884. { // Pin list
  7885. 0x0010
  7886. }
  7887. })
  7888. If (OSID == 0x04)
  7889. {
  7890. Return (ABUF) /* \_SB_.PCI0.SDHB.RTLW._CRS.ABUF */
  7891. }
  7892.  
  7893. Return (RBUF) /* \_SB_.PCI0.SDHB.RTLW._CRS.RBUF */
  7894. }
  7895.  
  7896. Method (APS3, 0, NotSerialized)
  7897. {
  7898. If (^^^^GPO1.AVBL == One)
  7899. {
  7900. ^^^^GPO1.WLD3 = Zero
  7901. }
  7902. }
  7903.  
  7904. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  7905. {
  7906. If (^^^^GPO1.AVBL == One)
  7907. {
  7908. PSTS = Zero
  7909. }
  7910. }
  7911.  
  7912. Method (_PS2, 0, NotSerialized) // _PS2: Power State 2
  7913. {
  7914. }
  7915.  
  7916. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  7917. {
  7918. If (OSID == One)
  7919. {
  7920. If (PSTS == Zero)
  7921. {
  7922. If (^^^^GPO1.AVBL == One)
  7923. {
  7924. ^^^^GPO1.WLD3 = One
  7925. PSTS = One
  7926. }
  7927. }
  7928. }
  7929.  
  7930. If (^^^^GPO1.AVBL == One)
  7931. {
  7932. If (OSID == One)
  7933. {
  7934. ^^^^GPO1.WLD3 = One
  7935. }
  7936. }
  7937. }
  7938.  
  7939. Method (APS0, 0, NotSerialized)
  7940. {
  7941. If (^^^^GPO1.AVBL == One)
  7942. {
  7943. If (^^^^GPO1.WLDA == Zero)
  7944. {
  7945. ^^^^GPO1.WLDA = One
  7946. }
  7947.  
  7948. ^^^^GPO1.WLD3 = One
  7949. }
  7950. }
  7951. }
  7952.  
  7953. Device (RTL2)
  7954. {
  7955. Name (_ADR, 0x02) // _ADR: Address
  7956. Method (_STA, 0, NotSerialized) // _STA: Status
  7957. {
  7958. If ((BDID == One) && (OSID == One))
  7959. {
  7960. Return (0x0F)
  7961. }
  7962.  
  7963. Return (Zero)
  7964. }
  7965.  
  7966. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  7967. {
  7968. Return (Zero)
  7969. }
  7970.  
  7971. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7972. {
  7973. Name (NAM, Buffer (0x14)
  7974. {
  7975. "\\_SB.PCI0.SDHB.RTLW"
  7976. })
  7977. Name (SPB, Buffer (0x0C)
  7978. {
  7979. /* 0000 */ 0x8E, 0x1D, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00, /* ........ */
  7980. /* 0008 */ 0x00, 0x01, 0x00, 0x00 /* .... */
  7981. })
  7982. Name (END, ResourceTemplate ()
  7983. {
  7984. })
  7985. Concatenate (SPB, NAM, Local0)
  7986. Concatenate (Local0, END, Local1)
  7987. Return (Local1)
  7988. }
  7989. }
  7990. }
  7991.  
  7992. Device (SDHC)
  7993. {
  7994. Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */) // _HID: Hardware ID
  7995. Name (AHID, "INT33BB")
  7996. Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID
  7997. Name (_DDN, "Intel(R) SD Card Controller - 80862296") // _DDN: DOS Device Name
  7998. Name (_UID, 0x03) // _UID: Unique ID
  7999. Name (_HRV, One) // _HRV: Hardware Revision
  8000. Name (CPR0, Package (0x01)
  8001. {
  8002. P33X
  8003. })
  8004. Name (WPR0, Package (0x01)
  8005. {
  8006. P33W
  8007. })
  8008. Name (CDEP, Package (0x02)
  8009. {
  8010. I2C7,
  8011. ^I2C7.PMIC
  8012. })
  8013. Name (WDEP, Package (0x02)
  8014. {
  8015. I2C7,
  8016. ^I2C7.PMI5
  8017. })
  8018. Name (ABUF, ResourceTemplate ()
  8019. {
  8020. Memory32Fixed (ReadWrite,
  8021. 0x00000000, // Address Base
  8022. 0x00001000, // Address Length
  8023. _Y06)
  8024. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  8025. {
  8026. 0x0000002F,
  8027. }
  8028. GpioInt (Edge, ActiveBoth, Shared, PullNone, 0x2710,
  8029. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8030. )
  8031. { // Pin list
  8032. 0x0051
  8033. }
  8034. GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
  8035. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8036. )
  8037. { // Pin list
  8038. 0x0051
  8039. }
  8040. GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
  8041. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8042. )
  8043. { // Pin list
  8044. 0x0055
  8045. }
  8046. GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
  8047. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8048. )
  8049. { // Pin list
  8050. 0x004E
  8051. }
  8052. })
  8053. Name (WBUF, ResourceTemplate ()
  8054. {
  8055. Memory32Fixed (ReadWrite,
  8056. 0x00000000, // Address Base
  8057. 0x00001000, // Address Length
  8058. _Y07)
  8059. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  8060. {
  8061. 0x0000002F,
  8062. }
  8063. GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710,
  8064. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8065. )
  8066. { // Pin list
  8067. 0x0051
  8068. }
  8069. GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
  8070. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8071. )
  8072. { // Pin list
  8073. 0x0051
  8074. }
  8075. })
  8076. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  8077. {
  8078. CreateDWordField (ABUF, \_SB.PCI0.SDHC._Y06._BAS, B0BA) // _BAS: Base Address
  8079. CreateDWordField (ABUF, \_SB.PCI0.SDHC._Y06._LEN, B0LN) // _LEN: Length
  8080. B0BA = SD0A /* \SD0A */
  8081. B0LN = SD0L /* \SD0L */
  8082. CreateDWordField (WBUF, \_SB.PCI0.SDHC._Y07._BAS, B01A) // _BAS: Base Address
  8083. CreateDWordField (WBUF, \_SB.PCI0.SDHC._Y07._LEN, B01N) // _LEN: Length
  8084. B01A = SD0A /* \SD0A */
  8085. B01N = SD0L /* \SD0L */
  8086. If ((OSID == 0x02) || (OSID == 0x04))
  8087. {
  8088. Return (ABUF) /* \_SB_.PCI0.SDHC.ABUF */
  8089. }
  8090.  
  8091. Return (WBUF) /* \_SB_.PCI0.SDHC.WBUF */
  8092. }
  8093.  
  8094. Method (_STA, 0, NotSerialized) // _STA: Status
  8095. {
  8096. If ((SD0A == Zero) || (SD3D == One))
  8097. {
  8098. Return (Zero)
  8099. }
  8100.  
  8101. If (MLSD == One)
  8102. {
  8103. Return (Zero)
  8104. }
  8105.  
  8106. Return (0x0F)
  8107. }
  8108.  
  8109. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  8110. {
  8111. If (SCDD == One)
  8112. {
  8113. Local0 = (^^CHVC.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero) | One)
  8114. ^^CHVC.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
  8115. }
  8116.  
  8117. PSAT |= 0x03
  8118. PSAT |= Zero
  8119. }
  8120.  
  8121. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  8122. {
  8123. If (SCDD == One)
  8124. {
  8125. Local0 = (^^CHVC.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero) & 0xFFFFFFFC)
  8126. ^^CHVC.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
  8127. }
  8128.  
  8129. PSAT &= 0xFFFFFFFC
  8130. PSAT |= Zero
  8131. If (OSID == One)
  8132. {
  8133. Sleep (0x03E8)
  8134. }
  8135. }
  8136.  
  8137. OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
  8138. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  8139. {
  8140. Offset (0x84),
  8141. PSAT, 32
  8142. }
  8143.  
  8144. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  8145. {
  8146. If (SDI2 == Zero)
  8147. {
  8148. Return (Zero)
  8149. }
  8150. Else
  8151. {
  8152. Return (0x03)
  8153. }
  8154. }
  8155. }
  8156.  
  8157. Device (SHC1)
  8158. {
  8159. Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */) // _HID: Hardware ID
  8160. Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID
  8161. Name (_DDN, "Intel(R) SD Card Controller - 80862296") // _DDN: DOS Device Name
  8162. Name (_UID, 0x03) // _UID: Unique ID
  8163. Name (_HRV, One) // _HRV: Hardware Revision
  8164. Name (CDEP, Package (0x02)
  8165. {
  8166. MBID,
  8167. I2C7
  8168. })
  8169. Name (_DEP, Package (0x03) // _DEP: Dependencies
  8170. {
  8171. MBID,
  8172. I2C7,
  8173. ^I2C7.PMI1
  8174. })
  8175. Name (TDEP, Package (0x03)
  8176. {
  8177. MBID,
  8178. I2C7,
  8179. ^I2C7.PMI2
  8180. })
  8181. Name (WDEP, Package (0x03)
  8182. {
  8183. MBID,
  8184. I2C7,
  8185. ^I2C7.PMI5
  8186. })
  8187. Name (CPR0, Package (0x01)
  8188. {
  8189. P33X
  8190. })
  8191. Name (WPR0, Package (0x01)
  8192. {
  8193. P18W
  8194. })
  8195. Name (ABUF, ResourceTemplate ()
  8196. {
  8197. Memory32Fixed (ReadWrite,
  8198. 0x00000000, // Address Base
  8199. 0x00001000, // Address Length
  8200. _Y08)
  8201. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  8202. {
  8203. 0x0000002F,
  8204. }
  8205. GpioInt (Edge, ActiveHigh, Shared, PullNone, 0x2710,
  8206. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8207. )
  8208. { // Pin list
  8209. 0x0051
  8210. }
  8211. GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
  8212. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8213. )
  8214. { // Pin list
  8215. 0x0051
  8216. }
  8217. GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
  8218. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8219. )
  8220. { // Pin list
  8221. 0x0055
  8222. }
  8223. GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
  8224. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8225. )
  8226. { // Pin list
  8227. 0x004E
  8228. }
  8229. })
  8230. Name (WBUF, ResourceTemplate ()
  8231. {
  8232. Memory32Fixed (ReadWrite,
  8233. 0x00000000, // Address Base
  8234. 0x00001000, // Address Length
  8235. _Y09)
  8236. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  8237. {
  8238. 0x0000002F,
  8239. }
  8240. GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710,
  8241. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8242. )
  8243. { // Pin list
  8244. 0x0051
  8245. }
  8246. GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
  8247. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  8248. )
  8249. { // Pin list
  8250. 0x0051
  8251. }
  8252. })
  8253. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  8254. {
  8255. CreateDWordField (ABUF, \_SB.PCI0.SHC1._Y08._BAS, B0BA) // _BAS: Base Address
  8256. CreateDWordField (ABUF, \_SB.PCI0.SHC1._Y08._LEN, B0LN) // _LEN: Length
  8257. B0BA = SD0A /* \SD0A */
  8258. B0LN = SD0L /* \SD0L */
  8259. CreateDWordField (WBUF, \_SB.PCI0.SHC1._Y09._BAS, B01A) // _BAS: Base Address
  8260. CreateDWordField (WBUF, \_SB.PCI0.SHC1._Y09._LEN, B01N) // _LEN: Length
  8261. B01A = SD0A /* \SD0A */
  8262. B01N = SD0L /* \SD0L */
  8263. If (OSID == 0x02)
  8264. {
  8265. Return (ABUF) /* \_SB_.PCI0.SHC1.ABUF */
  8266. }
  8267.  
  8268. Return (WBUF) /* \_SB_.PCI0.SHC1.WBUF */
  8269. }
  8270.  
  8271. Method (_STA, 0, NotSerialized) // _STA: Status
  8272. {
  8273. If ((SD0A == Zero) || (SD3D == One))
  8274. {
  8275. Return (Zero)
  8276. }
  8277.  
  8278. If (MLSD == One)
  8279. {
  8280. Return (0x0F)
  8281. }
  8282. Else
  8283. {
  8284. Return (Zero)
  8285. }
  8286. }
  8287.  
  8288. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  8289. {
  8290. If (SCDD == One)
  8291. {
  8292. Local0 = (^^^MBID.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero) | One)
  8293. ^^^MBID.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
  8294. }
  8295.  
  8296. If (^^I2C7.AVBL == One)
  8297. {
  8298. If (PMID == One)
  8299. {
  8300. BUFF = ^^I2C7.DL02 /* \_SB_.PCI0.I2C7.DL02 */
  8301. DATA &= 0xFE
  8302. ^^I2C7.DL02 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8303. Sleep (0x0A)
  8304. BUFF = ^^I2C7.DL03 /* \_SB_.PCI0.I2C7.DL03 */
  8305. DATA &= 0xFE
  8306. ^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8307. }
  8308. ElseIf (PMID == 0x02)
  8309. {
  8310. BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
  8311. If (STAT == Zero)
  8312. {
  8313. DATA &= 0xEF
  8314. ^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8315. Sleep (0x0A)
  8316. BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
  8317. If (STAT == Zero) {}
  8318. }
  8319. }
  8320. ElseIf (PMID == 0x03)
  8321. {
  8322. ADBG ("PS3")
  8323. Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
  8324. Sleep (0x0A)
  8325. Local0 &= 0xF8
  8326. ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
  8327. }
  8328. }
  8329.  
  8330. PSAT |= 0x03
  8331. PSAT |= Zero
  8332. }
  8333.  
  8334. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  8335. {
  8336. If (SCDD == One)
  8337. {
  8338. Local0 = (^^^MBID.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero) & 0xFFFFFFFC)
  8339. ^^^MBID.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
  8340. }
  8341.  
  8342. If (SDVL == Zero)
  8343. {
  8344. If (^^I2C7.AVBL == One)
  8345. {
  8346. If (PMID == One)
  8347. {
  8348. DATA = 0x1D
  8349. ^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8350. Sleep (0x0A)
  8351. ^^I2C7.DL02 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8352. }
  8353. ElseIf (PMID == 0x02)
  8354. {
  8355. BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
  8356. If (STAT == Zero)
  8357. {
  8358. DATA |= 0x10
  8359. ^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8360. }
  8361.  
  8362. BUFF = ^^I2C7.XD32 /* \_SB_.PCI0.I2C7.XD32 */
  8363. If (STAT == Zero)
  8364. {
  8365. DATA |= 0x1A
  8366. DATA &= 0xFA
  8367. ^^I2C7.XD32 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8368. }
  8369.  
  8370. Sleep (0x0A)
  8371. BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
  8372. If (STAT == Zero)
  8373. {
  8374. DATA |= 0x20
  8375. ^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8376. }
  8377. }
  8378. ElseIf (PMID == 0x03)
  8379. {
  8380. ADBG ("PS0 3p3")
  8381. Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
  8382. Sleep (0x0A)
  8383. Local0 |= One
  8384. Local0 &= 0xF9
  8385. ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
  8386. Sleep (0x0A)
  8387. ^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x3D)
  8388. Sleep (0x0A)
  8389. }
  8390. }
  8391. }
  8392. ElseIf (SDVL == One)
  8393. {
  8394. If (^^I2C7.AVBL == One)
  8395. {
  8396. If (PMID == One)
  8397. {
  8398. DATA = 0x59
  8399. ^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8400. Sleep (0x05)
  8401. }
  8402. ElseIf (PMID == 0x02)
  8403. {
  8404. BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
  8405. If (STAT == Zero)
  8406. {
  8407. DATA |= 0x10
  8408. ^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8409. }
  8410.  
  8411. BUFF = ^^I2C7.XD32 /* \_SB_.PCI0.I2C7.XD32 */
  8412. If (STAT == Zero)
  8413. {
  8414. DATA |= 0x0B
  8415. DATA &= 0xEB
  8416. ^^I2C7.XD32 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8417. }
  8418.  
  8419. Sleep (0x0A)
  8420. BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
  8421. If (STAT == Zero)
  8422. {
  8423. DATA |= 0x20
  8424. ^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8425. }
  8426. }
  8427. ElseIf (PMID == 0x03)
  8428. {
  8429. ADBG ("PS0 1p8")
  8430. Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
  8431. Sleep (0x0A)
  8432. Local0 |= One
  8433. Local0 &= 0xF9
  8434. ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
  8435. Sleep (0x0A)
  8436. ^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x1F)
  8437. Sleep (0x0A)
  8438. }
  8439. }
  8440. }
  8441.  
  8442. PSAT &= 0xFFFFFFFC
  8443. PSAT |= Zero
  8444. If (OSID == One)
  8445. {
  8446. Sleep (0x03E8)
  8447. }
  8448. }
  8449.  
  8450. OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
  8451. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  8452. {
  8453. Offset (0x84),
  8454. PSAT, 32
  8455. }
  8456.  
  8457. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  8458. {
  8459. If (SDI2 == Zero)
  8460. {
  8461. Return (Zero)
  8462. }
  8463. Else
  8464. {
  8465. Return (0x03)
  8466. }
  8467. }
  8468.  
  8469. Name (BUFF, Buffer (0x03) {})
  8470. CreateByteField (BUFF, Zero, STAT)
  8471. CreateByteField (BUFF, 0x02, DATA)
  8472. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  8473. {
  8474. If (SCDD == One)
  8475. {
  8476. Local0 = (^^^MBID.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero) & 0xFFFFFFFC)
  8477. ^^^MBID.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
  8478. }
  8479.  
  8480. If (Arg0 == ToUUID ("f6c13ea5-65cd-461f-ab7a-29f7e8d5bd61"))
  8481. {
  8482. If (Arg1 == Zero)
  8483. {
  8484. If (Arg2 == Zero)
  8485. {
  8486. Return (Unicode ("\x1F"))
  8487. }
  8488.  
  8489. If (Arg2 == One)
  8490. {
  8491. Return (One)
  8492. }
  8493.  
  8494. If (Arg2 == 0x02)
  8495. {
  8496. Return (0x02)
  8497. }
  8498.  
  8499. If (Arg2 == 0x03)
  8500. {
  8501. ADBG ("DSM 1p8")
  8502. If (^^I2C7.AVBL == One)
  8503. {
  8504. If (PMID == One)
  8505. {
  8506. DATA = 0x59
  8507. ^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8508. }
  8509. ElseIf (PMID == 0x02)
  8510. {
  8511. BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
  8512. If (STAT == Zero)
  8513. {
  8514. DATA |= 0x10
  8515. ^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8516. }
  8517.  
  8518. BUFF = ^^I2C7.XD93 /* \_SB_.PCI0.I2C7.XD93 */
  8519. If (STAT == Zero)
  8520. {
  8521. DATA |= 0x0B
  8522. DATA &= 0xEB
  8523. ^^I2C7.XD93 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8524. }
  8525.  
  8526. Sleep (0x0A)
  8527. BUFF = ^^I2C7.XD92 /* \_SB_.PCI0.I2C7.XD92 */
  8528. If (STAT == Zero)
  8529. {
  8530. DATA &= 0xF8
  8531. DATA |= 0x03
  8532. ^^I2C7.XD92 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8533. }
  8534. }
  8535. ElseIf (PMID == 0x03)
  8536. {
  8537. Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
  8538. Sleep (0x0A)
  8539. Local0 &= 0xF8
  8540. ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
  8541. Sleep (0x64)
  8542. Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
  8543. Sleep (0x0A)
  8544. Local0 |= One
  8545. Local0 &= 0xF9
  8546. ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
  8547. Sleep (0x0A)
  8548. ^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x1F)
  8549. Sleep (0x0A)
  8550. }
  8551. }
  8552.  
  8553. SDVL = One
  8554. Return (0x03)
  8555. }
  8556.  
  8557. If (Arg2 == 0x04)
  8558. {
  8559. ADBG ("DSM 3p3")
  8560. If (^^I2C7.AVBL == One)
  8561. {
  8562. If (PMID == One)
  8563. {
  8564. BUFF = ^^I2C7.DL02 /* \_SB_.PCI0.I2C7.DL02 */
  8565. DATA &= 0xFE
  8566. ^^I2C7.DL02 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8567. Sleep (0x0A)
  8568. BUFF = ^^I2C7.DL03 /* \_SB_.PCI0.I2C7.DL03 */
  8569. DATA &= 0xFE
  8570. ^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8571. Sleep (0x32)
  8572. DATA = 0x1D
  8573. ^^I2C7.DL02 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8574. Sleep (0x0A)
  8575. DATA = 0x1D
  8576. ^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8577. }
  8578. ElseIf (PMID == 0x02)
  8579. {
  8580. BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
  8581. If (STAT == Zero)
  8582. {
  8583. DATA &= 0xEF
  8584. ^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8585. }
  8586.  
  8587. Sleep (0x0A)
  8588. BUFF = ^^I2C7.XD92 /* \_SB_.PCI0.I2C7.XD92 */
  8589. If (STAT == Zero)
  8590. {
  8591. DATA &= 0xF8
  8592. DATA |= 0x04
  8593. ^^I2C7.XD92 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8594. }
  8595.  
  8596. Sleep (0x32)
  8597. BUFF = ^^I2C7.XD93 /* \_SB_.PCI0.I2C7.XD93 */
  8598. If (STAT == Zero)
  8599. {
  8600. DATA |= 0x1A
  8601. DATA &= 0xFA
  8602. ^^I2C7.XD93 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8603. }
  8604.  
  8605. BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
  8606. If (STAT == Zero)
  8607. {
  8608. DATA |= 0x10
  8609. ^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8610. }
  8611.  
  8612. Sleep (0x0A)
  8613. BUFF = ^^I2C7.XD92 /* \_SB_.PCI0.I2C7.XD92 */
  8614. If (STAT == Zero)
  8615. {
  8616. DATA &= 0xF8
  8617. DATA |= 0x03
  8618. ^^I2C7.XD92 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
  8619. }
  8620. }
  8621. ElseIf (PMID == 0x03)
  8622. {
  8623. Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x5F)
  8624. Sleep (0x0A)
  8625. Local0 &= 0xF8
  8626. ^^I2C7.PMI5.SET (One, 0x6E, 0x5F, Local0)
  8627. Sleep (0x0A)
  8628. Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
  8629. Sleep (0x0A)
  8630. Local0 &= 0xF8
  8631. ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
  8632. Sleep (0x03E8)
  8633. Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
  8634. Sleep (0x0A)
  8635. Local0 |= One
  8636. Local0 &= 0xF9
  8637. ^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
  8638. Sleep (0x0A)
  8639. ^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x3D)
  8640. Sleep (0x0A)
  8641. Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x5F)
  8642. Sleep (0x0A)
  8643. Local0 |= One
  8644. Local0 &= 0xF9
  8645. ^^I2C7.PMI5.SET (One, 0x6E, 0x5F, Local0)
  8646. Sleep (0x0A)
  8647. }
  8648. }
  8649.  
  8650. Sleep (0x32)
  8651. SDVL = Zero
  8652. Return (0x04)
  8653. }
  8654. }
  8655. Else
  8656. {
  8657. Return (Zero)
  8658. }
  8659.  
  8660. Return (Zero)
  8661. }
  8662. }
  8663. }
  8664.  
  8665. Device (GDM1)
  8666. {
  8667. Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */) // _HID: Hardware ID
  8668. Name (_DDN, "Intel(R) DMA Controller #1 - INTL9C60") // _DDN: DOS Device Name
  8669. Name (_UID, One) // _UID: Unique ID
  8670. Name (RBUF, ResourceTemplate ()
  8671. {
  8672. Memory32Fixed (ReadWrite,
  8673. 0x00000000, // Address Base
  8674. 0x00004000, // Address Length
  8675. _Y0A)
  8676. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  8677. {
  8678. 0x0000002A,
  8679. }
  8680. })
  8681. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  8682. {
  8683. CreateDWordField (RBUF, \_SB.PCI0.GDM1._Y0A._BAS, B0BA) // _BAS: Base Address
  8684. CreateDWordField (RBUF, \_SB.PCI0.GDM1._Y0A._LEN, B0LN) // _LEN: Length
  8685. B0BA = D10A /* \D10A */
  8686. B0LN = D10L /* \D10L */
  8687. Return (RBUF) /* \_SB_.PCI0.GDM1.RBUF */
  8688. }
  8689.  
  8690. Method (_STA, 0, NotSerialized) // _STA: Status
  8691. {
  8692. If ((D10A == Zero) || (L10D == One))
  8693. {
  8694. Return (Zero)
  8695. }
  8696.  
  8697. If (OSID == One)
  8698. {
  8699. Return (0x0F)
  8700. }
  8701.  
  8702. Return (Zero)
  8703. }
  8704.  
  8705. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  8706. {
  8707. If (DM1P == Zero)
  8708. {
  8709. Return (Zero)
  8710. }
  8711. Else
  8712. {
  8713. Return (0x03)
  8714. }
  8715. }
  8716. }
  8717.  
  8718. Device (GDM2)
  8719. {
  8720. Name (_HID, "80862286") // _HID: Hardware ID
  8721. Name (_CID, "80862286") // _CID: Compatible ID
  8722. Name (_DDN, "Intel(R) DMA Controller #1 - 80862286") // _DDN: DOS Device Name
  8723. Name (_UID, One) // _UID: Unique ID
  8724. Name (RBUF, ResourceTemplate ()
  8725. {
  8726. Memory32Fixed (ReadWrite,
  8727. 0x00000000, // Address Base
  8728. 0x00004000, // Address Length
  8729. _Y0B)
  8730. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  8731. {
  8732. 0x0000002A,
  8733. }
  8734. })
  8735. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  8736. {
  8737. CreateDWordField (RBUF, \_SB.PCI0.GDM2._Y0B._BAS, B0BA) // _BAS: Base Address
  8738. CreateDWordField (RBUF, \_SB.PCI0.GDM2._Y0B._LEN, B0LN) // _LEN: Length
  8739. B0BA = D10A /* \D10A */
  8740. B0LN = D10L /* \D10L */
  8741. Return (RBUF) /* \_SB_.PCI0.GDM2.RBUF */
  8742. }
  8743.  
  8744. Method (_STA, 0, NotSerialized) // _STA: Status
  8745. {
  8746. If ((D10A == Zero) || (L10D == One))
  8747. {
  8748. Return (Zero)
  8749. }
  8750.  
  8751. If (OSID != One)
  8752. {
  8753. Return (0x0F)
  8754. }
  8755.  
  8756. Return (Zero)
  8757. }
  8758.  
  8759. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  8760. {
  8761. If (DM1P == Zero)
  8762. {
  8763. Return (Zero)
  8764. }
  8765. Else
  8766. {
  8767. Return (0x03)
  8768. }
  8769. }
  8770. }
  8771.  
  8772. Device (GDM3)
  8773. {
  8774. Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */) // _HID: Hardware ID
  8775. Name (_DDN, "Intel(R) DMA Controller #2 - INTL9C60") // _DDN: DOS Device Name
  8776. Name (_UID, 0x02) // _UID: Unique ID
  8777. Name (RBUF, ResourceTemplate ()
  8778. {
  8779. Memory32Fixed (ReadWrite,
  8780. 0x00000000, // Address Base
  8781. 0x00004000, // Address Length
  8782. _Y0C)
  8783. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  8784. {
  8785. 0x0000002B,
  8786. }
  8787. })
  8788. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  8789. {
  8790. CreateDWordField (RBUF, \_SB.PCI0.GDM3._Y0C._BAS, B0BA) // _BAS: Base Address
  8791. CreateDWordField (RBUF, \_SB.PCI0.GDM3._Y0C._LEN, B0LN) // _LEN: Length
  8792. B0BA = D20A /* \D20A */
  8793. B0LN = D20L /* \D20L */
  8794. Return (RBUF) /* \_SB_.PCI0.GDM3.RBUF */
  8795. }
  8796.  
  8797. Method (_STA, 0, NotSerialized) // _STA: Status
  8798. {
  8799. If ((D20A == Zero) || (L20D == One))
  8800. {
  8801. Return (Zero)
  8802. }
  8803.  
  8804. If (OSID == One)
  8805. {
  8806. Return (0x0F)
  8807. }
  8808.  
  8809. Return (Zero)
  8810. }
  8811.  
  8812. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  8813. {
  8814. If (DM2P == Zero)
  8815. {
  8816. Return (Zero)
  8817. }
  8818. Else
  8819. {
  8820. Return (0x03)
  8821. }
  8822. }
  8823. }
  8824.  
  8825. Device (GDM4)
  8826. {
  8827. Name (_HID, "808622C0") // _HID: Hardware ID
  8828. Name (_CID, "808622C0") // _CID: Compatible ID
  8829. Name (_DDN, "Intel(R) DMA Controller #2 - 808622C0") // _DDN: DOS Device Name
  8830. Name (_UID, 0x02) // _UID: Unique ID
  8831. Name (RBUF, ResourceTemplate ()
  8832. {
  8833. Memory32Fixed (ReadWrite,
  8834. 0x00000000, // Address Base
  8835. 0x00004000, // Address Length
  8836. _Y0D)
  8837. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  8838. {
  8839. 0x0000002B,
  8840. }
  8841. })
  8842. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  8843. {
  8844. CreateDWordField (RBUF, \_SB.PCI0.GDM4._Y0D._BAS, B0BA) // _BAS: Base Address
  8845. CreateDWordField (RBUF, \_SB.PCI0.GDM4._Y0D._LEN, B0LN) // _LEN: Length
  8846. B0BA = D20A /* \D20A */
  8847. B0LN = D20L /* \D20L */
  8848. Return (RBUF) /* \_SB_.PCI0.GDM4.RBUF */
  8849. }
  8850.  
  8851. Method (_STA, 0, NotSerialized) // _STA: Status
  8852. {
  8853. If ((D20A == Zero) || (L20D == One))
  8854. {
  8855. Return (Zero)
  8856. }
  8857.  
  8858. If (OSID != One)
  8859. {
  8860. Return (0x0F)
  8861. }
  8862.  
  8863. Return (Zero)
  8864. }
  8865.  
  8866. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  8867. {
  8868. If (DM2P == Zero)
  8869. {
  8870. Return (Zero)
  8871. }
  8872. Else
  8873. {
  8874. Return (0x03)
  8875. }
  8876. }
  8877. }
  8878.  
  8879. Device (PWM1)
  8880. {
  8881. Name (_HID, "80862288") // _HID: Hardware ID
  8882. Name (_CID, "80862288") // _CID: Compatible ID
  8883. Name (_DDN, "Intel(R) PWM Controller #1 - 80862288") // _DDN: DOS Device Name
  8884. Name (_UID, One) // _UID: Unique ID
  8885. Name (RBUF, ResourceTemplate ()
  8886. {
  8887. Memory32Fixed (ReadWrite,
  8888. 0x00000000, // Address Base
  8889. 0x00001000, // Address Length
  8890. _Y0E)
  8891. })
  8892. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  8893. {
  8894. CreateDWordField (RBUF, \_SB.PCI0.PWM1._Y0E._BAS, B0BA) // _BAS: Base Address
  8895. CreateDWordField (RBUF, \_SB.PCI0.PWM1._Y0E._LEN, B0LN) // _LEN: Length
  8896. B0BA = P10A /* \P10A */
  8897. B0LN = P10L /* \P10L */
  8898. Return (RBUF) /* \_SB_.PCI0.PWM1.RBUF */
  8899. }
  8900.  
  8901. Method (_STA, 0, NotSerialized) // _STA: Status
  8902. {
  8903. If ((P10A == Zero) || (L11D == One))
  8904. {
  8905. Return (Zero)
  8906. }
  8907.  
  8908. If (OSID == One)
  8909. {
  8910. Return (Zero)
  8911. }
  8912.  
  8913. Return (0x0F)
  8914. }
  8915.  
  8916. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  8917. {
  8918. PSAT |= 0x03
  8919. PSAT |= Zero
  8920. }
  8921.  
  8922. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  8923. {
  8924. PSAT &= 0xFFFFFFFC
  8925. PSAT |= Zero
  8926. }
  8927.  
  8928. OperationRegion (KEYS, SystemMemory, P11A, 0x0100)
  8929. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  8930. {
  8931. Offset (0x84),
  8932. PSAT, 32
  8933. }
  8934.  
  8935. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  8936. {
  8937. If (PW1P == Zero)
  8938. {
  8939. Return (Zero)
  8940. }
  8941. Else
  8942. {
  8943. Return (0x03)
  8944. }
  8945. }
  8946. }
  8947.  
  8948. Device (PWM2)
  8949. {
  8950. Name (_HID, "80862289") // _HID: Hardware ID
  8951. Name (_CID, "80862289") // _CID: Compatible ID
  8952. Name (_DDN, "Intel(R) PWM Controller #2 - 80862289") // _DDN: DOS Device Name
  8953. Name (_UID, 0x02) // _UID: Unique ID
  8954. Name (RBUF, ResourceTemplate ()
  8955. {
  8956. Memory32Fixed (ReadWrite,
  8957. 0x00000000, // Address Base
  8958. 0x00001000, // Address Length
  8959. _Y0F)
  8960. })
  8961. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  8962. {
  8963. CreateDWordField (RBUF, \_SB.PCI0.PWM2._Y0F._BAS, B0BA) // _BAS: Base Address
  8964. CreateDWordField (RBUF, \_SB.PCI0.PWM2._Y0F._LEN, B0LN) // _LEN: Length
  8965. B0BA = P20A /* \P20A */
  8966. B0LN = P20L /* \P20L */
  8967. Return (RBUF) /* \_SB_.PCI0.PWM2.RBUF */
  8968. }
  8969.  
  8970. Method (_STA, 0, NotSerialized) // _STA: Status
  8971. {
  8972. If ((P20A == Zero) || (L12D == One))
  8973. {
  8974. Return (Zero)
  8975. }
  8976.  
  8977. If (((BDID == 0x08) || (BDID == 0x0A)) || (OSID == One))
  8978. {
  8979. Return (Zero)
  8980. }
  8981.  
  8982. Return (0x0F)
  8983. }
  8984.  
  8985. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  8986. {
  8987. PSAT |= 0x03
  8988. PSAT |= Zero
  8989. }
  8990.  
  8991. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  8992. {
  8993. PSAT &= 0xFFFFFFFC
  8994. PSAT |= Zero
  8995. }
  8996.  
  8997. OperationRegion (KEYS, SystemMemory, P21A, 0x0100)
  8998. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  8999. {
  9000. Offset (0x84),
  9001. PSAT, 32
  9002. }
  9003.  
  9004. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  9005. {
  9006. If (PW2P == Zero)
  9007. {
  9008. Return (Zero)
  9009. }
  9010. Else
  9011. {
  9012. Return (0x03)
  9013. }
  9014. }
  9015. }
  9016.  
  9017. Device (URT1)
  9018. {
  9019. Name (_HID, "8086228A") // _HID: Hardware ID
  9020. Name (_CID, "8086228A") // _CID: Compatible ID
  9021. Name (_DDN, "Intel(R) HS-UART Controller #1 - 8086228A") // _DDN: DOS Device Name
  9022. Name (_UID, One) // _UID: Unique ID
  9023. Name (_DEP, Package (0x01) // _DEP: Dependencies
  9024. {
  9025. PEPD
  9026. })
  9027. Name (RBUF, ResourceTemplate ()
  9028. {
  9029. Memory32Fixed (ReadWrite,
  9030. 0x00000000, // Address Base
  9031. 0x00001000, // Address Length
  9032. _Y10)
  9033. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  9034. {
  9035. 0x00000027,
  9036. }
  9037. FixedDMA (0x0002, 0x0002, Width32bit, )
  9038. FixedDMA (0x0003, 0x0003, Width32bit, )
  9039. })
  9040. Name (ABUF, ResourceTemplate ()
  9041. {
  9042. Memory32Fixed (ReadWrite,
  9043. 0x00000000, // Address Base
  9044. 0x00001000, // Address Length
  9045. _Y11)
  9046. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  9047. {
  9048. 0x00000027,
  9049. }
  9050. FixedDMA (0x0002, 0x0002, Width32bit, )
  9051. FixedDMA (0x0003, 0x0003, Width32bit, )
  9052. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9053. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  9054. )
  9055. { // Pin list
  9056. 0x0010
  9057. }
  9058. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9059. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  9060. )
  9061. { // Pin list
  9062. 0x0014
  9063. }
  9064. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9065. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  9066. )
  9067. { // Pin list
  9068. 0x000F
  9069. }
  9070. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9071. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  9072. )
  9073. { // Pin list
  9074. 0x0012
  9075. }
  9076. })
  9077. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9078. {
  9079. If (OSID == One)
  9080. {
  9081. CreateDWordField (RBUF, \_SB.PCI0.URT1._Y10._BAS, B0BA) // _BAS: Base Address
  9082. CreateDWordField (RBUF, \_SB.PCI0.URT1._Y10._LEN, B0LN) // _LEN: Length
  9083. B0BA = U10A /* \U10A */
  9084. B0LN = U10L /* \U10L */
  9085. Return (RBUF) /* \_SB_.PCI0.URT1.RBUF */
  9086. }
  9087. Else
  9088. {
  9089. CreateDWordField (ABUF, \_SB.PCI0.URT1._Y11._BAS, ABBA) // _BAS: Base Address
  9090. CreateDWordField (ABUF, \_SB.PCI0.URT1._Y11._LEN, ABLN) // _LEN: Length
  9091. ABBA = U10A /* \U10A */
  9092. ABLN = U10L /* \U10L */
  9093. Return (ABUF) /* \_SB_.PCI0.URT1.ABUF */
  9094. }
  9095. }
  9096.  
  9097. Method (_STA, 0, NotSerialized) // _STA: Status
  9098. {
  9099. If ((U10A == Zero) || (L13D == One))
  9100. {
  9101. Return (Zero)
  9102. }
  9103.  
  9104. Return (0x0F)
  9105. }
  9106.  
  9107. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  9108. {
  9109. PSAT |= 0x03
  9110. PSAT |= Zero
  9111. }
  9112.  
  9113. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  9114. {
  9115. PSAT &= 0xFFFFFFFC
  9116. PSAT |= Zero
  9117. }
  9118.  
  9119. OperationRegion (KEYS, SystemMemory, U11A, 0x0100)
  9120. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  9121. {
  9122. Offset (0x84),
  9123. PSAT, 32
  9124. }
  9125.  
  9126. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  9127. {
  9128. If (UR1P == Zero)
  9129. {
  9130. Return (Zero)
  9131. }
  9132. Else
  9133. {
  9134. Return (0x03)
  9135. }
  9136. }
  9137. }
  9138.  
  9139. Device (URT2)
  9140. {
  9141. Name (_HID, "8086228A") // _HID: Hardware ID
  9142. Name (_CID, "8086228A") // _CID: Compatible ID
  9143. Name (_DDN, "Intel(R) HS-UART Controller #2 - 8086228C") // _DDN: DOS Device Name
  9144. Name (_UID, 0x02) // _UID: Unique ID
  9145. Name (_DEP, Package (0x01) // _DEP: Dependencies
  9146. {
  9147. PEPD
  9148. })
  9149. Name (RBUF, ResourceTemplate ()
  9150. {
  9151. Memory32Fixed (ReadWrite,
  9152. 0x00000000, // Address Base
  9153. 0x00001000, // Address Length
  9154. _Y12)
  9155. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  9156. {
  9157. 0x00000028,
  9158. }
  9159. FixedDMA (0x0004, 0x0004, Width32bit, )
  9160. FixedDMA (0x0005, 0x0005, Width32bit, )
  9161. })
  9162. Name (ABUF, ResourceTemplate ()
  9163. {
  9164. Memory32Fixed (ReadWrite,
  9165. 0x00000000, // Address Base
  9166. 0x00001000, // Address Length
  9167. _Y13)
  9168. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  9169. {
  9170. 0x00000028,
  9171. }
  9172. FixedDMA (0x0004, 0x0004, Width32bit, )
  9173. FixedDMA (0x0005, 0x0005, Width32bit, )
  9174. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9175. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  9176. )
  9177. { // Pin list
  9178. 0x0011
  9179. }
  9180. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9181. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  9182. )
  9183. { // Pin list
  9184. 0x0015
  9185. }
  9186. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9187. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  9188. )
  9189. { // Pin list
  9190. 0x0013
  9191. }
  9192. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9193. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  9194. )
  9195. { // Pin list
  9196. 0x0016
  9197. }
  9198. })
  9199. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9200. {
  9201. If (OSID == One)
  9202. {
  9203. CreateDWordField (RBUF, \_SB.PCI0.URT2._Y12._BAS, B0BA) // _BAS: Base Address
  9204. CreateDWordField (RBUF, \_SB.PCI0.URT2._Y12._LEN, B0LN) // _LEN: Length
  9205. B0BA = U20A /* \U20A */
  9206. B0LN = U20L /* \U20L */
  9207. Return (RBUF) /* \_SB_.PCI0.URT2.RBUF */
  9208. }
  9209. Else
  9210. {
  9211. CreateDWordField (ABUF, \_SB.PCI0.URT2._Y13._BAS, ABBA) // _BAS: Base Address
  9212. CreateDWordField (ABUF, \_SB.PCI0.URT2._Y13._LEN, ABLN) // _LEN: Length
  9213. ABBA = U20A /* \U20A */
  9214. ABLN = U20L /* \U20L */
  9215. Return (ABUF) /* \_SB_.PCI0.URT2.ABUF */
  9216. }
  9217. }
  9218.  
  9219. Method (_STA, 0, NotSerialized) // _STA: Status
  9220. {
  9221. If ((U20A == Zero) || (L14D == One))
  9222. {
  9223. Return (Zero)
  9224. }
  9225.  
  9226. Return (0x0F)
  9227. }
  9228.  
  9229. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  9230. {
  9231. PSAT |= 0x03
  9232. PSAT |= Zero
  9233. }
  9234.  
  9235. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  9236. {
  9237. PSAT &= 0xFFFFFFFC
  9238. PSAT |= Zero
  9239. If (^^^GPO1.AMMR == One)
  9240. {
  9241. ^^^GPO1.GPSC = Zero
  9242. ^^^GPO1.GPSE = Zero
  9243. }
  9244. }
  9245.  
  9246. OperationRegion (KEYS, SystemMemory, U21A, 0x0100)
  9247. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  9248. {
  9249. Offset (0x84),
  9250. PSAT, 32
  9251. }
  9252.  
  9253. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  9254. {
  9255. If (UR2P == Zero)
  9256. {
  9257. Return (Zero)
  9258. }
  9259. Else
  9260. {
  9261. Return (0x03)
  9262. }
  9263. }
  9264.  
  9265. Device (GPS0)
  9266. {
  9267. Name (_HID, "BCM47521") // _HID: Hardware ID
  9268. Name (ZHID, "INT33A2")
  9269. Name (_HRV, Zero) // _HRV: Hardware Revision
  9270. Name (UART, One)
  9271. Name (ENAB, One)
  9272. Name (HSTW, Zero)
  9273. Method (_STA, 0, NotSerialized) // _STA: Status
  9274. {
  9275. Return (Zero)
  9276. If ((BDID == One) || (GPSD == Zero))
  9277. {
  9278. Return (Zero)
  9279. }
  9280.  
  9281. If (MODM == Zero)
  9282. {
  9283. Return (0x0F)
  9284. }
  9285.  
  9286. If ((BDID == 0x09) || (BDID == 0x0A))
  9287. {
  9288. Return (Zero)
  9289. }
  9290.  
  9291. If (OSID != One)
  9292. {
  9293. Return (0x0F)
  9294. }
  9295.  
  9296. Return (Zero)
  9297. }
  9298.  
  9299. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9300. {
  9301. Name (UBUF, ResourceTemplate ()
  9302. {
  9303. UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
  9304. 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
  9305. 0x0020, 0x0020, "\\_SB.PCI0.URT2",
  9306. 0x00, ResourceConsumer, , Exclusive,
  9307. )
  9308. GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000,
  9309. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  9310. )
  9311. { // Pin list
  9312. 0x004B
  9313. }
  9314. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9315. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  9316. )
  9317. { // Pin list
  9318. 0x0018
  9319. }
  9320. })
  9321. Return (UBUF) /* \_SB_.PCI0.URT2.GPS0._CRS.UBUF */
  9322. }
  9323. }
  9324.  
  9325. Device (GPS1)
  9326. {
  9327. Name (_HID, "BCM4752") // _HID: Hardware ID
  9328. Name (_HRV, One) // _HRV: Hardware Revision
  9329. Method (_STA, 0, NotSerialized) // _STA: Status
  9330. {
  9331. If ((BDID == One) || (GPSD == Zero))
  9332. {
  9333. Return (Zero)
  9334. }
  9335.  
  9336. If ((BDID == 0x09) || (BDID == 0x0A))
  9337. {
  9338. Return (Zero)
  9339. }
  9340.  
  9341. If (OSID == One)
  9342. {
  9343. Return (0x0F)
  9344. }
  9345.  
  9346. Return (Zero)
  9347. }
  9348.  
  9349. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9350. {
  9351. Name (BBUF, ResourceTemplate ()
  9352. {
  9353. UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
  9354. 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
  9355. 0x0020, 0x0020, "\\_SB.PCI0.URT2",
  9356. 0x00, ResourceConsumer, , Exclusive,
  9357. )
  9358. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9359. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  9360. )
  9361. { // Pin list
  9362. 0x0018
  9363. }
  9364. })
  9365. Return (BBUF) /* \_SB_.PCI0.URT2.GPS1._CRS.BBUF */
  9366. }
  9367. }
  9368.  
  9369. Device (GPS3)
  9370. {
  9371. Name (_HID, "INT33A2") // _HID: Hardware ID
  9372. Name (_HRV, Zero) // _HRV: Hardware Revision
  9373. Name (UART, One)
  9374. Name (ENAB, One)
  9375. Name (HSTW, Zero)
  9376. Method (_STA, 0, NotSerialized) // _STA: Status
  9377. {
  9378. If (BDID == One)
  9379. {
  9380. Return (Zero)
  9381. }
  9382.  
  9383. If (MODM == Zero)
  9384. {
  9385. Return (Zero)
  9386. }
  9387.  
  9388. If ((BDID == 0x09) || (BDID == 0x0A))
  9389. {
  9390. Return (0x0F)
  9391. }
  9392.  
  9393. Return (Zero)
  9394. }
  9395.  
  9396. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9397. {
  9398. Name (ABUF, ResourceTemplate ()
  9399. {
  9400. UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
  9401. 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
  9402. 0x0020, 0x0020, "\\_SB.PCI0.URT2",
  9403. 0x00, ResourceConsumer, , Exclusive,
  9404. )
  9405. GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
  9406. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  9407. )
  9408. { // Pin list
  9409. 0x0030
  9410. }
  9411. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9412. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  9413. )
  9414. { // Pin list
  9415. 0x0018
  9416. }
  9417. })
  9418. Name (WBUF, ResourceTemplate ()
  9419. {
  9420. UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
  9421. 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
  9422. 0x0020, 0x0020, "\\_SB.PCI0.URT2",
  9423. 0x00, ResourceConsumer, , Exclusive,
  9424. )
  9425. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  9426. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  9427. )
  9428. { // Pin list
  9429. 0x0018
  9430. }
  9431. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  9432. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  9433. )
  9434. { // Pin list
  9435. 0x0030
  9436. }
  9437. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  9438. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  9439. )
  9440. { // Pin list
  9441. 0x0030
  9442. }
  9443. })
  9444. If (OSID == One)
  9445. {
  9446. Return (WBUF) /* \_SB_.PCI0.URT2.GPS3._CRS.WBUF */
  9447. }
  9448.  
  9449. Return (ABUF) /* \_SB_.PCI0.URT2.GPS3._CRS.ABUF */
  9450. }
  9451. }
  9452. }
  9453.  
  9454. Device (SPI1)
  9455. {
  9456. Name (_HID, "8086228E") // _HID: Hardware ID
  9457. Name (_CID, "8086228E") // _CID: Compatible ID
  9458. Name (_DEP, Package (0x01) // _DEP: Dependencies
  9459. {
  9460. PEPD
  9461. })
  9462. Name (_DDN, "Intel(R) SPI Controller #1 - 8086228E") // _DDN: DOS Device Name
  9463. Name (_UID, One) // _UID: Unique ID
  9464. Name (RBUF, ResourceTemplate ()
  9465. {
  9466. Memory32Fixed (ReadWrite,
  9467. 0x00000000, // Address Base
  9468. 0x00001000, // Address Length
  9469. _Y14)
  9470. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  9471. {
  9472. 0x00000029,
  9473. }
  9474. FixedDMA (0x0000, 0x0000, Width32bit, )
  9475. FixedDMA (0x0001, 0x0001, Width32bit, )
  9476. })
  9477. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9478. {
  9479. CreateDWordField (RBUF, \_SB.PCI0.SPI1._Y14._BAS, B0BA) // _BAS: Base Address
  9480. CreateDWordField (RBUF, \_SB.PCI0.SPI1._Y14._LEN, B0LN) // _LEN: Length
  9481. B0BA = SP0A /* \SP0A */
  9482. B0LN = SP0L /* \SP0L */
  9483. Return (RBUF) /* \_SB_.PCI0.SPI1.RBUF */
  9484. }
  9485.  
  9486. Method (_STA, 0, NotSerialized) // _STA: Status
  9487. {
  9488. If ((SP0A == Zero) || (L15D == One))
  9489. {
  9490. Return (Zero)
  9491. }
  9492.  
  9493. Return (0x0F)
  9494. }
  9495.  
  9496. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  9497. {
  9498. PSAT |= 0x03
  9499. PSAT |= Zero
  9500. }
  9501.  
  9502. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  9503. {
  9504. PSAT &= 0xFFFFFFFC
  9505. PSAT |= Zero
  9506. }
  9507.  
  9508. OperationRegion (KEYS, SystemMemory, SP1A, 0x0100)
  9509. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  9510. {
  9511. Offset (0x84),
  9512. PSAT, 32
  9513. }
  9514.  
  9515. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  9516. {
  9517. If (SP1P == Zero)
  9518. {
  9519. Return (Zero)
  9520. }
  9521. Else
  9522. {
  9523. Return (0x03)
  9524. }
  9525. }
  9526.  
  9527. Device (FPNT)
  9528. {
  9529. Name (_HID, "AUTH2750" /* AuthenTec AES2750 */) // _HID: Hardware ID
  9530. Name (_DDN, "AuthenTec AES2750") // _DDN: DOS Device Name
  9531. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9532. {
  9533. Name (UBUF, ResourceTemplate ()
  9534. {
  9535. SpiSerialBusV2 (0x0001, PolarityLow, FourWireMode, 0x08,
  9536. ControllerInitiated, 0x007A1200, ClockPolarityLow,
  9537. ClockPhaseSecond, "\\_SB.PCI0.SPI1",
  9538. 0x00, ResourceConsumer, , Exclusive,
  9539. )
  9540. Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
  9541. {
  9542. 0x00000048,
  9543. }
  9544. })
  9545. Return (UBUF) /* \_SB_.PCI0.SPI1.FPNT._CRS.UBUF */
  9546. }
  9547.  
  9548. Method (_STA, 0, NotSerialized) // _STA: Status
  9549. {
  9550. Return (Zero)
  9551. }
  9552. }
  9553. }
  9554.  
  9555. Device (SPI2)
  9556. {
  9557. Name (_HID, "8086228E") // _HID: Hardware ID
  9558. Name (_CID, "8086228E") // _CID: Compatible ID
  9559. Name (_DDN, "Intel(R) SPI Controller #2 - 80862290") // _DDN: DOS Device Name
  9560. Name (_UID, 0x02) // _UID: Unique ID
  9561. Name (RBUF, ResourceTemplate ()
  9562. {
  9563. Memory32Fixed (ReadWrite,
  9564. 0x00000000, // Address Base
  9565. 0x00001000, // Address Length
  9566. _Y15)
  9567. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  9568. {
  9569. 0x00000059,
  9570. }
  9571. FixedDMA (0x0006, 0x0006, Width32bit, )
  9572. FixedDMA (0x0007, 0x0007, Width32bit, )
  9573. })
  9574. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9575. {
  9576. CreateDWordField (RBUF, \_SB.PCI0.SPI2._Y15._BAS, B0BA) // _BAS: Base Address
  9577. CreateDWordField (RBUF, \_SB.PCI0.SPI2._Y15._LEN, B0LN) // _LEN: Length
  9578. B0BA = S20A /* \S20A */
  9579. B0LN = S20L /* \S20L */
  9580. Return (RBUF) /* \_SB_.PCI0.SPI2.RBUF */
  9581. }
  9582.  
  9583. Method (_STA, 0, NotSerialized) // _STA: Status
  9584. {
  9585. If ((S20A == Zero) || (L16D == One))
  9586. {
  9587. Return (Zero)
  9588. }
  9589.  
  9590. Return (0x0F)
  9591. }
  9592.  
  9593. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  9594. {
  9595. PSAT |= 0x03
  9596. PSAT |= Zero
  9597. }
  9598.  
  9599. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  9600. {
  9601. PSAT &= 0xFFFFFFFC
  9602. PSAT |= Zero
  9603. }
  9604.  
  9605. OperationRegion (KEYS, SystemMemory, S21A, 0x0100)
  9606. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  9607. {
  9608. Offset (0x84),
  9609. PSAT, 32
  9610. }
  9611.  
  9612. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  9613. {
  9614. If (SP2P == Zero)
  9615. {
  9616. Return (Zero)
  9617. }
  9618. Else
  9619. {
  9620. Return (0x03)
  9621. }
  9622. }
  9623. }
  9624.  
  9625. Device (SPI3)
  9626. {
  9627. Name (_HID, "8086228E") // _HID: Hardware ID
  9628. Name (_CID, "8086228E") // _CID: Compatible ID
  9629. Name (_DDN, "Intel(R) SPI Controller #3 - 808622AC") // _DDN: DOS Device Name
  9630. Name (_UID, 0x03) // _UID: Unique ID
  9631. Name (RBUF, ResourceTemplate ()
  9632. {
  9633. Memory32Fixed (ReadWrite,
  9634. 0x00000000, // Address Base
  9635. 0x00001000, // Address Length
  9636. _Y16)
  9637. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  9638. {
  9639. 0x0000005A,
  9640. }
  9641. FixedDMA (0x0008, 0x0008, Width32bit, )
  9642. FixedDMA (0x0009, 0x0009, Width32bit, )
  9643. })
  9644. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9645. {
  9646. CreateDWordField (RBUF, \_SB.PCI0.SPI3._Y16._BAS, B0BA) // _BAS: Base Address
  9647. CreateDWordField (RBUF, \_SB.PCI0.SPI3._Y16._LEN, B0LN) // _LEN: Length
  9648. B0BA = S30A /* \S30A */
  9649. B0LN = S30L /* \S30L */
  9650. Return (RBUF) /* \_SB_.PCI0.SPI3.RBUF */
  9651. }
  9652.  
  9653. Method (_STA, 0, NotSerialized) // _STA: Status
  9654. {
  9655. If ((S30A == Zero) || (L16D == One))
  9656. {
  9657. Return (Zero)
  9658. }
  9659.  
  9660. Return (0x0F)
  9661. }
  9662.  
  9663. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  9664. {
  9665. PSAT |= 0x03
  9666. PSAT |= Zero
  9667. }
  9668.  
  9669. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  9670. {
  9671. PSAT &= 0xFFFFFFFC
  9672. PSAT |= Zero
  9673. }
  9674.  
  9675. OperationRegion (KEYS, SystemMemory, S31A, 0x0100)
  9676. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  9677. {
  9678. Offset (0x84),
  9679. PSAT, 32
  9680. }
  9681.  
  9682. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  9683. {
  9684. If (SP3P == Zero)
  9685. {
  9686. Return (Zero)
  9687. }
  9688. Else
  9689. {
  9690. Return (0x03)
  9691. }
  9692. }
  9693. }
  9694.  
  9695. Device (I2C1)
  9696. {
  9697. Name (_HID, "808622C1") // _HID: Hardware ID
  9698. Name (_CID, "808622C1") // _CID: Compatible ID
  9699. Name (_DEP, Package (0x01) // _DEP: Dependencies
  9700. {
  9701. PEPD
  9702. })
  9703. Name (_DDN, "Intel(R) I2C Controller #1 - 808622C1") // _DDN: DOS Device Name
  9704. Name (_UID, One) // _UID: Unique ID
  9705. Name (RBUF, ResourceTemplate ()
  9706. {
  9707. Memory32Fixed (ReadWrite,
  9708. 0x00000000, // Address Base
  9709. 0x00001000, // Address Length
  9710. _Y17)
  9711. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  9712. {
  9713. 0x00000020,
  9714. }
  9715. FixedDMA (0x0010, 0x0000, Width32bit, )
  9716. FixedDMA (0x0011, 0x0001, Width32bit, )
  9717. })
  9718. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9719. {
  9720. CreateDWordField (RBUF, \_SB.PCI0.I2C1._Y17._BAS, B0BA) // _BAS: Base Address
  9721. CreateDWordField (RBUF, \_SB.PCI0.I2C1._Y17._LEN, B0LN) // _LEN: Length
  9722. B0BA = I10A /* \I10A */
  9723. B0LN = I10L /* \I10L */
  9724. Return (RBUF) /* \_SB_.PCI0.I2C1.RBUF */
  9725. }
  9726.  
  9727. Method (_STA, 0, NotSerialized) // _STA: Status
  9728. {
  9729. If ((I10A == Zero) || (L21D == One))
  9730. {
  9731. Return (Zero)
  9732. }
  9733.  
  9734. Return (0x0F)
  9735. }
  9736.  
  9737. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  9738. {
  9739. PSAT |= 0x03
  9740. PSAT |= Zero
  9741. }
  9742.  
  9743. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  9744. {
  9745. PSAT &= 0xFFFFFFFC
  9746. PSAT |= Zero
  9747. }
  9748.  
  9749. OperationRegion (KEYS, SystemMemory, I11A, 0x0100)
  9750. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  9751. {
  9752. Offset (0x84),
  9753. PSAT, 32
  9754. }
  9755.  
  9756. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  9757. {
  9758. If (IC1P == Zero)
  9759. {
  9760. Return (Zero)
  9761. }
  9762. Else
  9763. {
  9764. Return (0x03)
  9765. }
  9766. }
  9767.  
  9768. PowerResource (CLK2, 0x00, 0x0000)
  9769. {
  9770. Method (_STA, 0, NotSerialized) // _STA: Status
  9771. {
  9772. Return (CKC2) /* \CKC2 */
  9773. }
  9774.  
  9775. Method (_ON, 0, NotSerialized) // _ON_: Power On
  9776. {
  9777. CKC2 = One
  9778. Sleep (0x05)
  9779. }
  9780.  
  9781. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  9782. {
  9783. CKC2 = 0x02
  9784. }
  9785. }
  9786.  
  9787. PowerResource (CLK4, 0x00, 0x0000)
  9788. {
  9789. Method (_STA, 0, NotSerialized) // _STA: Status
  9790. {
  9791. Return (CKC4) /* \CKC4 */
  9792. }
  9793.  
  9794. Method (_ON, 0, NotSerialized) // _ON_: Power On
  9795. {
  9796. CKC4 = One
  9797. Sleep (0x05)
  9798. }
  9799.  
  9800. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  9801. {
  9802. CKC4 = 0x02
  9803. }
  9804. }
  9805.  
  9806. PowerResource (P28P, 0x05, 0x0000)
  9807. {
  9808. Name (_DEP, Package (0x02) // _DEP: Dependencies
  9809. {
  9810. I2C7,
  9811. ^^I2C7.PMI1
  9812. })
  9813. Method (_STA, 0, NotSerialized) // _STA: Status
  9814. {
  9815. If (^^^I2C7.PMI1.AVBG == One)
  9816. {
  9817. ^^^I2C7.PMI1.G28X = Zero
  9818. If (^^^I2C7.PMI1.AVBL == One)
  9819. {
  9820. Return (^^^I2C7.PMI1.ALD1) /* \_SB_.PCI0.I2C7.PMI1.ALD1 */
  9821. }
  9822. }
  9823.  
  9824. Return (Zero)
  9825. }
  9826.  
  9827. Method (_ON, 0, NotSerialized) // _ON_: Power On
  9828. {
  9829. If (^^^I2C7.PMI1.AVBL == One)
  9830. {
  9831. ^^^I2C7.PMI1.ALD1 = One
  9832. If (^^^I2C7.PMI1.AVBG == One)
  9833. {
  9834. ^^^I2C7.PMI1.G28X = One
  9835. Sleep (0x1E)
  9836. }
  9837. }
  9838. }
  9839.  
  9840. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  9841. {
  9842. If (^^^I2C7.PMI1.AVBL == One)
  9843. {
  9844. ^^^I2C7.PMI1.ALD1 = Zero
  9845. If (^^^I2C7.PMI1.AVBG == One)
  9846. {
  9847. ^^^I2C7.PMI1.G28X = One
  9848. Sleep (0x1E)
  9849. }
  9850. }
  9851. }
  9852. }
  9853.  
  9854. PowerResource (P18P, 0x05, 0x0000)
  9855. {
  9856. Name (_DEP, Package (0x02) // _DEP: Dependencies
  9857. {
  9858. I2C7,
  9859. ^^I2C7.PMI1
  9860. })
  9861. Method (_STA, 0, NotSerialized) // _STA: Status
  9862. {
  9863. If (^^^I2C7.PMI1.AVBG == One)
  9864. {
  9865. ^^^I2C7.PMI1.G18X = Zero
  9866. If (^^^I2C7.PMI1.AVBL == One)
  9867. {
  9868. Return (^^^I2C7.PMI1.ELD2) /* \_SB_.PCI0.I2C7.PMI1.ELD2 */
  9869. }
  9870. }
  9871.  
  9872. Return (Zero)
  9873. }
  9874.  
  9875. Method (_ON, 0, NotSerialized) // _ON_: Power On
  9876. {
  9877. If (^^^I2C7.PMI1.AVBL == One)
  9878. {
  9879. ^^^I2C7.PMI1.ELD2 = One
  9880. If (^^^I2C7.PMI1.AVBG == One)
  9881. {
  9882. ^^^I2C7.PMI1.G18X = One
  9883. Sleep (0x1E)
  9884. }
  9885. }
  9886. }
  9887.  
  9888. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  9889. {
  9890. If (^^^I2C7.PMI1.AVBL == One)
  9891. {
  9892. ^^^I2C7.PMI1.ELD2 = Zero
  9893. If (^^^I2C7.PMI1.AVBG == One)
  9894. {
  9895. ^^^I2C7.PMI1.G18X = One
  9896. Sleep (0x1E)
  9897. }
  9898. }
  9899. }
  9900. }
  9901.  
  9902. PowerResource (P12P, 0x05, 0x0000)
  9903. {
  9904. Name (_DEP, Package (0x02) // _DEP: Dependencies
  9905. {
  9906. I2C7,
  9907. ^^I2C7.PMI1
  9908. })
  9909. Method (_STA, 0, NotSerialized) // _STA: Status
  9910. {
  9911. If (^^^I2C7.PMI1.AVBG == One)
  9912. {
  9913. ^^^I2C7.PMI1.G12X = Zero
  9914. If (^^^I2C7.PMI1.AVBL == One)
  9915. {
  9916. Return (^^^I2C7.PMI1.FLD2) /* \_SB_.PCI0.I2C7.PMI1.FLD2 */
  9917. }
  9918. }
  9919.  
  9920. Return (Zero)
  9921. }
  9922.  
  9923. Method (_ON, 0, NotSerialized) // _ON_: Power On
  9924. {
  9925. If (^^^I2C7.PMI1.AVBL == One)
  9926. {
  9927. ^^^I2C7.PMI1.FLD2 = One
  9928. If (^^^I2C7.PMI1.AVBG == One)
  9929. {
  9930. ^^^I2C7.PMI1.G12X = One
  9931. Sleep (0x1E)
  9932. }
  9933. }
  9934. }
  9935.  
  9936. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  9937. {
  9938. If (^^^I2C7.PMI1.AVBL == One)
  9939. {
  9940. ^^^I2C7.PMI1.FLD2 = Zero
  9941. If (^^^I2C7.PMI1.AVBG == One)
  9942. {
  9943. ^^^I2C7.PMI1.G12X = One
  9944. Sleep (0x1E)
  9945. }
  9946. }
  9947. }
  9948. }
  9949.  
  9950. PowerResource (P16P, 0x05, 0x0000)
  9951. {
  9952. Name (_DEP, Package (0x02) // _DEP: Dependencies
  9953. {
  9954. I2C7,
  9955. ^^I2C7.PMI1
  9956. })
  9957. Method (_STA, 0, NotSerialized) // _STA: Status
  9958. {
  9959. If (^^^I2C7.PMI1.AVBG == One)
  9960. {
  9961. ^^^I2C7.PMI1.G16X = Zero
  9962. If (^^^I2C7.PMI1.AVBL == One)
  9963. {
  9964. Return (^^^I2C7.PMI1.ELD1) /* \_SB_.PCI0.I2C7.PMI1.ELD1 */
  9965. }
  9966. }
  9967.  
  9968. Return (Zero)
  9969. }
  9970.  
  9971. Method (_ON, 0, NotSerialized) // _ON_: Power On
  9972. {
  9973. If (^^^I2C7.PMI1.AVBL == One)
  9974. {
  9975. ^^^I2C7.PMI1.ELD1 = One
  9976. If (^^^I2C7.PMI1.AVBG == One)
  9977. {
  9978. ^^^I2C7.PMI1.G16X = One
  9979. Sleep (0x1E)
  9980. }
  9981. }
  9982. }
  9983.  
  9984. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  9985. {
  9986. If (^^^I2C7.PMI1.AVBL == One)
  9987. {
  9988. ^^^I2C7.PMI1.ELD1 = Zero
  9989. If (^^^I2C7.PMI1.AVBG == One)
  9990. {
  9991. ^^^I2C7.PMI1.G16X = One
  9992. Sleep (0x1E)
  9993. }
  9994. }
  9995. }
  9996. }
  9997.  
  9998. Device (STRA)
  9999. {
  10000. Name (_ADR, Zero) // _ADR: Address
  10001. Name (_HID, "INTCF1C") // _HID: Hardware ID
  10002. Name (_CID, "INTCF1C") // _CID: Compatible ID
  10003. Name (_SUB, "INTL0000") // _SUB: Subsystem ID
  10004. Name (_DDN, "Flash LM3554") // _DDN: DOS Device Name
  10005. Name (_UID, One) // _UID: Unique ID
  10006. Method (_STA, 0, NotSerialized) // _STA: Status
  10007. {
  10008. If (BDID == One)
  10009. {
  10010. Return (Zero)
  10011. }
  10012.  
  10013. If (RCAM == One)
  10014. {
  10015. Return (0x0F)
  10016. }
  10017.  
  10018. Return (Zero)
  10019. }
  10020.  
  10021. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10022. {
  10023. Name (SBUF, ResourceTemplate ()
  10024. {
  10025. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  10026. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  10027. )
  10028. { // Pin list
  10029. 0x0038
  10030. }
  10031. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  10032. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  10033. )
  10034. { // Pin list
  10035. 0x002D
  10036. }
  10037. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  10038. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  10039. )
  10040. { // Pin list
  10041. 0x0035
  10042. }
  10043. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  10044. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  10045. )
  10046. { // Pin list
  10047. 0x002E
  10048. }
  10049. I2cSerialBusV2 (0x0053, ControllerInitiated, 0x00061A80,
  10050. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  10051. 0x00, ResourceConsumer, , Exclusive,
  10052. )
  10053. })
  10054. Return (SBUF) /* \_SB_.PCI0.I2C1.STRA._CRS.SBUF */
  10055. }
  10056.  
  10057. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  10058. {
  10059. If (Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))
  10060. {
  10061. Return ("INTCF1C")
  10062. }
  10063.  
  10064. If (Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))
  10065. {
  10066. Return ("LM3554")
  10067. }
  10068.  
  10069. If (Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))
  10070. {
  10071. Return ("CHV_ITL_RVP")
  10072. }
  10073.  
  10074. If (Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))
  10075. {
  10076. Return (Zero)
  10077. }
  10078.  
  10079. If (Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))
  10080. {
  10081. If (Arg2 == One)
  10082. {
  10083. Return (One)
  10084. }
  10085.  
  10086. If (Arg2 == 0x02)
  10087. {
  10088. Return (0x04005300)
  10089. }
  10090. }
  10091.  
  10092. If (Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))
  10093. {
  10094. If (Arg2 == One)
  10095. {
  10096. Return (0x04)
  10097. }
  10098.  
  10099. If (Arg2 == 0x02)
  10100. {
  10101. Return (0x01003802)
  10102. }
  10103.  
  10104. If (Arg2 == 0x03)
  10105. {
  10106. Return (0x01002D03)
  10107. }
  10108.  
  10109. If (Arg2 == 0x04)
  10110. {
  10111. Return (0x01003501)
  10112. }
  10113.  
  10114. If (Arg2 == 0x05)
  10115. {
  10116. Return (0x01002E04)
  10117. }
  10118. }
  10119.  
  10120. Return (Zero)
  10121. }
  10122. }
  10123. }
  10124.  
  10125. Device (I2C2)
  10126. {
  10127. Name (_HID, "808622C1") // _HID: Hardware ID
  10128. Name (_CID, "808622C1") // _CID: Compatible ID
  10129. Name (_DEP, Package (0x01) // _DEP: Dependencies
  10130. {
  10131. PEPD
  10132. })
  10133. Name (_DDN, "Intel(R) I2C Controller #2 - 808622C2") // _DDN: DOS Device Name
  10134. Name (_UID, 0x02) // _UID: Unique ID
  10135. Name (RBUF, ResourceTemplate ()
  10136. {
  10137. Memory32Fixed (ReadWrite,
  10138. 0x00000000, // Address Base
  10139. 0x00001000, // Address Length
  10140. _Y18)
  10141. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  10142. {
  10143. 0x00000021,
  10144. }
  10145. FixedDMA (0x0012, 0x0002, Width32bit, )
  10146. FixedDMA (0x0013, 0x0003, Width32bit, )
  10147. })
  10148. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10149. {
  10150. CreateDWordField (RBUF, \_SB.PCI0.I2C2._Y18._BAS, B0BA) // _BAS: Base Address
  10151. CreateDWordField (RBUF, \_SB.PCI0.I2C2._Y18._LEN, B0LN) // _LEN: Length
  10152. B0BA = I20A /* \I20A */
  10153. B0LN = I20L /* \I20L */
  10154. Return (RBUF) /* \_SB_.PCI0.I2C2.RBUF */
  10155. }
  10156.  
  10157. Method (_STA, 0, NotSerialized) // _STA: Status
  10158. {
  10159. If ((I20A == Zero) || (L22D == One))
  10160. {
  10161. Return (Zero)
  10162. }
  10163.  
  10164. Return (0x0F)
  10165. }
  10166.  
  10167. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  10168. {
  10169. PSAT |= 0x03
  10170. PSAT |= Zero
  10171. }
  10172.  
  10173. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  10174. {
  10175. PSAT &= 0xFFFFFFFC
  10176. PSAT |= Zero
  10177. }
  10178.  
  10179. OperationRegion (KEYS, SystemMemory, I21A, 0x0100)
  10180. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  10181. {
  10182. Offset (0x84),
  10183. PSAT, 32
  10184. }
  10185.  
  10186. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  10187. {
  10188. If (IC2P == Zero)
  10189. {
  10190. Return (Zero)
  10191. }
  10192. Else
  10193. {
  10194. Return (0x03)
  10195. }
  10196. }
  10197.  
  10198. PowerResource (CLK3, 0x00, 0x0000)
  10199. {
  10200. Method (_STA, 0, NotSerialized) // _STA: Status
  10201. {
  10202. Return (CKC3) /* \CKC3 */
  10203. }
  10204.  
  10205. Method (_ON, 0, NotSerialized) // _ON_: Power On
  10206. {
  10207. CKC3 = One
  10208. Sleep (0x05)
  10209. }
  10210.  
  10211. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  10212. {
  10213. CKC3 = 0x02
  10214. }
  10215. }
  10216.  
  10217. PowerResource (CLK4, 0x00, 0x0000)
  10218. {
  10219. Method (_STA, 0, NotSerialized) // _STA: Status
  10220. {
  10221. Return (CKC4) /* \CKC4 */
  10222. }
  10223.  
  10224. Method (_ON, 0, NotSerialized) // _ON_: Power On
  10225. {
  10226. CKC4 = One
  10227. Sleep (0x05)
  10228. }
  10229.  
  10230. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  10231. {
  10232. CKC4 = 0x02
  10233. }
  10234. }
  10235.  
  10236. Device (RTEK)
  10237. {
  10238. Name (_ADR, Zero) // _ADR: Address
  10239. Name (_HID, "10EC5640" /* Realtek I2S Audio Codec */) // _HID: Hardware ID
  10240. Name (_CID, "10EC5640" /* Realtek I2S Audio Codec */) // _CID: Compatible ID
  10241. Name (_DDN, "ALC5642") // _DDN: DOS Device Name
  10242. Name (_UID, One) // _UID: Unique ID
  10243. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  10244. {
  10245. CLK3
  10246. })
  10247. Name (_DEP, Package (0x01) // _DEP: Dependencies
  10248. {
  10249. PEPD
  10250. })
  10251. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10252. {
  10253. Name (SBUF, ResourceTemplate ()
  10254. {
  10255. I2cSerialBusV2 (0x001C, ControllerInitiated, 0x00061A80,
  10256. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  10257. 0x00, ResourceConsumer, , Exclusive,
  10258. )
  10259. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  10260. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  10261. )
  10262. { // Pin list
  10263. 0x005B
  10264. }
  10265. })
  10266. Name (WBUF, ResourceTemplate ()
  10267. {
  10268. I2cSerialBusV2 (0x001C, ControllerInitiated, 0x00061A80,
  10269. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  10270. 0x00, ResourceConsumer, , Exclusive,
  10271. )
  10272. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0000,
  10273. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  10274. )
  10275. { // Pin list
  10276. 0x004F
  10277. }
  10278. })
  10279. If ((OSID == One) && ((BDID == 0x09) || (BDID == 0x0A)))
  10280. {
  10281. Return (WBUF) /* \_SB_.PCI0.I2C2.RTEK._CRS.WBUF */
  10282. }
  10283.  
  10284. Return (SBUF) /* \_SB_.PCI0.I2C2.RTEK._CRS.SBUF */
  10285. }
  10286.  
  10287. Method (_STA, 0, NotSerialized) // _STA: Status
  10288. {
  10289. If (BDID == One)
  10290. {
  10291. Return (Zero)
  10292. }
  10293.  
  10294. If (OSID != One)
  10295. {
  10296. Return (Zero)
  10297. }
  10298.  
  10299. If (OSID == 0x04)
  10300. {
  10301. Return (Zero)
  10302. }
  10303.  
  10304. If (AUCD == Zero)
  10305. {
  10306. Return (0x0F)
  10307. }
  10308.  
  10309. Return (Zero)
  10310. }
  10311.  
  10312. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  10313. {
  10314. }
  10315. }
  10316. }
  10317.  
  10318. Device (I2C3)
  10319. {
  10320. Name (_HID, "808622C1") // _HID: Hardware ID
  10321. Name (_CID, "808622C1") // _CID: Compatible ID
  10322. Name (_DDN, "Intel(R) I2C Controller #3 - 808622C3") // _DDN: DOS Device Name
  10323. Name (_UID, 0x03) // _UID: Unique ID
  10324. Name (_DEP, Package (0x01) // _DEP: Dependencies
  10325. {
  10326. PEPD
  10327. })
  10328. Name (RBUF, ResourceTemplate ()
  10329. {
  10330. Memory32Fixed (ReadWrite,
  10331. 0x00000000, // Address Base
  10332. 0x00001000, // Address Length
  10333. _Y19)
  10334. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  10335. {
  10336. 0x00000022,
  10337. }
  10338. FixedDMA (0x0014, 0x0004, Width32bit, )
  10339. FixedDMA (0x0015, 0x0005, Width32bit, )
  10340. })
  10341. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10342. {
  10343. CreateDWordField (RBUF, \_SB.PCI0.I2C3._Y19._BAS, B0BA) // _BAS: Base Address
  10344. CreateDWordField (RBUF, \_SB.PCI0.I2C3._Y19._LEN, B0LN) // _LEN: Length
  10345. B0BA = I30A /* \I30A */
  10346. B0LN = I30L /* \I30L */
  10347. Return (RBUF) /* \_SB_.PCI0.I2C3.RBUF */
  10348. }
  10349.  
  10350. Method (_STA, 0, NotSerialized) // _STA: Status
  10351. {
  10352. If ((I30A == Zero) || (L23D == One))
  10353. {
  10354. Return (Zero)
  10355. }
  10356.  
  10357. Return (0x0F)
  10358. }
  10359.  
  10360. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  10361. {
  10362. PSAT |= 0x03
  10363. PSAT |= Zero
  10364. }
  10365.  
  10366. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  10367. {
  10368. PSAT &= 0xFFFFFFFC
  10369. PSAT |= Zero
  10370. }
  10371.  
  10372. OperationRegion (KEYS, SystemMemory, I31A, 0x0100)
  10373. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  10374. {
  10375. Offset (0x84),
  10376. PSAT, 32
  10377. }
  10378.  
  10379. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  10380. {
  10381. If (IC3P == Zero)
  10382. {
  10383. Return (Zero)
  10384. }
  10385. Else
  10386. {
  10387. Return (0x03)
  10388. }
  10389. }
  10390.  
  10391. PowerResource (CLK2, 0x00, 0x0000)
  10392. {
  10393. Method (_STA, 0, NotSerialized) // _STA: Status
  10394. {
  10395. Return (CKC2) /* \CKC2 */
  10396. }
  10397.  
  10398. Method (_ON, 0, NotSerialized) // _ON_: Power On
  10399. {
  10400. CKC2 = One
  10401. Sleep (0x05)
  10402. }
  10403.  
  10404. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  10405. {
  10406. CKC2 = 0x02
  10407. }
  10408. }
  10409.  
  10410. PowerResource (CLK1, 0x00, 0x0000)
  10411. {
  10412. Method (_STA, 0, NotSerialized) // _STA: Status
  10413. {
  10414. Return (CKC1) /* \CKC1 */
  10415. }
  10416.  
  10417. Method (_ON, 0, NotSerialized) // _ON_: Power On
  10418. {
  10419. CKC1 = One
  10420. Sleep (0x05)
  10421. }
  10422.  
  10423. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  10424. {
  10425. CKC1 = 0x02
  10426. }
  10427. }
  10428.  
  10429. OperationRegion (TIP1, GenericSerialBus, Zero, 0x0100)
  10430. Field (TIP1, BufferAcc, NoLock, Preserve)
  10431. {
  10432. Connection (
  10433. I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000F4240,
  10434. AddressingMode7Bit, "\\_SB.PCI0.I2C3",
  10435. 0x00, ResourceConsumer, , Exclusive,
  10436. )
  10437. ),
  10438. Offset (0x01),
  10439. AccessAs (BufferAcc, AttribByte),
  10440. RG01, 8,
  10441. Offset (0x08),
  10442. AccessAs (BufferAcc, AttribByte),
  10443. RG08, 8
  10444. }
  10445.  
  10446. Name (AVBL, Zero)
  10447. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  10448. {
  10449. If (Arg0 == 0x09)
  10450. {
  10451. AVBL = Arg1
  10452. }
  10453. }
  10454.  
  10455. Device (SPBA)
  10456. {
  10457. Name (_ADR, Zero) // _ADR: Address
  10458. Name (_HID, "LTER0303") // _HID: Hardware ID
  10459. Name (_CID, "LTR303") // _CID: Compatible ID
  10460. Name (_DDN, "LTR-303") // _DDN: DOS Device Name
  10461. Name (_UID, One) // _UID: Unique ID
  10462. Method (_STA, 0, NotSerialized) // _STA: Status
  10463. {
  10464. If (OSID == One)
  10465. {
  10466. Return (Zero)
  10467. }
  10468.  
  10469. Return (0x0F)
  10470. }
  10471.  
  10472. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10473. {
  10474. Name (RBUF, ResourceTemplate ()
  10475. {
  10476. I2cSerialBusV2 (0x0029, ControllerInitiated, 0x00061A80,
  10477. AddressingMode7Bit, "\\_SB.I2C3",
  10478. 0x00, ResourceConsumer, , Exclusive,
  10479. )
  10480. GpioInt (Edge, ActiveLow, Exclusive, PullUp, 0x0000,
  10481. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  10482. )
  10483. { // Pin list
  10484. 0x0012
  10485. }
  10486. })
  10487. Return (RBUF) /* \_SB_.PCI0.I2C3.SPBA._CRS.RBUF */
  10488. }
  10489.  
  10490. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  10491. {
  10492. If (Arg0 == ToUUID ("7681541f-8827-4239-8d9d-36be7fe12542"))
  10493. {
  10494. If (Arg2 == Zero)
  10495. {
  10496. Return (Buffer (One)
  10497. {
  10498. 0x03 /* . */
  10499. })
  10500. }
  10501.  
  10502. If (Arg2 == One)
  10503. {
  10504. Return (Buffer (0x04)
  10505. {
  10506. 0x00, 0x01, 0x02, 0x03 /* .... */
  10507. })
  10508. }
  10509. }
  10510. Else
  10511. {
  10512. Return (Buffer (One)
  10513. {
  10514. 0x00 /* . */
  10515. })
  10516. }
  10517. }
  10518. }
  10519.  
  10520. Device (KXJ0)
  10521. {
  10522. Name (_ADR, Zero) // _ADR: Address
  10523. Name (_HID, "KIOX0009") // _HID: Hardware ID
  10524. Name (_CID, "KIOX0009") // _CID: Compatible ID
  10525. Name (_DDN, "Kionix KXTJ2 Accelerometer") // _DDN: DOS Device Name
  10526. Name (_UID, One) // _UID: Unique ID
  10527. Method (_STA, 0, NotSerialized) // _STA: Status
  10528. {
  10529. If (OSID == One)
  10530. {
  10531. Return (Zero)
  10532. }
  10533.  
  10534. Return (0x0F)
  10535. }
  10536.  
  10537. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10538. {
  10539. Name (SBUF, ResourceTemplate ()
  10540. {
  10541. I2cSerialBusV2 (0x000E, ControllerInitiated, 0x00061A80,
  10542. AddressingMode7Bit, "\\_SB.I2C3",
  10543. 0x00, ResourceConsumer, , Exclusive,
  10544. )
  10545. GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
  10546. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  10547. )
  10548. { // Pin list
  10549. 0x0015
  10550. }
  10551. })
  10552. Return (SBUF) /* \_SB_.PCI0.I2C3.KXJ0._CRS.SBUF */
  10553. }
  10554.  
  10555. Method (_CDM, 1, NotSerialized) // _CDM: Clock Domain
  10556. {
  10557. Local0 = 0x00ABCD05
  10558. Return (Local0)
  10559. }
  10560. }
  10561.  
  10562. Device (BMGY)
  10563. {
  10564. Name (_ADR, Zero) // _ADR: Address
  10565. Name (_HID, "BMGY0160") // _HID: Hardware ID
  10566. Name (_CID, "BMGYRO160") // _CID: Compatible ID
  10567. Name (_UID, One) // _UID: Unique ID
  10568. Method (_STA, 0, NotSerialized) // _STA: Status
  10569. {
  10570. If (OSID == One)
  10571. {
  10572. Return (Zero)
  10573. }
  10574.  
  10575. Return (0x0F)
  10576. }
  10577.  
  10578. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10579. {
  10580. Name (RBUF, ResourceTemplate ()
  10581. {
  10582. I2cSerialBusV2 (0x0068, ControllerInitiated, 0x00061A80,
  10583. AddressingMode7Bit, "\\_SB.I2C3",
  10584. 0x00, ResourceConsumer, , Exclusive,
  10585. )
  10586. })
  10587. Return (RBUF) /* \_SB_.PCI0.I2C3.BMGY._CRS.RBUF */
  10588. }
  10589. }
  10590.  
  10591. Device (AKCP)
  10592. {
  10593. Name (_ADR, Zero) // _ADR: Address
  10594. Name (_HID, "AK09911C") // _HID: Hardware ID
  10595. Name (_CID, "AK09911C") // _CID: Compatible ID
  10596. Name (_UID, One) // _UID: Unique ID
  10597. Method (_STA, 0, NotSerialized) // _STA: Status
  10598. {
  10599. If (OSID == One)
  10600. {
  10601. Return (Zero)
  10602. }
  10603.  
  10604. Return (0x0F)
  10605. }
  10606.  
  10607. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10608. {
  10609. Name (RBUF, ResourceTemplate ()
  10610. {
  10611. I2cSerialBusV2 (0x000C, ControllerInitiated, 0x00061A80,
  10612. AddressingMode7Bit, "\\_SB.I2C3",
  10613. 0x00, ResourceConsumer, , Exclusive,
  10614. )
  10615. })
  10616. Return (RBUF) /* \_SB_.PCI0.I2C3.AKCP._CRS.RBUF */
  10617. }
  10618. }
  10619. }
  10620.  
  10621. Device (I2C4)
  10622. {
  10623. Name (_HID, "808622C1") // _HID: Hardware ID
  10624. Name (_CID, "808622C1") // _CID: Compatible ID
  10625. Name (_DDN, "Intel(R) I2C Controller #4 - 808622C4") // _DDN: DOS Device Name
  10626. Name (_UID, 0x04) // _UID: Unique ID
  10627. Name (_DEP, Package (0x02) // _DEP: Dependencies
  10628. {
  10629. PEPD,
  10630. GPO0
  10631. })
  10632. Name (FCFG, Zero)
  10633. Name (RCFG, Zero)
  10634. Name (RBUF, ResourceTemplate ()
  10635. {
  10636. Memory32Fixed (ReadWrite,
  10637. 0x00000000, // Address Base
  10638. 0x00001000, // Address Length
  10639. _Y1A)
  10640. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  10641. {
  10642. 0x00000023,
  10643. }
  10644. FixedDMA (0x0016, 0x0006, Width32bit, )
  10645. FixedDMA (0x0017, 0x0007, Width32bit, )
  10646. })
  10647. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10648. {
  10649. CreateDWordField (RBUF, \_SB.PCI0.I2C4._Y1A._BAS, B0BA) // _BAS: Base Address
  10650. CreateDWordField (RBUF, \_SB.PCI0.I2C4._Y1A._LEN, B0LN) // _LEN: Length
  10651. B0BA = I40A /* \I40A */
  10652. B0LN = I40L /* \I40L */
  10653. Return (RBUF) /* \_SB_.PCI0.I2C4.RBUF */
  10654. }
  10655.  
  10656. Method (_STA, 0, NotSerialized) // _STA: Status
  10657. {
  10658. If ((I40A == Zero) || (L24D == One))
  10659. {
  10660. Return (Zero)
  10661. }
  10662.  
  10663. Return (0x0F)
  10664. }
  10665.  
  10666. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  10667. {
  10668. PSAT |= 0x03
  10669. PSAT |= Zero
  10670. If (^^^GPO0.AMMR == One)
  10671. {
  10672. ^^^GPO0.I4AE = One
  10673. ^^^GPO0.I4CE = One
  10674. ^^^GPO0.I4AF = 0x03
  10675. ^^^GPO0.I4CF = 0x03
  10676. ^^^GPO0.I4AD = 0x0A
  10677. ^^^GPO0.I4CD = 0x0A
  10678. }
  10679. }
  10680.  
  10681. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  10682. {
  10683. PSAT &= 0xFFFFFFFC
  10684. PSAT |= Zero
  10685. If (^^^GPO0.AMMR == One)
  10686. {
  10687. ^^^GPO0.I4AD = 0x0A
  10688. ^^^GPO0.I4CD = 0x0A
  10689. ^^^GPO0.I4AF = Zero
  10690. ^^^GPO0.I4CF = Zero
  10691. Sleep (0x03)
  10692. ^^^GPO0.I4AE = Zero
  10693. ^^^GPO0.I4CE = Zero
  10694. Sleep (0x03)
  10695. }
  10696. }
  10697.  
  10698. OperationRegion (KEYS, SystemMemory, I41A, 0x0100)
  10699. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  10700. {
  10701. Offset (0x84),
  10702. PSAT, 32
  10703. }
  10704.  
  10705. PowerResource (CLK0, 0x00, 0x0000)
  10706. {
  10707. Method (_STA, 0, NotSerialized) // _STA: Status
  10708. {
  10709. Return (CKC0) /* \CKC0 */
  10710. }
  10711.  
  10712. Method (_ON, 0, NotSerialized) // _ON_: Power On
  10713. {
  10714. CKC0 = One
  10715. Sleep (0x05)
  10716. }
  10717.  
  10718. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  10719. {
  10720. CKC0 = 0x02
  10721. }
  10722. }
  10723.  
  10724. PowerResource (CLK1, 0x00, 0x0000)
  10725. {
  10726. Method (_STA, 0, NotSerialized) // _STA: Status
  10727. {
  10728. Return (CKC1) /* \CKC1 */
  10729. }
  10730.  
  10731. Method (_ON, 0, NotSerialized) // _ON_: Power On
  10732. {
  10733. CKC1 = One
  10734. Sleep (0x05)
  10735. }
  10736.  
  10737. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  10738. {
  10739. CKC1 = 0x02
  10740. }
  10741. }
  10742.  
  10743. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  10744. {
  10745. If (IC4P == Zero)
  10746. {
  10747. Return (Zero)
  10748. }
  10749. Else
  10750. {
  10751. Return (0x03)
  10752. }
  10753. }
  10754. }
  10755.  
  10756. Device (I2C5)
  10757. {
  10758. Name (_HID, "808622C1") // _HID: Hardware ID
  10759. Name (_CID, "808622C1") // _CID: Compatible ID
  10760. Name (_DDN, "Intel(R) I2C Controller #5 - 808622C5") // _DDN: DOS Device Name
  10761. Name (_UID, 0x05) // _UID: Unique ID
  10762. Name (_DEP, Package (0x01) // _DEP: Dependencies
  10763. {
  10764. PEPD
  10765. })
  10766. Name (RBUF, ResourceTemplate ()
  10767. {
  10768. Memory32Fixed (ReadWrite,
  10769. 0x00000000, // Address Base
  10770. 0x00001000, // Address Length
  10771. _Y1B)
  10772. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  10773. {
  10774. 0x00000024,
  10775. }
  10776. FixedDMA (0x0018, 0x0000, Width32bit, )
  10777. FixedDMA (0x0019, 0x0001, Width32bit, )
  10778. })
  10779. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10780. {
  10781. CreateDWordField (RBUF, \_SB.PCI0.I2C5._Y1B._BAS, B0BA) // _BAS: Base Address
  10782. CreateDWordField (RBUF, \_SB.PCI0.I2C5._Y1B._LEN, B0LN) // _LEN: Length
  10783. B0BA = I50A /* \I50A */
  10784. B0LN = I50L /* \I50L */
  10785. Return (RBUF) /* \_SB_.PCI0.I2C5.RBUF */
  10786. }
  10787.  
  10788. Method (_STA, 0, NotSerialized) // _STA: Status
  10789. {
  10790. If ((I50A == Zero) || (L25D == One))
  10791. {
  10792. Return (Zero)
  10793. }
  10794.  
  10795. Return (0x0F)
  10796. }
  10797.  
  10798. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  10799. {
  10800. PSAT |= 0x03
  10801. PSAT |= Zero
  10802. }
  10803.  
  10804. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  10805. {
  10806. PSAT &= 0xFFFFFFFC
  10807. PSAT |= Zero
  10808. }
  10809.  
  10810. OperationRegion (KEYS, SystemMemory, I51A, 0x0100)
  10811. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  10812. {
  10813. Offset (0x84),
  10814. PSAT, 32
  10815. }
  10816.  
  10817. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  10818. {
  10819. If (IC5P == Zero)
  10820. {
  10821. Return (Zero)
  10822. }
  10823. Else
  10824. {
  10825. Return (0x03)
  10826. }
  10827. }
  10828.  
  10829. PowerResource (CLK5, 0x00, 0x0000)
  10830. {
  10831. Method (_STA, 0, NotSerialized) // _STA: Status
  10832. {
  10833. Return (CKC5) /* \CKC5 */
  10834. }
  10835.  
  10836. Method (_ON, 0, NotSerialized) // _ON_: Power On
  10837. {
  10838. CKC5 = One
  10839. Sleep (0x05)
  10840. }
  10841.  
  10842. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  10843. {
  10844. CKC5 = 0x02
  10845. }
  10846. }
  10847.  
  10848. Device (NFC2)
  10849. {
  10850. Name (_ADR, Zero) // _ADR: Address
  10851. Name (_HID, "INT339A") // _HID: Hardware ID
  10852. Name (_CID, "INT339A") // _CID: Compatible ID
  10853. Name (_DDN, "FDP NFC") // _DDN: DOS Device Name
  10854. Name (_UID, One) // _UID: Unique ID
  10855. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  10856. {
  10857. CLK5
  10858. })
  10859. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10860. {
  10861. Name (SBUF, ResourceTemplate ()
  10862. {
  10863. I2cSerialBusV2 (0x005E, ControllerInitiated, 0x00061A80,
  10864. AddressingMode7Bit, "\\_SB.PCI0.I2C5",
  10865. 0x00, ResourceConsumer, , Exclusive,
  10866. )
  10867. GpioIo (Exclusive, PullUp, 0x0000, 0x0000, IoRestrictionNone,
  10868. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  10869. )
  10870. { // Pin list
  10871. 0x004D
  10872. }
  10873. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  10874. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  10875. )
  10876. { // Pin list
  10877. 0x0018
  10878. }
  10879. })
  10880. Name (ABUF, ResourceTemplate ()
  10881. {
  10882. I2cSerialBusV2 (0x005E, ControllerInitiated, 0x00061A80,
  10883. AddressingMode7Bit, "\\_SB.PCI0.I2C5",
  10884. 0x00, ResourceConsumer, , Exclusive,
  10885. )
  10886. GpioIo (Exclusive, PullUp, 0x0000, 0x0000, IoRestrictionNone,
  10887. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  10888. )
  10889. { // Pin list
  10890. 0x004D
  10891. }
  10892. GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
  10893. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  10894. )
  10895. { // Pin list
  10896. 0x0018
  10897. }
  10898. })
  10899. If (OSID == 0x04)
  10900. {
  10901. Return (ABUF) /* \_SB_.PCI0.I2C5.NFC2._CRS.ABUF */
  10902. }
  10903.  
  10904. Return (SBUF) /* \_SB_.PCI0.I2C5.NFC2._CRS.SBUF */
  10905. }
  10906.  
  10907. Method (_STA, 0, NotSerialized) // _STA: Status
  10908. {
  10909. If (BDID == One)
  10910. {
  10911. Return (Zero)
  10912. }
  10913.  
  10914. Return (Zero)
  10915. }
  10916. }
  10917. }
  10918.  
  10919. Device (I2C6)
  10920. {
  10921. Name (_HID, "808622C1") // _HID: Hardware ID
  10922. Name (_CID, "808622C1") // _CID: Compatible ID
  10923. Name (_DDN, "Intel(R) I2C Controller #6 - 808622C6") // _DDN: DOS Device Name
  10924. Name (_UID, 0x06) // _UID: Unique ID
  10925. Name (_DEP, Package (0x01) // _DEP: Dependencies
  10926. {
  10927. PEPD
  10928. })
  10929. Name (RBUF, ResourceTemplate ()
  10930. {
  10931. Memory32Fixed (ReadWrite,
  10932. 0x00000000, // Address Base
  10933. 0x00001000, // Address Length
  10934. _Y1C)
  10935. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  10936. {
  10937. 0x00000025,
  10938. }
  10939. FixedDMA (0x001A, 0x0002, Width32bit, )
  10940. FixedDMA (0x001B, 0x0003, Width32bit, )
  10941. })
  10942. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  10943. {
  10944. CreateDWordField (RBUF, \_SB.PCI0.I2C6._Y1C._BAS, B0BA) // _BAS: Base Address
  10945. CreateDWordField (RBUF, \_SB.PCI0.I2C6._Y1C._LEN, B0LN) // _LEN: Length
  10946. B0BA = I60A /* \I60A */
  10947. B0LN = I60L /* \I60L */
  10948. Return (RBUF) /* \_SB_.PCI0.I2C6.RBUF */
  10949. }
  10950.  
  10951. Method (_STA, 0, NotSerialized) // _STA: Status
  10952. {
  10953. If ((I60A == Zero) || (L26D == One))
  10954. {
  10955. Return (Zero)
  10956. }
  10957.  
  10958. Return (0x0F)
  10959. }
  10960.  
  10961. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  10962. {
  10963. PSAT |= 0x03
  10964. PSAT |= Zero
  10965. }
  10966.  
  10967. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  10968. {
  10969. PSAT &= 0xFFFFFFFC
  10970. PSAT |= Zero
  10971. }
  10972.  
  10973. OperationRegion (KEYS, SystemMemory, I61A, 0x0100)
  10974. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  10975. {
  10976. Offset (0x84),
  10977. PSAT, 32
  10978. }
  10979.  
  10980. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  10981. {
  10982. If (IC6P == Zero)
  10983. {
  10984. Return (Zero)
  10985. }
  10986. Else
  10987. {
  10988. Return (0x03)
  10989. }
  10990. }
  10991.  
  10992. PowerResource (P33P, 0x05, 0x0000)
  10993. {
  10994. Name (_DEP, Package (0x02) // _DEP: Dependencies
  10995. {
  10996. I2C7,
  10997. ^^I2C7.PMI1
  10998. })
  10999. Method (_STA, 0, NotSerialized) // _STA: Status
  11000. {
  11001. If (^^^I2C7.PMI1.AVBG == One)
  11002. {
  11003. ^^^I2C7.PMI1.G33X = Zero
  11004. If (^^^I2C7.PMI1.AVBL == One)
  11005. {
  11006. Return (^^^I2C7.PMI1.ALD2) /* \_SB_.PCI0.I2C7.PMI1.ALD2 */
  11007. }
  11008. }
  11009.  
  11010. Return (Zero)
  11011. }
  11012.  
  11013. Method (_ON, 0, NotSerialized) // _ON_: Power On
  11014. {
  11015. If (^^^I2C7.PMI1.AVBL == One)
  11016. {
  11017. ^^^I2C7.PMI1.ALD2 = One
  11018. If (^^^I2C7.PMI1.AVBG == One)
  11019. {
  11020. ^^^I2C7.PMI1.G33X = One
  11021. Sleep (0x1E)
  11022. }
  11023. }
  11024. }
  11025.  
  11026. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  11027. {
  11028. If (^^^I2C7.PMI1.AVBL == One)
  11029. {
  11030. ^^^I2C7.PMI1.ALD2 = Zero
  11031. If (^^^I2C7.PMI1.AVBG == One)
  11032. {
  11033. ^^^I2C7.PMI1.G33X = One
  11034. Sleep (0x1E)
  11035. }
  11036. }
  11037. }
  11038. }
  11039. }
  11040.  
  11041. Device (I2C7)
  11042. {
  11043. Name (_HID, "808622C1") // _HID: Hardware ID
  11044. Name (_CID, "808622C1") // _CID: Compatible ID
  11045. Name (_DDN, "Intel(R) I2C Controller #7 - 808622C7") // _DDN: DOS Device Name
  11046. Name (_UID, 0x07) // _UID: Unique ID
  11047. Name (_DEP, Package (0x01) // _DEP: Dependencies
  11048. {
  11049. PEPD
  11050. })
  11051. Method (_SEM, 0, NotSerialized)
  11052. {
  11053. If ((PMID == One) || (PMID == 0x02))
  11054. {
  11055. ADBG ("$COVE")
  11056. Return (One)
  11057. }
  11058. Else
  11059. {
  11060. Return (Zero)
  11061. }
  11062. }
  11063.  
  11064. Name (RBUF, ResourceTemplate ()
  11065. {
  11066. Memory32Fixed (ReadWrite,
  11067. 0x00000000, // Address Base
  11068. 0x00001000, // Address Length
  11069. _Y1D)
  11070. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  11071. {
  11072. 0x00000026,
  11073. }
  11074. FixedDMA (0x001C, 0x0004, Width32bit, )
  11075. FixedDMA (0x001D, 0x0005, Width32bit, )
  11076. })
  11077. Method (_IRC, 0, NotSerialized) // _IRC: Inrush Current
  11078. {
  11079. }
  11080.  
  11081. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  11082. {
  11083. CreateDWordField (RBUF, \_SB.PCI0.I2C7._Y1D._BAS, B0BA) // _BAS: Base Address
  11084. CreateDWordField (RBUF, \_SB.PCI0.I2C7._Y1D._LEN, B0LN) // _LEN: Length
  11085. B0BA = I70A /* \I70A */
  11086. B0LN = I70L /* \I70L */
  11087. Return (RBUF) /* \_SB_.PCI0.I2C7.RBUF */
  11088. }
  11089.  
  11090. Method (_STA, 0, NotSerialized) // _STA: Status
  11091. {
  11092. If ((I70A == Zero) || (L27D == One))
  11093. {
  11094. Return (Zero)
  11095. }
  11096.  
  11097. Return (0x0F)
  11098. }
  11099.  
  11100. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  11101. {
  11102. If ((PMID == One) || (PMID == 0x02))
  11103. {
  11104. Return (Zero)
  11105. }
  11106.  
  11107. PSAT |= 0x03
  11108. PSAT |= Zero
  11109. }
  11110.  
  11111. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  11112. {
  11113. PSAT &= 0xFFFFFFFC
  11114. PSAT |= Zero
  11115. }
  11116.  
  11117. OperationRegion (KEYS, SystemMemory, I71A, 0x0100)
  11118. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  11119. {
  11120. Offset (0x84),
  11121. PSAT, 32
  11122. }
  11123.  
  11124. OperationRegion (GPEX, GenericSerialBus, Zero, 0x0100)
  11125. Field (GPEX, BufferAcc, NoLock, Preserve)
  11126. {
  11127. Connection (
  11128. I2cSerialBusV2 (0x0023, ControllerInitiated, 0x000F4240,
  11129. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  11130. 0x00, ResourceConsumer, , Exclusive,
  11131. )
  11132. ),
  11133. Offset (0x04),
  11134. AccessAs (BufferAcc, AttribByte),
  11135. P0DT, 8,
  11136. Offset (0x0C),
  11137. AccessAs (BufferAcc, AttribByte),
  11138. P0CF, 8
  11139. }
  11140.  
  11141. OperationRegion (GPUS, GenericSerialBus, Zero, 0x0100)
  11142. Field (GPUS, BufferAcc, NoLock, Preserve)
  11143. {
  11144. Connection (
  11145. I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
  11146. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  11147. 0x00, ResourceConsumer, , Exclusive,
  11148. )
  11149. ),
  11150. Offset (0x03),
  11151. AccessAs (BufferAcc, AttribByte),
  11152. SIRQ, 8
  11153. }
  11154.  
  11155. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  11156. {
  11157. If (IC7P == Zero)
  11158. {
  11159. Return (Zero)
  11160. }
  11161. Else
  11162. {
  11163. Return (0x03)
  11164. }
  11165. }
  11166. }
  11167.  
  11168. Scope (URT1)
  11169. {
  11170. Device (BTH3)
  11171. {
  11172. Name (_HID, "OBDA8723") // _HID: Hardware ID
  11173. Method (_STA, 0, NotSerialized) // _STA: Status
  11174. {
  11175. If (BDID == One)
  11176. {
  11177. If (BTID == One)
  11178. {
  11179. Return (0x0F)
  11180. }
  11181. }
  11182.  
  11183. Return (Zero)
  11184. }
  11185.  
  11186. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  11187. {
  11188. Name (ABUF, ResourceTemplate ()
  11189. {
  11190. UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
  11191. 0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
  11192. 0x0020, 0x0020, "\\_SB.PCI0.URT1",
  11193. 0x00, ResourceConsumer, , Exclusive,
  11194. )
  11195. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11196. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11197. )
  11198. { // Pin list
  11199. 0x0004
  11200. }
  11201. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11202. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11203. )
  11204. { // Pin list
  11205. 0x0008
  11206. }
  11207. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDown, 0x0000,
  11208. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  11209. )
  11210. { // Pin list
  11211. 0x005A
  11212. }
  11213. })
  11214. Name (WBUF, ResourceTemplate ()
  11215. {
  11216. UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
  11217. 0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
  11218. 0x0020, 0x0020, "\\_SB.PCI0.URT1",
  11219. 0x00, ResourceConsumer, , Exclusive,
  11220. )
  11221. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11222. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11223. )
  11224. { // Pin list
  11225. 0x0004
  11226. }
  11227. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11228. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11229. )
  11230. { // Pin list
  11231. 0x0034
  11232. }
  11233. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDown, 0x0000,
  11234. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  11235. )
  11236. { // Pin list
  11237. 0x005A
  11238. }
  11239. })
  11240. If (OSID == One)
  11241. {
  11242. Return (WBUF) /* \_SB_.PCI0.URT1.BTH3._CRS.WBUF */
  11243. }
  11244.  
  11245. Return (ABUF) /* \_SB_.PCI0.URT1.BTH3._CRS.ABUF */
  11246. }
  11247. }
  11248.  
  11249. Device (BTH8)
  11250. {
  11251. Name (_HID, "BCM2EA3") // _HID: Hardware ID
  11252. Method (_STA, 0, NotSerialized) // _STA: Status
  11253. {
  11254. If (BTID == 0x03)
  11255. {
  11256. Return (0x0F)
  11257. }
  11258.  
  11259. Return (Zero)
  11260. }
  11261.  
  11262. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  11263. {
  11264. Name (UBUF, ResourceTemplate ()
  11265. {
  11266. UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
  11267. 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
  11268. 0x0020, 0x0020, "\\_SB.PCI0.URT1",
  11269. 0x00, ResourceConsumer, , Exclusive,
  11270. )
  11271. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11272. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11273. )
  11274. { // Pin list
  11275. 0x0004
  11276. }
  11277. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11278. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11279. )
  11280. { // Pin list
  11281. 0x0008
  11282. }
  11283. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  11284. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  11285. )
  11286. { // Pin list
  11287. 0x005A
  11288. }
  11289. })
  11290. Return (UBUF) /* \_SB_.PCI0.URT1.BTH8._CRS.UBUF */
  11291. }
  11292. }
  11293.  
  11294. Device (BTH9)
  11295. {
  11296. Name (_HID, "BCM2EA4") // _HID: Hardware ID
  11297. Method (_STA, 0, NotSerialized) // _STA: Status
  11298. {
  11299. If (BTID == 0x04)
  11300. {
  11301. Return (0x0F)
  11302. }
  11303.  
  11304. Return (Zero)
  11305. }
  11306.  
  11307. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  11308. {
  11309. Name (UBUF, ResourceTemplate ()
  11310. {
  11311. UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
  11312. 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
  11313. 0x0020, 0x0020, "\\_SB.PCI0.URT1",
  11314. 0x00, ResourceConsumer, , Exclusive,
  11315. )
  11316. GpioInt (Edge, ActiveLow, Exclusive, PullNone, 0x0000,
  11317. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  11318. )
  11319. { // Pin list
  11320. 0x005A
  11321. }
  11322. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11323. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11324. )
  11325. { // Pin list
  11326. 0x0008
  11327. }
  11328. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11329. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11330. )
  11331. { // Pin list
  11332. 0x0004
  11333. }
  11334. })
  11335. Return (UBUF) /* \_SB_.PCI0.URT1.BTH9._CRS.UBUF */
  11336. }
  11337. }
  11338. }
  11339.  
  11340. Scope (URT2)
  11341. {
  11342. Device (GPS4)
  11343. {
  11344. Name (_HID, "BCM4752") // _HID: Hardware ID
  11345. Name (_HRV, Zero) // _HRV: Hardware Revision
  11346. Name (UART, One)
  11347. Name (ENAB, One)
  11348. Name (HSTW, Zero)
  11349. Name (_UID, 0x02) // _UID: Unique ID
  11350. Method (_STA, 0, NotSerialized) // _STA: Status
  11351. {
  11352. If (GPSS == One)
  11353. {
  11354. Return (0x0F)
  11355. }
  11356.  
  11357. Return (Zero)
  11358. }
  11359.  
  11360. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  11361. {
  11362. Name (WBUF, ResourceTemplate ()
  11363. {
  11364. UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
  11365. 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
  11366. 0x0020, 0x0020, "\\_SB.PCI0.URT2",
  11367. 0x00, ResourceConsumer, , Exclusive,
  11368. )
  11369. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11370. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11371. )
  11372. { // Pin list
  11373. 0x0002
  11374. }
  11375. })
  11376. Name (ABUF, ResourceTemplate ()
  11377. {
  11378. UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
  11379. 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
  11380. 0x0020, 0x0020, "\\_SB.PCI0.URT2",
  11381. 0x00, ResourceConsumer, , Exclusive,
  11382. )
  11383. GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000,
  11384. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  11385. )
  11386. { // Pin list
  11387. 0x004B
  11388. }
  11389. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11390. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11391. )
  11392. { // Pin list
  11393. 0x0018
  11394. }
  11395. })
  11396. If (OSID == One)
  11397. {
  11398. Return (WBUF) /* \_SB_.PCI0.URT2.GPS4._CRS.WBUF */
  11399. }
  11400.  
  11401. Return (ABUF) /* \_SB_.PCI0.URT2.GPS4._CRS.ABUF */
  11402. }
  11403. }
  11404. }
  11405.  
  11406. Scope (I2C1)
  11407. {
  11408. Device (CAM2)
  11409. {
  11410. Name (_ADR, Zero) // _ADR: Address
  11411. Name (_HID, "OVTI2680") // _HID: Hardware ID
  11412. Name (_CID, "OVTI2680") // _CID: Compatible ID
  11413. Name (_SUB, "INTL0000") // _SUB: Subsystem ID
  11414. Name (_DDN, "OV2680") // _DDN: DOS Device Name
  11415. Name (_UID, One) // _UID: Unique ID
  11416. Method (_STA, 0, NotSerialized) // _STA: Status
  11417. {
  11418. If (CAMF == 0x06)
  11419. {
  11420. Return (0x0F)
  11421. }
  11422.  
  11423. Return (Zero)
  11424. }
  11425.  
  11426. Name (PLDB, Package (0x01)
  11427. {
  11428. Buffer (0x14)
  11429. {
  11430. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  11431. /* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* a....... */
  11432. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  11433. }
  11434. })
  11435. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  11436. {
  11437. Return (PLDB) /* \_SB_.PCI0.I2C1.CAM2.PLDB */
  11438. }
  11439.  
  11440. Name (_PR0, Package (0x03) // _PR0: Power Resources for D0
  11441. {
  11442. P18P,
  11443. P28P,
  11444. CLK2
  11445. })
  11446. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  11447. {
  11448. Name (WBUF, ResourceTemplate ()
  11449. {
  11450. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11451. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  11452. )
  11453. { // Pin list
  11454. 0x004E
  11455. }
  11456. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11457. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  11458. )
  11459. { // Pin list
  11460. 0x0055
  11461. }
  11462. I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
  11463. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  11464. 0x00, ResourceConsumer, , Exclusive,
  11465. )
  11466. })
  11467. Return (WBUF) /* \_SB_.PCI0.I2C1.CAM2._CRS.WBUF */
  11468. }
  11469.  
  11470. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  11471. {
  11472. If (Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be"))
  11473. {
  11474. Local0 = Package (0x12)
  11475. {
  11476. "CamId",
  11477. "OV2680",
  11478. "CamType",
  11479. "1",
  11480. "CsiPort",
  11481. "0",
  11482. "CsiLanes",
  11483. "1",
  11484. "CsiFmt",
  11485. "15",
  11486. "CsiBayer",
  11487. "0",
  11488. "CamClk",
  11489. "1",
  11490. "Regulator1p8v",
  11491. "0",
  11492. "Regulator2p8v",
  11493. "0"
  11494. }
  11495. Return (Local0)
  11496. }
  11497.  
  11498. If (Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))
  11499. {
  11500. Return ("OVTI2680")
  11501. }
  11502.  
  11503. If (Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))
  11504. {
  11505. Return ("OV2680")
  11506. }
  11507.  
  11508. If (Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))
  11509. {
  11510. Return ("12P2BA536")
  11511. }
  11512.  
  11513. If (Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))
  11514. {
  11515. Return ("CHV_ITL_CR")
  11516. }
  11517.  
  11518. If (Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))
  11519. {
  11520. Return (0x0101)
  11521. }
  11522.  
  11523. If (Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))
  11524. {
  11525. Return (One)
  11526. }
  11527.  
  11528. If (Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))
  11529. {
  11530. Return (0x08)
  11531. }
  11532.  
  11533. If (Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))
  11534. {
  11535. Return (Zero)
  11536. }
  11537.  
  11538. If (Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))
  11539. {
  11540. Return (0x02)
  11541. }
  11542.  
  11543. If (Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))
  11544. {
  11545. Return (One)
  11546. }
  11547.  
  11548. If (Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))
  11549. {
  11550. Return ("default")
  11551. }
  11552.  
  11553. If (Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))
  11554. {
  11555. If (Arg2 == One)
  11556. {
  11557. Return (One)
  11558. }
  11559.  
  11560. If (Arg2 == 0x02)
  11561. {
  11562. Return (0x01001000)
  11563. }
  11564. }
  11565.  
  11566. If (Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))
  11567. {
  11568. If (Arg2 == One)
  11569. {
  11570. Return (0x02)
  11571. }
  11572.  
  11573. If (Arg2 == 0x02)
  11574. {
  11575. Return (0x01005501)
  11576. }
  11577.  
  11578. If (Arg2 == 0x03)
  11579. {
  11580. Return (0x01004E00)
  11581. }
  11582. }
  11583.  
  11584. If (Arg0 == ToUUID ("2fa9bb94-9c5d-4aeb-8e6e-27434f81e3d3"))
  11585. {
  11586. Return ("CHT_CR")
  11587. }
  11588.  
  11589. If (Arg0 == ToUUID ("647a6ca2-8b29-49ac-8806-d58b3d2d3ef5"))
  11590. {
  11591. Return ("FFD")
  11592. }
  11593.  
  11594. If (Arg0 == ToUUID ("a6e922a1-f7b3-4399-b56a-406ae416843b"))
  11595. {
  11596. Return ("CHV_CR")
  11597. }
  11598.  
  11599. If (Arg0 == ToUUID ("5960313b-0ab0-4940-8840-2cafa420c015"))
  11600. {
  11601. Return ("INTEL")
  11602. }
  11603.  
  11604. If (Arg0 == ToUUID ("f486d39f-d657-484b-84a6-42a565712b92"))
  11605. {
  11606. Return (Buffer (0x20)
  11607. {
  11608. /* 0000 */ 0x01, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, /* ........ */
  11609. /* 0008 */ 0x05, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  11610. /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  11611. /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
  11612. })
  11613. }
  11614.  
  11615. Return (Zero)
  11616. }
  11617. }
  11618.  
  11619. Device (CAM6)
  11620. {
  11621. Name (_ADR, Zero) // _ADR: Address
  11622. Name (_HID, "INT0310") // _HID: Hardware ID
  11623. Name (_CID, "INT0310") // _CID: Compatible ID
  11624. Name (_SUB, "INTL0000") // _SUB: Subsystem ID
  11625. Name (_DDN, "GC0310") // _DDN: DOS Device Name
  11626. Name (_UID, One) // _UID: Unique ID
  11627. Name (_PR0, Package (0x03) // _PR0: Power Resources for D0
  11628. {
  11629. P28P,
  11630. P18P,
  11631. CLK2
  11632. })
  11633. Name (PLDB, Package (0x01)
  11634. {
  11635. Buffer (0x14)
  11636. {
  11637. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  11638. /* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* a....... */
  11639. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  11640. }
  11641. })
  11642. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  11643. {
  11644. Return (PLDB) /* \_SB_.PCI0.I2C1.CAM6.PLDB */
  11645. }
  11646.  
  11647. Method (_STA, 0, NotSerialized) // _STA: Status
  11648. {
  11649. If (CAMF == 0x05)
  11650. {
  11651. Return (0x0F)
  11652. }
  11653.  
  11654. Return (Zero)
  11655. }
  11656.  
  11657. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  11658. {
  11659. Name (WBUF, ResourceTemplate ()
  11660. {
  11661. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11662. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  11663. )
  11664. { // Pin list
  11665. 0x004E
  11666. }
  11667. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11668. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  11669. )
  11670. { // Pin list
  11671. 0x0055
  11672. }
  11673. I2cSerialBusV2 (0x0021, ControllerInitiated, 0x00061A80,
  11674. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  11675. 0x00, ResourceConsumer, , Exclusive,
  11676. )
  11677. })
  11678. Return (WBUF) /* \_SB_.PCI0.I2C1.CAM6._CRS.WBUF */
  11679. }
  11680.  
  11681. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  11682. {
  11683. If (Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be"))
  11684. {
  11685. Local0 = Package (0x12)
  11686. {
  11687. "CamId",
  11688. "GC0310",
  11689. "CamType",
  11690. "1",
  11691. "CsiPort",
  11692. "0",
  11693. "CsiLanes",
  11694. "1",
  11695. "CsiFmt",
  11696. "15",
  11697. "CsiBayer",
  11698. "0",
  11699. "CamClk",
  11700. "1",
  11701. "Regulator1p8v",
  11702. "0",
  11703. "Regulator2p8v",
  11704. "0"
  11705. }
  11706. Return (Local0)
  11707. }
  11708.  
  11709. If (Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))
  11710. {
  11711. Return ("INT0310")
  11712. }
  11713.  
  11714. If (Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))
  11715. {
  11716. Return ("gc0310")
  11717. }
  11718.  
  11719. If (Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))
  11720. {
  11721. Return ("MRD")
  11722. }
  11723.  
  11724. If (Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))
  11725. {
  11726. Return ("CHV_ITL_CR")
  11727. }
  11728.  
  11729. If (Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))
  11730. {
  11731. Return (0x0101)
  11732. }
  11733.  
  11734. If (Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))
  11735. {
  11736. Return (One)
  11737. }
  11738.  
  11739. If (Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))
  11740. {
  11741. Return (Zero)
  11742. }
  11743.  
  11744. If (Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))
  11745. {
  11746. Return (Zero)
  11747. }
  11748.  
  11749. If (Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))
  11750. {
  11751. Return (0x02)
  11752. }
  11753.  
  11754. If (Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))
  11755. {
  11756. Return (One)
  11757. }
  11758.  
  11759. If (Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))
  11760. {
  11761. Return ("default")
  11762. }
  11763.  
  11764. If (Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))
  11765. {
  11766. If (Arg2 == One)
  11767. {
  11768. Return (One)
  11769. }
  11770.  
  11771. If (Arg2 == 0x02)
  11772. {
  11773. Return (0x01002100)
  11774. }
  11775. }
  11776.  
  11777. If (Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))
  11778. {
  11779. If (Arg2 == One)
  11780. {
  11781. Return (0x02)
  11782. }
  11783.  
  11784. If (Arg2 == 0x02)
  11785. {
  11786. Return (0x01003200)
  11787. }
  11788.  
  11789. If (Arg2 == 0x03)
  11790. {
  11791. Return (0x3401)
  11792. }
  11793. }
  11794.  
  11795. If (Arg0 == ToUUID ("2fa9bb94-9c5d-4aeb-8e6e-27434f81e3d3"))
  11796. {
  11797. Return ("CHT_CR")
  11798. }
  11799.  
  11800. If (Arg0 == ToUUID ("647a6ca2-8b29-49ac-8806-d58b3d2d3ef5"))
  11801. {
  11802. Return ("FFD")
  11803. }
  11804.  
  11805. If (Arg0 == ToUUID ("a6e922a1-f7b3-4399-b56a-406ae416843b"))
  11806. {
  11807. Return ("CHV_CR")
  11808. }
  11809.  
  11810. If (Arg0 == ToUUID ("5960313b-0ab0-4940-8840-2cafa420c015"))
  11811. {
  11812. Return ("INTEL")
  11813. }
  11814.  
  11815. If (Arg0 == ToUUID ("f486d39f-d657-484b-84a6-42a565712b92"))
  11816. {
  11817. Return (Buffer (0x20)
  11818. {
  11819. /* 0000 */ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, /* ........ */
  11820. /* 0008 */ 0x05, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  11821. /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  11822. /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
  11823. })
  11824. }
  11825.  
  11826. Return (Zero)
  11827. }
  11828. }
  11829. }
  11830.  
  11831. Scope (I2C2)
  11832. {
  11833. Device (CAM4)
  11834. {
  11835. Name (_ADR, Zero) // _ADR: Address
  11836. Name (_HID, "INT5648") // _HID: Hardware ID
  11837. Name (_CID, "INT5648") // _CID: Compatible ID
  11838. Name (_SUB, "INTL0000") // _SUB: Subsystem ID
  11839. Name (_DDN, "ov5648") // _DDN: DOS Device Name
  11840. Name (_UID, One) // _UID: Unique ID
  11841. Name (_PR0, Package (0x03) // _PR0: Power Resources for D0
  11842. {
  11843. P28P,
  11844. P18P,
  11845. CLK4
  11846. })
  11847. Name (PLDB, Package (0x01)
  11848. {
  11849. Buffer (0x14)
  11850. {
  11851. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  11852. /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* i....... */
  11853. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  11854. }
  11855. })
  11856. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  11857. {
  11858. Return (PLDB) /* \_SB_.PCI0.I2C2.CAM4.PLDB */
  11859. }
  11860.  
  11861. Method (_STA, 0, NotSerialized) // _STA: Status
  11862. {
  11863. If (CAMR == 0x05)
  11864. {
  11865. Return (0x0F)
  11866. }
  11867.  
  11868. Return (Zero)
  11869. }
  11870.  
  11871. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  11872. {
  11873. Name (WBUF, ResourceTemplate ()
  11874. {
  11875. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11876. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11877. )
  11878. { // Pin list
  11879. 0x0037
  11880. }
  11881. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  11882. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  11883. )
  11884. { // Pin list
  11885. 0x002F
  11886. }
  11887. I2cSerialBusV2 (0x0036, ControllerInitiated, 0x00061A80,
  11888. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  11889. 0x00, ResourceConsumer, , Exclusive,
  11890. )
  11891. I2cSerialBusV2 (0x000C, ControllerInitiated, 0x00061A80,
  11892. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  11893. 0x00, ResourceConsumer, , Exclusive,
  11894. )
  11895. })
  11896. Return (WBUF) /* \_SB_.PCI0.I2C2.CAM4._CRS.WBUF */
  11897. }
  11898.  
  11899. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  11900. {
  11901. If (Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be"))
  11902. {
  11903. Local0 = Package (0x12)
  11904. {
  11905. "CamId",
  11906. "ov5648",
  11907. "CamType",
  11908. "1",
  11909. "CsiPort",
  11910. "1",
  11911. "CsiLanes",
  11912. "2",
  11913. "CsiFmt",
  11914. "15",
  11915. "CsiBayer",
  11916. "2",
  11917. "CamClk",
  11918. "0",
  11919. "Regulator1p8v",
  11920. "0",
  11921. "Regulator2p8v",
  11922. "0"
  11923. }
  11924. Return (Local0)
  11925. }
  11926.  
  11927. If (Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))
  11928. {
  11929. Return ("INT5648")
  11930. }
  11931.  
  11932. If (Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))
  11933. {
  11934. Return ("OV5648")
  11935. }
  11936.  
  11937. If (Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))
  11938. {
  11939. Return ("MTD5648")
  11940. }
  11941.  
  11942. If (Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))
  11943. {
  11944. Return ("CHV_ITL_CR")
  11945. }
  11946.  
  11947. If (Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))
  11948. {
  11949. Return (0x0102)
  11950. }
  11951.  
  11952. If (Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))
  11953. {
  11954. Return (Zero)
  11955. }
  11956.  
  11957. If (Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))
  11958. {
  11959. Return (Zero)
  11960. }
  11961.  
  11962. If (Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))
  11963. {
  11964. Return (Zero)
  11965. }
  11966.  
  11967. If (Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))
  11968. {
  11969. Return (0x02)
  11970. }
  11971.  
  11972. If (Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))
  11973. {
  11974. Return (Zero)
  11975. }
  11976.  
  11977. If (Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))
  11978. {
  11979. Return ("DW9714")
  11980. }
  11981.  
  11982. If (Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))
  11983. {
  11984. If (Arg2 == One)
  11985. {
  11986. Return (0x02)
  11987. }
  11988.  
  11989. If (Arg2 == 0x02)
  11990. {
  11991. Return (0x02003600)
  11992. }
  11993.  
  11994. If (Arg2 == 0x03)
  11995. {
  11996. Return (0x02000C01)
  11997. }
  11998. }
  11999.  
  12000. If (Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))
  12001. {
  12002. If (Arg2 == One)
  12003. {
  12004. Return (0x02)
  12005. }
  12006.  
  12007. If (Arg2 == 0x02)
  12008. {
  12009. Return (0x01003700)
  12010. }
  12011.  
  12012. If (Arg2 == 0x03)
  12013. {
  12014. Return (0x01002F01)
  12015. }
  12016. }
  12017.  
  12018. If (Arg0 == ToUUID ("2fa9bb94-9c5d-4aeb-8e6e-27434f81e3d3"))
  12019. {
  12020. Return ("CHT_CR")
  12021. }
  12022.  
  12023. If (Arg0 == ToUUID ("647a6ca2-8b29-49ac-8806-d58b3d2d3ef5"))
  12024. {
  12025. Return ("FFD")
  12026. }
  12027.  
  12028. If (Arg0 == ToUUID ("a6e922a1-f7b3-4399-b56a-406ae416843b"))
  12029. {
  12030. Return ("CHV_CR")
  12031. }
  12032.  
  12033. If (Arg0 == ToUUID ("5960313b-0ab0-4940-8840-2cafa420c015"))
  12034. {
  12035. Return ("INTEL")
  12036. }
  12037.  
  12038. If (Arg0 == ToUUID ("f486d39f-d657-484b-84a6-42a565712b92"))
  12039. {
  12040. Return (Buffer (0x20)
  12041. {
  12042. /* 0000 */ 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12043. /* 0008 */ 0x05, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12044. /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12045. /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
  12046. })
  12047. }
  12048.  
  12049. Return (Zero)
  12050. }
  12051. }
  12052.  
  12053. Device (CAM5)
  12054. {
  12055. Name (_ADR, Zero) // _ADR: Address
  12056. Name (_HID, "HIMX5040") // _HID: Hardware ID
  12057. Name (_CID, "HIMX5040") // _CID: Compatible ID
  12058. Name (_SUB, "INTL0000") // _SUB: Subsystem ID
  12059. Name (_DDN, "HM5040") // _DDN: DOS Device Name
  12060. Name (_UID, One) // _UID: Unique ID
  12061. Name (_PR0, Package (0x03) // _PR0: Power Resources for D0
  12062. {
  12063. P28P,
  12064. P18P,
  12065. CLK4
  12066. })
  12067. Name (PLDB, Package (0x01)
  12068. {
  12069. Buffer (0x14)
  12070. {
  12071. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12072. /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* i....... */
  12073. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  12074. }
  12075. })
  12076. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  12077. {
  12078. Return (PLDB) /* \_SB_.PCI0.I2C2.CAM5.PLDB */
  12079. }
  12080.  
  12081. Method (_STA, 0, NotSerialized) // _STA: Status
  12082. {
  12083. If (CAMR == 0x08)
  12084. {
  12085. Return (0x0F)
  12086. }
  12087.  
  12088. Return (Zero)
  12089. }
  12090.  
  12091. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  12092. {
  12093. Name (WBUF, ResourceTemplate ()
  12094. {
  12095. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  12096. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  12097. )
  12098. { // Pin list
  12099. 0x0037
  12100. }
  12101. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  12102. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  12103. )
  12104. { // Pin list
  12105. 0x002F
  12106. }
  12107. I2cSerialBusV2 (0x001B, ControllerInitiated, 0x00061A80,
  12108. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  12109. 0x00, ResourceConsumer, , Exclusive,
  12110. )
  12111. I2cSerialBusV2 (0x000C, ControllerInitiated, 0x00061A80,
  12112. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  12113. 0x00, ResourceConsumer, , Exclusive,
  12114. )
  12115. })
  12116. Return (WBUF) /* \_SB_.PCI0.I2C2.CAM5._CRS.WBUF */
  12117. }
  12118.  
  12119. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  12120. {
  12121. If (Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be"))
  12122. {
  12123. Local0 = Package (0x12)
  12124. {
  12125. "CamId",
  12126. "HM5040",
  12127. "CamType",
  12128. "1",
  12129. "CsiPort",
  12130. "1",
  12131. "CsiLanes",
  12132. "2",
  12133. "CsiFmt",
  12134. "15",
  12135. "CsiBayer",
  12136. "2",
  12137. "CamClk",
  12138. "0",
  12139. "Regulator1p8v",
  12140. "0",
  12141. "Regulator2p8v",
  12142. "0"
  12143. }
  12144. Return (Local0)
  12145. }
  12146.  
  12147. If (Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))
  12148. {
  12149. Return ("HIMX5040")
  12150. }
  12151.  
  12152. If (Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))
  12153. {
  12154. Return ("HM5040")
  12155. }
  12156.  
  12157. If (Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))
  12158. {
  12159. Return ("HB")
  12160. }
  12161.  
  12162. If (Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))
  12163. {
  12164. Return ("CHV_ITL_CR")
  12165. }
  12166.  
  12167. If (Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))
  12168. {
  12169. Return (0x0102)
  12170. }
  12171.  
  12172. If (Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))
  12173. {
  12174. Return (Zero)
  12175. }
  12176.  
  12177. If (Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))
  12178. {
  12179. Return (0x09)
  12180. }
  12181.  
  12182. If (Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))
  12183. {
  12184. Return (Zero)
  12185. }
  12186.  
  12187. If (Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))
  12188. {
  12189. Return (0x02)
  12190. }
  12191.  
  12192. If (Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))
  12193. {
  12194. Return (Zero)
  12195. }
  12196.  
  12197. If (Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))
  12198. {
  12199. Return ("DW9714")
  12200. }
  12201.  
  12202. If (Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))
  12203. {
  12204. If (Arg2 == One)
  12205. {
  12206. Return (0x02)
  12207. }
  12208.  
  12209. If (Arg2 == 0x02)
  12210. {
  12211. Return (0x02001B00)
  12212. }
  12213.  
  12214. If (Arg2 == 0x03)
  12215. {
  12216. Return (0x02000C01)
  12217. }
  12218. }
  12219.  
  12220. If (Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))
  12221. {
  12222. If (Arg2 == One)
  12223. {
  12224. Return (0x02)
  12225. }
  12226.  
  12227. If (Arg2 == 0x02)
  12228. {
  12229. Return (0x01003700)
  12230. }
  12231.  
  12232. If (Arg2 == 0x03)
  12233. {
  12234. Return (0x01002F01)
  12235. }
  12236. }
  12237.  
  12238. If (Arg0 == ToUUID ("2fa9bb94-9c5d-4aeb-8e6e-27434f81e3d3"))
  12239. {
  12240. Return ("CHT_CR")
  12241. }
  12242.  
  12243. If (Arg0 == ToUUID ("647a6ca2-8b29-49ac-8806-d58b3d2d3ef5"))
  12244. {
  12245. Return ("FFD")
  12246. }
  12247.  
  12248. If (Arg0 == ToUUID ("a6e922a1-f7b3-4399-b56a-406ae416843b"))
  12249. {
  12250. Return ("CHV_CR")
  12251. }
  12252.  
  12253. If (Arg0 == ToUUID ("5960313b-0ab0-4940-8840-2cafa420c015"))
  12254. {
  12255. Return ("INTEL")
  12256. }
  12257.  
  12258. If (Arg0 == ToUUID ("f486d39f-d657-484b-84a6-42a565712b92"))
  12259. {
  12260. Return (Buffer (0x20)
  12261. {
  12262. /* 0000 */ 0x01, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x00, /* ........ */
  12263. /* 0008 */ 0x05, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12264. /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12265. /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
  12266. })
  12267. }
  12268.  
  12269. Return (Zero)
  12270. }
  12271. }
  12272.  
  12273. Device (CAM3)
  12274. {
  12275. Name (_ADR, Zero) // _ADR: Address
  12276. Name (_HID, "OVTI2680") // _HID: Hardware ID
  12277. Name (_CID, "OVTI2680") // _CID: Compatible ID
  12278. Name (_SUB, "INTL0000") // _SUB: Subsystem ID
  12279. Name (_DDN, "OV2680") // _DDN: DOS Device Name
  12280. Name (_UID, 0x02) // _UID: Unique ID
  12281. Method (_STA, 0, NotSerialized) // _STA: Status
  12282. {
  12283. If (CAMR == 0x06)
  12284. {
  12285. Return (0x0F)
  12286. }
  12287.  
  12288. Return (Zero)
  12289. }
  12290.  
  12291. Name (PLDB, Package (0x01)
  12292. {
  12293. Buffer (0x14)
  12294. {
  12295. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12296. /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* i....... */
  12297. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  12298. }
  12299. })
  12300. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  12301. {
  12302. Return (PLDB) /* \_SB_.PCI0.I2C2.CAM3.PLDB */
  12303. }
  12304.  
  12305. Name (_PR0, Package (0x04) // _PR0: Power Resources for D0
  12306. {
  12307. P18P,
  12308. P28P,
  12309. P12P,
  12310. CLK4
  12311. })
  12312. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  12313. {
  12314. Name (WBUF, ResourceTemplate ()
  12315. {
  12316. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  12317. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  12318. )
  12319. { // Pin list
  12320. 0x002F
  12321. }
  12322. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  12323. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  12324. )
  12325. { // Pin list
  12326. 0x0037
  12327. }
  12328. I2cSerialBusV2 (0x0036, ControllerInitiated, 0x00061A80,
  12329. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  12330. 0x00, ResourceConsumer, , Exclusive,
  12331. )
  12332. })
  12333. Return (WBUF) /* \_SB_.PCI0.I2C2.CAM3._CRS.WBUF */
  12334. }
  12335.  
  12336. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  12337. {
  12338. If (Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be"))
  12339. {
  12340. Local0 = Package (0x12)
  12341. {
  12342. "CamId",
  12343. "OV2680",
  12344. "CamType",
  12345. "1",
  12346. "CsiPort",
  12347. "1",
  12348. "CsiLanes",
  12349. "1",
  12350. "CsiFmt",
  12351. "15",
  12352. "CsiBayer",
  12353. "0",
  12354. "CamClk",
  12355. "0",
  12356. "Regulator1p8v",
  12357. "0",
  12358. "Regulator2p8v",
  12359. "0"
  12360. }
  12361. Return (Local0)
  12362. }
  12363.  
  12364. If (Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))
  12365. {
  12366. Return ("OVTI2680")
  12367. }
  12368.  
  12369. If (Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))
  12370. {
  12371. Return ("OV2680")
  12372. }
  12373.  
  12374. If (Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))
  12375. {
  12376. Return ("12P2BA536")
  12377. }
  12378.  
  12379. If (Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))
  12380. {
  12381. Return ("CHV_ITL_CR")
  12382. }
  12383.  
  12384. If (Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))
  12385. {
  12386. Return (0x0102)
  12387. }
  12388.  
  12389. If (Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))
  12390. {
  12391. Return (One)
  12392. }
  12393.  
  12394. If (Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))
  12395. {
  12396. Return (Zero)
  12397. }
  12398.  
  12399. If (Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))
  12400. {
  12401. Return (Zero)
  12402. }
  12403.  
  12404. If (Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))
  12405. {
  12406. Return (0x02)
  12407. }
  12408.  
  12409. If (Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))
  12410. {
  12411. Return (Zero)
  12412. }
  12413.  
  12414. If (Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))
  12415. {
  12416. Return ("default")
  12417. }
  12418.  
  12419. If (Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))
  12420. {
  12421. If (Arg2 == One)
  12422. {
  12423. Return (0x02)
  12424. }
  12425.  
  12426. If (Arg2 == 0x02)
  12427. {
  12428. Return (0x02003600)
  12429. }
  12430. }
  12431.  
  12432. If (Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))
  12433. {
  12434. If (Arg2 == One)
  12435. {
  12436. Return (0x02)
  12437. }
  12438.  
  12439. If (Arg2 == 0x02)
  12440. {
  12441. Return (0x01002F01)
  12442. }
  12443.  
  12444. If (Arg2 == 0x03)
  12445. {
  12446. Return (0x01003700)
  12447. }
  12448. }
  12449.  
  12450. If (Arg0 == ToUUID ("2fa9bb94-9c5d-4aeb-8e6e-27434f81e3d3"))
  12451. {
  12452. Return ("CHT_CR")
  12453. }
  12454.  
  12455. If (Arg0 == ToUUID ("647a6ca2-8b29-49ac-8806-d58b3d2d3ef5"))
  12456. {
  12457. Return ("FFD")
  12458. }
  12459.  
  12460. If (Arg0 == ToUUID ("a6e922a1-f7b3-4399-b56a-406ae416843b"))
  12461. {
  12462. Return ("CHV_CR")
  12463. }
  12464.  
  12465. If (Arg0 == ToUUID ("5960313b-0ab0-4940-8840-2cafa420c015"))
  12466. {
  12467. Return ("INTEL")
  12468. }
  12469.  
  12470. If (Arg0 == ToUUID ("f486d39f-d657-484b-84a6-42a565712b92"))
  12471. {
  12472. Return (Buffer (0x20)
  12473. {
  12474. /* 0000 */ 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, /* ........ */
  12475. /* 0008 */ 0x05, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12476. /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12477. /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
  12478. })
  12479. }
  12480.  
  12481. Return (Zero)
  12482. }
  12483. }
  12484.  
  12485. Device (CAM9)
  12486. {
  12487. Name (_ADR, Zero) // _ADR: Address
  12488. Name (_HID, "OVTI5670") // _HID: Hardware ID
  12489. Name (_CID, "OVTI5670") // _CID: Compatible ID
  12490. Name (_SUB, "INTL0000") // _SUB: Subsystem ID
  12491. Name (_DDN, "OV5670") // _DDN: DOS Device Name
  12492. Name (_UID, One) // _UID: Unique ID
  12493. Name (_DEP, Package (0x03) // _DEP: Dependencies
  12494. {
  12495. I2C2,
  12496. GPO1,
  12497. ^^I2C7.PMI1
  12498. })
  12499. Name (_PR0, Package (0x03) // _PR0: Power Resources for D0
  12500. {
  12501. P28P,
  12502. P18P,
  12503. CLK4
  12504. })
  12505. Name (PLDB, Package (0x01)
  12506. {
  12507. Buffer (0x14)
  12508. {
  12509. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12510. /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* i....... */
  12511. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
  12512. }
  12513. })
  12514. Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
  12515. {
  12516. Return (PLDB) /* \_SB_.PCI0.I2C2.CAM9.PLDB */
  12517. }
  12518.  
  12519. Method (_STA, 0, NotSerialized) // _STA: Status
  12520. {
  12521. If (CAMR == 0x09)
  12522. {
  12523. Return (0x0F)
  12524. }
  12525.  
  12526. Return (Zero)
  12527. }
  12528.  
  12529. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  12530. {
  12531. Name (WBUF, ResourceTemplate ()
  12532. {
  12533. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  12534. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  12535. )
  12536. { // Pin list
  12537. 0x0037
  12538. }
  12539. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  12540. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  12541. )
  12542. { // Pin list
  12543. 0x002F
  12544. }
  12545. I2cSerialBusV2 (0x0036, ControllerInitiated, 0x00061A80,
  12546. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  12547. 0x00, ResourceConsumer, , Exclusive,
  12548. )
  12549. })
  12550. Return (WBUF) /* \_SB_.PCI0.I2C2.CAM9._CRS.WBUF */
  12551. }
  12552.  
  12553. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  12554. {
  12555. If (Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be"))
  12556. {
  12557. Local0 = Package (0x12)
  12558. {
  12559. "CamId",
  12560. "OV5670",
  12561. "CamType",
  12562. "1",
  12563. "CsiPort",
  12564. "1",
  12565. "CsiLanes",
  12566. "2",
  12567. "CsiFmt",
  12568. "15",
  12569. "CsiBayer",
  12570. "2",
  12571. "CamClk",
  12572. "0",
  12573. "Regulator1p8v",
  12574. "0",
  12575. "Regulator2p8v",
  12576. "0"
  12577. }
  12578. Return (Local0)
  12579. }
  12580.  
  12581. If (Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))
  12582. {
  12583. Return ("OVTI5670")
  12584. }
  12585.  
  12586. If (Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))
  12587. {
  12588. Return ("OV5670")
  12589. }
  12590.  
  12591. If (Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))
  12592. {
  12593. Return ("TCL5670")
  12594. }
  12595.  
  12596. If (Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))
  12597. {
  12598. Return ("CHV_ITL_RVP")
  12599. }
  12600.  
  12601. If (Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))
  12602. {
  12603. Return (0x0102)
  12604. }
  12605.  
  12606. If (Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))
  12607. {
  12608. Return (Zero)
  12609. }
  12610.  
  12611. If (Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))
  12612. {
  12613. Return (Zero)
  12614. }
  12615.  
  12616. If (Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))
  12617. {
  12618. Return (Zero)
  12619. }
  12620.  
  12621. If (Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))
  12622. {
  12623. Return (0x02)
  12624. }
  12625.  
  12626. If (Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))
  12627. {
  12628. Return (Zero)
  12629. }
  12630.  
  12631. If (Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))
  12632. {
  12633. If (Arg2 == One)
  12634. {
  12635. Return (One)
  12636. }
  12637.  
  12638. If (Arg2 == 0x02)
  12639. {
  12640. Return (0x02003600)
  12641. }
  12642. }
  12643.  
  12644. If (Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))
  12645. {
  12646. If (Arg2 == One)
  12647. {
  12648. Return (0x02)
  12649. }
  12650.  
  12651. If (Arg2 == 0x02)
  12652. {
  12653. Return (0x01003700)
  12654. }
  12655.  
  12656. If (Arg2 == 0x03)
  12657. {
  12658. Return (0x01002F01)
  12659. }
  12660. }
  12661.  
  12662. If (Arg0 == ToUUID ("2fa9bb94-9c5d-4aeb-8e6e-27434f81e3d3"))
  12663. {
  12664. Return ("CHT")
  12665. }
  12666.  
  12667. If (Arg0 == ToUUID ("647a6ca2-8b29-49ac-8806-d58b3d2d3ef5"))
  12668. {
  12669. Return ("FFD")
  12670. }
  12671.  
  12672. If (Arg0 == ToUUID ("a6e922a1-f7b3-4399-b56a-406ae416843b"))
  12673. {
  12674. Return ("CHV")
  12675. }
  12676.  
  12677. If (Arg0 == ToUUID ("5960313b-0ab0-4940-8840-2cafa420c015"))
  12678. {
  12679. Return ("INTEL")
  12680. }
  12681.  
  12682. If (Arg0 == ToUUID ("f486d39f-d657-484b-84a6-42a565712b92"))
  12683. {
  12684. Return (Buffer (0x20)
  12685. {
  12686. /* 0000 */ 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12687. /* 0008 */ 0x05, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12688. /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
  12689. /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
  12690. })
  12691. }
  12692.  
  12693. Return (Zero)
  12694. }
  12695. }
  12696.  
  12697. Device (ADO2)
  12698. {
  12699. Name (_ADR, Zero) // _ADR: Address
  12700. Name (_HID, "10508824") // _HID: Hardware ID
  12701. Name (_CID, "10508824") // _CID: Compatible ID
  12702. Name (_DDN, "NAU88L24") // _DDN: DOS Device Name
  12703. Name (_DEP, Package (0x01) // _DEP: Dependencies
  12704. {
  12705. PEPD
  12706. })
  12707. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  12708. {
  12709. CLK3
  12710. })
  12711. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  12712. {
  12713. Name (SBUF, ResourceTemplate ()
  12714. {
  12715. I2cSerialBusV2 (0x001A, ControllerInitiated, 0x00061A80,
  12716. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  12717. 0x00, ResourceConsumer, , Exclusive,
  12718. )
  12719. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  12720. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  12721. )
  12722. { // Pin list
  12723. 0x004F
  12724. }
  12725. })
  12726. Return (SBUF) /* \_SB_.PCI0.I2C2.ADO2._CRS.SBUF */
  12727. }
  12728.  
  12729. Method (_STA, 0, NotSerialized) // _STA: Status
  12730. {
  12731. Return (0x0F)
  12732. }
  12733.  
  12734. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  12735. {
  12736. }
  12737.  
  12738. Method (GNUC, 0, NotSerialized)
  12739. {
  12740. Return (Buffer (0x4E)
  12741. {
  12742. /* 0000 */ 0x11, 0x04, 0x02, 0x0C, 0x04, 0x4E, 0xF6, 0x80, /* .....N.. */
  12743. /* 0008 */ 0x00, 0x80, 0x1C, 0xEE, 0x1E, 0xEE, 0x07, 0xF6, /* ........ */
  12744. /* 0010 */ 0x03, 0xEB, 0xA2, 0xED, 0xEF, 0xED, 0x0A, 0x80, /* ........ */
  12745. /* 0018 */ 0x19, 0x02, 0x00, 0x49, 0x34, 0xB7, 0x14, 0x86, /* ...I4... */
  12746. /* 0020 */ 0x0F, 0x12, 0x25, 0xF9, 0x34, 0x57, 0xAA, 0x81, /* ..%.4W.. */
  12747. /* 0028 */ 0x20, 0x25, 0x23, 0xCF, 0x34, 0x57, 0xAA, 0x81, /* %#.4W.. */
  12748. /* 0030 */ 0x20, 0x25, 0x23, 0xCF, 0x34, 0x57, 0x00, 0x10, /* %#.4W.. */
  12749. /* 0038 */ 0x00, 0x00, 0x0C, 0x80, 0x00, 0x10, 0x60, 0x00, /* ......`. */
  12750. /* 0040 */ 0x60, 0x00, 0xF1, 0x3C, 0x15, 0x02, 0x00, 0x00, /* `..<.... */
  12751. /* 0048 */ 0x00, 0x00, 0x00, 0x1C, 0x00, 0x1C /* ...... */
  12752. })
  12753. }
  12754. }
  12755. }
  12756.  
  12757. Scope (I2C3)
  12758. {
  12759. Device (ACC1)
  12760. {
  12761. Name (_ADR, Zero) // _ADR: Address
  12762. Name (_HID, "SMO8500") // _HID: Hardware ID
  12763. Name (_CID, "SMO8500") // _CID: Compatible ID
  12764. Name (_UID, One) // _UID: Unique ID
  12765. Method (_STA, 0, NotSerialized) // _STA: Status
  12766. {
  12767. If (GSSR == One)
  12768. {
  12769. Return (0x0F)
  12770. }
  12771.  
  12772. Return (Zero)
  12773. }
  12774.  
  12775. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  12776. {
  12777. Name (SBUF, ResourceTemplate ()
  12778. {
  12779. I2cSerialBusV2 (0x000F, ControllerInitiated, 0x00061A80,
  12780. AddressingMode7Bit, "\\_SB.PCI0.I2C6",
  12781. 0x00, ResourceConsumer, , Exclusive,
  12782. )
  12783. })
  12784. Return (SBUF) /* \_SB_.PCI0.I2C3.ACC1._CRS.SBUF */
  12785. }
  12786. }
  12787.  
  12788. Device (ACC2)
  12789. {
  12790. Name (_ADR, Zero) // _ADR: Address
  12791. Name (_HID, "SMO8500") // _HID: Hardware ID
  12792. Name (_CID, "SMO8500") // _CID: Compatible ID
  12793. Name (_UID, 0x02) // _UID: Unique ID
  12794. Method (_STA, 0, NotSerialized) // _STA: Status
  12795. {
  12796. If (GSSR == 0x02)
  12797. {
  12798. Return (0x0F)
  12799. }
  12800.  
  12801. Return (Zero)
  12802. }
  12803.  
  12804. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  12805. {
  12806. Name (SBUF, ResourceTemplate ()
  12807. {
  12808. I2cSerialBusV2 (0x000E, ControllerInitiated, 0x00061A80,
  12809. AddressingMode7Bit, "\\_SB.PCI0.I2C6",
  12810. 0x00, ResourceConsumer, , Exclusive,
  12811. )
  12812. })
  12813. Return (SBUF) /* \_SB_.PCI0.I2C3.ACC2._CRS.SBUF */
  12814. }
  12815. }
  12816.  
  12817. Device (KXJ3)
  12818. {
  12819. Name (_ADR, Zero) // _ADR: Address
  12820. Name (_HID, "KIOX000A") // _HID: Hardware ID
  12821. Name (_CID, "KIOX000A") // _CID: Compatible ID
  12822. Name (_DDN, "KionixKXCJ9 Accelerometer") // _DDN: DOS Device Name
  12823. Name (_UID, One) // _UID: Unique ID
  12824. Method (_STA, 0, NotSerialized) // _STA: Status
  12825. {
  12826. If (GSSR == 0x03)
  12827. {
  12828. Return (0x0F)
  12829. }
  12830.  
  12831. Return (Zero)
  12832. }
  12833.  
  12834. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  12835. {
  12836. Name (RBUF, ResourceTemplate ()
  12837. {
  12838. I2cSerialBusV2 (0x000F, ControllerInitiated, 0x00061A80,
  12839. AddressingMode7Bit, "\\_SB.PCI0.I2C6",
  12840. 0x00, ResourceConsumer, , Exclusive,
  12841. )
  12842. })
  12843. Return (RBUF) /* \_SB_.PCI0.I2C3.KXJ3._CRS.RBUF */
  12844. }
  12845.  
  12846. Method (_CDM, 1, NotSerialized) // _CDM: Clock Domain
  12847. {
  12848. Local0 = 0x00ABCD05
  12849. Return (Local0)
  12850. }
  12851. }
  12852.  
  12853. Device (KXJ4)
  12854. {
  12855. Name (_ADR, Zero) // _ADR: Address
  12856. Name (_HID, "KIOX000A") // _HID: Hardware ID
  12857. Name (_CID, "KIOX000A") // _CID: Compatible ID
  12858. Name (_DDN, "KionixKXCJ9 Accelerometer") // _DDN: DOS Device Name
  12859. Name (_UID, One) // _UID: Unique ID
  12860. Method (_STA, 0, NotSerialized) // _STA: Status
  12861. {
  12862. If (GSSR == 0x04)
  12863. {
  12864. Return (0x0F)
  12865. }
  12866.  
  12867. Return (Zero)
  12868. }
  12869.  
  12870. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  12871. {
  12872. Name (RBUF, ResourceTemplate ()
  12873. {
  12874. I2cSerialBusV2 (0x000E, ControllerInitiated, 0x00061A80,
  12875. AddressingMode7Bit, "\\_SB.PCI0.I2C6",
  12876. 0x00, ResourceConsumer, , Exclusive,
  12877. )
  12878. })
  12879. Return (RBUF) /* \_SB_.PCI0.I2C3.KXJ4._CRS.RBUF */
  12880. }
  12881.  
  12882. Method (_CDM, 1, NotSerialized) // _CDM: Clock Domain
  12883. {
  12884. Local0 = 0x00ABCD05
  12885. Return (Local0)
  12886. }
  12887. }
  12888. }
  12889.  
  12890. Scope (I2C6)
  12891. {
  12892. Device (TCS1)
  12893. {
  12894. Name (_ADR, Zero) // _ADR: Address
  12895. Name (_HID, "GDIX1001") // _HID: Hardware ID
  12896. Name (_CID, "GDIX1001") // _CID: Compatible ID
  12897. Name (_S0W, Zero) // _S0W: S0 Device Wake State
  12898. Name (_DEP, Package (0x02) // _DEP: Dependencies
  12899. {
  12900. GPO1,
  12901. I2C6
  12902. })
  12903. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  12904. {
  12905. P33P
  12906. })
  12907. Method (_PS3, 0, Serialized) // _PS3: Power State 3
  12908. {
  12909. }
  12910.  
  12911. Method (_PS0, 0, Serialized) // _PS0: Power State 0
  12912. {
  12913. }
  12914.  
  12915. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  12916. {
  12917. Name (RBUF, ResourceTemplate ()
  12918. {
  12919. I2cSerialBusV2 (0x0014, ControllerInitiated, 0x00061A80,
  12920. AddressingMode7Bit, "\\_SB.PCI0.I2C6",
  12921. 0x00, ResourceConsumer, , Exclusive,
  12922. )
  12923. GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  12924. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  12925. )
  12926. { // Pin list
  12927. 0x0019
  12928. }
  12929. GpioInt (Edge, ActiveBoth, Shared, PullDefault, 0x0000,
  12930. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  12931. )
  12932. { // Pin list
  12933. 0x0013
  12934. }
  12935. })
  12936. Return (RBUF) /* \_SB_.PCI0.I2C6.TCS1._CRS.RBUF */
  12937. }
  12938.  
  12939. Method (_STA, 0, NotSerialized) // _STA: Status
  12940. {
  12941. If (TPID == One)
  12942. {
  12943. Return (0x0F)
  12944. }
  12945. Else
  12946. {
  12947. Return (Zero)
  12948. }
  12949. }
  12950. }
  12951.  
  12952. Device (TCS2)
  12953. {
  12954. Name (_ADR, Zero) // _ADR: Address
  12955. Name (_HID, "FTSC1000") // _HID: Hardware ID
  12956. Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
  12957. Name (_HRV, One) // _HRV: Hardware Revision
  12958. Name (_S0W, Zero) // _S0W: S0 Device Wake State
  12959. Name (_DEP, Package (0x02) // _DEP: Dependencies
  12960. {
  12961. GPO1,
  12962. I2C6
  12963. })
  12964. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  12965. {
  12966. P33P
  12967. })
  12968. Method (_PS3, 0, Serialized) // _PS3: Power State 3
  12969. {
  12970. If (^^^^GPO1.AVBL == One)
  12971. {
  12972. ^^^^GPO1.TCTL = One
  12973. }
  12974. }
  12975.  
  12976. Method (_PS0, 0, Serialized) // _PS0: Power State 0
  12977. {
  12978. If (^^^^GPO1.AVBL == One)
  12979. {
  12980. ^^^^GPO1.TCTL = One
  12981. }
  12982.  
  12983. Sleep (0x1E)
  12984. If (^^^^GPO1.AVBL == One)
  12985. {
  12986. ^^^^GPO1.TCTL = Zero
  12987. }
  12988.  
  12989. Sleep (0x78)
  12990. }
  12991.  
  12992. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  12993. {
  12994. Name (RBUF, ResourceTemplate ()
  12995. {
  12996. I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
  12997. AddressingMode7Bit, "\\_SB.PCI0.I2C6",
  12998. 0x00, ResourceConsumer, , Exclusive,
  12999. )
  13000. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  13001. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  13002. )
  13003. { // Pin list
  13004. 0x0019
  13005. }
  13006. GpioInt (Level, ActiveLow, Shared, PullDefault, 0x0000,
  13007. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  13008. )
  13009. { // Pin list
  13010. 0x0013
  13011. }
  13012. })
  13013. Return (RBUF) /* \_SB_.PCI0.I2C6.TCS2._CRS.RBUF */
  13014. }
  13015.  
  13016. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  13017. {
  13018. Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
  13019. Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
  13020. Debug = "Method _DSM begin"
  13021. If (Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)
  13022. {
  13023. While (One)
  13024. {
  13025. _T_0 = ToInteger (Arg2)
  13026. If (_T_0 == Zero)
  13027. {
  13028. While (One)
  13029. {
  13030. _T_1 = ToInteger (Arg1)
  13031. If (_T_1 == One)
  13032. {
  13033. Debug = "Method _DSM Function Query"
  13034. Return (Buffer (One)
  13035. {
  13036. 0x03 /* . */
  13037. })
  13038. }
  13039. Else
  13040. {
  13041. Return (Buffer (One)
  13042. {
  13043. 0x00 /* . */
  13044. })
  13045. }
  13046.  
  13047. Break
  13048. }
  13049. }
  13050. ElseIf (_T_0 == One)
  13051. {
  13052. Debug = "Method _DSM Function HID"
  13053. Return (Zero)
  13054. }
  13055. Else
  13056. {
  13057. Return (Zero)
  13058. }
  13059.  
  13060. Break
  13061. }
  13062. }
  13063. Else
  13064. {
  13065. Return (Buffer (One)
  13066. {
  13067. 0x00 /* . */
  13068. })
  13069. }
  13070. }
  13071.  
  13072. Method (_STA, 0, NotSerialized) // _STA: Status
  13073. {
  13074. If (TPID == 0x02)
  13075. {
  13076. Return (0x0F)
  13077. }
  13078. Else
  13079. {
  13080. Return (Zero)
  13081. }
  13082. }
  13083. }
  13084.  
  13085. Device (TCS3)
  13086. {
  13087. Name (_ADR, Zero) // _ADR: Address
  13088. Name (_HID, "CHPN0001") // _HID: Hardware ID
  13089. Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
  13090. Name (_S0W, Zero) // _S0W: S0 Device Wake State
  13091. Name (_DEP, Package (0x02) // _DEP: Dependencies
  13092. {
  13093. GPO1,
  13094. I2C6
  13095. })
  13096. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  13097. {
  13098. P33P
  13099. })
  13100. Method (_PS3, 0, Serialized) // _PS3: Power State 3
  13101. {
  13102. If (^^^^GPO1.AVBL == One)
  13103. {
  13104. ^^^^GPO1.TCTL = One
  13105. }
  13106. }
  13107.  
  13108. Method (_PS0, 0, Serialized) // _PS0: Power State 0
  13109. {
  13110. If (^^^^GPO1.AVBL == One)
  13111. {
  13112. ^^^^GPO1.TCTL = One
  13113. }
  13114.  
  13115. Sleep (0x1E)
  13116. If (^^^^GPO1.AVBL == One)
  13117. {
  13118. ^^^^GPO1.TCTL = Zero
  13119. }
  13120.  
  13121. Sleep (0x78)
  13122. }
  13123.  
  13124. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  13125. {
  13126. Name (RBUF, ResourceTemplate ()
  13127. {
  13128. I2cSerialBusV2 (0x0049, ControllerInitiated, 0x00061A80,
  13129. AddressingMode7Bit, "\\_SB.PCI0.I2C6",
  13130. 0x00, ResourceConsumer, , Exclusive,
  13131. )
  13132. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  13133. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  13134. )
  13135. { // Pin list
  13136. 0x0019
  13137. }
  13138. GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
  13139. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  13140. )
  13141. { // Pin list
  13142. 0x0013
  13143. }
  13144. })
  13145. Return (RBUF) /* \_SB_.PCI0.I2C6.TCS3._CRS.RBUF */
  13146. }
  13147.  
  13148. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  13149. {
  13150. Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
  13151. Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
  13152. Debug = "Method _DSM begin"
  13153. If (Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)
  13154. {
  13155. While (One)
  13156. {
  13157. _T_0 = ToInteger (Arg2)
  13158. If (_T_0 == Zero)
  13159. {
  13160. While (One)
  13161. {
  13162. _T_1 = ToInteger (Arg1)
  13163. If (_T_1 == One)
  13164. {
  13165. Debug = "Method _DSM Function Query"
  13166. Return (Buffer (One)
  13167. {
  13168. 0x03 /* . */
  13169. })
  13170. }
  13171. Else
  13172. {
  13173. Return (Buffer (One)
  13174. {
  13175. 0x00 /* . */
  13176. })
  13177. }
  13178.  
  13179. Break
  13180. }
  13181. }
  13182. ElseIf (_T_0 == One)
  13183. {
  13184. Debug = "Method _DSM Function HID"
  13185. Return (Zero)
  13186. }
  13187. Else
  13188. {
  13189. Return (Zero)
  13190. }
  13191.  
  13192. Break
  13193. }
  13194. }
  13195. Else
  13196. {
  13197. Return (Buffer (One)
  13198. {
  13199. 0x00 /* . */
  13200. })
  13201. }
  13202. }
  13203.  
  13204. Method (_STA, 0, NotSerialized) // _STA: Status
  13205. {
  13206. If (TPID == 0x03)
  13207. {
  13208. Return (0x0F)
  13209. }
  13210.  
  13211. Return (Zero)
  13212. }
  13213. }
  13214.  
  13215. Device (TCS4)
  13216. {
  13217. Name (_ADR, Zero) // _ADR: Address
  13218. Name (_HID, "MSSL1680") // _HID: Hardware ID
  13219. Name (_CID, "PNP1680") // _CID: Compatible ID
  13220. Name (_S0W, Zero) // _S0W: S0 Device Wake State
  13221. Name (_DDN, "MSSL1680") // _DDN: DOS Device Name
  13222. Name (_DEP, Package (0x02) // _DEP: Dependencies
  13223. {
  13224. GPO1,
  13225. I2C6
  13226. })
  13227. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  13228. {
  13229. P33P
  13230. })
  13231. Method (_PS3, 0, Serialized) // _PS3: Power State 3
  13232. {
  13233. If (^^^^GPO1.AVBL == One)
  13234. {
  13235. ^^^^GPO1.TCTL = One
  13236. }
  13237.  
  13238. Sleep (0x78)
  13239. }
  13240.  
  13241. Method (_PS0, 0, Serialized) // _PS0: Power State 0
  13242. {
  13243. If (^^^^GPO1.AVBL == One)
  13244. {
  13245. ^^^^GPO1.TCTL = One
  13246. }
  13247.  
  13248. Sleep (0x05)
  13249. If (^^^^GPO1.AVBL == One)
  13250. {
  13251. ^^^^GPO1.TCTL = Zero
  13252. }
  13253.  
  13254. Sleep (0x1E)
  13255. If (^^^^GPO1.AVBL == One)
  13256. {
  13257. ^^^^GPO1.TCTL = Zero
  13258. }
  13259.  
  13260. Sleep (0x78)
  13261. }
  13262.  
  13263. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  13264. {
  13265. Name (WBUF, ResourceTemplate ()
  13266. {
  13267. I2cSerialBusV2 (0x0040, ControllerInitiated, 0x00061A80,
  13268. AddressingMode7Bit, "\\_SB.PCI0.I2C6",
  13269. 0x00, ResourceConsumer, , Exclusive,
  13270. )
  13271. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  13272. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  13273. )
  13274. { // Pin list
  13275. 0x0019
  13276. }
  13277. GpioInt (Edge, ActiveHigh, Shared, PullDefault, 0x0000,
  13278. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  13279. )
  13280. { // Pin list
  13281. 0x0013
  13282. }
  13283. })
  13284. Return (WBUF) /* \_SB_.PCI0.I2C6.TCS4._CRS.WBUF */
  13285. }
  13286.  
  13287. Method (_STA, 0, NotSerialized) // _STA: Status
  13288. {
  13289. If (TPID == 0x04)
  13290. {
  13291. Return (0x0F)
  13292. }
  13293. Else
  13294. {
  13295. Return (Zero)
  13296. }
  13297. }
  13298. }
  13299. }
  13300.  
  13301. Scope (\_SB)
  13302. {
  13303. PowerResource (USBC, 0x00, 0x0000)
  13304. {
  13305. Method (_STA, 0, NotSerialized) // _STA: Status
  13306. {
  13307. Return (0x0F)
  13308. }
  13309.  
  13310. Method (_ON, 0, NotSerialized) // _ON_: Power On
  13311. {
  13312. }
  13313.  
  13314. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  13315. {
  13316. }
  13317. }
  13318. }
  13319.  
  13320. Device (IISH)
  13321. {
  13322. Name (_HID, "808622D8") // _HID: Hardware ID
  13323. Name (_CID, "808622D8") // _CID: Compatible ID
  13324. Name (_DDN, "Intel(R) Integrated Sensor Hub - 808622D8") // _DDN: DOS Device Name
  13325. Name (RBUF, ResourceTemplate ()
  13326. {
  13327. Memory32Fixed (ReadWrite,
  13328. 0x00000000, // Address Base
  13329. 0x00001000, // Address Length
  13330. _Y1E)
  13331. Memory32Fixed (ReadWrite,
  13332. 0x00000000, // Address Base
  13333. 0x00001000, // Address Length
  13334. _Y1F)
  13335. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13336. {
  13337. 0x00000072,
  13338. }
  13339. })
  13340. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  13341. {
  13342. CreateDWordField (RBUF, \_SB.PCI0.IISH._Y1E._BAS, B0BA) // _BAS: Base Address
  13343. B0BA = ISH0 /* \ISH0 */
  13344. CreateDWordField (RBUF, \_SB.PCI0.IISH._Y1F._BAS, B1BA) // _BAS: Base Address
  13345. B1BA = ISH1 /* \ISH1 */
  13346. Return (RBUF) /* \_SB_.PCI0.IISH.RBUF */
  13347. }
  13348.  
  13349. Method (_STA, 0, NotSerialized) // _STA: Status
  13350. {
  13351. If ((ISH0 == Zero) || (ISHD == One))
  13352. {
  13353. Return (Zero)
  13354. }
  13355.  
  13356. Return (0x0F)
  13357. }
  13358.  
  13359. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  13360. {
  13361. }
  13362.  
  13363. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  13364. {
  13365. PSAT |= 0x03
  13366. PSAT |= Zero
  13367. }
  13368.  
  13369. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  13370. {
  13371. PSAT &= 0xFFFFFFFC
  13372. PSAT |= Zero
  13373. }
  13374.  
  13375. OperationRegion (KEYS, SystemMemory, ISH1, 0x0100)
  13376. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  13377. {
  13378. Offset (0x84),
  13379. PSAT, 32
  13380. }
  13381.  
  13382. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  13383. {
  13384. If (ISHP == Zero)
  13385. {
  13386. Return (Zero)
  13387. }
  13388. Else
  13389. {
  13390. Return (0x03)
  13391. }
  13392. }
  13393. }
  13394.  
  13395. Device (LPEA)
  13396. {
  13397. Name (_HID, "808622A8") // _HID: Hardware ID
  13398. Name (_CID, "808622A8") // _CID: Compatible ID
  13399. Name (_DDN, "Intel(R) Low Power Audio Controller - 808622A8") // _DDN: DOS Device Name
  13400. Name (_UID, One) // _UID: Unique ID
  13401. Name (RBUF, ResourceTemplate ()
  13402. {
  13403. Memory32Fixed (ReadWrite,
  13404. 0x00000000, // Address Base
  13405. 0x00200000, // Address Length
  13406. _Y20)
  13407. Memory32Fixed (ReadWrite,
  13408. 0x00000000, // Address Base
  13409. 0x00001000, // Address Length
  13410. _Y21)
  13411. Memory32Fixed (ReadWrite,
  13412. 0x00000000, // Address Base
  13413. 0x00200000, // Address Length
  13414. _Y22)
  13415. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13416. {
  13417. 0x00000018,
  13418. }
  13419. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13420. {
  13421. 0x00000019,
  13422. }
  13423. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13424. {
  13425. 0x0000001A,
  13426. }
  13427. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13428. {
  13429. 0x0000001B,
  13430. }
  13431. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13432. {
  13433. 0x0000001C,
  13434. }
  13435. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13436. {
  13437. 0x0000001D,
  13438. }
  13439. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0000,
  13440. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  13441. )
  13442. { // Pin list
  13443. 0x004F
  13444. }
  13445. })
  13446. Name (WBUF, ResourceTemplate ()
  13447. {
  13448. Memory32Fixed (ReadWrite,
  13449. 0x00000000, // Address Base
  13450. 0x00200000, // Address Length
  13451. _Y23)
  13452. Memory32Fixed (ReadWrite,
  13453. 0x00000000, // Address Base
  13454. 0x00001000, // Address Length
  13455. _Y24)
  13456. Memory32Fixed (ReadWrite,
  13457. 0x00000000, // Address Base
  13458. 0x00200000, // Address Length
  13459. _Y25)
  13460. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13461. {
  13462. 0x00000018,
  13463. }
  13464. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13465. {
  13466. 0x00000019,
  13467. }
  13468. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13469. {
  13470. 0x0000001A,
  13471. }
  13472. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13473. {
  13474. 0x0000001B,
  13475. }
  13476. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13477. {
  13478. 0x0000001C,
  13479. }
  13480. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13481. {
  13482. 0x0000001D,
  13483. }
  13484. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  13485. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  13486. )
  13487. { // Pin list
  13488. 0x005B
  13489. }
  13490. })
  13491. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  13492. {
  13493. If ((BDID != 0x09) && (BDID != 0x0A))
  13494. {
  13495. CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y20._BAS, B0BA) // _BAS: Base Address
  13496. B0BA = LPE0 /* \LPE0 */
  13497. CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y21._BAS, B1BA) // _BAS: Base Address
  13498. B1BA = LPE1 /* \LPE1 */
  13499. CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y22._BAS, B2BA) // _BAS: Base Address
  13500. B2BA = LPE2 /* \LPE2 */
  13501. Return (RBUF) /* \_SB_.PCI0.LPEA.RBUF */
  13502. }
  13503.  
  13504. CreateDWordField (WBUF, \_SB.PCI0.LPEA._Y23._BAS, B3BA) // _BAS: Base Address
  13505. B3BA = LPE0 /* \LPE0 */
  13506. CreateDWordField (WBUF, \_SB.PCI0.LPEA._Y24._BAS, B4BA) // _BAS: Base Address
  13507. B4BA = LPE1 /* \LPE1 */
  13508. CreateDWordField (WBUF, \_SB.PCI0.LPEA._Y25._BAS, B5BA) // _BAS: Base Address
  13509. B5BA = LPE2 /* \LPE2 */
  13510. Return (WBUF) /* \_SB_.PCI0.LPEA.WBUF */
  13511. }
  13512.  
  13513. Method (_STA, 0, NotSerialized) // _STA: Status
  13514. {
  13515. If ((LPE0 != Zero) && (LPED == Zero))
  13516. {
  13517. Return (0x0F)
  13518. }
  13519.  
  13520. Return (Zero)
  13521. }
  13522.  
  13523. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  13524. {
  13525. }
  13526.  
  13527. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  13528. {
  13529. PSAT |= 0x03
  13530. PSAT |= Zero
  13531. }
  13532.  
  13533. Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
  13534. {
  13535. If (LPEP == Zero)
  13536. {
  13537. Return (Zero)
  13538. }
  13539. Else
  13540. {
  13541. Return (0x03)
  13542. }
  13543. }
  13544.  
  13545. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  13546. {
  13547. PSAT &= 0xFFFFFFFC
  13548. PSAT |= Zero
  13549. Sleep (0x0A)
  13550. }
  13551.  
  13552. OperationRegion (KEYS, SystemMemory, LPE1, 0x0100)
  13553. Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
  13554. {
  13555. Offset (0x84),
  13556. PSAT, 32
  13557. }
  13558.  
  13559. Device (ADMA)
  13560. {
  13561. Name (_ADR, Zero) // _ADR: Address
  13562. Name (_HID, "ADMA22A8") // _HID: Hardware ID
  13563. Name (_CID, "ADMA22A8") // _CID: Compatible ID
  13564. Name (_DDN, "Intel(R) Audio DMA0 - DMA0F28") // _DDN: DOS Device Name
  13565. Name (_UID, One) // _UID: Unique ID
  13566. Name (RBUF, ResourceTemplate ()
  13567. {
  13568. Memory32Fixed (ReadWrite,
  13569. 0x00000000, // Address Base
  13570. 0x00200000, // Address Length
  13571. _Y26)
  13572. Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
  13573. {
  13574. 0x00000018,
  13575. }
  13576. })
  13577. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  13578. {
  13579. CreateDWordField (RBUF, \_SB.PCI0.LPEA.ADMA._Y26._BAS, B3BA) // _BAS: Base Address
  13580. B3BA = LPE0 /* \LPE0 */
  13581. Return (RBUF) /* \_SB_.PCI0.LPEA.ADMA.RBUF */
  13582. }
  13583.  
  13584. Method (_STA, 0, NotSerialized) // _STA: Status
  13585. {
  13586. If (OSID != One)
  13587. {
  13588. Return (0x0F)
  13589. }
  13590.  
  13591. Return (Zero)
  13592. }
  13593. }
  13594. }
  13595.  
  13596. Scope (\_SB)
  13597. {
  13598. Device (VIBR)
  13599. {
  13600. Name (_ADR, Zero) // _ADR: Address
  13601. Name (_HID, "VIBR22A8") // _HID: Hardware ID
  13602. Name (_CID, "VIBR22A8") // _CID: Compatible ID
  13603. Name (_DDN, "Intel(R) Vibra Driver - VIB8601") // _DDN: DOS Device Name
  13604. Name (_UID, One) // _UID: Unique ID
  13605. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  13606. {
  13607. Name (RBUF, ResourceTemplate ()
  13608. {
  13609. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  13610. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  13611. )
  13612. { // Pin list
  13613. 0x0004
  13614. }
  13615. })
  13616. Name (SBUF, ResourceTemplate ()
  13617. {
  13618. GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
  13619. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  13620. )
  13621. { // Pin list
  13622. 0x0001
  13623. }
  13624. })
  13625. If (BDID == One)
  13626. {
  13627. Return (SBUF) /* \_SB_.VIBR._CRS.SBUF */
  13628. }
  13629. Else
  13630. {
  13631. Return (RBUF) /* \_SB_.VIBR._CRS.RBUF */
  13632. }
  13633. }
  13634.  
  13635. Method (_STA, 0, NotSerialized) // _STA: Status
  13636. {
  13637. If ((OSID != One) && ((BDID != 0x08) &&
  13638. (BDID != 0x0A)))
  13639. {
  13640. Return (0x0F)
  13641. }
  13642.  
  13643. Return (Zero)
  13644. }
  13645. }
  13646. }
  13647.  
  13648. Device (AMCR)
  13649. {
  13650. Name (_ADR, Zero) // _ADR: Address
  13651. Name (_HID, "AMCR22A8") // _HID: Hardware ID
  13652. Name (_CID, "AMCR22A8") // _CID: Compatible ID
  13653. Name (_DDN, "Intel(R) Audio Machine Driver - AMCR0F28") // _DDN: DOS Device Name
  13654. Name (_UID, One) // _UID: Unique ID
  13655. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  13656. {
  13657. Name (RBUF, ResourceTemplate ()
  13658. {
  13659. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  13660. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  13661. )
  13662. { // Pin list
  13663. 0x0004
  13664. }
  13665. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  13666. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  13667. )
  13668. { // Pin list
  13669. 0x001B
  13670. }
  13671. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  13672. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  13673. )
  13674. { // Pin list
  13675. 0x001C
  13676. }
  13677. })
  13678. Return (RBUF) /* \_SB_.PCI0.AMCR._CRS.RBUF */
  13679. }
  13680.  
  13681. Method (_STA, 0, NotSerialized) // _STA: Status
  13682. {
  13683. If (BDID == One)
  13684. {
  13685. Return (Zero)
  13686. }
  13687.  
  13688. If (OSID != One)
  13689. {
  13690. Return (0x0F)
  13691. }
  13692.  
  13693. Return (Zero)
  13694. }
  13695. }
  13696.  
  13697. Device (TIMC)
  13698. {
  13699. Name (_ADR, Zero) // _ADR: Address
  13700. Name (_HID, "TIMC22A8") // _HID: Hardware ID
  13701. Name (_CID, "TIMC22A8") // _CID: Compatible ID
  13702. Name (_DDN, "Intel(R) Audio Machine Driver - TIMC22A8") // _DDN: DOS Device Name
  13703. Name (_UID, One) // _UID: Unique ID
  13704. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  13705. {
  13706. Name (RBUF, ResourceTemplate ()
  13707. {
  13708. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  13709. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  13710. )
  13711. { // Pin list
  13712. 0x0004
  13713. }
  13714. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  13715. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  13716. )
  13717. { // Pin list
  13718. 0x001B
  13719. }
  13720. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  13721. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  13722. )
  13723. { // Pin list
  13724. 0x001C
  13725. }
  13726. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  13727. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  13728. )
  13729. { // Pin list
  13730. 0x0000
  13731. }
  13732. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  13733. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  13734. )
  13735. { // Pin list
  13736. 0x0041
  13737. }
  13738. })
  13739. Return (RBUF) /* \_SB_.PCI0.TIMC._CRS.RBUF */
  13740. }
  13741.  
  13742. Method (_STA, 0, NotSerialized) // _STA: Status
  13743. {
  13744. If ((OSID != One) && (BDID == One))
  13745. {
  13746. Return (0x0F)
  13747. }
  13748.  
  13749. Return (Zero)
  13750. }
  13751. }
  13752.  
  13753. Device (HAD0)
  13754. {
  13755. Name (_ADR, Zero) // _ADR: Address
  13756. Name (_HID, "HAD022A8") // _HID: Hardware ID
  13757. Name (_CID, "HAD022A8") // _CID: Compatible ID
  13758. Name (_DDN, "Intel(R) HDMI Audio Driver - HAD") // _DDN: DOS Device Name
  13759. Name (_UID, One) // _UID: Unique ID
  13760. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  13761. {
  13762. Name (RBUF, ResourceTemplate ()
  13763. {
  13764. Memory32Fixed (ReadWrite,
  13765. 0x00065800, // Address Base
  13766. 0x00000140, // Address Length
  13767. )
  13768. })
  13769. Return (RBUF) /* \_SB_.PCI0.HAD0._CRS.RBUF */
  13770. }
  13771.  
  13772. Method (_STA, 0, NotSerialized) // _STA: Status
  13773. {
  13774. If (OSID != One)
  13775. {
  13776. Return (0x0F)
  13777. }
  13778.  
  13779. Return (Zero)
  13780. }
  13781. }
  13782.  
  13783. Device (SPRC)
  13784. {
  13785. Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
  13786. Name (_UID, 0x03) // _UID: Unique ID
  13787. Name (RBUF, ResourceTemplate ()
  13788. {
  13789. Memory32Fixed (ReadWrite,
  13790. 0x00000000, // Address Base
  13791. 0x00000000, // Address Length
  13792. _Y27)
  13793. Memory32Fixed (ReadWrite,
  13794. 0x00000000, // Address Base
  13795. 0x00000000, // Address Length
  13796. _Y28)
  13797. Memory32Fixed (ReadWrite,
  13798. 0x00000000, // Address Base
  13799. 0x00000000, // Address Length
  13800. _Y29)
  13801. Memory32Fixed (ReadWrite,
  13802. 0x00000000, // Address Base
  13803. 0x00000000, // Address Length
  13804. _Y2A)
  13805. Memory32Fixed (ReadWrite,
  13806. 0x00000000, // Address Base
  13807. 0x00000000, // Address Length
  13808. _Y2B)
  13809. Memory32Fixed (ReadWrite,
  13810. 0x00000000, // Address Base
  13811. 0x00000000, // Address Length
  13812. _Y2C)
  13813. Memory32Fixed (ReadWrite,
  13814. 0x00000000, // Address Base
  13815. 0x00000000, // Address Length
  13816. _Y2D)
  13817. Memory32Fixed (ReadWrite,
  13818. 0x00000000, // Address Base
  13819. 0x00000000, // Address Length
  13820. _Y2E)
  13821. Memory32Fixed (ReadWrite,
  13822. 0x00000000, // Address Base
  13823. 0x00000000, // Address Length
  13824. _Y2F)
  13825. Memory32Fixed (ReadWrite,
  13826. 0x00000000, // Address Base
  13827. 0x00000000, // Address Length
  13828. _Y30)
  13829. Memory32Fixed (ReadWrite,
  13830. 0x00000000, // Address Base
  13831. 0x00000000, // Address Length
  13832. _Y31)
  13833. Memory32Fixed (ReadWrite,
  13834. 0x00000000, // Address Base
  13835. 0x00000000, // Address Length
  13836. _Y32)
  13837. Memory32Fixed (ReadWrite,
  13838. 0x00000000, // Address Base
  13839. 0x00000000, // Address Length
  13840. _Y33)
  13841. Memory32Fixed (ReadWrite,
  13842. 0x00000000, // Address Base
  13843. 0x00000000, // Address Length
  13844. _Y34)
  13845. Memory32Fixed (ReadWrite,
  13846. 0x00000000, // Address Base
  13847. 0x00000000, // Address Length
  13848. _Y35)
  13849. Memory32Fixed (ReadWrite,
  13850. 0x00000000, // Address Base
  13851. 0x00000000, // Address Length
  13852. _Y36)
  13853. Memory32Fixed (ReadWrite,
  13854. 0x00000000, // Address Base
  13855. 0x00000000, // Address Length
  13856. _Y37)
  13857. Memory32Fixed (ReadWrite,
  13858. 0x00000000, // Address Base
  13859. 0x00000000, // Address Length
  13860. _Y38)
  13861. Memory32Fixed (ReadWrite,
  13862. 0x00000000, // Address Base
  13863. 0x00000000, // Address Length
  13864. _Y39)
  13865. })
  13866. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  13867. {
  13868. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y27._BAS, BR01) // _BAS: Base Address
  13869. BR01 = EM1A /* \EM1A */
  13870. If ((BR01 != Zero) && (BR01 != 0xFFFFF000))
  13871. {
  13872. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y27._LEN, LN01) // _LEN: Length
  13873. LN01 = EM1L /* \EM1L */
  13874. }
  13875.  
  13876. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y28._BAS, BR02) // _BAS: Base Address
  13877. BR02 = SI1A /* \SI1A */
  13878. If ((BR02 != Zero) && (BR02 != 0xFFFFF000))
  13879. {
  13880. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y28._LEN, LN02) // _LEN: Length
  13881. LN02 = SI1L /* \SI1L */
  13882. }
  13883.  
  13884. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y29._BAS, BR03) // _BAS: Base Address
  13885. BR03 = SD1A /* \SD1A */
  13886. If ((BR03 != Zero) && (BR03 != 0xFFFFF000))
  13887. {
  13888. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y29._LEN, LN03) // _LEN: Length
  13889. LN03 = SD1L /* \SD1L */
  13890. }
  13891.  
  13892. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2A._BAS, BR04) // _BAS: Base Address
  13893. BR04 = D11A /* \D11A */
  13894. If ((BR04 != Zero) && (BR04 != 0xFFFFF000))
  13895. {
  13896. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2A._LEN, LN04) // _LEN: Length
  13897. LN04 = D11L /* \D11L */
  13898. }
  13899.  
  13900. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2B._BAS, BR05) // _BAS: Base Address
  13901. BR05 = P11A /* \P11A */
  13902. If ((BR05 != Zero) && (BR05 != 0xFFFFF000))
  13903. {
  13904. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2B._LEN, LN05) // _LEN: Length
  13905. LN05 = P11L /* \P11L */
  13906. }
  13907.  
  13908. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2C._BAS, BR06) // _BAS: Base Address
  13909. BR06 = P21A /* \P21A */
  13910. If ((BR06 != Zero) && (BR06 != 0xFFFFF000))
  13911. {
  13912. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2C._LEN, LN06) // _LEN: Length
  13913. LN06 = P21L /* \P21L */
  13914. }
  13915.  
  13916. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2D._BAS, BR07) // _BAS: Base Address
  13917. BR07 = U11A /* \U11A */
  13918. If ((BR07 != Zero) && (BR07 != 0xFFFFF000))
  13919. {
  13920. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2D._LEN, LN07) // _LEN: Length
  13921. LN07 = U11L /* \U11L */
  13922. }
  13923.  
  13924. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2E._BAS, BR08) // _BAS: Base Address
  13925. BR08 = U21A /* \U21A */
  13926. If ((BR08 != Zero) && (BR08 != 0xFFFFF000))
  13927. {
  13928. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2E._LEN, LN08) // _LEN: Length
  13929. LN08 = U21L /* \U21L */
  13930. }
  13931.  
  13932. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2F._BAS, BR09) // _BAS: Base Address
  13933. BR09 = SP1A /* \SP1A */
  13934. If ((BR09 != Zero) && (BR09 != 0xFFFFF000))
  13935. {
  13936. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2F._LEN, LN09) // _LEN: Length
  13937. LN09 = SP1L /* \SP1L */
  13938. }
  13939.  
  13940. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y30._BAS, BR10) // _BAS: Base Address
  13941. BR10 = S21A /* \S21A */
  13942. If ((BR10 != Zero) && (BR10 != 0xFFFFF000))
  13943. {
  13944. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y30._LEN, LN10) // _LEN: Length
  13945. LN10 = S21L /* \S21L */
  13946. }
  13947.  
  13948. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y31._BAS, BR11) // _BAS: Base Address
  13949. BR11 = S31A /* \S31A */
  13950. If ((BR11 != Zero) && (BR11 != 0xFFFFF000))
  13951. {
  13952. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y31._LEN, LN11) // _LEN: Length
  13953. LN11 = S31L /* \S31L */
  13954. }
  13955.  
  13956. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y32._BAS, BR12) // _BAS: Base Address
  13957. BR12 = D21A /* \D21A */
  13958. If ((BR12 != Zero) && (BR12 != 0xFFFFF000))
  13959. {
  13960. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y32._LEN, LN12) // _LEN: Length
  13961. LN12 = D21L /* \D21L */
  13962. }
  13963.  
  13964. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y33._BAS, BR13) // _BAS: Base Address
  13965. BR13 = I11A /* \I11A */
  13966. If ((BR13 != Zero) && (BR13 != 0xFFFFF000))
  13967. {
  13968. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y33._LEN, LN13) // _LEN: Length
  13969. LN13 = I11L /* \I11L */
  13970. }
  13971.  
  13972. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y34._BAS, BR14) // _BAS: Base Address
  13973. BR14 = I21A /* \I21A */
  13974. If ((BR14 != Zero) && (BR14 != 0xFFFFF000))
  13975. {
  13976. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y34._LEN, LN14) // _LEN: Length
  13977. LN14 = I21L /* \I21L */
  13978. }
  13979.  
  13980. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y35._BAS, BR15) // _BAS: Base Address
  13981. BR15 = I31A /* \I31A */
  13982. If ((BR15 != Zero) && (BR15 != 0xFFFFF000))
  13983. {
  13984. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y35._LEN, LN15) // _LEN: Length
  13985. LN15 = I31L /* \I31L */
  13986. }
  13987.  
  13988. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y36._BAS, BR16) // _BAS: Base Address
  13989. BR16 = I41A /* \I41A */
  13990. If ((BR16 != Zero) && (BR16 != 0xFFFFF000))
  13991. {
  13992. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y36._LEN, LN16) // _LEN: Length
  13993. LN16 = I41L /* \I41L */
  13994. }
  13995.  
  13996. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y37._BAS, BR17) // _BAS: Base Address
  13997. BR17 = I51A /* \I51A */
  13998. If ((BR17 != Zero) && (BR17 != 0xFFFFF000))
  13999. {
  14000. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y37._LEN, LN17) // _LEN: Length
  14001. LN17 = I51L /* \I51L */
  14002. }
  14003.  
  14004. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y38._BAS, BR18) // _BAS: Base Address
  14005. BR18 = I61A /* \I61A */
  14006. If ((BR18 != Zero) && (BR18 != 0xFFFFF000))
  14007. {
  14008. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y38._LEN, LN18) // _LEN: Length
  14009. LN18 = I61L /* \I61L */
  14010. }
  14011.  
  14012. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y39._BAS, BR19) // _BAS: Base Address
  14013. BR19 = I71A /* \I71A */
  14014. If ((BR19 != Zero) && (BR19 != 0xFFFFF000))
  14015. {
  14016. CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y39._LEN, LN19) // _LEN: Length
  14017. LN19 = I71L /* \I71L */
  14018. }
  14019.  
  14020. Return (RBUF) /* \_SB_.PCI0.SPRC.RBUF */
  14021. }
  14022. }
  14023.  
  14024. Scope (SEC0)
  14025. {
  14026. Name (AHID, "TXE8086")
  14027. Name (_DEP, Package (0x01) // _DEP: Dependencies
  14028. {
  14029. PEPD
  14030. })
  14031. Name (_S0W, 0x03) // _S0W: S0 Device Wake State
  14032. OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
  14033. Field (PMEB, WordAcc, NoLock, Preserve)
  14034. {
  14035. Offset (0x01),
  14036. PMEE, 1,
  14037. , 6,
  14038. PMES, 1
  14039. }
  14040.  
  14041. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  14042. {
  14043. }
  14044.  
  14045. Name (RBUF, ResourceTemplate ()
  14046. {
  14047. Memory32Fixed (ReadWrite,
  14048. 0x00000000, // Address Base
  14049. 0x00000000, // Address Length
  14050. _Y3A)
  14051. })
  14052. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  14053. {
  14054. If (((OSYS == 0x07DF) || (OSID == 0x04)) && (PAVL !=
  14055. Zero))
  14056. {
  14057. CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y3A._BAS, B0BA) // _BAS: Base Address
  14058. CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y3A._LEN, B0LN) // _LEN: Length
  14059. B0BA = PAVB /* \PAVB */
  14060. B0LN = PAVL /* \PAVL */
  14061. Return (RBUF) /* \_SB_.PCI0.SEC0.RBUF */
  14062. }
  14063.  
  14064. Return (ResourceTemplate ()
  14065. {
  14066. })
  14067. }
  14068.  
  14069. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  14070. {
  14071. }
  14072. }
  14073.  
  14074. Device (BRCM)
  14075. {
  14076. Name (_ADR, One) // _ADR: Address
  14077. Name (_DEP, Package (0x02) // _DEP: Dependencies
  14078. {
  14079. GPO2,
  14080. GPO3
  14081. })
  14082. Name (_HID, "BCM4356") // _HID: Hardware ID
  14083. Name (_CID, "BCM4356") // _CID: Compatible ID
  14084. Method (_STA, 0, NotSerialized) // _STA: Status
  14085. {
  14086. If ((BDID != 0x08) && (BDID != 0x0A))
  14087. {
  14088. Return (Zero)
  14089. }
  14090.  
  14091. If ((OSID == 0x04) && (BTHM == One))
  14092. {
  14093. Return (0x0F)
  14094. }
  14095.  
  14096. Return (Zero)
  14097. }
  14098.  
  14099. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  14100. {
  14101. Return (Zero)
  14102. }
  14103.  
  14104. Name (_S4W, 0x02) // _S4W: S4 Device Wake State
  14105. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  14106. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  14107. {
  14108. Name (RBUF, ResourceTemplate ()
  14109. {
  14110. Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
  14111. {
  14112. 0x00000044,
  14113. }
  14114. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  14115. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  14116. )
  14117. { // Pin list
  14118. 0x000A
  14119. }
  14120. GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
  14121. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  14122. )
  14123. { // Pin list
  14124. 0x004B
  14125. }
  14126. })
  14127. Return (RBUF) /* \_SB_.PCI0.BRCM._CRS.RBUF */
  14128. }
  14129.  
  14130. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  14131. {
  14132. If (^^^GPO3.AVBL == One)
  14133. {
  14134. ^^^GPO3.WFD3 = Zero
  14135. }
  14136. }
  14137.  
  14138. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  14139. {
  14140. If (^^^GPO3.AVBL == One)
  14141. {
  14142. ^^^GPO3.WFD3 = One
  14143. }
  14144. }
  14145. }
  14146.  
  14147. Device (LNPW)
  14148. {
  14149. Name (_ADR, One) // _ADR: Address
  14150. Name (_DEP, Package (0x02) // _DEP: Dependencies
  14151. {
  14152. GPO2,
  14153. GPO3
  14154. })
  14155. Name (_HID, "INT8260") // _HID: Hardware ID
  14156. Name (_CID, "INT8260") // _CID: Compatible ID
  14157. Method (_STA, 0, NotSerialized) // _STA: Status
  14158. {
  14159. If (OSID == 0x04)
  14160. {
  14161. If ((BTHM == 0x03) || ((BDID == 0x09) || (BDID == 0x0A)))
  14162. {
  14163. Return (0x0F)
  14164. }
  14165. }
  14166.  
  14167. Return (Zero)
  14168. }
  14169.  
  14170. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  14171. {
  14172. Return (Zero)
  14173. }
  14174.  
  14175. Name (_S4W, 0x02) // _S4W: S4 Device Wake State
  14176. Name (_S0W, 0x02) // _S0W: S0 Device Wake State
  14177. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  14178. {
  14179. Name (RBUF, ResourceTemplate ()
  14180. {
  14181. Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
  14182. {
  14183. 0x00000044,
  14184. }
  14185. GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  14186. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  14187. )
  14188. { // Pin list
  14189. 0x000A
  14190. }
  14191. })
  14192. Return (RBUF) /* \_SB_.PCI0.LNPW._CRS.RBUF */
  14193. }
  14194.  
  14195. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  14196. {
  14197. If (^^^GPO3.AVBL == One)
  14198. {
  14199. ^^^GPO3.WFD3 = Zero
  14200. }
  14201. }
  14202.  
  14203. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  14204. {
  14205. If (^^^GPO3.AVBL == One)
  14206. {
  14207. ^^^GPO3.WFD3 = One
  14208. }
  14209. }
  14210. }
  14211. }
  14212.  
  14213. Scope (_SB.PCI0)
  14214. {
  14215. Scope (ISP3)
  14216. {
  14217. Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot
  14218. {
  14219. Return (Package (0x01)
  14220. {
  14221. ID3C
  14222. })
  14223. }
  14224.  
  14225. PowerResource (ID3C, 0x00, 0x0000)
  14226. {
  14227. Method (_STA, 0, NotSerialized) // _STA: Status
  14228. {
  14229. If (ISPD == 0x02)
  14230. {
  14231. Return (0x0F)
  14232. }
  14233. Else
  14234. {
  14235. Return (Zero)
  14236. }
  14237. }
  14238.  
  14239. Method (_ON, 0, NotSerialized) // _ON_: Power On
  14240. {
  14241. }
  14242.  
  14243. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  14244. {
  14245. }
  14246. }
  14247. }
  14248.  
  14249. Scope (GFX0)
  14250. {
  14251. Name (PWMB, Zero)
  14252. Name (CPR0, Package (0x01)
  14253. {
  14254. P33X
  14255. })
  14256. Name (UPR0, Package (0x01)
  14257. {
  14258. P33W
  14259. })
  14260. Name (VPR0, Package (0x02)
  14261. {
  14262. P18W,
  14263. P33W
  14264. })
  14265. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  14266. {
  14267. P06X
  14268. })
  14269. Name (TPR0, Package (0x02)
  14270. {
  14271. P12T,
  14272. P12A
  14273. })
  14274. Name (CDEP, Package (0x03)
  14275. {
  14276. PEPD,
  14277. I2C7,
  14278. ^I2C7.PMIC
  14279. })
  14280. Name (_DEP, Package (0x03) // _DEP: Dependencies
  14281. {
  14282. PEPD,
  14283. I2C7,
  14284. ^I2C7.PMI1
  14285. })
  14286. Name (TDEP, Package (0x03)
  14287. {
  14288. PEPD,
  14289. I2C7,
  14290. ^I2C7.PMI2
  14291. })
  14292. Name (WDEP, Package (0x03)
  14293. {
  14294. PEPD,
  14295. I2C7,
  14296. ^I2C7.PMI5
  14297. })
  14298. Name (PDEP, Package (0x01)
  14299. {
  14300. PEPD
  14301. })
  14302. Name (SBUF, ResourceTemplate ()
  14303. {
  14304. I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
  14305. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  14306. 0x00, ResourceConsumer, , Exclusive,
  14307. )
  14308. })
  14309. Name (RBUF, ResourceTemplate ()
  14310. {
  14311. I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
  14312. AddressingMode7Bit, "\\_SB.PCI0.I2C6",
  14313. 0x00, ResourceConsumer, , Exclusive,
  14314. )
  14315. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  14316. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  14317. )
  14318. { // Pin list
  14319. 0x0048
  14320. }
  14321. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  14322. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  14323. )
  14324. { // Pin list
  14325. 0x003C
  14326. }
  14327. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  14328. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  14329. )
  14330. { // Pin list
  14331. 0x0045
  14332. }
  14333. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  14334. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  14335. )
  14336. { // Pin list
  14337. 0x0046
  14338. }
  14339. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  14340. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  14341. )
  14342. { // Pin list
  14343. 0x003F
  14344. }
  14345. })
  14346. Name (ABUF, ResourceTemplate ()
  14347. {
  14348. })
  14349. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  14350. {
  14351. If (OSID == 0x04)
  14352. {
  14353. Return (ABUF) /* \_SB_.PCI0.GFX0.ABUF */
  14354. }
  14355.  
  14356. If ((BDID == 0x08) || (BDID == 0x0A))
  14357. {
  14358. Return (SBUF) /* \_SB_.PCI0.GFX0.SBUF */
  14359. }
  14360. Else
  14361. {
  14362. Return (RBUF) /* \_SB_.PCI0.GFX0.RBUF */
  14363. }
  14364. }
  14365.  
  14366. Name (_S0W, 0x03) // _S0W: S0 Device Wake State
  14367. OperationRegion (LPS2, SystemMemory, P11A, 0x0100)
  14368. Field (LPS2, DWordAcc, NoLock, WriteAsZeros)
  14369. {
  14370. Offset (0x10),
  14371. BR0P, 32,
  14372. Offset (0x84),
  14373. PSAT, 32
  14374. }
  14375.  
  14376. OperationRegion (POP1, SystemMemory, BR0P, 0x0810)
  14377. Field (POP1, DWordAcc, NoLock, Preserve)
  14378. {
  14379. PWMC, 32,
  14380. Offset (0x804),
  14381. RSTA, 1,
  14382. RSTF, 1,
  14383. Offset (0x808)
  14384. }
  14385.  
  14386. OperationRegion (PMCS, PCI_Config, 0xD4, 0x08)
  14387. Field (PMCS, DWordAcc, NoLock, Preserve)
  14388. {
  14389. PSPS, 32
  14390. }
  14391.  
  14392. Method (_PS0, 0, Serialized) // _PS0: Power State 0
  14393. {
  14394. Local0 = ^^^MBID.READ (0x04, 0xD5, 0x0F)
  14395. Local0 &= 0xFFFFFFFE
  14396. ^^^MBID.WRIT (0x04, 0xD5, 0x0F, Local0)
  14397. Local0 = ^^^MBID.READ (0x04, 0xD5, 0x0F)
  14398. If (OSID != 0x04)
  14399. {
  14400. If ((L11D != One) && (SOCS >= 0x10))
  14401. {
  14402. Local0 = PSAT /* \_SB_.PCI0.GFX0.PSAT */
  14403. If ((Local0 & 0x03) == 0x03)
  14404. {
  14405. PSAT &= 0xFFFFFFFC
  14406. Local1 = PSAT /* \_SB_.PCI0.GFX0.PSAT */
  14407. RSTA = Zero
  14408. RSTF = Zero
  14409. RSTA = One
  14410. RSTF = One
  14411. PWMB |= 0xC0000000
  14412. PWMC = PWMB /* \_SB_.PCI0.GFX0.PWMB */
  14413. }
  14414. }
  14415. }
  14416. }
  14417.  
  14418. Method (_PS3, 0, Serialized) // _PS3: Power State 3
  14419. {
  14420. Local0 = ^^^MBID.READ (0x04, 0xD5, 0x0F)
  14421. Local0 |= One
  14422. ^^^MBID.WRIT (0x04, 0xD5, 0x0F, Local0)
  14423. Local0 = ^^^MBID.READ (0x04, 0xD5, 0x0F)
  14424. Notify (\_PR.CPU0, 0xC0) // Hardware-Specific
  14425. Notify (\_PR.CPU1, 0xC0) // Hardware-Specific
  14426. Notify (\_PR.CPU2, 0xC0) // Hardware-Specific
  14427. Notify (\_PR.CPU3, 0xC0) // Hardware-Specific
  14428. If (OSID != 0x04)
  14429. {
  14430. If ((L11D != One) && (SOCS >= 0x10))
  14431. {
  14432. Local2 = PSPS /* \_SB_.PCI0.GFX0.PSPS */
  14433. Local2 &= 0x03
  14434. If (Local2 == 0x03)
  14435. {
  14436. PWMB = PWMC /* \_SB_.PCI0.GFX0.PWMC */
  14437. PWMB &= 0x3FFFFFFF
  14438. PWMC = PWMB /* \_SB_.PCI0.GFX0.PWMB */
  14439. PSAT |= 0x03
  14440. Local0 = PSAT /* \_SB_.PCI0.GFX0.PSAT */
  14441. }
  14442. }
  14443. }
  14444. }
  14445.  
  14446. Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
  14447. {
  14448. DSEN = And (Arg0, 0x07)
  14449. }
  14450.  
  14451. Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
  14452. {
  14453. NDID = Zero
  14454. If (DIDL != Zero)
  14455. {
  14456. DID1 = SDDL (DIDL)
  14457. }
  14458.  
  14459. If (DDL2 != Zero)
  14460. {
  14461. DID2 = SDDL (DDL2)
  14462. }
  14463.  
  14464. If (DDL3 != Zero)
  14465. {
  14466. DID3 = SDDL (DDL3)
  14467. }
  14468.  
  14469. If (DDL4 != Zero)
  14470. {
  14471. DID4 = SDDL (DDL4)
  14472. }
  14473.  
  14474. If (DDL5 != Zero)
  14475. {
  14476. DID5 = SDDL (DDL5)
  14477. }
  14478.  
  14479. If (NDID == One)
  14480. {
  14481. Name (TMP1, Package (0x02)
  14482. {
  14483. 0xFFFFFFFF,
  14484. 0xFFFFFFFF
  14485. })
  14486. TMP1 [Zero] = Or (0x00010000, DID1)
  14487. TMP1 [One] = 0x000222B8
  14488. Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */
  14489. }
  14490.  
  14491. If (NDID == 0x02)
  14492. {
  14493. Name (TMP2, Package (0x03)
  14494. {
  14495. 0xFFFFFFFF,
  14496. 0xFFFFFFFF,
  14497. 0xFFFFFFFF
  14498. })
  14499. TMP2 [Zero] = Or (0x00010000, DID1)
  14500. TMP2 [One] = Or (0x00010000, DID2)
  14501. TMP2 [0x02] = 0x000222B8
  14502. Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */
  14503. }
  14504.  
  14505. If (NDID == 0x03)
  14506. {
  14507. Name (TMP3, Package (0x04)
  14508. {
  14509. 0xFFFFFFFF,
  14510. 0xFFFFFFFF,
  14511. 0xFFFFFFFF,
  14512. 0xFFFFFFFF
  14513. })
  14514. TMP3 [Zero] = Or (0x00010000, DID1)
  14515. TMP3 [One] = Or (0x00010000, DID2)
  14516. TMP3 [0x02] = Or (0x00010000, DID3)
  14517. TMP3 [0x03] = 0x000222B8
  14518. Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */
  14519. }
  14520.  
  14521. If (NDID == 0x04)
  14522. {
  14523. Name (TMP4, Package (0x05)
  14524. {
  14525. 0xFFFFFFFF,
  14526. 0xFFFFFFFF,
  14527. 0xFFFFFFFF,
  14528. 0xFFFFFFFF,
  14529. 0xFFFFFFFF
  14530. })
  14531. TMP4 [Zero] = Or (0x00010000, DID1)
  14532. TMP4 [One] = Or (0x00010000, DID2)
  14533. TMP4 [0x02] = Or (0x00010000, DID3)
  14534. TMP4 [0x03] = Or (0x00010000, DID4)
  14535. TMP4 [0x04] = 0x000222B8
  14536. Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */
  14537. }
  14538.  
  14539. If (NDID > 0x04)
  14540. {
  14541. Name (TMP5, Package (0x06)
  14542. {
  14543. 0xFFFFFFFF,
  14544. 0xFFFFFFFF,
  14545. 0xFFFFFFFF,
  14546. 0xFFFFFFFF,
  14547. 0xFFFFFFFF,
  14548. 0xFFFFFFFF
  14549. })
  14550. TMP5 [Zero] = Or (0x00010000, DID1)
  14551. TMP5 [One] = Or (0x00010000, DID2)
  14552. TMP5 [0x02] = Or (0x00010000, DID3)
  14553. TMP5 [0x03] = Or (0x00010000, DID4)
  14554. TMP5 [0x04] = Or (0x00010000, DID5)
  14555. TMP5 [0x05] = 0x000222B8
  14556. Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */
  14557. }
  14558.  
  14559. Return (Package (0x02)
  14560. {
  14561. 0x0400,
  14562. 0x000222B8
  14563. })
  14564. }
  14565.  
  14566. Device (DD01)
  14567. {
  14568. Method (_ADR, 0, Serialized) // _ADR: Address
  14569. {
  14570. If (DID1 == Zero)
  14571. {
  14572. Return (One)
  14573. }
  14574. Else
  14575. {
  14576. Return ((0xFFFF & DID1))
  14577. }
  14578. }
  14579.  
  14580. Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
  14581. {
  14582. Return (CDDS (DID1))
  14583. }
  14584.  
  14585. Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
  14586. {
  14587. Return (NDDS (DID1))
  14588. }
  14589.  
  14590. Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
  14591. {
  14592. If ((Arg0 & 0xC0000000) == 0xC0000000)
  14593. {
  14594. CSTE = NSTE /* \NSTE */
  14595. }
  14596. }
  14597.  
  14598. Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
  14599. {
  14600. Return (Package (0x66)
  14601. {
  14602. 0x50,
  14603. 0x32,
  14604. One,
  14605. 0x02,
  14606. 0x03,
  14607. 0x04,
  14608. 0x05,
  14609. 0x06,
  14610. 0x07,
  14611. 0x08,
  14612. 0x09,
  14613. 0x0A,
  14614. 0x0B,
  14615. 0x0C,
  14616. 0x0D,
  14617. 0x0E,
  14618. 0x0F,
  14619. 0x10,
  14620. 0x11,
  14621. 0x12,
  14622. 0x13,
  14623. 0x14,
  14624. 0x15,
  14625. 0x16,
  14626. 0x17,
  14627. 0x18,
  14628. 0x19,
  14629. 0x1A,
  14630. 0x1B,
  14631. 0x1C,
  14632. 0x1D,
  14633. 0x1E,
  14634. 0x1F,
  14635. 0x20,
  14636. 0x21,
  14637. 0x22,
  14638. 0x23,
  14639. 0x24,
  14640. 0x25,
  14641. 0x26,
  14642. 0x27,
  14643. 0x28,
  14644. 0x29,
  14645. 0x2A,
  14646. 0x2B,
  14647. 0x2C,
  14648. 0x2D,
  14649. 0x2E,
  14650. 0x2F,
  14651. 0x30,
  14652. 0x31,
  14653. 0x32,
  14654. 0x33,
  14655. 0x34,
  14656. 0x35,
  14657. 0x36,
  14658. 0x37,
  14659. 0x38,
  14660. 0x39,
  14661. 0x3A,
  14662. 0x3B,
  14663. 0x3C,
  14664. 0x3D,
  14665. 0x3E,
  14666. 0x3F,
  14667. 0x40,
  14668. 0x41,
  14669. 0x42,
  14670. 0x43,
  14671. 0x44,
  14672. 0x45,
  14673. 0x46,
  14674. 0x47,
  14675. 0x48,
  14676. 0x49,
  14677. 0x4A,
  14678. 0x4B,
  14679. 0x4C,
  14680. 0x4D,
  14681. 0x4E,
  14682. 0x4F,
  14683. 0x50,
  14684. 0x51,
  14685. 0x52,
  14686. 0x53,
  14687. 0x54,
  14688. 0x55,
  14689. 0x56,
  14690. 0x57,
  14691. 0x58,
  14692. 0x59,
  14693. 0x5A,
  14694. 0x5B,
  14695. 0x5C,
  14696. 0x5D,
  14697. 0x5E,
  14698. 0x5F,
  14699. 0x60,
  14700. 0x61,
  14701. 0x62,
  14702. 0x63,
  14703. 0x64
  14704. })
  14705. }
  14706.  
  14707. Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
  14708. {
  14709. If ((Arg0 >= Zero) && (Arg0 <= 0x64))
  14710. {
  14711. AINT (One, Arg0)
  14712. BRTL = Arg0
  14713. }
  14714. }
  14715.  
  14716. Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
  14717. {
  14718. Return (BRTL) /* \BRTL */
  14719. }
  14720. }
  14721.  
  14722. Device (DD02)
  14723. {
  14724. Method (_ADR, 0, Serialized) // _ADR: Address
  14725. {
  14726. If (DID2 == Zero)
  14727. {
  14728. Return (0x02)
  14729. }
  14730. Else
  14731. {
  14732. Return ((0xFFFF & DID2))
  14733. }
  14734. }
  14735.  
  14736. Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
  14737. {
  14738. Return (CDDS (DID2))
  14739. }
  14740.  
  14741. Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
  14742. {
  14743. Return (NDDS (DID2))
  14744. }
  14745.  
  14746. Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
  14747. {
  14748. If ((Arg0 & 0xC0000000) == 0xC0000000)
  14749. {
  14750. CSTE = NSTE /* \NSTE */
  14751. }
  14752. }
  14753.  
  14754. Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
  14755. {
  14756. Return (Package (0x66)
  14757. {
  14758. 0x50,
  14759. 0x32,
  14760. One,
  14761. 0x02,
  14762. 0x03,
  14763. 0x04,
  14764. 0x05,
  14765. 0x06,
  14766. 0x07,
  14767. 0x08,
  14768. 0x09,
  14769. 0x0A,
  14770. 0x0B,
  14771. 0x0C,
  14772. 0x0D,
  14773. 0x0E,
  14774. 0x0F,
  14775. 0x10,
  14776. 0x11,
  14777. 0x12,
  14778. 0x13,
  14779. 0x14,
  14780. 0x15,
  14781. 0x16,
  14782. 0x17,
  14783. 0x18,
  14784. 0x19,
  14785. 0x1A,
  14786. 0x1B,
  14787. 0x1C,
  14788. 0x1D,
  14789. 0x1E,
  14790. 0x1F,
  14791. 0x20,
  14792. 0x21,
  14793. 0x22,
  14794. 0x23,
  14795. 0x24,
  14796. 0x25,
  14797. 0x26,
  14798. 0x27,
  14799. 0x28,
  14800. 0x29,
  14801. 0x2A,
  14802. 0x2B,
  14803. 0x2C,
  14804. 0x2D,
  14805. 0x2E,
  14806. 0x2F,
  14807. 0x30,
  14808. 0x31,
  14809. 0x32,
  14810. 0x33,
  14811. 0x34,
  14812. 0x35,
  14813. 0x36,
  14814. 0x37,
  14815. 0x38,
  14816. 0x39,
  14817. 0x3A,
  14818. 0x3B,
  14819. 0x3C,
  14820. 0x3D,
  14821. 0x3E,
  14822. 0x3F,
  14823. 0x40,
  14824. 0x41,
  14825. 0x42,
  14826. 0x43,
  14827. 0x44,
  14828. 0x45,
  14829. 0x46,
  14830. 0x47,
  14831. 0x48,
  14832. 0x49,
  14833. 0x4A,
  14834. 0x4B,
  14835. 0x4C,
  14836. 0x4D,
  14837. 0x4E,
  14838. 0x4F,
  14839. 0x50,
  14840. 0x51,
  14841. 0x52,
  14842. 0x53,
  14843. 0x54,
  14844. 0x55,
  14845. 0x56,
  14846. 0x57,
  14847. 0x58,
  14848. 0x59,
  14849. 0x5A,
  14850. 0x5B,
  14851. 0x5C,
  14852. 0x5D,
  14853. 0x5E,
  14854. 0x5F,
  14855. 0x60,
  14856. 0x61,
  14857. 0x62,
  14858. 0x63,
  14859. 0x64
  14860. })
  14861. }
  14862.  
  14863. Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
  14864. {
  14865. If ((Arg0 >= Zero) && (Arg0 <= 0x64))
  14866. {
  14867. AINT (One, Arg0)
  14868. BRTL = Arg0
  14869. }
  14870. }
  14871.  
  14872. Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
  14873. {
  14874. Return (BRTL) /* \BRTL */
  14875. }
  14876. }
  14877.  
  14878. Device (DD03)
  14879. {
  14880. Method (_ADR, 0, Serialized) // _ADR: Address
  14881. {
  14882. If (DID3 == Zero)
  14883. {
  14884. Return (0x03)
  14885. }
  14886. Else
  14887. {
  14888. Return ((0xFFFF & DID3))
  14889. }
  14890. }
  14891.  
  14892. Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
  14893. {
  14894. If (DID3 == Zero)
  14895. {
  14896. Return (0x0B)
  14897. }
  14898. Else
  14899. {
  14900. Return (CDDS (DID3))
  14901. }
  14902. }
  14903.  
  14904. Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
  14905. {
  14906. Return (NDDS (DID3))
  14907. }
  14908.  
  14909. Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
  14910. {
  14911. If ((Arg0 & 0xC0000000) == 0xC0000000)
  14912. {
  14913. CSTE = NSTE /* \NSTE */
  14914. }
  14915. }
  14916.  
  14917. Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
  14918. {
  14919. Return (Package (0x66)
  14920. {
  14921. 0x50,
  14922. 0x32,
  14923. One,
  14924. 0x02,
  14925. 0x03,
  14926. 0x04,
  14927. 0x05,
  14928. 0x06,
  14929. 0x07,
  14930. 0x08,
  14931. 0x09,
  14932. 0x0A,
  14933. 0x0B,
  14934. 0x0C,
  14935. 0x0D,
  14936. 0x0E,
  14937. 0x0F,
  14938. 0x10,
  14939. 0x11,
  14940. 0x12,
  14941. 0x13,
  14942. 0x14,
  14943. 0x15,
  14944. 0x16,
  14945. 0x17,
  14946. 0x18,
  14947. 0x19,
  14948. 0x1A,
  14949. 0x1B,
  14950. 0x1C,
  14951. 0x1D,
  14952. 0x1E,
  14953. 0x1F,
  14954. 0x20,
  14955. 0x21,
  14956. 0x22,
  14957. 0x23,
  14958. 0x24,
  14959. 0x25,
  14960. 0x26,
  14961. 0x27,
  14962. 0x28,
  14963. 0x29,
  14964. 0x2A,
  14965. 0x2B,
  14966. 0x2C,
  14967. 0x2D,
  14968. 0x2E,
  14969. 0x2F,
  14970. 0x30,
  14971. 0x31,
  14972. 0x32,
  14973. 0x33,
  14974. 0x34,
  14975. 0x35,
  14976. 0x36,
  14977. 0x37,
  14978. 0x38,
  14979. 0x39,
  14980. 0x3A,
  14981. 0x3B,
  14982. 0x3C,
  14983. 0x3D,
  14984. 0x3E,
  14985. 0x3F,
  14986. 0x40,
  14987. 0x41,
  14988. 0x42,
  14989. 0x43,
  14990. 0x44,
  14991. 0x45,
  14992. 0x46,
  14993. 0x47,
  14994. 0x48,
  14995. 0x49,
  14996. 0x4A,
  14997. 0x4B,
  14998. 0x4C,
  14999. 0x4D,
  15000. 0x4E,
  15001. 0x4F,
  15002. 0x50,
  15003. 0x51,
  15004. 0x52,
  15005. 0x53,
  15006. 0x54,
  15007. 0x55,
  15008. 0x56,
  15009. 0x57,
  15010. 0x58,
  15011. 0x59,
  15012. 0x5A,
  15013. 0x5B,
  15014. 0x5C,
  15015. 0x5D,
  15016. 0x5E,
  15017. 0x5F,
  15018. 0x60,
  15019. 0x61,
  15020. 0x62,
  15021. 0x63,
  15022. 0x64
  15023. })
  15024. }
  15025.  
  15026. Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
  15027. {
  15028. If ((Arg0 >= Zero) && (Arg0 <= 0x64))
  15029. {
  15030. AINT (One, Arg0)
  15031. BRTL = Arg0
  15032. }
  15033. }
  15034.  
  15035. Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
  15036. {
  15037. Return (BRTL) /* \BRTL */
  15038. }
  15039. }
  15040.  
  15041. Device (DD04)
  15042. {
  15043. Method (_ADR, 0, Serialized) // _ADR: Address
  15044. {
  15045. If (DID4 == Zero)
  15046. {
  15047. Return (0x04)
  15048. }
  15049. Else
  15050. {
  15051. Return ((0xFFFF & DID4))
  15052. }
  15053. }
  15054.  
  15055. Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
  15056. {
  15057. If (DID4 == Zero)
  15058. {
  15059. Return (0x0B)
  15060. }
  15061. Else
  15062. {
  15063. Return (CDDS (DID4))
  15064. }
  15065. }
  15066.  
  15067. Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
  15068. {
  15069. Return (NDDS (DID4))
  15070. }
  15071.  
  15072. Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
  15073. {
  15074. If ((Arg0 & 0xC0000000) == 0xC0000000)
  15075. {
  15076. CSTE = NSTE /* \NSTE */
  15077. }
  15078. }
  15079.  
  15080. Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
  15081. {
  15082. Return (Package (0x66)
  15083. {
  15084. 0x50,
  15085. 0x32,
  15086. One,
  15087. 0x02,
  15088. 0x03,
  15089. 0x04,
  15090. 0x05,
  15091. 0x06,
  15092. 0x07,
  15093. 0x08,
  15094. 0x09,
  15095. 0x0A,
  15096. 0x0B,
  15097. 0x0C,
  15098. 0x0D,
  15099. 0x0E,
  15100. 0x0F,
  15101. 0x10,
  15102. 0x11,
  15103. 0x12,
  15104. 0x13,
  15105. 0x14,
  15106. 0x15,
  15107. 0x16,
  15108. 0x17,
  15109. 0x18,
  15110. 0x19,
  15111. 0x1A,
  15112. 0x1B,
  15113. 0x1C,
  15114. 0x1D,
  15115. 0x1E,
  15116. 0x1F,
  15117. 0x20,
  15118. 0x21,
  15119. 0x22,
  15120. 0x23,
  15121. 0x24,
  15122. 0x25,
  15123. 0x26,
  15124. 0x27,
  15125. 0x28,
  15126. 0x29,
  15127. 0x2A,
  15128. 0x2B,
  15129. 0x2C,
  15130. 0x2D,
  15131. 0x2E,
  15132. 0x2F,
  15133. 0x30,
  15134. 0x31,
  15135. 0x32,
  15136. 0x33,
  15137. 0x34,
  15138. 0x35,
  15139. 0x36,
  15140. 0x37,
  15141. 0x38,
  15142. 0x39,
  15143. 0x3A,
  15144. 0x3B,
  15145. 0x3C,
  15146. 0x3D,
  15147. 0x3E,
  15148. 0x3F,
  15149. 0x40,
  15150. 0x41,
  15151. 0x42,
  15152. 0x43,
  15153. 0x44,
  15154. 0x45,
  15155. 0x46,
  15156. 0x47,
  15157. 0x48,
  15158. 0x49,
  15159. 0x4A,
  15160. 0x4B,
  15161. 0x4C,
  15162. 0x4D,
  15163. 0x4E,
  15164. 0x4F,
  15165. 0x50,
  15166. 0x51,
  15167. 0x52,
  15168. 0x53,
  15169. 0x54,
  15170. 0x55,
  15171. 0x56,
  15172. 0x57,
  15173. 0x58,
  15174. 0x59,
  15175. 0x5A,
  15176. 0x5B,
  15177. 0x5C,
  15178. 0x5D,
  15179. 0x5E,
  15180. 0x5F,
  15181. 0x60,
  15182. 0x61,
  15183. 0x62,
  15184. 0x63,
  15185. 0x64
  15186. })
  15187. }
  15188.  
  15189. Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
  15190. {
  15191. If ((Arg0 >= Zero) && (Arg0 <= 0x64))
  15192. {
  15193. AINT (One, Arg0)
  15194. BRTL = Arg0
  15195. }
  15196. }
  15197.  
  15198. Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
  15199. {
  15200. Return (BRTL) /* \BRTL */
  15201. }
  15202. }
  15203.  
  15204. Device (DD05)
  15205. {
  15206. Method (_ADR, 0, Serialized) // _ADR: Address
  15207. {
  15208. If (DID5 == Zero)
  15209. {
  15210. Return (0x05)
  15211. }
  15212. Else
  15213. {
  15214. Return ((0xFFFF & DID5))
  15215. }
  15216. }
  15217.  
  15218. Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
  15219. {
  15220. If (DID5 == Zero)
  15221. {
  15222. Return (0x0B)
  15223. }
  15224. Else
  15225. {
  15226. Return (CDDS (DID5))
  15227. }
  15228. }
  15229.  
  15230. Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
  15231. {
  15232. Return (NDDS (DID5))
  15233. }
  15234.  
  15235. Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
  15236. {
  15237. If ((Arg0 & 0xC0000000) == 0xC0000000)
  15238. {
  15239. CSTE = NSTE /* \NSTE */
  15240. }
  15241. }
  15242.  
  15243. Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
  15244. {
  15245. Return (Package (0x66)
  15246. {
  15247. 0x50,
  15248. 0x32,
  15249. One,
  15250. 0x02,
  15251. 0x03,
  15252. 0x04,
  15253. 0x05,
  15254. 0x06,
  15255. 0x07,
  15256. 0x08,
  15257. 0x09,
  15258. 0x0A,
  15259. 0x0B,
  15260. 0x0C,
  15261. 0x0D,
  15262. 0x0E,
  15263. 0x0F,
  15264. 0x10,
  15265. 0x11,
  15266. 0x12,
  15267. 0x13,
  15268. 0x14,
  15269. 0x15,
  15270. 0x16,
  15271. 0x17,
  15272. 0x18,
  15273. 0x19,
  15274. 0x1A,
  15275. 0x1B,
  15276. 0x1C,
  15277. 0x1D,
  15278. 0x1E,
  15279. 0x1F,
  15280. 0x20,
  15281. 0x21,
  15282. 0x22,
  15283. 0x23,
  15284. 0x24,
  15285. 0x25,
  15286. 0x26,
  15287. 0x27,
  15288. 0x28,
  15289. 0x29,
  15290. 0x2A,
  15291. 0x2B,
  15292. 0x2C,
  15293. 0x2D,
  15294. 0x2E,
  15295. 0x2F,
  15296. 0x30,
  15297. 0x31,
  15298. 0x32,
  15299. 0x33,
  15300. 0x34,
  15301. 0x35,
  15302. 0x36,
  15303. 0x37,
  15304. 0x38,
  15305. 0x39,
  15306. 0x3A,
  15307. 0x3B,
  15308. 0x3C,
  15309. 0x3D,
  15310. 0x3E,
  15311. 0x3F,
  15312. 0x40,
  15313. 0x41,
  15314. 0x42,
  15315. 0x43,
  15316. 0x44,
  15317. 0x45,
  15318. 0x46,
  15319. 0x47,
  15320. 0x48,
  15321. 0x49,
  15322. 0x4A,
  15323. 0x4B,
  15324. 0x4C,
  15325. 0x4D,
  15326. 0x4E,
  15327. 0x4F,
  15328. 0x50,
  15329. 0x51,
  15330. 0x52,
  15331. 0x53,
  15332. 0x54,
  15333. 0x55,
  15334. 0x56,
  15335. 0x57,
  15336. 0x58,
  15337. 0x59,
  15338. 0x5A,
  15339. 0x5B,
  15340. 0x5C,
  15341. 0x5D,
  15342. 0x5E,
  15343. 0x5F,
  15344. 0x60,
  15345. 0x61,
  15346. 0x62,
  15347. 0x63,
  15348. 0x64
  15349. })
  15350. }
  15351.  
  15352. Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
  15353. {
  15354. If ((Arg0 >= Zero) && (Arg0 <= 0x64))
  15355. {
  15356. AINT (One, Arg0)
  15357. BRTL = Arg0
  15358. }
  15359. }
  15360.  
  15361. Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
  15362. {
  15363. Return (BRTL) /* \BRTL */
  15364. }
  15365. }
  15366.  
  15367. Device (DD06)
  15368. {
  15369. Method (_ADR, 0, Serialized) // _ADR: Address
  15370. {
  15371. If (DID6 == Zero)
  15372. {
  15373. Return (0x06)
  15374. }
  15375. Else
  15376. {
  15377. Return ((0xFFFF & DID6))
  15378. }
  15379. }
  15380.  
  15381. Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
  15382. {
  15383. If (DID6 == Zero)
  15384. {
  15385. Return (0x0B)
  15386. }
  15387. Else
  15388. {
  15389. Return (CDDS (DID6))
  15390. }
  15391. }
  15392.  
  15393. Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
  15394. {
  15395. Return (NDDS (DID6))
  15396. }
  15397.  
  15398. Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
  15399. {
  15400. If ((Arg0 & 0xC0000000) == 0xC0000000)
  15401. {
  15402. CSTE = NSTE /* \NSTE */
  15403. }
  15404. }
  15405.  
  15406. Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
  15407. {
  15408. Return (Package (0x66)
  15409. {
  15410. 0x50,
  15411. 0x32,
  15412. One,
  15413. 0x02,
  15414. 0x03,
  15415. 0x04,
  15416. 0x05,
  15417. 0x06,
  15418. 0x07,
  15419. 0x08,
  15420. 0x09,
  15421. 0x0A,
  15422. 0x0B,
  15423. 0x0C,
  15424. 0x0D,
  15425. 0x0E,
  15426. 0x0F,
  15427. 0x10,
  15428. 0x11,
  15429. 0x12,
  15430. 0x13,
  15431. 0x14,
  15432. 0x15,
  15433. 0x16,
  15434. 0x17,
  15435. 0x18,
  15436. 0x19,
  15437. 0x1A,
  15438. 0x1B,
  15439. 0x1C,
  15440. 0x1D,
  15441. 0x1E,
  15442. 0x1F,
  15443. 0x20,
  15444. 0x21,
  15445. 0x22,
  15446. 0x23,
  15447. 0x24,
  15448. 0x25,
  15449. 0x26,
  15450. 0x27,
  15451. 0x28,
  15452. 0x29,
  15453. 0x2A,
  15454. 0x2B,
  15455. 0x2C,
  15456. 0x2D,
  15457. 0x2E,
  15458. 0x2F,
  15459. 0x30,
  15460. 0x31,
  15461. 0x32,
  15462. 0x33,
  15463. 0x34,
  15464. 0x35,
  15465. 0x36,
  15466. 0x37,
  15467. 0x38,
  15468. 0x39,
  15469. 0x3A,
  15470. 0x3B,
  15471. 0x3C,
  15472. 0x3D,
  15473. 0x3E,
  15474. 0x3F,
  15475. 0x40,
  15476. 0x41,
  15477. 0x42,
  15478. 0x43,
  15479. 0x44,
  15480. 0x45,
  15481. 0x46,
  15482. 0x47,
  15483. 0x48,
  15484. 0x49,
  15485. 0x4A,
  15486. 0x4B,
  15487. 0x4C,
  15488. 0x4D,
  15489. 0x4E,
  15490. 0x4F,
  15491. 0x50,
  15492. 0x51,
  15493. 0x52,
  15494. 0x53,
  15495. 0x54,
  15496. 0x55,
  15497. 0x56,
  15498. 0x57,
  15499. 0x58,
  15500. 0x59,
  15501. 0x5A,
  15502. 0x5B,
  15503. 0x5C,
  15504. 0x5D,
  15505. 0x5E,
  15506. 0x5F,
  15507. 0x60,
  15508. 0x61,
  15509. 0x62,
  15510. 0x63,
  15511. 0x64
  15512. })
  15513. }
  15514.  
  15515. Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
  15516. {
  15517. If ((Arg0 >= Zero) && (Arg0 <= 0x64))
  15518. {
  15519. AINT (One, Arg0)
  15520. BRTL = Arg0
  15521. }
  15522. }
  15523.  
  15524. Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
  15525. {
  15526. Return (BRTL) /* \BRTL */
  15527. }
  15528. }
  15529.  
  15530. Device (DD07)
  15531. {
  15532. Method (_ADR, 0, Serialized) // _ADR: Address
  15533. {
  15534. If (DID7 == Zero)
  15535. {
  15536. Return (0x07)
  15537. }
  15538. Else
  15539. {
  15540. Return ((0xFFFF & DID7))
  15541. }
  15542. }
  15543.  
  15544. Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
  15545. {
  15546. If (DID7 == Zero)
  15547. {
  15548. Return (0x0B)
  15549. }
  15550. Else
  15551. {
  15552. Return (CDDS (DID7))
  15553. }
  15554. }
  15555.  
  15556. Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
  15557. {
  15558. Return (NDDS (DID7))
  15559. }
  15560.  
  15561. Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
  15562. {
  15563. If ((Arg0 & 0xC0000000) == 0xC0000000)
  15564. {
  15565. CSTE = NSTE /* \NSTE */
  15566. }
  15567. }
  15568.  
  15569. Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
  15570. {
  15571. Return (Package (0x66)
  15572. {
  15573. 0x50,
  15574. 0x32,
  15575. One,
  15576. 0x02,
  15577. 0x03,
  15578. 0x04,
  15579. 0x05,
  15580. 0x06,
  15581. 0x07,
  15582. 0x08,
  15583. 0x09,
  15584. 0x0A,
  15585. 0x0B,
  15586. 0x0C,
  15587. 0x0D,
  15588. 0x0E,
  15589. 0x0F,
  15590. 0x10,
  15591. 0x11,
  15592. 0x12,
  15593. 0x13,
  15594. 0x14,
  15595. 0x15,
  15596. 0x16,
  15597. 0x17,
  15598. 0x18,
  15599. 0x19,
  15600. 0x1A,
  15601. 0x1B,
  15602. 0x1C,
  15603. 0x1D,
  15604. 0x1E,
  15605. 0x1F,
  15606. 0x20,
  15607. 0x21,
  15608. 0x22,
  15609. 0x23,
  15610. 0x24,
  15611. 0x25,
  15612. 0x26,
  15613. 0x27,
  15614. 0x28,
  15615. 0x29,
  15616. 0x2A,
  15617. 0x2B,
  15618. 0x2C,
  15619. 0x2D,
  15620. 0x2E,
  15621. 0x2F,
  15622. 0x30,
  15623. 0x31,
  15624. 0x32,
  15625. 0x33,
  15626. 0x34,
  15627. 0x35,
  15628. 0x36,
  15629. 0x37,
  15630. 0x38,
  15631. 0x39,
  15632. 0x3A,
  15633. 0x3B,
  15634. 0x3C,
  15635. 0x3D,
  15636. 0x3E,
  15637. 0x3F,
  15638. 0x40,
  15639. 0x41,
  15640. 0x42,
  15641. 0x43,
  15642. 0x44,
  15643. 0x45,
  15644. 0x46,
  15645. 0x47,
  15646. 0x48,
  15647. 0x49,
  15648. 0x4A,
  15649. 0x4B,
  15650. 0x4C,
  15651. 0x4D,
  15652. 0x4E,
  15653. 0x4F,
  15654. 0x50,
  15655. 0x51,
  15656. 0x52,
  15657. 0x53,
  15658. 0x54,
  15659. 0x55,
  15660. 0x56,
  15661. 0x57,
  15662. 0x58,
  15663. 0x59,
  15664. 0x5A,
  15665. 0x5B,
  15666. 0x5C,
  15667. 0x5D,
  15668. 0x5E,
  15669. 0x5F,
  15670. 0x60,
  15671. 0x61,
  15672. 0x62,
  15673. 0x63,
  15674. 0x64
  15675. })
  15676. }
  15677.  
  15678. Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
  15679. {
  15680. If ((Arg0 >= Zero) && (Arg0 <= 0x64))
  15681. {
  15682. AINT (One, Arg0)
  15683. BRTL = Arg0
  15684. }
  15685. }
  15686.  
  15687. Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
  15688. {
  15689. Return (BRTL) /* \BRTL */
  15690. }
  15691. }
  15692.  
  15693. Device (DD08)
  15694. {
  15695. Method (_ADR, 0, Serialized) // _ADR: Address
  15696. {
  15697. If (DID8 == Zero)
  15698. {
  15699. Return (0x08)
  15700. }
  15701. Else
  15702. {
  15703. Return ((0xFFFF & DID8))
  15704. }
  15705. }
  15706.  
  15707. Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
  15708. {
  15709. If (DID8 == Zero)
  15710. {
  15711. Return (0x0B)
  15712. }
  15713. Else
  15714. {
  15715. Return (CDDS (DID8))
  15716. }
  15717. }
  15718.  
  15719. Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
  15720. {
  15721. Return (NDDS (DID8))
  15722. }
  15723.  
  15724. Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
  15725. {
  15726. If ((Arg0 & 0xC0000000) == 0xC0000000)
  15727. {
  15728. CSTE = NSTE /* \NSTE */
  15729. }
  15730. }
  15731.  
  15732. Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
  15733. {
  15734. Return (Package (0x66)
  15735. {
  15736. 0x50,
  15737. 0x32,
  15738. One,
  15739. 0x02,
  15740. 0x03,
  15741. 0x04,
  15742. 0x05,
  15743. 0x06,
  15744. 0x07,
  15745. 0x08,
  15746. 0x09,
  15747. 0x0A,
  15748. 0x0B,
  15749. 0x0C,
  15750. 0x0D,
  15751. 0x0E,
  15752. 0x0F,
  15753. 0x10,
  15754. 0x11,
  15755. 0x12,
  15756. 0x13,
  15757. 0x14,
  15758. 0x15,
  15759. 0x16,
  15760. 0x17,
  15761. 0x18,
  15762. 0x19,
  15763. 0x1A,
  15764. 0x1B,
  15765. 0x1C,
  15766. 0x1D,
  15767. 0x1E,
  15768. 0x1F,
  15769. 0x20,
  15770. 0x21,
  15771. 0x22,
  15772. 0x23,
  15773. 0x24,
  15774. 0x25,
  15775. 0x26,
  15776. 0x27,
  15777. 0x28,
  15778. 0x29,
  15779. 0x2A,
  15780. 0x2B,
  15781. 0x2C,
  15782. 0x2D,
  15783. 0x2E,
  15784. 0x2F,
  15785. 0x30,
  15786. 0x31,
  15787. 0x32,
  15788. 0x33,
  15789. 0x34,
  15790. 0x35,
  15791. 0x36,
  15792. 0x37,
  15793. 0x38,
  15794. 0x39,
  15795. 0x3A,
  15796. 0x3B,
  15797. 0x3C,
  15798. 0x3D,
  15799. 0x3E,
  15800. 0x3F,
  15801. 0x40,
  15802. 0x41,
  15803. 0x42,
  15804. 0x43,
  15805. 0x44,
  15806. 0x45,
  15807. 0x46,
  15808. 0x47,
  15809. 0x48,
  15810. 0x49,
  15811. 0x4A,
  15812. 0x4B,
  15813. 0x4C,
  15814. 0x4D,
  15815. 0x4E,
  15816. 0x4F,
  15817. 0x50,
  15818. 0x51,
  15819. 0x52,
  15820. 0x53,
  15821. 0x54,
  15822. 0x55,
  15823. 0x56,
  15824. 0x57,
  15825. 0x58,
  15826. 0x59,
  15827. 0x5A,
  15828. 0x5B,
  15829. 0x5C,
  15830. 0x5D,
  15831. 0x5E,
  15832. 0x5F,
  15833. 0x60,
  15834. 0x61,
  15835. 0x62,
  15836. 0x63,
  15837. 0x64
  15838. })
  15839. }
  15840.  
  15841. Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
  15842. {
  15843. If ((Arg0 >= Zero) && (Arg0 <= 0x64))
  15844. {
  15845. AINT (One, Arg0)
  15846. BRTL = Arg0
  15847. }
  15848. }
  15849.  
  15850. Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
  15851. {
  15852. Return (BRTL) /* \BRTL */
  15853. }
  15854. }
  15855.  
  15856. Method (SDDL, 1, NotSerialized)
  15857. {
  15858. NDID++
  15859. Local0 = And (Arg0, 0x0F0F)
  15860. Local1 = (0x80000000 | Local0)
  15861. If (DIDL == Local0)
  15862. {
  15863. Return (Local1)
  15864. }
  15865.  
  15866. If (DDL2 == Local0)
  15867. {
  15868. Return (Local1)
  15869. }
  15870.  
  15871. If (DDL3 == Local0)
  15872. {
  15873. Return (Local1)
  15874. }
  15875.  
  15876. If (DDL4 == Local0)
  15877. {
  15878. Return (Local1)
  15879. }
  15880.  
  15881. If (DDL5 == Local0)
  15882. {
  15883. Return (Local1)
  15884. }
  15885.  
  15886. If (DDL6 == Local0)
  15887. {
  15888. Return (Local1)
  15889. }
  15890.  
  15891. If (DDL7 == Local0)
  15892. {
  15893. Return (Local1)
  15894. }
  15895.  
  15896. If (DDL8 == Local0)
  15897. {
  15898. Return (Local1)
  15899. }
  15900.  
  15901. Return (Zero)
  15902. }
  15903.  
  15904. Method (CDDS, 1, NotSerialized)
  15905. {
  15906. Local0 = And (Arg0, 0x0F0F)
  15907. If (Zero == Local0)
  15908. {
  15909. Return (0x1D)
  15910. }
  15911.  
  15912. If (CADL == Local0)
  15913. {
  15914. Return (0x1F)
  15915. }
  15916.  
  15917. If (CAL2 == Local0)
  15918. {
  15919. Return (0x1F)
  15920. }
  15921.  
  15922. If (CAL3 == Local0)
  15923. {
  15924. Return (0x1F)
  15925. }
  15926.  
  15927. If (CAL4 == Local0)
  15928. {
  15929. Return (0x1F)
  15930. }
  15931.  
  15932. If (CAL5 == Local0)
  15933. {
  15934. Return (0x1F)
  15935. }
  15936.  
  15937. If (CAL6 == Local0)
  15938. {
  15939. Return (0x1F)
  15940. }
  15941.  
  15942. If (CAL7 == Local0)
  15943. {
  15944. Return (0x1F)
  15945. }
  15946.  
  15947. If (CAL8 == Local0)
  15948. {
  15949. Return (0x1F)
  15950. }
  15951.  
  15952. Return (0x1D)
  15953. }
  15954.  
  15955. Method (NDDS, 1, NotSerialized)
  15956. {
  15957. Local0 = And (Arg0, 0x0F0F)
  15958. If (Zero == Local0)
  15959. {
  15960. Return (Zero)
  15961. }
  15962.  
  15963. If (NADL == Local0)
  15964. {
  15965. Return (One)
  15966. }
  15967.  
  15968. If (NDL2 == Local0)
  15969. {
  15970. Return (One)
  15971. }
  15972.  
  15973. If (NDL3 == Local0)
  15974. {
  15975. Return (One)
  15976. }
  15977.  
  15978. If (NDL4 == Local0)
  15979. {
  15980. Return (One)
  15981. }
  15982.  
  15983. If (NDL5 == Local0)
  15984. {
  15985. Return (One)
  15986. }
  15987.  
  15988. If (NDL6 == Local0)
  15989. {
  15990. Return (One)
  15991. }
  15992.  
  15993. If (NDL7 == Local0)
  15994. {
  15995. Return (One)
  15996. }
  15997.  
  15998. If (NDL8 == Local0)
  15999. {
  16000. Return (One)
  16001. }
  16002.  
  16003. Return (Zero)
  16004. }
  16005.  
  16006. OperationRegion (IGDP, PCI_Config, Zero, 0x0100)
  16007. Field (IGDP, AnyAcc, NoLock, Preserve)
  16008. {
  16009. Offset (0x10),
  16010. MADR, 32,
  16011. Offset (0x50),
  16012. , 1,
  16013. GIVD, 1,
  16014. , 1,
  16015. GUMA, 5,
  16016. Offset (0x52),
  16017. Offset (0x54),
  16018. , 4,
  16019. GMFN, 1,
  16020. Offset (0x58),
  16021. Offset (0x5C),
  16022. GSTM, 32,
  16023. Offset (0xE0),
  16024. GSSE, 1,
  16025. GSSB, 14,
  16026. GSES, 1,
  16027. Offset (0xE4),
  16028. ASLE, 8,
  16029. Offset (0xE8),
  16030. Offset (0xFC),
  16031. ASLS, 32
  16032. }
  16033.  
  16034. OperationRegion (IGMM, SystemMemory, MADR, 0x3000)
  16035. Field (IGMM, AnyAcc, NoLock, Preserve)
  16036. {
  16037. Offset (0x20C8),
  16038. , 4,
  16039. DCFE, 4
  16040. }
  16041.  
  16042. OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
  16043. Field (IGDM, AnyAcc, NoLock, Preserve)
  16044. {
  16045. SIGN, 128,
  16046. SIZE, 32,
  16047. OVER, 32,
  16048. SVER, 256,
  16049. VVER, 128,
  16050. GVER, 128,
  16051. MBOX, 32,
  16052. DMOD, 32,
  16053. Offset (0x100),
  16054. DRDY, 32,
  16055. CSTS, 32,
  16056. CEVT, 32,
  16057. Offset (0x120),
  16058. DIDL, 32,
  16059. DDL2, 32,
  16060. DDL3, 32,
  16061. DDL4, 32,
  16062. DDL5, 32,
  16063. DDL6, 32,
  16064. DDL7, 32,
  16065. DDL8, 32,
  16066. CPDL, 32,
  16067. CPL2, 32,
  16068. CPL3, 32,
  16069. CPL4, 32,
  16070. CPL5, 32,
  16071. CPL6, 32,
  16072. CPL7, 32,
  16073. CPL8, 32,
  16074. CAD1, 32,
  16075. CAL2, 32,
  16076. CAL3, 32,
  16077. CAL4, 32,
  16078. CAL5, 32,
  16079. CAL6, 32,
  16080. CAL7, 32,
  16081. CAL8, 32,
  16082. NADL, 32,
  16083. NDL2, 32,
  16084. NDL3, 32,
  16085. NDL4, 32,
  16086. NDL5, 32,
  16087. NDL6, 32,
  16088. NDL7, 32,
  16089. NDL8, 32,
  16090. ASLP, 32,
  16091. TIDX, 32,
  16092. CHPD, 32,
  16093. CLID, 32,
  16094. CDCK, 32,
  16095. SXSW, 32,
  16096. EVTS, 32,
  16097. CNOT, 32,
  16098. NRDY, 32,
  16099. Offset (0x200),
  16100. SCIE, 1,
  16101. GEFC, 4,
  16102. GXFC, 3,
  16103. GESF, 8,
  16104. Offset (0x204),
  16105. PARM, 32,
  16106. DSLP, 32,
  16107. Offset (0x300),
  16108. ARDY, 32,
  16109. ASLC, 32,
  16110. TCHE, 32,
  16111. ALSI, 32,
  16112. BCLP, 32,
  16113. PFIT, 32,
  16114. CBLV, 32,
  16115. BCLM, 320,
  16116. CPFM, 32,
  16117. EPFM, 32,
  16118. PLUT, 592,
  16119. PFMB, 32,
  16120. CCDV, 32,
  16121. PCFT, 32,
  16122. Offset (0x400),
  16123. GVD1, 49152,
  16124. PHED, 32,
  16125. BDDC, 2048
  16126. }
  16127.  
  16128. Name (DBTB, Package (0x15)
  16129. {
  16130. Zero,
  16131. 0x07,
  16132. 0x38,
  16133. 0x01C0,
  16134. 0x0E00,
  16135. 0x3F,
  16136. 0x01C7,
  16137. 0x0E07,
  16138. 0x01F8,
  16139. 0x0E38,
  16140. 0x0FC0,
  16141. Zero,
  16142. Zero,
  16143. Zero,
  16144. Zero,
  16145. Zero,
  16146. 0x7000,
  16147. 0x7007,
  16148. 0x7038,
  16149. 0x71C0,
  16150. 0x7E00
  16151. })
  16152. Name (CDCT, Package (0x06)
  16153. {
  16154. Package (0x01)
  16155. {
  16156. 0xA0
  16157. },
  16158.  
  16159. Package (0x01)
  16160. {
  16161. 0xC8
  16162. },
  16163.  
  16164. Package (0x01)
  16165. {
  16166. 0x010B
  16167. },
  16168.  
  16169. Package (0x01)
  16170. {
  16171. 0x0140
  16172. },
  16173.  
  16174. Package (0x01)
  16175. {
  16176. 0x0164
  16177. },
  16178.  
  16179. Package (0x01)
  16180. {
  16181. 0x0190
  16182. }
  16183. })
  16184. Name (SUCC, One)
  16185. Name (NVLD, 0x02)
  16186. Name (CRIT, 0x04)
  16187. Name (NCRT, 0x06)
  16188. Method (GSCI, 0, Serialized)
  16189. {
  16190. Method (GBDA, 0, Serialized)
  16191. {
  16192. If (GESF == Zero)
  16193. {
  16194. PARM = 0x0279
  16195. GESF = Zero
  16196. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16197. }
  16198.  
  16199. If (GESF == One)
  16200. {
  16201. PARM = 0x0240
  16202. GESF = Zero
  16203. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16204. }
  16205.  
  16206. If (GESF == 0x04)
  16207. {
  16208. PARM &= 0xEFFF0000
  16209. PARM &= (DerefOf (DBTB [IBTT]) << 0x10)
  16210. PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */
  16211. GESF = Zero
  16212. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16213. }
  16214.  
  16215. If (GESF == 0x05)
  16216. {
  16217. PARM = IPSC /* \IPSC */
  16218. PARM |= (IPAT << 0x08)
  16219. PARM += 0x0100
  16220. PARM |= (LIDS << 0x10)
  16221. PARM += 0x00010000
  16222. PARM |= (IBLC << 0x12)
  16223. PARM |= (IBIA << 0x14)
  16224. GESF = Zero
  16225. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16226. }
  16227.  
  16228. If (GESF == 0x06)
  16229. {
  16230. PARM = ITVF /* \ITVF */
  16231. PARM |= (ITVM << 0x04)
  16232. GESF = Zero
  16233. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16234. }
  16235.  
  16236. If (GESF == 0x07)
  16237. {
  16238. PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */
  16239. PARM ^= One
  16240. PARM |= (GMFN << One)
  16241. PARM |= 0x1800
  16242. PARM |= (IDMS << 0x11)
  16243. PARM |= (DerefOf (CDCT [DCFE]) << 0x15) /* \_SB_.PCI0.GFX0.PARM */
  16244. GESF = One
  16245. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16246. }
  16247.  
  16248. If (GESF == 0x0A)
  16249. {
  16250. PARM = Zero
  16251. If (ISSC)
  16252. {
  16253. PARM |= 0x03
  16254. }
  16255.  
  16256. GESF = Zero
  16257. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16258. }
  16259.  
  16260. GESF = Zero
  16261. Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
  16262. }
  16263.  
  16264. Method (SBCB, 0, Serialized)
  16265. {
  16266. If (GESF == Zero)
  16267. {
  16268. PARM = Zero
  16269. If (PFLV == FMBL)
  16270. {
  16271. PARM = 0x000F87FD
  16272. }
  16273.  
  16274. If (PFLV == FDTP)
  16275. {
  16276. PARM = 0x000F87BD
  16277. }
  16278.  
  16279. GESF = Zero
  16280. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16281. }
  16282.  
  16283. If (GESF == One)
  16284. {
  16285. GESF = Zero
  16286. PARM = Zero
  16287. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16288. }
  16289.  
  16290. If (GESF == 0x03)
  16291. {
  16292. GESF = Zero
  16293. PARM = Zero
  16294. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16295. }
  16296.  
  16297. If (GESF == 0x04)
  16298. {
  16299. GESF = Zero
  16300. PARM = Zero
  16301. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16302. }
  16303.  
  16304. If (GESF == 0x05)
  16305. {
  16306. GESF = Zero
  16307. PARM = Zero
  16308. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16309. }
  16310.  
  16311. If (GESF == 0x06)
  16312. {
  16313. ITVF = And (PARM, 0x0F)
  16314. ITVM = ShiftRight ((PARM & 0xF0), 0x04)
  16315. GESF = Zero
  16316. PARM = Zero
  16317. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16318. }
  16319.  
  16320. If (GESF == 0x07)
  16321. {
  16322. If (PARM == Zero)
  16323. {
  16324. Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */
  16325. If (0x80000000 & Local0)
  16326. {
  16327. CLID &= 0x0F
  16328. GLID (CLID)
  16329. }
  16330. }
  16331.  
  16332. GESF = Zero
  16333. PARM = Zero
  16334. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16335. }
  16336.  
  16337. If (GESF == 0x08)
  16338. {
  16339. GESF = Zero
  16340. PARM = Zero
  16341. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16342. }
  16343.  
  16344. If (GESF == 0x09)
  16345. {
  16346. IBTT = (PARM & 0xFF)
  16347. GESF = Zero
  16348. PARM = Zero
  16349. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16350. }
  16351.  
  16352. If (GESF == 0x0A)
  16353. {
  16354. IPSC = (PARM & 0xFF)
  16355. If ((PARM >> 0x08) & 0xFF)
  16356. {
  16357. IPAT = ((PARM >> 0x08) & 0xFF)
  16358. IPAT--
  16359. }
  16360.  
  16361. IBLC = ((PARM >> 0x12) & 0x03)
  16362. IBIA = ((PARM >> 0x14) & 0x07)
  16363. GESF = Zero
  16364. PARM = Zero
  16365. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16366. }
  16367.  
  16368. If (GESF == 0x0B)
  16369. {
  16370. IF1E = ((PARM >> One) & One)
  16371. IDMS = ((PARM >> 0x11) & 0x0F)
  16372. GESF = Zero
  16373. PARM = Zero
  16374. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16375. }
  16376.  
  16377. If (GESF == 0x10)
  16378. {
  16379. GESF = Zero
  16380. PARM = Zero
  16381. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16382. }
  16383.  
  16384. If (GESF == 0x11)
  16385. {
  16386. PARM = ShiftLeft (LIDS, 0x08)
  16387. PARM += 0x0100
  16388. GESF = Zero
  16389. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16390. }
  16391.  
  16392. If (GESF == 0x12)
  16393. {
  16394. If (PARM & One)
  16395. {
  16396. If ((PARM >> One) == One)
  16397. {
  16398. ISSC = One
  16399. }
  16400. Else
  16401. {
  16402. GESF = Zero
  16403. Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
  16404. }
  16405. }
  16406. Else
  16407. {
  16408. ISSC = Zero
  16409. }
  16410.  
  16411. GESF = Zero
  16412. PARM = Zero
  16413. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16414. }
  16415.  
  16416. If (GESF == 0x13)
  16417. {
  16418. GESF = Zero
  16419. PARM = Zero
  16420. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16421. }
  16422.  
  16423. If (GESF == 0x14)
  16424. {
  16425. PAVP = (PARM & 0x0F)
  16426. GESF = Zero
  16427. PARM = Zero
  16428. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16429. }
  16430.  
  16431. GESF = Zero
  16432. Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
  16433. }
  16434.  
  16435. If (GEFC == 0x04)
  16436. {
  16437. GXFC = GBDA ()
  16438. }
  16439.  
  16440. If (GEFC == 0x06)
  16441. {
  16442. GXFC = SBCB ()
  16443. }
  16444.  
  16445. GEFC = Zero
  16446. SCIS = One
  16447. GSSE = Zero
  16448. SCIE = Zero
  16449. Return (Zero)
  16450. }
  16451.  
  16452. Method (PDRD, 0, NotSerialized)
  16453. {
  16454. If (!DRDY)
  16455. {
  16456. Sleep (ASLP)
  16457. }
  16458.  
  16459. Return (!DRDY)
  16460. }
  16461.  
  16462. Method (PSTS, 0, NotSerialized)
  16463. {
  16464. If (CSTS > 0x02)
  16465. {
  16466. Sleep (ASLP)
  16467. }
  16468.  
  16469. Return ((CSTS == 0x03))
  16470. }
  16471.  
  16472. Method (GNOT, 2, NotSerialized)
  16473. {
  16474. If (PDRD ())
  16475. {
  16476. Return (One)
  16477. }
  16478.  
  16479. CEVT = Arg0
  16480. CSTS = 0x03
  16481. If ((CHPD == Zero) && (Arg1 == Zero))
  16482. {
  16483. If ((OSYS > 0x07D0) || (OSYS < 0x07D6))
  16484. {
  16485. Notify (PCI0, Arg1)
  16486. }
  16487. Else
  16488. {
  16489. Notify (GFX0, Arg1)
  16490. }
  16491. }
  16492.  
  16493. Notify (GFX0, 0x80) // Status Change
  16494. Return (Zero)
  16495. }
  16496.  
  16497. Method (GHDS, 1, NotSerialized)
  16498. {
  16499. TIDX = Arg0
  16500. Return (GNOT (One, Zero))
  16501. }
  16502.  
  16503. Method (GLID, 1, NotSerialized)
  16504. {
  16505. CLID = Arg0
  16506. Return (GNOT (0x02, Zero))
  16507. }
  16508.  
  16509. Method (GDCK, 1, NotSerialized)
  16510. {
  16511. CDCK = Arg0
  16512. Return (GNOT (0x04, Zero))
  16513. }
  16514.  
  16515. Method (PARD, 0, NotSerialized)
  16516. {
  16517. If (!ARDY)
  16518. {
  16519. Sleep (ASLP)
  16520. }
  16521.  
  16522. Return (!ARDY)
  16523. }
  16524.  
  16525. Method (AINT, 2, NotSerialized)
  16526. {
  16527. If (!(TCHE & (One << Arg0)))
  16528. {
  16529. Return (One)
  16530. }
  16531.  
  16532. If (PARD ())
  16533. {
  16534. Return (One)
  16535. }
  16536.  
  16537. If (Arg0 == 0x02)
  16538. {
  16539. If (CPFM)
  16540. {
  16541. Local0 = (CPFM & 0x0F)
  16542. Local1 = (EPFM & 0x0F)
  16543. If (Local0 == One)
  16544. {
  16545. If (Local1 & 0x06)
  16546. {
  16547. PFIT = 0x06
  16548. }
  16549. ElseIf (Local1 & 0x08)
  16550. {
  16551. PFIT = 0x08
  16552. }
  16553. Else
  16554. {
  16555. PFIT = One
  16556. }
  16557. }
  16558.  
  16559. If (Local0 == 0x06)
  16560. {
  16561. If (Local1 & 0x08)
  16562. {
  16563. PFIT = 0x08
  16564. }
  16565. ElseIf (Local1 & One)
  16566. {
  16567. PFIT = One
  16568. }
  16569. Else
  16570. {
  16571. PFIT = 0x06
  16572. }
  16573. }
  16574.  
  16575. If (Local0 == 0x08)
  16576. {
  16577. If (Local1 & One)
  16578. {
  16579. PFIT = One
  16580. }
  16581. ElseIf (Local1 & 0x06)
  16582. {
  16583. PFIT = 0x06
  16584. }
  16585. Else
  16586. {
  16587. PFIT = 0x08
  16588. }
  16589. }
  16590. }
  16591. Else
  16592. {
  16593. PFIT ^= 0x07
  16594. }
  16595.  
  16596. PFIT |= 0x80000000
  16597. ASLC = 0x04
  16598. }
  16599. ElseIf (Arg0 == One)
  16600. {
  16601. BCLP = Divide ((Arg1 * 0xFF), 0x64)
  16602. BCLP |= 0x80000000
  16603. ASLC = 0x02
  16604. }
  16605. ElseIf (Arg0 == Zero)
  16606. {
  16607. ALSI = Arg1
  16608. ASLC = One
  16609. }
  16610. Else
  16611. {
  16612. Return (One)
  16613. }
  16614.  
  16615. ASLE = One
  16616. Return (Zero)
  16617. }
  16618.  
  16619. Method (SCIP, 0, NotSerialized)
  16620. {
  16621. If (OVER != Zero)
  16622. {
  16623. Return (!GSMI)
  16624. }
  16625.  
  16626. Return (Zero)
  16627. }
  16628.  
  16629. Device (ISP0)
  16630. {
  16631. Name (_ADR, 0x22B8) // _ADR: Address
  16632. Name (_DDN, "CHV ISP - 808622B8") // _DDN: DOS Device Name
  16633. Name (_UID, One) // _UID: Unique ID
  16634. Method (_STA, 0, NotSerialized) // _STA: Status
  16635. {
  16636. If ((ISPA != Zero) && (ISPD == One))
  16637. {
  16638. Return (0x0F)
  16639. }
  16640. Else
  16641. {
  16642. Return (Zero)
  16643. }
  16644. }
  16645.  
  16646. Name (SBUF, ResourceTemplate ()
  16647. {
  16648. Memory32Fixed (ReadWrite,
  16649. 0x00000000, // Address Base
  16650. 0x00400000, // Address Length
  16651. _Y3B)
  16652. })
  16653. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  16654. {
  16655. CreateDWordField (SBUF, \_SB.PCI0.GFX0.ISP0._Y3B._BAS, B0BA) // _BAS: Base Address
  16656. B0BA = ISPA /* \ISPA */
  16657. Return (SBUF) /* \_SB_.PCI0.GFX0.ISP0.SBUF */
  16658. }
  16659.  
  16660. Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
  16661. {
  16662. }
  16663.  
  16664. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  16665. {
  16666. }
  16667.  
  16668. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  16669. {
  16670. If (Arg0 == One)
  16671. {
  16672. Return (One)
  16673. }
  16674. ElseIf (Arg0 == 0x02)
  16675. {
  16676. Return (0x02)
  16677. }
  16678. Else
  16679. {
  16680. Return (0x0F)
  16681. }
  16682. }
  16683. }
  16684. }
  16685.  
  16686. Device (HIDD)
  16687. {
  16688. Name (_HID, "INT33D5") // _HID: Hardware ID
  16689. Name (_CID, "INT33D5") // _CID: Compatible ID
  16690. Name (HBSY, Zero)
  16691. Name (HIDX, Zero)
  16692. Name (HMDE, Zero)
  16693. Name (HRDY, Zero)
  16694. Method (_STA, 0, Serialized) // _STA: Status
  16695. {
  16696. Return (0x0F)
  16697. }
  16698.  
  16699. Method (HDDM, 0, Serialized)
  16700. {
  16701. Name (DPKG, Package (0x04)
  16702. {
  16703. 0x11111111,
  16704. 0x22222222,
  16705. 0x33333333,
  16706. 0x44444444
  16707. })
  16708. Return (DPKG) /* \_SB_.PCI0.HIDD.HDDM.DPKG */
  16709. }
  16710.  
  16711. Method (HDEM, 0, Serialized)
  16712. {
  16713. HBSY = Zero
  16714. If (HMDE == Zero)
  16715. {
  16716. Return (HIDX) /* \_SB_.PCI0.HIDD.HIDX */
  16717. }
  16718.  
  16719. Return (HMDE) /* \_SB_.PCI0.HIDD.HMDE */
  16720. }
  16721.  
  16722. Method (HDMM, 0, Serialized)
  16723. {
  16724. Return (HMDE) /* \_SB_.PCI0.HIDD.HMDE */
  16725. }
  16726.  
  16727. Method (HDSM, 1, Serialized)
  16728. {
  16729. HRDY = Arg0
  16730. }
  16731.  
  16732. Method (HPEM, 1, Serialized)
  16733. {
  16734. HBSY = One
  16735. If (HMDE == Zero)
  16736. {
  16737. HIDX = Arg0
  16738. }
  16739. Else
  16740. {
  16741. HIDX = Arg0
  16742. }
  16743.  
  16744. Notify (HIDD, 0xC0) // Hardware-Specific
  16745. Local0 = Zero
  16746. While ((Local0 < 0xFA) && HBSY)
  16747. {
  16748. Sleep (0x04)
  16749. Local0++
  16750. }
  16751.  
  16752. If (HBSY == One)
  16753. {
  16754. HBSY = Zero
  16755. HIDX = Zero
  16756. Return (One)
  16757. }
  16758. Else
  16759. {
  16760. Return (Zero)
  16761. }
  16762. }
  16763. }
  16764.  
  16765. Scope (PISH)
  16766. {
  16767. Method (_STA, 0, NotSerialized) // _STA: Status
  16768. {
  16769. Return (0x0F)
  16770. }
  16771.  
  16772. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  16773. {
  16774. Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
  16775. If (Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37"))
  16776. {
  16777. If (Arg2 == Zero)
  16778. {
  16779. If (Arg1 == Zero)
  16780. {
  16781. Return (Buffer (One)
  16782. {
  16783. 0x03 /* . */
  16784. })
  16785. }
  16786. Else
  16787. {
  16788. Return (Zero)
  16789. }
  16790. }
  16791.  
  16792. If (Arg2 == One)
  16793. {
  16794. While (One)
  16795. {
  16796. _T_0 = DerefOf (Arg3 [Zero])
  16797. If (_T_0 == Zero)
  16798. {
  16799. ^^HIDD.HPEM (0x1B)
  16800. }
  16801. ElseIf (_T_0 == One) {}
  16802. ElseIf (_T_0 == 0x02) {}
  16803. ElseIf (_T_0 == 0x03) {}
  16804. Break
  16805. }
  16806.  
  16807. Return (Zero)
  16808. }
  16809. Else
  16810. {
  16811. Return (Zero)
  16812. }
  16813. }
  16814. Else
  16815. {
  16816. Return (Buffer (One)
  16817. {
  16818. 0x00 /* . */
  16819. })
  16820. }
  16821. }
  16822. }
  16823. }
  16824.  
  16825. Scope (_PR)
  16826. {
  16827. Processor (CPU0, 0x01, 0x00000000, 0x00) {}
  16828. Processor (CPU1, 0x02, 0x00000000, 0x00) {}
  16829. Processor (CPU2, 0x03, 0x00000000, 0x00) {}
  16830. Processor (CPU3, 0x04, 0x00000000, 0x00) {}
  16831. }
  16832.  
  16833. Name (PICM, Zero)
  16834. Mutex (MUTX, 0x00)
  16835. OperationRegion (PRT0, SystemIO, 0x80, 0x04)
  16836. Field (PRT0, DWordAcc, Lock, Preserve)
  16837. {
  16838. P80H, 32
  16839. }
  16840.  
  16841. Method (P8XH, 2, Serialized)
  16842. {
  16843. If (Arg0 == Zero)
  16844. {
  16845. P80D = Or ((P80D & 0xFFFFFF00), Arg1)
  16846. }
  16847.  
  16848. If (Arg0 == One)
  16849. {
  16850. P80D = Or ((P80D & 0xFFFF00FF), (Arg1 << 0x08))
  16851. }
  16852.  
  16853. If (Arg0 == 0x02)
  16854. {
  16855. P80D = Or ((P80D & 0xFF00FFFF), (Arg1 << 0x10))
  16856. }
  16857.  
  16858. If (Arg0 == 0x03)
  16859. {
  16860. P80D = Or ((P80D & 0x00FFFFFF), (Arg1 << 0x18))
  16861. }
  16862.  
  16863. P80H = P80D /* \P80D */
  16864. }
  16865.  
  16866. OperationRegion (DEB0, SystemIO, 0x72, 0x02)
  16867. Field (DEB0, ByteAcc, NoLock, Preserve)
  16868. {
  16869. CMS0, 8,
  16870. CMS1, 8
  16871. }
  16872.  
  16873. Method (CMSW, 2, NotSerialized)
  16874. {
  16875. CMS0 = Arg0
  16876. Sleep (One)
  16877. CMS1 = Arg1
  16878. Sleep (One)
  16879. }
  16880.  
  16881. Method (CMSR, 1, NotSerialized)
  16882. {
  16883. CMS0 = Arg0
  16884. Sleep (One)
  16885. Local0 = CMS1 /* \CMS1 */
  16886. Sleep (One)
  16887. Return (Local0)
  16888. }
  16889.  
  16890. Method (CMW4, 2, NotSerialized)
  16891. {
  16892. Local0 = (Arg1 & 0xFF000000)
  16893. Local0 >>= 0x18
  16894. CMSW ((Arg0 + Zero), Local0)
  16895. Local0 = (Arg1 & 0x00FF0000)
  16896. Local0 >>= 0x10
  16897. CMSW ((Arg0 + One), Local0)
  16898. Local0 = (Arg1 & 0xFF00)
  16899. Local0 >>= 0x08
  16900. CMSW ((Arg0 + 0x02), Local0)
  16901. Local0 = (Arg1 & 0xFF)
  16902. Local0 >>= Zero
  16903. CMSW ((Arg0 + 0x03), Local0)
  16904. }
  16905.  
  16906. OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
  16907. Field (SPRT, ByteAcc, Lock, Preserve)
  16908. {
  16909. SSMP, 8
  16910. }
  16911.  
  16912. Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
  16913. {
  16914. GPIC = Arg0
  16915. PICM = Arg0
  16916. }
  16917.  
  16918. OperationRegion (SWC0, SystemIO, 0x0610, 0x0F)
  16919. Field (SWC0, ByteAcc, NoLock, Preserve)
  16920. {
  16921. G1S, 8,
  16922. Offset (0x04),
  16923. G1E, 8,
  16924. Offset (0x0A),
  16925. G1S2, 8,
  16926. G1S3, 8
  16927. }
  16928.  
  16929. OperationRegion (SWC1, SystemIO, PMBS, 0x2C)
  16930. Field (SWC1, DWordAcc, NoLock, Preserve)
  16931. {
  16932. Offset (0x20),
  16933. G0S, 32,
  16934. Offset (0x28),
  16935. G0EN, 32
  16936. }
  16937.  
  16938. Method (PPTS, 1, NotSerialized)
  16939. {
  16940. P80D = Zero
  16941. P8XH (Zero, Arg0)
  16942. G1S3 = Ones
  16943. G1S2 = Ones
  16944. G1S = One
  16945. G1E = One
  16946. G0S = Ones
  16947. If ((Arg0 == 0x04) || (Arg0 == 0x05))
  16948. {
  16949. G0EN = Zero
  16950. PWBS = One
  16951. PM1S = One
  16952. }
  16953.  
  16954. If (CondRefOf (TCGM))
  16955. {
  16956. \_SB.PCI0.LPCB.TPM.PTS (Arg0)
  16957. }
  16958. }
  16959.  
  16960. Method (PWAK, 1, Serialized)
  16961. {
  16962. P8XH (One, 0xAB)
  16963. If (NEXP)
  16964. {
  16965. If (OSCC & 0x02)
  16966. {
  16967. \_SB.PCI0.NHPG ()
  16968. }
  16969.  
  16970. If (OSCC & 0x04)
  16971. {
  16972. \_SB.PCI0.NPME ()
  16973. }
  16974. }
  16975.  
  16976. If ((Arg0 == 0x03) || (Arg0 == 0x04))
  16977. {
  16978. If (PFLV == FMBL)
  16979. {
  16980. If (Arg0 == 0x04)
  16981. {
  16982. PNOT ()
  16983. }
  16984. }
  16985.  
  16986. If (CFGD & 0x01000000) {}
  16987. If (OSYS == 0x07D2)
  16988. {
  16989. If (CFGD & One)
  16990. {
  16991. If (\_PR.CPU0._PPC > Zero)
  16992. {
  16993. \_PR.CPU0._PPC -= One
  16994. PNOT ()
  16995. \_PR.CPU0._PPC += One
  16996. PNOT ()
  16997. }
  16998. Else
  16999. {
  17000. \_PR.CPU0._PPC += One
  17001. PNOT ()
  17002. \_PR.CPU0._PPC -= One
  17003. PNOT ()
  17004. }
  17005. }
  17006. }
  17007. }
  17008. }
  17009.  
  17010. Method (PNOT, 0, Serialized)
  17011. {
  17012. If (MPEN)
  17013. {
  17014. If (PDC0 & 0x08)
  17015. {
  17016. Notify (\_PR.CPU0, 0x80) // Performance Capability Change
  17017. If (PDC0 & 0x10)
  17018. {
  17019. Sleep (0x64)
  17020. Notify (\_PR.CPU0, 0x81) // C-State Change
  17021. }
  17022. }
  17023.  
  17024. If (PDC1 & 0x08)
  17025. {
  17026. Notify (\_PR.CPU1, 0x80) // Performance Capability Change
  17027. If (PDC1 & 0x10)
  17028. {
  17029. Sleep (0x64)
  17030. Notify (\_PR.CPU1, 0x81) // C-State Change
  17031. }
  17032. }
  17033.  
  17034. If (PDC2 & 0x08)
  17035. {
  17036. Notify (\_PR.CPU2, 0x80) // Performance Capability Change
  17037. If (PDC2 & 0x10)
  17038. {
  17039. Sleep (0x64)
  17040. Notify (\_PR.CPU2, 0x81) // C-State Change
  17041. }
  17042. }
  17043.  
  17044. If (PDC3 & 0x08)
  17045. {
  17046. Notify (\_PR.CPU3, 0x80) // Performance Capability Change
  17047. If (PDC3 & 0x10)
  17048. {
  17049. Sleep (0x64)
  17050. Notify (\_PR.CPU3, 0x81) // C-State Change
  17051. }
  17052. }
  17053. }
  17054. Else
  17055. {
  17056. Notify (\_PR.CPU0, 0x80) // Performance Capability Change
  17057. Sleep (0x64)
  17058. Notify (\_PR.CPU0, 0x81) // C-State Change
  17059. }
  17060. }
  17061.  
  17062. Scope (_SB)
  17063. {
  17064. Name (CRTT, 0x6E)
  17065. Name (ACTT, 0x55)
  17066. Name (SCR0, 0x0102)
  17067. Name (SCR1, 0x0102)
  17068. Name (SCR2, 0x0102)
  17069. Name (SCR3, 0x0102)
  17070. Name (GCR0, 0x46)
  17071. Name (GCR1, 0x46)
  17072. Name (GCR2, 0x46)
  17073. Name (GCR3, 0x46)
  17074. Name (GCR4, 0x46)
  17075. Name (PST0, 0x3C)
  17076. Name (PST1, 0x3C)
  17077. Name (PST2, 0x3C)
  17078. Name (PST3, 0x3C)
  17079. Name (PST4, 0x3C)
  17080. Name (WCR0, 0x4B)
  17081. Name (WPPT, 0x28)
  17082. Name (LPMV, 0x03)
  17083. Name (PDBG, Zero)
  17084. Name (PDPM, One)
  17085. Name (PDBP, One)
  17086. Name (DLPO, Package (0x06)
  17087. {
  17088. One,
  17089. One,
  17090. One,
  17091. 0x19,
  17092. One,
  17093. One
  17094. })
  17095. Name (BRQD, Zero)
  17096. Method (_INI, 0, NotSerialized) // _INI: Initialize
  17097. {
  17098. CRTT = DPCT /* \DPCT */
  17099. ACTT = DPPT /* \DPPT */
  17100. GCR0 = DGC0 /* \DGC0 */
  17101. GCR1 = DGC1 /* \DGC1 */
  17102. GCR2 = DGC2 /* \DGC2 */
  17103. GCR3 = DGC3 /* \DGC3 */
  17104. GCR4 = DGC4 /* \DGC4 */
  17105. PST0 = DGP0 /* \DGP0 */
  17106. PST1 = DGP1 /* \DGP1 */
  17107. PST2 = DGP2 /* \DGP2 */
  17108. PST3 = DGP3 /* \DGP3 */
  17109. PST4 = DGP4 /* \DGP4 */
  17110. SCR0 = DSC0 /* \DSC0 */
  17111. SCR1 = DSC1 /* \DSC1 */
  17112. SCR2 = DSC2 /* \DSC2 */
  17113. SCR3 = DSC3 /* \DSC3 */
  17114. WCR0 = WWCR /* \WWCR */
  17115. WPPT = WWPS /* \WWPS */
  17116. LPMV = DLPM /* \DLPM */
  17117. PDBG = DDBG /* \DDBG */
  17118. DLPO [One] = LPOE /* \LPOE */
  17119. DLPO [0x02] = LPPS /* \LPPS */
  17120. DLPO [0x03] = LPST /* \LPST */
  17121. DLPO [0x04] = LPPC /* \LPPC */
  17122. DLPO [0x05] = LPPF /* \LPPF */
  17123. PDPM = DPME /* \DPME */
  17124. }
  17125.  
  17126. Device (PWRB)
  17127. {
  17128. Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
  17129. }
  17130.  
  17131. Scope (PCI0)
  17132. {
  17133. OperationRegion (XHBA, SystemMemory, 0xE00A0000, 0x40)
  17134. Field (XHBA, DWordAcc, NoLock, Preserve)
  17135. {
  17136. Offset (0x10),
  17137. BR0X, 32
  17138. }
  17139.  
  17140. OperationRegion (XOP1, SystemMemory, BR0X, 0x80F8)
  17141. Field (XOP1, DWordAcc, NoLock, Preserve)
  17142. {
  17143. Offset (0x80D4),
  17144. , 11,
  17145. BT11, 1,
  17146. , 8,
  17147. BT20, 1,
  17148. BT21, 1,
  17149. Offset (0x80D7),
  17150. BT24, 1
  17151. }
  17152.  
  17153. Method (CDRH, 1, Serialized)
  17154. {
  17155. If (DAMT == Zero)
  17156. {
  17157. BT20 = Zero
  17158. If (Arg0 == Zero)
  17159. {
  17160. BT24 = Zero
  17161. }
  17162. Else
  17163. {
  17164. BT24 = One
  17165. }
  17166.  
  17167. BT11 = One
  17168. BT21 = One
  17169. }
  17170. Else
  17171. {
  17172. Local1 = (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero) | 0x02)
  17173. ^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
  17174. Local0 = ^^MBID.RMBX (0x5A, 0x80D8, Zero, Zero, Zero, Zero)
  17175. ADBG ("Value@offset: 0x80d8, Before Write @HostMode")
  17176. ADBG (Local0)
  17177. Local0 &= 0xFFEFFFFF
  17178. Local0 |= 0x00200800
  17179. If (Arg0 == One)
  17180. {
  17181. Local0 |= 0x01000000
  17182. }
  17183. Else
  17184. {
  17185. Local0 &= 0xFEFFFFFF
  17186. }
  17187.  
  17188. Local1 = (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero) | 0x02)
  17189. ^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
  17190. ^^MBID.WMBX (0x5A, 0x80D8, Local0, One, Zero, Zero, Zero)
  17191. }
  17192. }
  17193.  
  17194. Method (CDRD, 1, Serialized)
  17195. {
  17196. If (DAMT == Zero)
  17197. {
  17198. BT11 = One
  17199. BT20 = One
  17200. BT21 = One
  17201. If (Arg0 == Zero)
  17202. {
  17203. BT24 = Zero
  17204. }
  17205. Else
  17206. {
  17207. BT24 = One
  17208. }
  17209. }
  17210. Else
  17211. {
  17212. Local1 = (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero) | 0x02)
  17213. ^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
  17214. Local0 = ^^MBID.RMBX (0x5A, 0x80D8, Zero, Zero, Zero, Zero)
  17215. ADBG ("Value@offset: 0x80d8, Before Write@devicemode")
  17216. ADBG (Local0)
  17217. Local0 |= 0x00300800
  17218. If (Arg0 == One)
  17219. {
  17220. Local0 |= 0x01000000
  17221. }
  17222. Else
  17223. {
  17224. Local0 &= 0xFEFFFFFF
  17225. }
  17226.  
  17227. Local1 = (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero) | 0x02)
  17228. ^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
  17229. ^^MBID.WMBX (0x5A, 0x80D8, Local0, One, Zero, Zero, Zero)
  17230. }
  17231. }
  17232.  
  17233. Method (_INI, 0, NotSerialized) // _INI: Initialize
  17234. {
  17235. OSYS = 0x07D0
  17236. If (CondRefOf (\_OSI, Local0))
  17237. {
  17238. If (_OSI ("Windows 2001"))
  17239. {
  17240. OSYS = 0x07D1
  17241. }
  17242.  
  17243. If (_OSI ("Windows 2001 SP1"))
  17244. {
  17245. OSYS = 0x07D1
  17246. }
  17247.  
  17248. If (_OSI ("Windows 2001 SP2"))
  17249. {
  17250. OSYS = 0x07D2
  17251. }
  17252.  
  17253. If (_OSI ("Windows 2006"))
  17254. {
  17255. OSYS = 0x07D6
  17256. }
  17257.  
  17258. If (_OSI ("Windows 2009"))
  17259. {
  17260. OSYS = 0x07D9
  17261. }
  17262.  
  17263. If (_OSI ("Windows 2012"))
  17264. {
  17265. OSYS = 0x07DC
  17266. }
  17267.  
  17268. If (_OSI ("Windows 2013"))
  17269. {
  17270. OSYS = 0x07DD
  17271. }
  17272.  
  17273. If (_OSI ("Windows 2015"))
  17274. {
  17275. OSYS = 0x07DF
  17276. }
  17277. }
  17278. }
  17279.  
  17280. Method (NHPG, 0, Serialized)
  17281. {
  17282. }
  17283.  
  17284. Method (NPME, 0, Serialized)
  17285. {
  17286. }
  17287. }
  17288.  
  17289. Device (GPED)
  17290. {
  17291. Name (_ADR, Zero) // _ADR: Address
  17292. Name (_HID, "INT0002" /* Virtual GPIO Controller */) // _HID: Hardware ID
  17293. Name (_CID, "INT0002" /* Virtual GPIO Controller */) // _CID: Compatible ID
  17294. Name (_DDN, "Virtual GPIO controller") // _DDN: DOS Device Name
  17295. Name (_UID, One) // _UID: Unique ID
  17296. Name (INST, One)
  17297. Name (XTMP, Zero)
  17298. OperationRegion (SCIS, SystemMemory, 0xFED030C0, 0x04)
  17299. Field (SCIS, DWordAcc, NoLock, Preserve)
  17300. {
  17301. , 1,
  17302. LHAD, 1,
  17303. LATA, 1,
  17304. LDIO, 1,
  17305. LARD, 1,
  17306. LIO1, 1,
  17307. LCEP, 1,
  17308. LANB, 1,
  17309. LHCI, 1,
  17310. LOTG, 1,
  17311. LECI, 1,
  17312. LHSI, 1
  17313. }
  17314.  
  17315. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  17316. {
  17317. If (Arg0 == ToUUID ("8b38b469-6f95-4b08-9b02-2defcc2d2c35"))
  17318. {
  17319. If (Arg2 == Zero)
  17320. {
  17321. If (Arg1 == One)
  17322. {
  17323. Return (Buffer (One)
  17324. {
  17325. 0x03 /* . */
  17326. })
  17327. }
  17328. }
  17329.  
  17330. If (Arg2 == One)
  17331. {
  17332. Return ((PMBS + 0x20))
  17333. }
  17334.  
  17335. Return (Zero)
  17336. }
  17337. Else
  17338. {
  17339. Return (Buffer (One)
  17340. {
  17341. 0x00 /* . */
  17342. })
  17343. }
  17344. }
  17345.  
  17346. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  17347. {
  17348. Name (RBUF, ResourceTemplate ()
  17349. {
  17350. Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
  17351. {
  17352. 0x00000009,
  17353. }
  17354. })
  17355. Return (RBUF) /* \_SB_.GPED._CRS.RBUF */
  17356. }
  17357.  
  17358. Method (_STA, 0, NotSerialized) // _STA: Status
  17359. {
  17360. If (SOCS <= 0x04)
  17361. {
  17362. Return (0x0F)
  17363. }
  17364. Else
  17365. {
  17366. Return (Zero)
  17367. }
  17368. }
  17369.  
  17370. Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
  17371. {
  17372. Name (RBUF, ResourceTemplate ()
  17373. {
  17374. GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
  17375. "\\_SB.GPED", 0x00, ResourceConsumer, ,
  17376. )
  17377. { // Pin list
  17378. 0x0002
  17379. }
  17380. })
  17381. Return (RBUF) /* \_SB_.GPED._AEI.RBUF */
  17382. }
  17383.  
  17384. Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE
  17385. {
  17386. If (XHCI == Zero) {}
  17387. ElseIf (^^PCI0.XHC1.PMES == One)
  17388. {
  17389. ^^PCI0.XHC1.PMES = One
  17390. Notify (^^PCI0.XHC1, 0x02) // Device Wake
  17391. }
  17392.  
  17393. If (OTGM != Zero)
  17394. {
  17395. If (^^PCI0.OTG1.PMES == One)
  17396. {
  17397. ADBG ("OTG wake")
  17398. ^^PCI0.OTG1.PMEE = Zero
  17399. ^^PCI0.OTG1.CPME = Zero
  17400. ^^PCI0.OTG1.U2EN = Zero
  17401. ^^PCI0.OTG1.U3EN = Zero
  17402. Notify (^^PCI0.OTG1, 0x02) // Device Wake
  17403. }
  17404. }
  17405.  
  17406. If (^^PCI0.SEC0.PMES == One)
  17407. {
  17408. ^^PCI0.SEC0.PMEE = Zero
  17409. Local0 = ^^PCI0.SEC0.PMEE /* \_SB_.PCI0.SEC0.PMEE */
  17410. Notify (^^PCI0.SEC0, 0x02) // Device Wake
  17411. }
  17412. }
  17413. }
  17414.  
  17415. Device (GPO0)
  17416. {
  17417. Name (_ADR, Zero) // _ADR: Address
  17418. Name (_HID, "INT33FF") // _HID: Hardware ID
  17419. Name (_CID, "INT33FF") // _CID: Compatible ID
  17420. Name (_DDN, "General Purpose Input/Output (GPIO) controller - SOUTHWEST") // _DDN: DOS Device Name
  17421. Name (_UID, One) // _UID: Unique ID
  17422. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  17423. {
  17424. Name (RBUF, ResourceTemplate ()
  17425. {
  17426. Memory32Fixed (ReadWrite,
  17427. 0xFED80000, // Address Base
  17428. 0x00008000, // Address Length
  17429. )
  17430. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  17431. {
  17432. 0x00000031,
  17433. }
  17434. })
  17435. Return (RBUF) /* \_SB_.GPO0._CRS.RBUF */
  17436. }
  17437.  
  17438. Method (_STA, 0, NotSerialized) // _STA: Status
  17439. {
  17440. Return (0x0F)
  17441. }
  17442.  
  17443. OperationRegion (XCFG, SystemMemory, 0xE00A0000, 0x40)
  17444. Field (XCFG, DWordAcc, NoLock, Preserve)
  17445. {
  17446. Offset (0x10),
  17447. XBAD, 32
  17448. }
  17449.  
  17450. OperationRegion (BADR, SystemMemory, XBAD, 0x04E0)
  17451. Field (BADR, DWordAcc, NoLock, Preserve)
  17452. {
  17453. Offset (0x4CC),
  17454. STTD, 32
  17455. }
  17456.  
  17457. Method (_E4E, 0, NotSerialized) // _Exx: Edge-Triggered GPE
  17458. {
  17459. Sleep (0x03)
  17460. STTD &= 0xFFFFFDEE
  17461. Sleep (One)
  17462. STTD |= 0x0211
  17463. Sleep (0x60)
  17464. }
  17465.  
  17466. Name (AVBL, Zero)
  17467. Name (AMMR, Zero)
  17468. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  17469. {
  17470. If (Arg0 == 0x08)
  17471. {
  17472. AVBL = Arg1
  17473. }
  17474. ElseIf (Arg0 == 0x91)
  17475. {
  17476. AMMR = Arg1
  17477. }
  17478. }
  17479.  
  17480. OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
  17481. Field (GPOP, ByteAcc, NoLock, Preserve)
  17482. {
  17483. Connection (
  17484. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17485. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  17486. )
  17487. { // Pin list
  17488. 0x0035
  17489. }
  17490. ),
  17491. BTD3, 1,
  17492. Connection (
  17493. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17494. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  17495. )
  17496. { // Pin list
  17497. 0x003A
  17498. }
  17499. ),
  17500. SUSB, 1,
  17501. Connection (
  17502. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17503. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  17504. )
  17505. { // Pin list
  17506. 0x003B
  17507. }
  17508. ),
  17509. SHD3, 1
  17510. }
  17511.  
  17512. OperationRegion (GMMR, 0x91, Zero, 0x8000)
  17513. Field (GMMR, DWordAcc, NoLock, Preserve)
  17514. {
  17515. Offset (0x5420),
  17516. Offset (0x5421),
  17517. I4AF, 3,
  17518. , 4,
  17519. I4AE, 1,
  17520. , 4,
  17521. I4AD, 4,
  17522. Offset (0x5438),
  17523. Offset (0x5439),
  17524. I4CF, 3,
  17525. , 4,
  17526. I4CE, 1,
  17527. , 4,
  17528. I4CD, 4
  17529. }
  17530. }
  17531.  
  17532. Device (GPO1)
  17533. {
  17534. Name (_ADR, Zero) // _ADR: Address
  17535. Name (_HID, "INT33FF") // _HID: Hardware ID
  17536. Name (_CID, "INT33FF") // _CID: Compatible ID
  17537. Name (_DDN, "General Purpose Input/Output (GPIO) controller - NORTH") // _DDN: DOS Device Name
  17538. Name (_UID, 0x02) // _UID: Unique ID
  17539. Name (_DEP, Package (0x01) // _DEP: Dependencies
  17540. {
  17541. MBID
  17542. })
  17543. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  17544. {
  17545. Name (RBUF, ResourceTemplate ()
  17546. {
  17547. Memory32Fixed (ReadWrite,
  17548. 0xFED88000, // Address Base
  17549. 0x00008000, // Address Length
  17550. )
  17551. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  17552. {
  17553. 0x00000030,
  17554. }
  17555. })
  17556. Return (RBUF) /* \_SB_.GPO1._CRS.RBUF */
  17557. }
  17558.  
  17559. Method (_STA, 0, NotSerialized) // _STA: Status
  17560. {
  17561. Return (0x0F)
  17562. }
  17563.  
  17564. Name (BUFF, Buffer (0x03) {})
  17565. CreateByteField (BUFF, Zero, STAT)
  17566. CreateByteField (BUFF, 0x02, DATA)
  17567. Name (CHTY, Zero)
  17568. Method (FICH, 0, NotSerialized)
  17569. {
  17570. ADBG ("FICH")
  17571. If (^^PCI0.I2C3.AVBL == One)
  17572. {
  17573. BUFF = ^^PCI0.I2C3.RG08 /* \_SB_.PCI0.I2C3.RG08 */
  17574. DATA >>= 0x06
  17575. DATA &= 0x03
  17576. CHTY = DATA /* \_SB_.GPO1.DATA */
  17577. }
  17578. }
  17579.  
  17580. Method (OTCF, 1, NotSerialized)
  17581. {
  17582. If (^^PCI0.I2C3.AVBL == One)
  17583. {
  17584. BUFF = ^^PCI0.I2C3.RG01 /* \_SB_.PCI0.I2C3.RG01 */
  17585. If (ToInteger (Arg0) == One)
  17586. {
  17587. ADBG ("Enable VBUS")
  17588. If (^^PCI0.I2C7.AVBL == One)
  17589. {
  17590. DATA |= 0x20
  17591. }
  17592. }
  17593. Else
  17594. {
  17595. DATA &= 0xDF
  17596. }
  17597.  
  17598. ^^PCI0.I2C3.RG01 = BUFF /* \_SB_.GPO1.BUFF */
  17599. }
  17600. }
  17601.  
  17602. OperationRegion (GPB1, SystemMemory, 0xFED8C848, 0x04)
  17603. Field (GPB1, DWordAcc, NoLock, Preserve)
  17604. {
  17605. PVAL, 8,
  17606. Offset (0x04)
  17607. }
  17608.  
  17609. Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
  17610. {
  17611. Name (CBUF, ResourceTemplate ()
  17612. {
  17613. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
  17614. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17615. )
  17616. { // Pin list
  17617. 0x0003
  17618. }
  17619. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
  17620. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17621. )
  17622. { // Pin list
  17623. 0x0000
  17624. }
  17625. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
  17626. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17627. )
  17628. { // Pin list
  17629. 0x0018
  17630. }
  17631. })
  17632. Name (RBUF, ResourceTemplate ()
  17633. {
  17634. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
  17635. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17636. )
  17637. { // Pin list
  17638. 0x0005
  17639. }
  17640. })
  17641. If (OSID == One)
  17642. {
  17643. If (BDID == One)
  17644. {
  17645. Return (CBUF) /* \_SB_.GPO1._AEI.CBUF */
  17646. }
  17647. Else
  17648. {
  17649. Return (RBUF) /* \_SB_.GPO1._AEI.RBUF */
  17650. }
  17651. }
  17652. }
  17653.  
  17654. Method (_E18, 0, NotSerialized) // _Exx: Edge-Triggered GPE
  17655. {
  17656. If (LIDA != Zero)
  17657. {
  17658. LIDS = And (PVAL, One)
  17659. ^^PCI0.GFX0.GLID (LIDS)
  17660. Notify (LID0, 0x80) // Status Change
  17661. }
  17662. }
  17663.  
  17664. Method (_E03, 0, Serialized) // _Exx: Edge-Triggered GPE
  17665. {
  17666. If ((BDID == One) && (PMID == One))
  17667. {
  17668. If (USBI == Zero)
  17669. {
  17670. ^^PCI0.CDRH (Zero)
  17671. If (^^PCI0.I2C7.AVBL == One)
  17672. {
  17673. BUFF = ^^PCI0.I2C7.P0DT /* \_SB_.PCI0.I2C7.P0DT */
  17674. DATA |= Zero
  17675. ^^PCI0.I2C7.P0DT = BUFF /* \_SB_.GPO1.BUFF */
  17676. DATA = 0xDF
  17677. ^^PCI0.I2C7.P0CF = BUFF /* \_SB_.GPO1.BUFF */
  17678. BUFF = ^^PCI0.I2C7.P0DT /* \_SB_.PCI0.I2C7.P0DT */
  17679. DATA |= 0x20
  17680. ^^PCI0.I2C7.P0DT = BUFF /* \_SB_.GPO1.BUFF */
  17681. }
  17682.  
  17683. If (^^PCI0.I2C3.AVBL == One)
  17684. {
  17685. BUFF = ^^PCI0.I2C3.P0TG /* \_SB_.PCI0.I2C3.P0TG */
  17686. DATA |= 0x20
  17687. ^^PCI0.I2C3.P0TG = BUFF /* \_SB_.GPO1.BUFF */
  17688. }
  17689.  
  17690. If (^^GPO3.AMMR == One)
  17691. {
  17692. ^^GPO3.DMTX = 0x8102
  17693. }
  17694. }
  17695. Else
  17696. {
  17697. If (^^GPO3.AMMR == One)
  17698. {
  17699. ^^GPO3.DMTX = 0x8100
  17700. }
  17701.  
  17702. If (^^PCI0.I2C3.AVBL == One)
  17703. {
  17704. BUFF = ^^PCI0.I2C3.P0TG /* \_SB_.PCI0.I2C3.P0TG */
  17705. DATA &= 0xDF
  17706. ^^PCI0.I2C3.P0TG = BUFF /* \_SB_.GPO1.BUFF */
  17707. }
  17708.  
  17709. If (DSFG == One)
  17710. {
  17711. ^^PCI0.CDRH (Zero)
  17712. }
  17713. Else
  17714. {
  17715. ^^PCI0.CDRD (Zero)
  17716. }
  17717. }
  17718. }
  17719.  
  17720. If ((BDID == One) && (PMID == 0x02))
  17721. {
  17722. If (^^PCI0.I2C7.AVBL == One)
  17723. {
  17724. If (USBI == One)
  17725. {
  17726. ^^GPO3.VBS5 = Zero
  17727. Sleep (0x05)
  17728. BUFF = ^^PCI0.I2C7.XD30 /* \_SB_.PCI0.I2C7.XD30 */
  17729. DATA &= 0x7F
  17730. ^^PCI0.I2C7.XD30 = BUFF /* \_SB_.GPO1.BUFF */
  17731. Sleep (0x05)
  17732. ^^PCI0.CDRD (Zero)
  17733. }
  17734. Else
  17735. {
  17736. ^^PCI0.CDRH (Zero)
  17737. Sleep (0x05)
  17738. BUFF = ^^PCI0.I2C7.XD30 /* \_SB_.PCI0.I2C7.XD30 */
  17739. DATA |= 0x80
  17740. ^^PCI0.I2C7.XD30 = BUFF /* \_SB_.GPO1.BUFF */
  17741. Sleep (0x05)
  17742. ^^GPO3.VBS5 = One
  17743. }
  17744. }
  17745. }
  17746. }
  17747.  
  17748. Method (_E05, 0, NotSerialized) // _Exx: Edge-Triggered GPE
  17749. {
  17750. If (BDID != One)
  17751. {
  17752. If (^^PCI0.I2C1.AVBL == One)
  17753. {
  17754. If (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
  17755. {
  17756. Local0 = ^^PCI0.I2C1.BATC.INTC ()
  17757. If (One == Local0)
  17758. {
  17759. Notify (ADP1, 0x80) // Status Change
  17760. Notify (^^PCI0.I2C1.BATC, 0x80) // Status Change
  17761. Notify (^^PCI0.I2C1.BATC, 0x81) // Information Change
  17762. }
  17763. }
  17764.  
  17765. If (CondRefOf (\_SB.DPTF, Local3))
  17766. {
  17767. If (One == Local0)
  17768. {
  17769. ADBG ("DPTFNOTIFY")
  17770. Notify (DPTF, 0x86) // Device-Specific
  17771. Notify (TCHG, 0x80) // Status Change
  17772. }
  17773. }
  17774. }
  17775. }
  17776. }
  17777.  
  17778. Name (AVBL, Zero)
  17779. Name (AMMR, Zero)
  17780. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  17781. {
  17782. If (Arg0 == 0x08)
  17783. {
  17784. AVBL = Arg1
  17785. }
  17786. ElseIf (Arg0 == 0x92)
  17787. {
  17788. AMMR = Arg1
  17789. }
  17790. }
  17791.  
  17792. OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x11)
  17793. Field (GPOP, ByteAcc, NoLock, Preserve)
  17794. {
  17795. Connection (
  17796. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17797. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17798. )
  17799. { // Pin list
  17800. 0x0000
  17801. }
  17802. ),
  17803. MPD3, 1,
  17804. Connection (
  17805. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17806. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17807. )
  17808. { // Pin list
  17809. 0x0002
  17810. }
  17811. ),
  17812. MRD3, 1,
  17813. Connection (
  17814. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17815. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17816. )
  17817. { // Pin list
  17818. 0x0019
  17819. }
  17820. ),
  17821. TCD3, 1,
  17822. Connection (
  17823. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17824. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17825. )
  17826. { // Pin list
  17827. 0x0019
  17828. }
  17829. ),
  17830. TCDA, 1,
  17831. Connection (
  17832. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17833. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17834. )
  17835. { // Pin list
  17836. 0x0037
  17837. }
  17838. ),
  17839. CRST, 1,
  17840. Connection (
  17841. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17842. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17843. )
  17844. { // Pin list
  17845. 0x0034
  17846. }
  17847. ),
  17848. WLD3, 1,
  17849. Connection (
  17850. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17851. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17852. )
  17853. { // Pin list
  17854. 0x0034
  17855. }
  17856. ),
  17857. WLDA, 1,
  17858. Connection (
  17859. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17860. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17861. )
  17862. { // Pin list
  17863. 0x0019
  17864. }
  17865. ),
  17866. TCTL, 1,
  17867. Connection (
  17868. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  17869. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  17870. )
  17871. { // Pin list
  17872. 0x0042
  17873. }
  17874. ),
  17875. GN66, 1
  17876. }
  17877.  
  17878. OperationRegion (GMMR, 0x92, Zero, 0x8000)
  17879. Field (GMMR, DWordAcc, NoLock, Preserve)
  17880. {
  17881. Offset (0x4418),
  17882. USBI, 1,
  17883. Offset (0x4818),
  17884. Offset (0x4819),
  17885. GPSC, 3,
  17886. , 4,
  17887. GPSE, 1,
  17888. Offset (0x5460),
  17889. COPM, 1
  17890. }
  17891. }
  17892.  
  17893. Device (GPO2)
  17894. {
  17895. Name (_ADR, Zero) // _ADR: Address
  17896. Name (_HID, "INT33FF") // _HID: Hardware ID
  17897. Name (_CID, "INT33FF") // _CID: Compatible ID
  17898. Name (_DDN, "General Purpose Input/Output (GPIO) controller - EAST") // _DDN: DOS Device Name
  17899. Name (_UID, 0x03) // _UID: Unique ID
  17900. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  17901. {
  17902. Name (RBUF, ResourceTemplate ()
  17903. {
  17904. Memory32Fixed (ReadWrite,
  17905. 0xFED90000, // Address Base
  17906. 0x00008000, // Address Length
  17907. )
  17908. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  17909. {
  17910. 0x00000032,
  17911. }
  17912. })
  17913. Return (RBUF) /* \_SB_.GPO2._CRS.RBUF */
  17914. }
  17915.  
  17916. Method (_STA, 0, NotSerialized) // _STA: Status
  17917. {
  17918. Return (0x0F)
  17919. }
  17920.  
  17921. Name (BUFF, Buffer (0x07)
  17922. {
  17923. 0xFF /* . */
  17924. })
  17925. CreateByteField (BUFF, Zero, STAT)
  17926. CreateByteField (BUFF, One, LEN)
  17927. CreateByteField (BUFF, 0x02, TMP0)
  17928. CreateByteField (BUFF, 0x03, AX00)
  17929. CreateByteField (BUFF, 0x04, AX01)
  17930. CreateByteField (BUFF, 0x05, AX10)
  17931. CreateByteField (BUFF, 0x06, AX11)
  17932. }
  17933.  
  17934. Device (GPO3)
  17935. {
  17936. Name (_ADR, Zero) // _ADR: Address
  17937. Name (_HID, "INT33FF") // _HID: Hardware ID
  17938. Name (_CID, "INT33FF") // _CID: Compatible ID
  17939. Name (_DDN, "General Purpose Input/Output (GPIO) controller - SOUTHEAST") // _DDN: DOS Device Name
  17940. Name (_UID, 0x04) // _UID: Unique ID
  17941. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  17942. {
  17943. Name (RBUF, ResourceTemplate ()
  17944. {
  17945. Memory32Fixed (ReadWrite,
  17946. 0xFED98000, // Address Base
  17947. 0x00008000, // Address Length
  17948. )
  17949. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  17950. {
  17951. 0x0000005B,
  17952. }
  17953. })
  17954. Return (RBUF) /* \_SB_.GPO3._CRS.RBUF */
  17955. }
  17956.  
  17957. Method (_STA, 0, NotSerialized) // _STA: Status
  17958. {
  17959. Return (0x0F)
  17960. }
  17961.  
  17962. Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
  17963. {
  17964. Name (CBUF, ResourceTemplate ()
  17965. {
  17966. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
  17967. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  17968. )
  17969. { // Pin list
  17970. 0x003D
  17971. }
  17972. })
  17973. Name (WBUF, ResourceTemplate ()
  17974. {
  17975. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
  17976. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  17977. )
  17978. { // Pin list
  17979. 0x0001
  17980. }
  17981. })
  17982. If ((BDID == 0x02) && (OSID == One))
  17983. {
  17984. Return (CBUF) /* \_SB_.GPO3._AEI.CBUF */
  17985. }
  17986. ElseIf ((BDID != One) && (OSID == One))
  17987. {
  17988. Return (WBUF) /* \_SB_.GPO3._AEI.WBUF */
  17989. }
  17990. }
  17991.  
  17992. Method (_E01, 0, NotSerialized) // _Exx: Edge-Triggered GPE
  17993. {
  17994. ADBG ("BINTR")
  17995. If (BDID == 0x08)
  17996. {
  17997. If (CondRefOf (\_SB.PCI0.I2C7.BATC, Local1))
  17998. {
  17999. Local0 = ^^PCI0.I2C7.BATC.INTF ()
  18000. ADBG (Local0)
  18001. }
  18002.  
  18003. Notify (ADP1, 0x80) // Status Change
  18004. Notify (^^PCI0.I2C7.BATC, 0x80) // Status Change
  18005. Notify (^^PCI0.I2C7.BATC, 0x81) // Information Change
  18006. }
  18007. ElseIf ((BDID == 0x09) || (BDID == 0x0A))
  18008. {
  18009. If (^^PCI0.I2C7.WIDR.AVBL == One)
  18010. {
  18011. Notify (ADP1, 0x80) // Status Change
  18012. Notify (^^PCI0.I2C7.WIDR, 0x87) // Device-Specific
  18013. }
  18014. }
  18015. ElseIf (^^PCI0.I2C1.AVBL == One)
  18016. {
  18017. If (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
  18018. {
  18019. Local0 = ^^PCI0.I2C1.BATC.INTF ()
  18020. ADBG (Local0)
  18021. }
  18022.  
  18023. Notify (ADP1, 0x80) // Status Change
  18024. Notify (^^PCI0.I2C1.BATC, 0x80) // Status Change
  18025. Notify (^^PCI0.I2C1.BATC, 0x81) // Information Change
  18026. }
  18027. }
  18028.  
  18029. Method (_E3D, 0, NotSerialized) // _Exx: Edge-Triggered GPE
  18030. {
  18031. ADBG ("BINTR")
  18032. If (^^PCI0.I2C1.AVBL == One)
  18033. {
  18034. If (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
  18035. {
  18036. Local0 = ^^PCI0.I2C1.BATC.INTF ()
  18037. ADBG (Local0)
  18038. }
  18039.  
  18040. Notify (ADP1, 0x80) // Status Change
  18041. Notify (^^PCI0.I2C1.BATC, 0x80) // Status Change
  18042. Notify (^^PCI0.I2C1.BATC, 0x81) // Information Change
  18043. }
  18044. }
  18045.  
  18046. Name (AVBL, Zero)
  18047. Name (AMMR, Zero)
  18048. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  18049. {
  18050. If (Arg0 == 0x08)
  18051. {
  18052. AVBL = Arg1
  18053. }
  18054. ElseIf (Arg0 == 0x94)
  18055. {
  18056. AMMR = Arg1
  18057. }
  18058. }
  18059.  
  18060. Name (GMOD, ResourceTemplate ()
  18061. {
  18062. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18063. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  18064. )
  18065. { // Pin list
  18066. 0x004B
  18067. }
  18068. })
  18069. OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
  18070. Field (GPOP, ByteAcc, NoLock, Preserve)
  18071. {
  18072. Connection (GMOD),
  18073. WFD3, 1,
  18074. Connection (
  18075. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18076. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  18077. )
  18078. { // Pin list
  18079. 0x002E
  18080. }
  18081. ),
  18082. VBS5, 1
  18083. }
  18084.  
  18085. OperationRegion (GMMR, 0x94, Zero, 0x8000)
  18086. Field (GMMR, DWordAcc, NoLock, Preserve)
  18087. {
  18088. Offset (0x5420),
  18089. FGGP, 32,
  18090. Offset (0x5448),
  18091. DMTX, 32
  18092. }
  18093. }
  18094.  
  18095. Device (GPO4)
  18096. {
  18097. Name (_ADR, Zero) // _ADR: Address
  18098. Name (_HID, "INT33FF") // _HID: Hardware ID
  18099. Name (_CID, "INT33FF") // _CID: Compatible ID
  18100. Name (_DDN, "General Purpose Input/Output (GPIO) controller - GPIO VIRTUAL") // _DDN: DOS Device Name
  18101. Name (_UID, 0x05) // _UID: Unique ID
  18102. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  18103. {
  18104. Name (RBUF, ResourceTemplate ()
  18105. {
  18106. Memory32Fixed (ReadWrite,
  18107. 0xFEDA0000, // Address Base
  18108. 0x00008000, // Address Length
  18109. )
  18110. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  18111. {
  18112. 0x0000006C,
  18113. }
  18114. })
  18115. Return (RBUF) /* \_SB_.GPO4._CRS.RBUF */
  18116. }
  18117.  
  18118. Method (_STA, 0, NotSerialized) // _STA: Status
  18119. {
  18120. If (SOCS <= 0x04)
  18121. {
  18122. Return (Zero)
  18123. }
  18124. Else
  18125. {
  18126. Return (0x0F)
  18127. }
  18128. }
  18129.  
  18130. Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
  18131. {
  18132. Name (RBUF, ResourceTemplate ()
  18133. {
  18134. GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
  18135. "\\_SB.GPO4", 0x00, ResourceConsumer, ,
  18136. )
  18137. { // Pin list
  18138. 0x0006
  18139. }
  18140. })
  18141. Return (RBUF) /* \_SB_.GPO4._AEI.RBUF */
  18142. }
  18143.  
  18144. Name (AVBL, Zero)
  18145. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  18146. {
  18147. If (Arg0 == 0x08)
  18148. {
  18149. AVBL = Arg1
  18150. }
  18151. }
  18152.  
  18153. Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE
  18154. {
  18155. If (XHCI != Zero)
  18156. {
  18157. If (^^PCI0.XHC1.PMES == One)
  18158. {
  18159. ^^PCI0.XHC1.PMES = One
  18160. Notify (^^PCI0.XHC1, 0x02) // Device Wake
  18161. }
  18162. }
  18163.  
  18164. If (OTGM != Zero)
  18165. {
  18166. If (^^PCI0.OTG1.PMES == One)
  18167. {
  18168. ADBG ("OTG wake")
  18169. ^^PCI0.OTG1.PMEE = Zero
  18170. ^^PCI0.OTG1.CPME = Zero
  18171. ^^PCI0.OTG1.U2EN = Zero
  18172. ^^PCI0.OTG1.U3EN = Zero
  18173. Notify (^^PCI0.OTG1, 0x02) // Device Wake
  18174. }
  18175. }
  18176.  
  18177. If (^^PCI0.SEC0.PMES == One)
  18178. {
  18179. ^^PCI0.SEC0.PMEE = Zero
  18180. Local0 = ^^PCI0.SEC0.PMEE /* \_SB_.PCI0.SEC0.PMEE */
  18181. Notify (^^PCI0.SEC0, 0x02) // Device Wake
  18182. }
  18183.  
  18184. Stall (0x0A)
  18185. PMEB = One
  18186. Stall (0x0A)
  18187. }
  18188. }
  18189.  
  18190. Device (WLCH)
  18191. {
  18192. Name (_HID, "INTA4321") // _HID: Hardware ID
  18193. Name (_CID, "INTA4321") // _CID: Compatible ID
  18194. Name (_DDN, "WIRELESS CHARGER") // _DDN: DOS Device Name
  18195. Name (_DEP, Package (0x03) // _DEP: Dependencies
  18196. {
  18197. ^PCI0.I2C1,
  18198. GPO3,
  18199. GPO0
  18200. })
  18201. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  18202. {
  18203. Name (RBUF, ResourceTemplate ()
  18204. {
  18205. I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
  18206. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  18207. 0x00, ResourceConsumer, , Exclusive,
  18208. )
  18209. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0000,
  18210. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  18211. )
  18212. { // Pin list
  18213. 0x0032
  18214. }
  18215. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0000,
  18216. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  18217. )
  18218. { // Pin list
  18219. 0x004D
  18220. }
  18221. })
  18222. Return (RBUF) /* \_SB_.WLCH._CRS.RBUF */
  18223. }
  18224.  
  18225. Method (_STA, 0, NotSerialized) // _STA: Status
  18226. {
  18227. If ((BDID == 0x0A) && (OSID != One))
  18228. {
  18229. Return (0x0F)
  18230. }
  18231.  
  18232. Return (Zero)
  18233. }
  18234. }
  18235.  
  18236. Device (WCH2)
  18237. {
  18238. Name (_HID, "INTA4322") // _HID: Hardware ID
  18239. Name (_CID, "INTA4322") // _CID: Compatible ID
  18240. Name (_DDN, "WIRELESS CHARGER 2") // _DDN: DOS Device Name
  18241. Name (_DEP, Package (0x02) // _DEP: Dependencies
  18242. {
  18243. GPO3,
  18244. GPO1
  18245. })
  18246. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  18247. {
  18248. Name (RBUF, ResourceTemplate ()
  18249. {
  18250. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18251. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  18252. )
  18253. { // Pin list
  18254. 0x0031
  18255. }
  18256. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18257. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  18258. )
  18259. { // Pin list
  18260. 0x003E
  18261. }
  18262. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18263. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  18264. )
  18265. { // Pin list
  18266. 0x0040
  18267. }
  18268. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18269. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  18270. )
  18271. { // Pin list
  18272. 0x003C
  18273. }
  18274. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18275. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  18276. )
  18277. { // Pin list
  18278. 0x003D
  18279. }
  18280. })
  18281. Return (RBUF) /* \_SB_.WCH2._CRS.RBUF */
  18282. }
  18283.  
  18284. Method (_STA, 0, NotSerialized) // _STA: Status
  18285. {
  18286. If ((BDID == 0x0A) && (OSID != One))
  18287. {
  18288. Return (0x0F)
  18289. }
  18290.  
  18291. Return (Zero)
  18292. }
  18293. }
  18294.  
  18295. Device (FLDM)
  18296. {
  18297. Name (_ADR, Zero) // _ADR: Address
  18298. Name (_HID, "INT34D0") // _HID: Hardware ID
  18299. Name (_CID, "INT34D0") // _CID: Compatible ID
  18300. Name (_DDN, "Modem Reset device for CHT") // _DDN: DOS Device Name
  18301. Name (_UID, One) // _UID: Unique ID
  18302. Name (CDEP, Package (0x03)
  18303. {
  18304. GPO1,
  18305. ^PCI0.I2C7,
  18306. ^PCI0.I2C7.PMIC
  18307. })
  18308. Name (WDEP, Package (0x03)
  18309. {
  18310. GPO1,
  18311. ^PCI0.I2C7,
  18312. ^PCI0.I2C7.PMI5
  18313. })
  18314. Method (_STA, 0, NotSerialized) // _STA: Status
  18315. {
  18316. If (FMDM == One)
  18317. {
  18318. Return (0x0F)
  18319. }
  18320.  
  18321. Return (Zero)
  18322. }
  18323.  
  18324. OperationRegion (BADR, SystemMemory, 0xFED8C410, 0x08)
  18325. Field (BADR, DWordAcc, NoLock, Preserve)
  18326. {
  18327. MRB0, 32,
  18328. MRB1, 32
  18329. }
  18330.  
  18331. OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
  18332. Field (BAD1, DWordAcc, NoLock, Preserve)
  18333. {
  18334. MRP0, 32,
  18335. MRP1, 32
  18336. }
  18337.  
  18338. OperationRegion (CFG1, SystemMemory, 0xE00A0000, 0x40)
  18339. Field (CFG1, DWordAcc, NoLock, Preserve)
  18340. {
  18341. Offset (0x10),
  18342. BAD2, 32
  18343. }
  18344.  
  18345. OperationRegion (ADR3, SystemMemory, BAD2, 0x0560)
  18346. Field (ADR3, DWordAcc, NoLock, Preserve)
  18347. {
  18348. Offset (0x52C),
  18349. STTD, 32
  18350. }
  18351.  
  18352. Method (MDON, 0, NotSerialized)
  18353. {
  18354. If (PMID == 0x03)
  18355. {
  18356. ^^PCI0.I2C7.PMI5.MOXX = One
  18357. }
  18358. ElseIf (PMID == Zero)
  18359. {
  18360. ^^PCI0.I2C7.PMIC.MOXX = One
  18361. }
  18362.  
  18363. Stall (0xFF)
  18364. If (^^GPO1.AVBL == One)
  18365. {
  18366. Stall (0x0A)
  18367. ^^GPO1.MRD3 = One
  18368. Stall (0x0A)
  18369. ^^GPO1.MPD3 = Zero
  18370. Stall (0x0A)
  18371. ^^GPO1.MPD3 = One
  18372. Stall (0x4B)
  18373. ^^GPO1.MPD3 = Zero
  18374. }
  18375.  
  18376. Stall (0xFF)
  18377. Local1 = (STTD & 0xFFFEFE1D)
  18378. STTD = (Local1 | 0x00010000)
  18379. Stall (0xFF)
  18380. If (STTD == 0x02F0)
  18381. {
  18382. Local2 = (STTD & 0xFFFEFC0D)
  18383. STTD = (Local2 | 0x00010000)
  18384. }
  18385.  
  18386. Stall (0xFF)
  18387. If (STTD == 0x0E0002F0)
  18388. {
  18389. Local3 = (STTD & 0xFFFEFC0D)
  18390. STTD = (Local3 | 0x00010000)
  18391. }
  18392. }
  18393.  
  18394. Method (MOFF, 0, NotSerialized)
  18395. {
  18396. Local1 = (STTD & 0xFFFEFE1D)
  18397. STTD = (Local1 | 0x00010000)
  18398. Stall (0xFF)
  18399. If (^^GPO1.AVBL == One)
  18400. {
  18401. ^^GPO1.MRD3 = Zero
  18402. Stall (0xFF)
  18403. }
  18404.  
  18405. If (PMID == 0x03)
  18406. {
  18407. ^^PCI0.I2C7.PMI5.MOXX = Zero
  18408. }
  18409. ElseIf (PMID == Zero)
  18410. {
  18411. ^^PCI0.I2C7.PMIC.MOXX = Zero
  18412. }
  18413.  
  18414. Stall (0xFF)
  18415. }
  18416.  
  18417. Method (MRST, 0, NotSerialized)
  18418. {
  18419. If (^^PCI0.XHC1.XCD3 == One)
  18420. {
  18421. ^^PCI0.XHC1.XHD3 = One
  18422. Notify (^^PCI0.XHC1, 0x02) // Device Wake
  18423. }
  18424. Else
  18425. {
  18426. ^^PCI0.XHC1.XHD3 = Zero
  18427. ^^PCI0.XHC1.D3HE = Zero
  18428. Stall (0xFF)
  18429. MOFF ()
  18430. ^^PCI0.XHC1.S1PD = Zero
  18431. ^^PCI0.XHC1.S1PU = One
  18432. ^^PCI0.XHC1.S1PD = One
  18433. Stall (0xFF)
  18434. MDON ()
  18435. ^^PCI0.XHC1.S1PD = Zero
  18436. ^^PCI0.XHC1.S1PU = Zero
  18437. ^^PCI0.XHC1.S1PD = One
  18438. Stall (0xFF)
  18439. If (^^PCI0.XHC1.XCD3 == One)
  18440. {
  18441. ^^PCI0.XHC1.XHD3 = One
  18442. Notify (^^PCI0.XHC1, 0x02) // Device Wake
  18443. }
  18444. }
  18445. }
  18446.  
  18447. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  18448. {
  18449. Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
  18450. If (Arg0 == ToUUID ("ac340cb7-e901-45bf-b7e6-2b34ec931e23"))
  18451. {
  18452. If (Arg2 == Zero)
  18453. {
  18454. Return (0x03)
  18455. }
  18456.  
  18457. While (One)
  18458. {
  18459. _T_0 = Arg2
  18460. If (_T_0 == One)
  18461. {
  18462. MOFF ()
  18463. }
  18464. ElseIf (_T_0 == 0x02)
  18465. {
  18466. MDON ()
  18467. }
  18468. ElseIf (_T_0 == 0x03)
  18469. {
  18470. MRST ()
  18471. }
  18472.  
  18473. Break
  18474. }
  18475. }
  18476. Else
  18477. {
  18478. Return (Zero)
  18479. }
  18480. }
  18481. }
  18482.  
  18483. Scope (PCI0.I2C7)
  18484. {
  18485. OperationRegion (DZFG, GenericSerialBus, Zero, 0x0100)
  18486. Field (DZFG, BufferAcc, NoLock, Preserve)
  18487. {
  18488. Connection (
  18489. I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
  18490. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  18491. 0x00, ResourceConsumer, , Exclusive,
  18492. )
  18493. ),
  18494. Offset (0x47),
  18495. AccessAs (BufferAcc, AttribByte),
  18496. DL03, 8,
  18497. DL02, 8
  18498. }
  18499.  
  18500. OperationRegion (XOPR, GenericSerialBus, Zero, 0x0100)
  18501. Field (XOPR, BufferAcc, NoLock, Preserve)
  18502. {
  18503. Connection (
  18504. I2cSerialBusV2 (0x0034, ControllerInitiated, 0x000F4240,
  18505. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  18506. 0x00, ResourceConsumer, , Exclusive,
  18507. )
  18508. ),
  18509. Offset (0x12),
  18510. AccessAs (BufferAcc, AttribByte),
  18511. XD31, 8,
  18512. Offset (0x16),
  18513. AccessAs (BufferAcc, AttribByte),
  18514. XD33, 8,
  18515. XD32, 8,
  18516. Offset (0x30),
  18517. AccessAs (BufferAcc, AttribByte),
  18518. XD30, 8,
  18519. Offset (0x92),
  18520. AccessAs (BufferAcc, AttribByte),
  18521. XD92, 8,
  18522. XD93, 8
  18523. }
  18524.  
  18525. Device (PMI1)
  18526. {
  18527. Name (_ADR, Zero) // _ADR: Address
  18528. Name (_HID, "INT33F4" /* XPOWER PMIC Controller */) // _HID: Hardware ID
  18529. Name (_CID, "INT33F4" /* XPOWER PMIC Controller */) // _CID: Compatible ID
  18530. Name (_DDN, "XPOWER PMIC Controller") // _DDN: DOS Device Name
  18531. Name (_HRV, 0x03) // _HRV: Hardware Revision
  18532. Name (_UID, One) // _UID: Unique ID
  18533. Name (_DEP, Package (0x02) // _DEP: Dependencies
  18534. {
  18535. I2C7,
  18536. GPO1
  18537. })
  18538. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  18539. {
  18540. Name (SBUF, ResourceTemplate ()
  18541. {
  18542. I2cSerialBusV2 (0x0034, ControllerInitiated, 0x000F4240,
  18543. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  18544. 0x00, ResourceConsumer, , Exclusive,
  18545. )
  18546. GpioInt (Level, ActiveLow, Shared, PullDefault, 0x0000,
  18547. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  18548. )
  18549. { // Pin list
  18550. 0x000F
  18551. }
  18552. })
  18553. Name (ABUF, ResourceTemplate ()
  18554. {
  18555. I2cSerialBusV2 (0x0034, ControllerInitiated, 0x000F4240,
  18556. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  18557. 0x00, ResourceConsumer, , Exclusive,
  18558. )
  18559. GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
  18560. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  18561. )
  18562. { // Pin list
  18563. 0x000F
  18564. }
  18565. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18566. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  18567. )
  18568. { // Pin list
  18569. 0x0045
  18570. }
  18571. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18572. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  18573. )
  18574. { // Pin list
  18575. 0x0042
  18576. }
  18577. })
  18578. If (OSID != One)
  18579. {
  18580. Return (ABUF) /* \_SB_.PCI0.I2C7.PMI1._CRS.ABUF */
  18581. }
  18582. Else
  18583. {
  18584. Return (SBUF) /* \_SB_.PCI0.I2C7.PMI1._CRS.SBUF */
  18585. }
  18586. }
  18587.  
  18588. Method (_STA, 0, NotSerialized) // _STA: Status
  18589. {
  18590. If (PMEN == Zero)
  18591. {
  18592. Return (Zero)
  18593. }
  18594.  
  18595. If (PMID == 0x02)
  18596. {
  18597. ADBG ("XPWR_DCOVE")
  18598. Return (0x0F)
  18599. }
  18600.  
  18601. Return (Zero)
  18602. }
  18603.  
  18604. OperationRegion (PMOP, 0x8D, Zero, 0x0100)
  18605. Field (PMOP, DWordAcc, NoLock, Preserve)
  18606. {
  18607. ALD1, 32,
  18608. ALD2, 32,
  18609. ALD3, 32,
  18610. DLD1, 32,
  18611. DLD2, 32,
  18612. DLD3, 32,
  18613. DLD4, 32,
  18614. ELD1, 32,
  18615. ELD2, 32,
  18616. ELD3, 32,
  18617. FLD1, 32,
  18618. FLD2, 32,
  18619. FLD3, 32,
  18620. BUC1, 32,
  18621. BUC2, 32,
  18622. BUC3, 32,
  18623. BUC4, 32,
  18624. BUC5, 32,
  18625. BUC6, 32,
  18626. GPI1, 32
  18627. }
  18628.  
  18629. OperationRegion (DPTF, 0x8C, Zero, 0x0100)
  18630. Field (DPTF, DWordAcc, NoLock, Preserve)
  18631. {
  18632. TMP0, 32,
  18633. AX00, 32,
  18634. AX01, 32,
  18635. TMP1, 32,
  18636. AX10, 32,
  18637. AX11, 32,
  18638. TMP2, 32,
  18639. AX20, 32,
  18640. AX21, 32,
  18641. TMP3, 32,
  18642. AX30, 32,
  18643. AX31, 32,
  18644. TMP4, 32,
  18645. AX40, 32,
  18646. AX41, 32,
  18647. TMP5, 32,
  18648. AX50, 32,
  18649. AX51, 32,
  18650. PEN0, 32,
  18651. PEN1, 32,
  18652. PEN2, 32,
  18653. PEN3, 32,
  18654. PEN4, 32,
  18655. PEN5, 32
  18656. }
  18657.  
  18658. Name (LPAT, Package (0x2A)
  18659. {
  18660. 0x0AAC,
  18661. 0x0ADC,
  18662. 0x0ADE,
  18663. 0x08BD,
  18664. 0x0B10,
  18665. 0x0715,
  18666. 0x0B42,
  18667. 0x05C6,
  18668. 0x0B74,
  18669. 0x04BC,
  18670. 0x0BA6,
  18671. 0x03E8,
  18672. 0x0BD8,
  18673. 0x033E,
  18674. 0x0C0A,
  18675. 0x02B4,
  18676. 0x0C3C,
  18677. 0x0244,
  18678. 0x0C6E,
  18679. 0x01E8,
  18680. 0x0CA0,
  18681. 0x019D,
  18682. 0x0CD2,
  18683. 0x015F,
  18684. 0x0D04,
  18685. 0x012C,
  18686. 0x0D36,
  18687. 0x0101,
  18688. 0x0D68,
  18689. 0xDD,
  18690. 0x0D9A,
  18691. 0xBF,
  18692. 0x0DCC,
  18693. 0xA6,
  18694. 0x0DFE,
  18695. 0x90,
  18696. 0x0E30,
  18697. 0x7E,
  18698. 0x0E62,
  18699. 0x6E,
  18700. 0x0E94,
  18701. 0x61
  18702. })
  18703. OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
  18704. Field (GPOP, ByteAcc, NoLock, Preserve)
  18705. {
  18706. Connection (
  18707. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18708. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18709. )
  18710. { // Pin list
  18711. 0x0020
  18712. }
  18713. ),
  18714. GMP0, 1,
  18715. Connection (
  18716. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18717. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18718. )
  18719. { // Pin list
  18720. 0x0021
  18721. }
  18722. ),
  18723. GX00, 1,
  18724. Connection (
  18725. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18726. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18727. )
  18728. { // Pin list
  18729. 0x0022
  18730. }
  18731. ),
  18732. GX01, 1,
  18733. Connection (
  18734. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18735. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18736. )
  18737. { // Pin list
  18738. 0x0023
  18739. }
  18740. ),
  18741. GMP1, 1,
  18742. Connection (
  18743. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18744. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18745. )
  18746. { // Pin list
  18747. 0x0024
  18748. }
  18749. ),
  18750. GX10, 1,
  18751. Connection (
  18752. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18753. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18754. )
  18755. { // Pin list
  18756. 0x0025
  18757. }
  18758. ),
  18759. GX11, 1,
  18760. Connection (
  18761. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18762. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18763. )
  18764. { // Pin list
  18765. 0x0026
  18766. }
  18767. ),
  18768. GMP2, 1,
  18769. Connection (
  18770. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18771. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18772. )
  18773. { // Pin list
  18774. 0x0027
  18775. }
  18776. ),
  18777. GX20, 1,
  18778. Connection (
  18779. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18780. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18781. )
  18782. { // Pin list
  18783. 0x0028
  18784. }
  18785. ),
  18786. GX21, 1,
  18787. Connection (
  18788. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18789. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18790. )
  18791. { // Pin list
  18792. 0x0029
  18793. }
  18794. ),
  18795. GMP3, 1,
  18796. Connection (
  18797. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18798. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18799. )
  18800. { // Pin list
  18801. 0x002A
  18802. }
  18803. ),
  18804. GX30, 1,
  18805. Connection (
  18806. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18807. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18808. )
  18809. { // Pin list
  18810. 0x002B
  18811. }
  18812. ),
  18813. GX31, 1,
  18814. Connection (
  18815. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18816. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18817. )
  18818. { // Pin list
  18819. 0x002C
  18820. }
  18821. ),
  18822. GMP4, 1,
  18823. Connection (
  18824. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18825. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18826. )
  18827. { // Pin list
  18828. 0x002D
  18829. }
  18830. ),
  18831. GX40, 1,
  18832. Connection (
  18833. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18834. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18835. )
  18836. { // Pin list
  18837. 0x002E
  18838. }
  18839. ),
  18840. GX41, 1,
  18841. Connection (
  18842. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18843. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18844. )
  18845. { // Pin list
  18846. 0x002F
  18847. }
  18848. ),
  18849. GMP5, 1,
  18850. Connection (
  18851. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18852. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18853. )
  18854. { // Pin list
  18855. 0x0030
  18856. }
  18857. ),
  18858. GX50, 1,
  18859. Connection (
  18860. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18861. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18862. )
  18863. { // Pin list
  18864. 0x0031
  18865. }
  18866. ),
  18867. GX51, 1,
  18868. Connection (
  18869. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18870. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18871. )
  18872. { // Pin list
  18873. 0x0032
  18874. }
  18875. ),
  18876. GEN0, 1,
  18877. Connection (
  18878. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18879. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18880. )
  18881. { // Pin list
  18882. 0x0033
  18883. }
  18884. ),
  18885. GEN1, 1,
  18886. Connection (
  18887. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18888. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18889. )
  18890. { // Pin list
  18891. 0x0034
  18892. }
  18893. ),
  18894. GEN2, 1,
  18895. Connection (
  18896. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18897. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18898. )
  18899. { // Pin list
  18900. 0x0035
  18901. }
  18902. ),
  18903. GEN3, 1,
  18904. Connection (
  18905. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18906. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18907. )
  18908. { // Pin list
  18909. 0x0036
  18910. }
  18911. ),
  18912. GEN4, 1,
  18913. Connection (
  18914. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18915. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18916. )
  18917. { // Pin list
  18918. 0x0037
  18919. }
  18920. ),
  18921. GEN5, 1,
  18922. Connection (
  18923. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18924. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18925. )
  18926. { // Pin list
  18927. 0x0040
  18928. }
  18929. ),
  18930. G28X, 1,
  18931. Connection (
  18932. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18933. "\\__SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18934. )
  18935. { // Pin list
  18936. 0x0045
  18937. }
  18938. ),
  18939. GD3X, 1,
  18940. Connection (
  18941. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18942. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18943. )
  18944. { // Pin list
  18945. 0x0046
  18946. }
  18947. ),
  18948. G06X, 1,
  18949. Connection (
  18950. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18951. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18952. )
  18953. { // Pin list
  18954. 0x0048
  18955. }
  18956. ),
  18957. G18X, 1,
  18958. Connection (
  18959. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18960. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18961. )
  18962. { // Pin list
  18963. 0x0053
  18964. }
  18965. ),
  18966. GSDX, 1,
  18967. Connection (
  18968. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18969. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18970. )
  18971. { // Pin list
  18972. 0x004B
  18973. }
  18974. ),
  18975. G12X, 1,
  18976. Connection (
  18977. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18978. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18979. )
  18980. { // Pin list
  18981. 0x0047
  18982. }
  18983. ),
  18984. G16X, 1,
  18985. Connection (
  18986. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  18987. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  18988. )
  18989. { // Pin list
  18990. 0x0041
  18991. }
  18992. ),
  18993. G33X, 1
  18994. }
  18995.  
  18996. Name (AVBL, Zero)
  18997. Name (AVBD, Zero)
  18998. Name (AVBG, Zero)
  18999. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  19000. {
  19001. If (Arg0 == 0x08)
  19002. {
  19003. AVBG = Arg1
  19004. }
  19005.  
  19006. If (Arg0 == 0x8D)
  19007. {
  19008. AVBL = Arg1
  19009. }
  19010.  
  19011. If (Arg0 == 0x8C)
  19012. {
  19013. AVBD = Arg1
  19014. }
  19015. }
  19016.  
  19017. Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
  19018. {
  19019. Name (RBUF, ResourceTemplate ()
  19020. {
  19021. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  19022. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  19023. )
  19024. { // Pin list
  19025. 0x0011
  19026. }
  19027. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  19028. "\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
  19029. )
  19030. { // Pin list
  19031. 0x0013
  19032. }
  19033. })
  19034. Return (RBUF) /* \_SB_.PCI0.I2C7.PMI1._AEI.RBUF */
  19035. }
  19036.  
  19037. Method (_E11, 0, NotSerialized) // _Exx: Edge-Triggered GPE
  19038. {
  19039. If (OSID == One)
  19040. {
  19041. If (^^^^GPO1.USBI != Zero)
  19042. {
  19043. If (^^AVBL == One)
  19044. {
  19045. Notify (BMDR, 0x87) // Device-Specific
  19046. }
  19047. }
  19048. }
  19049. }
  19050.  
  19051. Method (_E13, 0, NotSerialized) // _Exx: Edge-Triggered GPE
  19052. {
  19053. If (OSID == One)
  19054. {
  19055. If (^^^^GPO1.USBI != Zero)
  19056. {
  19057. If (^^AVBL == One)
  19058. {
  19059. Notify (BMDR, 0x87) // Device-Specific
  19060. }
  19061. }
  19062. }
  19063. }
  19064. }
  19065.  
  19066. Device (PMI2)
  19067. {
  19068. Name (_ADR, Zero) // _ADR: Address
  19069. Name (_HID, "INT33F5" /* TI PMIC Controller */) // _HID: Hardware ID
  19070. Name (_CID, "INT33F5" /* TI PMIC Controller */) // _CID: Compatible ID
  19071. Name (_DDN, "TI PMIC Controller") // _DDN: DOS Device Name
  19072. Name (_HRV, 0x03) // _HRV: Hardware Revision
  19073. Name (_UID, One) // _UID: Unique ID
  19074. Name (_DEP, Package (0x02) // _DEP: Dependencies
  19075. {
  19076. I2C7,
  19077. GPO1
  19078. })
  19079. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  19080. {
  19081. Name (SBUF, ResourceTemplate ()
  19082. {
  19083. I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
  19084. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  19085. 0x00, ResourceConsumer, , Exclusive,
  19086. )
  19087. GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
  19088. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  19089. )
  19090. { // Pin list
  19091. 0x000F
  19092. }
  19093. })
  19094. Return (SBUF) /* \_SB_.PCI0.I2C7.PMI2._CRS.SBUF */
  19095. }
  19096.  
  19097. Method (_STA, 0, NotSerialized) // _STA: Status
  19098. {
  19099. If (PMEN == Zero)
  19100. {
  19101. Return (Zero)
  19102. }
  19103.  
  19104. If (PMID == One)
  19105. {
  19106. ADBG ("TI_DCOVE")
  19107. Return (0x0F)
  19108. }
  19109.  
  19110. Return (Zero)
  19111. }
  19112.  
  19113. OperationRegion (PMOP, 0x8D, Zero, 0x0100)
  19114. Field (PMOP, DWordAcc, NoLock, Preserve)
  19115. {
  19116. LDO1, 32,
  19117. LDO2, 32,
  19118. LDO3, 32,
  19119. LDO5, 32,
  19120. LDO6, 32,
  19121. LDO7, 32,
  19122. LDO8, 32,
  19123. LDO9, 32,
  19124. LD10, 32,
  19125. LD11, 32,
  19126. LD12, 32,
  19127. LD13, 32,
  19128. LD14, 32
  19129. }
  19130.  
  19131. OperationRegion (DPTF, 0x8C, Zero, 0x0100)
  19132. Field (DPTF, DWordAcc, NoLock, Preserve)
  19133. {
  19134. TMP0, 32,
  19135. AX00, 32,
  19136. AX01, 32,
  19137. TMP1, 32,
  19138. AX10, 32,
  19139. AX11, 32,
  19140. TMP2, 32,
  19141. AX20, 32,
  19142. AX21, 32,
  19143. TMP3, 32,
  19144. AX30, 32,
  19145. AX31, 32,
  19146. TMP4, 32,
  19147. AX40, 32,
  19148. AX41, 32,
  19149. TMP5, 32,
  19150. AX50, 32,
  19151. AX51, 32,
  19152. PEN0, 32,
  19153. PEN1, 32,
  19154. PEN2, 32,
  19155. PEN3, 32,
  19156. PEN4, 32,
  19157. PEN5, 32
  19158. }
  19159.  
  19160. Name (LPAT, Package (0x44)
  19161. {
  19162. 0x091B,
  19163. 0x03F1,
  19164. 0x094D,
  19165. 0x03EB,
  19166. 0x097F,
  19167. 0x03E4,
  19168. 0x09B1,
  19169. 0x03DA,
  19170. 0x09E3,
  19171. 0x03CE,
  19172. 0x0A15,
  19173. 0x03BE,
  19174. 0x0A47,
  19175. 0x03AA,
  19176. 0x0A79,
  19177. 0x0392,
  19178. 0x0AAB,
  19179. 0x0375,
  19180. 0x0ADD,
  19181. 0x0353,
  19182. 0x0B0F,
  19183. 0x032C,
  19184. 0x0B41,
  19185. 0x0300,
  19186. 0x0B73,
  19187. 0x02D0,
  19188. 0x0BA5,
  19189. 0x029D,
  19190. 0x0BD7,
  19191. 0x0268,
  19192. 0x0C09,
  19193. 0x0232,
  19194. 0x0C3B,
  19195. 0x01FD,
  19196. 0x0C6D,
  19197. 0x01C9,
  19198. 0x0C9F,
  19199. 0x0197,
  19200. 0x0CD1,
  19201. 0x0169,
  19202. 0x0D03,
  19203. 0x013E,
  19204. 0x0D35,
  19205. 0x0117,
  19206. 0x0D67,
  19207. 0xF5,
  19208. 0x0D99,
  19209. 0xD6,
  19210. 0x0DCB,
  19211. 0xBB,
  19212. 0x0DFD,
  19213. 0xA3,
  19214. 0x0E2F,
  19215. 0x8E,
  19216. 0x0E61,
  19217. 0x7C,
  19218. 0x0E93,
  19219. 0x6C,
  19220. 0x0EC5,
  19221. 0x5E,
  19222. 0x0EF7,
  19223. 0x53,
  19224. 0x0F29,
  19225. 0x48,
  19226. 0x0F5B,
  19227. 0x3F,
  19228. 0x0F8D,
  19229. 0x38
  19230. })
  19231. OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
  19232. Field (GPOP, ByteAcc, NoLock, Preserve)
  19233. {
  19234. Connection (
  19235. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19236. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19237. )
  19238. { // Pin list
  19239. 0x0020
  19240. }
  19241. ),
  19242. GMP0, 1,
  19243. Connection (
  19244. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19245. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19246. )
  19247. { // Pin list
  19248. 0x0021
  19249. }
  19250. ),
  19251. GX00, 1,
  19252. Connection (
  19253. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19254. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19255. )
  19256. { // Pin list
  19257. 0x0022
  19258. }
  19259. ),
  19260. GX01, 1,
  19261. Connection (
  19262. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19263. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19264. )
  19265. { // Pin list
  19266. 0x0023
  19267. }
  19268. ),
  19269. GMP1, 1,
  19270. Connection (
  19271. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19272. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19273. )
  19274. { // Pin list
  19275. 0x0024
  19276. }
  19277. ),
  19278. GX10, 1,
  19279. Connection (
  19280. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19281. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19282. )
  19283. { // Pin list
  19284. 0x0025
  19285. }
  19286. ),
  19287. GX11, 1,
  19288. Connection (
  19289. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19290. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19291. )
  19292. { // Pin list
  19293. 0x0026
  19294. }
  19295. ),
  19296. GMP2, 1,
  19297. Connection (
  19298. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19299. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19300. )
  19301. { // Pin list
  19302. 0x0027
  19303. }
  19304. ),
  19305. GX20, 1,
  19306. Connection (
  19307. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19308. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19309. )
  19310. { // Pin list
  19311. 0x0028
  19312. }
  19313. ),
  19314. GX21, 1,
  19315. Connection (
  19316. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19317. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19318. )
  19319. { // Pin list
  19320. 0x0029
  19321. }
  19322. ),
  19323. GMP3, 1,
  19324. Connection (
  19325. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19326. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19327. )
  19328. { // Pin list
  19329. 0x002A
  19330. }
  19331. ),
  19332. GX30, 1,
  19333. Connection (
  19334. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19335. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19336. )
  19337. { // Pin list
  19338. 0x002B
  19339. }
  19340. ),
  19341. GX31, 1,
  19342. Connection (
  19343. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19344. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19345. )
  19346. { // Pin list
  19347. 0x002C
  19348. }
  19349. ),
  19350. GMP4, 1,
  19351. Connection (
  19352. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19353. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19354. )
  19355. { // Pin list
  19356. 0x002D
  19357. }
  19358. ),
  19359. GX40, 1,
  19360. Connection (
  19361. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19362. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19363. )
  19364. { // Pin list
  19365. 0x002E
  19366. }
  19367. ),
  19368. GX41, 1,
  19369. Connection (
  19370. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19371. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19372. )
  19373. { // Pin list
  19374. 0x002F
  19375. }
  19376. ),
  19377. GMP5, 1,
  19378. Connection (
  19379. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19380. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19381. )
  19382. { // Pin list
  19383. 0x0030
  19384. }
  19385. ),
  19386. GX50, 1,
  19387. Connection (
  19388. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19389. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19390. )
  19391. { // Pin list
  19392. 0x0031
  19393. }
  19394. ),
  19395. GX51, 1,
  19396. Connection (
  19397. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19398. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19399. )
  19400. { // Pin list
  19401. 0x0032
  19402. }
  19403. ),
  19404. GEN0, 1,
  19405. Connection (
  19406. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19407. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19408. )
  19409. { // Pin list
  19410. 0x0033
  19411. }
  19412. ),
  19413. GEN1, 1,
  19414. Connection (
  19415. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19416. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19417. )
  19418. { // Pin list
  19419. 0x0034
  19420. }
  19421. ),
  19422. GEN2, 1,
  19423. Connection (
  19424. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19425. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19426. )
  19427. { // Pin list
  19428. 0x0035
  19429. }
  19430. ),
  19431. GEN3, 1,
  19432. Connection (
  19433. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19434. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19435. )
  19436. { // Pin list
  19437. 0x0036
  19438. }
  19439. ),
  19440. GEN4, 1,
  19441. Connection (
  19442. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19443. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19444. )
  19445. { // Pin list
  19446. 0x0037
  19447. }
  19448. ),
  19449. GEN5, 1,
  19450. Connection (
  19451. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19452. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19453. )
  19454. { // Pin list
  19455. 0x0040
  19456. }
  19457. ),
  19458. G12A, 1,
  19459. Connection (
  19460. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19461. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19462. )
  19463. { // Pin list
  19464. 0x0044
  19465. }
  19466. ),
  19467. GSDX, 1,
  19468. Connection (
  19469. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19470. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19471. )
  19472. { // Pin list
  19473. 0x0047
  19474. }
  19475. ),
  19476. G28X, 1,
  19477. Connection (
  19478. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19479. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19480. )
  19481. { // Pin list
  19482. 0x0048
  19483. }
  19484. ),
  19485. G18U, 1,
  19486. Connection (
  19487. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19488. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19489. )
  19490. { // Pin list
  19491. 0x0049
  19492. }
  19493. ),
  19494. G18X, 1,
  19495. Connection (
  19496. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19497. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19498. )
  19499. { // Pin list
  19500. 0x004B
  19501. }
  19502. ),
  19503. G3P3, 1,
  19504. Connection (
  19505. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19506. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19507. )
  19508. { // Pin list
  19509. 0x004C
  19510. }
  19511. ),
  19512. G12T, 1
  19513. }
  19514.  
  19515. Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
  19516. {
  19517. Name (RBUF, ResourceTemplate ()
  19518. {
  19519. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  19520. "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
  19521. )
  19522. { // Pin list
  19523. 0x0011
  19524. }
  19525. })
  19526. Return (RBUF) /* \_SB_.PCI0.I2C7.PMI2._AEI.RBUF */
  19527. }
  19528.  
  19529. Method (_E11, 0, NotSerialized) // _Exx: Edge-Triggered GPE
  19530. {
  19531. If (OSID == One)
  19532. {
  19533. If (^^^^GPO1.USBI != Zero)
  19534. {
  19535. If (^^^I2C3.AVBL == One)
  19536. {
  19537. Notify (^^^I2C3.TIDR, 0x87) // Device-Specific
  19538. }
  19539. }
  19540. }
  19541. }
  19542.  
  19543. Name (AVBL, Zero)
  19544. Name (AVBD, Zero)
  19545. Name (AVBG, Zero)
  19546. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  19547. {
  19548. If (Arg0 == 0x08)
  19549. {
  19550. AVBG = Arg1
  19551. }
  19552.  
  19553. If (Arg0 == 0x8D)
  19554. {
  19555. AVBL = Arg1
  19556. }
  19557.  
  19558. If (Arg0 == 0x8C)
  19559. {
  19560. AVBD = Arg1
  19561. }
  19562. }
  19563. }
  19564.  
  19565. Device (PMI5)
  19566. {
  19567. Name (_ADR, Zero) // _ADR: Address
  19568. Name (_HID, "INT34D3") // _HID: Hardware ID
  19569. Name (_CID, "INT34D3") // _CID: Compatible ID
  19570. Name (_DDN, "WHISKEY COVE AIC") // _DDN: DOS Device Name
  19571. Name (_HRV, 0x03) // _HRV: Hardware Revision
  19572. Name (_UID, One) // _UID: Unique ID
  19573. Name (ADEP, Package (0x02)
  19574. {
  19575. I2C7,
  19576. GPO1
  19577. })
  19578. Name (_DEP, Package (0x03) // _DEP: Dependencies
  19579. {
  19580. I2C7,
  19581. GPO1,
  19582. MBID
  19583. })
  19584. Name (ACDC, One)
  19585. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  19586. {
  19587. Name (SBUF, ResourceTemplate ()
  19588. {
  19589. I2cSerialBusV2 (0x004F, ControllerInitiated, 0x000F4240,
  19590. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  19591. 0x00, ResourceConsumer, , Exclusive,
  19592. )
  19593. I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
  19594. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  19595. 0x00, ResourceConsumer, , Exclusive,
  19596. )
  19597. I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000F4240,
  19598. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  19599. 0x00, ResourceConsumer, , Exclusive,
  19600. )
  19601. GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
  19602. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  19603. )
  19604. { // Pin list
  19605. 0x000F
  19606. }
  19607. })
  19608. Return (SBUF) /* \_SB_.PCI0.I2C7.PMI5._CRS.SBUF */
  19609. }
  19610.  
  19611. Method (_STA, 0, NotSerialized) // _STA: Status
  19612. {
  19613. If (PMEN == Zero)
  19614. {
  19615. Return (Zero)
  19616. }
  19617.  
  19618. If (PMID == 0x03)
  19619. {
  19620. ADBG ("W_COVE")
  19621. Return (0x0F)
  19622. }
  19623.  
  19624. Return (Zero)
  19625. }
  19626.  
  19627. OperationRegion (DPTF, 0x8C, Zero, 0x0100)
  19628. Field (DPTF, DWordAcc, NoLock, Preserve)
  19629. {
  19630. TMP0, 32,
  19631. AX00, 32,
  19632. AX01, 32,
  19633. TMP1, 32,
  19634. AX10, 32,
  19635. AX11, 32,
  19636. TMP2, 32,
  19637. AX20, 32,
  19638. AX21, 32,
  19639. TMP3, 32,
  19640. AX30, 32,
  19641. AX31, 32,
  19642. TMP4, 32,
  19643. AX40, 32,
  19644. AX41, 32,
  19645. TMP5, 32,
  19646. AX50, 32,
  19647. AX51, 32,
  19648. PEN0, 32,
  19649. PEN1, 32,
  19650. PEN2, 32,
  19651. PEN3, 32,
  19652. PEN4, 32,
  19653. PEN5, 32
  19654. }
  19655.  
  19656. OperationRegion (PMOP, 0x8D, Zero, 0x0100)
  19657. Field (PMOP, DWordAcc, NoLock, Preserve)
  19658. {
  19659. V18A, 32,
  19660. V18X, 32,
  19661. VDDQ, 32,
  19662. V12A, 32,
  19663. V12X, 32,
  19664. V28X, 32,
  19665. V33A, 32,
  19666. V3SD, 32,
  19667. VSD, 32,
  19668. VSW2, 32,
  19669. VSW1, 32,
  19670. VUPY, 32,
  19671. VRSO, 32,
  19672. VP1A, 32,
  19673. VP1B, 32,
  19674. VP1F, 32,
  19675. VP2D, 32,
  19676. VP3A, 32,
  19677. VP3B, 32,
  19678. VP4A, 32,
  19679. VP4B, 32,
  19680. VP4C, 32,
  19681. VP4D, 32,
  19682. VP5A, 32,
  19683. VP5B, 32,
  19684. VP6A, 32,
  19685. VP6B, 32,
  19686. VP7A, 32
  19687. }
  19688.  
  19689. OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
  19690. Field (GPOP, ByteAcc, NoLock, Preserve)
  19691. {
  19692. Connection (
  19693. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19694. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19695. )
  19696. { // Pin list
  19697. 0x0020
  19698. }
  19699. ),
  19700. GMP0, 1,
  19701. Connection (
  19702. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19703. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19704. )
  19705. { // Pin list
  19706. 0x0021
  19707. }
  19708. ),
  19709. GX00, 1,
  19710. Connection (
  19711. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19712. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19713. )
  19714. { // Pin list
  19715. 0x0022
  19716. }
  19717. ),
  19718. GX01, 1,
  19719. Connection (
  19720. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19721. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19722. )
  19723. { // Pin list
  19724. 0x0023
  19725. }
  19726. ),
  19727. GMP1, 1,
  19728. Connection (
  19729. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19730. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19731. )
  19732. { // Pin list
  19733. 0x0024
  19734. }
  19735. ),
  19736. GX10, 1,
  19737. Connection (
  19738. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19739. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19740. )
  19741. { // Pin list
  19742. 0x0025
  19743. }
  19744. ),
  19745. GX11, 1,
  19746. Connection (
  19747. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19748. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19749. )
  19750. { // Pin list
  19751. 0x0026
  19752. }
  19753. ),
  19754. GMP2, 1,
  19755. Connection (
  19756. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19757. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19758. )
  19759. { // Pin list
  19760. 0x0027
  19761. }
  19762. ),
  19763. GX20, 1,
  19764. Connection (
  19765. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19766. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19767. )
  19768. { // Pin list
  19769. 0x0028
  19770. }
  19771. ),
  19772. GX21, 1,
  19773. Connection (
  19774. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19775. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19776. )
  19777. { // Pin list
  19778. 0x0029
  19779. }
  19780. ),
  19781. GMP3, 1,
  19782. Connection (
  19783. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19784. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19785. )
  19786. { // Pin list
  19787. 0x002A
  19788. }
  19789. ),
  19790. GX30, 1,
  19791. Connection (
  19792. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19793. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19794. )
  19795. { // Pin list
  19796. 0x002B
  19797. }
  19798. ),
  19799. GX31, 1,
  19800. Connection (
  19801. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19802. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19803. )
  19804. { // Pin list
  19805. 0x002C
  19806. }
  19807. ),
  19808. GMP4, 1,
  19809. Connection (
  19810. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19811. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19812. )
  19813. { // Pin list
  19814. 0x002D
  19815. }
  19816. ),
  19817. GX40, 1,
  19818. Connection (
  19819. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19820. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19821. )
  19822. { // Pin list
  19823. 0x002E
  19824. }
  19825. ),
  19826. GX41, 1,
  19827. Connection (
  19828. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19829. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19830. )
  19831. { // Pin list
  19832. 0x002F
  19833. }
  19834. ),
  19835. GMP5, 1,
  19836. Connection (
  19837. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19838. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19839. )
  19840. { // Pin list
  19841. 0x0030
  19842. }
  19843. ),
  19844. GX50, 1,
  19845. Connection (
  19846. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19847. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19848. )
  19849. { // Pin list
  19850. 0x0031
  19851. }
  19852. ),
  19853. GX51, 1,
  19854. Connection (
  19855. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19856. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19857. )
  19858. { // Pin list
  19859. 0x0032
  19860. }
  19861. ),
  19862. GEN0, 1,
  19863. Connection (
  19864. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19865. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19866. )
  19867. { // Pin list
  19868. 0x0033
  19869. }
  19870. ),
  19871. GEN1, 1,
  19872. Connection (
  19873. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19874. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19875. )
  19876. { // Pin list
  19877. 0x0034
  19878. }
  19879. ),
  19880. GEN2, 1,
  19881. Connection (
  19882. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19883. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19884. )
  19885. { // Pin list
  19886. 0x0035
  19887. }
  19888. ),
  19889. GEN3, 1,
  19890. Connection (
  19891. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19892. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19893. )
  19894. { // Pin list
  19895. 0x0036
  19896. }
  19897. ),
  19898. GEN4, 1,
  19899. Connection (
  19900. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19901. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19902. )
  19903. { // Pin list
  19904. 0x0037
  19905. }
  19906. ),
  19907. GEN5, 1,
  19908. Connection (
  19909. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19910. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19911. )
  19912. { // Pin list
  19913. 0x0040
  19914. }
  19915. ),
  19916. G18A, 1,
  19917. Connection (
  19918. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19919. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19920. )
  19921. { // Pin list
  19922. 0x0041
  19923. }
  19924. ),
  19925. G18X, 1,
  19926. Connection (
  19927. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19928. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19929. )
  19930. { // Pin list
  19931. 0x0042
  19932. }
  19933. ),
  19934. GDDQ, 1,
  19935. Connection (
  19936. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19937. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19938. )
  19939. { // Pin list
  19940. 0x0043
  19941. }
  19942. ),
  19943. G12A, 1,
  19944. Connection (
  19945. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19946. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19947. )
  19948. { // Pin list
  19949. 0x0044
  19950. }
  19951. ),
  19952. G12X, 1,
  19953. Connection (
  19954. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19955. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19956. )
  19957. { // Pin list
  19958. 0x0045
  19959. }
  19960. ),
  19961. G28X, 1,
  19962. Connection (
  19963. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19964. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19965. )
  19966. { // Pin list
  19967. 0x0046
  19968. }
  19969. ),
  19970. G33A, 1,
  19971. Connection (
  19972. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19973. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19974. )
  19975. { // Pin list
  19976. 0x0047
  19977. }
  19978. ),
  19979. G3SD, 1,
  19980. Connection (
  19981. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19982. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19983. )
  19984. { // Pin list
  19985. 0x0048
  19986. }
  19987. ),
  19988. GSD, 1,
  19989. Connection (
  19990. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  19991. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  19992. )
  19993. { // Pin list
  19994. 0x0049
  19995. }
  19996. ),
  19997. GSW2, 1,
  19998. Connection (
  19999. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20000. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20001. )
  20002. { // Pin list
  20003. 0x004A
  20004. }
  20005. ),
  20006. GSW1, 1,
  20007. Connection (
  20008. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20009. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20010. )
  20011. { // Pin list
  20012. 0x004B
  20013. }
  20014. ),
  20015. GUPY, 1,
  20016. Connection (
  20017. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20018. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20019. )
  20020. { // Pin list
  20021. 0x004C
  20022. }
  20023. ),
  20024. GRS0, 1,
  20025. Connection (
  20026. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20027. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20028. )
  20029. { // Pin list
  20030. 0x004D
  20031. }
  20032. ),
  20033. GP1A, 1,
  20034. Connection (
  20035. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20036. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20037. )
  20038. { // Pin list
  20039. 0x004E
  20040. }
  20041. ),
  20042. GP1B, 1,
  20043. Connection (
  20044. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20045. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20046. )
  20047. { // Pin list
  20048. 0x004F
  20049. }
  20050. ),
  20051. GP1F, 1,
  20052. Connection (
  20053. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20054. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20055. )
  20056. { // Pin list
  20057. 0x0050
  20058. }
  20059. ),
  20060. GP2D, 1,
  20061. Connection (
  20062. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20063. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20064. )
  20065. { // Pin list
  20066. 0x0051
  20067. }
  20068. ),
  20069. GP3A, 1,
  20070. Connection (
  20071. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20072. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20073. )
  20074. { // Pin list
  20075. 0x0052
  20076. }
  20077. ),
  20078. GP3B, 1,
  20079. Connection (
  20080. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20081. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20082. )
  20083. { // Pin list
  20084. 0x0053
  20085. }
  20086. ),
  20087. GP4A, 1,
  20088. Connection (
  20089. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20090. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20091. )
  20092. { // Pin list
  20093. 0x0054
  20094. }
  20095. ),
  20096. GP4B, 1,
  20097. Connection (
  20098. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20099. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20100. )
  20101. { // Pin list
  20102. 0x0055
  20103. }
  20104. ),
  20105. GP4C, 1,
  20106. Connection (
  20107. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20108. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20109. )
  20110. { // Pin list
  20111. 0x0056
  20112. }
  20113. ),
  20114. GP4D, 1,
  20115. Connection (
  20116. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20117. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20118. )
  20119. { // Pin list
  20120. 0x0057
  20121. }
  20122. ),
  20123. GP5A, 1,
  20124. Connection (
  20125. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20126. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20127. )
  20128. { // Pin list
  20129. 0x0058
  20130. }
  20131. ),
  20132. GP5B, 1,
  20133. Connection (
  20134. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20135. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20136. )
  20137. { // Pin list
  20138. 0x0059
  20139. }
  20140. ),
  20141. GP6A, 1,
  20142. Connection (
  20143. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20144. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20145. )
  20146. { // Pin list
  20147. 0x005A
  20148. }
  20149. ),
  20150. GP6B, 1,
  20151. Connection (
  20152. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20153. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20154. )
  20155. { // Pin list
  20156. 0x005B
  20157. }
  20158. ),
  20159. GP7A, 1,
  20160. Connection (
  20161. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20162. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20163. )
  20164. { // Pin list
  20165. 0x005D
  20166. }
  20167. ),
  20168. MOXX, 1,
  20169. Connection (
  20170. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20171. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20172. )
  20173. { // Pin list
  20174. 0x005F
  20175. }
  20176. ),
  20177. GPRW, 1,
  20178. Connection (
  20179. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20180. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20181. )
  20182. { // Pin list
  20183. 0x0009
  20184. }
  20185. ),
  20186. G1P1, 1
  20187. }
  20188.  
  20189. OperationRegion (REGS, 0x8F, Zero, 0x50)
  20190. Field (REGS, ByteAcc, NoLock, Preserve)
  20191. {
  20192. CLNT, 8,
  20193. SA, 8,
  20194. OFF, 8,
  20195. VAL, 8,
  20196. RWM, 8
  20197. }
  20198.  
  20199. Name (AVBL, Zero)
  20200. Name (AVBD, Zero)
  20201. Name (AVBG, Zero)
  20202. Name (AVBE, Zero)
  20203. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  20204. {
  20205. If (Arg0 == 0x08)
  20206. {
  20207. AVBG = Arg1
  20208. }
  20209.  
  20210. If (Arg0 == 0x8D)
  20211. {
  20212. AVBL = Arg1
  20213. }
  20214.  
  20215. If (Arg0 == 0x8C)
  20216. {
  20217. AVBD = Arg1
  20218. }
  20219.  
  20220. If (Arg0 == 0x8F)
  20221. {
  20222. AVBE = Arg1
  20223. }
  20224. }
  20225.  
  20226. Method (GET, 3, Serialized)
  20227. {
  20228. If (AVBE == One)
  20229. {
  20230. CLNT = Arg0
  20231. SA = Arg1
  20232. OFF = Arg2
  20233. RWM = Zero
  20234. If (AVBG == One)
  20235. {
  20236. GPRW = Zero
  20237. }
  20238. }
  20239.  
  20240. Return (VAL) /* \_SB_.PCI0.I2C7.PMI5.VAL_ */
  20241. }
  20242.  
  20243. Method (SET, 4, Serialized)
  20244. {
  20245. If (AVBE == One)
  20246. {
  20247. CLNT = Arg0
  20248. SA = Arg1
  20249. OFF = Arg2
  20250. VAL = Arg3
  20251. RWM = One
  20252. If (AVBG == One)
  20253. {
  20254. GPRW = One
  20255. }
  20256. }
  20257. }
  20258.  
  20259. Method (EOTG, 0, NotSerialized)
  20260. {
  20261. ADBG ("PH2")
  20262. Local0 = GET (One, 0x5E, 0x17)
  20263. Local0 |= 0x40
  20264. SET (One, 0x5E, 0x17, Local0)
  20265. SET (One, 0x5E, 0x25, 0x6B)
  20266. SET (One, 0x5E, 0x26, 0x05)
  20267. SET (One, 0x5E, 0x24, 0x02)
  20268. Local0 = GET (One, 0x5E, 0x28)
  20269. ADBG ("B4 Set")
  20270. ADBG (Local0)
  20271. Local0 &= 0xCF
  20272. SET (One, 0x5E, 0x25, 0x6B)
  20273. SET (One, 0x5E, 0x26, 0x05)
  20274. SET (One, 0x5E, 0x27, Local0)
  20275. SET (One, 0x5E, 0x24, One)
  20276. SET (One, 0x5E, 0x25, 0x6B)
  20277. SET (One, 0x5E, 0x26, 0x05)
  20278. SET (One, 0x5E, 0x24, 0x02)
  20279. Local0 = GET (One, 0x5E, 0x28)
  20280. ADBG ("After Set")
  20281. ADBG ("REG05")
  20282. ADBG (Local0)
  20283. SET (One, 0x5E, 0x25, 0x6B)
  20284. SET (One, 0x5E, 0x26, One)
  20285. SET (One, 0x5E, 0x24, 0x02)
  20286. Local0 = GET (One, 0x5E, 0x28)
  20287. Local0 &= 0xEF
  20288. Local0 |= 0x20
  20289. SET (One, 0x5E, 0x25, 0x6B)
  20290. SET (One, 0x5E, 0x26, One)
  20291. SET (One, 0x5E, 0x27, Local0)
  20292. SET (One, 0x5E, 0x24, One)
  20293. SET (One, 0x5E, 0x25, 0x6B)
  20294. SET (One, 0x5E, 0x26, 0x08)
  20295. SET (One, 0x5E, 0x24, 0x02)
  20296. Local0 = GET (One, 0x5E, 0x28)
  20297. ADBG ("PH3")
  20298. Local0 >>= 0x06
  20299. If (Local0 == One)
  20300. {
  20301. ADBG ("USB Host")
  20302. }
  20303. ElseIf (Local0 == 0x03)
  20304. {
  20305. ADBG ("REG08 St OTG")
  20306. }
  20307. }
  20308.  
  20309. Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
  20310. {
  20311. Name (HBUF, ResourceTemplate ()
  20312. {
  20313. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
  20314. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20315. )
  20316. { // Pin list
  20317. 0x001F
  20318. }
  20319. })
  20320. Name (WBUF, ResourceTemplate ()
  20321. {
  20322. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  20323. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20324. )
  20325. { // Pin list
  20326. 0x0012
  20327. }
  20328. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
  20329. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  20330. )
  20331. { // Pin list
  20332. 0x001F
  20333. }
  20334. })
  20335. If (((BDID == 0x09) || (BDID == 0x0A)) && (OSID == One))
  20336. {
  20337. Return (HBUF) /* \_SB_.PCI0.I2C7.PMI5._AEI.HBUF */
  20338. }
  20339. ElseIf ((BDID == 0x08) && (OSID == One))
  20340. {
  20341. Return (WBUF) /* \_SB_.PCI0.I2C7.PMI5._AEI.WBUF */
  20342. }
  20343. }
  20344.  
  20345. Method (_E12, 0, NotSerialized) // _Exx: Edge-Triggered GPE
  20346. {
  20347. If (BDID == 0x08)
  20348. {
  20349. Sleep (0x0384)
  20350. If (CondRefOf (\_SB.PCI0.I2C7.BATC, Local1))
  20351. {
  20352. Local0 = GET (One, 0x6E, 0x1E)
  20353. Local0 >>= 0x03
  20354. Local0 &= 0x03
  20355. If (Local0 != One)
  20356. {
  20357. Local0 = GET (One, 0x5E, 0x29)
  20358. Local0 >>= 0x02
  20359. Local0 &= 0x0F
  20360. Local0 = ^^BATC.INTC ()
  20361. If (One == Local0)
  20362. {
  20363. ADBG ("BADP1")
  20364. Notify (ADP1, 0x80) // Status Change
  20365. ADBG ("AfADP1")
  20366. Notify (BATC, 0x80) // Status Change
  20367. Notify (BATC, 0x81) // Information Change
  20368. ADBG ("PINTC")
  20369. }
  20370.  
  20371. If (CondRefOf (\_SB.DPTF, Local3))
  20372. {
  20373. If (One == Local0)
  20374. {
  20375. ADBG ("DPTFNOTIFY")
  20376. Notify (^^^^DPTF, 0x86) // Device-Specific
  20377. Notify (TCHG, 0x80) // Status Change
  20378. }
  20379. }
  20380. }
  20381. }
  20382. }
  20383. }
  20384.  
  20385. Method (_E1F, 0, NotSerialized) // _Exx: Edge-Triggered GPE
  20386. {
  20387. If ((BDID == 0x08) || ((BDID == 0x09) || (BDID == 0x0A)))
  20388. {
  20389. If (AVBL == One)
  20390. {
  20391. Local0 = GET (One, 0x6E, 0x1E)
  20392. Local0 >>= 0x03
  20393. Local0 &= 0x03
  20394. If (Local0 == Zero) {}
  20395. ElseIf (Local0 == One)
  20396. {
  20397. ADBG ("RID_GND")
  20398. Local0 = GET (One, 0x5E, 0x07)
  20399. Local0 |= One
  20400. ADBG (Local0)
  20401. SET (One, 0x5E, 0x07, Local0)
  20402. CDRH (Zero)
  20403. ADBG ("PH1")
  20404. EOTG ()
  20405. }
  20406. ElseIf (Local0 == 0x02)
  20407. {
  20408. Local0 = GET (One, 0x6E, 0x1E)
  20409. Local0 >>= 0x03
  20410. Local0 &= 0x03
  20411. If (Local0 != Zero)
  20412. {
  20413. Local0 = GET (One, 0x5E, 0x07)
  20414. Local0 &= 0xFE
  20415. SET (One, 0x5E, 0x07, Local0)
  20416. Local0 = GET (One, 0x5E, 0x17)
  20417. Local0 |= 0x40
  20418. SET (One, 0x5E, 0x17, Local0)
  20419. SET (One, 0x5E, 0x25, 0x6B)
  20420. SET (One, 0x5E, 0x26, One)
  20421. SET (One, 0x5E, 0x24, 0x02)
  20422. Local0 = GET (One, 0x5E, 0x28)
  20423. Local0 |= 0x10
  20424. Local0 &= 0xDF
  20425. SET (One, 0x5E, 0x25, 0x6B)
  20426. SET (One, 0x5E, 0x26, One)
  20427. SET (One, 0x5E, 0x27, Local0)
  20428. SET (One, 0x5E, 0x24, One)
  20429. Local0 = GET (One, 0x5E, 0x17)
  20430. Local0 &= 0xBF
  20431. SET (One, 0x5E, 0x17, Local0)
  20432. }
  20433. }
  20434. Else
  20435. {
  20436. ADBG ("Reserved")
  20437. If (DSFG == One)
  20438. {
  20439. CDRH (Zero)
  20440. }
  20441. Else
  20442. {
  20443. CDRD (Zero)
  20444. }
  20445. }
  20446. }
  20447. }
  20448. }
  20449.  
  20450. Method (SRCD, 0, Serialized)
  20451. {
  20452. If (AVBL == One)
  20453. {
  20454. ADBG ("ACDC")
  20455. ADBG (ACDC)
  20456. Return (ACDC) /* \_SB_.PCI0.I2C7.PMI5.ACDC */
  20457. }
  20458. Else
  20459. {
  20460. ADBG ("SRCD AC, PMIC Unavailable")
  20461. Return (One)
  20462. }
  20463. }
  20464.  
  20465. Name (LPAT, Package (0x3C)
  20466. {
  20467. 0x09E3,
  20468. 0x00076272,
  20469. 0x0A15,
  20470. 0x00058192,
  20471. 0x0A47,
  20472. 0x00042551,
  20473. 0x0A79,
  20474. 0x0003267F,
  20475. 0x0AAB,
  20476. 0x00026A06,
  20477. 0x0ADD,
  20478. 0x0001DD93,
  20479. 0x0B0F,
  20480. 0x000173FB,
  20481. 0x0B41,
  20482. 0x000123EA,
  20483. 0x0B73,
  20484. 0xE6B9,
  20485. 0x0BA5,
  20486. 0xB798,
  20487. 0x0BD7,
  20488. 0x930B,
  20489. 0x0C09,
  20490. 0x767E,
  20491. 0x0C3B,
  20492. 0x600F,
  20493. 0x0C6D,
  20494. 0x4E50,
  20495. 0x0C9F,
  20496. 0x4031,
  20497. 0x0CD1,
  20498. 0x34E3,
  20499. 0x0D03,
  20500. 0x2BC9,
  20501. 0x0D35,
  20502. 0x2470,
  20503. 0x0D67,
  20504. 0x1E76,
  20505. 0x0D99,
  20506. 0x1990,
  20507. 0x0DCB,
  20508. 0x158E,
  20509. 0x0DFD,
  20510. 0x1242,
  20511. 0x0E2F,
  20512. 0x0F84,
  20513. 0x0E61,
  20514. 0x0D3C,
  20515. 0x0E93,
  20516. 0x0B56,
  20517. 0x0EC5,
  20518. 0x09BE,
  20519. 0x0EF7,
  20520. 0x0866,
  20521. 0x0F29,
  20522. 0x0744,
  20523. 0x0F5B,
  20524. 0x064F,
  20525. 0x0F8D,
  20526. 0x057E
  20527. })
  20528. }
  20529.  
  20530. Device (PMIF)
  20531. {
  20532. Name (_ADR, Zero) // _ADR: Address
  20533. Name (_HID, "DMY0001") // _HID: Hardware ID
  20534. Name (_CID, "DMY0001") // _CID: Compatible ID
  20535. Name (_DDN, "Dummy PMIC controller") // _DDN: DOS Device Name
  20536. Name (_HRV, Zero) // _HRV: Hardware Revision
  20537. Name (_UID, One) // _UID: Unique ID
  20538. Name (_DEP, Package (0x01) // _DEP: Dependencies
  20539. {
  20540. I2C7
  20541. })
  20542. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  20543. {
  20544. Name (SBUF, ResourceTemplate ()
  20545. {
  20546. I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
  20547. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  20548. 0x00, ResourceConsumer, , Exclusive,
  20549. )
  20550. Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
  20551. {
  20552. 0x00000043,
  20553. }
  20554. Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
  20555. {
  20556. 0x00000043,
  20557. }
  20558. Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
  20559. {
  20560. 0x00000043,
  20561. }
  20562. })
  20563. Return (SBUF) /* \_SB_.PCI0.I2C7.PMIF._CRS.SBUF */
  20564. }
  20565.  
  20566. Method (_STA, 0, NotSerialized) // _STA: Status
  20567. {
  20568. If (PMEN == Zero)
  20569. {
  20570. Return (Zero)
  20571. }
  20572.  
  20573. If (PMID == 0xFE)
  20574. {
  20575. ADBG ("DMPMIC")
  20576. Return (0x0F)
  20577. }
  20578.  
  20579. Return (Zero)
  20580. }
  20581. }
  20582.  
  20583. Device (PMIC)
  20584. {
  20585. Name (_ADR, Zero) // _ADR: Address
  20586. Name (_HID, "INT33FD" /* Intel Baytrail Power Management IC */) // _HID: Hardware ID
  20587. Name (_CID, "INT33FD" /* Intel Baytrail Power Management IC */) // _CID: Compatible ID
  20588. Name (_DDN, "CRYSTAL COVE+ AIC") // _DDN: DOS Device Name
  20589. Name (_HRV, 0x03) // _HRV: Hardware Revision
  20590. Name (_UID, One) // _UID: Unique ID
  20591. Name (_DEP, Package (0x02) // _DEP: Dependencies
  20592. {
  20593. I2C7,
  20594. GPO1
  20595. })
  20596. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  20597. {
  20598. Name (SBUF, ResourceTemplate ()
  20599. {
  20600. I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000F4240,
  20601. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  20602. 0x00, ResourceConsumer, , Exclusive,
  20603. )
  20604. GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
  20605. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  20606. )
  20607. { // Pin list
  20608. 0x000F
  20609. }
  20610. })
  20611. Return (SBUF) /* \_SB_.PCI0.I2C7.PMIC._CRS.SBUF */
  20612. }
  20613.  
  20614. Method (_STA, 0, NotSerialized) // _STA: Status
  20615. {
  20616. If (PMEN == Zero)
  20617. {
  20618. Return (Zero)
  20619. }
  20620.  
  20621. If (PMID == Zero)
  20622. {
  20623. Return (0x0F)
  20624. }
  20625.  
  20626. Return (Zero)
  20627. }
  20628.  
  20629. OperationRegion (DPTF, 0x8C, Zero, 0x0100)
  20630. Field (DPTF, DWordAcc, NoLock, Preserve)
  20631. {
  20632. TMP0, 32,
  20633. AX00, 32,
  20634. AX01, 32,
  20635. TMP1, 32,
  20636. AX10, 32,
  20637. AX11, 32,
  20638. TMP2, 32,
  20639. AX20, 32,
  20640. AX21, 32,
  20641. TMP3, 32,
  20642. AX30, 32,
  20643. AX31, 32,
  20644. TMP4, 32,
  20645. AX40, 32,
  20646. AX41, 32,
  20647. TMP5, 32,
  20648. AX50, 32,
  20649. AX51, 32,
  20650. PEN0, 32,
  20651. PEN1, 32,
  20652. PEN2, 32,
  20653. PEN3, 32,
  20654. PEN4, 32,
  20655. PEN5, 32
  20656. }
  20657.  
  20658. OperationRegion (PMOP, 0x8D, Zero, 0x0100)
  20659. Field (PMOP, DWordAcc, NoLock, Preserve)
  20660. {
  20661. VSYS, 32,
  20662. SYSX, 32,
  20663. SYSU, 32,
  20664. SYSS, 32,
  20665. V50S, 32,
  20666. HOST, 32,
  20667. VBUS, 32,
  20668. HDMI, 32,
  20669. S285, 32,
  20670. X285, 32,
  20671. V33A, 32,
  20672. V33S, 32,
  20673. V33U, 32,
  20674. V33I, 32,
  20675. V18A, 32,
  20676. REFQ, 32,
  20677. V12A, 32,
  20678. V18S, 32,
  20679. V18X, 32,
  20680. V18U, 32,
  20681. V12X, 32,
  20682. V12S, 32,
  20683. V10A, 32,
  20684. V10S, 32,
  20685. V10X, 32,
  20686. V105, 32,
  20687. V33X, 32
  20688. }
  20689.  
  20690. OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
  20691. Field (GPOP, ByteAcc, NoLock, Preserve)
  20692. {
  20693. Connection (
  20694. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20695. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20696. )
  20697. { // Pin list
  20698. 0x0020
  20699. }
  20700. ),
  20701. GMP0, 1,
  20702. Connection (
  20703. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20704. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20705. )
  20706. { // Pin list
  20707. 0x0021
  20708. }
  20709. ),
  20710. GX00, 1,
  20711. Connection (
  20712. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20713. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20714. )
  20715. { // Pin list
  20716. 0x0022
  20717. }
  20718. ),
  20719. GX01, 1,
  20720. Connection (
  20721. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20722. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20723. )
  20724. { // Pin list
  20725. 0x0023
  20726. }
  20727. ),
  20728. GMP1, 1,
  20729. Connection (
  20730. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20731. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20732. )
  20733. { // Pin list
  20734. 0x0024
  20735. }
  20736. ),
  20737. GX10, 1,
  20738. Connection (
  20739. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20740. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20741. )
  20742. { // Pin list
  20743. 0x0025
  20744. }
  20745. ),
  20746. GX11, 1,
  20747. Connection (
  20748. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20749. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20750. )
  20751. { // Pin list
  20752. 0x0026
  20753. }
  20754. ),
  20755. GMP2, 1,
  20756. Connection (
  20757. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20758. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20759. )
  20760. { // Pin list
  20761. 0x0027
  20762. }
  20763. ),
  20764. GX20, 1,
  20765. Connection (
  20766. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20767. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20768. )
  20769. { // Pin list
  20770. 0x0028
  20771. }
  20772. ),
  20773. GX21, 1,
  20774. Connection (
  20775. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20776. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20777. )
  20778. { // Pin list
  20779. 0x0029
  20780. }
  20781. ),
  20782. GMP3, 1,
  20783. Connection (
  20784. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20785. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20786. )
  20787. { // Pin list
  20788. 0x002A
  20789. }
  20790. ),
  20791. GX30, 1,
  20792. Connection (
  20793. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20794. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20795. )
  20796. { // Pin list
  20797. 0x002B
  20798. }
  20799. ),
  20800. GX31, 1,
  20801. Connection (
  20802. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20803. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20804. )
  20805. { // Pin list
  20806. 0x002C
  20807. }
  20808. ),
  20809. GMP4, 1,
  20810. Connection (
  20811. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20812. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20813. )
  20814. { // Pin list
  20815. 0x002D
  20816. }
  20817. ),
  20818. GX40, 1,
  20819. Connection (
  20820. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20821. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20822. )
  20823. { // Pin list
  20824. 0x002E
  20825. }
  20826. ),
  20827. GX41, 1,
  20828. Connection (
  20829. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20830. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20831. )
  20832. { // Pin list
  20833. 0x002F
  20834. }
  20835. ),
  20836. GMP5, 1,
  20837. Connection (
  20838. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20839. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20840. )
  20841. { // Pin list
  20842. 0x0030
  20843. }
  20844. ),
  20845. GX50, 1,
  20846. Connection (
  20847. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20848. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20849. )
  20850. { // Pin list
  20851. 0x0031
  20852. }
  20853. ),
  20854. GX51, 1,
  20855. Connection (
  20856. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20857. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20858. )
  20859. { // Pin list
  20860. 0x0032
  20861. }
  20862. ),
  20863. GEN0, 1,
  20864. Connection (
  20865. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20866. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20867. )
  20868. { // Pin list
  20869. 0x0033
  20870. }
  20871. ),
  20872. GEN1, 1,
  20873. Connection (
  20874. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20875. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20876. )
  20877. { // Pin list
  20878. 0x0034
  20879. }
  20880. ),
  20881. GEN2, 1,
  20882. Connection (
  20883. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20884. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20885. )
  20886. { // Pin list
  20887. 0x0035
  20888. }
  20889. ),
  20890. GEN3, 1,
  20891. Connection (
  20892. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20893. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20894. )
  20895. { // Pin list
  20896. 0x0036
  20897. }
  20898. ),
  20899. GEN4, 1,
  20900. Connection (
  20901. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20902. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20903. )
  20904. { // Pin list
  20905. 0x0037
  20906. }
  20907. ),
  20908. GEN5, 1,
  20909. Connection (
  20910. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20911. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20912. )
  20913. { // Pin list
  20914. 0x0040
  20915. }
  20916. ),
  20917. GSYS, 1,
  20918. Connection (
  20919. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20920. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20921. )
  20922. { // Pin list
  20923. 0x0041
  20924. }
  20925. ),
  20926. GYSX, 1,
  20927. Connection (
  20928. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20929. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20930. )
  20931. { // Pin list
  20932. 0x0042
  20933. }
  20934. ),
  20935. GYSU, 1,
  20936. Connection (
  20937. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20938. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20939. )
  20940. { // Pin list
  20941. 0x0043
  20942. }
  20943. ),
  20944. GYSS, 1,
  20945. Connection (
  20946. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20947. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20948. )
  20949. { // Pin list
  20950. 0x0044
  20951. }
  20952. ),
  20953. G50S, 1,
  20954. Connection (
  20955. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20956. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20957. )
  20958. { // Pin list
  20959. 0x0045
  20960. }
  20961. ),
  20962. GOST, 1,
  20963. Connection (
  20964. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20965. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20966. )
  20967. { // Pin list
  20968. 0x0046
  20969. }
  20970. ),
  20971. GBUS, 1,
  20972. Connection (
  20973. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20974. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20975. )
  20976. { // Pin list
  20977. 0x0047
  20978. }
  20979. ),
  20980. GDMI, 1,
  20981. Connection (
  20982. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20983. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20984. )
  20985. { // Pin list
  20986. 0x0048
  20987. }
  20988. ),
  20989. G28S, 1,
  20990. Connection (
  20991. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  20992. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  20993. )
  20994. { // Pin list
  20995. 0x0049
  20996. }
  20997. ),
  20998. G28X, 1,
  20999. Connection (
  21000. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21001. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21002. )
  21003. { // Pin list
  21004. 0x004A
  21005. }
  21006. ),
  21007. G33A, 1,
  21008. Connection (
  21009. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21010. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21011. )
  21012. { // Pin list
  21013. 0x004B
  21014. }
  21015. ),
  21016. G33S, 1,
  21017. Connection (
  21018. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21019. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21020. )
  21021. { // Pin list
  21022. 0x004C
  21023. }
  21024. ),
  21025. G33U, 1,
  21026. Connection (
  21027. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21028. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21029. )
  21030. { // Pin list
  21031. 0x004D
  21032. }
  21033. ),
  21034. G33I, 1,
  21035. Connection (
  21036. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21037. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21038. )
  21039. { // Pin list
  21040. 0x004E
  21041. }
  21042. ),
  21043. G18A, 1,
  21044. Connection (
  21045. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21046. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21047. )
  21048. { // Pin list
  21049. 0x004F
  21050. }
  21051. ),
  21052. GEFQ, 1,
  21053. Connection (
  21054. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21055. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21056. )
  21057. { // Pin list
  21058. 0x0050
  21059. }
  21060. ),
  21061. G12A, 1,
  21062. Connection (
  21063. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21064. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21065. )
  21066. { // Pin list
  21067. 0x0051
  21068. }
  21069. ),
  21070. G18S, 1,
  21071. Connection (
  21072. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21073. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21074. )
  21075. { // Pin list
  21076. 0x0052
  21077. }
  21078. ),
  21079. G18X, 1,
  21080. Connection (
  21081. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21082. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21083. )
  21084. { // Pin list
  21085. 0x0053
  21086. }
  21087. ),
  21088. G18U, 1,
  21089. Connection (
  21090. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21091. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21092. )
  21093. { // Pin list
  21094. 0x0054
  21095. }
  21096. ),
  21097. G12X, 1,
  21098. Connection (
  21099. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21100. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21101. )
  21102. { // Pin list
  21103. 0x0055
  21104. }
  21105. ),
  21106. G12S, 1,
  21107. Connection (
  21108. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21109. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21110. )
  21111. { // Pin list
  21112. 0x0056
  21113. }
  21114. ),
  21115. G10A, 1,
  21116. Connection (
  21117. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21118. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21119. )
  21120. { // Pin list
  21121. 0x0057
  21122. }
  21123. ),
  21124. G10S, 1,
  21125. Connection (
  21126. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21127. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21128. )
  21129. { // Pin list
  21130. 0x0058
  21131. }
  21132. ),
  21133. G10X, 1,
  21134. Connection (
  21135. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21136. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21137. )
  21138. { // Pin list
  21139. 0x0059
  21140. }
  21141. ),
  21142. G105, 1,
  21143. Connection (
  21144. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21145. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21146. )
  21147. { // Pin list
  21148. 0x005E
  21149. }
  21150. ),
  21151. FCOT, 1,
  21152. Connection (
  21153. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21154. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21155. )
  21156. { // Pin list
  21157. 0x005D
  21158. }
  21159. ),
  21160. MOXX, 1,
  21161. Connection (
  21162. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21163. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21164. )
  21165. { // Pin list
  21166. 0x000B
  21167. }
  21168. ),
  21169. TCON, 1,
  21170. Connection (
  21171. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  21172. "\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
  21173. )
  21174. { // Pin list
  21175. 0x005A
  21176. }
  21177. ),
  21178. G33X, 1
  21179. }
  21180.  
  21181. Name (AVBL, Zero)
  21182. Name (AVBD, Zero)
  21183. Name (AVBG, Zero)
  21184. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  21185. {
  21186. If (Arg0 == 0x08)
  21187. {
  21188. AVBG = Arg1
  21189. }
  21190.  
  21191. If (Arg0 == 0x8D)
  21192. {
  21193. AVBL = Arg1
  21194. }
  21195.  
  21196. If (Arg0 == 0x8C)
  21197. {
  21198. AVBD = Arg1
  21199. }
  21200. }
  21201.  
  21202. Name (LPAT, Package (0x30)
  21203. {
  21204. 0x09E3,
  21205. 0x03D1,
  21206. 0x0A15,
  21207. 0x03C1,
  21208. 0x0A47,
  21209. 0x03AD,
  21210. 0x0A79,
  21211. 0x0395,
  21212. 0x0AAB,
  21213. 0x0377,
  21214. 0x0ADD,
  21215. 0x0355,
  21216. 0x0B0F,
  21217. 0x032D,
  21218. 0x0B41,
  21219. 0x0301,
  21220. 0x0B73,
  21221. 0x02D0,
  21222. 0x0BA5,
  21223. 0x029D,
  21224. 0x0BD7,
  21225. 0x0267,
  21226. 0x0C09,
  21227. 0x0231,
  21228. 0x0C3B,
  21229. 0x01FC,
  21230. 0x0C6D,
  21231. 0x01C8,
  21232. 0x0C9F,
  21233. 0x0197,
  21234. 0x0CD1,
  21235. 0x0165,
  21236. 0x0D03,
  21237. 0x013B,
  21238. 0x0D35,
  21239. 0x0115,
  21240. 0x0D67,
  21241. 0xF3,
  21242. 0x0D99,
  21243. 0xD4,
  21244. 0x0DCB,
  21245. 0xBA,
  21246. 0x0DFD,
  21247. 0xA2,
  21248. 0x0E2F,
  21249. 0x8C,
  21250. 0x0E93,
  21251. 0x6B
  21252. })
  21253. }
  21254. }
  21255.  
  21256. Scope (PCI0.I2C1)
  21257. {
  21258. Device (IMP3)
  21259. {
  21260. Name (_ADR, Zero) // _ADR: Address
  21261. Name (_HID, "IMPJ0003") // _HID: Hardware ID
  21262. Name (_CID, "IMPJ0003") // _CID: Compatible ID
  21263. Name (_UID, One) // _UID: Unique ID
  21264. Method (_STA, 0, NotSerialized) // _STA: Status
  21265. {
  21266. If (BDID == One)
  21267. {
  21268. Return (Zero)
  21269. }
  21270.  
  21271. If (PSDE == 0x02)
  21272. {
  21273. Return (0x0F)
  21274. }
  21275.  
  21276. Return (Zero)
  21277. }
  21278.  
  21279. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  21280. {
  21281. Name (SBUF, ResourceTemplate ()
  21282. {
  21283. I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000186A0,
  21284. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  21285. 0x00, ResourceConsumer, , Exclusive,
  21286. )
  21287. })
  21288. Return (SBUF) /* \_SB_.PCI0.I2C1.IMP3._CRS.SBUF */
  21289. }
  21290. }
  21291. }
  21292.  
  21293. Scope (PCI0.I2C2)
  21294. {
  21295. Device (IMP3)
  21296. {
  21297. Name (_ADR, Zero) // _ADR: Address
  21298. Name (_HID, "IMPJ0003") // _HID: Hardware ID
  21299. Name (_CID, "IMPJ0003") // _CID: Compatible ID
  21300. Name (_UID, One) // _UID: Unique ID
  21301. Method (_STA, 0, NotSerialized) // _STA: Status
  21302. {
  21303. If (BDID != One)
  21304. {
  21305. Return (Zero)
  21306. }
  21307.  
  21308. If (PSDE == 0x02)
  21309. {
  21310. Return (0x0F)
  21311. }
  21312.  
  21313. Return (Zero)
  21314. }
  21315.  
  21316. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  21317. {
  21318. Name (SBUF, ResourceTemplate ()
  21319. {
  21320. I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000186A0,
  21321. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  21322. 0x00, ResourceConsumer, , Exclusive,
  21323. )
  21324. })
  21325. Return (SBUF) /* \_SB_.PCI0.I2C2.IMP3._CRS.SBUF */
  21326. }
  21327. }
  21328. }
  21329.  
  21330. PowerResource (P28X, 0x05, 0x0008)
  21331. {
  21332. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21333. {
  21334. ^PCI0.I2C7,
  21335. ^PCI0.I2C7.PMIC
  21336. })
  21337. Method (_STA, 0, NotSerialized) // _STA: Status
  21338. {
  21339. If (^^PCI0.I2C7.PMIC.AVBG == One)
  21340. {
  21341. ^^PCI0.I2C7.PMIC.G28X = Zero
  21342. If (^^PCI0.I2C7.PMIC.AVBL == One)
  21343. {
  21344. Return (^^PCI0.I2C7.PMIC.X285) /* \_SB_.PCI0.I2C7.PMIC.X285 */
  21345. }
  21346. }
  21347.  
  21348. Return (Zero)
  21349. }
  21350.  
  21351. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21352. {
  21353. If (^^PCI0.I2C7.PMIC.AVBL == One)
  21354. {
  21355. ^^PCI0.I2C7.PMIC.X285 = One
  21356. If (^^PCI0.I2C7.PMIC.AVBG == One)
  21357. {
  21358. ^^PCI0.I2C7.PMIC.G28X = One
  21359. Sleep (0x1E)
  21360. }
  21361. }
  21362. }
  21363.  
  21364. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21365. {
  21366. If (^^PCI0.I2C7.PMIC.AVBL == One)
  21367. {
  21368. ^^PCI0.I2C7.PMIC.X285 = Zero
  21369. If (^^PCI0.I2C7.PMIC.AVBG == One)
  21370. {
  21371. ^^PCI0.I2C7.PMIC.G28X = One
  21372. Sleep (0x1E)
  21373. }
  21374. }
  21375. }
  21376. }
  21377.  
  21378. PowerResource (P18X, 0x05, 0x0002)
  21379. {
  21380. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21381. {
  21382. ^PCI0.I2C7,
  21383. ^PCI0.I2C7.PMIC
  21384. })
  21385. Method (_STA, 0, NotSerialized) // _STA: Status
  21386. {
  21387. If (^^PCI0.I2C7.PMIC.AVBG == One)
  21388. {
  21389. ^^PCI0.I2C7.PMIC.G18X = Zero
  21390. If (^^PCI0.I2C7.PMIC.AVBL == One)
  21391. {
  21392. Return (^^PCI0.I2C7.PMIC.V18X) /* \_SB_.PCI0.I2C7.PMIC.V18X */
  21393. }
  21394. }
  21395.  
  21396. Return (Zero)
  21397. }
  21398.  
  21399. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21400. {
  21401. If (^^PCI0.I2C7.PMIC.AVBL == One)
  21402. {
  21403. ^^PCI0.I2C7.PMIC.V18X = One
  21404. If (^^PCI0.I2C7.PMIC.AVBG == One)
  21405. {
  21406. ^^PCI0.I2C7.PMIC.G18X = One
  21407. Sleep (0x1E)
  21408. }
  21409. }
  21410. }
  21411.  
  21412. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21413. {
  21414. If (^^PCI0.I2C7.PMIC.AVBL == One)
  21415. {
  21416. ^^PCI0.I2C7.PMIC.V18X = Zero
  21417. If (^^PCI0.I2C7.PMIC.AVBG == One)
  21418. {
  21419. ^^PCI0.I2C7.PMIC.G18X = One
  21420. Sleep (0x1E)
  21421. }
  21422. }
  21423. }
  21424. }
  21425.  
  21426. PowerResource (P12X, 0x05, 0x0000)
  21427. {
  21428. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21429. {
  21430. ^PCI0.I2C7,
  21431. ^PCI0.I2C7.PMIC
  21432. })
  21433. Method (_STA, 0, NotSerialized) // _STA: Status
  21434. {
  21435. If (^^PCI0.I2C7.PMIC.AVBG == One)
  21436. {
  21437. ^^PCI0.I2C7.PMIC.G12X = Zero
  21438. If (^^PCI0.I2C7.PMIC.AVBL == One)
  21439. {
  21440. Return (^^PCI0.I2C7.PMIC.V12X) /* \_SB_.PCI0.I2C7.PMIC.V12X */
  21441. }
  21442. }
  21443.  
  21444. Return (Zero)
  21445. }
  21446.  
  21447. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21448. {
  21449. If (^^PCI0.I2C7.PMIC.AVBL == One)
  21450. {
  21451. ^^PCI0.I2C7.PMIC.V12X = One
  21452. If (^^PCI0.I2C7.PMIC.AVBG == One)
  21453. {
  21454. ^^PCI0.I2C7.PMIC.G12X = One
  21455. Sleep (0x1E)
  21456. }
  21457. }
  21458. }
  21459.  
  21460. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21461. {
  21462. If (^^PCI0.I2C7.PMIC.AVBL == One)
  21463. {
  21464. ^^PCI0.I2C7.PMIC.V12X = Zero
  21465. If (^^PCI0.I2C7.PMIC.AVBG == One)
  21466. {
  21467. ^^PCI0.I2C7.PMIC.G12X = One
  21468. Sleep (0x1E)
  21469. }
  21470. }
  21471. }
  21472. }
  21473.  
  21474. PowerResource (P28P, 0x05, 0x0000)
  21475. {
  21476. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21477. {
  21478. ^PCI0.I2C7,
  21479. ^PCI0.I2C7.PMI1
  21480. })
  21481. Method (_STA, 0, NotSerialized) // _STA: Status
  21482. {
  21483. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21484. {
  21485. ^^PCI0.I2C7.PMI1.G28X = Zero
  21486. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21487. {
  21488. Return (^^PCI0.I2C7.PMI1.ALD1) /* \_SB_.PCI0.I2C7.PMI1.ALD1 */
  21489. }
  21490. }
  21491.  
  21492. Return (Zero)
  21493. }
  21494.  
  21495. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21496. {
  21497. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21498. {
  21499. ^^PCI0.I2C7.PMI1.ALD1 = One
  21500. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21501. {
  21502. ^^PCI0.I2C7.PMI1.G28X = One
  21503. Sleep (0x1E)
  21504. }
  21505. }
  21506. }
  21507.  
  21508. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21509. {
  21510. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21511. {
  21512. ^^PCI0.I2C7.PMI1.ALD1 = Zero
  21513. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21514. {
  21515. ^^PCI0.I2C7.PMI1.G28X = One
  21516. Sleep (0x1E)
  21517. }
  21518. }
  21519. }
  21520. }
  21521.  
  21522. PowerResource (P18P, 0x05, 0x0000)
  21523. {
  21524. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21525. {
  21526. ^PCI0.I2C7,
  21527. ^PCI0.I2C7.PMI1
  21528. })
  21529. Method (_STA, 0, NotSerialized) // _STA: Status
  21530. {
  21531. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21532. {
  21533. ^^PCI0.I2C7.PMI1.G18X = Zero
  21534. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21535. {
  21536. Return (^^PCI0.I2C7.PMI1.ELD2) /* \_SB_.PCI0.I2C7.PMI1.ELD2 */
  21537. }
  21538. }
  21539.  
  21540. Return (Zero)
  21541. }
  21542.  
  21543. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21544. {
  21545. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21546. {
  21547. ^^PCI0.I2C7.PMI1.ELD2 = One
  21548. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21549. {
  21550. ^^PCI0.I2C7.PMI1.G18X = One
  21551. Sleep (0x1E)
  21552. }
  21553. }
  21554. }
  21555.  
  21556. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21557. {
  21558. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21559. {
  21560. ^^PCI0.I2C7.PMI1.ELD2 = Zero
  21561. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21562. {
  21563. ^^PCI0.I2C7.PMI1.G18X = One
  21564. Sleep (0x1E)
  21565. }
  21566. }
  21567. }
  21568. }
  21569.  
  21570. PowerResource (P12P, 0x05, 0x0000)
  21571. {
  21572. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21573. {
  21574. ^PCI0.I2C7,
  21575. ^PCI0.I2C7.PMI1
  21576. })
  21577. Method (_STA, 0, NotSerialized) // _STA: Status
  21578. {
  21579. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21580. {
  21581. ^^PCI0.I2C7.PMI1.G12X = Zero
  21582. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21583. {
  21584. Return (^^PCI0.I2C7.PMI1.FLD2) /* \_SB_.PCI0.I2C7.PMI1.FLD2 */
  21585. }
  21586. }
  21587.  
  21588. Return (Zero)
  21589. }
  21590.  
  21591. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21592. {
  21593. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21594. {
  21595. ^^PCI0.I2C7.PMI1.FLD2 = One
  21596. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21597. {
  21598. ^^PCI0.I2C7.PMI1.G12X = One
  21599. Sleep (0x1E)
  21600. }
  21601. }
  21602. }
  21603.  
  21604. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21605. {
  21606. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21607. {
  21608. ^^PCI0.I2C7.PMI1.FLD2 = Zero
  21609. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21610. {
  21611. ^^PCI0.I2C7.PMI1.G12X = One
  21612. Sleep (0x1E)
  21613. }
  21614. }
  21615. }
  21616. }
  21617.  
  21618. PowerResource (P19X, 0x05, 0x0000)
  21619. {
  21620. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21621. {
  21622. ^PCI0.I2C7,
  21623. ^PCI0.I2C7.PMI1
  21624. })
  21625. Method (_STA, 0, NotSerialized) // _STA: Status
  21626. {
  21627. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21628. {
  21629. ^^PCI0.I2C7.PMI1.GSDX = Zero
  21630. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21631. {
  21632. Return (^^PCI0.I2C7.PMI1.GPI1) /* \_SB_.PCI0.I2C7.PMI1.GPI1 */
  21633. }
  21634. }
  21635.  
  21636. Return (Zero)
  21637. }
  21638.  
  21639. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21640. {
  21641. If (OSID == 0x04)
  21642. {
  21643. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21644. {
  21645. ^^PCI0.I2C7.PMI1.GPI1 = One
  21646. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21647. {
  21648. ^^PCI0.I2C7.PMI1.GSDX = One
  21649. Sleep (0x1E)
  21650. }
  21651. }
  21652. }
  21653. }
  21654.  
  21655. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21656. {
  21657. If (OSID == 0x04)
  21658. {
  21659. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21660. {
  21661. ^^PCI0.I2C7.PMI1.GPI1 = Zero
  21662. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21663. {
  21664. ^^PCI0.I2C7.PMI1.GSDX = One
  21665. Sleep (0x1E)
  21666. }
  21667. }
  21668. }
  21669. }
  21670. }
  21671.  
  21672. PowerResource (P06X, 0x05, 0x0000)
  21673. {
  21674. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21675. {
  21676. ^PCI0.I2C7,
  21677. ^PCI0.I2C7.PMI1
  21678. })
  21679. Method (_STA, 0, NotSerialized) // _STA: Status
  21680. {
  21681. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21682. {
  21683. ^^PCI0.I2C7.PMI1.G06X = Zero
  21684. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21685. {
  21686. Return (^^PCI0.I2C7.PMI1.DLD4) /* \_SB_.PCI0.I2C7.PMI1.DLD4 */
  21687. }
  21688. }
  21689.  
  21690. Return (Zero)
  21691. }
  21692.  
  21693. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21694. {
  21695. If (OSID == 0x04)
  21696. {
  21697. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21698. {
  21699. ^^PCI0.I2C7.PMI1.DLD4 = One
  21700. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21701. {
  21702. ^^PCI0.I2C7.PMI1.G06X = One
  21703. Sleep (0x1E)
  21704. }
  21705. }
  21706. }
  21707. }
  21708.  
  21709. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21710. {
  21711. If (OSID == 0x04)
  21712. {
  21713. If (^^PCI0.I2C7.PMI1.AVBL == One)
  21714. {
  21715. ^^PCI0.I2C7.PMI1.DLD4 = One
  21716. If (^^PCI0.I2C7.PMI1.AVBG == One)
  21717. {
  21718. ^^PCI0.I2C7.PMI1.G06X = One
  21719. Sleep (0x1E)
  21720. }
  21721. }
  21722. }
  21723. }
  21724. }
  21725.  
  21726. PowerResource (P12A, 0x05, 0x0000)
  21727. {
  21728. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21729. {
  21730. ^PCI0.I2C7,
  21731. ^PCI0.I2C7.PMI2
  21732. })
  21733. Method (_STA, 0, NotSerialized) // _STA: Status
  21734. {
  21735. If (OSID == 0x04)
  21736. {
  21737. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21738. {
  21739. ^^PCI0.I2C7.PMI2.G12A = Zero
  21740. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21741. {
  21742. Return (^^PCI0.I2C7.PMI2.LDO1) /* \_SB_.PCI0.I2C7.PMI2.LDO1 */
  21743. }
  21744. }
  21745. }
  21746.  
  21747. Return (Zero)
  21748. }
  21749.  
  21750. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21751. {
  21752. If (OSID == 0x04)
  21753. {
  21754. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21755. {
  21756. ^^PCI0.I2C7.PMI2.LDO1 = One
  21757. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21758. {
  21759. ^^PCI0.I2C7.PMI2.G12A = One
  21760. Sleep (0x1E)
  21761. }
  21762. }
  21763. }
  21764. }
  21765.  
  21766. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21767. {
  21768. If (OSID == 0x04)
  21769. {
  21770. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21771. {
  21772. ^^PCI0.I2C7.PMI2.LDO1 = Zero
  21773. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21774. {
  21775. ^^PCI0.I2C7.PMI2.G12A = One
  21776. Sleep (0x1E)
  21777. }
  21778. }
  21779. }
  21780. }
  21781. }
  21782.  
  21783. PowerResource (P28T, 0x05, 0x0000)
  21784. {
  21785. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21786. {
  21787. ^PCI0.I2C7,
  21788. ^PCI0.I2C7.PMI2
  21789. })
  21790. Method (_STA, 0, NotSerialized) // _STA: Status
  21791. {
  21792. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21793. {
  21794. ^^PCI0.I2C7.PMI2.G28X = Zero
  21795. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21796. {
  21797. Return (^^PCI0.I2C7.PMI2.LDO9) /* \_SB_.PCI0.I2C7.PMI2.LDO9 */
  21798. }
  21799. }
  21800.  
  21801. Return (Zero)
  21802. }
  21803.  
  21804. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21805. {
  21806. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21807. {
  21808. ^^PCI0.I2C7.PMI2.LDO9 = One
  21809. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21810. {
  21811. ^^PCI0.I2C7.PMI2.G28X = One
  21812. Sleep (0x1E)
  21813. }
  21814. }
  21815. }
  21816.  
  21817. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21818. {
  21819. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21820. {
  21821. ^^PCI0.I2C7.PMI2.LDO9 = Zero
  21822. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21823. {
  21824. ^^PCI0.I2C7.PMI2.G28X = One
  21825. Sleep (0x1E)
  21826. }
  21827. }
  21828. }
  21829. }
  21830.  
  21831. PowerResource (P18D, 0x05, 0x0000)
  21832. {
  21833. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21834. {
  21835. ^PCI0.I2C7,
  21836. ^PCI0.I2C7.PMI2
  21837. })
  21838. Method (_STA, 0, NotSerialized) // _STA: Status
  21839. {
  21840. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21841. {
  21842. ^^PCI0.I2C7.PMI2.G18U = Zero
  21843. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21844. {
  21845. Return (^^PCI0.I2C7.PMI2.LD10) /* \_SB_.PCI0.I2C7.PMI2.LD10 */
  21846. }
  21847. }
  21848.  
  21849. Return (Zero)
  21850. }
  21851.  
  21852. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21853. {
  21854. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21855. {
  21856. ^^PCI0.I2C7.PMI2.LD10 = One
  21857. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21858. {
  21859. ^^PCI0.I2C7.PMI2.G18U = One
  21860. Sleep (0x1E)
  21861. }
  21862. }
  21863. }
  21864.  
  21865. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21866. {
  21867. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21868. {
  21869. ^^PCI0.I2C7.PMI2.LD10 = Zero
  21870. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21871. {
  21872. ^^PCI0.I2C7.PMI2.G18U = One
  21873. Sleep (0x1E)
  21874. }
  21875. }
  21876. }
  21877. }
  21878.  
  21879. PowerResource (P18T, 0x05, 0x0000)
  21880. {
  21881. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21882. {
  21883. ^PCI0.I2C7,
  21884. ^PCI0.I2C7.PMI2
  21885. })
  21886. Method (_STA, 0, NotSerialized) // _STA: Status
  21887. {
  21888. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21889. {
  21890. ^^PCI0.I2C7.PMI2.G18X = Zero
  21891. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21892. {
  21893. Return (^^PCI0.I2C7.PMI2.LD11) /* \_SB_.PCI0.I2C7.PMI2.LD11 */
  21894. }
  21895. }
  21896.  
  21897. Return (Zero)
  21898. }
  21899.  
  21900. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21901. {
  21902. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21903. {
  21904. ^^PCI0.I2C7.PMI2.LD11 = One
  21905. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21906. {
  21907. ^^PCI0.I2C7.PMI2.G18X = One
  21908. Sleep (0x1E)
  21909. }
  21910. }
  21911. }
  21912.  
  21913. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21914. {
  21915. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21916. {
  21917. ^^PCI0.I2C7.PMI2.LD11 = Zero
  21918. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21919. {
  21920. ^^PCI0.I2C7.PMI2.G18X = One
  21921. Sleep (0x1E)
  21922. }
  21923. }
  21924. }
  21925. }
  21926.  
  21927. PowerResource (P3P3, 0x05, 0x0000)
  21928. {
  21929. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21930. {
  21931. ^PCI0.I2C7,
  21932. ^PCI0.I2C7.PMI2
  21933. })
  21934. Method (_STA, 0, NotSerialized) // _STA: Status
  21935. {
  21936. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21937. {
  21938. ^^PCI0.I2C7.PMI2.G3P3 = Zero
  21939. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21940. {
  21941. Return (^^PCI0.I2C7.PMI2.LD13) /* \_SB_.PCI0.I2C7.PMI2.LD13 */
  21942. }
  21943. }
  21944.  
  21945. Return (Zero)
  21946. }
  21947.  
  21948. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21949. {
  21950. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21951. {
  21952. ^^PCI0.I2C7.PMI2.LD13 = One
  21953. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21954. {
  21955. ^^PCI0.I2C7.PMI2.G3P3 = One
  21956. Sleep (0x1E)
  21957. }
  21958. }
  21959. }
  21960.  
  21961. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  21962. {
  21963. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21964. {
  21965. ^^PCI0.I2C7.PMI2.LD13 = Zero
  21966. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21967. {
  21968. ^^PCI0.I2C7.PMI2.G3P3 = One
  21969. Sleep (0x1E)
  21970. }
  21971. }
  21972. }
  21973. }
  21974.  
  21975. PowerResource (P12T, 0x05, 0x0000)
  21976. {
  21977. Name (_DEP, Package (0x02) // _DEP: Dependencies
  21978. {
  21979. ^PCI0.I2C7,
  21980. ^PCI0.I2C7.PMI2
  21981. })
  21982. Method (_STA, 0, NotSerialized) // _STA: Status
  21983. {
  21984. If (^^PCI0.I2C7.PMI2.AVBG == One)
  21985. {
  21986. ^^PCI0.I2C7.PMI2.G12T = Zero
  21987. If (^^PCI0.I2C7.PMI2.AVBL == One)
  21988. {
  21989. Return (^^PCI0.I2C7.PMI2.LD14) /* \_SB_.PCI0.I2C7.PMI2.LD14 */
  21990. }
  21991. }
  21992.  
  21993. Return (Zero)
  21994. }
  21995.  
  21996. Method (_ON, 0, NotSerialized) // _ON_: Power On
  21997. {
  21998. If (OSID == 0x04)
  21999. {
  22000. If (^^PCI0.I2C7.PMI2.AVBL == One)
  22001. {
  22002. ^^PCI0.I2C7.PMI2.LD14 = One
  22003. If (^^PCI0.I2C7.PMI2.AVBG == One)
  22004. {
  22005. ^^PCI0.I2C7.PMI2.G12T = One
  22006. Sleep (0x1E)
  22007. }
  22008. }
  22009. }
  22010. }
  22011.  
  22012. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  22013. {
  22014. If (OSID == 0x04)
  22015. {
  22016. If (^^PCI0.I2C7.PMI2.AVBL == One)
  22017. {
  22018. ^^PCI0.I2C7.PMI2.LD14 = Zero
  22019. If (^^PCI0.I2C7.PMI2.AVBG == One)
  22020. {
  22021. ^^PCI0.I2C7.PMI2.G12T = One
  22022. Sleep (0x1E)
  22023. }
  22024. }
  22025. }
  22026. }
  22027. }
  22028.  
  22029. PowerResource (P28W, 0x05, 0x0000)
  22030. {
  22031. Name (_DEP, Package (0x02) // _DEP: Dependencies
  22032. {
  22033. ^PCI0.I2C7,
  22034. ^PCI0.I2C7.PMI5
  22035. })
  22036. Method (_STA, 0, NotSerialized) // _STA: Status
  22037. {
  22038. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22039. {
  22040. ^^PCI0.I2C7.PMI5.G28X = Zero
  22041. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22042. {
  22043. Return (^^PCI0.I2C7.PMI5.V28X) /* \_SB_.PCI0.I2C7.PMI5.V28X */
  22044. }
  22045. }
  22046.  
  22047. Return (Zero)
  22048. }
  22049.  
  22050. Method (_ON, 0, NotSerialized) // _ON_: Power On
  22051. {
  22052. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22053. {
  22054. ^^PCI0.I2C7.PMI5.V28X = One
  22055. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22056. {
  22057. ^^PCI0.I2C7.PMI5.G28X = One
  22058. Sleep (0x1E)
  22059. }
  22060. }
  22061. }
  22062.  
  22063. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  22064. {
  22065. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22066. {
  22067. ^^PCI0.I2C7.PMI5.V28X = Zero
  22068. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22069. {
  22070. ^^PCI0.I2C7.PMI5.G28X = One
  22071. Sleep (0x1E)
  22072. }
  22073. }
  22074. }
  22075. }
  22076.  
  22077. PowerResource (P18W, 0x05, 0x0000)
  22078. {
  22079. Name (_DEP, Package (0x02) // _DEP: Dependencies
  22080. {
  22081. ^PCI0.I2C7,
  22082. ^PCI0.I2C7.PMI5
  22083. })
  22084. Method (_STA, 0, NotSerialized) // _STA: Status
  22085. {
  22086. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22087. {
  22088. ^^PCI0.I2C7.PMI5.G18X = Zero
  22089. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22090. {
  22091. Return (^^PCI0.I2C7.PMI5.V18X) /* \_SB_.PCI0.I2C7.PMI5.V18X */
  22092. }
  22093. }
  22094.  
  22095. Return (Zero)
  22096. }
  22097.  
  22098. Method (_ON, 0, NotSerialized) // _ON_: Power On
  22099. {
  22100. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22101. {
  22102. ^^PCI0.I2C7.PMI5.V18X = One
  22103. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22104. {
  22105. ^^PCI0.I2C7.PMI5.G18X = One
  22106. Sleep (0x1E)
  22107. }
  22108. }
  22109. }
  22110.  
  22111. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  22112. {
  22113. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22114. {
  22115. ^^PCI0.I2C7.PMI5.V18X = Zero
  22116. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22117. {
  22118. ^^PCI0.I2C7.PMI5.G18X = One
  22119. Sleep (0x1E)
  22120. }
  22121. }
  22122. }
  22123. }
  22124.  
  22125. PowerResource (P12W, 0x05, 0x0000)
  22126. {
  22127. Name (_DEP, Package (0x02) // _DEP: Dependencies
  22128. {
  22129. ^PCI0.I2C7,
  22130. ^PCI0.I2C7.PMI5
  22131. })
  22132. Method (_STA, 0, NotSerialized) // _STA: Status
  22133. {
  22134. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22135. {
  22136. ^^PCI0.I2C7.PMI5.G12X = Zero
  22137. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22138. {
  22139. Return (^^PCI0.I2C7.PMI5.V12X) /* \_SB_.PCI0.I2C7.PMI5.V12X */
  22140. }
  22141. }
  22142.  
  22143. Return (Zero)
  22144. }
  22145.  
  22146. Method (_ON, 0, NotSerialized) // _ON_: Power On
  22147. {
  22148. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22149. {
  22150. ^^PCI0.I2C7.PMI5.V12X = One
  22151. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22152. {
  22153. ^^PCI0.I2C7.PMI5.G12X = One
  22154. Sleep (0x1E)
  22155. }
  22156. }
  22157. }
  22158.  
  22159. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  22160. {
  22161. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22162. {
  22163. ^^PCI0.I2C7.PMI5.V12X = Zero
  22164. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22165. {
  22166. ^^PCI0.I2C7.PMI5.G12X = One
  22167. Sleep (0x1E)
  22168. }
  22169. }
  22170. }
  22171. }
  22172.  
  22173. PowerResource (P33W, 0x05, 0x0000)
  22174. {
  22175. Name (_DEP, Package (0x02) // _DEP: Dependencies
  22176. {
  22177. ^PCI0.I2C7,
  22178. ^PCI0.I2C7.PMI5
  22179. })
  22180. Method (_STA, 0, NotSerialized) // _STA: Status
  22181. {
  22182. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22183. {
  22184. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22185. {
  22186. Return (^^PCI0.I2C7.PMI5.G1P1) /* \_SB_.PCI0.I2C7.PMI5.G1P1 */
  22187. }
  22188. }
  22189.  
  22190. Return (Zero)
  22191. }
  22192.  
  22193. Method (_ON, 0, NotSerialized) // _ON_: Power On
  22194. {
  22195. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22196. {
  22197. If ((OSID == One) || (OSYS == 0x07DF))
  22198. {
  22199. ^^PCI0.I2C7.PMI5.G1P1 = One
  22200. Sleep (0x1E)
  22201. }
  22202. }
  22203. }
  22204.  
  22205. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  22206. {
  22207. Local2 = ^^PCI0.GFX0.PSPS /* \_SB_.PCI0.GFX0.PSPS */
  22208. Local2 &= 0x03
  22209. If (Local2 == 0x03)
  22210. {
  22211. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22212. {
  22213. ^^PCI0.I2C7.PMI5.G1P1 = Zero
  22214. Sleep (0x1E)
  22215. }
  22216. }
  22217. }
  22218. }
  22219.  
  22220. PowerResource (P33X, 0x05, 0x0000)
  22221. {
  22222. Name (_DEP, Package (0x02) // _DEP: Dependencies
  22223. {
  22224. ^PCI0.I2C7,
  22225. ^PCI0.I2C7.PMIC
  22226. })
  22227. Method (_STA, 0, NotSerialized) // _STA: Status
  22228. {
  22229. If (^^PCI0.I2C7.PMIC.AVBG == One)
  22230. {
  22231. ^^PCI0.I2C7.PMIC.G33X = Zero
  22232. If (^^PCI0.I2C7.PMIC.AVBL == One)
  22233. {
  22234. Return (^^PCI0.I2C7.PMIC.V33X) /* \_SB_.PCI0.I2C7.PMIC.V33X */
  22235. }
  22236. }
  22237.  
  22238. Return (Zero)
  22239. }
  22240.  
  22241. Method (_ON, 0, NotSerialized) // _ON_: Power On
  22242. {
  22243. If (^^PCI0.I2C7.PMIC.AVBL == One)
  22244. {
  22245. ^^PCI0.I2C7.PMIC.V33X = One
  22246. If (^^PCI0.I2C7.PMIC.AVBG == One)
  22247. {
  22248. ^^PCI0.I2C7.PMIC.G33X = One
  22249. Sleep (0x1E)
  22250. }
  22251. }
  22252. }
  22253.  
  22254. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  22255. {
  22256. Local2 = ^^PCI0.GFX0.PSPS /* \_SB_.PCI0.GFX0.PSPS */
  22257. Local2 &= 0x03
  22258. If (Local2 == 0x03)
  22259. {
  22260. If (^^PCI0.I2C7.PMIC.AVBL == One)
  22261. {
  22262. ^^PCI0.I2C7.PMIC.V33X = Zero
  22263. If (^^PCI0.I2C7.PMIC.AVBG == One)
  22264. {
  22265. ^^PCI0.I2C7.PMIC.G33X = One
  22266. Sleep (0x1E)
  22267. }
  22268. }
  22269. }
  22270. }
  22271. }
  22272.  
  22273. PowerResource (P4BW, 0x05, 0x0000)
  22274. {
  22275. Name (_DEP, Package (0x02) // _DEP: Dependencies
  22276. {
  22277. ^PCI0.I2C7,
  22278. ^PCI0.I2C7.PMI5
  22279. })
  22280. Method (_STA, 0, NotSerialized) // _STA: Status
  22281. {
  22282. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22283. {
  22284. ^^PCI0.I2C7.PMI5.GP4B = Zero
  22285. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22286. {
  22287. Return (^^PCI0.I2C7.PMI5.VP4B) /* \_SB_.PCI0.I2C7.PMI5.VP4B */
  22288. }
  22289. }
  22290.  
  22291. Return (Zero)
  22292. }
  22293.  
  22294. Method (_ON, 0, NotSerialized) // _ON_: Power On
  22295. {
  22296. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22297. {
  22298. ^^PCI0.I2C7.PMI5.VP4B = One
  22299. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22300. {
  22301. ^^PCI0.I2C7.PMI5.GP4B = One
  22302. Sleep (0x1E)
  22303. }
  22304. }
  22305. }
  22306.  
  22307. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  22308. {
  22309. If (^^PCI0.I2C7.PMI5.AVBL == One)
  22310. {
  22311. ^^PCI0.I2C7.PMI5.VP4B = Zero
  22312. If (^^PCI0.I2C7.PMI5.AVBG == One)
  22313. {
  22314. ^^PCI0.I2C7.PMI5.GP4B = One
  22315. Sleep (0x1E)
  22316. }
  22317. }
  22318. }
  22319. }
  22320.  
  22321. Device (BTNS)
  22322. {
  22323. Name (_HID, "ACPI0011" /* Generic Buttons Device */) // _HID: Hardware ID
  22324. Name (_DDN, "Generic HID over Interrupt Button Interface") // _DDN: DOS Device Name
  22325. Name (CDEP, Package (0x05)
  22326. {
  22327. GPO0,
  22328. GPO2,
  22329. GPO1,
  22330. ^PCI0.I2C7,
  22331. ^PCI0.I2C7.PMIC
  22332. })
  22333. Name (WDEP, Package (0x05)
  22334. {
  22335. GPO0,
  22336. GPO2,
  22337. GPO1,
  22338. ^PCI0.I2C7,
  22339. ^PCI0.I2C7.PMI5
  22340. })
  22341. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  22342. {
  22343. Name (CBUF, ResourceTemplate ()
  22344. {
  22345. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0BB8,
  22346. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22347. )
  22348. { // Pin list
  22349. 0x005F
  22350. }
  22351. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
  22352. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  22353. )
  22354. { // Pin list
  22355. 0x0008
  22356. }
  22357. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22358. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22359. )
  22360. { // Pin list
  22361. 0x005D
  22362. }
  22363. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22364. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  22365. )
  22366. { // Pin list
  22367. 0x0008
  22368. }
  22369. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22370. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22371. )
  22372. { // Pin list
  22373. 0x004D
  22374. }
  22375. })
  22376. Name (WBUF, ResourceTemplate ()
  22377. {
  22378. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0BB8,
  22379. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  22380. )
  22381. { // Pin list
  22382. 0x0000
  22383. }
  22384. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
  22385. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  22386. )
  22387. { // Pin list
  22388. 0x0008
  22389. }
  22390. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22391. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22392. )
  22393. { // Pin list
  22394. 0x005D
  22395. }
  22396. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22397. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  22398. )
  22399. { // Pin list
  22400. 0x0008
  22401. }
  22402. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22403. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22404. )
  22405. { // Pin list
  22406. 0x004D
  22407. }
  22408. })
  22409. Name (FBUF, ResourceTemplate ()
  22410. {
  22411. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0BB8,
  22412. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22413. )
  22414. { // Pin list
  22415. 0x005F
  22416. }
  22417. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
  22418. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  22419. )
  22420. { // Pin list
  22421. 0x0008
  22422. }
  22423. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22424. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22425. )
  22426. { // Pin list
  22427. 0x005D
  22428. }
  22429. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22430. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  22431. )
  22432. { // Pin list
  22433. 0x0008
  22434. }
  22435. })
  22436. Name (PBUF, ResourceTemplate ()
  22437. {
  22438. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
  22439. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  22440. )
  22441. { // Pin list
  22442. 0x0008
  22443. }
  22444. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22445. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22446. )
  22447. { // Pin list
  22448. 0x004E
  22449. }
  22450. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22451. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22452. )
  22453. { // Pin list
  22454. 0x0050
  22455. }
  22456. })
  22457. If (BDID == One)
  22458. {
  22459. Return (PBUF) /* \_SB_.BTNS._CRS.PBUF */
  22460. }
  22461. Else
  22462. {
  22463. If (PMID == 0x03)
  22464. {
  22465. If ((BDID == 0x03) || (BDID == 0x02))
  22466. {
  22467. Return (WBUF) /* \_SB_.BTNS._CRS.WBUF */
  22468. }
  22469. Else
  22470. {
  22471. Return (FBUF) /* \_SB_.BTNS._CRS.FBUF */
  22472. }
  22473. }
  22474.  
  22475. Return (CBUF) /* \_SB_.BTNS._CRS.CBUF */
  22476. }
  22477. }
  22478.  
  22479. Method (_STA, 0, NotSerialized) // _STA: Status
  22480. {
  22481. If ((OSID == One) && (OSYS == 0x07DF))
  22482. {
  22483. Return (0x0F)
  22484. }
  22485.  
  22486. Return (Zero)
  22487. }
  22488.  
  22489. Name (_DSD, Package (0x02) // _DSD: Device-Specific Data
  22490. {
  22491. ToUUID ("fa6bd625-9ce8-470d-a2c7-b3ca36c4282e"),
  22492. Package (0x04)
  22493. {
  22494. Package (0x05)
  22495. {
  22496. Zero,
  22497. One,
  22498. Zero,
  22499. One,
  22500. 0x0D
  22501. },
  22502.  
  22503. Package (0x05)
  22504. {
  22505. One,
  22506. Zero,
  22507. One,
  22508. One,
  22509. 0x81
  22510. },
  22511.  
  22512. Package (0x05)
  22513. {
  22514. One,
  22515. One,
  22516. One,
  22517. 0x0C,
  22518. 0xE9
  22519. },
  22520.  
  22521. Package (0x05)
  22522. {
  22523. One,
  22524. 0x02,
  22525. One,
  22526. 0x0C,
  22527. 0xEA
  22528. }
  22529. }
  22530. })
  22531. }
  22532.  
  22533. Device (TCO0)
  22534. {
  22535. Name (_HID, "8086229C") // _HID: Hardware ID
  22536. Name (_DDN, "Watchdog Timer Device") // _DDN: DOS Device Name
  22537. Name (_UID, One) // _UID: Unique ID
  22538. Name (_GPE, 0x0E) // _GPE: General Purpose Events
  22539. Method (_STA, 0, NotSerialized) // _STA: Status
  22540. {
  22541. If (OSID == 0x04)
  22542. {
  22543. Return (0x0F)
  22544. }
  22545.  
  22546. Return (Zero)
  22547. }
  22548. }
  22549.  
  22550. Device (TBAD)
  22551. {
  22552. Name (_HID, "INTCFD9" /* Intel Baytrail SOC GPIO Controller */) // _HID: Hardware ID
  22553. Name (_CID, "PNP0C40" /* Standard Button Controller */) // _CID: Compatible ID
  22554. Name (_DDN, "Keyboard less system - 5 Button Array Device") // _DDN: DOS Device Name
  22555. Name (CDEP, Package (0x05)
  22556. {
  22557. GPO0,
  22558. GPO2,
  22559. GPO1,
  22560. ^PCI0.I2C7,
  22561. ^PCI0.I2C7.PMIC
  22562. })
  22563. Name (WDEP, Package (0x05)
  22564. {
  22565. GPO0,
  22566. GPO2,
  22567. GPO1,
  22568. ^PCI0.I2C7,
  22569. ^PCI0.I2C7.PMI5
  22570. })
  22571. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  22572. {
  22573. Name (CBUF, ResourceTemplate ()
  22574. {
  22575. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
  22576. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  22577. )
  22578. { // Pin list
  22579. 0x0008
  22580. }
  22581. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0BB8,
  22582. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22583. )
  22584. { // Pin list
  22585. 0x005F
  22586. }
  22587. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22588. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22589. )
  22590. { // Pin list
  22591. 0x005D
  22592. }
  22593. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22594. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  22595. )
  22596. { // Pin list
  22597. 0x0008
  22598. }
  22599. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22600. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22601. )
  22602. { // Pin list
  22603. 0x004D
  22604. }
  22605. })
  22606. Name (WBUF, ResourceTemplate ()
  22607. {
  22608. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
  22609. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  22610. )
  22611. { // Pin list
  22612. 0x0008
  22613. }
  22614. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0BB8,
  22615. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  22616. )
  22617. { // Pin list
  22618. 0x0000
  22619. }
  22620. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22621. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22622. )
  22623. { // Pin list
  22624. 0x005D
  22625. }
  22626. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22627. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  22628. )
  22629. { // Pin list
  22630. 0x0008
  22631. }
  22632. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22633. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22634. )
  22635. { // Pin list
  22636. 0x004D
  22637. }
  22638. })
  22639. Name (PBUF, ResourceTemplate ()
  22640. {
  22641. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
  22642. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  22643. )
  22644. { // Pin list
  22645. 0x0008
  22646. }
  22647. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0BB8,
  22648. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  22649. )
  22650. { // Pin list
  22651. 0xFFFF
  22652. }
  22653. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22654. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22655. )
  22656. { // Pin list
  22657. 0x004E
  22658. }
  22659. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22660. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22661. )
  22662. { // Pin list
  22663. 0x0050
  22664. }
  22665. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22666. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22667. )
  22668. { // Pin list
  22669. 0xFFFF
  22670. }
  22671. })
  22672. Name (QBUF, ResourceTemplate ()
  22673. {
  22674. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
  22675. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  22676. )
  22677. { // Pin list
  22678. 0x0008
  22679. }
  22680. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0BB8,
  22681. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  22682. )
  22683. { // Pin list
  22684. 0xFFFF
  22685. }
  22686. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22687. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22688. )
  22689. { // Pin list
  22690. 0x004E
  22691. }
  22692. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22693. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22694. )
  22695. { // Pin list
  22696. 0x0050
  22697. }
  22698. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22699. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22700. )
  22701. { // Pin list
  22702. 0xFFFF
  22703. }
  22704. })
  22705. Name (RBUF, ResourceTemplate ()
  22706. {
  22707. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
  22708. "\\_SB.GPO2", 0x00, ResourceConsumer, ,
  22709. )
  22710. { // Pin list
  22711. 0x0008
  22712. }
  22713. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22714. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22715. )
  22716. { // Pin list
  22717. 0x005F
  22718. }
  22719. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22720. "\\_SB.GPO0", 0x00, ResourceConsumer, ,
  22721. )
  22722. { // Pin list
  22723. 0x005D
  22724. }
  22725. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22726. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  22727. )
  22728. { // Pin list
  22729. 0x0008
  22730. }
  22731. })
  22732. If ((BDID == 0x09) || (BDID == 0x0A))
  22733. {
  22734. Return (RBUF) /* \_SB_.TBAD._CRS.RBUF */
  22735. }
  22736.  
  22737. If (BDID == One)
  22738. {
  22739. If (OSID == 0x04)
  22740. {
  22741. Return (QBUF) /* \_SB_.TBAD._CRS.QBUF */
  22742. }
  22743.  
  22744. Return (PBUF) /* \_SB_.TBAD._CRS.PBUF */
  22745. }
  22746. Else
  22747. {
  22748. If (PMID == 0x03)
  22749. {
  22750. Return (WBUF) /* \_SB_.TBAD._CRS.WBUF */
  22751. }
  22752.  
  22753. Return (CBUF) /* \_SB_.TBAD._CRS.CBUF */
  22754. }
  22755. }
  22756.  
  22757. Method (_STA, 0, NotSerialized) // _STA: Status
  22758. {
  22759. If ((OSID != One) || (OSYS <= 0x07DD))
  22760. {
  22761. Return (0x0F)
  22762. }
  22763.  
  22764. Return (Zero)
  22765. }
  22766.  
  22767. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  22768. {
  22769. Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
  22770. Debug = "Method _DSM for Button Device"
  22771. If (PMID == Zero)
  22772. {
  22773. If (OSYS == 0x07DD)
  22774. {
  22775. ^^PCI0.I2C7.PMIC.FCOT = One
  22776. }
  22777. Else
  22778. {
  22779. ^^PCI0.I2C7.PMIC.FCOT = Zero
  22780. }
  22781. }
  22782.  
  22783. If (Arg0 == ToUUID ("dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c") /* Power Button Device */)
  22784. {
  22785. While (One)
  22786. {
  22787. _T_0 = ToInteger (Arg2)
  22788. If (_T_0 == Zero)
  22789. {
  22790. Return (Buffer (One)
  22791. {
  22792. 0x03 /* . */
  22793. })
  22794. }
  22795. ElseIf (_T_0 == One)
  22796. {
  22797. Return (0x07)
  22798. }
  22799.  
  22800. Break
  22801. }
  22802. }
  22803. Else
  22804. {
  22805. Return (Buffer (One)
  22806. {
  22807. 0x00 /* . */
  22808. })
  22809. }
  22810.  
  22811. Return (Zero)
  22812. }
  22813. }
  22814.  
  22815. Device (MBID)
  22816. {
  22817. Name (_HID, "INT33BD" /* Intel Baytrail Mailbox Device */) // _HID: Hardware ID
  22818. Name (_CID, "INT33BD" /* Intel Baytrail Mailbox Device */) // _CID: Compatible ID
  22819. Name (_HRV, 0x02) // _HRV: Hardware Revision
  22820. Name (_UID, One) // _UID: Unique ID
  22821. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  22822. {
  22823. Name (RBUF, ResourceTemplate ()
  22824. {
  22825. Memory32Fixed (ReadWrite,
  22826. 0xE00000D0, // Address Base
  22827. 0x00000010, // Address Length
  22828. )
  22829. })
  22830. Return (RBUF) /* \_SB_.MBID._CRS.RBUF */
  22831. }
  22832.  
  22833. OperationRegion (REGS, 0x87, Zero, 0x30)
  22834. Field (REGS, DWordAcc, NoLock, Preserve)
  22835. {
  22836. PORT, 32,
  22837. REG, 32,
  22838. DATA, 32,
  22839. MASK, 32,
  22840. BE, 32,
  22841. OP, 32,
  22842. CODE, 32,
  22843. BAR, 32,
  22844. DEV, 32,
  22845. FUN, 32
  22846. }
  22847.  
  22848. Name (AVBL, Zero)
  22849. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  22850. {
  22851. If (Arg0 == 0x87)
  22852. {
  22853. AVBL = Arg1
  22854. }
  22855. }
  22856.  
  22857. Method (READ, 3, Serialized)
  22858. {
  22859. Local0 = 0xFFFFFFFF
  22860. If (AVBL == One)
  22861. {
  22862. OP = Zero
  22863. PORT = Arg0
  22864. REG = Arg1
  22865. BE = Arg2
  22866. Local0 = DATA /* \_SB_.MBID.DATA */
  22867. }
  22868.  
  22869. Return (Local0)
  22870. }
  22871.  
  22872. Method (WRIT, 4, Serialized)
  22873. {
  22874. If (AVBL == One)
  22875. {
  22876. OP = One
  22877. PORT = Arg0
  22878. REG = Arg1
  22879. BE = Arg2
  22880. DATA = Arg3
  22881. }
  22882. }
  22883.  
  22884. Method (MODI, 5, Serialized)
  22885. {
  22886. If (AVBL == One)
  22887. {
  22888. OP = 0x02
  22889. PORT = Arg0
  22890. REG = Arg1
  22891. BE = Arg2
  22892. DATA = Arg3
  22893. MASK = Arg4
  22894. }
  22895. }
  22896.  
  22897. Method (RMBX, 6, Serialized)
  22898. {
  22899. Local0 = 0xFFFFFFFF
  22900. If (AVBL == One)
  22901. {
  22902. OP = 0x03
  22903. PORT = Arg0
  22904. REG = Arg1
  22905. BE = 0x03
  22906. CODE = Arg2
  22907. BAR = Arg3
  22908. DEV = Arg4
  22909. FUN = Arg5
  22910. Local0 = DATA /* \_SB_.MBID.DATA */
  22911. }
  22912.  
  22913. Return (Local0)
  22914. }
  22915.  
  22916. Method (WMBX, 7, Serialized)
  22917. {
  22918. If (AVBL == One)
  22919. {
  22920. OP = 0x04
  22921. PORT = Arg0
  22922. REG = Arg1
  22923. BE = 0x03
  22924. DATA = Arg2
  22925. CODE = Arg3
  22926. BAR = Arg4
  22927. DEV = Arg5
  22928. FUN = Arg6
  22929. }
  22930. }
  22931. }
  22932.  
  22933. Device (PAGD)
  22934. {
  22935. Name (_HID, "ACPI000C" /* Processor Aggregator Device */) // _HID: Hardware ID
  22936. Name (_CID, "ACPI000C" /* Processor Aggregator Device */) // _CID: Compatible ID
  22937. Name (IDCN, Zero)
  22938. Name (PURP, Package (0x02)
  22939. {
  22940. One,
  22941. Zero
  22942. })
  22943. Method (_PUR, 0, Serialized) // _PUR: Processor Utilization Request
  22944. {
  22945. PURP [One] = IDCN /* \_SB_.PAGD.IDCN */
  22946. Return (PURP) /* \_SB_.PAGD.PURP */
  22947. }
  22948.  
  22949. Method (_OST, 3, Serialized) // _OST: OSPM Status Indication
  22950. {
  22951. Debug = "_OST is invoked"
  22952. }
  22953. }
  22954. }
  22955.  
  22956. Device (CND1)
  22957. {
  22958. Name (_HID, "INT33D3" /* Intel GPIO Buttons */) // _HID: Hardware ID
  22959. Name (_CID, "PNP0C60" /* Display Sensor Device */) // _CID: Compatible ID
  22960. Name (_DEP, Package (0x01) // _DEP: Dependencies
  22961. {
  22962. \_SB.GPO3
  22963. })
  22964. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  22965. {
  22966. Name (RBUF, ResourceTemplate ()
  22967. {
  22968. GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
  22969. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  22970. )
  22971. { // Pin list
  22972. 0x0030
  22973. }
  22974. })
  22975. Return (RBUF) /* \CND1._CRS.RBUF */
  22976. }
  22977.  
  22978. Method (_STA, 0, Serialized) // _STA: Status
  22979. {
  22980. If (CIND == One)
  22981. {
  22982. Return (0x0F)
  22983. }
  22984.  
  22985. Return (Zero)
  22986. }
  22987. }
  22988.  
  22989. Device (CND2)
  22990. {
  22991. Name (_HID, "INT33D3" /* Intel GPIO Buttons */) // _HID: Hardware ID
  22992. Name (_CID, "PNP0C60" /* Display Sensor Device */) // _CID: Compatible ID
  22993. Method (_STA, 0, Serialized) // _STA: Status
  22994. {
  22995. If (CIND == 0x02)
  22996. {
  22997. Return (0x0F)
  22998. }
  22999.  
  23000. Return (Zero)
  23001. }
  23002. }
  23003.  
  23004. Scope (_SB)
  23005. {
  23006. Device (LID0)
  23007. {
  23008. Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
  23009. Method (_LID, 0, NotSerialized) // _LID: Lid Status
  23010. {
  23011. If (LIDA == One)
  23012. {
  23013. Return (Zero)
  23014. }
  23015.  
  23016. If (LIDA == 0x02)
  23017. {
  23018. Return ((^^GPO1.PVAL & One))
  23019. }
  23020. }
  23021.  
  23022. Method (_STA, 0, NotSerialized) // _STA: Status
  23023. {
  23024. If (LIDA == Zero)
  23025. {
  23026. Return (Zero)
  23027. }
  23028.  
  23029. Return (0x0F)
  23030. }
  23031. }
  23032. }
  23033.  
  23034. Scope (_TZ)
  23035. {
  23036. ThermalZone (TZ00)
  23037. {
  23038. Name (_DEP, Package (0x01) // _DEP: Dependencies
  23039. {
  23040. \_SB.PCI0.I2C7
  23041. })
  23042. Method (_TMP, 0, Serialized) // _TMP: Temperature
  23043. {
  23044. If (PMID == Zero)
  23045. {
  23046. If (\_SB.PCI0.I2C7.PMIC.AVBG == One)
  23047. {
  23048. \_SB.PCI0.I2C7.PMIC.GMP2 = Zero
  23049. If (\_SB.PCI0.I2C7.PMIC.AVBD == One)
  23050. {
  23051. Return (\_SB.PCI0.I2C7.PMIC.TMP2)
  23052. }
  23053. }
  23054. }
  23055.  
  23056. If (PMID == 0x03)
  23057. {
  23058. If (\_SB.PCI0.I2C7.PMI5.AVBG == One)
  23059. {
  23060. \_SB.PCI0.I2C7.PMI5.GMP2 = Zero
  23061. If (\_SB.PCI0.I2C7.PMI5.AVBD == One)
  23062. {
  23063. Return (\_SB.PCI0.I2C7.PMI5.TMP2)
  23064. }
  23065. }
  23066. }
  23067.  
  23068. If (PMID == One)
  23069. {
  23070. If (\_SB.PCI0.I2C7.PMI2.AVBG == One)
  23071. {
  23072. \_SB.PCI0.I2C7.PMI2.GMP0 = Zero
  23073. If (\_SB.PCI0.I2C7.PMI2.AVBD == One)
  23074. {
  23075. Return (\_SB.PCI0.I2C7.PMI2.TMP0)
  23076. }
  23077. }
  23078. }
  23079.  
  23080. If (PMID == 0x02)
  23081. {
  23082. If (\_SB.PCI0.I2C7.PMI1.AVBG == One)
  23083. {
  23084. \_SB.PCI0.I2C7.PMI1.GMP0 = Zero
  23085. If (\_SB.PCI0.I2C7.PMI1.AVBD == One)
  23086. {
  23087. Return (\_SB.PCI0.I2C7.PMI1.TMP0)
  23088. }
  23089. }
  23090. }
  23091.  
  23092. Return (0x0AAC)
  23093. }
  23094.  
  23095. Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
  23096. {
  23097. Return ((0x0AAC + (CRTT * 0x0A)))
  23098. }
  23099. }
  23100. }
  23101.  
  23102. Scope (_SB.PCI0)
  23103. {
  23104. Device (PDRC)
  23105. {
  23106. Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
  23107. Name (_UID, One) // _UID: Unique ID
  23108. Name (BUF0, ResourceTemplate ()
  23109. {
  23110. Memory32Fixed (ReadWrite,
  23111. 0xE0000000, // Address Base
  23112. 0x10000000, // Address Length
  23113. )
  23114. Memory32Fixed (ReadWrite,
  23115. 0xFEA00000, // Address Base
  23116. 0x00100000, // Address Length
  23117. )
  23118. Memory32Fixed (ReadWrite,
  23119. 0xFED01000, // Address Base
  23120. 0x00001000, // Address Length
  23121. )
  23122. Memory32Fixed (ReadWrite,
  23123. 0xFED03000, // Address Base
  23124. 0x00001000, // Address Length
  23125. )
  23126. Memory32Fixed (ReadWrite,
  23127. 0xFED06000, // Address Base
  23128. 0x00001000, // Address Length
  23129. )
  23130. Memory32Fixed (ReadWrite,
  23131. 0xFED08000, // Address Base
  23132. 0x00002000, // Address Length
  23133. )
  23134. Memory32Fixed (ReadWrite,
  23135. 0xFED80000, // Address Base
  23136. 0x00040000, // Address Length
  23137. )
  23138. Memory32Fixed (ReadWrite,
  23139. 0xFED1C000, // Address Base
  23140. 0x00001000, // Address Length
  23141. )
  23142. Memory32Fixed (ReadOnly,
  23143. 0xFEE00000, // Address Base
  23144. 0x00100000, // Address Length
  23145. )
  23146. })
  23147. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  23148. {
  23149. Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
  23150. }
  23151. }
  23152. }
  23153.  
  23154. Method (BRTN, 1, Serialized)
  23155. {
  23156. If ((DID1 & 0x0F00) == 0x0400)
  23157. {
  23158. Notify (\_SB.PCI0.GFX0.DD01, Arg0)
  23159. }
  23160.  
  23161. If ((DID2 & 0x0F00) == 0x0400)
  23162. {
  23163. Notify (\_SB.PCI0.GFX0.DD02, Arg0)
  23164. }
  23165.  
  23166. If ((DID3 & 0x0F00) == 0x0400)
  23167. {
  23168. Notify (\_SB.PCI0.GFX0.DD03, Arg0)
  23169. }
  23170.  
  23171. If ((DID4 & 0x0F00) == 0x0400)
  23172. {
  23173. Notify (\_SB.PCI0.GFX0.DD04, Arg0)
  23174. }
  23175.  
  23176. If ((DID5 & 0x0F00) == 0x0400)
  23177. {
  23178. Notify (\_SB.PCI0.GFX0.DD05, Arg0)
  23179. }
  23180.  
  23181. If (CondRefOf (NDN3))
  23182. {
  23183. NDN3 (Arg0)
  23184. }
  23185. }
  23186.  
  23187. Scope (_SB.PCI0.I2C7)
  23188. {
  23189. Device (BMDR)
  23190. {
  23191. Name (_HID, "INT33FE" /* XPOWER Battery Device */) // _HID: Hardware ID
  23192. Name (_CID, "INT33FE" /* XPOWER Battery Device */) // _CID: Compatible ID
  23193. Name (_DDN, "XPOWER Battery Device") // _DDN: DOS Device Name
  23194. Name (_DEP, Package (0x05) // _DEP: Dependencies
  23195. {
  23196. I2C2,
  23197. I2C7,
  23198. PMI1,
  23199. GPO1,
  23200. MBID
  23201. })
  23202. Name (BCCC, 0x40)
  23203. Name (BCCE, One)
  23204. Name (BCIL, 0x05)
  23205. Name (BCHG, 0x09)
  23206. Name (BCTV, 0xC0)
  23207. Name (BSTP, Package (0x04)
  23208. {
  23209. Zero,
  23210. 0xFFFFFFFF,
  23211. 0xFFFFFFFF,
  23212. 0xFFFFFFFF
  23213. })
  23214. Name (BUFF, Buffer (0x03) {})
  23215. CreateByteField (BUFF, Zero, STAT)
  23216. CreateByteField (BUFF, 0x02, DATA)
  23217. Name (RBUF, ResourceTemplate ()
  23218. {
  23219. I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000186A0,
  23220. AddressingMode7Bit, "\\_SB.PCI0.I2C2",
  23221. 0x00, ResourceConsumer, , Exclusive,
  23222. )
  23223. })
  23224. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  23225. {
  23226. Return (RBUF) /* \_SB_.PCI0.I2C7.BMDR.RBUF */
  23227. }
  23228.  
  23229. Method (_STA, 0, NotSerialized) // _STA: Status
  23230. {
  23231. If (OSID == One)
  23232. {
  23233. If ((BDID == One) && (PMID == 0x02))
  23234. {
  23235. Return (0x0F)
  23236. }
  23237. }
  23238.  
  23239. Return (Zero)
  23240. }
  23241.  
  23242. OperationRegion (BMOP, 0x9E, Zero, 0x0100)
  23243. Field (BMOP, DWordAcc, NoLock, Preserve)
  23244. {
  23245. SOC, 32,
  23246. FCCP, 32,
  23247. CHST, 32,
  23248. RMCP, 32,
  23249. VOLT, 32,
  23250. BATP, 32,
  23251. SRP0, 32,
  23252. STYP, 32,
  23253. CHGC, 32,
  23254. STPC, 32,
  23255. GADC, 32,
  23256. TTEM, 32,
  23257. TTCH, 32,
  23258. CYCL, 32,
  23259. BTP, 32,
  23260. DPCU, 32,
  23261. DSCP, 32,
  23262. CHEN, 32
  23263. }
  23264.  
  23265. Name (AVBL, Zero)
  23266. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  23267. {
  23268. If (Arg0 == 0x9E)
  23269. {
  23270. AVBL = Arg1
  23271. }
  23272. }
  23273.  
  23274. Method (DPTU, 0, NotSerialized)
  23275. {
  23276. ADBG ("DPTU BMDR")
  23277. If (AVBL == One)
  23278. {
  23279. DPCU = BCCC /* \_SB_.PCI0.I2C7.BMDR.BCCC */
  23280. CHEN = BCCE /* \_SB_.PCI0.I2C7.BMDR.BCCE */
  23281. }
  23282.  
  23283. Return (One)
  23284. }
  23285.  
  23286. Method (CMUX, 1, Serialized)
  23287. {
  23288. If (^^AVBL == One)
  23289. {
  23290. If (^^^^GPO1.AVBL == One)
  23291. {
  23292. If (Arg0 != 0x03)
  23293. {
  23294. CDRH (Zero)
  23295. }
  23296. Else
  23297. {
  23298. CDRH (Zero)
  23299. }
  23300. }
  23301. }
  23302. }
  23303.  
  23304. Method (SBTP, 0, NotSerialized)
  23305. {
  23306. ADBG ("SBTP BMDR")
  23307. Notify (ADP1, 0x80) // Status Change
  23308. If (CondRefOf (\_SB.DPTF, Local3))
  23309. {
  23310. ADBG ("SBTP Notify DPTF")
  23311. Notify (DPTF, 0x86) // Device-Specific
  23312. Notify (TCHG, 0x80) // Status Change
  23313. }
  23314.  
  23315. Return (One)
  23316. }
  23317.  
  23318. Method (PTYP, 0, NotSerialized)
  23319. {
  23320. If (PMID == One)
  23321. {
  23322. Return (0x06)
  23323. }
  23324.  
  23325. If (PMID == 0x02)
  23326. {
  23327. Return (0x05)
  23328. }
  23329.  
  23330. Return (Zero)
  23331. }
  23332.  
  23333. Method (ILIM, 0, NotSerialized)
  23334. {
  23335. Return (BCIL) /* \_SB_.PCI0.I2C7.BMDR.BCIL */
  23336. }
  23337.  
  23338. Method (ICHG, 0, NotSerialized)
  23339. {
  23340. Return (BCHG) /* \_SB_.PCI0.I2C7.BMDR.BCHG */
  23341. }
  23342.  
  23343. Method (BMTV, 0, NotSerialized)
  23344. {
  23345. Return (BCTV) /* \_SB_.PCI0.I2C7.BMDR.BCTV */
  23346. }
  23347.  
  23348. Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
  23349. {
  23350. Return (_SB) /* \_SB_ */
  23351. }
  23352.  
  23353. Method (PSOC, 0, NotSerialized)
  23354. {
  23355. ADBG ("PSOC")
  23356. If (AVBL == One)
  23357. {
  23358. Local1 = SOC /* \_SB_.PCI0.I2C7.BMDR.SOC_ */
  23359. Return (Local1)
  23360. }
  23361.  
  23362. Return (Zero)
  23363. }
  23364.  
  23365. Method (PMAX, 0, NotSerialized)
  23366. {
  23367. ADBG ("PMAX")
  23368. If (AVBL == One)
  23369. {
  23370. Local1 = FCCP /* \_SB_.PCI0.I2C7.BMDR.FCCP */
  23371. Return (Local1)
  23372. }
  23373.  
  23374. Return (Zero)
  23375. }
  23376.  
  23377. Method (VMIN, 0, NotSerialized)
  23378. {
  23379. Return (0x0DAC)
  23380. }
  23381.  
  23382. Method (APWR, 0, NotSerialized)
  23383. {
  23384. Return (0x0365C040)
  23385. }
  23386.  
  23387. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  23388. {
  23389. If (Arg0 == ToUUID ("aa7bcf77-263f-4e28-8e16-9cac5c610928"))
  23390. {
  23391. If (Arg2 == One)
  23392. {
  23393. Return (Zero)
  23394. }
  23395.  
  23396. If (Arg2 == 0x02)
  23397. {
  23398. Return (0x2F)
  23399. }
  23400.  
  23401. If (Arg2 == 0x03)
  23402. {
  23403. Return (0xE0)
  23404. }
  23405.  
  23406. If (Arg2 == 0x04)
  23407. {
  23408. Return (0x03)
  23409. }
  23410.  
  23411. If (Arg2 == 0x05)
  23412. {
  23413. Return (One)
  23414. }
  23415.  
  23416. If (Arg2 == 0x06)
  23417. {
  23418. Return (0x02)
  23419. }
  23420.  
  23421. If (Arg2 == 0x07)
  23422. {
  23423. Return (One)
  23424. }
  23425.  
  23426. Return (0xFFFFFFFF)
  23427. }
  23428. }
  23429.  
  23430. Method (PSRC, 0, NotSerialized)
  23431. {
  23432. ADBG ("BMDR PSRC")
  23433. If (AVBL == One)
  23434. {
  23435. ADBG ("Read STYP")
  23436. Local0 = STYP /* \_SB_.PCI0.I2C7.BMDR.STYP */
  23437. If (Local0 == Zero)
  23438. {
  23439. Return (Zero)
  23440. }
  23441.  
  23442. If (Local0 == One)
  23443. {
  23444. Return (One)
  23445. }
  23446.  
  23447. If (Local0 == 0x02)
  23448. {
  23449. Return (0x02)
  23450. }
  23451.  
  23452. If (Local0 == 0x03)
  23453. {
  23454. Return (0x03)
  23455. }
  23456.  
  23457. If (Local0 == 0x04)
  23458. {
  23459. Return (0x04)
  23460. }
  23461.  
  23462. If (Local0 == 0x05)
  23463. {
  23464. Return (0x05)
  23465. }
  23466. }
  23467.  
  23468. Return (One)
  23469. }
  23470.  
  23471. Method (BATD, 0, NotSerialized)
  23472. {
  23473. If (AVBL == One)
  23474. {
  23475. ADBG ("BATD")
  23476. Local0 = CHST /* \_SB_.PCI0.I2C7.BMDR.CHST */
  23477. Local0 &= 0x0F
  23478. If (Local0 == 0x02)
  23479. {
  23480. Local1 = 0x02
  23481. }
  23482.  
  23483. If (Local0 == One)
  23484. {
  23485. Local1 = One
  23486. }
  23487.  
  23488. If (Local0 == 0x08)
  23489. {
  23490. Local1 = Zero
  23491. }
  23492.  
  23493. BSTP [Zero] = Local1
  23494. BSTP [One] = CHGC /* \_SB_.PCI0.I2C7.BMDR.CHGC */
  23495. BSTP [0x02] = RMCP /* \_SB_.PCI0.I2C7.BMDR.RMCP */
  23496. BSTP [0x03] = VOLT /* \_SB_.PCI0.I2C7.BMDR.VOLT */
  23497. DPCU = BCCC /* \_SB_.PCI0.I2C7.BMDR.BCCC */
  23498. }
  23499.  
  23500. Return (BSTP) /* \_SB_.PCI0.I2C7.BMDR.BSTP */
  23501. }
  23502.  
  23503. Method (CTYP, 0, NotSerialized)
  23504. {
  23505. Return (0x02)
  23506. }
  23507.  
  23508. Method (ARTG, 0, NotSerialized)
  23509. {
  23510. Return (0x0365C040)
  23511. }
  23512. }
  23513. }
  23514.  
  23515. Scope (_SB.PCI0.I2C3)
  23516. {
  23517. Device (TIDR)
  23518. {
  23519. Name (_HID, "INT33FE" /* XPOWER Battery Device */) // _HID: Hardware ID
  23520. Name (_CID, "INT33FE" /* XPOWER Battery Device */) // _CID: Compatible ID
  23521. Name (_DDN, "TI PMIC Battery Device") // _DDN: DOS Device Name
  23522. Name (BCCC, 0x80)
  23523. Name (BCCE, One)
  23524. Name (OTGS, Zero)
  23525. Name (CHPR, One)
  23526. Name (FGDV, 0x0A)
  23527. Name (BCIL, 0x65)
  23528. Name (BCVF, 0x93)
  23529. Name (BCFV, 0xED)
  23530. Name (BCCH, 0x38)
  23531. Name (BCST, 0x05)
  23532. Name (BCPE, 0x74)
  23533. Name (BCCL, 0xFFFFFFFF)
  23534. Name (BCLP, 0x1004)
  23535. Name (DSVO, 0x0EA6)
  23536. Name (BTPC, Zero)
  23537. Name (AVCU, Zero)
  23538. Name (BSTP, Package (0x04)
  23539. {
  23540. Zero,
  23541. 0xFFFFFFFF,
  23542. 0xFFFFFFFF,
  23543. 0xFFFFFFFF
  23544. })
  23545. Name (_DEP, Package (0x05) // _DEP: Dependencies
  23546. {
  23547. I2C7,
  23548. ^^I2C7.PMI2,
  23549. I2C3,
  23550. GPO1,
  23551. MBID
  23552. })
  23553. Name (BUFF, Buffer (0x03) {})
  23554. CreateByteField (BUFF, Zero, STAT)
  23555. CreateByteField (BUFF, 0x02, DATA)
  23556. Name (RBUF, ResourceTemplate ()
  23557. {
  23558. I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000186A0,
  23559. AddressingMode7Bit, "\\_SB.PCI0.I2C3",
  23560. 0x00, ResourceConsumer, , Exclusive,
  23561. )
  23562. })
  23563. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  23564. {
  23565. Return (RBUF) /* \_SB_.PCI0.I2C3.TIDR.RBUF */
  23566. }
  23567.  
  23568. Method (_STA, 0, NotSerialized) // _STA: Status
  23569. {
  23570. If (OSID == One)
  23571. {
  23572. If ((BDID == One) && (PMID == One))
  23573. {
  23574. Return (0x0F)
  23575. }
  23576. }
  23577.  
  23578. Return (Zero)
  23579. }
  23580.  
  23581. OperationRegion (BMOP, 0x9E, Zero, 0x0100)
  23582. Field (BMOP, DWordAcc, NoLock, Preserve)
  23583. {
  23584. SOC, 32,
  23585. FCCP, 32,
  23586. CHST, 32,
  23587. RMCP, 32,
  23588. VOLT, 32,
  23589. BATP, 32,
  23590. SRP0, 32,
  23591. STYP, 32,
  23592. CHGC, 32,
  23593. STPC, 32,
  23594. GADC, 32,
  23595. TTEM, 32,
  23596. TTCH, 32,
  23597. CYCL, 32,
  23598. BTP, 32,
  23599. DPCU, 32,
  23600. DSCP, 32,
  23601. CHEN, 32
  23602. }
  23603.  
  23604. Name (AVBL, Zero)
  23605. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  23606. {
  23607. If (Arg0 == 0x9E)
  23608. {
  23609. AVBL = Arg1
  23610. }
  23611. }
  23612.  
  23613. Method (DPTU, 0, NotSerialized)
  23614. {
  23615. ADBG ("DPTU TIDR")
  23616. If (AVBL == One)
  23617. {
  23618. DPCU = BCCC /* \_SB_.PCI0.I2C3.TIDR.BCCC */
  23619. CHEN = BCCE /* \_SB_.PCI0.I2C3.TIDR.BCCE */
  23620. }
  23621.  
  23622. Return (One)
  23623. }
  23624.  
  23625. Method (CMUX, 1, Serialized)
  23626. {
  23627. If (^^^I2C7.AVBL == One)
  23628. {
  23629. If (^^^^GPO1.AVBL == One)
  23630. {
  23631. BUFF = ^^^I2C7.SIRQ /* \_SB_.PCI0.I2C7.SIRQ */
  23632. DATA &= 0x20
  23633. If (DATA == 0x20)
  23634. {
  23635. If (Arg0 != 0x03)
  23636. {
  23637. CDRD (One)
  23638. If (^^^^GPO3.AMMR == One)
  23639. {
  23640. ^^^^GPO3.DMTX = 0x8102
  23641. }
  23642. }
  23643. }
  23644. Else
  23645. {
  23646. CDRD (Zero)
  23647. If (^^^^GPO3.AMMR == One)
  23648. {
  23649. ^^^^GPO3.DMTX = 0x8100
  23650. }
  23651. }
  23652. }
  23653. }
  23654. }
  23655.  
  23656. Method (SBTP, 0, NotSerialized)
  23657. {
  23658. ADBG ("SBTP TIDR")
  23659. Notify (ADP1, 0x80) // Status Change
  23660. If (CondRefOf (\_SB.DPTF, Local3))
  23661. {
  23662. ADBG ("SBTP Notify DPTF")
  23663. Notify (DPTF, 0x86) // Device-Specific
  23664. Notify (TCHG, 0x80) // Status Change
  23665. }
  23666.  
  23667. Return (One)
  23668. }
  23669.  
  23670. Method (PTYP, 0, NotSerialized)
  23671. {
  23672. If (PMID == One)
  23673. {
  23674. Return (0x06)
  23675. }
  23676.  
  23677. If (PMID == 0x02)
  23678. {
  23679. Return (0x05)
  23680. }
  23681.  
  23682. Return (Zero)
  23683. }
  23684.  
  23685. Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
  23686. {
  23687. Return (_SB) /* \_SB_ */
  23688. }
  23689.  
  23690. Method (PSOC, 0, NotSerialized)
  23691. {
  23692. ADBG ("PSOC")
  23693. If (AVBL == One)
  23694. {
  23695. Local1 = SOC /* \_SB_.PCI0.I2C3.TIDR.SOC_ */
  23696. Return (Local1)
  23697. }
  23698.  
  23699. Return (Zero)
  23700. }
  23701.  
  23702. Method (PMAX, 0, NotSerialized)
  23703. {
  23704. ADBG ("PMAX")
  23705. If (AVBL == One)
  23706. {
  23707. Local1 = FCCP /* \_SB_.PCI0.I2C3.TIDR.FCCP */
  23708. Return (Local1)
  23709. }
  23710.  
  23711. Return (Zero)
  23712. }
  23713.  
  23714. Method (VMIN, 0, NotSerialized)
  23715. {
  23716. Return (0x0DAC)
  23717. }
  23718.  
  23719. Method (APWR, 0, NotSerialized)
  23720. {
  23721. Return (0x0365C040)
  23722. }
  23723.  
  23724. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  23725. {
  23726. If (Arg0 == ToUUID ("aa7bcf77-263f-4e28-8e16-9cac5c610928"))
  23727. {
  23728. If (Arg2 == One)
  23729. {
  23730. Return (Zero)
  23731. }
  23732.  
  23733. If (Arg2 == 0x02)
  23734. {
  23735. Return (0x08)
  23736. }
  23737.  
  23738. If (Arg2 == 0x03)
  23739. {
  23740. Return (0xC0)
  23741. }
  23742.  
  23743. If (Arg2 == 0x04)
  23744. {
  23745. Return (0x02)
  23746. }
  23747.  
  23748. If (Arg2 == 0x05)
  23749. {
  23750. Return (One)
  23751. }
  23752.  
  23753. If (Arg2 == 0x06)
  23754. {
  23755. Return (0xFFFFFFFF)
  23756. }
  23757.  
  23758. If (Arg2 == 0x07)
  23759. {
  23760. Return (Zero)
  23761. }
  23762.  
  23763. Return (0xFFFFFFFF)
  23764. }
  23765. }
  23766.  
  23767. Method (PSRC, 0, NotSerialized)
  23768. {
  23769. ADBG ("TIDR PSRC")
  23770. If (AVBL == One)
  23771. {
  23772. ADBG ("Read STYP")
  23773. Local0 = STYP /* \_SB_.PCI0.I2C3.TIDR.STYP */
  23774. If (Local0 == Zero)
  23775. {
  23776. Return (Zero)
  23777. }
  23778.  
  23779. If (Local0 == One)
  23780. {
  23781. Return (One)
  23782. }
  23783.  
  23784. If (Local0 == 0x02)
  23785. {
  23786. Return (0x02)
  23787. }
  23788.  
  23789. If (Local0 == 0x03)
  23790. {
  23791. Return (0x03)
  23792. }
  23793.  
  23794. If (Local0 == 0x04)
  23795. {
  23796. Return (0x04)
  23797. }
  23798.  
  23799. If (Local0 == 0x05)
  23800. {
  23801. Return (0x05)
  23802. }
  23803. }
  23804.  
  23805. Return (One)
  23806. }
  23807.  
  23808. Method (BATD, 0, NotSerialized)
  23809. {
  23810. If (AVBL == One)
  23811. {
  23812. ADBG ("BATD")
  23813. Local0 = CHST /* \_SB_.PCI0.I2C3.TIDR.CHST */
  23814. Local0 &= 0x0F
  23815. If (Local0 == 0x02)
  23816. {
  23817. Local1 = 0x02
  23818. }
  23819.  
  23820. If (Local0 == One)
  23821. {
  23822. Local1 = One
  23823. }
  23824.  
  23825. If (Local0 == 0x08)
  23826. {
  23827. Local1 = Zero
  23828. }
  23829.  
  23830. BSTP [Zero] = Local1
  23831. BSTP [One] = CHGC /* \_SB_.PCI0.I2C3.TIDR.CHGC */
  23832. BSTP [0x02] = RMCP /* \_SB_.PCI0.I2C3.TIDR.RMCP */
  23833. BSTP [0x03] = VOLT /* \_SB_.PCI0.I2C3.TIDR.VOLT */
  23834. DPCU = BCCC /* \_SB_.PCI0.I2C3.TIDR.BCCC */
  23835. }
  23836.  
  23837. Return (BSTP) /* \_SB_.PCI0.I2C3.TIDR.BSTP */
  23838. }
  23839.  
  23840. Method (CTYP, 0, NotSerialized)
  23841. {
  23842. Return (0x02)
  23843. }
  23844.  
  23845. Method (ARTG, 0, NotSerialized)
  23846. {
  23847. Return (0x0365C040)
  23848. }
  23849. }
  23850.  
  23851. OperationRegion (POCR, GenericSerialBus, Zero, 0x0100)
  23852. Field (POCR, BufferAcc, NoLock, Preserve)
  23853. {
  23854. Connection (
  23855. I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000F4240,
  23856. AddressingMode7Bit, "\\_SB.PCI0.I2C3",
  23857. 0x00, ResourceConsumer, , Exclusive,
  23858. )
  23859. ),
  23860. Offset (0x01),
  23861. AccessAs (BufferAcc, AttribByte),
  23862. P0TG, 8
  23863. }
  23864.  
  23865. Device (ABAT)
  23866. {
  23867. Name (_HID, "TBQ24296" /* Charger */) // _HID: Hardware ID
  23868. Name (_CID, "TBQ24296" /* Charger */) // _CID: Compatible ID
  23869. Name (_DDN, "TI PMIC Battery Device") // _DDN: DOS Device Name
  23870. Name (_DEP, Package (0x03) // _DEP: Dependencies
  23871. {
  23872. GPO1,
  23873. GPO3,
  23874. I2C3
  23875. })
  23876. Name (RBUF, ResourceTemplate ()
  23877. {
  23878. I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000186A0,
  23879. AddressingMode7Bit, "\\_SB.PCI0.I2C3",
  23880. 0x00, ResourceConsumer, , Exclusive,
  23881. )
  23882. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
  23883. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  23884. )
  23885. { // Pin list
  23886. 0x0005
  23887. }
  23888. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  23889. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  23890. )
  23891. { // Pin list
  23892. 0x0045
  23893. }
  23894. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  23895. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  23896. )
  23897. { // Pin list
  23898. 0x0041
  23899. }
  23900. })
  23901. Name (ABUF, ResourceTemplate ()
  23902. {
  23903. })
  23904. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  23905. {
  23906. If (OSID == 0x04)
  23907. {
  23908. Return (ABUF) /* \_SB_.PCI0.I2C3.ABAT.ABUF */
  23909. }
  23910.  
  23911. Return (RBUF) /* \_SB_.PCI0.I2C3.ABAT.RBUF */
  23912. }
  23913.  
  23914. Method (_STA, 0, NotSerialized) // _STA: Status
  23915. {
  23916. If ((BDID == One) && (PMID == One))
  23917. {
  23918. If (OSID != One)
  23919. {
  23920. Return (0x0F)
  23921. }
  23922. }
  23923.  
  23924. Return (Zero)
  23925. }
  23926. }
  23927. }
  23928.  
  23929. Scope (_SB.PCI0.I2C1)
  23930. {
  23931. Device (USTC)
  23932. {
  23933. Name (_HID, "FUSB0300") // _HID: Hardware ID
  23934. Name (_UID, Zero) // _UID: Unique ID
  23935. Method (_STA, 0, NotSerialized) // _STA: Status
  23936. {
  23937. If ((OSID == 0x04) && ((BDID == 0x09) || (BDID == 0x0A)))
  23938. {
  23939. Return (0x0F)
  23940. }
  23941.  
  23942. Return (Zero)
  23943. }
  23944.  
  23945. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  23946. {
  23947. Name (SBUF, ResourceTemplate ()
  23948. {
  23949. I2cSerialBusV2 (0x0022, ControllerInitiated, 0x00061A80,
  23950. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  23951. 0x00, ResourceConsumer, , Exclusive,
  23952. )
  23953. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  23954. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  23955. )
  23956. { // Pin list
  23957. 0x0005
  23958. }
  23959. })
  23960. Return (SBUF) /* \_SB_.PCI0.I2C1.USTC._CRS.SBUF */
  23961. }
  23962. }
  23963.  
  23964. Device (PER1)
  23965. {
  23966. Name (_HID, "PI330532") // _HID: Hardware ID
  23967. Name (_UID, Zero) // _UID: Unique ID
  23968. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  23969. {
  23970. Name (SBUF, ResourceTemplate ()
  23971. {
  23972. I2cSerialBusV2 (0x0054, ControllerInitiated, 0x00061A80,
  23973. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  23974. 0x00, ResourceConsumer, , Exclusive,
  23975. )
  23976. })
  23977. Return (SBUF) /* \_SB_.PCI0.I2C1.PER1._CRS.SBUF */
  23978. }
  23979.  
  23980. Method (_STA, 0, NotSerialized) // _STA: Status
  23981. {
  23982. If ((OSID == 0x04) && ((BDID == 0x09) || (BDID == 0x0A)))
  23983. {
  23984. Return (0x0F)
  23985. }
  23986.  
  23987. Return (Zero)
  23988. }
  23989. }
  23990.  
  23991. Device (ANFG)
  23992. {
  23993. Name (_HID, "MAX17047" /* Fuel Gauge Controller */) // _HID: Hardware ID
  23994. Name (_CID, "MAX17047" /* Fuel Gauge Controller */) // _CID: Compatible ID
  23995. Name (_DDN, "Fuel Gauge Controller") // _DDN: DOS Device Name
  23996. Name (RBUF, ResourceTemplate ()
  23997. {
  23998. I2cSerialBusV2 (0x0036, ControllerInitiated, 0x00061A80,
  23999. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  24000. 0x00, ResourceConsumer, , Exclusive,
  24001. )
  24002. GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  24003. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  24004. )
  24005. { // Pin list
  24006. 0x0001
  24007. }
  24008. })
  24009. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  24010. {
  24011. Return (RBUF) /* \_SB_.PCI0.I2C1.ANFG.RBUF */
  24012. }
  24013.  
  24014. Method (_STA, 0, NotSerialized) // _STA: Status
  24015. {
  24016. If ((OSID != One) && (BDID != One))
  24017. {
  24018. Return (0x0F)
  24019. }
  24020.  
  24021. Return (Zero)
  24022. }
  24023. }
  24024.  
  24025. Device (ANCG)
  24026. {
  24027. Name (_HID, "SMB0349" /* Charger */) // _HID: Hardware ID
  24028. Name (_CID, "SMB0349" /* Charger */) // _CID: Compatible ID
  24029. Name (_DDN, "Charger") // _DDN: DOS Device Name
  24030. Name (RBUF, ResourceTemplate ()
  24031. {
  24032. I2cSerialBusV2 (0x0035, ControllerInitiated, 0x00061A80,
  24033. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  24034. 0x00, ResourceConsumer, , Exclusive,
  24035. )
  24036. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
  24037. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  24038. )
  24039. { // Pin list
  24040. 0x0000
  24041. }
  24042. })
  24043. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  24044. {
  24045. Return (RBUF) /* \_SB_.PCI0.I2C1.ANCG.RBUF */
  24046. }
  24047.  
  24048. Method (_STA, 0, NotSerialized) // _STA: Status
  24049. {
  24050. If ((OSID != One) && (BDID != One))
  24051. {
  24052. Return (0x0F)
  24053. }
  24054.  
  24055. Return (Zero)
  24056. }
  24057. }
  24058.  
  24059. Device (ANF1)
  24060. {
  24061. Name (_HID, "TXN27501") // _HID: Hardware ID
  24062. Name (_CID, "TXN27501") // _CID: Compatible ID
  24063. Name (_DDN, "TI Fuel Gauge Controller") // _DDN: DOS Device Name
  24064. Name (RBUF, ResourceTemplate ()
  24065. {
  24066. I2cSerialBusV2 (0x006B, ControllerInitiated, 0x00061A80,
  24067. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  24068. 0x00, ResourceConsumer, , Exclusive,
  24069. )
  24070. GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  24071. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  24072. )
  24073. { // Pin list
  24074. 0x0001
  24075. }
  24076. })
  24077. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  24078. {
  24079. Return (RBUF) /* \_SB_.PCI0.I2C1.ANF1.RBUF */
  24080. }
  24081.  
  24082. Method (_STA, 0, NotSerialized) // _STA: Status
  24083. {
  24084. If (OSID != One)
  24085. {
  24086. Return (0x0F)
  24087. }
  24088.  
  24089. Return (Zero)
  24090. }
  24091. }
  24092.  
  24093. Device (ANC2)
  24094. {
  24095. Name (_HID, "TXN24292") // _HID: Hardware ID
  24096. Name (_CID, "TXN24292") // _CID: Compatible ID
  24097. Name (_DDN, "TI Charger") // _DDN: DOS Device Name
  24098. Name (RBUF, ResourceTemplate ()
  24099. {
  24100. I2cSerialBusV2 (0x0055, ControllerInitiated, 0x00061A80,
  24101. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  24102. 0x00, ResourceConsumer, , Exclusive,
  24103. )
  24104. GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
  24105. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  24106. )
  24107. { // Pin list
  24108. 0x0005
  24109. }
  24110. })
  24111. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  24112. {
  24113. Return (RBUF) /* \_SB_.PCI0.I2C1.ANC2.RBUF */
  24114. }
  24115.  
  24116. Method (_STA, 0, NotSerialized) // _STA: Status
  24117. {
  24118. If (OSID != One)
  24119. {
  24120. Return (0x0F)
  24121. }
  24122.  
  24123. Return (Zero)
  24124. }
  24125. }
  24126.  
  24127. Name (SMFG, ResourceTemplate ()
  24128. {
  24129. I2cSerialBusV2 (0x0036, ControllerInitiated, 0x000186A0,
  24130. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  24131. 0x00, ResourceConsumer, , Exclusive,
  24132. )
  24133. })
  24134. Name (AVBL, Zero)
  24135. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  24136. {
  24137. If (Arg0 == 0x09)
  24138. {
  24139. AVBL = Arg1
  24140. }
  24141. }
  24142.  
  24143. OperationRegion (DVFG, GenericSerialBus, Zero, 0x0100)
  24144. Field (DVFG, BufferAcc, NoLock, Preserve)
  24145. {
  24146. Connection (SMFG),
  24147. Offset (0x05),
  24148. AccessAs (BufferAcc, AttribBytes (0x02)),
  24149. FG05, 8
  24150. }
  24151.  
  24152. Field (DVFG, BufferAcc, NoLock, Preserve)
  24153. {
  24154. Connection (SMFG),
  24155. Offset (0x10),
  24156. AccessAs (BufferAcc, AttribBytes (0x02)),
  24157. FG10, 8
  24158. }
  24159.  
  24160. Field (DVFG, BufferAcc, NoLock, Preserve)
  24161. {
  24162. Connection (SMFG),
  24163. Offset (0x17),
  24164. AccessAs (BufferAcc, AttribBytes (0x02)),
  24165. FG17, 8
  24166. }
  24167.  
  24168. Field (DVFG, BufferAcc, NoLock, Preserve)
  24169. {
  24170. Connection (SMFG),
  24171. Offset (0x18),
  24172. AccessAs (BufferAcc, AttribBytes (0x02)),
  24173. FG18, 8
  24174. }
  24175.  
  24176. Field (DVFG, BufferAcc, NoLock, Preserve)
  24177. {
  24178. Connection (SMFG),
  24179. Offset (0x09),
  24180. AccessAs (BufferAcc, AttribBytes (0x02)),
  24181. FG09, 8
  24182. }
  24183.  
  24184. Field (DVFG, BufferAcc, NoLock, Preserve)
  24185. {
  24186. Connection (SMFG),
  24187. Offset (0x0A),
  24188. AccessAs (BufferAcc, AttribBytes (0x02)),
  24189. FG0A, 8
  24190. }
  24191.  
  24192. Field (DVFG, BufferAcc, NoLock, Preserve)
  24193. {
  24194. Connection (SMFG),
  24195. Offset (0x11),
  24196. AccessAs (BufferAcc, AttribBytes (0x02)),
  24197. FG11, 8
  24198. }
  24199.  
  24200. Field (DVFG, BufferAcc, NoLock, Preserve)
  24201. {
  24202. Connection (SMFG),
  24203. AccessAs (BufferAcc, AttribBytes (0x02)),
  24204. FG00, 8
  24205. }
  24206.  
  24207. Field (DVFG, BufferAcc, NoLock, Preserve)
  24208. {
  24209. Connection (SMFG),
  24210. Offset (0x03),
  24211. AccessAs (BufferAcc, AttribBytes (0x02)),
  24212. FG03, 8
  24213. }
  24214.  
  24215. Field (DVFG, BufferAcc, NoLock, Preserve)
  24216. {
  24217. Connection (SMFG),
  24218. Offset (0x1D),
  24219. AccessAs (BufferAcc, AttribBytes (0x02)),
  24220. FG1D, 8
  24221. }
  24222.  
  24223. Field (DVFG, BufferAcc, NoLock, Preserve)
  24224. {
  24225. Connection (SMFG),
  24226. Offset (0x2B),
  24227. AccessAs (BufferAcc, AttribBytes (0x02)),
  24228. FG2B, 8
  24229. }
  24230.  
  24231. Field (DVFG, BufferAcc, NoLock, Preserve)
  24232. {
  24233. Connection (SMFG),
  24234. Offset (0x08),
  24235. AccessAs (BufferAcc, AttribBytes (0x02)),
  24236. THRM, 8
  24237. }
  24238.  
  24239. Field (DVFG, BufferAcc, NoLock, Preserve)
  24240. {
  24241. Connection (SMFG),
  24242. Offset (0x06),
  24243. AccessAs (BufferAcc, AttribBytes (0x02)),
  24244. SOCR, 8
  24245. }
  24246.  
  24247. Field (DVFG, BufferAcc, NoLock, Preserve)
  24248. {
  24249. Connection (SMFG),
  24250. Offset (0x1C),
  24251. AccessAs (BufferAcc, AttribBytes (0x02)),
  24252. MXCU, 8
  24253. }
  24254.  
  24255. Name (SMBC, ResourceTemplate ()
  24256. {
  24257. I2cSerialBusV2 (0x0035, ControllerInitiated, 0x000186A0,
  24258. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  24259. 0x00, ResourceConsumer, , Exclusive,
  24260. )
  24261. })
  24262. OperationRegion (DVBC, GenericSerialBus, Zero, 0x0100)
  24263. Field (DVBC, BufferAcc, NoLock, Preserve)
  24264. {
  24265. Connection (SMBC),
  24266. AccessAs (BufferAcc, AttribByte),
  24267. BC00, 8,
  24268. BC01, 8,
  24269. BC02, 8,
  24270. BC03, 8,
  24271. BC04, 8,
  24272. BC05, 8,
  24273. BC06, 8,
  24274. BC07, 8,
  24275. BC08, 8,
  24276. BC09, 8,
  24277. BC0A, 8,
  24278. BC0B, 8,
  24279. BC0C, 8,
  24280. BC0D, 8,
  24281. BC0E, 8,
  24282. BC0F, 8,
  24283. BC10, 8
  24284. }
  24285.  
  24286. Field (DVBC, BufferAcc, NoLock, Preserve)
  24287. {
  24288. Connection (SMBC),
  24289. Offset (0x3D),
  24290. AccessAs (BufferAcc, AttribByte),
  24291. BC3D, 8
  24292. }
  24293.  
  24294. Field (DVBC, BufferAcc, NoLock, Preserve)
  24295. {
  24296. Connection (SMBC),
  24297. Offset (0x30),
  24298. AccessAs (BufferAcc, AttribByte),
  24299. BC30, 8
  24300. }
  24301.  
  24302. Field (DVBC, BufferAcc, NoLock, Preserve)
  24303. {
  24304. Connection (SMBC),
  24305. Offset (0x31),
  24306. AccessAs (BufferAcc, AttribByte),
  24307. BC31, 8
  24308. }
  24309.  
  24310. Field (DVBC, BufferAcc, NoLock, Preserve)
  24311. {
  24312. Connection (SMBC),
  24313. Offset (0x3C),
  24314. AccessAs (BufferAcc, AttribByte),
  24315. BC3C, 8
  24316. }
  24317.  
  24318. Field (DVBC, BufferAcc, NoLock, Preserve)
  24319. {
  24320. Connection (SMBC),
  24321. Offset (0x3E),
  24322. AccessAs (BufferAcc, AttribByte),
  24323. BC3E, 8
  24324. }
  24325.  
  24326. Field (DVBC, BufferAcc, NoLock, Preserve)
  24327. {
  24328. Connection (SMBC),
  24329. Offset (0x35),
  24330. AccessAs (BufferAcc, AttribBytes (0x06)),
  24331. BC35, 8
  24332. }
  24333.  
  24334. Device (BATC)
  24335. {
  24336. Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
  24337. Name (_UID, One) // _UID: Unique ID
  24338. Name (BCCE, One)
  24339. Name (OTGS, Zero)
  24340. Name (HSMD, Zero)
  24341. Name (CHPR, Zero)
  24342. Name (FGDV, 0x0A)
  24343. Name (BCCC, 0x46)
  24344. Name (RECT, Zero)
  24345. Name (BCCL, 0xFFFFFFFF)
  24346. Name (BCLP, 0x1004)
  24347. Name (DSCP, 0x1300)
  24348. Name (DSVO, 0x0EA6)
  24349. Name (BTPC, Zero)
  24350. Name (AVCU, Zero)
  24351. Name (DCPS, Zero)
  24352. Name (_DEP, Package (0x01) // _DEP: Dependencies
  24353. {
  24354. I2C1
  24355. })
  24356. Name (BUFF, Buffer (0x03)
  24357. {
  24358. 0x00, 0x01, 0x00 /* ... */
  24359. })
  24360. CreateByteField (BUFF, Zero, BYAT)
  24361. CreateByteField (BUFF, 0x02, DATA)
  24362. Name (BUF1, Buffer (0x06)
  24363. {
  24364. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ...... */
  24365. })
  24366. CreateByteField (BUF1, Zero, BSTA)
  24367. CreateByteField (BUF1, One, BLEN)
  24368. CreateDWordField (BUF1, 0x02, DAT1)
  24369. Name (BUF2, Buffer (0x04)
  24370. {
  24371. 0x00, 0x00, 0x00, 0x00 /* .... */
  24372. })
  24373. CreateByteField (BUF2, Zero, BSTS)
  24374. CreateByteField (BUF2, One, SLEN)
  24375. CreateWordField (BUF2, 0x02, WRD1)
  24376. Name (INBU, Buffer (0x08)
  24377. {
  24378. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
  24379. })
  24380. CreateByteField (INBU, Zero, INST)
  24381. CreateByteField (INBU, One, INLN)
  24382. CreateByteField (INBU, 0x02, INT0)
  24383. CreateByteField (INBU, 0x03, INT1)
  24384. CreateByteField (INBU, 0x04, INT2)
  24385. CreateByteField (INBU, 0x05, INT3)
  24386. CreateByteField (INBU, 0x06, INT4)
  24387. CreateByteField (INBU, 0x07, INT5)
  24388. Name (BIXP, Package (0x14)
  24389. {
  24390. Zero,
  24391. One,
  24392. 0xFFFFFFFF,
  24393. 0xFFFFFFFF,
  24394. One,
  24395. 0xFFFFFFFF,
  24396. 0x0A,
  24397. 0x04,
  24398. Zero,
  24399. 0x00017318,
  24400. 0xFFFFFFFF,
  24401. 0xFFFFFFFF,
  24402. 0x88B8,
  24403. 0x61A8,
  24404. One,
  24405. One,
  24406. "SR Real Battery",
  24407. "123456789",
  24408. "LION",
  24409. "Intel SR 1"
  24410. })
  24411. Name (BSTP, Package (0x04)
  24412. {
  24413. Zero,
  24414. 0xFFFFFFFF,
  24415. 0xFFFFFFFF,
  24416. 0xFFFFFFFF
  24417. })
  24418. Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
  24419. {
  24420. If (AVBL == One)
  24421. {
  24422. BUF2 = FG10 /* \_SB_.PCI0.I2C1.FG10 */
  24423. If (BSTS != One)
  24424. {
  24425. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24426. Local2 = (Local1 * 0x05)
  24427. Divide (Local2, FGDV, Local0, Local1)
  24428. BIXP [0x03] = Local1
  24429. }
  24430.  
  24431. BUF2 = FG17 /* \_SB_.PCI0.I2C1.FG17 */
  24432. If (BSTS != One)
  24433. {
  24434. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24435. Divide (Local1, 0x64, Local0, Local2)
  24436. BIXP [0x08] = Local2
  24437. }
  24438. }
  24439.  
  24440. BIXP [0x02] = DSCP /* \_SB_.PCI0.I2C1.BATC.DSCP */
  24441. BIXP [0x05] = DSVO /* \_SB_.PCI0.I2C1.BATC.DSVO */
  24442. Divide (DSCP, 0x0A, Local0, Local1)
  24443. BIXP [0x06] = Local1
  24444. Divide (DSCP, 0x14, Local0, Local1)
  24445. BIXP [0x07] = Local1
  24446. Return (BIXP) /* \_SB_.PCI0.I2C1.BATC.BIXP */
  24447. }
  24448.  
  24449. Method (_BST, 0, NotSerialized) // _BST: Battery Status
  24450. {
  24451. If (AVBL == One)
  24452. {
  24453. ADBG ("CH PR")
  24454. BUFF = BC30 /* \_SB_.PCI0.I2C1.BC30 */
  24455. Local1 = (DATA & 0x7F)
  24456. DATA = (Local1 | 0x80)
  24457. BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24458. DATA = 0x3D
  24459. BC04 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24460. DATA = 0x05
  24461. BC05 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24462. DATA = 0xA5
  24463. BC07 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24464. DATA = 0xCF
  24465. BC09 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24466. DATA = 0x47
  24467. BC0A = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24468. DATA = 0x66
  24469. BC10 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24470. CHPR = Zero
  24471. ADBG ("CH PR DONE")
  24472. BUFF = BC3D /* \_SB_.PCI0.I2C1.BC3D */
  24473. If (BYAT != One)
  24474. {
  24475. Local0 = (DATA >> One)
  24476. Local0 &= 0x03
  24477. If ((Local0 == One) || (Local0 == 0x02))
  24478. {
  24479. Local1 = 0x02
  24480. }
  24481.  
  24482. If (Local0 == Zero)
  24483. {
  24484. Local1 = One
  24485. }
  24486.  
  24487. If (Local0 == 0x03)
  24488. {
  24489. Local1 = Zero
  24490. }
  24491.  
  24492. BSTP [Zero] = Local1
  24493. }
  24494.  
  24495. BUF2 = FG0A /* \_SB_.PCI0.I2C1.FG0A */
  24496. If (BSTS != One)
  24497. {
  24498. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24499. If (Local1 & 0x8000)
  24500. {
  24501. Local1 = (0xFFFF - Local1)
  24502. }
  24503.  
  24504. Divide (Local1, FGDV, Local0, Local2)
  24505. Local1 = (Local2 * 0x9C)
  24506. Divide (Local1, 0x64, Local0, Local2)
  24507. BSTP [One] = Local2
  24508. }
  24509.  
  24510. BUF2 = FG05 /* \_SB_.PCI0.I2C1.FG05 */
  24511. If (BSTS != One)
  24512. {
  24513. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24514. Local2 = (Local1 * 0x05)
  24515. Divide (Local2, FGDV, Local0, Local1)
  24516. BSTP [0x02] = Local1
  24517. }
  24518.  
  24519. BUF2 = FG09 /* \_SB_.PCI0.I2C1.FG09 */
  24520. If (BSTS != One)
  24521. {
  24522. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24523. Local2 = (Local1 >> 0x03)
  24524. Local1 = (Local2 * 0x0271)
  24525. Divide (Local1, 0x03E8, Local0, Local2)
  24526. BSTP [0x03] = Local2
  24527. }
  24528.  
  24529. BUFF = BC30 /* \_SB_.PCI0.I2C1.BC30 */
  24530. Local1 = (DATA & 0x7F)
  24531. DATA = (Local1 | 0x80)
  24532. BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24533. BUFF = BC00 /* \_SB_.PCI0.I2C1.BC00 */
  24534. Local1 = BCCC /* \_SB_.PCI0.I2C1.BATC.BCCC */
  24535. Local3 = Local1
  24536. Local2 = (DATA & 0xF0)
  24537. Local0 = (Local3 & 0xF0)
  24538. If (Local2 != Local0)
  24539. {
  24540. Local2 = (DATA & 0x0F)
  24541. Local0 = (Local1 & 0xF0)
  24542. DATA = (Local2 | Local0)
  24543. BC00 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24544. }
  24545.  
  24546. BUFF = BC06 /* \_SB_.PCI0.I2C1.BC06 */
  24547. Local1 = (DATA & 0x9F)
  24548. DATA = (Local1 | 0x20)
  24549. BC06 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24550. BUFF = BC30 /* \_SB_.PCI0.I2C1.BC30 */
  24551. Local1 = (DATA & 0x7D)
  24552. If (BCCE == One)
  24553. {
  24554. ADBG ("EN CH")
  24555. DATA = (Local1 | Zero)
  24556. DATA &= 0xFB
  24557. BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24558. }
  24559. Else
  24560. {
  24561. ADBG ("DIS CH")
  24562. DATA = (Local1 | 0x02)
  24563. BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24564. }
  24565. }
  24566.  
  24567. Return (BSTP) /* \_SB_.PCI0.I2C1.BATC.BSTP */
  24568. }
  24569.  
  24570. Method (INTC, 0, NotSerialized)
  24571. {
  24572. ADBG ("INTC")
  24573. If (AVBL == One)
  24574. {
  24575. INBU = BC35 /* \_SB_.PCI0.I2C1.BC35 */
  24576. }
  24577.  
  24578. Local0 = PSRC ()
  24579. If (Local0 == One)
  24580. {
  24581. ADBG ("ACA CHG")
  24582. }
  24583. ElseIf (Local0 == 0x02)
  24584. {
  24585. ADBG ("SDP")
  24586. DCPS = Zero
  24587. }
  24588. ElseIf (Local0 == 0x03)
  24589. {
  24590. ADBG ("DCP")
  24591. DCPS = One
  24592. }
  24593. ElseIf (Local0 == 0x04)
  24594. {
  24595. ADBG ("CDP")
  24596. DCPS = Zero
  24597. }
  24598. ElseIf (Local0 == 0x05)
  24599. {
  24600. ADBG ("OTH")
  24601. }
  24602. ElseIf (Local0 == Zero)
  24603. {
  24604. CHPR = One
  24605. ADBG ("NOINP")
  24606. }
  24607.  
  24608. Local1 = (INT5 & 0x0C)
  24609. Local0 = (INT5 & 0x08)
  24610. If (Local1 == 0x0C)
  24611. {
  24612. If (OTGS != One)
  24613. {
  24614. ADBG ("OTG Detected")
  24615. OTGS = One
  24616. }
  24617. }
  24618. ElseIf (Local0 == 0x08)
  24619. {
  24620. If (OTGS != Zero)
  24621. {
  24622. ADBG ("OTG Removal")
  24623. OTGS = Zero
  24624. }
  24625. }
  24626.  
  24627. If (AVBL == One)
  24628. {
  24629. BUFF = BC3C /* \_SB_.PCI0.I2C1.BC3C */
  24630. }
  24631.  
  24632. If (BYAT != One)
  24633. {
  24634. Local0 = (DATA & 0x1F)
  24635. If (Local0 == 0x10)
  24636. {
  24637. CDRH (Zero)
  24638. If (BDID == 0x02)
  24639. {
  24640. If (^^^^GPO1.AMMR == One)
  24641. {
  24642. ^^^^GPO1.COPM = One
  24643. }
  24644. }
  24645.  
  24646. HSMD = One
  24647. ADBG ("RID GND")
  24648. }
  24649. ElseIf (Local0 == 0x08)
  24650. {
  24651. CDRH (Zero)
  24652. If (BDID == 0x02)
  24653. {
  24654. If (^^^^GPO1.AMMR == One)
  24655. {
  24656. ^^^^GPO1.COPM = One
  24657. }
  24658. }
  24659.  
  24660. HSMD = One
  24661. ADBG ("RID A")
  24662. }
  24663. ElseIf (Local0 == 0x04)
  24664. {
  24665. CDRH (Zero)
  24666. If (BDID == 0x02)
  24667. {
  24668. If (^^^^GPO1.AMMR == One)
  24669. {
  24670. ^^^^GPO1.COPM = One
  24671. }
  24672. }
  24673.  
  24674. HSMD = One
  24675. ADBG ("RID B")
  24676. }
  24677. ElseIf (Local0 == 0x02)
  24678. {
  24679. CDRH (Zero)
  24680. If (BDID == 0x02)
  24681. {
  24682. If (^^^^GPO1.AMMR == One)
  24683. {
  24684. ^^^^GPO1.COPM = One
  24685. }
  24686. }
  24687.  
  24688. HSMD = One
  24689. ADBG ("RID C")
  24690. }
  24691. ElseIf (Local0 == One)
  24692. {
  24693. If (DCPS == Zero)
  24694. {
  24695. CDRD (One)
  24696. If (BDID == 0x02)
  24697. {
  24698. If (^^^^GPO1.AMMR == One)
  24699. {
  24700. ^^^^GPO1.COPM = One
  24701. }
  24702. }
  24703. }
  24704. Else
  24705. {
  24706. CDRD (Zero)
  24707. }
  24708.  
  24709. HSMD = Zero
  24710. ADBG ("RID Float")
  24711. }
  24712. Else
  24713. {
  24714. CDRH (Zero)
  24715. If (BDID == 0x02)
  24716. {
  24717. If (^^^^GPO1.AMMR == One)
  24718. {
  24719. ^^^^GPO1.COPM = One
  24720. }
  24721. }
  24722.  
  24723. ADBG ("RID Unknown")
  24724. HSMD = One
  24725. }
  24726. }
  24727.  
  24728. Local0 = (INT3 & 0x80)
  24729. Local1 = (INT3 & 0x20)
  24730. If ((Local0 == 0x80) || (Local1 == 0x20))
  24731. {
  24732. Return (One)
  24733. }
  24734.  
  24735. If (CHPR == One)
  24736. {
  24737. If (HSMD == Zero)
  24738. {
  24739. ADBG ("CHG Rmv")
  24740. If (DSFG == One)
  24741. {
  24742. CDRH (Zero)
  24743. }
  24744. Else
  24745. {
  24746. CDRD (Zero)
  24747. }
  24748.  
  24749. ADBG ("Charger removed")
  24750. If (BDID == 0x02)
  24751. {
  24752. If (^^^^GPO1.AMMR == One)
  24753. {
  24754. ^^^^GPO1.COPM = Zero
  24755. }
  24756. }
  24757.  
  24758. HSMD = Zero
  24759. }
  24760.  
  24761. Return (One)
  24762. }
  24763.  
  24764. If (AVBL == One)
  24765. {
  24766. BUFF = BC30 /* \_SB_.PCI0.I2C1.BC30 */
  24767. }
  24768.  
  24769. If (BYAT != One)
  24770. {
  24771. Local0 = DATA /* \_SB_.PCI0.I2C1.BATC.DATA */
  24772. DATA = (Local0 | 0x40)
  24773. }
  24774.  
  24775. If (AVBL == One)
  24776. {
  24777. BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24778. }
  24779.  
  24780. Return (One)
  24781. }
  24782.  
  24783. Method (INTF, 0, NotSerialized)
  24784. {
  24785. ADBG ("INTF")
  24786. If (AVBL == One)
  24787. {
  24788. BUF2 = FG00 /* \_SB_.PCI0.I2C1.FG00 */
  24789. }
  24790.  
  24791. If (BSTS != One)
  24792. {
  24793. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24794. }
  24795.  
  24796. Return (One)
  24797. }
  24798.  
  24799. Method (CHCU, 1, NotSerialized)
  24800. {
  24801. Local0 = Arg0
  24802. BUFF = BC00 /* \_SB_.PCI0.I2C1.BC00 */
  24803. If (BYAT != One)
  24804. {
  24805. Local1 = (Local0 & 0x0F)
  24806. Local2 = (DATA & 0x0F)
  24807. If (Local1 != Local2)
  24808. {
  24809. Local1 = (Local0 & 0x0F)
  24810. Local2 = (DATA & 0xF0)
  24811. Local0 = (Local2 | Local1)
  24812. If (AVBL == One)
  24813. {
  24814. DATA = 0x80
  24815. BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24816. DATA = Local0
  24817. BC00 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24818. DATA = 0x87
  24819. BC02 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24820. DATA = 0x97
  24821. BC02 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24822. DATA = Zero
  24823. BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
  24824. }
  24825. }
  24826. }
  24827. }
  24828.  
  24829. Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
  24830. {
  24831. BTPC = Arg0
  24832. If (AVBL == One)
  24833. {
  24834. DAT1 = Arg0
  24835. BLEN = 0x04
  24836. BUF2 = FG2B /* \_SB_.PCI0.I2C1.FG2B */
  24837. If (BSTS != One)
  24838. {
  24839. Local1 = (WRD1 & 0xFFFC)
  24840. WRD1 = Local1
  24841. FG2B = BUF2 /* \_SB_.PCI0.I2C1.BATC.BUF2 */
  24842. }
  24843.  
  24844. BUF2 = FG1D /* \_SB_.PCI0.I2C1.FG1D */
  24845. If (BSTS != One)
  24846. {
  24847. Local1 = (WRD1 & 0xFFFB)
  24848. Local2 = (Local1 | 0x04)
  24849. WRD1 = Local2
  24850. FG1D = BUF2 /* \_SB_.PCI0.I2C1.BATC.BUF2 */
  24851. }
  24852.  
  24853. BUF2 = SOCR /* \_SB_.PCI0.I2C1.SOCR */
  24854. If (BSTS != One)
  24855. {
  24856. Local0 = (WRD1 >> 0x08)
  24857. Local1 = (Local0 & 0xFF)
  24858. }
  24859.  
  24860. Local2 = (Local1 + One)
  24861. Local3 = (Local1 - One)
  24862. Local1 = (Local2 << 0x08)
  24863. Local2 = (Local1 | Local3)
  24864. WRD1 = Local2
  24865. FG03 = BUF2 /* \_SB_.PCI0.I2C1.BATC.BUF2 */
  24866. }
  24867. }
  24868.  
  24869. Method (_BTM, 1, NotSerialized) // _BTM: Battery Time
  24870. {
  24871. If (Arg0 > 0x7530)
  24872. {
  24873. Return (Zero)
  24874. }
  24875.  
  24876. If (AVBL == One)
  24877. {
  24878. BUF2 = FG11 /* \_SB_.PCI0.I2C1.FG11 */
  24879. If (BSTS != One)
  24880. {
  24881. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24882. If (Arg0 == Zero)
  24883. {
  24884. Local2 = (Local1 >> 0x05)
  24885. Local1 = (Local2 * 0x03)
  24886. Local2 = (Local1 * 0x3C)
  24887. Return (Local2)
  24888. }
  24889.  
  24890. BUF2 = FG05 /* \_SB_.PCI0.I2C1.FG05 */
  24891. If (BSTS != One)
  24892. {
  24893. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24894. Local2 = (Local1 * 0x05)
  24895. Divide (Local2, FGDV, Local0, Local1)
  24896. Local0 = (Local1 * 0x0E10)
  24897. Divide (Local0, Arg0, Local1, Local2)
  24898. Return (Local2)
  24899. }
  24900. }
  24901. }
  24902.  
  24903. Return (0xFFFFFFFF)
  24904. }
  24905.  
  24906. Method (_BCT, 1, NotSerialized) // _BCT: Battery Charge Time
  24907. {
  24908. If ((Arg0 > 0x64) || (Arg0 < One))
  24909. {
  24910. Return (Zero)
  24911. }
  24912.  
  24913. If (AVBL == One)
  24914. {
  24915. BUF2 = FG05 /* \_SB_.PCI0.I2C1.FG05 */
  24916. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24917. If (BSTS != One)
  24918. {
  24919. Local2 = (Local1 * 0x05)
  24920. Divide (Local2, FGDV, Local0, Local1)
  24921. If (Arg0 < Local1)
  24922. {
  24923. Return (Zero)
  24924. }
  24925.  
  24926. RECT = Local1
  24927. }
  24928.  
  24929. BUF2 = FG10 /* \_SB_.PCI0.I2C1.FG10 */
  24930. If (BSTS != One)
  24931. {
  24932. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24933. Local2 = (Local1 * 0x05)
  24934. Divide (Local2, FGDV, Local0, Local1)
  24935. BCLP = Local1
  24936. }
  24937.  
  24938. BUF2 = FG0A /* \_SB_.PCI0.I2C1.FG0A */
  24939. If (BSTS != One)
  24940. {
  24941. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  24942. If (Local1 & 0x8000)
  24943. {
  24944. Return (Zero)
  24945. }
  24946. }
  24947.  
  24948. Local0 = (BCLP * Arg0)
  24949. Local0 -= RECT /* \_SB_.PCI0.I2C1.BATC.RECT */
  24950. Local0 *= 0x0E10
  24951. Divide (Local0, Local1, Local2, Local3)
  24952. Return (Local3)
  24953. }
  24954.  
  24955. Return (0xFFFFFFFF)
  24956. }
  24957.  
  24958. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  24959. {
  24960. If (Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */)
  24961. {
  24962. If (Arg2 == 0x02)
  24963. {
  24964. If (Arg1 == Zero)
  24965. {
  24966. Return (Buffer (One)
  24967. {
  24968. 0x00 /* . */
  24969. })
  24970. }
  24971. }
  24972. }
  24973.  
  24974. Return (Zero)
  24975. }
  24976.  
  24977. Method (_STA, 0, NotSerialized) // _STA: Status
  24978. {
  24979. If (BDID == One)
  24980. {
  24981. Return (Zero)
  24982. }
  24983.  
  24984. If (((BDID == 0x08) || (BDID == 0x0A)) || (BDID == 0x09))
  24985. {
  24986. Return (Zero)
  24987. }
  24988.  
  24989. If (OSID != One)
  24990. {
  24991. Return (Zero)
  24992. }
  24993.  
  24994. If (AVBL == One)
  24995. {
  24996. BUF2 = FG05 /* \_SB_.PCI0.I2C1.FG05 */
  24997. If (BSTS != Zero)
  24998. {
  24999. Return (Zero)
  25000. }
  25001. }
  25002.  
  25003. Return (0x1F)
  25004. }
  25005.  
  25006. Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
  25007. {
  25008. Return (_SB) /* \_SB_ */
  25009. }
  25010.  
  25011. Method (PSOC, 0, NotSerialized)
  25012. {
  25013. If (AVBL == One)
  25014. {
  25015. BUF2 = SOCR /* \_SB_.PCI0.I2C1.SOCR */
  25016. If (BSTS != One)
  25017. {
  25018. Local0 = (WRD1 >> 0x08)
  25019. Local1 = (Local0 & 0xFF)
  25020. }
  25021.  
  25022. Return (Local1)
  25023. }
  25024.  
  25025. Return (Zero)
  25026. }
  25027.  
  25028. Method (PMAX, 0, NotSerialized)
  25029. {
  25030. If (AVBL == One)
  25031. {
  25032. BUF2 = MXCU /* \_SB_.PCI0.I2C1.MXCU */
  25033. If (BSTS != One)
  25034. {
  25035. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  25036. If (Local1 & 0x8000)
  25037. {
  25038. Local0 = (Local1 >> 0x08)
  25039. Local1 = (Local0 & 0xFF)
  25040. Local0 = (0xFFFF - Local1)
  25041. Local1 = (Local0 * 0x04)
  25042. }
  25043. Else
  25044. {
  25045. Local0 = (Local1 >> 0x08)
  25046. Local2 = (Local0 & 0xFF)
  25047. Local1 = (Local2 * 0x04)
  25048. }
  25049.  
  25050. Divide (Local1, 0x0A, Local0, Local2)
  25051. Divide (Local2, FGDV, Local0, Local1)
  25052. Local2 = (Local1 * 0x03E8)
  25053. Local1 = (DSVO * Local2)
  25054. Return (Local1)
  25055. }
  25056. }
  25057.  
  25058. Return (Zero)
  25059. }
  25060.  
  25061. Method (VMIN, 0, NotSerialized)
  25062. {
  25063. Return (0x0DAC)
  25064. }
  25065.  
  25066. Method (APWR, 0, NotSerialized)
  25067. {
  25068. Return (0x0365C040)
  25069. }
  25070.  
  25071. Method (NPWR, 0, NotSerialized)
  25072. {
  25073. Local3 = APWR ()
  25074. If (AVBL == One)
  25075. {
  25076. BUF2 = FG0A /* \_SB_.PCI0.I2C1.FG0A */
  25077. If (BSTS != One)
  25078. {
  25079. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  25080. If (Local1 & 0x8000)
  25081. {
  25082. Local1 = (0xFFFF - Local1)
  25083. }
  25084.  
  25085. Divide (Local1, FGDV, Local0, Local2)
  25086. Local1 = (Local2 * 0x9C)
  25087. Divide (Local1, 0x64, Local0, Local2)
  25088. AVCU = Local2
  25089. BUF2 = FG09 /* \_SB_.PCI0.I2C1.FG09 */
  25090. If (BSTS != One)
  25091. {
  25092. Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
  25093. Local2 = (Local1 >> 0x03)
  25094. Local1 = (Local2 * 0x0271)
  25095. Divide (Local1, 0x03E8, Local0, Local2)
  25096. }
  25097.  
  25098. Local1 = (Local2 * AVCU) /* \_SB_.PCI0.I2C1.BATC.AVCU */
  25099. Local0 = (Local3 - Local1)
  25100. Return (Local0)
  25101. }
  25102. }
  25103.  
  25104. Return (Local0)
  25105. }
  25106.  
  25107. Method (PSRC, 0, NotSerialized)
  25108. {
  25109. If (AVBL == One)
  25110. {
  25111. BUFF = BC3E /* \_SB_.PCI0.I2C1.BC3E */
  25112. If (BYAT != One)
  25113. {
  25114. Local0 = DATA /* \_SB_.PCI0.I2C1.BATC.DATA */
  25115. If (Local0 == Zero)
  25116. {
  25117. Return (Zero)
  25118. }
  25119.  
  25120. If (((Local0 == 0x10) || (Local0 == 0x20)) || ((Local0 ==
  25121. 0x40) || (Local0 == 0x80)))
  25122. {
  25123. Return (One)
  25124. }
  25125.  
  25126. If (Local0 == 0x02)
  25127. {
  25128. Return (0x02)
  25129. }
  25130.  
  25131. If (Local0 == 0x04)
  25132. {
  25133. Return (0x03)
  25134. }
  25135.  
  25136. If (Local0 == 0x08)
  25137. {
  25138. Return (0x04)
  25139. }
  25140.  
  25141. If (Local0 == One)
  25142. {
  25143. Return (0x05)
  25144. }
  25145. }
  25146. }
  25147.  
  25148. Return (One)
  25149. }
  25150.  
  25151. Method (CTYP, 0, NotSerialized)
  25152. {
  25153. Return (0x02)
  25154. }
  25155.  
  25156. Method (ARTG, 0, NotSerialized)
  25157. {
  25158. Return (0x0365C040)
  25159. }
  25160. }
  25161. }
  25162.  
  25163. Scope (_SB.PCI0.I2C7)
  25164. {
  25165. Name (AVBL, Zero)
  25166. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  25167. {
  25168. If (Arg0 == 0x09)
  25169. {
  25170. AVBL = Arg1
  25171. }
  25172. }
  25173.  
  25174. Device (WIDR)
  25175. {
  25176. Name (_HID, "INT33FE" /* XPOWER Battery Device */) // _HID: Hardware ID
  25177. Name (_CID, "INT33FE" /* XPOWER Battery Device */) // _CID: Compatible ID
  25178. Name (_DDN, "WC PMIC Battery Device") // _DDN: DOS Device Name
  25179. Name (BCCC, 0x80)
  25180. Name (BCCE, One)
  25181. Name (OTGS, Zero)
  25182. Name (CHPR, One)
  25183. Name (FGDV, 0x0A)
  25184. Name (BCIL, 0x65)
  25185. Name (BCVF, 0x93)
  25186. Name (BCFV, 0xED)
  25187. Name (BCCH, 0x38)
  25188. Name (BCST, 0x05)
  25189. Name (BCPE, 0x74)
  25190. Name (BCCL, 0xFFFFFFFF)
  25191. Name (BCLP, 0x1004)
  25192. Name (DSVO, 0x0EA6)
  25193. Name (BTPC, Zero)
  25194. Name (AVCU, Zero)
  25195. Name (BSTP, Package (0x04)
  25196. {
  25197. Zero,
  25198. 0xFFFFFFFF,
  25199. 0xFFFFFFFF,
  25200. 0xFFFFFFFF
  25201. })
  25202. Name (_DEP, Package (0x05) // _DEP: Dependencies
  25203. {
  25204. I2C7,
  25205. PMI5,
  25206. I2C1,
  25207. GPO3,
  25208. MBID
  25209. })
  25210. Name (RBUF, ResourceTemplate ()
  25211. {
  25212. I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000186A0,
  25213. AddressingMode7Bit, "\\_SB.PCI0.I2C7",
  25214. 0x00, ResourceConsumer, , Exclusive,
  25215. )
  25216. I2cSerialBusV2 (0x0036, ControllerInitiated, 0x000186A0,
  25217. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  25218. 0x00, ResourceConsumer, , Exclusive,
  25219. )
  25220. I2cSerialBusV2 (0x0022, ControllerInitiated, 0x00061A80,
  25221. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  25222. 0x00, ResourceConsumer, , Exclusive,
  25223. )
  25224. I2cSerialBusV2 (0x0054, ControllerInitiated, 0x00061A80,
  25225. AddressingMode7Bit, "\\_SB.PCI0.I2C1",
  25226. 0x00, ResourceConsumer, , Exclusive,
  25227. )
  25228. GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
  25229. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  25230. )
  25231. { // Pin list
  25232. 0x0012
  25233. }
  25234. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  25235. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  25236. )
  25237. { // Pin list
  25238. 0x0005
  25239. }
  25240. GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
  25241. "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
  25242. )
  25243. { // Pin list
  25244. 0x0013
  25245. }
  25246. })
  25247. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  25248. {
  25249. Return (RBUF) /* \_SB_.PCI0.I2C7.WIDR.RBUF */
  25250. }
  25251.  
  25252. Method (GETM, 0, NotSerialized)
  25253. {
  25254. Return (UBCB) /* \UBCB */
  25255. }
  25256.  
  25257. Method (_STA, 0, NotSerialized) // _STA: Status
  25258. {
  25259. If (OSID == One)
  25260. {
  25261. If ((BDID == 0x09) || (BDID == 0x0A))
  25262. {
  25263. Return (0x0F)
  25264. }
  25265. }
  25266.  
  25267. Return (Zero)
  25268. }
  25269.  
  25270. OperationRegion (BMOP, 0x9E, Zero, 0x0100)
  25271. Field (BMOP, DWordAcc, NoLock, Preserve)
  25272. {
  25273. SOC, 32,
  25274. FCCP, 32,
  25275. CHST, 32,
  25276. RMCP, 32,
  25277. VOLT, 32,
  25278. BATP, 32,
  25279. SRP0, 32,
  25280. STYP, 32,
  25281. CHGC, 32,
  25282. STPC, 32,
  25283. GADC, 32,
  25284. TTEM, 32,
  25285. TTCH, 32,
  25286. CYCL, 32,
  25287. BTP, 32,
  25288. DPCU, 32,
  25289. DSCP, 32,
  25290. CHEN, 32
  25291. }
  25292.  
  25293. Name (AVBL, Zero)
  25294. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  25295. {
  25296. If (Arg0 == 0x9E)
  25297. {
  25298. AVBL = Arg1
  25299. }
  25300. }
  25301.  
  25302. Method (DPTU, 0, NotSerialized)
  25303. {
  25304. ADBG ("DPTU WIDR")
  25305. If (AVBL == One)
  25306. {
  25307. DPCU = BCCC /* \_SB_.PCI0.I2C7.WIDR.BCCC */
  25308. CHEN = BCCE /* \_SB_.PCI0.I2C7.WIDR.BCCE */
  25309. }
  25310.  
  25311. Return (One)
  25312. }
  25313.  
  25314. Method (SBTP, 0, NotSerialized)
  25315. {
  25316. ADBG ("SBTP WIDR")
  25317. If (CondRefOf (\_SB.PCI0.I2C7.WIDR, Local1))
  25318. {
  25319. Local0 = ^^PMI5.GET (One, 0x6E, 0x1E)
  25320. Local0 >>= 0x03
  25321. Local0 &= 0x03
  25322. If (Local0 != One)
  25323. {
  25324. Notify (ADP1, 0x80) // Status Change
  25325. }
  25326. }
  25327.  
  25328. If (CondRefOf (\_SB.DPTF, Local3))
  25329. {
  25330. ADBG ("SBTP NOTIFY DPTF 86")
  25331. Notify (DPTF, 0x86) // Device-Specific
  25332. Notify (TCHG, 0x80) // Status Change
  25333. }
  25334.  
  25335. Return (One)
  25336. }
  25337.  
  25338. Method (PTYP, 0, NotSerialized)
  25339. {
  25340. If (PMID == One)
  25341. {
  25342. Return (0x06)
  25343. }
  25344.  
  25345. If (PMID == 0x02)
  25346. {
  25347. Return (0x05)
  25348. }
  25349.  
  25350. If (PMID == 0x03)
  25351. {
  25352. Return (0x04)
  25353. }
  25354.  
  25355. Return (Zero)
  25356. }
  25357.  
  25358. Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
  25359. {
  25360. Return (_SB) /* \_SB_ */
  25361. }
  25362.  
  25363. Method (PSOC, 0, NotSerialized)
  25364. {
  25365. ADBG ("PSOC")
  25366. If (AVBL == One)
  25367. {
  25368. Local1 = WIDR /* \_SB_.PCI0.I2C7.WIDR */
  25369. Return (Local1)
  25370. }
  25371.  
  25372. Return (Zero)
  25373. }
  25374.  
  25375. Method (PMAX, 0, NotSerialized)
  25376. {
  25377. ADBG ("PMAX")
  25378. If (AVBL == One)
  25379. {
  25380. Local1 = FCCP /* \_SB_.PCI0.I2C7.WIDR.FCCP */
  25381. Return (Local1)
  25382. }
  25383.  
  25384. Return (Zero)
  25385. }
  25386.  
  25387. Method (VMIN, 0, NotSerialized)
  25388. {
  25389. Return (0x0DAC)
  25390. }
  25391.  
  25392. Method (APWR, 0, NotSerialized)
  25393. {
  25394. Return (0x0365C040)
  25395. }
  25396.  
  25397. Method (DSM2, 0, NotSerialized)
  25398. {
  25399. Notify (UBTC, 0x80) // Status Change
  25400. Return (0x0F)
  25401. }
  25402.  
  25403. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  25404. {
  25405. If (Arg0 == ToUUID ("aa7bcf77-263f-4e28-8e16-9cac5c610928"))
  25406. {
  25407. If (Arg2 == One)
  25408. {
  25409. Return (Zero)
  25410. }
  25411.  
  25412. If (Arg2 == 0x02)
  25413. {
  25414. Return (0x08)
  25415. }
  25416.  
  25417. If (Arg2 == 0x03)
  25418. {
  25419. Return (0xC0)
  25420. }
  25421.  
  25422. If (Arg2 == 0x04)
  25423. {
  25424. Return (0x06)
  25425. }
  25426.  
  25427. If (Arg2 == 0x05)
  25428. {
  25429. Return (0x02)
  25430. }
  25431.  
  25432. If (Arg2 == 0x06)
  25433. {
  25434. Return (0x05)
  25435. }
  25436.  
  25437. If (Arg2 == 0x07)
  25438. {
  25439. Return (Zero)
  25440. }
  25441.  
  25442. If (Arg2 == 0x08)
  25443. {
  25444. Return (0x07)
  25445. }
  25446.  
  25447. If (Arg2 == 0x09)
  25448. {
  25449. Return (0xA0)
  25450. }
  25451.  
  25452. If (Arg2 == 0x0A)
  25453. {
  25454. Return (0xD6)
  25455. }
  25456.  
  25457. Return (0xFFFFFFFF)
  25458. }
  25459. }
  25460.  
  25461. Method (PSRC, 0, NotSerialized)
  25462. {
  25463. If (AVBL == One)
  25464. {
  25465. Local0 = STYP /* \_SB_.PCI0.I2C7.WIDR.STYP */
  25466. If (Local0 == Zero)
  25467. {
  25468. Return (Zero)
  25469. }
  25470.  
  25471. If (Local0 == One)
  25472. {
  25473. Return (One)
  25474. }
  25475.  
  25476. If (Local0 == 0x02)
  25477. {
  25478. Return (0x02)
  25479. }
  25480.  
  25481. If (Local0 == 0x03)
  25482. {
  25483. Return (0x03)
  25484. }
  25485.  
  25486. If (Local0 == 0x04)
  25487. {
  25488. Return (0x04)
  25489. }
  25490.  
  25491. If (Local0 == 0x05)
  25492. {
  25493. Return (0x05)
  25494. }
  25495. }
  25496.  
  25497. Return (One)
  25498. }
  25499.  
  25500. Method (GPTG, 1, Serialized)
  25501. {
  25502. If (^^^^GPO3.AMMR == One)
  25503. {
  25504. Local0 = ^^^^GPO3.FGGP /* \_SB_.GPO3.FGGP */
  25505. }
  25506.  
  25507. ADBG ("GPO PAD BEFORE")
  25508. ADBG (Local0)
  25509. Local0 |= 0x02
  25510. ADBG ("GPO PAD AFTER")
  25511. ADBG (Local0)
  25512. If (^^^^GPO3.AMMR == One)
  25513. {
  25514. ^^^^GPO3.FGGP = Local0
  25515. }
  25516. }
  25517.  
  25518. Method (USBH, 1, Serialized)
  25519. {
  25520. If (Arg0 == One)
  25521. {
  25522. Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
  25523. Local0 |= One
  25524. ADBG (Local0)
  25525. ^^PMI5.SET (One, 0x5E, 0x07, Local0)
  25526. CDRH (Zero)
  25527. Local0 = ^^PMI5.GET (One, 0x5E, 0x17)
  25528. Local0 |= 0x40
  25529. ^^PMI5.SET (One, 0x5E, 0x17, Local0)
  25530. }
  25531. ElseIf (Arg0 == 0x02)
  25532. {
  25533. ADBG ("CDP/SDP")
  25534. Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
  25535. Local0 |= One
  25536. ^^PMI5.SET (One, 0x5E, 0x07, Local0)
  25537. CDRD (One)
  25538. }
  25539. Else
  25540. {
  25541. ADBG ("DCP/no cable is connected")
  25542. Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
  25543. Local0 &= 0xFE
  25544. ^^PMI5.SET (One, 0x5E, 0x07, Local0)
  25545. CDRD (Zero)
  25546. }
  25547.  
  25548. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25549. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  25550. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  25551. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  25552. ADBG ("B4 Set")
  25553. ADBG (Local0)
  25554. Local0 &= 0xCF
  25555. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25556. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  25557. ^^PMI5.SET (One, 0x5E, 0x27, Local0)
  25558. ^^PMI5.SET (One, 0x5E, 0x24, One)
  25559. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25560. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  25561. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  25562. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  25563. ADBG ("After Set")
  25564. ADBG ("REG05")
  25565. ADBG (Local0)
  25566. ADBG ("USB Host")
  25567. }
  25568.  
  25569. Method (BATD, 0, NotSerialized)
  25570. {
  25571. ADBG ("BATD")
  25572. If (AVBL == One)
  25573. {
  25574. ADBG ("BATD")
  25575. Local0 = CHST /* \_SB_.PCI0.I2C7.WIDR.CHST */
  25576. Local0 &= 0x0F
  25577. If (Local0 == 0x02)
  25578. {
  25579. Local1 = 0x02
  25580. }
  25581.  
  25582. If (Local0 == One)
  25583. {
  25584. Local1 = One
  25585. }
  25586.  
  25587. If (Local0 == 0x08)
  25588. {
  25589. Local1 = Zero
  25590. }
  25591.  
  25592. BSTP [Zero] = Local1
  25593. BSTP [One] = CHGC /* \_SB_.PCI0.I2C7.WIDR.CHGC */
  25594. BSTP [0x02] = RMCP /* \_SB_.PCI0.I2C7.WIDR.RMCP */
  25595. BSTP [0x03] = VOLT /* \_SB_.PCI0.I2C7.WIDR.VOLT */
  25596. DPCU = BCCC /* \_SB_.PCI0.I2C7.WIDR.BCCC */
  25597. }
  25598.  
  25599. Return (BSTP) /* \_SB_.PCI0.I2C7.WIDR.BSTP */
  25600. }
  25601. }
  25602.  
  25603. Device (BATC)
  25604. {
  25605. Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
  25606. Name (_UID, One) // _UID: Unique ID
  25607. Name (BCCE, One)
  25608. Name (OTGS, Zero)
  25609. Name (HSMD, Zero)
  25610. Name (CHPR, One)
  25611. Name (FGDV, 0x0A)
  25612. Name (RECT, Zero)
  25613. Name (BCCL, 0xFFFFFFFF)
  25614. Name (BCLP, 0x1004)
  25615. Name (DSCP, 0x1023)
  25616. Name (DSVO, 0x0EA6)
  25617. Name (BTPC, Zero)
  25618. Name (AVCU, Zero)
  25619. Name (BQCC, 0x50)
  25620. Name (TSHV, Zero)
  25621. Name (BCCC, 0x50)
  25622. Name (_DEP, Package (0x03) // _DEP: Dependencies
  25623. {
  25624. I2C1,
  25625. I2C7,
  25626. PMI5
  25627. })
  25628. Name (BUFF, Buffer (0x03)
  25629. {
  25630. 0x00, 0x01, 0x00 /* ... */
  25631. })
  25632. CreateByteField (BUFF, Zero, BYAT)
  25633. CreateByteField (BUFF, 0x02, DATA)
  25634. Name (BUF1, Buffer (0x06)
  25635. {
  25636. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ...... */
  25637. })
  25638. CreateByteField (BUF1, Zero, BSTA)
  25639. CreateByteField (BUF1, One, BLEN)
  25640. CreateDWordField (BUF1, 0x02, DAT1)
  25641. Name (BUF2, Buffer (0x04)
  25642. {
  25643. 0x00, 0x00, 0x00, 0x00 /* .... */
  25644. })
  25645. CreateByteField (BUF2, Zero, BSTS)
  25646. CreateByteField (BUF2, One, SLEN)
  25647. CreateWordField (BUF2, 0x02, WRD1)
  25648. Name (INBU, Buffer (0x08)
  25649. {
  25650. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
  25651. })
  25652. CreateByteField (INBU, Zero, INST)
  25653. CreateByteField (INBU, One, INLN)
  25654. CreateByteField (INBU, 0x02, INT0)
  25655. CreateByteField (INBU, 0x03, INT1)
  25656. CreateByteField (INBU, 0x04, INT2)
  25657. CreateByteField (INBU, 0x05, INT3)
  25658. CreateByteField (INBU, 0x06, INT4)
  25659. CreateByteField (INBU, 0x07, INT5)
  25660. Name (BIXP, Package (0x14)
  25661. {
  25662. Zero,
  25663. One,
  25664. 0xFFFFFFFF,
  25665. 0xFFFFFFFF,
  25666. One,
  25667. 0xFFFFFFFF,
  25668. 0x0A,
  25669. 0x04,
  25670. Zero,
  25671. 0x00017318,
  25672. 0xFFFFFFFF,
  25673. 0xFFFFFFFF,
  25674. 0x88B8,
  25675. 0x61A8,
  25676. One,
  25677. One,
  25678. "SR Real Battery",
  25679. "123456789",
  25680. "LION",
  25681. "Intel SR 1"
  25682. })
  25683. Name (BSTP, Package (0x04)
  25684. {
  25685. Zero,
  25686. 0xFFFFFFFF,
  25687. 0xFFFFFFFF,
  25688. 0xFFFFFFFF
  25689. })
  25690. Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
  25691. {
  25692. If (^^^I2C1.AVBL == One)
  25693. {
  25694. BUF2 = ^^^I2C1.FG10 /* \_SB_.PCI0.I2C1.FG10 */
  25695. If (BSTS != One)
  25696. {
  25697. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  25698. Local2 = (Local1 * 0x05)
  25699. Divide (Local2, FGDV, Local0, Local1)
  25700. BIXP [0x03] = Local1
  25701. }
  25702.  
  25703. BUF2 = ^^^I2C1.FG17 /* \_SB_.PCI0.I2C1.FG17 */
  25704. If (BSTS != One)
  25705. {
  25706. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  25707. Divide (Local1, 0x64, Local0, Local2)
  25708. BIXP [0x08] = Local2
  25709. }
  25710. }
  25711.  
  25712. BIXP [0x02] = DSCP /* \_SB_.PCI0.I2C7.BATC.DSCP */
  25713. BIXP [0x05] = DSVO /* \_SB_.PCI0.I2C7.BATC.DSVO */
  25714. Divide (DSCP, 0x0A, Local0, Local1)
  25715. BIXP [0x06] = Local1
  25716. Divide (DSCP, 0x14, Local0, Local1)
  25717. BIXP [0x07] = Local1
  25718. Return (BIXP) /* \_SB_.PCI0.I2C7.BATC.BIXP */
  25719. }
  25720.  
  25721. Method (_BST, 0, NotSerialized) // _BST: Battery Status
  25722. {
  25723. Name (RGND, One)
  25724. If (^^PMI5.AVBL == One)
  25725. {
  25726. Local0 = ^^PMI5.GET (One, 0x6E, 0x1E)
  25727. Local0 >>= 0x03
  25728. Local0 &= 0x03
  25729. If (Local0 != One)
  25730. {
  25731. RGND = Zero
  25732. }
  25733.  
  25734. If (RGND == Zero)
  25735. {
  25736. If (TSHV == Zero)
  25737. {
  25738. TSHV = One
  25739. ^^PMI5.SET (One, 0x5E, 0x20, 0x02)
  25740. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25741. ^^PMI5.SET (One, 0x5E, 0x26, One)
  25742. ^^PMI5.SET (One, 0x5E, 0x27, 0x19)
  25743. ^^PMI5.SET (One, 0x5E, 0x24, One)
  25744. ADBG ("Min Sys vol")
  25745. }
  25746.  
  25747. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25748. ^^PMI5.SET (One, 0x5E, 0x26, 0x04)
  25749. ^^PMI5.SET (One, 0x5E, 0x27, 0xD6)
  25750. ^^PMI5.SET (One, 0x5E, 0x24, One)
  25751. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25752. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  25753. ^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
  25754. ^^PMI5.SET (One, 0x5E, 0x24, One)
  25755. Local0 = ^^PMI5.GET (One, 0x5E, 0x16)
  25756. Local2 = (Local0 | 0xA8)
  25757. ^^PMI5.SET (One, 0x5E, 0x16, Local2)
  25758. Local0 = ^^PMI5.GET (One, 0x5E, 0x16)
  25759. ADBG ("WC16")
  25760. ADBG (Local0)
  25761. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25762. ^^PMI5.SET (One, 0x5E, 0x26, 0x09)
  25763. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  25764. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  25765. If (Local0 != Zero)
  25766. {
  25767. ADBG ("FAULT OCCURED")
  25768. ADBG (Local0)
  25769. Local0 = PSRC ()
  25770. }
  25771.  
  25772. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25773. ^^PMI5.SET (One, 0x5E, 0x26, One)
  25774. ^^PMI5.SET (One, 0x5E, 0x27, 0x1B)
  25775. ^^PMI5.SET (One, 0x5E, 0x24, One)
  25776. }
  25777.  
  25778. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25779. ^^PMI5.SET (One, 0x5E, 0x26, One)
  25780. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  25781. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  25782. ADBG ("CH REG01")
  25783. ADBG (Local0)
  25784. If (RGND == Zero)
  25785. {
  25786. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25787. ^^PMI5.SET (One, 0x5E, 0x26, 0x02)
  25788. ^^PMI5.SET (One, 0x5E, 0x27, 0x42)
  25789. ^^PMI5.SET (One, 0x5E, 0x24, One)
  25790. }
  25791.  
  25792. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25793. ^^PMI5.SET (One, 0x5E, 0x26, 0x09)
  25794. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  25795. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  25796. ADBG ("REG09")
  25797. ADBG (Local0)
  25798. CHPR = Zero
  25799. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25800. ^^PMI5.SET (One, 0x5E, 0x26, 0x08)
  25801. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  25802. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  25803. Local0 >>= 0x04
  25804. Local0 &= 0x03
  25805. If ((Local0 == One) || (Local0 == 0x02))
  25806. {
  25807. Local1 = 0x02
  25808. }
  25809.  
  25810. If (Local0 == Zero)
  25811. {
  25812. Local1 = One
  25813. }
  25814.  
  25815. If (Local0 == 0x03)
  25816. {
  25817. Local1 = Zero
  25818. }
  25819.  
  25820. BSTP [Zero] = Local1
  25821. BUF2 = ^^^I2C1.FG0A /* \_SB_.PCI0.I2C1.FG0A */
  25822. If (BSTS != One)
  25823. {
  25824. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  25825. If (Local1 & 0x8000)
  25826. {
  25827. Local1 = (0xFFFF - Local1)
  25828. }
  25829.  
  25830. Divide (Local1, FGDV, Local0, Local2)
  25831. Local1 = (Local2 * 0x9C)
  25832. Divide (Local1, 0x64, Local0, Local2)
  25833. BSTP [One] = Local2
  25834. }
  25835.  
  25836. BUF2 = ^^^I2C1.FG05 /* \_SB_.PCI0.I2C1.FG05 */
  25837. If (BSTS != One)
  25838. {
  25839. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  25840. Local2 = (Local1 * 0x05)
  25841. Divide (Local2, FGDV, Local0, Local1)
  25842. BSTP [0x02] = Local1
  25843. }
  25844.  
  25845. BUF2 = ^^^I2C1.FG09 /* \_SB_.PCI0.I2C1.FG09 */
  25846. If (BSTS != One)
  25847. {
  25848. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  25849. Local2 = (Local1 >> 0x03)
  25850. Local1 = (Local2 * 0x0271)
  25851. Divide (Local1, 0x03E8, Local0, Local2)
  25852. BSTP [0x03] = Local2
  25853. }
  25854.  
  25855. BUF2 = ^^^I2C1.FG1D /* \_SB_.PCI0.I2C1.FG1D */
  25856. If (BSTS != One)
  25857. {
  25858. Local1 = (WRD1 & Zero)
  25859. Local2 = (Local1 | 0x0104)
  25860. WRD1 = Local2
  25861. ^^^I2C1.FG1D = BUF2 /* \_SB_.PCI0.I2C7.BATC.BUF2 */
  25862. }
  25863.  
  25864. Local2 = 0x18
  25865. Local1 = (Local2 << 0x08)
  25866. WRD1 = Local1
  25867. ^^^I2C1.THRM = BUF2 /* \_SB_.PCI0.I2C7.BATC.BUF2 */
  25868. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25869. ^^PMI5.SET (One, 0x5E, 0x26, 0x02)
  25870. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  25871. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  25872. Local1 = BQCC /* \_SB_.PCI0.I2C7.BATC.BQCC */
  25873. Local3 = Local1
  25874. Local2 = (Local0 & 0xFC)
  25875. Local3 &= 0xFC
  25876. If (Local2 != Local3)
  25877. {
  25878. Local2 = (Local0 & 0x03)
  25879. Local1 &= 0xFC
  25880. Local0 = (Local2 | Local1)
  25881. }
  25882.  
  25883. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25884. ^^PMI5.SET (One, 0x5E, 0x26, One)
  25885. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  25886. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  25887. Local1 = (Local0 & 0xCF)
  25888. If (BCCE == One)
  25889. {
  25890. Local0 = (Local1 | 0x10)
  25891. If (RGND == Zero)
  25892. {
  25893. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25894. ^^PMI5.SET (One, 0x5E, 0x26, One)
  25895. ^^PMI5.SET (One, 0x5E, 0x27, Local0)
  25896. ^^PMI5.SET (One, 0x5E, 0x24, One)
  25897. }
  25898. }
  25899. ElseIf (RGND == Zero)
  25900. {
  25901. Local0 = (Local1 | Zero)
  25902. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25903. ^^PMI5.SET (One, 0x5E, 0x26, One)
  25904. ^^PMI5.SET (One, 0x5E, 0x27, Local0)
  25905. ^^PMI5.SET (One, 0x5E, 0x24, One)
  25906. }
  25907. }
  25908.  
  25909. Return (BSTP) /* \_SB_.PCI0.I2C7.BATC.BSTP */
  25910. }
  25911.  
  25912. Method (INTC, 0, NotSerialized)
  25913. {
  25914. ADBG ("INTC")
  25915. Name (RGND, One)
  25916. Local0 = ^^PMI5.GET (One, 0x6E, 0x1E)
  25917. Local0 >>= 0x03
  25918. Local0 &= 0x03
  25919. If (Local0 != One)
  25920. {
  25921. RGND = Zero
  25922. }
  25923.  
  25924. If (RGND == Zero)
  25925. {
  25926. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25927. ^^PMI5.SET (One, 0x5E, 0x26, 0x09)
  25928. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  25929. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  25930. If (Local0 != Zero)
  25931. {
  25932. ADBG ("FAULT OCCURED")
  25933. ADBG (Local0)
  25934. }
  25935.  
  25936. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25937. ^^PMI5.SET (One, 0x5E, 0x26, 0x04)
  25938. ^^PMI5.SET (One, 0x5E, 0x27, 0xD6)
  25939. ^^PMI5.SET (One, 0x5E, 0x24, One)
  25940. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25941. ^^PMI5.SET (One, 0x5E, 0x26, One)
  25942. ^^PMI5.SET (One, 0x5E, 0x27, 0x19)
  25943. ^^PMI5.SET (One, 0x5E, 0x24, One)
  25944. }
  25945.  
  25946. Local0 = PSRC ()
  25947. If (((Local0 == One) || (Local0 == 0x02)) || ((Local0 ==
  25948. 0x03) || (Local0 == 0x04)))
  25949. {
  25950. ^^PMI5.ACDC = One
  25951. }
  25952. Else
  25953. {
  25954. ^^PMI5.ACDC = Zero
  25955. }
  25956.  
  25957. If (Local0 == One)
  25958. {
  25959. HSMD = One
  25960. }
  25961. ElseIf (Local0 == 0x02)
  25962. {
  25963. HSMD = Zero
  25964. }
  25965. ElseIf (Local0 == 0x03)
  25966. {
  25967. HSMD = Zero
  25968. }
  25969. ElseIf (Local0 == 0x04)
  25970. {
  25971. HSMD = Zero
  25972. }
  25973. ElseIf (Local0 == 0x05)
  25974. {
  25975. HSMD = Zero
  25976. }
  25977. ElseIf (Local0 == Zero)
  25978. {
  25979. CHPR = One
  25980. HSMD = Zero
  25981. }
  25982.  
  25983. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  25984. ^^PMI5.SET (One, 0x5E, 0x26, 0x08)
  25985. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  25986. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  25987. Local1 = (Local0 & 0xC0)
  25988. If (Local1 == 0xC0)
  25989. {
  25990. If (OTGS != One)
  25991. {
  25992. OTGS = One
  25993. }
  25994. }
  25995. ElseIf (OTGS != Zero)
  25996. {
  25997. OTGS = Zero
  25998. }
  25999.  
  26000. If (HSMD == Zero)
  26001. {
  26002. Local0 = ^^PMI5.GET (One, 0x5E, 0x29)
  26003. Local1 = (Local0 >> 0x02)
  26004. Local1 &= 0x0F
  26005. If (Local1 == 0x02)
  26006. {
  26007. ADBG ("DCP Detected")
  26008. CDRD (Zero)
  26009. }
  26010. Else
  26011. {
  26012. ADBG ("None DCP Charger")
  26013. Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
  26014. Local0 |= One
  26015. ^^PMI5.SET (One, 0x5E, 0x07, Local0)
  26016. CDRD (One)
  26017. }
  26018. }
  26019. Else
  26020. {
  26021. Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
  26022. Local0 &= 0xFE
  26023. ^^PMI5.SET (One, 0x5E, 0x07, Local0)
  26024. ADBG ("Host Mode")
  26025. ADBG (Local0)
  26026. Local0 = ^^PMI5.GET (One, 0x6E, 0x1E)
  26027. Local0 >>= 0x03
  26028. Local0 &= 0x03
  26029. If (Local0 == Zero)
  26030. {
  26031. Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
  26032. Local0 |= One
  26033. ^^PMI5.SET (One, 0x5E, 0x07, Local0)
  26034. Local0 = ^^PMI5.GET (One, 0x5E, 0x17)
  26035. Local0 |= 0x40
  26036. ^^PMI5.SET (One, 0x5E, 0x17, Local0)
  26037. CDRH (One)
  26038. }
  26039. Else
  26040. {
  26041. CDRH (Zero)
  26042. }
  26043. }
  26044.  
  26045. If (CHPR == One)
  26046. {
  26047. Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
  26048. Local0 &= 0xFE
  26049. ^^PMI5.SET (One, 0x5E, 0x07, Local0)
  26050. If (DSFG == One)
  26051. {
  26052. CDRH (Zero)
  26053. }
  26054. Else
  26055. {
  26056. CDRD (Zero)
  26057. }
  26058.  
  26059. HSMD = One
  26060. ^^PMI5.SET (One, 0x5E, 0x1F, 0x18)
  26061. Return (One)
  26062. }
  26063.  
  26064. ^^PMI5.SET (One, 0x5E, 0x1F, 0x1B)
  26065. Return (One)
  26066. }
  26067.  
  26068. Method (INTF, 0, NotSerialized)
  26069. {
  26070. ADBG ("INTF")
  26071. BUF2 = ^^^I2C1.FG00 /* \_SB_.PCI0.I2C1.FG00 */
  26072. If (BSTS != One)
  26073. {
  26074. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  26075. ADBG ("FG00")
  26076. ADBG (Local1)
  26077. }
  26078.  
  26079. Return (One)
  26080. }
  26081.  
  26082. Method (CHCU, 1, NotSerialized)
  26083. {
  26084. Local0 = Arg0
  26085. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26086. ^^PMI5.SET (One, 0x5E, 0x26, Zero)
  26087. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  26088. Local1 = ^^PMI5.GET (One, 0x5E, 0x28)
  26089. Local2 = (Local0 & 0x07)
  26090. Local1 &= 0x07
  26091. If (Local1 != Local2)
  26092. {
  26093. Local2 = (Local0 & 0x07)
  26094. Local1 = (DATA & 0xF8)
  26095. Local0 = (Local1 | Local2)
  26096. }
  26097. }
  26098.  
  26099. Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
  26100. {
  26101. BTPC = Arg0
  26102. If (^^^I2C1.AVBL == One)
  26103. {
  26104. ADBG ("BTP")
  26105. DAT1 = Arg0
  26106. BLEN = 0x04
  26107. BUF2 = ^^^I2C1.FG2B /* \_SB_.PCI0.I2C1.FG2B */
  26108. If (BSTS != One)
  26109. {
  26110. Local1 = (WRD1 & 0xFFFC)
  26111. WRD1 = Local1
  26112. ^^^I2C1.FG2B = BUF2 /* \_SB_.PCI0.I2C7.BATC.BUF2 */
  26113. }
  26114.  
  26115. BUF2 = ^^^I2C1.FG1D /* \_SB_.PCI0.I2C1.FG1D */
  26116. If (BSTS != One)
  26117. {
  26118. Local1 = (WRD1 & 0xFFFB)
  26119. Local2 = (Local1 | 0x04)
  26120. WRD1 = Local2
  26121. ^^^I2C1.FG1D = BUF2 /* \_SB_.PCI0.I2C7.BATC.BUF2 */
  26122. }
  26123.  
  26124. BUF2 = ^^^I2C1.SOCR /* \_SB_.PCI0.I2C1.SOCR */
  26125. If (BSTS != One)
  26126. {
  26127. Local0 = (WRD1 >> 0x08)
  26128. Local1 = (Local0 & 0xFF)
  26129. }
  26130.  
  26131. Local2 = (Local1 + One)
  26132. Local3 = (Local1 - One)
  26133. Local1 = (Local2 << 0x08)
  26134. Local2 = (Local1 | Local3)
  26135. WRD1 = Local2
  26136. ^^^I2C1.FG03 = BUF2 /* \_SB_.PCI0.I2C7.BATC.BUF2 */
  26137. }
  26138. }
  26139.  
  26140. Method (_BTM, 1, NotSerialized) // _BTM: Battery Time
  26141. {
  26142. If (Arg0 > 0x7530)
  26143. {
  26144. Return (Zero)
  26145. }
  26146.  
  26147. If (^^^I2C1.AVBL == One)
  26148. {
  26149. BUF2 = ^^^I2C1.FG11 /* \_SB_.PCI0.I2C1.FG11 */
  26150. If (BSTS != One)
  26151. {
  26152. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  26153. If (Arg0 == Zero)
  26154. {
  26155. Local2 = (Local1 >> 0x05)
  26156. Local1 = (Local2 * 0x03)
  26157. Local2 = (Local1 * 0x3C)
  26158. Return (Local2)
  26159. }
  26160.  
  26161. BUF2 = ^^^I2C1.FG05 /* \_SB_.PCI0.I2C1.FG05 */
  26162. If (BSTS != One)
  26163. {
  26164. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  26165. Local2 = (Local1 * 0x05)
  26166. Divide (Local2, FGDV, Local0, Local1)
  26167. Local0 = (Local1 * 0x0E10)
  26168. Divide (Local0, Arg0, Local1, Local2)
  26169. Return (Local2)
  26170. }
  26171. }
  26172. }
  26173.  
  26174. Return (0xFFFFFFFF)
  26175. }
  26176.  
  26177. Method (_BCT, 1, NotSerialized) // _BCT: Battery Charge Time
  26178. {
  26179. If ((Arg0 > 0x64) || (Arg0 < One))
  26180. {
  26181. Return (Zero)
  26182. }
  26183.  
  26184. If (^^^I2C1.AVBL == One)
  26185. {
  26186. BUF2 = ^^^I2C1.FG05 /* \_SB_.PCI0.I2C1.FG05 */
  26187. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  26188. If (BSTS != One)
  26189. {
  26190. Local2 = (Local1 * 0x05)
  26191. Divide (Local2, FGDV, Local0, Local1)
  26192. If (Arg0 < Local1)
  26193. {
  26194. Return (Zero)
  26195. }
  26196.  
  26197. RECT = Local1
  26198. }
  26199.  
  26200. BUF2 = ^^^I2C1.FG10 /* \_SB_.PCI0.I2C1.FG10 */
  26201. If (BSTS != One)
  26202. {
  26203. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  26204. Local2 = (Local1 * 0x05)
  26205. Divide (Local2, FGDV, Local0, Local1)
  26206. BCLP = Local1
  26207. }
  26208.  
  26209. BUF2 = ^^^I2C1.FG0A /* \_SB_.PCI0.I2C1.FG0A */
  26210. If (BSTS != One)
  26211. {
  26212. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  26213. If (Local1 & 0x8000)
  26214. {
  26215. Return (Zero)
  26216. }
  26217. }
  26218.  
  26219. Local0 = (BCLP * Arg0)
  26220. Local0 -= RECT /* \_SB_.PCI0.I2C7.BATC.RECT */
  26221. Local0 *= 0x0E10
  26222. Divide (Local0, Local1, Local2, Local3)
  26223. Return (Local3)
  26224. }
  26225.  
  26226. Return (0xFFFFFFFF)
  26227. }
  26228.  
  26229. Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
  26230. {
  26231. If (Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */)
  26232. {
  26233. If (Arg2 == 0x02)
  26234. {
  26235. If (Arg1 == Zero)
  26236. {
  26237. Return (Buffer (One)
  26238. {
  26239. 0x00 /* . */
  26240. })
  26241. }
  26242. }
  26243. }
  26244.  
  26245. Return (Zero)
  26246. }
  26247.  
  26248. Method (_STA, 0, NotSerialized) // _STA: Status
  26249. {
  26250. If (BDID != 0x08)
  26251. {
  26252. Return (Zero)
  26253. }
  26254.  
  26255. If (OSID != One)
  26256. {
  26257. Return (Zero)
  26258. }
  26259.  
  26260. If (^^^I2C1.AVBL == One)
  26261. {
  26262. BUF2 = ^^^I2C1.FG05 /* \_SB_.PCI0.I2C1.FG05 */
  26263. If (BSTS != Zero)
  26264. {
  26265. Return (Zero)
  26266. }
  26267. }
  26268.  
  26269. ADBG ("TI CHARGER")
  26270. Return (0x1F)
  26271. }
  26272.  
  26273. Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
  26274. {
  26275. Return (_SB) /* \_SB_ */
  26276. }
  26277.  
  26278. Method (PSOC, 0, NotSerialized)
  26279. {
  26280. If (^^^I2C1.AVBL == One)
  26281. {
  26282. BUF2 = ^^^I2C1.SOCR /* \_SB_.PCI0.I2C1.SOCR */
  26283. If (BSTS != One)
  26284. {
  26285. Local0 = (WRD1 >> 0x08)
  26286. Local1 = (Local0 & 0xFF)
  26287. }
  26288.  
  26289. Return (Local1)
  26290. }
  26291.  
  26292. Return (Zero)
  26293. }
  26294.  
  26295. Method (PMAX, 0, NotSerialized)
  26296. {
  26297. If (^^^I2C1.AVBL == One)
  26298. {
  26299. BUF2 = ^^^I2C1.MXCU /* \_SB_.PCI0.I2C1.MXCU */
  26300. If (BSTS != One)
  26301. {
  26302. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  26303. If (Local1 & 0x8000)
  26304. {
  26305. Local0 = (Local1 >> 0x08)
  26306. Local1 = (Local0 & 0xFF)
  26307. Local0 = (0xFFFF - Local1)
  26308. Local1 = (Local0 * 0x04)
  26309. }
  26310. Else
  26311. {
  26312. Local0 = (Local1 >> 0x08)
  26313. Local2 = (Local0 & 0xFF)
  26314. Local1 = (Local2 * 0x04)
  26315. }
  26316.  
  26317. Divide (Local1, 0x0A, Local0, Local2)
  26318. Divide (Local2, FGDV, Local0, Local1)
  26319. Local2 = (Local1 * 0x03E8)
  26320. Local1 = (DSVO * Local2)
  26321. Return (Local1)
  26322. }
  26323. }
  26324.  
  26325. Return (Zero)
  26326. }
  26327.  
  26328. Method (VMIN, 0, NotSerialized)
  26329. {
  26330. Return (0x0DAC)
  26331. }
  26332.  
  26333. Method (APWR, 0, NotSerialized)
  26334. {
  26335. Return (0x0365C040)
  26336. }
  26337.  
  26338. Method (NPWR, 0, NotSerialized)
  26339. {
  26340. Local3 = APWR ()
  26341. If (^^^I2C1.AVBL == One)
  26342. {
  26343. BUF2 = ^^^I2C1.FG0A /* \_SB_.PCI0.I2C1.FG0A */
  26344. If (BSTS != One)
  26345. {
  26346. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  26347. If (Local1 & 0x8000)
  26348. {
  26349. Local1 = (0xFFFF - Local1)
  26350. }
  26351.  
  26352. Divide (Local1, FGDV, Local0, Local2)
  26353. Local1 = (Local2 * 0x9C)
  26354. Divide (Local1, 0x64, Local0, Local2)
  26355. AVCU = Local2
  26356. BUF2 = ^^^I2C1.FG09 /* \_SB_.PCI0.I2C1.FG09 */
  26357. If (BSTS != One)
  26358. {
  26359. Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
  26360. Local2 = (Local1 >> 0x03)
  26361. Local1 = (Local2 * 0x0271)
  26362. Divide (Local1, 0x03E8, Local0, Local2)
  26363. }
  26364.  
  26365. Local1 = (Local2 * AVCU) /* \_SB_.PCI0.I2C7.BATC.AVCU */
  26366. Local0 = (Local3 - Local1)
  26367. Return (Local0)
  26368. }
  26369. }
  26370.  
  26371. Return (Local0)
  26372. }
  26373.  
  26374. Method (PSRC, 0, Serialized)
  26375. {
  26376. Name (RGND, One)
  26377. If (^^PMI5.AVBL == One)
  26378. {
  26379. Local7 = ^^PMI5.GET (One, 0x6E, 0x1E)
  26380. Local7 >>= 0x03
  26381. Local7 &= 0x03
  26382. If (Local7 != One)
  26383. {
  26384. RGND = Zero
  26385. }
  26386.  
  26387. Local0 = ^^PMI5.GET (One, 0x5E, 0x29)
  26388. ADBG (Local0)
  26389. Local1 = (Local0 >> 0x02)
  26390. Local1 &= 0x0F
  26391. If ((Local1 == Zero) || (RGND != Zero))
  26392. {
  26393. ADBG ("NONE")
  26394. Return (Zero)
  26395. }
  26396. ElseIf (Local1 == 0x04)
  26397. {
  26398. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26399. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  26400. ^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
  26401. ^^PMI5.SET (One, 0x5E, 0x24, One)
  26402. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26403. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  26404. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  26405. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  26406. ADBG ("REG05")
  26407. ADBG (Local0)
  26408. If (RGND == Zero)
  26409. {
  26410. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26411. ^^PMI5.SET (One, 0x5E, 0x26, Zero)
  26412. ^^PMI5.SET (One, 0x5E, 0x27, 0x3D)
  26413. ^^PMI5.SET (One, 0x5E, 0x24, One)
  26414. }
  26415.  
  26416. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26417. ^^PMI5.SET (One, 0x5E, 0x26, Zero)
  26418. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  26419. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  26420. ADBG ("ACA")
  26421. ADBG (Local0)
  26422. Return (One)
  26423. }
  26424. ElseIf (Local1 == One)
  26425. {
  26426. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26427. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  26428. ^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
  26429. ^^PMI5.SET (One, 0x5E, 0x24, One)
  26430. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26431. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  26432. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  26433. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  26434. ADBG ("REG05")
  26435. ADBG (Local0)
  26436. If (RGND == Zero)
  26437. {
  26438. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26439. ^^PMI5.SET (One, 0x5E, 0x26, Zero)
  26440. ^^PMI5.SET (One, 0x5E, 0x27, 0x3A)
  26441. ^^PMI5.SET (One, 0x5E, 0x24, One)
  26442. }
  26443.  
  26444. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26445. ^^PMI5.SET (One, 0x5E, 0x26, Zero)
  26446. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  26447. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  26448. ADBG ("SDP")
  26449. ADBG (Local0)
  26450. Return (0x02)
  26451. }
  26452. ElseIf (Local1 == 0x02)
  26453. {
  26454. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26455. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  26456. ^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
  26457. ^^PMI5.SET (One, 0x5E, 0x24, One)
  26458. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26459. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  26460. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  26461. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  26462. ADBG ("REG05")
  26463. ADBG (Local0)
  26464. If (RGND == Zero)
  26465. {
  26466. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26467. ^^PMI5.SET (One, 0x5E, 0x26, Zero)
  26468. ^^PMI5.SET (One, 0x5E, 0x27, 0x3D)
  26469. ^^PMI5.SET (One, 0x5E, 0x24, One)
  26470. }
  26471.  
  26472. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26473. ^^PMI5.SET (One, 0x5E, 0x26, Zero)
  26474. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  26475. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  26476. ADBG ("DCP")
  26477. ADBG (Local0)
  26478. Return (0x03)
  26479. }
  26480. ElseIf (Local1 == 0x03)
  26481. {
  26482. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26483. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  26484. ^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
  26485. ^^PMI5.SET (One, 0x5E, 0x24, One)
  26486. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26487. ^^PMI5.SET (One, 0x5E, 0x26, 0x05)
  26488. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  26489. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  26490. ADBG ("REG05")
  26491. ADBG (Local0)
  26492. If (RGND == Zero)
  26493. {
  26494. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26495. ^^PMI5.SET (One, 0x5E, 0x26, Zero)
  26496. ^^PMI5.SET (One, 0x5E, 0x27, 0x3D)
  26497. ^^PMI5.SET (One, 0x5E, 0x24, One)
  26498. }
  26499.  
  26500. ^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
  26501. ^^PMI5.SET (One, 0x5E, 0x26, Zero)
  26502. ^^PMI5.SET (One, 0x5E, 0x24, 0x02)
  26503. Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
  26504. ADBG ("CDP")
  26505. ADBG (Local0)
  26506. Return (0x04)
  26507. }
  26508. ElseIf (Local1 == 0x08)
  26509. {
  26510. ADBG ("OTG")
  26511. Return (0x05)
  26512. }
  26513. Else
  26514. {
  26515. Return (Zero)
  26516. }
  26517. }
  26518.  
  26519. Return (One)
  26520. }
  26521. }
  26522. }
  26523.  
  26524. Scope (_SB)
  26525. {
  26526. Device (ADP1)
  26527. {
  26528. Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
  26529. Method (_PSR, 0, Serialized) // _PSR: Power Source
  26530. {
  26531. ADBG ("ADP1 _PSR")
  26532. If (BDID == 0x08)
  26533. {
  26534. ADBG ("ADP1 _PSR FFD")
  26535. If (CondRefOf (\_SB.PCI0.I2C7.BATC, Local1))
  26536. {
  26537. Local0 = ^^PCI0.I2C7.BATC.PSRC ()
  26538. If (Local0 == Zero)
  26539. {
  26540. ADBG ("DC")
  26541. Return (Zero)
  26542. }
  26543. Else
  26544. {
  26545. ADBG ("AC")
  26546. Return (One)
  26547. }
  26548. }
  26549. }
  26550.  
  26551. If ((BDID == 0x09) || (BDID == 0x0A))
  26552. {
  26553. ADBG ("ADP1 _PSR FFD HR")
  26554. If (CondRefOf (\_SB.PCI0.I2C7.WIDR, Local1))
  26555. {
  26556. Local0 = ^^PCI0.I2C7.WIDR.PSRC ()
  26557. If (Local0 == Zero)
  26558. {
  26559. ADBG ("DC")
  26560. Return (Zero)
  26561. }
  26562. Else
  26563. {
  26564. ADBG ("AC")
  26565. Return (One)
  26566. }
  26567. }
  26568. }
  26569.  
  26570. If (BDID == One)
  26571. {
  26572. ADBG ("ADP1 _PSR CHTCR")
  26573. If (PMID == 0x02)
  26574. {
  26575. If (CondRefOf (\_SB.PCI0.I2C7.BMDR, Local1))
  26576. {
  26577. Local0 = ^^PCI0.I2C7.BMDR.PSRC ()
  26578. If (Local0 == Zero)
  26579. {
  26580. ADBG ("DC")
  26581. Return (Zero)
  26582. }
  26583. Else
  26584. {
  26585. ADBG ("AC")
  26586. Return (One)
  26587. }
  26588. }
  26589. }
  26590. ElseIf (CondRefOf (\_SB.PCI0.I2C3.TIDR, Local1))
  26591. {
  26592. Local0 = ^^PCI0.I2C3.TIDR.PSRC ()
  26593. If (Local0 == Zero)
  26594. {
  26595. ADBG ("DC")
  26596. Return (Zero)
  26597. }
  26598. Else
  26599. {
  26600. ADBG ("AC")
  26601. Return (One)
  26602. }
  26603. }
  26604. }
  26605. ElseIf (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
  26606. {
  26607. Local0 = ^^PCI0.I2C1.BATC.PSRC ()
  26608. If (Local0 == Zero)
  26609. {
  26610. Return (Zero)
  26611. }
  26612. Else
  26613. {
  26614. Return (One)
  26615. }
  26616. }
  26617.  
  26618. ADBG ("_PSR DEF")
  26619. Return (One)
  26620. }
  26621.  
  26622. Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
  26623. {
  26624. Return (_SB) /* \_SB_ */
  26625. }
  26626.  
  26627. Method (_STA, 0, NotSerialized) // _STA: Status
  26628. {
  26629. If (OSID != One)
  26630. {
  26631. Return (Zero)
  26632. }
  26633.  
  26634. Return (0x0F)
  26635. }
  26636. }
  26637. }
  26638.  
  26639. Scope (_SB)
  26640. {
  26641. Device (MDM3)
  26642. {
  26643. Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
  26644. Name (_CID, "MCD0001") // _CID: Compatible ID
  26645. Name (_UID, One) // _UID: Unique ID
  26646. Name (MDMN, "XMM_7360")
  26647. Name (CONF, "XMM7360_CONF_2")
  26648. Method (_STA, 0, NotSerialized) // _STA: Status
  26649. {
  26650. If (BDID == One)
  26651. {
  26652. Return (Zero)
  26653. }
  26654.  
  26655. If ((OSID != One) && (MODS == Zero))
  26656. {
  26657. Return (0x0F)
  26658. }
  26659.  
  26660. Return (Zero)
  26661. }
  26662.  
  26663. Name (PMIC, Package (0x04)
  26664. {
  26665. 0x29,
  26666. One,
  26667. Zero,
  26668. 0xFA
  26669. })
  26670. Name (EPWR, Package (0x02)
  26671. {
  26672. Zero,
  26673. One
  26674. })
  26675. }
  26676.  
  26677. Device (MDM2)
  26678. {
  26679. Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
  26680. Name (_CID, "MCD0001") // _CID: Compatible ID
  26681. Name (CPU, "CherryView")
  26682. Name (MDMN, "XMM_7260")
  26683. Name (CONF, "XMM7260_CONF_3")
  26684. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  26685. {
  26686. Name (UBUF, ResourceTemplate ()
  26687. {
  26688. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  26689. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26690. )
  26691. { // Pin list
  26692. 0x0000
  26693. }
  26694. GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
  26695. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26696. )
  26697. { // Pin list
  26698. 0x0013
  26699. }
  26700. GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x0000,
  26701. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26702. )
  26703. { // Pin list
  26704. 0x0006
  26705. }
  26706. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  26707. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26708. )
  26709. { // Pin list
  26710. 0x0002
  26711. }
  26712. })
  26713. Return (UBUF) /* \_SB_.MDM2._CRS.UBUF */
  26714. }
  26715.  
  26716. Method (_STA, 0, NotSerialized) // _STA: Status
  26717. {
  26718. If (BDID == One)
  26719. {
  26720. Return (Zero)
  26721. }
  26722.  
  26723. If ((OSID != One) && (MODS == One))
  26724. {
  26725. Return (0x0F)
  26726. }
  26727.  
  26728. Return (Zero)
  26729. }
  26730.  
  26731. Name (PMIC, Package (0x04)
  26732. {
  26733. 0x29,
  26734. One,
  26735. Zero,
  26736. 0xFC
  26737. })
  26738. Name (EPWR, Package (0x02)
  26739. {
  26740. Zero,
  26741. One
  26742. })
  26743. }
  26744.  
  26745. Device (MDM)
  26746. {
  26747. Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
  26748. Name (_CID, "MCD0001") // _CID: Compatible ID
  26749. Name (CPU, "CherryView")
  26750. Name (MDMN, "XMM_7260")
  26751. Name (CONF, "XMM7260_CONF_7")
  26752. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  26753. {
  26754. Name (UBUF, ResourceTemplate ()
  26755. {
  26756. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  26757. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26758. )
  26759. { // Pin list
  26760. 0x0000
  26761. }
  26762. GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
  26763. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26764. )
  26765. { // Pin list
  26766. 0x0013
  26767. }
  26768. GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x0000,
  26769. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26770. )
  26771. { // Pin list
  26772. 0x0006
  26773. }
  26774. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  26775. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26776. )
  26777. { // Pin list
  26778. 0x0002
  26779. }
  26780. })
  26781. Return (UBUF) /* \_SB_.MDM_._CRS.UBUF */
  26782. }
  26783.  
  26784. Method (_STA, 0, NotSerialized) // _STA: Status
  26785. {
  26786. If (BDID == One)
  26787. {
  26788. Return (Zero)
  26789. }
  26790.  
  26791. If ((OSID != One) && (MODS == 0x02))
  26792. {
  26793. Return (0x0F)
  26794. }
  26795.  
  26796. Return (Zero)
  26797. }
  26798.  
  26799. Name (PMIC, Package (0x04)
  26800. {
  26801. 0x29,
  26802. One,
  26803. Zero,
  26804. 0xFC
  26805. })
  26806. Name (EPWR, Package (0x02)
  26807. {
  26808. Zero,
  26809. One
  26810. })
  26811. }
  26812.  
  26813. Device (MDM4)
  26814. {
  26815. Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
  26816. Name (_CID, "MCD0001") // _CID: Compatible ID
  26817. Name (CPU, "CherryView")
  26818. Name (MDMN, "XMM_7160")
  26819. Name (CONF, "XMM7160_CONF_9")
  26820. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  26821. {
  26822. Name (UBUF, ResourceTemplate ()
  26823. {
  26824. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  26825. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  26826. )
  26827. { // Pin list
  26828. 0x0006
  26829. }
  26830. GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
  26831. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26832. )
  26833. { // Pin list
  26834. 0x0016
  26835. }
  26836. GpioIo (Exclusive, PullUp, 0x0001, 0x0001, IoRestrictionOutputOnly,
  26837. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26838. )
  26839. { // Pin list
  26840. 0x0006
  26841. }
  26842. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  26843. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26844. )
  26845. { // Pin list
  26846. 0x0002
  26847. }
  26848. })
  26849. Return (UBUF) /* \_SB_.MDM4._CRS.UBUF */
  26850. }
  26851.  
  26852. Method (_STA, 0, NotSerialized) // _STA: Status
  26853. {
  26854. If (BDID != One)
  26855. {
  26856. Return (Zero)
  26857. }
  26858.  
  26859. If (((OSID == 0x02) || (OSID == 0x04)) && (MODS == 0x03))
  26860. {
  26861. Return (0x0F)
  26862. }
  26863.  
  26864. Return (Zero)
  26865. }
  26866.  
  26867. Name (PMIC, Package (0x04)
  26868. {
  26869. 0x29,
  26870. One,
  26871. Zero,
  26872. 0xFC
  26873. })
  26874. Name (EPWR, Package (0x02)
  26875. {
  26876. Zero,
  26877. One
  26878. })
  26879. }
  26880.  
  26881. Device (MDM5)
  26882. {
  26883. Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
  26884. Name (_CID, "MCD0001") // _CID: Compatible ID
  26885. Name (CPU, "CherryView")
  26886. Name (MDMN, "XMM_7260")
  26887. Name (CONF, "XMM7260_CONF_13")
  26888. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  26889. {
  26890. Name (UBUF, ResourceTemplate ()
  26891. {
  26892. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  26893. "\\_SB.GPO3", 0x00, ResourceConsumer, ,
  26894. )
  26895. { // Pin list
  26896. 0x0006
  26897. }
  26898. GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
  26899. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26900. )
  26901. { // Pin list
  26902. 0x0016
  26903. }
  26904. GpioIo (Exclusive, PullUp, 0x0001, 0x0001, IoRestrictionOutputOnly,
  26905. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26906. )
  26907. { // Pin list
  26908. 0x0006
  26909. }
  26910. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  26911. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26912. )
  26913. { // Pin list
  26914. 0x0002
  26915. }
  26916. })
  26917. Name (RBUF, ResourceTemplate ()
  26918. {
  26919. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  26920. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26921. )
  26922. { // Pin list
  26923. 0x0000
  26924. }
  26925. GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
  26926. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26927. )
  26928. { // Pin list
  26929. 0x0007
  26930. }
  26931. GpioIo (Exclusive, PullUp, 0x0001, 0x0001, IoRestrictionOutputOnly,
  26932. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26933. )
  26934. { // Pin list
  26935. 0x0006
  26936. }
  26937. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  26938. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  26939. )
  26940. { // Pin list
  26941. 0x0002
  26942. }
  26943. })
  26944. If (BDID == One)
  26945. {
  26946. Return (UBUF) /* \_SB_.MDM5._CRS.UBUF */
  26947. }
  26948.  
  26949. Return (RBUF) /* \_SB_.MDM5._CRS.RBUF */
  26950. }
  26951.  
  26952. Method (_STA, 0, NotSerialized) // _STA: Status
  26953. {
  26954. If (((BDID != 0x09) && (BDID != 0x0A)) &&
  26955. (BDID != One))
  26956. {
  26957. Return (Zero)
  26958. }
  26959.  
  26960. If (((OSID == 0x02) || (OSID == 0x04)) && (MODS == 0x04))
  26961. {
  26962. Return (0x0F)
  26963. }
  26964.  
  26965. Return (Zero)
  26966. }
  26967.  
  26968. Name (PMIC, Package (0x04)
  26969. {
  26970. 0x29,
  26971. One,
  26972. Zero,
  26973. 0xFC
  26974. })
  26975. Name (EPWR, Package (0x02)
  26976. {
  26977. Zero,
  26978. One
  26979. })
  26980. }
  26981.  
  26982. Device (MDM9)
  26983. {
  26984. Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
  26985. Name (_CID, "MCD0001") // _CID: Compatible ID
  26986. Name (CPU, "CherryView")
  26987. Name (MDMN, "XMM_6260")
  26988. Method (_STA, 0, NotSerialized) // _STA: Status
  26989. {
  26990. If (OSID == One)
  26991. {
  26992. Return (Zero)
  26993. }
  26994.  
  26995. Return (0x0F)
  26996. }
  26997.  
  26998. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  26999. {
  27000. Name (UBUF, ResourceTemplate ()
  27001. {
  27002. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  27003. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  27004. )
  27005. { // Pin list
  27006. 0x0007
  27007. }
  27008. GpioIo (Exclusive, PullUp, 0x0001, 0x0001, IoRestrictionOutputOnly,
  27009. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  27010. )
  27011. { // Pin list
  27012. 0x0005
  27013. }
  27014. GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
  27015. "\\_SB.GPO1", 0x00, ResourceConsumer, ,
  27016. )
  27017. { // Pin list
  27018. 0x0002
  27019. }
  27020. })
  27021. Return (UBUF) /* \_SB_.MDM9._CRS.UBUF */
  27022. }
  27023. }
  27024. }
  27025.  
  27026. Scope (_GPE)
  27027. {
  27028. Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
  27029. {
  27030. If ((BDID != One) && (OSID != One))
  27031. {
  27032. If (RP1D == Zero)
  27033. {
  27034. \_SB.PCI0.RP01.HPME ()
  27035. Notify (\_SB.PCI0.RP01, 0x02) // Device Wake
  27036. }
  27037.  
  27038. If (RP2D == Zero)
  27039. {
  27040. \_SB.PCI0.RP02.HPME ()
  27041. Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
  27042. }
  27043.  
  27044. If (RP3D == Zero)
  27045. {
  27046. \_SB.PCI0.RP03.HPME ()
  27047. Notify (\_SB.PCI0.RP03, 0x02) // Device Wake
  27048. }
  27049.  
  27050. If (RP4D == Zero)
  27051. {
  27052. \_SB.PCI0.RP04.HPME ()
  27053. Notify (\_SB.PCI0.RP04, 0x02) // Device Wake
  27054. }
  27055. }
  27056. }
  27057. }
  27058.  
  27059. Device (_SB.TPM)
  27060. {
  27061. Method (_HID, 0, NotSerialized) // _HID: Hardware ID
  27062. {
  27063. If (TCMF)
  27064. {
  27065. Return (0x01013469)
  27066. }
  27067. ElseIf (TTDP == Zero)
  27068. {
  27069. Return (0x310CD041)
  27070. }
  27071. Else
  27072. {
  27073. Return ("MSFT0101")
  27074. }
  27075. }
  27076.  
  27077. Method (_STR, 0, NotSerialized) // _STR: Description String
  27078. {
  27079. If (TTDP == Zero)
  27080. {
  27081. Return (Unicode ("TPM 1.2 Device"))
  27082. }
  27083. Else
  27084. {
  27085. Return (Unicode ("TPM 2.0 Device"))
  27086. }
  27087. }
  27088.  
  27089. Name (_UID, One) // _UID: Unique ID
  27090. Name (CRST, ResourceTemplate ()
  27091. {
  27092. Memory32Fixed (ReadOnly,
  27093. 0x00000000, // Address Base
  27094. 0x00001000, // Address Length
  27095. _Y3C)
  27096. Memory32Fixed (ReadOnly,
  27097. 0xFED70000, // Address Base
  27098. 0x00001000, // Address Length
  27099. _Y3D)
  27100. })
  27101. Name (CRSD, ResourceTemplate ()
  27102. {
  27103. Memory32Fixed (ReadOnly,
  27104. 0xFED40000, // Address Base
  27105. 0x00001000, // Address Length
  27106. _Y3E)
  27107. })
  27108. Name (CRSI, ResourceTemplate ()
  27109. {
  27110. Memory32Fixed (ReadOnly,
  27111. 0xFED40000, // Address Base
  27112. 0x00001000, // Address Length
  27113. _Y3F)
  27114. })
  27115. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  27116. {
  27117. If (AMDT == One)
  27118. {
  27119. CreateDWordField (CRST, \_SB.TPM._Y3C._BAS, MTFB) // _BAS: Base Address
  27120. CreateDWordField (CRST, \_SB.TPM._Y3C._LEN, LTFB) // _LEN: Length
  27121. MTFB = TPMB /* \TPMB */
  27122. LTFB = 0x1000
  27123. CreateDWordField (CRST, \_SB.TPM._Y3D._BAS, MTFC) // _BAS: Base Address
  27124. CreateDWordField (CRST, \_SB.TPM._Y3D._LEN, LTFC) // _LEN: Length
  27125. MTFC = TPMC /* \TPMC */
  27126. LTFC = 0x1000
  27127. Return (CRST) /* \_SB_.TPM_.CRST */
  27128. }
  27129. ElseIf (DTPT == One)
  27130. {
  27131. CreateDWordField (CRSD, \_SB.TPM._Y3E._BAS, MTFE) // _BAS: Base Address
  27132. CreateDWordField (CRSD, \_SB.TPM._Y3E._LEN, LTFE) // _LEN: Length
  27133. MTFE = 0xFED40000
  27134. LTFE = 0x0880
  27135. Return (CRSD) /* \_SB_.TPM_.CRSD */
  27136. }
  27137. ElseIf (TTPF == One)
  27138. {
  27139. CreateDWordField (CRSI, \_SB.TPM._Y3F._BAS, MTFD) // _BAS: Base Address
  27140. CreateDWordField (CRSI, \_SB.TPM._Y3F._LEN, LTFD) // _LEN: Length
  27141. MTFD = 0xFED40000
  27142. LTFD = 0x5000
  27143. Return (CRSI) /* \_SB_.TPM_.CRSI */
  27144. }
  27145. ElseIf (TTPF == Zero)
  27146. {
  27147. CreateDWordField (CRSI, \_SB.TPM._Y3F._BAS, MTFF) // _BAS: Base Address
  27148. MTFF = TPMM /* \TPMM */
  27149. Return (CRSI) /* \_SB_.TPM_.CRSI */
  27150. }
  27151. }
  27152.  
  27153. OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x5000)
  27154. Field (TMMB, ByteAcc, Lock, Preserve)
  27155. {
  27156. Offset (0x04),
  27157. LCST, 32,
  27158. Offset (0x40),
  27159. CREQ, 32,
  27160. CSTS, 32,
  27161. Offset (0x4C),
  27162. SCMD, 32
  27163. }
  27164.  
  27165. OperationRegion (CRBD, SystemMemory, TPMM, 0x48)
  27166. Field (CRBD, AnyAcc, NoLock, Preserve)
  27167. {
  27168. Offset (0x04),
  27169. HERR, 32,
  27170. Offset (0x40),
  27171. HCMD, 32,
  27172. HSTS, 32
  27173. }
  27174.  
  27175. Method (_STA, 0, NotSerialized) // _STA: Status
  27176. {
  27177. If (TTDP == Zero)
  27178. {
  27179. If (TPMF)
  27180. {
  27181. Return (0x0F)
  27182. }
  27183.  
  27184. Return (Zero)
  27185. }
  27186. ElseIf (TTDP == One)
  27187. {
  27188. If (TPMF)
  27189. {
  27190. Return (0x0F)
  27191. }
  27192.  
  27193. Return (Zero)
  27194. }
  27195. }
  27196.  
  27197. Method (STRT, 3, Serialized)
  27198. {
  27199. Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
  27200. OperationRegion (TPMR, SystemMemory, FTPM, 0x1000)
  27201. Field (TPMR, AnyAcc, NoLock, Preserve)
  27202. {
  27203. Offset (0x04),
  27204. FERR, 32,
  27205. Offset (0x0C),
  27206. BEGN, 32
  27207. }
  27208.  
  27209. Name (TIMR, Zero)
  27210. While (One)
  27211. {
  27212. _T_0 = ToInteger (Arg1)
  27213. If (_T_0 == Zero)
  27214. {
  27215. Return (Buffer (One)
  27216. {
  27217. 0x03 /* . */
  27218. })
  27219. }
  27220. ElseIf (_T_0 == One)
  27221. {
  27222. TIMR = Zero
  27223. If (AMDT == One)
  27224. {
  27225. While ((BEGN == One) && (TIMR < 0x0200))
  27226. {
  27227. If (BEGN == One)
  27228. {
  27229. Sleep (One)
  27230. TIMR++
  27231. }
  27232. }
  27233.  
  27234. Return (Zero)
  27235. }
  27236. Else
  27237. {
  27238. If (((HSTS & 0x02) | (HSTS & One)) ==
  27239. 0x03)
  27240. {
  27241. HCMD = One
  27242. }
  27243. Else
  27244. {
  27245. FERR = One
  27246. BEGN = Zero
  27247. }
  27248.  
  27249. Return (Zero)
  27250. }
  27251. }
  27252.  
  27253. Break
  27254. }
  27255.  
  27256. Return (One)
  27257. }
  27258.  
  27259. Method (CRYF, 3, Serialized)
  27260. {
  27261. Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
  27262. While (One)
  27263. {
  27264. _T_0 = ToInteger (Arg1)
  27265. If (_T_0 == Zero)
  27266. {
  27267. Return (Buffer (One)
  27268. {
  27269. 0x03 /* . */
  27270. })
  27271. }
  27272. ElseIf (_T_0 == One)
  27273. {
  27274. Name (TPMV, Package (0x02)
  27275. {
  27276. One,
  27277. Package (0x02)
  27278. {
  27279. One,
  27280. 0x20
  27281. }
  27282. })
  27283. If (_STA () == Zero)
  27284. {
  27285. Return (Package (0x01)
  27286. {
  27287. Zero
  27288. })
  27289. }
  27290.  
  27291. Return (TPMV) /* \_SB_.TPM_.CRYF.TPMV */
  27292. }
  27293.  
  27294. Break
  27295. }
  27296.  
  27297. Return (Buffer (One)
  27298. {
  27299. 0x00 /* . */
  27300. })
  27301. }
  27302. }
  27303.  
  27304. Scope (_SB.TPM)
  27305. {
  27306. OperationRegion (ASMI, SystemIO, SMIA, One)
  27307. Field (ASMI, ByteAcc, NoLock, Preserve)
  27308. {
  27309. INQ, 8
  27310. }
  27311.  
  27312. OperationRegion (BSMI, SystemIO, SMIB, One)
  27313. Field (BSMI, ByteAcc, NoLock, Preserve)
  27314. {
  27315. DAT, 8
  27316. }
  27317.  
  27318. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  27319. {
  27320. Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
  27321. Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
  27322. If (Arg0 == ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */)
  27323. {
  27324. While (One)
  27325. {
  27326. _T_0 = ToInteger (Arg2)
  27327. If (_T_0 == Zero)
  27328. {
  27329. Return (Buffer (0x02)
  27330. {
  27331. 0xFF, 0x01 /* .. */
  27332. })
  27333. }
  27334. ElseIf (_T_0 == One)
  27335. {
  27336. Return ("1.2")
  27337. }
  27338. ElseIf (_T_0 == 0x02)
  27339. {
  27340. ToInteger (DerefOf (Arg3 [Zero]), TMF2) /* \TMF2 */
  27341. TMF1 = 0x12
  27342. DAT = TMF1 /* \TMF1 */
  27343. INQ = OFST /* \OFST */
  27344. If (DAT == 0xFF)
  27345. {
  27346. Return (0x02)
  27347. }
  27348.  
  27349. DAT = TMF2 /* \TMF2 */
  27350. INQ = OFST /* \OFST */
  27351. If (DAT == 0xFF)
  27352. {
  27353. Return (0x02)
  27354. }
  27355.  
  27356. If (DAT == 0xF1)
  27357. {
  27358. Return (One)
  27359. }
  27360.  
  27361. Return (Zero)
  27362. }
  27363. ElseIf (_T_0 == 0x03)
  27364. {
  27365. Name (PPI1, Package (0x02)
  27366. {
  27367. Zero,
  27368. Zero
  27369. })
  27370. DAT = 0x11
  27371. INQ = OFST /* \OFST */
  27372. If (DAT == 0xFF)
  27373. {
  27374. Return (One)
  27375. }
  27376.  
  27377. PPI1 [One] = DAT /* \_SB_.TPM_.DAT_ */
  27378. Return (PPI1) /* \_SB_.TPM_._DSM.PPI1 */
  27379. }
  27380. ElseIf (_T_0 == 0x04)
  27381. {
  27382. Return (TRST) /* \TRST */
  27383. }
  27384. ElseIf (_T_0 == 0x05)
  27385. {
  27386. Name (PPI2, Package (0x03)
  27387. {
  27388. Zero,
  27389. Zero,
  27390. Zero
  27391. })
  27392. DAT = 0x21
  27393. INQ = OFST /* \OFST */
  27394. PPI2 [One] = DAT /* \_SB_.TPM_.DAT_ */
  27395. If (DAT == 0xFF)
  27396. {
  27397. Return (0x02)
  27398. }
  27399.  
  27400. DAT = 0x31
  27401. INQ = OFST /* \OFST */
  27402. If (DAT == 0xFF)
  27403. {
  27404. Return (0x02)
  27405. }
  27406.  
  27407. If (DAT == 0xF0)
  27408. {
  27409. DAT = 0x51
  27410. INQ = OFST /* \OFST */
  27411. If (DAT == 0xFF)
  27412. {
  27413. PPI2 [0x02] = 0xFFFFFFF0
  27414. Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */
  27415. }
  27416. }
  27417. ElseIf (DAT == 0xF1)
  27418. {
  27419. DAT = 0x51
  27420. INQ = OFST /* \OFST */
  27421. If (DAT == 0xFF)
  27422. {
  27423. PPI2 [0x02] = 0xFFFFFFF1
  27424. Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */
  27425. }
  27426. }
  27427. Else
  27428. {
  27429. PPI2 [0x02] = DAT /* \_SB_.TPM_.DAT_ */
  27430. }
  27431.  
  27432. Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */
  27433. }
  27434. ElseIf (_T_0 == 0x06)
  27435. {
  27436. Return (0x03)
  27437. }
  27438. ElseIf (_T_0 == 0x07)
  27439. {
  27440. ToInteger (DerefOf (Arg3 [Zero]), TMF2) /* \TMF2 */
  27441. TMF1 = 0x12
  27442. DAT = TMF1 /* \TMF1 */
  27443. INQ = OFST /* \OFST */
  27444. If (DAT == 0xFF)
  27445. {
  27446. Return (0x02)
  27447. }
  27448.  
  27449. DAT = TMF2 /* \TMF2 */
  27450. INQ = OFST /* \OFST */
  27451. If (DAT == 0xFF)
  27452. {
  27453. Return (0x02)
  27454. }
  27455.  
  27456. If (DAT == 0xF1)
  27457. {
  27458. Return (One)
  27459. }
  27460.  
  27461. Return (Zero)
  27462. }
  27463. ElseIf (_T_0 == 0x08)
  27464. {
  27465. ToInteger (DerefOf (Arg3 [Zero]), TMF2) /* \TMF2 */
  27466. TMF1 = 0x43
  27467. DAT = TMF1 /* \TMF1 */
  27468. INQ = OFST /* \OFST */
  27469. DAT = TMF2 /* \TMF2 */
  27470. INQ = OFST /* \OFST */
  27471. Return (DAT) /* \_SB_.TPM_.DAT_ */
  27472. }
  27473. Else
  27474. {
  27475. }
  27476.  
  27477. Break
  27478. }
  27479. }
  27480. ElseIf (Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d"))
  27481. {
  27482. While (One)
  27483. {
  27484. _T_1 = ToInteger (Arg2)
  27485. If (_T_1 == Zero)
  27486. {
  27487. Return (Buffer (One)
  27488. {
  27489. 0x03 /* . */
  27490. })
  27491. }
  27492. ElseIf (_T_1 == One)
  27493. {
  27494. TMF1 = 0x22
  27495. DAT = TMF1 /* \TMF1 */
  27496. INQ = OFST /* \OFST */
  27497. If (DAT == 0xFF)
  27498. {
  27499. Return (0x02)
  27500. }
  27501.  
  27502. ToInteger (DerefOf (Arg3 [Zero]), TMF1) /* \TMF1 */
  27503. DAT = TMF1 /* \TMF1 */
  27504. INQ = OFST /* \OFST */
  27505. If (DAT == 0xFF)
  27506. {
  27507. Return (0x02)
  27508. }
  27509.  
  27510. Return (Zero)
  27511. }
  27512. Else
  27513. {
  27514. }
  27515.  
  27516. Break
  27517. }
  27518. }
  27519.  
  27520. If (Arg0 == ToUUID ("cf8e16a5-c1e8-4e25-b712-4f54a96702c8"))
  27521. {
  27522. Return (CRYF (Arg1, Arg2, Arg3))
  27523. }
  27524.  
  27525. If (Arg0 == ToUUID ("6bbf6cab-5463-4714-b7cd-f0203c0368d4"))
  27526. {
  27527. Return (STRT (Arg1, Arg2, Arg3))
  27528. }
  27529.  
  27530. Return (Buffer (One)
  27531. {
  27532. 0x00 /* . */
  27533. })
  27534. }
  27535. }
  27536. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement