Advertisement
Guest User

Untitled

a guest
Jul 8th, 2024
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 296.51 KB | None | 0 0
  1. /*
  2. * Intel ACPI Component Architecture
  3. * AML/ASL+ Disassembler version 20210930 (64-bit version)
  4. * Copyright (c) 2000 - 2021 Intel Corporation
  5. *
  6. * Disassembling to symbolic ASL+ operators
  7. *
  8. * Disassembly of /home/jeronimo/dsdt.dat, Mon Jul 8 13:14:23 2024
  9. *
  10. * Original Table Header:
  11. * Signature "DSDT"
  12. * Length 0x000094C2 (38082)
  13. * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
  14. * Checksum 0x4D
  15. * OEM ID "HONOR"
  16. * OEM Table ID "EDK2 "
  17. * OEM Revision 0x00000002 (2)
  18. * Compiler ID "ACPI"
  19. * Compiler Version 0x00040000 (262144)
  20. */
  21. DefinitionBlock ("", "DSDT", 1, "HONOR", "EDK2 ", 0x00000002)
  22. {
  23. /*
  24. * iASL Warning: There were 12 external control methods found during
  25. * disassembly, but only 0 were resolved (12 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 (_SB_.APTS, MethodObj) // Warning: Unknown method, guessing 3 arguments
  51. External (_SB_.AWAK, MethodObj) // Warning: Unknown method, guessing 1 arguments
  52. External (_SB_.I2CD.I2SC, UnknownObj)
  53. External (_SB_.TPM2.PTS_, MethodObj) // Warning: Unknown method, guessing 1 arguments
  54. External (_SB_.WMI1, UnknownObj)
  55. External (_SB_.WMI1.WMEN, UnknownObj)
  56. External (AFN4, MethodObj) // Warning: Unknown method, guessing 1 arguments
  57. External (AFN7, MethodObj) // Warning: Unknown method, guessing 1 arguments
  58. External (ALIB, MethodObj) // Warning: Unknown method, guessing 2 arguments
  59. External (DAIN, UnknownObj)
  60. External (DAOU, IntObj)
  61. External (M009, UnknownObj)
  62. External (M010, MethodObj) // Warning: Unknown method, guessing 2 arguments
  63. External (M017, MethodObj) // Warning: Unknown method, guessing 5 arguments
  64. External (M019, MethodObj) // Warning: Unknown method, guessing 3 arguments
  65. External (M020, MethodObj) // Warning: Unknown method, guessing 5 arguments
  66. External (MPTS, MethodObj) // Warning: Unknown method, guessing 1 arguments
  67. External (MWAK, MethodObj) // Warning: Unknown method, guessing 1 arguments
  68. External (WMI1, UnknownObj)
  69.  
  70. Scope (_SB)
  71. {
  72. OperationRegion (ECMS, SystemIO, 0x72, 0x02)
  73. Field (ECMS, ByteAcc, Lock, Preserve)
  74. {
  75. EIND, 8,
  76. EDAT, 8
  77. }
  78.  
  79. IndexField (EIND, EDAT, ByteAcc, NoLock, Preserve)
  80. {
  81. Offset (0xF0),
  82. DC1H, 8,
  83. DC1L, 8,
  84. DC2H, 8,
  85. DC2L, 8,
  86. DCT1, 8,
  87. DCT2, 8,
  88. DCT3, 8,
  89. DCT4, 8
  90. }
  91.  
  92. IndexField (EIND, EDAT, ByteAcc, NoLock, Preserve)
  93. {
  94. Offset (0xF0),
  95. CPO1, 16,
  96. CPO2, 16,
  97. CTMS, 32,
  98. LPO1, 16,
  99. LPO2, 16,
  100. LTMS, 32
  101. }
  102. }
  103.  
  104. Method (DCTC, 1, Serialized)
  105. {
  106. \_SB.DC2H = \_SB.DC1H
  107. \_SB.DC2L = \_SB.DC1L
  108. \_SB.DC1H = ((Arg0 & 0xFF00) >> 0x08)
  109. \_SB.DC1L = (Arg0 & 0xFF)
  110. }
  111.  
  112. OperationRegion (SPRT, SystemIO, 0xB0, 0x02)
  113. Field (SPRT, ByteAcc, Lock, Preserve)
  114. {
  115. SSMP, 8
  116. }
  117.  
  118. Method (HSMI, 0, NotSerialized)
  119. {
  120. SSMP = 0xC1
  121. }
  122.  
  123. Name (VTMM, Zero)
  124. Name (VTM1, 0xFF)
  125. Name (VTM2, 0xFF)
  126. Name (VTM3, 0xFF)
  127. Name (VTM4, 0xFF)
  128. Name (VTM5, 0xFF)
  129. Name (VTM6, 0xFF)
  130. Method (GVER, 1, NotSerialized)
  131. {
  132. Name (BUFF, Buffer (0x0100){})
  133. Local0 = Arg0
  134. CreateByteField (BUFF, Zero, STAT)
  135. STAT = Zero
  136. DAIN = Local0
  137. HSMI ()
  138. BUFF = DAOU /* External reference */
  139. Return (BUFF) /* \GVER.BUFF */
  140. }
  141.  
  142. Method (GTSI, 1, NotSerialized)
  143. {
  144. Name (BUFF, Buffer (0x0100){})
  145. Local0 = Arg0
  146. CreateByteField (BUFF, Zero, STAT)
  147. CreateByteField (BUFF, One, TSI1)
  148. CreateByteField (BUFF, 0x02, TSI2)
  149. STAT = Zero
  150. TSI1 = 0xA1
  151. TSI2 = 0x49
  152. Return (BUFF) /* \GTSI.BUFF */
  153. }
  154.  
  155. Method (GTMP, 1, NotSerialized)
  156. {
  157. Name (BUFF, Buffer (0x0100){})
  158. Local0 = Arg0
  159. CreateByteField (Arg0, 0x02, TEPE)
  160. CreateByteField (BUFF, Zero, STAT)
  161. CreateByteField (BUFF, One, TEM0)
  162. CreateByteField (BUFF, 0x02, TEM1)
  163. CreateByteField (BUFF, 0x03, TEM2)
  164. STAT = Zero
  165. If ((TEPE == Zero))
  166. {
  167. If (((VTMM == One) && (VTM1 != 0xFF)))
  168. {
  169. Local1 = VTM1 /* \VTM1 */
  170. }
  171. Else
  172. {
  173. Local1 = \_SB.PCI0.LPC0.EC0.CTMP
  174. }
  175. }
  176. ElseIf ((TEPE == 0x05))
  177. {
  178. If (((VTMM == One) && (VTM2 != 0xFF)))
  179. {
  180. Local1 = VTM2 /* \VTM2 */
  181. }
  182. Else
  183. {
  184. Local1 = \_SB.PCI0.LPC0.EC0.TSLO
  185. }
  186. }
  187. ElseIf ((TEPE == 0x07))
  188. {
  189. If (((VTMM == One) && (VTM3 != 0xFF)))
  190. {
  191. Local1 = VTM3 /* \VTM3 */
  192. }
  193. Else
  194. {
  195. Local1 = \_SB.PCI0.LPC0.EC0.TNTC
  196. }
  197. }
  198. ElseIf ((TEPE == 0x08))
  199. {
  200. If (((VTMM == One) && (VTM4 != 0xFF)))
  201. {
  202. Local1 = VTM4 /* \VTM4 */
  203. }
  204. Else
  205. {
  206. Local1 = \_SB.PCI0.LPC0.EC0.CNTC
  207. }
  208. }
  209. ElseIf ((TEPE == 0x0B))
  210. {
  211. If (((VTMM == One) && (VTM5 != 0xFF)))
  212. {
  213. Local1 = VTM5 /* \VTM5 */
  214. }
  215. Else
  216. {
  217. Local1 = \_SB.PCI0.LPC0.EC0.DNTC
  218. }
  219. }
  220. ElseIf ((TEPE == 0x0E))
  221. {
  222. If (((VTMM == One) && (VTM6 != 0xFF)))
  223. {
  224. Local1 = VTM6 /* \VTM6 */
  225. }
  226. Else
  227. {
  228. Local1 = \_SB.PCI0.LPC0.EC0.BTMP
  229. }
  230. }
  231. Else
  232. {
  233. Local1 = 0xFF
  234. }
  235.  
  236. If ((Local1 == 0xFF))
  237. {
  238. Local1 = Zero
  239. STAT = One
  240. }
  241.  
  242. TEM1 = Local1
  243. TEM0 = Zero
  244. TEM2 = Zero
  245. Return (BUFF) /* \GTMP.BUFF */
  246. }
  247.  
  248. Method (STMT, 1, NotSerialized)
  249. {
  250. Name (BUFF, Buffer (0x0100){})
  251. Local0 = Arg0
  252. CreateByteField (BUFF, Zero, STAT)
  253. CreateByteField (Arg0, 0x02, SSRN)
  254. CreateByteField (Arg0, 0x05, TUPL)
  255. CreateByteField (Arg0, 0x07, TDNL)
  256. Local1 = Zero
  257. If ((TDNL > TUPL))
  258. {
  259. Local1 = 0xFF
  260. }
  261.  
  262. If ((Local1 == Zero))
  263. {
  264. If ((SSRN == Zero))
  265. {
  266. \_SB.PCI0.LPC0.EC0.UCPU = TUPL /* \STMT.TUPL */
  267. \_SB.PCI0.LPC0.EC0.DCPU = TDNL /* \STMT.TDNL */
  268. \_SB.PCI0.LPC0.EC0.CPUF = Zero
  269. \_SB.PCI0.LPC0.EC0.CPDF = Zero
  270. \_SB.PCI0.LPC0.EC0.TFUC = Zero
  271. \_SB.PCI0.LPC0.EC0.TFDC = Zero
  272. }
  273. ElseIf ((SSRN == 0x05))
  274. {
  275. \_SB.PCI0.LPC0.EC0.UGPE = TUPL /* \STMT.TUPL */
  276. \_SB.PCI0.LPC0.EC0.DGPE = TDNL /* \STMT.TDNL */
  277. \_SB.PCI0.LPC0.EC0.GPUF = Zero
  278. \_SB.PCI0.LPC0.EC0.GPDF = Zero
  279. \_SB.PCI0.LPC0.EC0.TFUG = Zero
  280. \_SB.PCI0.LPC0.EC0.TFDG = Zero
  281. }
  282. ElseIf ((SSRN == 0x07))
  283. {
  284. \_SB.PCI0.LPC0.EC0.UTYC = TUPL /* \STMT.TUPL */
  285. \_SB.PCI0.LPC0.EC0.DTYC = TDNL /* \STMT.TDNL */
  286. \_SB.PCI0.LPC0.EC0.TCUF = Zero
  287. \_SB.PCI0.LPC0.EC0.TCDF = Zero
  288. \_SB.PCI0.LPC0.EC0.TFUT = Zero
  289. \_SB.PCI0.LPC0.EC0.TFDT = Zero
  290. }
  291. ElseIf ((SSRN == 0x08))
  292. {
  293. \_SB.PCI0.LPC0.EC0.UCHA = TUPL /* \STMT.TUPL */
  294. \_SB.PCI0.LPC0.EC0.DCHA = TDNL /* \STMT.TDNL */
  295. \_SB.PCI0.LPC0.EC0.CHUF = Zero
  296. \_SB.PCI0.LPC0.EC0.CHDF = Zero
  297. \_SB.PCI0.LPC0.EC0.TFUH = Zero
  298. \_SB.PCI0.LPC0.EC0.TFDH = Zero
  299. }
  300. ElseIf ((SSRN == 0x0B))
  301. {
  302. \_SB.PCI0.LPC0.EC0.UDDR = TUPL /* \STMT.TUPL */
  303. \_SB.PCI0.LPC0.EC0.DDDR = TDNL /* \STMT.TDNL */
  304. \_SB.PCI0.LPC0.EC0.DRUF = Zero
  305. \_SB.PCI0.LPC0.EC0.DRDF = Zero
  306. \_SB.PCI0.LPC0.EC0.TFUD = Zero
  307. \_SB.PCI0.LPC0.EC0.TFDD = Zero
  308. }
  309.  
  310. STAT = Zero
  311. }
  312. Else
  313. {
  314. STAT = One
  315. }
  316.  
  317. Return (BUFF) /* \STMT.BUFF */
  318. }
  319.  
  320. Method (GPSI, 1, NotSerialized)
  321. {
  322. Name (BUFF, Buffer (0x0100){})
  323. Local0 = Arg0
  324. CreateByteField (BUFF, Zero, STAT)
  325. CreateByteField (BUFF, One, PSIT)
  326. PSIT = 0x05
  327. STAT = Zero
  328. Return (BUFF) /* \GPSI.BUFF */
  329. }
  330.  
  331. Method (GPCI, 1, Serialized)
  332. {
  333. Name (BUFF, Buffer (0x0100){})
  334. Name (IADP, Zero)
  335. Name (IBAT, Zero)
  336. Name (VBAT, Zero)
  337. CreateByteField (BUFF, Zero, STAT)
  338. CreateByteField (BUFF, One, POVA)
  339. CreateByteField (Arg0, 0x02, GTST)
  340. STAT = Zero
  341. Switch (ToInteger (GTST))
  342. {
  343. Case (Zero)
  344. {
  345. Local1 = Zero
  346. IADP = \_SB.PCI0.LPC0.EC0.PADH
  347. IADP <<= 0x08
  348. IADP |= \_SB.PCI0.LPC0.EC0.PADL /* \GPCI.IADP */
  349. Local1 = (IADP * 0x023A)
  350. Local1 /= 0x07D0
  351. POVA = Local1
  352. }
  353. Case (0x02)
  354. {
  355. Local1 = Zero
  356. IBAT = \_SB.PCI0.LPC0.EC0.PBTH
  357. IBAT <<= 0x08
  358. IBAT |= \_SB.PCI0.LPC0.EC0.PBTL /* \GPCI.IBAT */
  359. VBAT = \_SB.PCI0.LPC0.EC0.BT1V
  360. IBAT *= 0x0F
  361. Local1 = (IBAT * VBAT) /* \GPCI.VBAT */
  362. Local1 /= 0x000F4240
  363. POVA = Local1
  364. }
  365. Default
  366. {
  367. POVA = Zero
  368. STAT = One
  369. }
  370.  
  371. }
  372.  
  373. If ((POVA == Zero))
  374. {
  375. STAT = One
  376. }
  377.  
  378. Return (BUFF) /* \GPCI.BUFF */
  379. }
  380.  
  381. Method (SLIV, 1, NotSerialized)
  382. {
  383. Name (BUFF, Buffer (0x0100){})
  384. Local0 = Arg0
  385. CreateByteField (Arg0, 0x02, KBBV)
  386. CreateByteField (BUFF, Zero, STAT)
  387. Acquire (\_SB.PCI0.LPC0.EC0.ECMT, 0x03E8)
  388. If ((KBBV == Zero))
  389. {
  390. \_SB.PCI0.LPC0.EC0.ECM3 (0xC5)
  391. \_SB.PCI0.LPC0.EC0.ECD3 (0x04)
  392. STAT = Zero
  393. }
  394. ElseIf ((KBBV == 0x02))
  395. {
  396. \_SB.PCI0.LPC0.EC0.ECM3 (0xC5)
  397. \_SB.PCI0.LPC0.EC0.ECD3 (0x08)
  398. STAT = Zero
  399. }
  400. ElseIf ((KBBV == 0x04))
  401. {
  402. \_SB.PCI0.LPC0.EC0.ECM3 (0xC5)
  403. \_SB.PCI0.LPC0.EC0.ECD3 (0x10)
  404. STAT = Zero
  405. }
  406. Else
  407. {
  408. STAT = One
  409. }
  410.  
  411. Release (\_SB.PCI0.LPC0.EC0.ECMT)
  412. Return (BUFF) /* \SLIV.BUFF */
  413. }
  414.  
  415. Method (GFNS, 1, Serialized)
  416. {
  417. Name (BUFF, Buffer (0x0100){})
  418. Local0 = Arg0
  419. CreateByteField (Arg0, 0x02, FANN)
  420. CreateByteField (BUFF, Zero, STAT)
  421. CreateByteField (BUFF, One, FANL)
  422. CreateByteField (BUFF, 0x02, FANH)
  423. STAT = Zero
  424. Switch (ToInteger (FANN))
  425. {
  426. Case (Zero)
  427. {
  428. FANH = \_SB.PCI0.LPC0.EC0.FRHI
  429. FANL = \_SB.PCI0.LPC0.EC0.FRLO
  430. }
  431. Case (One)
  432. {
  433. FANH = \_SB.PCI0.LPC0.EC0.F2HI
  434. FANL = \_SB.PCI0.LPC0.EC0.F2LO
  435. }
  436. Case (0x02)
  437. {
  438. }
  439. Case (0x03)
  440. {
  441. }
  442. Default
  443. {
  444. FANH = Zero
  445. FANL = Zero
  446. }
  447.  
  448. }
  449.  
  450. Return (BUFF) /* \GFNS.BUFF */
  451. }
  452.  
  453. Method (GCVA, 1, Serialized)
  454. {
  455. Name (BUFF, Buffer (0x0100){})
  456. Name (BCVF, Zero)
  457. Name (BCVT, Zero)
  458. Local0 = Arg0
  459. CreateByteField (BUFF, Zero, STAT)
  460. CreateByteField (BUFF, One, GCV1)
  461. CreateWordField (BUFF, 0x02, GCV2)
  462. CreateByteField (Arg0, 0x02, GCIN)
  463. STAT = Zero
  464. Switch (ToInteger (GCIN))
  465. {
  466. Case (0x20)
  467. {
  468. GCV1 = Zero
  469. GCV2 = \_SB.PCI0.LPC0.EC0.BT1V
  470. }
  471. Case (0x30)
  472. {
  473. Local1 = Zero
  474. BCVF = \_SB.PCI0.LPC0.EC0.BT1I
  475. If ((BCVF >= 0x8000))
  476. {
  477. GCV1 = One
  478. BCVT = ~BCVF /* \GCVA.BCVF */
  479. GCV2 = (BCVT + One)
  480. }
  481. Else
  482. {
  483. GCV1 = Zero
  484. GCV2 = BCVF /* \GCVA.BCVF */
  485. }
  486. }
  487. Default
  488. {
  489. GCV1 = Zero
  490. GCV2 = Zero
  491. STAT = One
  492. }
  493.  
  494. }
  495.  
  496. Return (BUFF) /* \GCVA.BUFF */
  497. }
  498.  
  499. Method (GFRQ, 1, NotSerialized)
  500. {
  501. Name (BUFF, Buffer (0x0100){})
  502. Local0 = Arg0
  503. CreateByteField (BUFF, Zero, STAT)
  504. STAT = Zero
  505. Return (BUFF) /* \GFRQ.BUFF */
  506. }
  507.  
  508. Method (STMP, 1, NotSerialized)
  509. {
  510. Name (BUFF, Buffer (0x0100){})
  511. Local0 = Arg0
  512. CreateByteField (Arg0, 0x02, STSN)
  513. CreateByteField (Arg0, 0x03, STSM)
  514. CreateByteField (Arg0, 0x04, STSS)
  515. CreateByteField (Arg0, 0x05, STT1)
  516. CreateByteField (Arg0, 0x06, STT2)
  517. CreateByteField (BUFF, Zero, STAT)
  518. STAT = One
  519. If (((STSS == Zero) && (STT2 == Zero)))
  520. {
  521. If ((STSN == Zero))
  522. {
  523. If ((STSM == One))
  524. {
  525. VTMM = One
  526. VTM1 = STT1 /* \STMP.STT1 */
  527. STAT = Zero
  528. }
  529. Else
  530. {
  531. VTMM = Zero
  532. VTM1 = 0xFF
  533. STAT = Zero
  534. }
  535. }
  536. ElseIf ((STSN == 0x05))
  537. {
  538. If ((STSM == One))
  539. {
  540. VTMM = One
  541. VTM2 = STT1 /* \STMP.STT1 */
  542. STAT = Zero
  543. }
  544. Else
  545. {
  546. VTMM = Zero
  547. VTM2 = 0xFF
  548. STAT = Zero
  549. }
  550. }
  551. ElseIf ((STSN == 0x07))
  552. {
  553. If ((STSM == One))
  554. {
  555. VTMM = One
  556. VTM3 = STT1 /* \STMP.STT1 */
  557. STAT = Zero
  558. }
  559. Else
  560. {
  561. VTMM = Zero
  562. VTM3 = 0xFF
  563. STAT = Zero
  564. }
  565. }
  566. ElseIf ((STSN == 0x08))
  567. {
  568. If ((STSM == One))
  569. {
  570. VTMM = One
  571. VTM4 = STT1 /* \STMP.STT1 */
  572. STAT = Zero
  573. }
  574. Else
  575. {
  576. VTMM = Zero
  577. VTM4 = 0xFF
  578. STAT = Zero
  579. }
  580. }
  581. ElseIf ((STSN == 0x0B))
  582. {
  583. If ((STSM == One))
  584. {
  585. VTMM = One
  586. VTM5 = STT1 /* \STMP.STT1 */
  587. STAT = Zero
  588. }
  589. Else
  590. {
  591. VTMM = Zero
  592. VTM5 = 0xFF
  593. STAT = Zero
  594. }
  595. }
  596. ElseIf ((STSN == 0x0E))
  597. {
  598. If ((STSM == One))
  599. {
  600. VTMM = One
  601. VTM6 = STT1 /* \STMP.STT1 */
  602. STAT = Zero
  603. }
  604. Else
  605. {
  606. VTMM = Zero
  607. VTM6 = 0xFF
  608. STAT = Zero
  609. }
  610. }
  611. }
  612.  
  613. Return (BUFF) /* \STMP.BUFF */
  614. }
  615.  
  616. Method (SBTT, 1, NotSerialized)
  617. {
  618. Name (BUFF, Buffer (0x0100){})
  619. Local0 = Arg0
  620. CreateByteField (Arg0, 0x02, BCLB)
  621. CreateByteField (Arg0, 0x03, BCHB)
  622. CreateByteField (BUFF, Zero, STAT)
  623. STAT = Zero
  624. \_SB.PCI0.LPC0.EC0.BCCL = BCLB /* \SBTT.BCLB */
  625. \_SB.PCI0.LPC0.EC0.BCCH = BCHB /* \SBTT.BCHB */
  626. Return (BUFF) /* \SBTT.BUFF */
  627. }
  628.  
  629. Method (GBTT, 1, NotSerialized)
  630. {
  631. Name (BUFF, Buffer (0x0100){})
  632. Local0 = Arg0
  633. CreateByteField (BUFF, Zero, STAT)
  634. CreateByteField (BUFF, One, GLCP)
  635. CreateByteField (BUFF, 0x02, GHCP)
  636. STAT = Zero
  637. GLCP = \_SB.PCI0.LPC0.EC0.BCCL
  638. GHCP = \_SB.PCI0.LPC0.EC0.BCCH
  639. Return (BUFF) /* \GBTT.BUFF */
  640. }
  641.  
  642. Method (GFRS, 1, NotSerialized)
  643. {
  644. Name (BUFF, Buffer (0x0100){})
  645. Local0 = Arg0
  646. CreateByteField (BUFF, Zero, STAT)
  647. CreateByteField (BUFF, One, RELT)
  648. STAT = Zero
  649. RELT = 0x02
  650. If ((\_SB.PCI0.LPC0.EC0.FNIS == Zero))
  651. {
  652. RELT = One
  653. }
  654.  
  655. Return (BUFF) /* \GFRS.BUFF */
  656. }
  657.  
  658. Method (SFRS, 1, Serialized)
  659. {
  660. Name (BUFF, Buffer (0x0100){})
  661. Name (RELT, Zero)
  662. Local0 = Arg0
  663. CreateByteField (BUFF, Zero, STAT)
  664. CreateByteField (Arg0, 0x02, SFNM)
  665. STAT = Zero
  666. Switch (ToInteger (SFNM))
  667. {
  668. Case (One)
  669. {
  670. RELT = Zero
  671. \_SB.PCI0.LPC0.EC0.FNIS = RELT /* \SFRS.RELT */
  672. }
  673. Case (0x02)
  674. {
  675. RELT = One
  676. \_SB.PCI0.LPC0.EC0.FNIS = RELT /* \SFRS.RELT */
  677. }
  678. Default
  679. {
  680. STAT = One
  681. }
  682.  
  683. }
  684.  
  685. Return (BUFF) /* \SFRS.BUFF */
  686. }
  687.  
  688. Method (SMLS, 1, NotSerialized)
  689. {
  690. Name (BUFF, Buffer (0x0100){})
  691. CreateByteField (BUFF, Zero, STAT)
  692. CreateByteField (Arg0, 0x02, SMLR)
  693. STAT = Zero
  694. If ((SMLR == One))
  695. {
  696. \_SB.PCI0.LPC0.EC0.MICL = One
  697. }
  698. Else
  699. {
  700. \_SB.PCI0.LPC0.EC0.MICL = Zero
  701. }
  702.  
  703. Return (BUFF) /* \SMLS.BUFF */
  704. }
  705.  
  706. Method (GFNM, 1, NotSerialized)
  707. {
  708. Name (BUFF, Buffer (0x0100){})
  709. Local0 = Arg0
  710. CreateByteField (BUFF, Zero, STAT)
  711. STAT = Zero
  712. DAIN = Local0
  713. HSMI ()
  714. BUFF = DAOU /* External reference */
  715. Return (BUFF) /* \GFNM.BUFF */
  716. }
  717.  
  718. Method (SFNM, 1, NotSerialized)
  719. {
  720. Name (BUFF, Buffer (0x0100){})
  721. Local0 = Arg0
  722. CreateByteField (BUFF, Zero, STAT)
  723. STAT = Zero
  724. DAIN = Local0
  725. HSMI ()
  726. BUFF = DAOU /* External reference */
  727. Return (BUFF) /* \SFNM.BUFF */
  728. }
  729.  
  730. Method (GTUB, 1, NotSerialized)
  731. {
  732. Name (BUFF, Buffer (0x0100){})
  733. CreateByteField (BUFF, Zero, STAT)
  734. CreateByteField (BUFF, One, STUB)
  735. STAT = Zero
  736. STUB = \_SB.PCI0.LPC0.EC0.TUBO
  737. Return (BUFF) /* \GTUB.BUFF */
  738. }
  739.  
  740. Method (STUB, 1, NotSerialized)
  741. {
  742. Name (BUFF, Buffer (0x0100){})
  743. CreateByteField (Arg0, 0x02, TUBM)
  744. CreateByteField (BUFF, Zero, STAT)
  745. STAT = Zero
  746. If ((TUBM == One))
  747. {
  748. If ((\_SB.PCI0.LPC0.EC0.ACDC == One))
  749. {
  750. \_SB.PCI0.LPC0.EC0.TUBO = One
  751. \_SB.WMI1.WMEN = 0x02A1
  752. Notify (\_SB.WMI1, 0xA0) // Device-Specific
  753. }
  754. }
  755. ElseIf ((TUBM == Zero))
  756. {
  757. If ((\_SB.PCI0.LPC0.EC0.ACDC == One))
  758. {
  759. \_SB.PCI0.LPC0.EC0.TUBO = Zero
  760. \_SB.WMI1.WMEN = 0x02A0
  761. Notify (\_SB.WMI1, 0xA0) // Device-Specific
  762. }
  763. }
  764. Else
  765. {
  766. STAT = One
  767. }
  768.  
  769. Return (BUFF) /* \STUB.BUFF */
  770. }
  771.  
  772. Method (GWKM, 1, NotSerialized)
  773. {
  774. Name (BUFF, Buffer (0x0100){})
  775. Local0 = Arg0
  776. CreateByteField (BUFF, Zero, STAT)
  777. STAT = Zero
  778. DAIN = Local0
  779. HSMI ()
  780. BUFF = DAOU /* External reference */
  781. Return (BUFF) /* \GWKM.BUFF */
  782. }
  783.  
  784. Method (SWKM, 1, NotSerialized)
  785. {
  786. Name (BUFF, Buffer (0x0100){})
  787. Local0 = Arg0
  788. CreateByteField (BUFF, Zero, STAT)
  789. STAT = Zero
  790. DAIN = Local0
  791. HSMI ()
  792. BUFF = DAOU /* External reference */
  793. Return (BUFF) /* \SWKM.BUFF */
  794. }
  795.  
  796. Method (GSTP, 1, NotSerialized)
  797. {
  798. Name (BUFF, Buffer (0x0100){})
  799. Local0 = Arg0
  800. CreateByteField (Arg0, 0x02, GSII)
  801. CreateByteField (BUFF, Zero, STAT)
  802. STAT = Zero
  803. DAIN = ToInteger (Local0)
  804. If (((M009 == 0x54) && Zero))
  805. {
  806. (GSII == 0x2D)
  807. STAT = One
  808. }
  809. Else
  810. {
  811. HSMI ()
  812. BUFF = DAOU /* External reference */
  813. }
  814.  
  815. Return (BUFF) /* \GSTP.BUFF */
  816. }
  817.  
  818. Method (SSTP, 1, Serialized)
  819. {
  820. Name (BUFF, Buffer (0x0100){})
  821. Local0 = Arg0
  822. CreateByteField (Arg0, 0x02, SSII)
  823. CreateByteField (Arg0, 0x03, SSIS)
  824. CreateByteField (BUFF, Zero, STAT)
  825. STAT = Zero
  826. DAIN = ToInteger (Local0)
  827. If (((M009 == 0x54) && Zero))
  828. {
  829. (SSII == 0x2D)
  830. STAT = One
  831. }
  832. Else
  833. {
  834. Switch (ToInteger (SSII))
  835. {
  836. Case (0x10)
  837. {
  838. If (((SSIS < Zero) || (SSIS > 0x03)))
  839. {
  840. STAT = One
  841. Return (BUFF) /* \SSTP.BUFF */
  842. }
  843. }
  844. Case (0x50)
  845. {
  846. If (((SSIS < Zero) || (SSIS > 0x05)))
  847. {
  848. STAT = One
  849. Return (BUFF) /* \SSTP.BUFF */
  850. }
  851. }
  852. Case (0xDF)
  853. {
  854. If ((SSIS != Zero))
  855. {
  856. STAT = One
  857. Return (BUFF) /* \SSTP.BUFF */
  858. }
  859. }
  860. Default
  861. {
  862. If (((SSIS < Zero) || (SSIS > One)))
  863. {
  864. STAT = One
  865. Return (BUFF) /* \SSTP.BUFF */
  866. }
  867. }
  868.  
  869. }
  870.  
  871. HSMI ()
  872. BUFF = DAOU /* External reference */
  873. }
  874.  
  875. Return (BUFF) /* \SSTP.BUFF */
  876. }
  877.  
  878. Method (SLGO, 1, NotSerialized)
  879. {
  880. Name (BUFF, Buffer (0x0100){})
  881. Local0 = Arg0
  882. CreateByteField (BUFF, Zero, STAT)
  883. STAT = Zero
  884. DAIN = ToInteger (Local0)
  885. HSMI ()
  886. BUFF = DAOU /* External reference */
  887. Return (BUFF) /* \SLGO.BUFF */
  888. }
  889.  
  890. Method (GLGO, 1, NotSerialized)
  891. {
  892. Name (BUFF, Buffer (0x0100){})
  893. Local0 = Arg0
  894. CreateByteField (BUFF, Zero, STAT)
  895. STAT = Zero
  896. DAIN = ToInteger (Local0)
  897. HSMI ()
  898. BUFF = DAOU /* External reference */
  899. Return (BUFF) /* \GLGO.BUFF */
  900. }
  901.  
  902. Method (GLOG, 1, NotSerialized)
  903. {
  904. Name (BUFF, Buffer (0x0100){})
  905. Local0 = Arg0
  906. CreateByteField (BUFF, Zero, STAT)
  907. CreateByteField (BUFF, One, BY01)
  908. CreateByteField (BUFF, 0x03, BY03)
  909. CreateByteField (BUFF, 0x0D, BY13)
  910. CreateByteField (BUFF, 0x17, BY23)
  911. CreateByteField (BUFF, 0x20, BY32)
  912. CreateByteField (BUFF, 0x29, BY41)
  913. CreateByteField (BUFF, 0x32, BY50)
  914. CreateByteField (BUFF, 0x3B, BY59)
  915. CreateByteField (BUFF, 0x44, BY68)
  916. CreateByteField (BUFF, 0x4D, BY77)
  917. CreateByteField (BUFF, 0x56, BY86)
  918. BY01 = 0xB0
  919. BY03 = 0xB1
  920. BY13 = 0xB1
  921. BY23 = 0xE0
  922. BY32 = 0xE0
  923. BY41 = 0xE0
  924. BY50 = 0xE0
  925. BY59 = 0xE1
  926. BY68 = 0xE1
  927. BY77 = 0xE1
  928. BY86 = 0xE1
  929. CreateByteField (BUFF, 0x02, BY02)
  930. BY02 = \_SB.STCO
  931. CreateByteField (BUFF, 0x04, BY04)
  932. CreateByteField (BUFF, 0x0E, BY14)
  933. CreateByteField (BUFF, 0x18, BY24)
  934. CreateByteField (BUFF, 0x21, BY33)
  935. CreateByteField (BUFF, 0x2A, BY42)
  936. CreateByteField (BUFF, 0x33, BY51)
  937. CreateByteField (BUFF, 0x3C, BY60)
  938. CreateByteField (BUFF, 0x45, BY69)
  939. CreateByteField (BUFF, 0x4E, BY78)
  940. CreateByteField (BUFF, 0x57, BY87)
  941. BY04 = 0xEE
  942. If ((\_SB.CPO1 == 0xE410))
  943. {
  944. BY04 = 0xCC
  945. }
  946.  
  947. If ((\_SB.CPO1 == 0xA810))
  948. {
  949. BY04 = 0xCC
  950. }
  951.  
  952. If ((\_SB.CPO1 == 0xE310))
  953. {
  954. BY04 = 0xCC
  955. }
  956.  
  957. BY14 = 0xEE
  958. If ((\_SB.LPO1 == 0x5410))
  959. {
  960. BY14 = 0xCC
  961. }
  962.  
  963. If ((\_SB.LPO1 == 0x5510))
  964. {
  965. BY14 = 0xCC
  966. }
  967.  
  968. If ((\_SB.LPO1 == Zero))
  969. {
  970. BY14 = 0xCC
  971. }
  972.  
  973. If ((\_SB.LPO1 == 0x2900))
  974. {
  975. BY14 = 0xCC
  976. }
  977.  
  978. If ((\_SB.LPO1 == 0x5200))
  979. {
  980. BY14 = 0xCC
  981. }
  982.  
  983. If ((\_SB.LPO1 == 0x1B00))
  984. {
  985. BY14 = 0xCC
  986. }
  987.  
  988. If ((\_SB.LPO1 == 0x2700))
  989. {
  990. BY14 = 0xCC
  991. }
  992.  
  993. If ((\_SB.LPO1 == 0xD4))
  994. {
  995. BY14 = 0xCC
  996. }
  997.  
  998. If ((\_SB.LPO1 == 0xD5))
  999. {
  1000. BY14 = 0xCC
  1001. }
  1002.  
  1003. If ((\_SB.LPO1 == 0xD9))
  1004. {
  1005. BY14 = 0xCC
  1006. }
  1007.  
  1008. BY24 = 0xEE
  1009. If ((\_SB.PCI0.LPC0.EC0.SDC3 == One))
  1010. {
  1011. BY24 = 0xCC
  1012. }
  1013.  
  1014. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x03))
  1015. {
  1016. BY24 = 0xCC
  1017. }
  1018.  
  1019. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x04))
  1020. {
  1021. BY24 = 0xCC
  1022. }
  1023.  
  1024. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x12))
  1025. {
  1026. BY24 = 0xCC
  1027. }
  1028.  
  1029. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x13))
  1030. {
  1031. BY24 = 0xCC
  1032. }
  1033.  
  1034. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x17))
  1035. {
  1036. BY24 = 0xCC
  1037. }
  1038.  
  1039. BY33 = 0xEE
  1040. If ((\_SB.PCI0.LPC0.EC0.SDC2 == One))
  1041. {
  1042. BY33 = 0xCC
  1043. }
  1044.  
  1045. If ((\_SB.PCI0.LPC0.EC0.SDC2 == 0x03))
  1046. {
  1047. BY33 = 0xCC
  1048. }
  1049.  
  1050. If ((\_SB.PCI0.LPC0.EC0.SDC2 == 0x04))
  1051. {
  1052. BY33 = 0xCC
  1053. }
  1054.  
  1055. If ((\_SB.PCI0.LPC0.EC0.SDC2 == 0x12))
  1056. {
  1057. BY33 = 0xCC
  1058. }
  1059.  
  1060. If ((\_SB.PCI0.LPC0.EC0.SDC2 == 0x13))
  1061. {
  1062. BY33 = 0xCC
  1063. }
  1064.  
  1065. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x17))
  1066. {
  1067. BY33 = 0xCC
  1068. }
  1069.  
  1070. BY42 = 0xEE
  1071. If ((\_SB.PCI0.LPC0.EC0.SDC1 == One))
  1072. {
  1073. BY42 = 0xCC
  1074. }
  1075.  
  1076. If ((\_SB.PCI0.LPC0.EC0.SDC1 == 0x03))
  1077. {
  1078. BY42 = 0xCC
  1079. }
  1080.  
  1081. If ((\_SB.PCI0.LPC0.EC0.SDC1 == 0x04))
  1082. {
  1083. BY42 = 0xCC
  1084. }
  1085.  
  1086. If ((\_SB.PCI0.LPC0.EC0.SDC1 == 0x12))
  1087. {
  1088. BY42 = 0xCC
  1089. }
  1090.  
  1091. If ((\_SB.PCI0.LPC0.EC0.SDC1 == 0x13))
  1092. {
  1093. BY42 = 0xCC
  1094. }
  1095.  
  1096. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x17))
  1097. {
  1098. BY42 = 0xCC
  1099. }
  1100.  
  1101. BY51 = 0xEE
  1102. If ((\_SB.PCI0.LPC0.EC0.SDC0 == One))
  1103. {
  1104. BY51 = 0xCC
  1105. }
  1106.  
  1107. If ((\_SB.PCI0.LPC0.EC0.SDC0 == 0x03))
  1108. {
  1109. BY51 = 0xCC
  1110. }
  1111.  
  1112. If ((\_SB.PCI0.LPC0.EC0.SDC0 == 0x04))
  1113. {
  1114. BY51 = 0xCC
  1115. }
  1116.  
  1117. If ((\_SB.PCI0.LPC0.EC0.SDC0 == 0x12))
  1118. {
  1119. BY51 = 0xCC
  1120. }
  1121.  
  1122. If ((\_SB.PCI0.LPC0.EC0.SDC0 == 0x13))
  1123. {
  1124. BY51 = 0xCC
  1125. }
  1126.  
  1127. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x17))
  1128. {
  1129. BY51 = 0xCC
  1130. }
  1131.  
  1132. BY60 = 0xCC
  1133. BY69 = 0xCC
  1134. BY78 = 0xCC
  1135. BY87 = 0xCC
  1136. CreateWordField (BUFF, 0x05, BY05)
  1137. CreateWordField (BUFF, 0x07, BY07)
  1138. CreateDWordField (BUFF, 0x09, BY09)
  1139. CreateWordField (BUFF, 0x0F, BY15)
  1140. CreateWordField (BUFF, 0x11, BY17)
  1141. CreateDWordField (BUFF, 0x13, BY19)
  1142. BY05 = \_SB.CPO1
  1143. BY07 = \_SB.CPO2
  1144. BY09 = RV32 (\_SB.CTMS)
  1145. BY15 = \_SB.LPO1
  1146. BY17 = \_SB.LPO2
  1147. BY19 = RV32 (\_SB.LTMS)
  1148. CreateByteField (BUFF, 0x1B, BY27)
  1149. CreateByteField (BUFF, 0x24, BY36)
  1150. CreateByteField (BUFF, 0x2D, BY45)
  1151. CreateByteField (BUFF, 0x36, BY54)
  1152. CreateWordField (BUFF, 0x3E, BY62)
  1153. CreateWordField (BUFF, 0x47, BY71)
  1154. CreateWordField (BUFF, 0x50, BY80)
  1155. CreateWordField (BUFF, 0x59, BY89)
  1156. BY27 = 0xFF
  1157. BY36 = 0xFF
  1158. BY45 = 0xFF
  1159. BY54 = 0xFF
  1160. BY62 = 0xFFFF
  1161. BY71 = 0xFFFF
  1162. BY80 = 0xFFFF
  1163. BY89 = 0xFFFF
  1164. CreateByteField (BUFF, 0x19, BY25)
  1165. CreateByteField (BUFF, 0x22, BY34)
  1166. CreateByteField (BUFF, 0x2B, BY43)
  1167. CreateByteField (BUFF, 0x34, BY52)
  1168. BY25 = \_SB.PCI0.LPC0.EC0.SDC3
  1169. BY34 = \_SB.PCI0.LPC0.EC0.SDC2
  1170. BY43 = \_SB.PCI0.LPC0.EC0.SDC1
  1171. BY52 = \_SB.PCI0.LPC0.EC0.SDC0
  1172. CreateByteField (BUFF, 0x1A, BY26)
  1173. CreateByteField (BUFF, 0x23, BY35)
  1174. CreateByteField (BUFF, 0x2C, BY44)
  1175. CreateByteField (BUFF, 0x35, BY53)
  1176. BY26 = \_SB.PCI0.LPC0.EC0.SDV3
  1177. BY35 = \_SB.PCI0.LPC0.EC0.SDV2
  1178. BY44 = \_SB.PCI0.LPC0.EC0.SDV1
  1179. BY53 = \_SB.PCI0.LPC0.EC0.SDV0
  1180. CreateDWordField (BUFF, 0x1C, BY28)
  1181. CreateDWordField (BUFF, 0x25, BY37)
  1182. CreateDWordField (BUFF, 0x2E, BY46)
  1183. CreateDWordField (BUFF, 0x37, BY55)
  1184. BY28 = RV32 (\_SB.PCI0.LPC0.EC0.SDT3)
  1185. BY37 = RV32 (\_SB.PCI0.LPC0.EC0.SDT2)
  1186. BY46 = RV32 (\_SB.PCI0.LPC0.EC0.SDT1)
  1187. BY55 = RV32 (\_SB.PCI0.LPC0.EC0.SDT0)
  1188. CreateByteField (BUFF, 0x3D, BY61)
  1189. CreateByteField (BUFF, 0x46, BY70)
  1190. CreateByteField (BUFF, 0x4F, BY79)
  1191. CreateByteField (BUFF, 0x58, BY88)
  1192. BY61 = \_SB.PCI0.LPC0.EC0.WUC3
  1193. BY70 = \_SB.PCI0.LPC0.EC0.WUC2
  1194. BY79 = \_SB.PCI0.LPC0.EC0.WUC1
  1195. BY88 = \_SB.PCI0.LPC0.EC0.WUC0
  1196. CreateDWordField (BUFF, 0x40, BY64)
  1197. CreateDWordField (BUFF, 0x49, BY73)
  1198. CreateDWordField (BUFF, 0x52, BY82)
  1199. CreateDWordField (BUFF, 0x5B, BY91)
  1200. BY64 = RV32 (\_SB.PCI0.LPC0.EC0.WUT3)
  1201. BY73 = RV32 (\_SB.PCI0.LPC0.EC0.WUT2)
  1202. BY82 = RV32 (\_SB.PCI0.LPC0.EC0.WUT1)
  1203. BY91 = RV32 (\_SB.PCI0.LPC0.EC0.WUT0)
  1204. If (((BY25 == Zero) && (BY28 == Zero)))
  1205. {
  1206. BY24 = 0xFF
  1207. BY25 = 0xFF
  1208. BY26 = 0xFF
  1209. BY28 = Ones
  1210. }
  1211.  
  1212. If (((BY34 == Zero) && (BY37 == Zero)))
  1213. {
  1214. BY33 = 0xFF
  1215. BY34 = 0xFF
  1216. BY35 = 0xFF
  1217. BY37 = Ones
  1218. }
  1219.  
  1220. If (((BY43 == Zero) && (BY46 == Zero)))
  1221. {
  1222. BY42 = 0xFF
  1223. BY43 = 0xFF
  1224. BY44 = 0xFF
  1225. BY46 = Ones
  1226. }
  1227.  
  1228. If (((BY52 == Zero) && (BY55 == Zero)))
  1229. {
  1230. BY51 = 0xFF
  1231. BY52 = 0xFF
  1232. BY53 = 0xFF
  1233. BY55 = Ones
  1234. }
  1235.  
  1236. If (((BY61 == Zero) && (BY64 == Zero)))
  1237. {
  1238. BY60 = 0xFF
  1239. BY61 = 0xFF
  1240. BY64 = Ones
  1241. }
  1242.  
  1243. If (((BY70 == Zero) && (BY73 == Zero)))
  1244. {
  1245. BY69 = 0xFF
  1246. BY70 = 0xFF
  1247. BY73 = Ones
  1248. }
  1249.  
  1250. If (((BY79 == Zero) && (BY82 == Zero)))
  1251. {
  1252. BY78 = 0xFF
  1253. BY79 = 0xFF
  1254. BY82 = Ones
  1255. }
  1256.  
  1257. If (((BY88 == Zero) && (BY91 == Zero)))
  1258. {
  1259. BY87 = 0xFF
  1260. BY88 = 0xFF
  1261. BY91 = Ones
  1262. }
  1263.  
  1264. STAT = Zero
  1265. Return (BUFF) /* \GLOG.BUFF */
  1266. }
  1267.  
  1268. Method (GNTB, 1, NotSerialized)
  1269. {
  1270. DAIN = Arg0
  1271. HSMI ()
  1272. Return (DAOU) /* External reference */
  1273. }
  1274.  
  1275. Method (SNTB, 1, NotSerialized)
  1276. {
  1277. DAIN = Arg0
  1278. HSMI ()
  1279. Return (DAOU) /* External reference */
  1280. }
  1281.  
  1282. Method (GSWL, 1, Serialized)
  1283. {
  1284. Name (BUFF, Buffer (0x0100){})
  1285. Local0 = Arg0
  1286. CreateByteField (Arg0, 0x02, DIN2)
  1287. CreateByteField (Arg0, 0x03, DIN3)
  1288. CreateByteField (BUFF, Zero, STAT)
  1289. CreateByteField (BUFF, One, ISSJ)
  1290. STAT = Zero
  1291. If ((ToInteger (DIN2) == One))
  1292. {
  1293. CreateByteField (BUFF, 0x02, SDCS)
  1294. CreateByteField (BUFF, 0x03, SDVA)
  1295. CreateByteField (BUFF, 0x04, SDRR)
  1296. CreateDWordField (BUFF, 0x05, SDTM)
  1297. Switch (ToInteger (DIN3))
  1298. {
  1299. Case (Zero)
  1300. {
  1301. ISSJ = 0xEE
  1302. If ((\_SB.PCI0.LPC0.EC0.SDC3 == One))
  1303. {
  1304. ISSJ = 0xCC
  1305. }
  1306.  
  1307. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x03))
  1308. {
  1309. ISSJ = 0xCC
  1310. }
  1311.  
  1312. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x04))
  1313. {
  1314. ISSJ = 0xCC
  1315. }
  1316.  
  1317. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x12))
  1318. {
  1319. ISSJ = 0xCC
  1320. }
  1321.  
  1322. If ((\_SB.PCI0.LPC0.EC0.SDC3 == 0x13))
  1323. {
  1324. ISSJ = 0xCC
  1325. }
  1326.  
  1327. SDCS = \_SB.PCI0.LPC0.EC0.SDC3
  1328. SDVA = \_SB.PCI0.LPC0.EC0.SDV3
  1329. SDTM = RV32 (\_SB.PCI0.LPC0.EC0.SDT3)
  1330. }
  1331. Case (One)
  1332. {
  1333. ISSJ = 0xEE
  1334. If ((\_SB.PCI0.LPC0.EC0.SDC2 == One))
  1335. {
  1336. ISSJ = 0xCC
  1337. }
  1338.  
  1339. If ((\_SB.PCI0.LPC0.EC0.SDC2 == 0x03))
  1340. {
  1341. ISSJ = 0xCC
  1342. }
  1343.  
  1344. If ((\_SB.PCI0.LPC0.EC0.SDC2 == 0x04))
  1345. {
  1346. ISSJ = 0xCC
  1347. }
  1348.  
  1349. If ((\_SB.PCI0.LPC0.EC0.SDC2 == 0x12))
  1350. {
  1351. ISSJ = 0xCC
  1352. }
  1353.  
  1354. If ((\_SB.PCI0.LPC0.EC0.SDC2 == 0x13))
  1355. {
  1356. ISSJ = 0xCC
  1357. }
  1358.  
  1359. SDCS = \_SB.PCI0.LPC0.EC0.SDC2
  1360. SDVA = \_SB.PCI0.LPC0.EC0.SDV2
  1361. SDTM = RV32 (\_SB.PCI0.LPC0.EC0.SDT2)
  1362. }
  1363. Case (0x02)
  1364. {
  1365. ISSJ = 0xEE
  1366. If ((\_SB.PCI0.LPC0.EC0.SDC1 == One))
  1367. {
  1368. ISSJ = 0xCC
  1369. }
  1370.  
  1371. If ((\_SB.PCI0.LPC0.EC0.SDC1 == 0x03))
  1372. {
  1373. ISSJ = 0xCC
  1374. }
  1375.  
  1376. If ((\_SB.PCI0.LPC0.EC0.SDC1 == 0x04))
  1377. {
  1378. ISSJ = 0xCC
  1379. }
  1380.  
  1381. If ((\_SB.PCI0.LPC0.EC0.SDC1 == 0x12))
  1382. {
  1383. ISSJ = 0xCC
  1384. }
  1385.  
  1386. If ((\_SB.PCI0.LPC0.EC0.SDC1 == 0x13))
  1387. {
  1388. ISSJ = 0xCC
  1389. }
  1390.  
  1391. SDCS = \_SB.PCI0.LPC0.EC0.SDC1
  1392. SDVA = \_SB.PCI0.LPC0.EC0.SDV1
  1393. SDTM = RV32 (\_SB.PCI0.LPC0.EC0.SDT1)
  1394. }
  1395. Case (0x03)
  1396. {
  1397. ISSJ = 0xEE
  1398. If ((\_SB.PCI0.LPC0.EC0.SDC0 == One))
  1399. {
  1400. ISSJ = 0xCC
  1401. }
  1402.  
  1403. If ((\_SB.PCI0.LPC0.EC0.SDC0 == 0x03))
  1404. {
  1405. ISSJ = 0xCC
  1406. }
  1407.  
  1408. If ((\_SB.PCI0.LPC0.EC0.SDC0 == 0x04))
  1409. {
  1410. ISSJ = 0xCC
  1411. }
  1412.  
  1413. If ((\_SB.PCI0.LPC0.EC0.SDC0 == 0x12))
  1414. {
  1415. ISSJ = 0xCC
  1416. }
  1417.  
  1418. If ((\_SB.PCI0.LPC0.EC0.SDC0 == 0x13))
  1419. {
  1420. ISSJ = 0xCC
  1421. }
  1422.  
  1423. SDCS = \_SB.PCI0.LPC0.EC0.SDC0
  1424. SDVA = \_SB.PCI0.LPC0.EC0.SDV0
  1425. SDTM = RV32 (\_SB.PCI0.LPC0.EC0.SDT0)
  1426. }
  1427. Default
  1428. {
  1429. STAT = One
  1430. ISSJ = 0xFF
  1431. SDCS = 0xFF
  1432. SDVA = 0xFF
  1433. SDRR = 0xFF
  1434. SDTM = Ones
  1435. }
  1436.  
  1437. }
  1438. }
  1439. ElseIf ((ToInteger (DIN2) == 0x02))
  1440. {
  1441. CreateByteField (BUFF, 0x02, WUCS)
  1442. CreateWordField (BUFF, 0x03, WURR)
  1443. CreateDWordField (BUFF, 0x05, WUTM)
  1444. Switch (ToInteger (DIN3))
  1445. {
  1446. Case (Zero)
  1447. {
  1448. ISSJ = 0xCC
  1449. WUCS = \_SB.PCI0.LPC0.EC0.WUC3
  1450. WUTM = RV32 (\_SB.PCI0.LPC0.EC0.WUT3)
  1451. }
  1452. Case (One)
  1453. {
  1454. ISSJ = 0xCC
  1455. WUCS = \_SB.PCI0.LPC0.EC0.WUC2
  1456. WUTM = RV32 (\_SB.PCI0.LPC0.EC0.WUT2)
  1457. }
  1458. Case (0x02)
  1459. {
  1460. ISSJ = 0xCC
  1461. WUCS = \_SB.PCI0.LPC0.EC0.WUC1
  1462. WUTM = RV32 (\_SB.PCI0.LPC0.EC0.WUT1)
  1463. }
  1464. Case (0x03)
  1465. {
  1466. ISSJ = 0xCC
  1467. WUCS = \_SB.PCI0.LPC0.EC0.WUC0
  1468. WUTM = RV32 (\_SB.PCI0.LPC0.EC0.WUT0)
  1469. }
  1470. Default
  1471. {
  1472. STAT = One
  1473. ISSJ = 0xFF
  1474. WUCS = 0xFF
  1475. WURR = 0xFFFF
  1476. WUTM = Ones
  1477. }
  1478.  
  1479. }
  1480. }
  1481. Else
  1482. {
  1483. CreateByteField (BUFF, 0x02, RRR1)
  1484. CreateWordField (BUFF, 0x03, RRR2)
  1485. CreateDWordField (BUFF, 0x05, RRR3)
  1486. ISSJ = 0xFF
  1487. RRR1 = 0xFF
  1488. RRR2 = 0xFFFF
  1489. RRR3 = Ones
  1490. STAT = One
  1491. }
  1492.  
  1493. Return (BUFF) /* \GSWL.BUFF */
  1494. }
  1495.  
  1496. Method (SKBT, 1, NotSerialized)
  1497. {
  1498. Name (BUFF, Buffer (0x0100){})
  1499. CreateByteField (Arg0, 0x02, KBLL)
  1500. CreateByteField (Arg0, 0x03, KBLH)
  1501. CreateByteField (BUFF, Zero, STAT)
  1502. STAT = Zero
  1503. Local0 = (KBLH * 0x0100)
  1504. Local1 = (Local0 + KBLL) /* \SKBT.KBLL */
  1505. Local2 = (Local1 * 0x0A)
  1506. Divide (Local2, 0x0100, Local3, Local4)
  1507. \_SB.PCI0.LPC0.EC0.KBBL = Local3
  1508. \_SB.PCI0.LPC0.EC0.KBBH = Local4
  1509. Return (BUFF) /* \SKBT.BUFF */
  1510. }
  1511.  
  1512. Method (GKBT, 1, NotSerialized)
  1513. {
  1514. Name (BUFF, Buffer (0x0100){})
  1515. CreateByteField (BUFF, Zero, STAT)
  1516. CreateByteField (BUFF, One, BY01)
  1517. CreateByteField (BUFF, 0x02, BY02)
  1518. STAT = Zero
  1519. Local1 = \_SB.PCI0.LPC0.EC0.KBBL
  1520. Local2 = \_SB.PCI0.LPC0.EC0.KBBH
  1521. Local3 = (Local2 * 0x0100)
  1522. Local4 = (Local3 + Local1)
  1523. Local5 = (Local4 / 0x0A)
  1524. Divide (Local5, 0x0100, Local6, Local7)
  1525. BY01 = Local6
  1526. BY02 = Local7
  1527. Return (BUFF) /* \GKBT.BUFF */
  1528. }
  1529.  
  1530. OperationRegion (DBG0, SystemIO, 0x80, One)
  1531. Field (DBG0, ByteAcc, NoLock, Preserve)
  1532. {
  1533. IO80, 8
  1534. }
  1535.  
  1536. OperationRegion (DBG1, SystemIO, 0x80, 0x02)
  1537. Field (DBG1, WordAcc, NoLock, Preserve)
  1538. {
  1539. P80H, 16
  1540. }
  1541.  
  1542. OperationRegion (ACMS, SystemIO, 0x72, 0x02)
  1543. Field (ACMS, ByteAcc, NoLock, Preserve)
  1544. {
  1545. ACMX, 8,
  1546. ACMA, 8
  1547. }
  1548.  
  1549. IndexField (ACMX, ACMA, ByteAcc, NoLock, Preserve)
  1550. {
  1551. Offset (0xB9),
  1552. IMEN, 8
  1553. }
  1554.  
  1555. OperationRegion (PSMI, SystemIO, 0xB0, 0x02)
  1556. Field (PSMI, ByteAcc, NoLock, Preserve)
  1557. {
  1558. APMC, 8,
  1559. APMD, 8
  1560. }
  1561.  
  1562. OperationRegion (PMRG, SystemMemory, 0xFED80300, 0x0100)
  1563. Field (PMRG, AnyAcc, NoLock, Preserve)
  1564. {
  1565. , 6,
  1566. HPEN, 1,
  1567. Offset (0x60),
  1568. P1EB, 16,
  1569. Offset (0xF0),
  1570. , 3,
  1571. RSTU, 1
  1572. }
  1573.  
  1574. OperationRegion (GSMG, SystemMemory, 0xFED81500, 0x03FF)
  1575. Field (GSMG, AnyAcc, NoLock, Preserve)
  1576. {
  1577. Offset (0x5C),
  1578. Offset (0x5E),
  1579. GS23, 1,
  1580. , 5,
  1581. GV23, 1,
  1582. GE23, 1,
  1583. Offset (0xA0),
  1584. Offset (0xA2),
  1585. GS40, 1,
  1586. , 5,
  1587. GV40, 1,
  1588. GE40, 1
  1589. }
  1590.  
  1591. OperationRegion (GSMM, SystemMemory, 0xFED80000, 0x1000)
  1592. Field (GSMM, AnyAcc, NoLock, Preserve)
  1593. {
  1594. Offset (0x288),
  1595. , 1,
  1596. CLPS, 1,
  1597. Offset (0x2B0),
  1598. , 2,
  1599. SLPS, 2
  1600. }
  1601.  
  1602. OperationRegion (PMI2, SystemMemory, 0xFED80300, 0x0100)
  1603. Field (PMI2, AnyAcc, NoLock, Preserve)
  1604. {
  1605. Offset (0xBB),
  1606. , 6,
  1607. PWDE, 1,
  1608. Offset (0xBC)
  1609. }
  1610.  
  1611. OperationRegion (P1E0, SystemIO, P1EB, 0x04)
  1612. Field (P1E0, ByteAcc, NoLock, Preserve)
  1613. {
  1614. , 14,
  1615. PEWS, 1,
  1616. WSTA, 1,
  1617. , 14,
  1618. PEWD, 1
  1619. }
  1620.  
  1621. OperationRegion (IOCC, SystemIO, 0x0400, 0x80)
  1622. Field (IOCC, ByteAcc, NoLock, Preserve)
  1623. {
  1624. Offset (0x01),
  1625. , 2,
  1626. RTCS, 1
  1627. }
  1628.  
  1629. Name (PRWP, Package (0x02)
  1630. {
  1631. Zero,
  1632. Zero
  1633. })
  1634. Method (GPRW, 2, NotSerialized)
  1635. {
  1636. PRWP [Zero] = Arg0
  1637. PRWP [One] = Arg1
  1638. If ((DAS3 == Zero))
  1639. {
  1640. If ((Arg1 <= 0x03))
  1641. {
  1642. PRWP [One] = Zero
  1643. }
  1644. }
  1645.  
  1646. Return (PRWP) /* \PRWP */
  1647. }
  1648.  
  1649. Method (SPTS, 1, NotSerialized)
  1650. {
  1651. If ((Arg0 == 0x03))
  1652. {
  1653. RSTU = Zero
  1654. }
  1655.  
  1656. CLPS = One
  1657. SLPS = One
  1658. PEWS = PEWS /* \PEWS */
  1659. }
  1660.  
  1661. Method (SWAK, 1, NotSerialized)
  1662. {
  1663. If ((Arg0 == 0x03))
  1664. {
  1665. RSTU = One
  1666. }
  1667.  
  1668. PEWS = PEWS /* \PEWS */
  1669. PEWD = Zero
  1670. }
  1671.  
  1672. Method (TPST, 1, Serialized)
  1673. {
  1674. Local0 = (Arg0 + 0xB0000000)
  1675. OperationRegion (VARM, SystemIO, 0x80, 0x04)
  1676. Field (VARM, DWordAcc, NoLock, Preserve)
  1677. {
  1678. VARR, 32
  1679. }
  1680.  
  1681. VARR = Local0
  1682. }
  1683.  
  1684. OperationRegion (GNVS, SystemMemory, 0xCCF3CA98, 0x0000018C)
  1685. Field (GNVS, AnyAcc, NoLock, Preserve)
  1686. {
  1687. SMIF, 8,
  1688. PRM0, 8,
  1689. PRM1, 8,
  1690. BRTL, 8,
  1691. TLST, 8,
  1692. IGDS, 8,
  1693. LCDA, 16,
  1694. CSTE, 16,
  1695. NSTE, 16,
  1696. CADL, 16,
  1697. PADL, 16,
  1698. LIDS, 8,
  1699. PWRS, 8,
  1700. BVAL, 32,
  1701. ADDL, 16,
  1702. BCMD, 8,
  1703. SBFN, 8,
  1704. DID, 32,
  1705. INFO, 2048,
  1706. TOML, 8,
  1707. TOMH, 8,
  1708. CEBP, 8,
  1709. C0LS, 8,
  1710. C1LS, 8,
  1711. C0HS, 8,
  1712. C1HS, 8,
  1713. ROMS, 32,
  1714. MUXF, 8,
  1715. PDDN, 8,
  1716. CNSB, 8,
  1717. RDHW, 8,
  1718. DAS3, 8,
  1719. TNBH, 8,
  1720. TCP0, 8,
  1721. TCP1, 8,
  1722. ATNB, 8,
  1723. PCP0, 8,
  1724. PCP1, 8,
  1725. PWMN, 8,
  1726. LPTY, 8,
  1727. M92D, 8,
  1728. WKPM, 8,
  1729. ALST, 8,
  1730. AFUC, 8,
  1731. EXUS, 8,
  1732. GV0E, 8,
  1733. WLSH, 8,
  1734. TSSS, 8,
  1735. AOZP, 8,
  1736. TZFG, 8,
  1737. BPS0, 8,
  1738. NAPC, 8,
  1739. PCBA, 32,
  1740. PCBL, 32,
  1741. WLAN, 8,
  1742. BLTH, 8,
  1743. GPSS, 8,
  1744. NFCS, 8,
  1745. SBTY, 8,
  1746. BDID, 16,
  1747. MWTT, 8,
  1748. ACPM, 8,
  1749. KBCS, 8,
  1750. ACEC, 8,
  1751. DPTC, 8,
  1752. ECTL, 8,
  1753. MM64, 8,
  1754. HMB1, 64,
  1755. HMB2, 64,
  1756. HMM1, 64,
  1757. HMM2, 64,
  1758. HML1, 64,
  1759. HML2, 64,
  1760. WOVS, 8,
  1761. TCNT, 8,
  1762. NPWD, 8,
  1763. WNWP, 8
  1764. }
  1765.  
  1766. OperationRegion (OGNS, SystemMemory, 0xCCF3CF18, 0x0000002C)
  1767. Field (OGNS, AnyAcc, Lock, Preserve)
  1768. {
  1769. OG00, 8,
  1770. OG01, 8,
  1771. M2WL, 8,
  1772. THPN, 8,
  1773. PBAR, 8,
  1774. THPD, 8,
  1775. DTEN, 8,
  1776. SDMO, 8,
  1777. TBEN, 8,
  1778. TBNH, 8,
  1779. RV2I, 8,
  1780. ISDS, 8,
  1781. WDM1, 8,
  1782. CID1, 16,
  1783. STXE, 8,
  1784. ST10, 8,
  1785. ST11, 8,
  1786. ST12, 8,
  1787. ST13, 8,
  1788. ST14, 8,
  1789. ST15, 8,
  1790. ST16, 8,
  1791. ST17, 8,
  1792. ST18, 8,
  1793. ST19, 8,
  1794. SD11, 8,
  1795. SD12, 8,
  1796. SD13, 8,
  1797. SD14, 8,
  1798. SD15, 8,
  1799. SD16, 8,
  1800. SD21, 8,
  1801. SD22, 8,
  1802. SD23, 8,
  1803. SD24, 8,
  1804. SD25, 8,
  1805. SD26, 8,
  1806. SD31, 8,
  1807. SD32, 8,
  1808. SD33, 8,
  1809. SD34, 8,
  1810. SD35, 8,
  1811. SD36, 8
  1812. }
  1813.  
  1814. Method (SCMP, 2, NotSerialized)
  1815. {
  1816. Name (STG1, Buffer (0x50){})
  1817. Name (STG2, Buffer (0x50){})
  1818. STG1 = Arg0
  1819. STG2 = Arg1
  1820. If ((SizeOf (Arg0) != SizeOf (Arg1)))
  1821. {
  1822. Return (Zero)
  1823. }
  1824.  
  1825. Local0 = Zero
  1826. While ((Local0 < SizeOf (Arg0)))
  1827. {
  1828. If ((DerefOf (STG1 [Local0]) != DerefOf (STG2 [Local0]
  1829. )))
  1830. {
  1831. Return (Zero)
  1832. }
  1833.  
  1834. Local0++
  1835. }
  1836.  
  1837. Return (One)
  1838. }
  1839.  
  1840. Name (WNOS, Zero)
  1841. Name (MYOS, Zero)
  1842. Name (HTTS, Zero)
  1843. Name (OSTB, Ones)
  1844. Name (TPOS, Zero)
  1845. Name (LINX, Zero)
  1846. Name (OSSP, Zero)
  1847. Method (SEQL, 2, Serialized)
  1848. {
  1849. Local0 = SizeOf (Arg0)
  1850. Local1 = SizeOf (Arg1)
  1851. If ((Local0 != Local1))
  1852. {
  1853. Return (Zero)
  1854. }
  1855.  
  1856. Name (BUF0, Buffer (Local0){})
  1857. BUF0 = Arg0
  1858. Name (BUF1, Buffer (Local0){})
  1859. BUF1 = Arg1
  1860. Local2 = Zero
  1861. While ((Local2 < Local0))
  1862. {
  1863. Local3 = DerefOf (BUF0 [Local2])
  1864. Local4 = DerefOf (BUF1 [Local2])
  1865. If ((Local3 != Local4))
  1866. {
  1867. Return (Zero)
  1868. }
  1869.  
  1870. Local2++
  1871. }
  1872.  
  1873. Return (One)
  1874. }
  1875.  
  1876. Method (OSTP, 0, NotSerialized)
  1877. {
  1878. If ((OSTB == Ones))
  1879. {
  1880. If (CondRefOf (\_OSI, Local0))
  1881. {
  1882. OSTB = Zero
  1883. TPOS = Zero
  1884. If (_OSI ("Windows 2001"))
  1885. {
  1886. OSTB = 0x08
  1887. TPOS = 0x08
  1888. }
  1889.  
  1890. If (_OSI ("Windows 2001.1"))
  1891. {
  1892. OSTB = 0x20
  1893. TPOS = 0x20
  1894. }
  1895.  
  1896. If (_OSI ("Windows 2001 SP1"))
  1897. {
  1898. OSTB = 0x10
  1899. TPOS = 0x10
  1900. }
  1901.  
  1902. If (_OSI ("Windows 2001 SP2"))
  1903. {
  1904. OSTB = 0x11
  1905. TPOS = 0x11
  1906. }
  1907.  
  1908. If (_OSI ("Windows 2001 SP3"))
  1909. {
  1910. OSTB = 0x12
  1911. TPOS = 0x12
  1912. }
  1913.  
  1914. If (_OSI ("Windows 2006"))
  1915. {
  1916. OSTB = 0x40
  1917. TPOS = 0x40
  1918. }
  1919.  
  1920. If (_OSI ("Windows 2006 SP1"))
  1921. {
  1922. OSTB = 0x41
  1923. TPOS = 0x41
  1924. OSSP = One
  1925. }
  1926.  
  1927. If (_OSI ("Windows 2009"))
  1928. {
  1929. OSSP = One
  1930. OSTB = 0x50
  1931. TPOS = 0x50
  1932. }
  1933.  
  1934. If (_OSI ("Windows 2012"))
  1935. {
  1936. OSSP = One
  1937. OSTB = 0x60
  1938. TPOS = 0x60
  1939. }
  1940.  
  1941. If (_OSI ("Windows 2013"))
  1942. {
  1943. OSSP = One
  1944. OSTB = 0x61
  1945. TPOS = 0x61
  1946. }
  1947.  
  1948. If (_OSI ("Windows 2015"))
  1949. {
  1950. OSSP = One
  1951. OSTB = 0x70
  1952. TPOS = 0x70
  1953. }
  1954.  
  1955. If (_OSI ("Linux"))
  1956. {
  1957. LINX = One
  1958. OSTB = 0x80
  1959. TPOS = 0x80
  1960. }
  1961. }
  1962. ElseIf (CondRefOf (\_OS, Local0))
  1963. {
  1964. If (SEQL (_OS, "Microsoft Windows"))
  1965. {
  1966. OSTB = One
  1967. TPOS = One
  1968. }
  1969. ElseIf (SEQL (_OS, "Microsoft WindowsME: Millennium Edition"))
  1970. {
  1971. OSTB = 0x02
  1972. TPOS = 0x02
  1973. }
  1974. ElseIf (SEQL (_OS, "Microsoft Windows NT"))
  1975. {
  1976. OSTB = 0x04
  1977. TPOS = 0x04
  1978. }
  1979. Else
  1980. {
  1981. OSTB = Zero
  1982. TPOS = Zero
  1983. }
  1984. }
  1985. Else
  1986. {
  1987. OSTB = Zero
  1988. TPOS = Zero
  1989. }
  1990. }
  1991.  
  1992. Return (OSTB) /* \OSTB */
  1993. }
  1994.  
  1995. Name (BUFN, Zero)
  1996. Name (MBUF, Buffer (0x1000){})
  1997. OperationRegion (MDBG, SystemMemory, 0xCCED4018, 0x00001004)
  1998. Field (MDBG, AnyAcc, Lock, Preserve)
  1999. {
  2000. MDG0, 32768
  2001. }
  2002.  
  2003. Method (DB2H, 1, Serialized)
  2004. {
  2005. SHOW (Arg0)
  2006. MDGC (0x20)
  2007. MDG0 = MBUF /* \MBUF */
  2008. }
  2009.  
  2010. Method (DW2H, 1, Serialized)
  2011. {
  2012. Local0 = Arg0
  2013. Local1 = (Arg0 >> 0x08)
  2014. Local0 &= 0xFF
  2015. Local1 &= 0xFF
  2016. DB2H (Local1)
  2017. BUFN--
  2018. DB2H (Local0)
  2019. }
  2020.  
  2021. Method (DD2H, 1, Serialized)
  2022. {
  2023. Local0 = Arg0
  2024. Local1 = (Arg0 >> 0x10)
  2025. Local0 &= 0xFFFF
  2026. Local1 &= 0xFFFF
  2027. DW2H (Local1)
  2028. BUFN--
  2029. DW2H (Local0)
  2030. }
  2031.  
  2032. Method (MBGS, 1, Serialized)
  2033. {
  2034. Local0 = SizeOf (Arg0)
  2035. Name (BUFS, Buffer (Local0){})
  2036. BUFS = Arg0
  2037. MDGC (0x20)
  2038. While (Local0)
  2039. {
  2040. MDGC (DerefOf (BUFS [(SizeOf (Arg0) - Local0)]))
  2041. Local0--
  2042. }
  2043.  
  2044. MDG0 = MBUF /* \MBUF */
  2045. }
  2046.  
  2047. Method (MBGH, 1, Serialized)
  2048. {
  2049. ToHexString (Arg0, Local1)
  2050. Local0 = SizeOf (Local1)
  2051. Name (BUFS, Buffer (Local0){})
  2052. BUFS = Local1
  2053. MDGC (0x20)
  2054. While (Local0)
  2055. {
  2056. MDGC (DerefOf (BUFS [(SizeOf (Local1) - Local0)]))
  2057. Local0--
  2058. }
  2059.  
  2060. MDG0 = MBUF /* \MBUF */
  2061. }
  2062.  
  2063. Method (SHOW, 1, Serialized)
  2064. {
  2065. MDGC (NTOC ((Arg0 >> 0x04)))
  2066. MDGC (NTOC (Arg0))
  2067. }
  2068.  
  2069. Method (LINE, 0, Serialized)
  2070. {
  2071. Local0 = BUFN /* \BUFN */
  2072. Local0 &= 0x0F
  2073. While (Local0)
  2074. {
  2075. MDGC (Zero)
  2076. Local0++
  2077. Local0 &= 0x0F
  2078. }
  2079. }
  2080.  
  2081. Method (MDGC, 1, Serialized)
  2082. {
  2083. MBUF [BUFN] = Arg0
  2084. BUFN += One
  2085. If ((BUFN > 0x0FFF))
  2086. {
  2087. BUFN &= 0x0FFF
  2088. UP_L (One)
  2089. }
  2090. }
  2091.  
  2092. Method (UP_L, 1, Serialized)
  2093. {
  2094. Local2 = Arg0
  2095. Local2 <<= 0x04
  2096. MOVE (Local2)
  2097. Local3 = (0x1000 - Local2)
  2098. While (Local2)
  2099. {
  2100. MBUF [Local3] = Zero
  2101. Local3++
  2102. Local2--
  2103. }
  2104. }
  2105.  
  2106. Method (MOVE, 1, Serialized)
  2107. {
  2108. Local4 = Arg0
  2109. BUFN = Zero
  2110. Local5 = (0x1000 - Local4)
  2111. While (Local5)
  2112. {
  2113. Local5--
  2114. MBUF [BUFN] = DerefOf (MBUF [Local4])
  2115. BUFN++
  2116. Local4++
  2117. }
  2118. }
  2119.  
  2120. Method (NTOC, 1, Serialized)
  2121. {
  2122. Local0 = (Arg0 & 0x0F)
  2123. If ((Local0 < 0x0A))
  2124. {
  2125. Local0 += 0x30
  2126. }
  2127. Else
  2128. {
  2129. Local0 += 0x37
  2130. }
  2131.  
  2132. Return (Local0)
  2133. }
  2134.  
  2135. Scope (_SB)
  2136. {
  2137. Device (PLTF)
  2138. {
  2139. Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID
  2140. Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID
  2141. Name (_UID, One) // _UID: Unique ID
  2142. Device (C000)
  2143. {
  2144. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2145. Name (_UID, Zero) // _UID: Unique ID
  2146. }
  2147.  
  2148. Device (C001)
  2149. {
  2150. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2151. Name (_UID, One) // _UID: Unique ID
  2152. }
  2153.  
  2154. Device (C002)
  2155. {
  2156. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2157. Name (_UID, 0x02) // _UID: Unique ID
  2158. }
  2159.  
  2160. Device (C003)
  2161. {
  2162. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2163. Name (_UID, 0x03) // _UID: Unique ID
  2164. }
  2165.  
  2166. Device (C004)
  2167. {
  2168. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2169. Name (_UID, 0x04) // _UID: Unique ID
  2170. }
  2171.  
  2172. Device (C005)
  2173. {
  2174. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2175. Name (_UID, 0x05) // _UID: Unique ID
  2176. }
  2177.  
  2178. Device (C006)
  2179. {
  2180. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2181. Name (_UID, 0x06) // _UID: Unique ID
  2182. }
  2183.  
  2184. Device (C007)
  2185. {
  2186. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2187. Name (_UID, 0x07) // _UID: Unique ID
  2188. }
  2189.  
  2190. Device (C008)
  2191. {
  2192. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2193. Name (_UID, 0x08) // _UID: Unique ID
  2194. }
  2195.  
  2196. Device (C009)
  2197. {
  2198. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2199. Name (_UID, 0x09) // _UID: Unique ID
  2200. }
  2201.  
  2202. Device (C00A)
  2203. {
  2204. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2205. Name (_UID, 0x0A) // _UID: Unique ID
  2206. }
  2207.  
  2208. Device (C00B)
  2209. {
  2210. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2211. Name (_UID, 0x0B) // _UID: Unique ID
  2212. }
  2213.  
  2214. Device (C00C)
  2215. {
  2216. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2217. Name (_UID, 0x0C) // _UID: Unique ID
  2218. }
  2219.  
  2220. Device (C00D)
  2221. {
  2222. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2223. Name (_UID, 0x0D) // _UID: Unique ID
  2224. }
  2225.  
  2226. Device (C00E)
  2227. {
  2228. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2229. Name (_UID, 0x0E) // _UID: Unique ID
  2230. }
  2231.  
  2232. Device (C00F)
  2233. {
  2234. Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
  2235. Name (_UID, 0x0F) // _UID: Unique ID
  2236. }
  2237. }
  2238. }
  2239.  
  2240. Name (_S0, Package (0x04) // _S0_: S0 System State
  2241. {
  2242. Zero,
  2243. Zero,
  2244. Zero,
  2245. Zero
  2246. })
  2247. Name (_S3, Package (0x04) // _S3_: S3 System State
  2248. {
  2249. 0x03,
  2250. 0x03,
  2251. Zero,
  2252. Zero
  2253. })
  2254.  
  2255. Name (_S4, Package (0x04) // _S4_: S4 System State
  2256. {
  2257. 0x04,
  2258. 0x04,
  2259. Zero,
  2260. Zero
  2261. })
  2262. Name (_S5, Package (0x04) // _S5_: S5 System State
  2263. {
  2264. 0x05,
  2265. 0x05,
  2266. Zero,
  2267. Zero
  2268. })
  2269. Scope (_GPE)
  2270. {
  2271. Method (XL08, 0, NotSerialized)
  2272. {
  2273. TPST (0x3908)
  2274. If ((TBEN == Zero))
  2275. {
  2276. Notify (\_SB.PCI0.GPP0, 0x02) // Device Wake
  2277. Notify (\_SB.PCI0.GPP1, 0x02) // Device Wake
  2278. }
  2279.  
  2280. Notify (\_SB.PCI0.GPP5, 0x02) // Device Wake
  2281. Notify (\_SB.PCI0.GP17, 0x02) // Device Wake
  2282. Notify (\_SB.PCI0.GP18, 0x02) // Device Wake
  2283. Notify (\_SB.PWRB, 0x02) // Device Wake
  2284. }
  2285.  
  2286. Method (XL0D, 0, NotSerialized)
  2287. {
  2288. TPST (0x390D)
  2289. Notify (\_SB.PCI0.GPP2, 0x02) // Device Wake
  2290. }
  2291.  
  2292. Method (XL0E, 0, NotSerialized)
  2293. {
  2294. TPST (0x390E)
  2295. Notify (\_SB.PCI0.GPP4, 0x02) // Device Wake
  2296. }
  2297.  
  2298. Method (XL0F, 0, NotSerialized)
  2299. {
  2300. TPST (0x390F)
  2301. Notify (\_SB.PCI0.GPP3, 0x02) // Device Wake
  2302. }
  2303.  
  2304. Method (XL19, 0, NotSerialized)
  2305. {
  2306. TPST (0x3919)
  2307. Notify (\_SB.PCI0.GP17.XHC0, 0x02) // Device Wake
  2308. Notify (\_SB.PCI0.GP17.XHC1, 0x02) // Device Wake
  2309. Notify (\_SB.PWRB, 0x02) // Device Wake
  2310. }
  2311. }
  2312.  
  2313. Name (PICM, Zero)
  2314. Name (GPIC, Zero)
  2315. Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
  2316. {
  2317. PICM = Arg0
  2318. GPIC = Arg0
  2319. If (PICM)
  2320. {
  2321. \_SB.DSPI ()
  2322. If (NAPC)
  2323. {
  2324. \_SB.PCI0.NAPE ()
  2325. }
  2326. }
  2327. }
  2328.  
  2329. Method (WRCM, 2, Serialized)
  2330. {
  2331. OperationRegion (CMOS, SystemIO, 0x70, 0x04)
  2332. Field (CMOS, AnyAcc, NoLock, Preserve)
  2333. {
  2334. LIND, 8,
  2335. LDAT, 8,
  2336. HIND, 8,
  2337. HDAT, 8
  2338. }
  2339.  
  2340. HIND = Arg0
  2341. HDAT = Arg1
  2342. }
  2343.  
  2344. Method (RDCM, 1, Serialized)
  2345. {
  2346. OperationRegion (CMOS, SystemIO, 0x70, 0x04)
  2347. Field (CMOS, AnyAcc, NoLock, Preserve)
  2348. {
  2349. LIND, 8,
  2350. LDAT, 8,
  2351. HIND, 8,
  2352. HDAT, 8
  2353. }
  2354.  
  2355. HIND = Arg0
  2356. Local0 = HDAT /* \RDCM.HDAT */
  2357. Return (Local0)
  2358. }
  2359.  
  2360. Method (RV32, 1, NotSerialized)
  2361. {
  2362. Name (BYT0, Zero)
  2363. Name (BYT1, Zero)
  2364. Name (BYT2, Zero)
  2365. Name (BYT3, Zero)
  2366. Name (RETS, Zero)
  2367. BYT0 = Arg0
  2368. BYT1 = (Arg0 >> 0x08)
  2369. BYT2 = (Arg0 >> 0x10)
  2370. BYT3 = (Arg0 >> 0x18)
  2371. Local0 = (BYT0 << 0x18)
  2372. RETS |= (Local0 & 0xFF000000) /* \RV32.RETS */
  2373. Local1 = (BYT1 << 0x10)
  2374. RETS |= (Local1 & 0x00FF0000) /* \RV32.RETS */
  2375. Local2 = (BYT2 << 0x08)
  2376. RETS |= (Local2 & 0xFF00) /* \RV32.RETS */
  2377. RETS |= (BYT3 & 0xFF) /* \RV32.RETS */
  2378. Return (RETS) /* \RV32.RETS */
  2379. }
  2380.  
  2381. Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
  2382. {
  2383. SPTS (Arg0)
  2384. WRCM (0x67, One)
  2385. If ((Arg0 == One))
  2386. {
  2387. \_SB.S80H (0x1051)
  2388. }
  2389.  
  2390. If ((Arg0 == 0x03))
  2391. {
  2392. \_SB.S80H (0x1053)
  2393. SLPS = One
  2394. }
  2395.  
  2396. If ((Arg0 == 0x04))
  2397. {
  2398. \_SB.S80H (0x1054)
  2399. SLPS = One
  2400. RSTU = One
  2401. }
  2402.  
  2403. If ((Arg0 == 0x05))
  2404. {
  2405. \_SB.S80H (0x1055)
  2406. If ((WKPM == One))
  2407. {
  2408. PWDE = One
  2409. }
  2410.  
  2411. BCMD = 0x90
  2412. \_SB.BSMI (Zero)
  2413. \_SB.GSMI (0x03)
  2414. }
  2415.  
  2416. If (CondRefOf (\_SB.TPM2.PTS))
  2417. {
  2418. \_SB.TPM2.PTS (Arg0)
  2419. }
  2420.  
  2421. \_SB.APTS (Arg0, MPTS (Arg0))
  2422. }
  2423.  
  2424. Method (_WAK, 1, NotSerialized) // _WAK: Wake
  2425. {
  2426. SWAK (Arg0)
  2427. \_SB.AWAK (Arg0)
  2428. If (((Arg0 == 0x03) || (Arg0 == 0x04)))
  2429. {
  2430. If ((GPIC != Zero))
  2431. {
  2432. \_SB.DSPI ()
  2433. If (NAPC)
  2434. {
  2435. \_SB.PCI0.NAPE ()
  2436. }
  2437. }
  2438. }
  2439.  
  2440. If ((Arg0 == 0x03))
  2441. {
  2442. \_SB.S80H (0x10E3)
  2443. }
  2444.  
  2445. If ((Arg0 == 0x04))
  2446. {
  2447. \_SB.S80H (0x10E4)
  2448. If (((M009 == 0x73) && One))
  2449. {
  2450. (M009 == 0x74)
  2451. Zero
  2452. Notify (\_SB.I2CD.I2SC, One) // Device Check
  2453. }
  2454. }
  2455.  
  2456. \_SB.PCI0.LPC0.EC0.ERRL = Zero
  2457. \_SB.ACAD.ACDC = 0xFF
  2458. MWAK (Arg0)
  2459. Return (Zero)
  2460. }
  2461.  
  2462. Scope (_SB)
  2463. {
  2464. Device (PWRB)
  2465. {
  2466. Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
  2467. Method (_STA, 0, NotSerialized) // _STA: Status
  2468. {
  2469. Return (0x0B)
  2470. }
  2471. }
  2472.  
  2473. Device (PCI0)
  2474. {
  2475. Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
  2476. Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
  2477. Name (_UID, One) // _UID: Unique ID
  2478. Name (_BBN, Zero) // _BBN: BIOS Bus Number
  2479. Name (_ADR, Zero) // _ADR: Address
  2480. Method (_INI, 0, NotSerialized) // _INI: Initialize
  2481. {
  2482. If ((GPIC != Zero))
  2483. {
  2484. DSPI ()
  2485. If (NAPC)
  2486. {
  2487. NAPE ()
  2488. }
  2489. }
  2490.  
  2491. OSTP ()
  2492. }
  2493.  
  2494. Name (SUPP, Zero)
  2495. Name (CTRL, Zero)
  2496. Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
  2497. {
  2498. CreateDWordField (Arg3, Zero, CDW1)
  2499. CreateDWordField (Arg3, 0x04, CDW2)
  2500. CreateDWordField (Arg3, 0x08, CDW3)
  2501. If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
  2502. {
  2503. SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
  2504. CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
  2505. If ((TBEN == One))
  2506. {
  2507. If ((TBNH != Zero))
  2508. {
  2509. CTRL &= 0xFFFFFFF5
  2510. }
  2511. Else
  2512. {
  2513. CTRL &= 0xFFFFFFF4
  2514. }
  2515. }
  2516.  
  2517. If (((SUPP & 0x16) != 0x16))
  2518. {
  2519. CTRL &= 0x1E
  2520. }
  2521.  
  2522. CTRL &= 0x1D
  2523. If (~(CDW1 & One))
  2524. {
  2525. If ((CTRL & One)){}
  2526. If ((CTRL & 0x04)){}
  2527. If ((CTRL & 0x10)){}
  2528. }
  2529.  
  2530. If ((Arg1 != One))
  2531. {
  2532. CDW1 |= 0x08
  2533. }
  2534.  
  2535. If ((CDW3 != CTRL))
  2536. {
  2537. CDW1 |= 0x10
  2538. }
  2539.  
  2540. CDW3 = CTRL /* \_SB_.PCI0.CTRL */
  2541. Return (Arg3)
  2542. }
  2543. Else
  2544. {
  2545. CDW1 |= 0x04
  2546. Return (Arg3)
  2547. }
  2548. }
  2549.  
  2550. Method (TOM, 0, NotSerialized)
  2551. {
  2552. Local0 = (TOML * 0x00010000)
  2553. Local1 = (TOMH * 0x01000000)
  2554. Local0 += Local1
  2555. Return (Local0)
  2556. }
  2557.  
  2558. Name (CRES, ResourceTemplate ()
  2559. {
  2560. WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode,
  2561. 0x0000, // Granularity
  2562. 0x0000, // Range Minimum
  2563. 0x00FF, // Range Maximum
  2564. 0x0000, // Translation Offset
  2565. 0x0100, // Length
  2566. 0x00,, )
  2567. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  2568. 0x0000, // Granularity
  2569. 0x0000, // Range Minimum
  2570. 0x0CF7, // Range Maximum
  2571. 0x0000, // Translation Offset
  2572. 0x0CF8, // Length
  2573. 0x00,, , TypeStatic, DenseTranslation)
  2574. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  2575. 0x0000, // Granularity
  2576. 0x0D00, // Range Minimum
  2577. 0xFFFF, // Range Maximum
  2578. 0x0000, // Translation Offset
  2579. 0xF300, // Length
  2580. ,, , TypeStatic, DenseTranslation)
  2581. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2582. 0x00000000, // Granularity
  2583. 0x000A0000, // Range Minimum
  2584. 0x000BFFFF, // Range Maximum
  2585. 0x00000000, // Translation Offset
  2586. 0x00020000, // Length
  2587. 0x00,, , AddressRangeMemory, TypeStatic)
  2588. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadOnly,
  2589. 0x00000000, // Granularity
  2590. 0x000C0000, // Range Minimum
  2591. 0x000C3FFF, // Range Maximum
  2592. 0x00000000, // Translation Offset
  2593. 0x00004000, // Length
  2594. 0x00,, , AddressRangeMemory, TypeStatic)
  2595. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadOnly,
  2596. 0x00000000, // Granularity
  2597. 0x000C4000, // Range Minimum
  2598. 0x000C7FFF, // Range Maximum
  2599. 0x00000000, // Translation Offset
  2600. 0x00004000, // Length
  2601. 0x00,, , AddressRangeMemory, TypeStatic)
  2602. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
  2603. 0x00000000, // Granularity
  2604. 0x000C8000, // Range Minimum
  2605. 0x000CBFFF, // Range Maximum
  2606. 0x00000000, // Translation Offset
  2607. 0x00004000, // Length
  2608. 0x00,, , AddressRangeMemory, TypeStatic)
  2609. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
  2610. 0x00000000, // Granularity
  2611. 0x000CC000, // Range Minimum
  2612. 0x000CFFFF, // Range Maximum
  2613. 0x00000000, // Translation Offset
  2614. 0x00004000, // Length
  2615. 0x00,, , AddressRangeMemory, TypeStatic)
  2616. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2617. 0x00000000, // Granularity
  2618. 0x000D0000, // Range Minimum
  2619. 0x000D3FFF, // Range Maximum
  2620. 0x00000000, // Translation Offset
  2621. 0x00004000, // Length
  2622. 0x00,, , AddressRangeMemory, TypeStatic)
  2623. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2624. 0x00000000, // Granularity
  2625. 0x000D4000, // Range Minimum
  2626. 0x000D7FFF, // Range Maximum
  2627. 0x00000000, // Translation Offset
  2628. 0x00004000, // Length
  2629. 0x00,, , AddressRangeMemory, TypeStatic)
  2630. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2631. 0x00000000, // Granularity
  2632. 0x000D8000, // Range Minimum
  2633. 0x000DBFFF, // Range Maximum
  2634. 0x00000000, // Translation Offset
  2635. 0x00004000, // Length
  2636. 0x00,, , AddressRangeMemory, TypeStatic)
  2637. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2638. 0x00000000, // Granularity
  2639. 0x000DC000, // Range Minimum
  2640. 0x000DFFFF, // Range Maximum
  2641. 0x00000000, // Translation Offset
  2642. 0x00004000, // Length
  2643. 0x00,, , AddressRangeMemory, TypeStatic)
  2644. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  2645. 0x00000000, // Granularity
  2646. 0x000E0000, // Range Minimum
  2647. 0x000E3FFF, // Range Maximum
  2648. 0x00000000, // Translation Offset
  2649. 0x00004000, // Length
  2650. 0x00,, , AddressRangeMemory, TypeStatic)
  2651. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  2652. 0x00000000, // Granularity
  2653. 0x000E4000, // Range Minimum
  2654. 0x000E7FFF, // Range Maximum
  2655. 0x00000000, // Translation Offset
  2656. 0x00004000, // Length
  2657. 0x00,, , AddressRangeMemory, TypeStatic)
  2658. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  2659. 0x00000000, // Granularity
  2660. 0x000E8000, // Range Minimum
  2661. 0x000EBFFF, // Range Maximum
  2662. 0x00000000, // Translation Offset
  2663. 0x00004000, // Length
  2664. 0x00,, , AddressRangeMemory, TypeStatic)
  2665. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  2666. 0x00000000, // Granularity
  2667. 0x000EC000, // Range Minimum
  2668. 0x000EFFFF, // Range Maximum
  2669. 0x00000000, // Translation Offset
  2670. 0x00004000, // Length
  2671. 0x00,, , AddressRangeMemory, TypeStatic)
  2672. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2673. 0x00000000, // Granularity
  2674. 0x80000000, // Range Minimum
  2675. 0xF7FFFFFF, // Range Maximum
  2676. 0x00000000, // Translation Offset
  2677. 0x78000000, // Length
  2678. 0x00,, _Y00, AddressRangeMemory, TypeStatic)
  2679. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2680. 0x00000000, // Granularity
  2681. 0xFC000000, // Range Minimum
  2682. 0xFEAFFFFF, // Range Maximum
  2683. 0x00000000, // Translation Offset
  2684. 0x02B00000, // Length
  2685. 0x00,, _Y01, AddressRangeMemory, TypeStatic)
  2686. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2687. 0x00000000, // Granularity
  2688. 0xFED45000, // Range Minimum
  2689. 0xFED811FF, // Range Maximum
  2690. 0x00000000, // Translation Offset
  2691. 0x0003C200, // Length
  2692. 0x00,, , AddressRangeMemory, TypeStatic)
  2693. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2694. 0x00000000, // Granularity
  2695. 0xFED81900, // Range Minimum
  2696. 0xFED81FFF, // Range Maximum
  2697. 0x00000000, // Translation Offset
  2698. 0x00000700, // Length
  2699. 0x00,, , AddressRangeMemory, TypeStatic)
  2700. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2701. 0x00000000, // Granularity
  2702. 0xFEDC0000, // Range Minimum
  2703. 0xFEDC0FFF, // Range Maximum
  2704. 0x00000000, // Translation Offset
  2705. 0x00001000, // Length
  2706. 0x00,, , AddressRangeMemory, TypeStatic)
  2707. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2708. 0x00000000, // Granularity
  2709. 0xFEDC6000, // Range Minimum
  2710. 0xFEDC6FFF, // Range Maximum
  2711. 0x00000000, // Translation Offset
  2712. 0x00001000, // Length
  2713. 0x00,, , AddressRangeMemory, TypeStatic)
  2714. IO (Decode16,
  2715. 0x0CF8, // Range Minimum
  2716. 0x0CF8, // Range Maximum
  2717. 0x01, // Alignment
  2718. 0x08, // Length
  2719. )
  2720. QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2721. 0x0000000000000000, // Granularity
  2722. 0x0000000000000000, // Range Minimum
  2723. 0x0000000000000000, // Range Maximum
  2724. 0x0000000000000000, // Translation Offset
  2725. 0x0000000000000000, // Length
  2726. ,, _Y02, AddressRangeMemory, TypeStatic)
  2727. QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  2728. 0x0000000000000000, // Granularity
  2729. 0x0000000000000000, // Range Minimum
  2730. 0x0000000000000000, // Range Maximum
  2731. 0x0000000000000000, // Translation Offset
  2732. 0x0000000000000000, // Length
  2733. ,, _Y03, AddressRangeMemory, TypeStatic)
  2734. })
  2735. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  2736. {
  2737. CreateDWordField (CRES, \_SB.PCI0._Y00._MIN, BTMN) // _MIN: Minimum Base Address
  2738. CreateDWordField (CRES, \_SB.PCI0._Y00._MAX, BTMX) // _MAX: Maximum Base Address
  2739. CreateDWordField (CRES, \_SB.PCI0._Y00._LEN, BTLN) // _LEN: Length
  2740. CreateDWordField (CRES, \_SB.PCI0._Y01._MIN, BTN1) // _MIN: Minimum Base Address
  2741. CreateDWordField (CRES, \_SB.PCI0._Y01._MAX, BTX1) // _MAX: Maximum Base Address
  2742. CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, BTL1) // _LEN: Length
  2743. BTMN = TOM ()
  2744. BTMX = (PCBA - One)
  2745. BTLN = (PCBA - BTMN) /* \_SB_.PCI0._CRS.BTMN */
  2746. BTN1 = (PCBL + One)
  2747. BTL1 = (BTX1 - BTN1) /* \_SB_.PCI0._CRS.BTN1 */
  2748. BTL1 += One
  2749. If ((MM64 == One))
  2750. {
  2751. CreateQWordField (CRES, \_SB.PCI0._Y02._MIN, M1MN) // _MIN: Minimum Base Address
  2752. CreateQWordField (CRES, \_SB.PCI0._Y02._MAX, M1MX) // _MAX: Maximum Base Address
  2753. CreateQWordField (CRES, \_SB.PCI0._Y02._LEN, M1LN) // _LEN: Length
  2754. M1MN = HMB1 /* \HMB1 */
  2755. M1MX = HMM1 /* \HMM1 */
  2756. M1LN = HML1 /* \HML1 */
  2757. CreateQWordField (CRES, \_SB.PCI0._Y03._MIN, M2MN) // _MIN: Minimum Base Address
  2758. CreateQWordField (CRES, \_SB.PCI0._Y03._MAX, M2MX) // _MAX: Maximum Base Address
  2759. CreateQWordField (CRES, \_SB.PCI0._Y03._LEN, M2LN) // _LEN: Length
  2760. M2MN = HMB2 /* \HMB2 */
  2761. M2MX = HMM2 /* \HMM2 */
  2762. M2LN = HML2 /* \HML2 */
  2763. }
  2764.  
  2765. Return (CRES) /* \_SB_.PCI0.CRES */
  2766. }
  2767.  
  2768. Device (MEMR)
  2769. {
  2770. Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
  2771. Name (BAR3, 0xFDE00000)
  2772. Name (MEM1, ResourceTemplate ()
  2773. {
  2774. Memory32Fixed (ReadWrite,
  2775. 0x00000000, // Address Base
  2776. 0x00000000, // Address Length
  2777. _Y04)
  2778. Memory32Fixed (ReadWrite,
  2779. 0x00000000, // Address Base
  2780. 0x00000000, // Address Length
  2781. _Y05)
  2782. Memory32Fixed (ReadWrite,
  2783. 0x00000000, // Address Base
  2784. 0x00000000, // Address Length
  2785. _Y06)
  2786. })
  2787. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  2788. {
  2789. CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y04._BAS, MB01) // _BAS: Base Address
  2790. CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y04._LEN, ML01) // _LEN: Length
  2791. CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y05._BAS, MB02) // _BAS: Base Address
  2792. CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y05._LEN, ML02) // _LEN: Length
  2793. CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y06._BAS, MB03) // _BAS: Base Address
  2794. CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y06._LEN, ML03) // _LEN: Length
  2795. If (GPIC)
  2796. {
  2797. MB01 = 0xFEC00000
  2798. MB02 = 0xFEE00000
  2799. ML01 = 0x1000
  2800. If (NAPC)
  2801. {
  2802. ML01 += 0x1000
  2803. }
  2804.  
  2805. ML02 = 0x1000
  2806. }
  2807.  
  2808. If ((BAR3 != 0xFFF00000))
  2809. {
  2810. MB03 = BAR3 /* \_SB_.PCI0.MEMR.BAR3 */
  2811. ML03 = 0x00100000
  2812. }
  2813.  
  2814. Return (MEM1) /* \_SB_.PCI0.MEMR.MEM1 */
  2815. }
  2816. }
  2817.  
  2818. Mutex (NAPM, 0x00)
  2819. Method (NAPE, 0, NotSerialized)
  2820. {
  2821. Acquire (NAPM, 0xFFFF)
  2822. Local0 = (PCBA + 0xB8)
  2823. OperationRegion (VARM, SystemMemory, Local0, 0x08)
  2824. Field (VARM, DWordAcc, NoLock, Preserve)
  2825. {
  2826. NAPX, 32,
  2827. NAPD, 32
  2828. }
  2829.  
  2830. Local1 = NAPX /* \_SB_.PCI0.NAPE.NAPX */
  2831. NAPX = 0x14300000
  2832. Local0 = NAPD /* \_SB_.PCI0.NAPE.NAPD */
  2833. Local0 &= 0xFFFFFFEF
  2834. NAPD = Local0
  2835. NAPX = Local1
  2836. Release (NAPM)
  2837. }
  2838.  
  2839. Name (PR00, Package (0x0E)
  2840. {
  2841. Package (0x04)
  2842. {
  2843. 0x0001FFFF,
  2844. Zero,
  2845. LNKA,
  2846. Zero
  2847. },
  2848.  
  2849. Package (0x04)
  2850. {
  2851. 0x0001FFFF,
  2852. One,
  2853. LNKB,
  2854. Zero
  2855. },
  2856.  
  2857. Package (0x04)
  2858. {
  2859. 0x0001FFFF,
  2860. 0x02,
  2861. LNKC,
  2862. Zero
  2863. },
  2864.  
  2865. Package (0x04)
  2866. {
  2867. 0x0002FFFF,
  2868. Zero,
  2869. LNKE,
  2870. Zero
  2871. },
  2872.  
  2873. Package (0x04)
  2874. {
  2875. 0x0002FFFF,
  2876. One,
  2877. LNKF,
  2878. Zero
  2879. },
  2880.  
  2881. Package (0x04)
  2882. {
  2883. 0x0002FFFF,
  2884. 0x02,
  2885. LNKG,
  2886. Zero
  2887. },
  2888.  
  2889. Package (0x04)
  2890. {
  2891. 0x0002FFFF,
  2892. 0x03,
  2893. LNKH,
  2894. Zero
  2895. },
  2896.  
  2897. Package (0x04)
  2898. {
  2899. 0x0008FFFF,
  2900. Zero,
  2901. LNKA,
  2902. Zero
  2903. },
  2904.  
  2905. Package (0x04)
  2906. {
  2907. 0x0008FFFF,
  2908. One,
  2909. LNKB,
  2910. Zero
  2911. },
  2912.  
  2913. Package (0x04)
  2914. {
  2915. 0x0008FFFF,
  2916. 0x02,
  2917. LNKC,
  2918. Zero
  2919. },
  2920.  
  2921. Package (0x04)
  2922. {
  2923. 0x0014FFFF,
  2924. Zero,
  2925. LNKA,
  2926. Zero
  2927. },
  2928.  
  2929. Package (0x04)
  2930. {
  2931. 0x0014FFFF,
  2932. One,
  2933. LNKB,
  2934. Zero
  2935. },
  2936.  
  2937. Package (0x04)
  2938. {
  2939. 0x0014FFFF,
  2940. 0x02,
  2941. LNKC,
  2942. Zero
  2943. },
  2944.  
  2945. Package (0x04)
  2946. {
  2947. 0x0014FFFF,
  2948. 0x03,
  2949. LNKD,
  2950. Zero
  2951. }
  2952. })
  2953. Name (AR00, Package (0x0E)
  2954. {
  2955. Package (0x04)
  2956. {
  2957. 0x0001FFFF,
  2958. Zero,
  2959. Zero,
  2960. 0x10
  2961. },
  2962.  
  2963. Package (0x04)
  2964. {
  2965. 0x0001FFFF,
  2966. One,
  2967. Zero,
  2968. 0x11
  2969. },
  2970.  
  2971. Package (0x04)
  2972. {
  2973. 0x0001FFFF,
  2974. 0x02,
  2975. Zero,
  2976. 0x12
  2977. },
  2978.  
  2979. Package (0x04)
  2980. {
  2981. 0x0002FFFF,
  2982. Zero,
  2983. Zero,
  2984. 0x14
  2985. },
  2986.  
  2987. Package (0x04)
  2988. {
  2989. 0x0002FFFF,
  2990. One,
  2991. Zero,
  2992. 0x15
  2993. },
  2994.  
  2995. Package (0x04)
  2996. {
  2997. 0x0002FFFF,
  2998. 0x02,
  2999. Zero,
  3000. 0x16
  3001. },
  3002.  
  3003. Package (0x04)
  3004. {
  3005. 0x0002FFFF,
  3006. 0x03,
  3007. Zero,
  3008. 0x17
  3009. },
  3010.  
  3011. Package (0x04)
  3012. {
  3013. 0x0008FFFF,
  3014. Zero,
  3015. Zero,
  3016. 0x10
  3017. },
  3018.  
  3019. Package (0x04)
  3020. {
  3021. 0x0008FFFF,
  3022. One,
  3023. Zero,
  3024. 0x11
  3025. },
  3026.  
  3027. Package (0x04)
  3028. {
  3029. 0x0008FFFF,
  3030. 0x02,
  3031. Zero,
  3032. 0x12
  3033. },
  3034.  
  3035. Package (0x04)
  3036. {
  3037. 0x0014FFFF,
  3038. Zero,
  3039. Zero,
  3040. 0x10
  3041. },
  3042.  
  3043. Package (0x04)
  3044. {
  3045. 0x0014FFFF,
  3046. One,
  3047. Zero,
  3048. 0x11
  3049. },
  3050.  
  3051. Package (0x04)
  3052. {
  3053. 0x0014FFFF,
  3054. 0x02,
  3055. Zero,
  3056. 0x12
  3057. },
  3058.  
  3059. Package (0x04)
  3060. {
  3061. 0x0014FFFF,
  3062. 0x03,
  3063. Zero,
  3064. 0x13
  3065. }
  3066. })
  3067. Name (NR00, Package (0x0E)
  3068. {
  3069. Package (0x04)
  3070. {
  3071. 0x0001FFFF,
  3072. Zero,
  3073. Zero,
  3074. 0x28
  3075. },
  3076.  
  3077. Package (0x04)
  3078. {
  3079. 0x0001FFFF,
  3080. One,
  3081. Zero,
  3082. 0x29
  3083. },
  3084.  
  3085. Package (0x04)
  3086. {
  3087. 0x0001FFFF,
  3088. 0x02,
  3089. Zero,
  3090. 0x2A
  3091. },
  3092.  
  3093. Package (0x04)
  3094. {
  3095. 0x0002FFFF,
  3096. Zero,
  3097. Zero,
  3098. 0x24
  3099. },
  3100.  
  3101. Package (0x04)
  3102. {
  3103. 0x0002FFFF,
  3104. One,
  3105. Zero,
  3106. 0x25
  3107. },
  3108.  
  3109. Package (0x04)
  3110. {
  3111. 0x0002FFFF,
  3112. 0x02,
  3113. Zero,
  3114. 0x26
  3115. },
  3116.  
  3117. Package (0x04)
  3118. {
  3119. 0x0002FFFF,
  3120. 0x03,
  3121. Zero,
  3122. 0x27
  3123. },
  3124.  
  3125. Package (0x04)
  3126. {
  3127. 0x0008FFFF,
  3128. Zero,
  3129. Zero,
  3130. 0x20
  3131. },
  3132.  
  3133. Package (0x04)
  3134. {
  3135. 0x0008FFFF,
  3136. One,
  3137. Zero,
  3138. 0x21
  3139. },
  3140.  
  3141. Package (0x04)
  3142. {
  3143. 0x0008FFFF,
  3144. One,
  3145. Zero,
  3146. 0x22
  3147. },
  3148.  
  3149. Package (0x04)
  3150. {
  3151. 0x0014FFFF,
  3152. Zero,
  3153. Zero,
  3154. 0x10
  3155. },
  3156.  
  3157. Package (0x04)
  3158. {
  3159. 0x0014FFFF,
  3160. One,
  3161. Zero,
  3162. 0x11
  3163. },
  3164.  
  3165. Package (0x04)
  3166. {
  3167. 0x0014FFFF,
  3168. 0x02,
  3169. Zero,
  3170. 0x12
  3171. },
  3172.  
  3173. Package (0x04)
  3174. {
  3175. 0x0014FFFF,
  3176. 0x03,
  3177. Zero,
  3178. 0x13
  3179. }
  3180. })
  3181. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  3182. {
  3183. If (PICM)
  3184. {
  3185. If (NAPC)
  3186. {
  3187. Return (NR00) /* \_SB_.PCI0.NR00 */
  3188. }
  3189. Else
  3190. {
  3191. Return (AR00) /* \_SB_.PCI0.AR00 */
  3192. }
  3193. }
  3194. Else
  3195. {
  3196. Return (PR00) /* \_SB_.PCI0.PR00 */
  3197. }
  3198. }
  3199.  
  3200. Device (GPP0)
  3201. {
  3202. Name (_ADR, 0x00010001) // _ADR: Address
  3203. Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
  3204. {
  3205. If ((WKPM == One))
  3206. {
  3207. Return (GPRW (0x08, 0x04))
  3208. }
  3209. Else
  3210. {
  3211. Return (GPRW (0x08, Zero))
  3212. }
  3213. }
  3214.  
  3215. Name (PR01, Package (0x04)
  3216. {
  3217. Package (0x04)
  3218. {
  3219. 0xFFFF,
  3220. Zero,
  3221. LNKA,
  3222. Zero
  3223. },
  3224.  
  3225. Package (0x04)
  3226. {
  3227. 0xFFFF,
  3228. One,
  3229. LNKB,
  3230. Zero
  3231. },
  3232.  
  3233. Package (0x04)
  3234. {
  3235. 0xFFFF,
  3236. 0x02,
  3237. LNKC,
  3238. Zero
  3239. },
  3240.  
  3241. Package (0x04)
  3242. {
  3243. 0xFFFF,
  3244. 0x03,
  3245. LNKD,
  3246. Zero
  3247. }
  3248. })
  3249. Name (AR01, Package (0x04)
  3250. {
  3251. Package (0x04)
  3252. {
  3253. 0xFFFF,
  3254. Zero,
  3255. Zero,
  3256. 0x10
  3257. },
  3258.  
  3259. Package (0x04)
  3260. {
  3261. 0xFFFF,
  3262. One,
  3263. Zero,
  3264. 0x11
  3265. },
  3266.  
  3267. Package (0x04)
  3268. {
  3269. 0xFFFF,
  3270. 0x02,
  3271. Zero,
  3272. 0x12
  3273. },
  3274.  
  3275. Package (0x04)
  3276. {
  3277. 0xFFFF,
  3278. 0x03,
  3279. Zero,
  3280. 0x13
  3281. }
  3282. })
  3283. Name (NR01, Package (0x04)
  3284. {
  3285. Package (0x04)
  3286. {
  3287. 0xFFFF,
  3288. Zero,
  3289. Zero,
  3290. 0x18
  3291. },
  3292.  
  3293. Package (0x04)
  3294. {
  3295. 0xFFFF,
  3296. One,
  3297. Zero,
  3298. 0x19
  3299. },
  3300.  
  3301. Package (0x04)
  3302. {
  3303. 0xFFFF,
  3304. 0x02,
  3305. Zero,
  3306. 0x1A
  3307. },
  3308.  
  3309. Package (0x04)
  3310. {
  3311. 0xFFFF,
  3312. 0x03,
  3313. Zero,
  3314. 0x1B
  3315. }
  3316. })
  3317. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  3318. {
  3319. If (PICM)
  3320. {
  3321. If (NAPC)
  3322. {
  3323. Return (NR01) /* \_SB_.PCI0.GPP0.NR01 */
  3324. }
  3325. Else
  3326. {
  3327. Return (AR01) /* \_SB_.PCI0.GPP0.AR01 */
  3328. }
  3329. }
  3330. Else
  3331. {
  3332. Return (PR01) /* \_SB_.PCI0.GPP0.PR01 */
  3333. }
  3334. }
  3335. }
  3336.  
  3337. Device (GPP1)
  3338. {
  3339. Name (_ADR, 0x00010002) // _ADR: Address
  3340. Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
  3341. {
  3342. If ((WKPM == One))
  3343. {
  3344. Return (GPRW (0x08, 0x04))
  3345. }
  3346. Else
  3347. {
  3348. Return (GPRW (0x08, Zero))
  3349. }
  3350. }
  3351.  
  3352. Name (PR02, Package (0x04)
  3353. {
  3354. Package (0x04)
  3355. {
  3356. 0xFFFF,
  3357. Zero,
  3358. LNKE,
  3359. Zero
  3360. },
  3361.  
  3362. Package (0x04)
  3363. {
  3364. 0xFFFF,
  3365. One,
  3366. LNKF,
  3367. Zero
  3368. },
  3369.  
  3370. Package (0x04)
  3371. {
  3372. 0xFFFF,
  3373. 0x02,
  3374. LNKG,
  3375. Zero
  3376. },
  3377.  
  3378. Package (0x04)
  3379. {
  3380. 0xFFFF,
  3381. 0x03,
  3382. LNKH,
  3383. Zero
  3384. }
  3385. })
  3386. Name (AR02, Package (0x04)
  3387. {
  3388. Package (0x04)
  3389. {
  3390. 0xFFFF,
  3391. Zero,
  3392. Zero,
  3393. 0x14
  3394. },
  3395.  
  3396. Package (0x04)
  3397. {
  3398. 0xFFFF,
  3399. One,
  3400. Zero,
  3401. 0x15
  3402. },
  3403.  
  3404. Package (0x04)
  3405. {
  3406. 0xFFFF,
  3407. 0x02,
  3408. Zero,
  3409. 0x16
  3410. },
  3411.  
  3412. Package (0x04)
  3413. {
  3414. 0xFFFF,
  3415. 0x03,
  3416. Zero,
  3417. 0x17
  3418. }
  3419. })
  3420. Name (NR02, Package (0x04)
  3421. {
  3422. Package (0x04)
  3423. {
  3424. 0xFFFF,
  3425. Zero,
  3426. Zero,
  3427. 0x1C
  3428. },
  3429.  
  3430. Package (0x04)
  3431. {
  3432. 0xFFFF,
  3433. One,
  3434. Zero,
  3435. 0x1D
  3436. },
  3437.  
  3438. Package (0x04)
  3439. {
  3440. 0xFFFF,
  3441. 0x02,
  3442. Zero,
  3443. 0x1E
  3444. },
  3445.  
  3446. Package (0x04)
  3447. {
  3448. 0xFFFF,
  3449. 0x03,
  3450. Zero,
  3451. 0x1F
  3452. }
  3453. })
  3454. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  3455. {
  3456. If (PICM)
  3457. {
  3458. If (NAPC)
  3459. {
  3460. Return (NR02) /* \_SB_.PCI0.GPP1.NR02 */
  3461. }
  3462. Else
  3463. {
  3464. Return (AR02) /* \_SB_.PCI0.GPP1.AR02 */
  3465. }
  3466. }
  3467. Else
  3468. {
  3469. Return (PR02) /* \_SB_.PCI0.GPP1.PR02 */
  3470. }
  3471. }
  3472.  
  3473. Device (DEV0)
  3474. {
  3475. Name (_ADR, Zero) // _ADR: Address
  3476. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  3477. {
  3478. Return (Zero)
  3479. }
  3480. }
  3481.  
  3482. Device (DEV1)
  3483. {
  3484. Name (_ADR, One) // _ADR: Address
  3485. Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
  3486. {
  3487. Return (Zero)
  3488. }
  3489. }
  3490. }
  3491.  
  3492. Device (GPP2)
  3493. {
  3494. Name (_ADR, 0x00010003) // _ADR: Address
  3495. Method (RHRW, 0, NotSerialized)
  3496. {
  3497. If ((WKPM == One))
  3498. {
  3499. Return (GPRW (0x0D, 0x04))
  3500. }
  3501. Else
  3502. {
  3503. Return (GPRW (0x0D, Zero))
  3504. }
  3505. }
  3506.  
  3507. Name (PR03, Package (0x04)
  3508. {
  3509. Package (0x04)
  3510. {
  3511. 0xFFFF,
  3512. Zero,
  3513. LNKA,
  3514. Zero
  3515. },
  3516.  
  3517. Package (0x04)
  3518. {
  3519. 0xFFFF,
  3520. One,
  3521. LNKB,
  3522. Zero
  3523. },
  3524.  
  3525. Package (0x04)
  3526. {
  3527. 0xFFFF,
  3528. 0x02,
  3529. LNKC,
  3530. Zero
  3531. },
  3532.  
  3533. Package (0x04)
  3534. {
  3535. 0xFFFF,
  3536. 0x03,
  3537. LNKD,
  3538. Zero
  3539. }
  3540. })
  3541. Name (AR03, Package (0x04)
  3542. {
  3543. Package (0x04)
  3544. {
  3545. 0xFFFF,
  3546. Zero,
  3547. Zero,
  3548. 0x10
  3549. },
  3550.  
  3551. Package (0x04)
  3552. {
  3553. 0xFFFF,
  3554. One,
  3555. Zero,
  3556. 0x11
  3557. },
  3558.  
  3559. Package (0x04)
  3560. {
  3561. 0xFFFF,
  3562. 0x02,
  3563. Zero,
  3564. 0x12
  3565. },
  3566.  
  3567. Package (0x04)
  3568. {
  3569. 0xFFFF,
  3570. 0x03,
  3571. Zero,
  3572. 0x13
  3573. }
  3574. })
  3575. Name (NR03, Package (0x04)
  3576. {
  3577. Package (0x04)
  3578. {
  3579. 0xFFFF,
  3580. Zero,
  3581. Zero,
  3582. 0x20
  3583. },
  3584.  
  3585. Package (0x04)
  3586. {
  3587. 0xFFFF,
  3588. One,
  3589. Zero,
  3590. 0x21
  3591. },
  3592.  
  3593. Package (0x04)
  3594. {
  3595. 0xFFFF,
  3596. 0x02,
  3597. Zero,
  3598. 0x22
  3599. },
  3600.  
  3601. Package (0x04)
  3602. {
  3603. 0xFFFF,
  3604. 0x03,
  3605. Zero,
  3606. 0x23
  3607. }
  3608. })
  3609. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  3610. {
  3611. If (PICM)
  3612. {
  3613. If (NAPC)
  3614. {
  3615. Return (NR03) /* \_SB_.PCI0.GPP2.NR03 */
  3616. }
  3617. Else
  3618. {
  3619. Return (AR03) /* \_SB_.PCI0.GPP2.AR03 */
  3620. }
  3621. }
  3622. Else
  3623. {
  3624. Return (PR03) /* \_SB_.PCI0.GPP2.PR03 */
  3625. }
  3626. }
  3627.  
  3628. Device (WWAN)
  3629. {
  3630. Name (_ADR, Zero) // _ADR: Address
  3631. }
  3632. }
  3633.  
  3634. Device (GPP3)
  3635. {
  3636. Name (_ADR, 0x00020001) // _ADR: Address
  3637. Method (RHRW, 0, NotSerialized)
  3638. {
  3639. If ((WKPM == One))
  3640. {
  3641. Return (GPRW (0x0F, 0x04))
  3642. }
  3643. Else
  3644. {
  3645. Return (GPRW (0x0F, Zero))
  3646. }
  3647. }
  3648.  
  3649. Name (PR04, Package (0x04)
  3650. {
  3651. Package (0x04)
  3652. {
  3653. 0xFFFF,
  3654. Zero,
  3655. LNKE,
  3656. Zero
  3657. },
  3658.  
  3659. Package (0x04)
  3660. {
  3661. 0xFFFF,
  3662. One,
  3663. LNKF,
  3664. Zero
  3665. },
  3666.  
  3667. Package (0x04)
  3668. {
  3669. 0xFFFF,
  3670. 0x02,
  3671. LNKG,
  3672. Zero
  3673. },
  3674.  
  3675. Package (0x04)
  3676. {
  3677. 0xFFFF,
  3678. 0x03,
  3679. LNKH,
  3680. Zero
  3681. }
  3682. })
  3683. Name (AR04, Package (0x04)
  3684. {
  3685. Package (0x04)
  3686. {
  3687. 0xFFFF,
  3688. Zero,
  3689. Zero,
  3690. 0x14
  3691. },
  3692.  
  3693. Package (0x04)
  3694. {
  3695. 0xFFFF,
  3696. One,
  3697. Zero,
  3698. 0x15
  3699. },
  3700.  
  3701. Package (0x04)
  3702. {
  3703. 0xFFFF,
  3704. 0x02,
  3705. Zero,
  3706. 0x16
  3707. },
  3708.  
  3709. Package (0x04)
  3710. {
  3711. 0xFFFF,
  3712. 0x03,
  3713. Zero,
  3714. 0x17
  3715. }
  3716. })
  3717. Name (NR04, Package (0x04)
  3718. {
  3719. Package (0x04)
  3720. {
  3721. 0xFFFF,
  3722. Zero,
  3723. Zero,
  3724. 0x24
  3725. },
  3726.  
  3727. Package (0x04)
  3728. {
  3729. 0xFFFF,
  3730. One,
  3731. Zero,
  3732. 0x25
  3733. },
  3734.  
  3735. Package (0x04)
  3736. {
  3737. 0xFFFF,
  3738. 0x02,
  3739. Zero,
  3740. 0x26
  3741. },
  3742.  
  3743. Package (0x04)
  3744. {
  3745. 0xFFFF,
  3746. 0x03,
  3747. Zero,
  3748. 0x27
  3749. }
  3750. })
  3751. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  3752. {
  3753. If (PICM)
  3754. {
  3755. If (NAPC)
  3756. {
  3757. Return (NR04) /* \_SB_.PCI0.GPP3.NR04 */
  3758. }
  3759. Else
  3760. {
  3761. Return (AR04) /* \_SB_.PCI0.GPP3.AR04 */
  3762. }
  3763. }
  3764. Else
  3765. {
  3766. Return (PR04) /* \_SB_.PCI0.GPP3.PR04 */
  3767. }
  3768. }
  3769.  
  3770. Device (RTL8)
  3771. {
  3772. Name (_ADR, Zero) // _ADR: Address
  3773. }
  3774. }
  3775.  
  3776. Device (GPP4)
  3777. {
  3778. Name (_ADR, 0x00020002) // _ADR: Address
  3779. Method (RHRW, 0, NotSerialized)
  3780. {
  3781. If ((WKPM == One))
  3782. {
  3783. Return (GPRW (0x0E, 0x04))
  3784. }
  3785. Else
  3786. {
  3787. Return (GPRW (0x0E, Zero))
  3788. }
  3789. }
  3790.  
  3791. Name (PR05, Package (0x04)
  3792. {
  3793. Package (0x04)
  3794. {
  3795. 0xFFFF,
  3796. Zero,
  3797. LNKA,
  3798. Zero
  3799. },
  3800.  
  3801. Package (0x04)
  3802. {
  3803. 0xFFFF,
  3804. One,
  3805. LNKB,
  3806. Zero
  3807. },
  3808.  
  3809. Package (0x04)
  3810. {
  3811. 0xFFFF,
  3812. 0x02,
  3813. LNKC,
  3814. Zero
  3815. },
  3816.  
  3817. Package (0x04)
  3818. {
  3819. 0xFFFF,
  3820. 0x03,
  3821. LNKD,
  3822. Zero
  3823. }
  3824. })
  3825. Name (AR05, Package (0x04)
  3826. {
  3827. Package (0x04)
  3828. {
  3829. 0xFFFF,
  3830. Zero,
  3831. Zero,
  3832. 0x10
  3833. },
  3834.  
  3835. Package (0x04)
  3836. {
  3837. 0xFFFF,
  3838. One,
  3839. Zero,
  3840. 0x11
  3841. },
  3842.  
  3843. Package (0x04)
  3844. {
  3845. 0xFFFF,
  3846. 0x02,
  3847. Zero,
  3848. 0x12
  3849. },
  3850.  
  3851. Package (0x04)
  3852. {
  3853. 0xFFFF,
  3854. 0x03,
  3855. Zero,
  3856. 0x13
  3857. }
  3858. })
  3859. Name (NR05, Package (0x04)
  3860. {
  3861. Package (0x04)
  3862. {
  3863. 0xFFFF,
  3864. Zero,
  3865. Zero,
  3866. 0x28
  3867. },
  3868.  
  3869. Package (0x04)
  3870. {
  3871. 0xFFFF,
  3872. One,
  3873. Zero,
  3874. 0x29
  3875. },
  3876.  
  3877. Package (0x04)
  3878. {
  3879. 0xFFFF,
  3880. 0x02,
  3881. Zero,
  3882. 0x2A
  3883. },
  3884.  
  3885. Package (0x04)
  3886. {
  3887. 0xFFFF,
  3888. 0x03,
  3889. Zero,
  3890. 0x2B
  3891. }
  3892. })
  3893. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  3894. {
  3895. If (PICM)
  3896. {
  3897. If (NAPC)
  3898. {
  3899. Return (NR05) /* \_SB_.PCI0.GPP4.NR05 */
  3900. }
  3901. Else
  3902. {
  3903. Return (AR05) /* \_SB_.PCI0.GPP4.AR05 */
  3904. }
  3905. }
  3906. Else
  3907. {
  3908. Return (PR05) /* \_SB_.PCI0.GPP4.PR05 */
  3909. }
  3910. }
  3911. }
  3912.  
  3913. Device (GPP5)
  3914. {
  3915. Name (_ADR, 0x00020003) // _ADR: Address
  3916. Method (RHRW, 0, NotSerialized)
  3917. {
  3918. If ((WKPM == One))
  3919. {
  3920. Return (GPRW (0x08, 0x04))
  3921. }
  3922. Else
  3923. {
  3924. Return (GPRW (0x08, Zero))
  3925. }
  3926. }
  3927.  
  3928. Name (PR06, Package (0x04)
  3929. {
  3930. Package (0x04)
  3931. {
  3932. 0xFFFF,
  3933. Zero,
  3934. LNKE,
  3935. Zero
  3936. },
  3937.  
  3938. Package (0x04)
  3939. {
  3940. 0xFFFF,
  3941. One,
  3942. LNKF,
  3943. Zero
  3944. },
  3945.  
  3946. Package (0x04)
  3947. {
  3948. 0xFFFF,
  3949. 0x02,
  3950. LNKG,
  3951. Zero
  3952. },
  3953.  
  3954. Package (0x04)
  3955. {
  3956. 0xFFFF,
  3957. 0x03,
  3958. LNKH,
  3959. Zero
  3960. }
  3961. })
  3962. Name (AR06, Package (0x04)
  3963. {
  3964. Package (0x04)
  3965. {
  3966. 0xFFFF,
  3967. Zero,
  3968. Zero,
  3969. 0x14
  3970. },
  3971.  
  3972. Package (0x04)
  3973. {
  3974. 0xFFFF,
  3975. One,
  3976. Zero,
  3977. 0x15
  3978. },
  3979.  
  3980. Package (0x04)
  3981. {
  3982. 0xFFFF,
  3983. 0x02,
  3984. Zero,
  3985. 0x16
  3986. },
  3987.  
  3988. Package (0x04)
  3989. {
  3990. 0xFFFF,
  3991. 0x03,
  3992. Zero,
  3993. 0x17
  3994. }
  3995. })
  3996. Name (NR06, Package (0x04)
  3997. {
  3998. Package (0x04)
  3999. {
  4000. 0xFFFF,
  4001. Zero,
  4002. Zero,
  4003. 0x2C
  4004. },
  4005.  
  4006. Package (0x04)
  4007. {
  4008. 0xFFFF,
  4009. One,
  4010. Zero,
  4011. 0x2D
  4012. },
  4013.  
  4014. Package (0x04)
  4015. {
  4016. 0xFFFF,
  4017. 0x02,
  4018. Zero,
  4019. 0x2E
  4020. },
  4021.  
  4022. Package (0x04)
  4023. {
  4024. 0xFFFF,
  4025. 0x03,
  4026. Zero,
  4027. 0x2F
  4028. }
  4029. })
  4030. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  4031. {
  4032. If (PICM)
  4033. {
  4034. If (NAPC)
  4035. {
  4036. Return (NR06) /* \_SB_.PCI0.GPP5.NR06 */
  4037. }
  4038. Else
  4039. {
  4040. Return (AR06) /* \_SB_.PCI0.GPP5.AR06 */
  4041. }
  4042. }
  4043. Else
  4044. {
  4045. Return (PR06) /* \_SB_.PCI0.GPP5.PR06 */
  4046. }
  4047. }
  4048.  
  4049. Device (DEV0)
  4050. {
  4051. Name (_ADR, Zero) // _ADR: Address
  4052. }
  4053. }
  4054.  
  4055. Device (GPP6)
  4056. {
  4057. Name (_ADR, 0x00020004) // _ADR: Address
  4058. Name (PR07, Package (0x04)
  4059. {
  4060. Package (0x04)
  4061. {
  4062. 0xFFFF,
  4063. Zero,
  4064. LNKA,
  4065. Zero
  4066. },
  4067.  
  4068. Package (0x04)
  4069. {
  4070. 0xFFFF,
  4071. One,
  4072. LNKB,
  4073. Zero
  4074. },
  4075.  
  4076. Package (0x04)
  4077. {
  4078. 0xFFFF,
  4079. 0x02,
  4080. LNKC,
  4081. Zero
  4082. },
  4083.  
  4084. Package (0x04)
  4085. {
  4086. 0xFFFF,
  4087. 0x03,
  4088. LNKD,
  4089. Zero
  4090. }
  4091. })
  4092. Name (AR07, Package (0x04)
  4093. {
  4094. Package (0x04)
  4095. {
  4096. 0xFFFF,
  4097. Zero,
  4098. Zero,
  4099. 0x10
  4100. },
  4101.  
  4102. Package (0x04)
  4103. {
  4104. 0xFFFF,
  4105. One,
  4106. Zero,
  4107. 0x11
  4108. },
  4109.  
  4110. Package (0x04)
  4111. {
  4112. 0xFFFF,
  4113. 0x02,
  4114. Zero,
  4115. 0x12
  4116. },
  4117.  
  4118. Package (0x04)
  4119. {
  4120. 0xFFFF,
  4121. 0x03,
  4122. Zero,
  4123. 0x13
  4124. }
  4125. })
  4126. Name (NR07, Package (0x04)
  4127. {
  4128. Package (0x04)
  4129. {
  4130. 0xFFFF,
  4131. Zero,
  4132. Zero,
  4133. 0x30
  4134. },
  4135.  
  4136. Package (0x04)
  4137. {
  4138. 0xFFFF,
  4139. One,
  4140. Zero,
  4141. 0x31
  4142. },
  4143.  
  4144. Package (0x04)
  4145. {
  4146. 0xFFFF,
  4147. 0x02,
  4148. Zero,
  4149. 0x32
  4150. },
  4151.  
  4152. Package (0x04)
  4153. {
  4154. 0xFFFF,
  4155. 0x03,
  4156. Zero,
  4157. 0x33
  4158. }
  4159. })
  4160. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  4161. {
  4162. If (PICM)
  4163. {
  4164. If (NAPC)
  4165. {
  4166. Return (NR07) /* \_SB_.PCI0.GPP6.NR07 */
  4167. }
  4168. Else
  4169. {
  4170. Return (AR07) /* \_SB_.PCI0.GPP6.AR07 */
  4171. }
  4172. }
  4173. Else
  4174. {
  4175. Return (PR07) /* \_SB_.PCI0.GPP6.PR07 */
  4176. }
  4177. }
  4178. }
  4179.  
  4180. Device (GP17)
  4181. {
  4182. Name (_ADR, 0x00080001) // _ADR: Address
  4183. Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
  4184. {
  4185. If ((WKPM == One))
  4186. {
  4187. Return (GPRW (0x19, 0x04))
  4188. }
  4189. Else
  4190. {
  4191. Return (GPRW (0x19, Zero))
  4192. }
  4193. }
  4194.  
  4195. Name (PR17, Package (0x04)
  4196. {
  4197. Package (0x04)
  4198. {
  4199. 0xFFFF,
  4200. Zero,
  4201. LNKG,
  4202. Zero
  4203. },
  4204.  
  4205. Package (0x04)
  4206. {
  4207. 0xFFFF,
  4208. One,
  4209. LNKH,
  4210. Zero
  4211. },
  4212.  
  4213. Package (0x04)
  4214. {
  4215. 0xFFFF,
  4216. 0x02,
  4217. LNKE,
  4218. Zero
  4219. },
  4220.  
  4221. Package (0x04)
  4222. {
  4223. 0xFFFF,
  4224. 0x03,
  4225. LNKF,
  4226. Zero
  4227. }
  4228. })
  4229. Name (AR17, Package (0x04)
  4230. {
  4231. Package (0x04)
  4232. {
  4233. 0xFFFF,
  4234. Zero,
  4235. Zero,
  4236. 0x16
  4237. },
  4238.  
  4239. Package (0x04)
  4240. {
  4241. 0xFFFF,
  4242. One,
  4243. Zero,
  4244. 0x17
  4245. },
  4246.  
  4247. Package (0x04)
  4248. {
  4249. 0xFFFF,
  4250. 0x02,
  4251. Zero,
  4252. 0x14
  4253. },
  4254.  
  4255. Package (0x04)
  4256. {
  4257. 0xFFFF,
  4258. 0x03,
  4259. Zero,
  4260. 0x15
  4261. }
  4262. })
  4263. Name (NR17, Package (0x04)
  4264. {
  4265. Package (0x04)
  4266. {
  4267. 0xFFFF,
  4268. Zero,
  4269. Zero,
  4270. 0x26
  4271. },
  4272.  
  4273. Package (0x04)
  4274. {
  4275. 0xFFFF,
  4276. One,
  4277. Zero,
  4278. 0x27
  4279. },
  4280.  
  4281. Package (0x04)
  4282. {
  4283. 0xFFFF,
  4284. 0x02,
  4285. Zero,
  4286. 0x24
  4287. },
  4288.  
  4289. Package (0x04)
  4290. {
  4291. 0xFFFF,
  4292. 0x03,
  4293. Zero,
  4294. 0x25
  4295. }
  4296. })
  4297. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  4298. {
  4299. If (PICM)
  4300. {
  4301. If (NAPC)
  4302. {
  4303. Return (NR17) /* \_SB_.PCI0.GP17.NR17 */
  4304. }
  4305. Else
  4306. {
  4307. Return (AR17) /* \_SB_.PCI0.GP17.AR17 */
  4308. }
  4309. }
  4310. Else
  4311. {
  4312. Return (PR17) /* \_SB_.PCI0.GP17.PR17 */
  4313. }
  4314. }
  4315.  
  4316. Device (VGA)
  4317. {
  4318. Name (_ADR, Zero) // _ADR: Address
  4319. Method (_STA, 0, NotSerialized) // _STA: Status
  4320. {
  4321. Return (0x0F)
  4322. }
  4323.  
  4324. Name (DOSA, Zero)
  4325. Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
  4326. {
  4327. DOSA = Arg0
  4328. }
  4329.  
  4330. Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
  4331. {
  4332. Return (Package (0x07)
  4333. {
  4334. 0x00010110,
  4335. 0x00010210,
  4336. 0x00010220,
  4337. 0x00010230,
  4338. 0x00010240,
  4339. 0x00031000,
  4340. 0x00032000
  4341. })
  4342. }
  4343.  
  4344. Device (LCD)
  4345. {
  4346. Name (_ADR, 0x0110) // _ADR: Address
  4347. Name (BCLB, Package (0x34)
  4348. {
  4349. 0x5A,
  4350. 0x3C,
  4351. 0x02,
  4352. 0x04,
  4353. 0x06,
  4354. 0x08,
  4355. 0x0A,
  4356. 0x0C,
  4357. 0x0E,
  4358. 0x10,
  4359. 0x12,
  4360. 0x14,
  4361. 0x16,
  4362. 0x18,
  4363. 0x1A,
  4364. 0x1C,
  4365. 0x1E,
  4366. 0x20,
  4367. 0x22,
  4368. 0x24,
  4369. 0x26,
  4370. 0x28,
  4371. 0x2A,
  4372. 0x2C,
  4373. 0x2E,
  4374. 0x30,
  4375. 0x32,
  4376. 0x34,
  4377. 0x36,
  4378. 0x38,
  4379. 0x3A,
  4380. 0x3C,
  4381. 0x3E,
  4382. 0x40,
  4383. 0x42,
  4384. 0x44,
  4385. 0x46,
  4386. 0x48,
  4387. 0x4A,
  4388. 0x4C,
  4389. 0x4E,
  4390. 0x50,
  4391. 0x52,
  4392. 0x54,
  4393. 0x56,
  4394. 0x58,
  4395. 0x5A,
  4396. 0x5C,
  4397. 0x5E,
  4398. 0x60,
  4399. 0x62,
  4400. 0x64
  4401. })
  4402. Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
  4403. {
  4404. Return (BCLB) /* \_SB_.PCI0.GP17.VGA_.LCD_.BCLB */
  4405. }
  4406.  
  4407. Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
  4408. {
  4409. Divide ((Arg0 * 0xFF), 0x64, Local1, Local0)
  4410. AFN7 (Local0)
  4411. BRTL = Arg0
  4412. }
  4413. }
  4414. }
  4415.  
  4416. Device (PSP)
  4417. {
  4418. Name (_ADR, 0x02) // _ADR: Address
  4419. }
  4420.  
  4421. Device (ACP)
  4422. {
  4423. Name (_ADR, 0x05) // _ADR: Address
  4424. Method (_WOV, 0, NotSerialized)
  4425. {
  4426. Return (WOVS) /* \WOVS */
  4427. }
  4428. }
  4429.  
  4430. Device (AZAL)
  4431. {
  4432. Name (_ADR, 0x06) // _ADR: Address
  4433. }
  4434.  
  4435. Device (HDAU)
  4436. {
  4437. Name (_ADR, One) // _ADR: Address
  4438. }
  4439.  
  4440. Device (XHC0)
  4441. {
  4442. Name (_ADR, 0x03) // _ADR: Address
  4443. Method (RHRW, 0, NotSerialized)
  4444. {
  4445. Return (GPRW (0x19, 0x03))
  4446. }
  4447.  
  4448. Device (RHUB)
  4449. {
  4450. Name (_ADR, Zero) // _ADR: Address
  4451. Name (XUPC, Package (0x04)
  4452. {
  4453. 0xFF,
  4454. 0xFF,
  4455. Zero,
  4456. Zero
  4457. })
  4458. Method (SUPC, 2, NotSerialized)
  4459. {
  4460. If ((Arg0 != Zero))
  4461. {
  4462. XUPC [Zero] = 0xFF
  4463. XUPC [One] = Arg1
  4464. }
  4465. Else
  4466. {
  4467. XUPC [Zero] = Zero
  4468. XUPC [One] = 0xFF
  4469. }
  4470.  
  4471. Return (XUPC) /* \_SB_.PCI0.GP17.XHC0.RHUB.XUPC */
  4472. }
  4473.  
  4474. Name (XPLD, Package (0x01)
  4475. {
  4476. Buffer (0x14)
  4477. {
  4478. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
  4479. /* 0008 */ 0x31, 0x9C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // 1.......
  4480. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
  4481. }
  4482. })
  4483. Method (SPLD, 2, NotSerialized)
  4484. {
  4485. CreateField (DerefOf (XPLD [Zero]), 0x40, One, UVSB)
  4486. CreateField (DerefOf (XPLD [Zero]), 0x57, 0x08, GPPS)
  4487. CreateField (DerefOf (XPLD [Zero]), 0x60, One, EJTB)
  4488. GPPS = Arg0
  4489. UVSB = Arg1
  4490. EJTB = Arg1
  4491. Return (XPLD) /* \_SB_.PCI0.GP17.XHC0.RHUB.XPLD */
  4492. }
  4493.  
  4494. Device (PRT1)
  4495. {
  4496. Name (_ADR, One) // _ADR: Address
  4497. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4498. {
  4499. Return (SUPC (One, 0x09))
  4500. }
  4501.  
  4502. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4503. {
  4504. Return (SPLD (One, One))
  4505. }
  4506. }
  4507.  
  4508. Device (PRT5)
  4509. {
  4510. Name (_ADR, 0x05) // _ADR: Address
  4511. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4512. {
  4513. Return (SUPC (Zero, 0xFF))
  4514. }
  4515.  
  4516. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4517. {
  4518. Return (SPLD (One, Zero))
  4519. }
  4520. }
  4521.  
  4522. Device (PRT2)
  4523. {
  4524. Name (_ADR, 0x02) // _ADR: Address
  4525. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4526. {
  4527. Return (SUPC (One, 0x03))
  4528. }
  4529.  
  4530. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4531. {
  4532. Return (SPLD (0x02, One))
  4533. }
  4534. }
  4535.  
  4536. Device (PRT6)
  4537. {
  4538. Name (_ADR, 0x06) // _ADR: Address
  4539. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4540. {
  4541. Return (SUPC (One, 0x03))
  4542. }
  4543.  
  4544. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4545. {
  4546. Return (SPLD (0x02, One))
  4547. }
  4548. }
  4549.  
  4550. Device (PRT3)
  4551. {
  4552. Name (_ADR, 0x03) // _ADR: Address
  4553. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4554. {
  4555. Return (SUPC (One, 0x03))
  4556. }
  4557.  
  4558. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4559. {
  4560. Return (SPLD (0x03, One))
  4561. }
  4562. }
  4563.  
  4564. Device (PRT7)
  4565. {
  4566. Name (_ADR, 0x07) // _ADR: Address
  4567. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4568. {
  4569. Return (SUPC (Zero, 0xFF))
  4570. }
  4571.  
  4572. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4573. {
  4574. Return (SPLD (0x03, Zero))
  4575. }
  4576. }
  4577.  
  4578. Device (PRT4)
  4579. {
  4580. Name (_ADR, 0x04) // _ADR: Address
  4581. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4582. {
  4583. Return (SUPC (One, 0xFF))
  4584. }
  4585.  
  4586. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4587. {
  4588. Return (SPLD (0x04, Zero))
  4589. }
  4590.  
  4591. Device (CCD0)
  4592. {
  4593. Name (_ADR, 0x04) // _ADR: Address
  4594. Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
  4595. {
  4596. ToPLD (
  4597. PLD_Revision = 0x2,
  4598. PLD_IgnoreColor = 0x1,
  4599. PLD_Red = 0x0,
  4600. PLD_Green = 0x0,
  4601. PLD_Blue = 0x0,
  4602. PLD_Width = 0x0,
  4603. PLD_Height = 0x0,
  4604. PLD_UserVisible = 0x0,
  4605. PLD_Dock = 0x0,
  4606. PLD_Lid = 0x1,
  4607. PLD_Panel = "FRONT",
  4608. PLD_VerticalPosition = "UPPER",
  4609. PLD_HorizontalPosition = "CENTER",
  4610. PLD_Shape = "UNKNOWN",
  4611. PLD_GroupOrientation = 0x0,
  4612. PLD_GroupToken = 0x0,
  4613. PLD_GroupPosition = 0x0,
  4614. PLD_Bay = 0x0,
  4615. PLD_Ejectable = 0x0,
  4616. PLD_EjectRequired = 0x0,
  4617. PLD_CabinetNumber = 0x0,
  4618. PLD_CardCageNumber = 0x0,
  4619. PLD_Reference = 0x0,
  4620. PLD_Rotation = 0x0,
  4621. PLD_Order = 0x0,
  4622. PLD_VerticalOffset = 0xFFFF,
  4623. PLD_HorizontalOffset = 0xFFFF)
  4624.  
  4625. })
  4626. }
  4627. }
  4628. }
  4629. }
  4630.  
  4631. Device (XHC1)
  4632. {
  4633. Name (_ADR, 0x04) // _ADR: Address
  4634. Method (RHRW, 0, NotSerialized)
  4635. {
  4636. Return (GPRW (0x19, 0x03))
  4637. }
  4638.  
  4639. Device (RHUB)
  4640. {
  4641. Name (_ADR, Zero) // _ADR: Address
  4642. Name (XUPC, Package (0x04)
  4643. {
  4644. 0xFF,
  4645. 0xFF,
  4646. Zero,
  4647. Zero
  4648. })
  4649. Method (SUPC, 2, NotSerialized)
  4650. {
  4651. If ((Arg0 != Zero))
  4652. {
  4653. XUPC [Zero] = 0xFF
  4654. XUPC [One] = Arg1
  4655. }
  4656. Else
  4657. {
  4658. XUPC [Zero] = Zero
  4659. XUPC [One] = 0xFF
  4660. }
  4661.  
  4662. Return (XUPC) /* \_SB_.PCI0.GP17.XHC1.RHUB.XUPC */
  4663. }
  4664.  
  4665. Name (XPLD, Package (0x01)
  4666. {
  4667. Buffer (0x14)
  4668. {
  4669. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
  4670. /* 0008 */ 0x31, 0x9C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // 1.......
  4671. /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
  4672. }
  4673. })
  4674. Method (SPLD, 2, NotSerialized)
  4675. {
  4676. CreateField (DerefOf (XPLD [Zero]), 0x40, One, UVSB)
  4677. CreateField (DerefOf (XPLD [Zero]), 0x57, 0x08, GPPS)
  4678. CreateField (DerefOf (XPLD [Zero]), 0x60, One, EJTB)
  4679. GPPS = Arg0
  4680. UVSB = Arg1
  4681. EJTB = Arg1
  4682. Return (XPLD) /* \_SB_.PCI0.GP17.XHC1.RHUB.XPLD */
  4683. }
  4684.  
  4685. Device (PRT1)
  4686. {
  4687. Name (_ADR, One) // _ADR: Address
  4688. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4689. {
  4690. If (((M009 == 0x82) && Zero))
  4691. {
  4692. (M009 == 0x8C)
  4693. Zero
  4694. Return (SUPC (One, 0x03))
  4695. }
  4696. Else
  4697. {
  4698. Return (SUPC (Zero, 0xFF))
  4699. }
  4700. }
  4701.  
  4702. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4703. {
  4704. If (((M009 == 0x82) && Zero))
  4705. {
  4706. (M009 == 0x8C)
  4707. Zero
  4708. Return (SPLD (0x05, One))
  4709. }
  4710. Else
  4711. {
  4712. Return (SPLD (0x05, Zero))
  4713. }
  4714. }
  4715. }
  4716.  
  4717. Device (PRT5)
  4718. {
  4719. Name (_ADR, 0x05) // _ADR: Address
  4720. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4721. {
  4722. Return (SUPC (Zero, 0xFF))
  4723. }
  4724.  
  4725. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4726. {
  4727. Return (SPLD (0x05, Zero))
  4728. }
  4729. }
  4730.  
  4731. Device (PRT2)
  4732. {
  4733. Name (_ADR, 0x02) // _ADR: Address
  4734. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4735. {
  4736. Return (SUPC (One, 0xFF))
  4737. }
  4738.  
  4739. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4740. {
  4741. Return (SPLD (0x06, Zero))
  4742. }
  4743.  
  4744. Name (RDLY, 0x69)
  4745. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  4746. {
  4747. If ((Arg0 == ToUUID ("aa10f4e0-81ac-4233-abf6-3b2ac50e28d9") /* Unknown UUID */))
  4748. {
  4749. If ((Arg2 == Zero))
  4750. {
  4751. If ((Arg1 == Zero))
  4752. {
  4753. Return (Buffer (One)
  4754. {
  4755. 0x03 // .
  4756. })
  4757. }
  4758. Else
  4759. {
  4760. Return (Buffer (One)
  4761. {
  4762. 0x00 // .
  4763. })
  4764. }
  4765. }
  4766.  
  4767. If ((Arg2 == One))
  4768. {
  4769. RDLY = Arg3
  4770. }
  4771.  
  4772. Return (Zero)
  4773. }
  4774. ElseIf ((Arg0 == ToUUID ("2d19d3e1-5708-4696-bd5b-2c3dbae2d6a9") /* Unknown UUID */))
  4775. {
  4776. If ((Arg2 == Zero))
  4777. {
  4778. If ((Arg1 == Zero))
  4779. {
  4780. Return (Buffer (One)
  4781. {
  4782. 0x03 // .
  4783. })
  4784. }
  4785. Else
  4786. {
  4787. Return (Buffer (One)
  4788. {
  4789. 0x00 // .
  4790. })
  4791. }
  4792. }
  4793.  
  4794. If ((Arg2 == One)){}
  4795. Return (Zero)
  4796. }
  4797. Else
  4798. {
  4799. Return (Buffer (One)
  4800. {
  4801. 0x00 // .
  4802. })
  4803. }
  4804. }
  4805.  
  4806. PowerResource (BTRT, 0x05, 0x0000)
  4807. {
  4808. Method (_STA, 0, NotSerialized) // _STA: Status
  4809. {
  4810. Return (One)
  4811. }
  4812.  
  4813. Method (_ON, 0, NotSerialized) // _ON_: Power On
  4814. {
  4815. }
  4816.  
  4817. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  4818. {
  4819. }
  4820.  
  4821. Method (_RST, 0, NotSerialized) // _RST: Device Reset
  4822. {
  4823. M010 (0x2A, Zero)
  4824. Sleep (RDLY)
  4825. M010 (0x2A, One)
  4826. Sleep (RDLY)
  4827. }
  4828. }
  4829.  
  4830. Method (_PRR, 0, NotSerialized) // _PRR: Power Resource for Reset
  4831. {
  4832. Return (Package (0x01)
  4833. {
  4834. BTRT
  4835. })
  4836. }
  4837. }
  4838.  
  4839. Device (PRT6)
  4840. {
  4841. Name (_ADR, 0x06) // _ADR: Address
  4842. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4843. {
  4844. Return (SUPC (Zero, 0xFF))
  4845. }
  4846.  
  4847. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4848. {
  4849. Return (SPLD (0x06, Zero))
  4850. }
  4851. }
  4852.  
  4853. Device (PRT3)
  4854. {
  4855. Name (_ADR, 0x03) // _ADR: Address
  4856. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4857. {
  4858. Return (SUPC (One, 0xFF))
  4859. }
  4860.  
  4861. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
  4862. {
  4863. Return (SPLD (0x07, Zero))
  4864. }
  4865.  
  4866. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  4867. {
  4868. If ((Arg0 == ToUUID ("ea9a9c7b-7bab-468c-84fa-a9a59f8ad1cb") /* Unknown UUID */))
  4869. {
  4870. Switch (ToInteger (Arg2))
  4871. {
  4872. Case (One)
  4873. {
  4874. M010 (0x4C, Zero)
  4875. Sleep (0x1E)
  4876. M010 (0x4C, One)
  4877. Sleep (0x32)
  4878. M010 (0x4C, Zero)
  4879. }
  4880.  
  4881. }
  4882. }
  4883. Else
  4884. {
  4885. Return (Buffer (One)
  4886. {
  4887. 0x00 // .
  4888. })
  4889. }
  4890. }
  4891. }
  4892.  
  4893. Device (PRT4)
  4894. {
  4895. Name (_ADR, 0x04) // _ADR: Address
  4896. Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
  4897. {
  4898. Return (SUPC (Zero, Zero))
  4899. }
  4900. }
  4901. }
  4902. }
  4903.  
  4904. Device (MP2C)
  4905. {
  4906. Name (_ADR, 0x07) // _ADR: Address
  4907. }
  4908. }
  4909.  
  4910. Device (GP18)
  4911. {
  4912. Name (_ADR, 0x00080002) // _ADR: Address
  4913. Name (PR18, Package (0x04)
  4914. {
  4915. Package (0x04)
  4916. {
  4917. 0xFFFF,
  4918. Zero,
  4919. LNKC,
  4920. Zero
  4921. },
  4922.  
  4923. Package (0x04)
  4924. {
  4925. 0xFFFF,
  4926. One,
  4927. LNKD,
  4928. Zero
  4929. },
  4930.  
  4931. Package (0x04)
  4932. {
  4933. 0xFFFF,
  4934. 0x02,
  4935. LNKA,
  4936. Zero
  4937. },
  4938.  
  4939. Package (0x04)
  4940. {
  4941. 0xFFFF,
  4942. 0x03,
  4943. LNKB,
  4944. Zero
  4945. }
  4946. })
  4947. Name (AR18, Package (0x04)
  4948. {
  4949. Package (0x04)
  4950. {
  4951. 0xFFFF,
  4952. Zero,
  4953. Zero,
  4954. 0x12
  4955. },
  4956.  
  4957. Package (0x04)
  4958. {
  4959. 0xFFFF,
  4960. One,
  4961. Zero,
  4962. 0x13
  4963. },
  4964.  
  4965. Package (0x04)
  4966. {
  4967. 0xFFFF,
  4968. 0x02,
  4969. Zero,
  4970. 0x10
  4971. },
  4972.  
  4973. Package (0x04)
  4974. {
  4975. 0xFFFF,
  4976. 0x03,
  4977. Zero,
  4978. 0x11
  4979. }
  4980. })
  4981. Name (NR18, Package (0x04)
  4982. {
  4983. Package (0x04)
  4984. {
  4985. 0xFFFF,
  4986. Zero,
  4987. Zero,
  4988. 0x22
  4989. },
  4990.  
  4991. Package (0x04)
  4992. {
  4993. 0xFFFF,
  4994. One,
  4995. Zero,
  4996. 0x23
  4997. },
  4998.  
  4999. Package (0x04)
  5000. {
  5001. 0xFFFF,
  5002. 0x02,
  5003. Zero,
  5004. 0x20
  5005. },
  5006.  
  5007. Package (0x04)
  5008. {
  5009. 0xFFFF,
  5010. 0x03,
  5011. Zero,
  5012. 0x21
  5013. }
  5014. })
  5015. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  5016. {
  5017. If (PICM)
  5018. {
  5019. If (NAPC)
  5020. {
  5021. Return (NR18) /* \_SB_.PCI0.GP18.NR18 */
  5022. }
  5023. Else
  5024. {
  5025. Return (AR18) /* \_SB_.PCI0.GP18.AR18 */
  5026. }
  5027. }
  5028. Else
  5029. {
  5030. Return (PR18) /* \_SB_.PCI0.GP18.PR18 */
  5031. }
  5032. }
  5033.  
  5034. Device (SATA)
  5035. {
  5036. Name (_ADR, Zero) // _ADR: Address
  5037. }
  5038.  
  5039. Device (SAT1)
  5040. {
  5041. Name (_ADR, One) // _ADR: Address
  5042. }
  5043. }
  5044.  
  5045. Device (GP19)
  5046. {
  5047. Name (_ADR, 0x00080003) // _ADR: Address
  5048. Method (RHRW, 0, NotSerialized)
  5049. {
  5050. If ((WKPM == One))
  5051. {
  5052. Return (GPRW (0x08, 0x04))
  5053. }
  5054. Else
  5055. {
  5056. Return (GPRW (0x08, Zero))
  5057. }
  5058. }
  5059.  
  5060. Name (PR19, Package (0x04)
  5061. {
  5062. Package (0x04)
  5063. {
  5064. 0xFFFF,
  5065. Zero,
  5066. LNKG,
  5067. Zero
  5068. },
  5069.  
  5070. Package (0x04)
  5071. {
  5072. 0xFFFF,
  5073. One,
  5074. LNKH,
  5075. Zero
  5076. },
  5077.  
  5078. Package (0x04)
  5079. {
  5080. 0xFFFF,
  5081. 0x02,
  5082. LNKE,
  5083. Zero
  5084. },
  5085.  
  5086. Package (0x04)
  5087. {
  5088. 0xFFFF,
  5089. 0x03,
  5090. LNKF,
  5091. Zero
  5092. }
  5093. })
  5094. Name (AR19, Package (0x04)
  5095. {
  5096. Package (0x04)
  5097. {
  5098. 0xFFFF,
  5099. Zero,
  5100. Zero,
  5101. 0x16
  5102. },
  5103.  
  5104. Package (0x04)
  5105. {
  5106. 0xFFFF,
  5107. One,
  5108. Zero,
  5109. 0x17
  5110. },
  5111.  
  5112. Package (0x04)
  5113. {
  5114. 0xFFFF,
  5115. 0x02,
  5116. Zero,
  5117. 0x14
  5118. },
  5119.  
  5120. Package (0x04)
  5121. {
  5122. 0xFFFF,
  5123. 0x03,
  5124. Zero,
  5125. 0x15
  5126. }
  5127. })
  5128. Name (NR19, Package (0x04)
  5129. {
  5130. Package (0x04)
  5131. {
  5132. 0xFFFF,
  5133. Zero,
  5134. Zero,
  5135. 0x1E
  5136. },
  5137.  
  5138. Package (0x04)
  5139. {
  5140. 0xFFFF,
  5141. One,
  5142. Zero,
  5143. 0x1F
  5144. },
  5145.  
  5146. Package (0x04)
  5147. {
  5148. 0xFFFF,
  5149. 0x02,
  5150. Zero,
  5151. 0x1C
  5152. },
  5153.  
  5154. Package (0x04)
  5155. {
  5156. 0xFFFF,
  5157. 0x03,
  5158. Zero,
  5159. 0x1D
  5160. }
  5161. })
  5162. Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
  5163. {
  5164. If (PICM)
  5165. {
  5166. If (NAPC)
  5167. {
  5168. Return (NR19) /* \_SB_.PCI0.GP19.NR19 */
  5169. }
  5170. Else
  5171. {
  5172. Return (AR19) /* \_SB_.PCI0.GP19.AR19 */
  5173. }
  5174. }
  5175. Else
  5176. {
  5177. Return (PR19) /* \_SB_.PCI0.GP19.PR19 */
  5178. }
  5179. }
  5180. }
  5181.  
  5182. Device (HPET)
  5183. {
  5184. Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
  5185. Method (_STA, 0, NotSerialized) // _STA: Status
  5186. {
  5187. If ((HPEN == One))
  5188. {
  5189. If ((OSTB >= 0x40))
  5190. {
  5191. Return (0x0F)
  5192. }
  5193.  
  5194. HPEN = Zero
  5195. Return (One)
  5196. }
  5197.  
  5198. Return (One)
  5199. }
  5200.  
  5201. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  5202. {
  5203. Name (BUF0, ResourceTemplate ()
  5204. {
  5205. IRQNoFlags ()
  5206. {0}
  5207. IRQNoFlags ()
  5208. {8}
  5209. Memory32Fixed (ReadOnly,
  5210. 0xFED00000, // Address Base
  5211. 0x00000400, // Address Length
  5212. _Y07)
  5213. })
  5214. CreateDWordField (BUF0, \_SB.PCI0.HPET._CRS._Y07._BAS, HPEB) // _BAS: Base Address
  5215. Local0 = 0xFED00000
  5216. HPEB = (Local0 & 0xFFFFFC00)
  5217. Return (BUF0) /* \_SB_.PCI0.HPET._CRS.BUF0 */
  5218. }
  5219. }
  5220.  
  5221. Device (SMBS)
  5222. {
  5223. Name (_ADR, 0x00140000) // _ADR: Address
  5224. }
  5225.  
  5226. Device (LPC0)
  5227. {
  5228. Name (_ADR, 0x00140003) // _ADR: Address
  5229. Device (DMAC)
  5230. {
  5231. Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID
  5232. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  5233. {
  5234. IO (Decode16,
  5235. 0x0000, // Range Minimum
  5236. 0x0000, // Range Maximum
  5237. 0x01, // Alignment
  5238. 0x10, // Length
  5239. )
  5240. IO (Decode16,
  5241. 0x0081, // Range Minimum
  5242. 0x0081, // Range Maximum
  5243. 0x01, // Alignment
  5244. 0x0F, // Length
  5245. )
  5246. IO (Decode16,
  5247. 0x00C0, // Range Minimum
  5248. 0x00C0, // Range Maximum
  5249. 0x01, // Alignment
  5250. 0x20, // Length
  5251. )
  5252. DMA (Compatibility, NotBusMaster, Transfer8_16, )
  5253. {4}
  5254. })
  5255. }
  5256.  
  5257. Device (COPR)
  5258. {
  5259. Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID
  5260. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  5261. {
  5262. IO (Decode16,
  5263. 0x00F0, // Range Minimum
  5264. 0x00F0, // Range Maximum
  5265. 0x01, // Alignment
  5266. 0x0F, // Length
  5267. )
  5268. IRQNoFlags ()
  5269. {13}
  5270. })
  5271. }
  5272.  
  5273. Device (PIC)
  5274. {
  5275. Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
  5276. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  5277. {
  5278. IO (Decode16,
  5279. 0x0020, // Range Minimum
  5280. 0x0020, // Range Maximum
  5281. 0x01, // Alignment
  5282. 0x02, // Length
  5283. )
  5284. IO (Decode16,
  5285. 0x00A0, // Range Minimum
  5286. 0x00A0, // Range Maximum
  5287. 0x01, // Alignment
  5288. 0x02, // Length
  5289. )
  5290. IRQNoFlags ()
  5291. {2}
  5292. })
  5293. }
  5294.  
  5295. Device (RTC)
  5296. {
  5297. Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
  5298. Name (BUF0, ResourceTemplate ()
  5299. {
  5300. IO (Decode16,
  5301. 0x0070, // Range Minimum
  5302. 0x0070, // Range Maximum
  5303. 0x01, // Alignment
  5304. 0x02, // Length
  5305. )
  5306. })
  5307. Name (BUF1, ResourceTemplate ()
  5308. {
  5309. IO (Decode16,
  5310. 0x0070, // Range Minimum
  5311. 0x0070, // Range Maximum
  5312. 0x01, // Alignment
  5313. 0x02, // Length
  5314. )
  5315. IRQNoFlags ()
  5316. {8}
  5317. })
  5318. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  5319. {
  5320. If ((HPEN == One))
  5321. {
  5322. Return (BUF0) /* \_SB_.PCI0.LPC0.RTC_.BUF0 */
  5323. }
  5324.  
  5325. Return (BUF1) /* \_SB_.PCI0.LPC0.RTC_.BUF1 */
  5326. }
  5327. }
  5328.  
  5329. Device (SPKR)
  5330. {
  5331. Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID
  5332. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  5333. {
  5334. IO (Decode16,
  5335. 0x0061, // Range Minimum
  5336. 0x0061, // Range Maximum
  5337. 0x01, // Alignment
  5338. 0x01, // Length
  5339. )
  5340. })
  5341. }
  5342.  
  5343. Device (TMR)
  5344. {
  5345. Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
  5346. Name (BUF0, ResourceTemplate ()
  5347. {
  5348. IO (Decode16,
  5349. 0x0040, // Range Minimum
  5350. 0x0040, // Range Maximum
  5351. 0x01, // Alignment
  5352. 0x04, // Length
  5353. )
  5354. })
  5355. Name (BUF1, ResourceTemplate ()
  5356. {
  5357. IO (Decode16,
  5358. 0x0040, // Range Minimum
  5359. 0x0040, // Range Maximum
  5360. 0x01, // Alignment
  5361. 0x04, // Length
  5362. )
  5363. IRQNoFlags ()
  5364. {0}
  5365. })
  5366. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  5367. {
  5368. If ((HPEN == One))
  5369. {
  5370. Return (BUF0) /* \_SB_.PCI0.LPC0.TMR_.BUF0 */
  5371. }
  5372.  
  5373. Return (BUF1) /* \_SB_.PCI0.LPC0.TMR_.BUF1 */
  5374. }
  5375. }
  5376.  
  5377. Device (KBC0)
  5378. {
  5379. Name (_HID, "MSFT0001") // _HID: Hardware ID
  5380. Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _CID: Compatible ID
  5381. Method (_STA, 0, NotSerialized) // _STA: Status
  5382. {
  5383. Return (0x0F)
  5384. }
  5385.  
  5386. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  5387. {
  5388. IO (Decode16,
  5389. 0x0060, // Range Minimum
  5390. 0x0060, // Range Maximum
  5391. 0x01, // Alignment
  5392. 0x01, // Length
  5393. )
  5394. IO (Decode16,
  5395. 0x0064, // Range Minimum
  5396. 0x0064, // Range Maximum
  5397. 0x01, // Alignment
  5398. 0x01, // Length
  5399. )
  5400. IRQNoFlags ()
  5401. {1}
  5402. })
  5403. }
  5404.  
  5405. Device (SYSR)
  5406. {
  5407. Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
  5408. Name (_UID, One) // _UID: Unique ID
  5409. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  5410. {
  5411. IO (Decode16,
  5412. 0x0010, // Range Minimum
  5413. 0x0010, // Range Maximum
  5414. 0x01, // Alignment
  5415. 0x10, // Length
  5416. )
  5417. IO (Decode16,
  5418. 0x0072, // Range Minimum
  5419. 0x0072, // Range Maximum
  5420. 0x01, // Alignment
  5421. 0x02, // Length
  5422. )
  5423. IO (Decode16,
  5424. 0x0080, // Range Minimum
  5425. 0x0080, // Range Maximum
  5426. 0x01, // Alignment
  5427. 0x01, // Length
  5428. )
  5429. IO (Decode16,
  5430. 0x00B0, // Range Minimum
  5431. 0x00B0, // Range Maximum
  5432. 0x01, // Alignment
  5433. 0x02, // Length
  5434. )
  5435. IO (Decode16,
  5436. 0x0092, // Range Minimum
  5437. 0x0092, // Range Maximum
  5438. 0x01, // Alignment
  5439. 0x01, // Length
  5440. )
  5441. IO (Decode16,
  5442. 0x0400, // Range Minimum
  5443. 0x0400, // Range Maximum
  5444. 0x01, // Alignment
  5445. 0xD0, // Length
  5446. )
  5447. IO (Decode16,
  5448. 0x04D0, // Range Minimum
  5449. 0x04D0, // Range Maximum
  5450. 0x01, // Alignment
  5451. 0x02, // Length
  5452. )
  5453. IO (Decode16,
  5454. 0x04D6, // Range Minimum
  5455. 0x04D6, // Range Maximum
  5456. 0x01, // Alignment
  5457. 0x01, // Length
  5458. )
  5459. IO (Decode16,
  5460. 0x0C00, // Range Minimum
  5461. 0x0C00, // Range Maximum
  5462. 0x01, // Alignment
  5463. 0x02, // Length
  5464. )
  5465. IO (Decode16,
  5466. 0x0C14, // Range Minimum
  5467. 0x0C14, // Range Maximum
  5468. 0x01, // Alignment
  5469. 0x01, // Length
  5470. )
  5471. IO (Decode16,
  5472. 0x0C50, // Range Minimum
  5473. 0x0C50, // Range Maximum
  5474. 0x01, // Alignment
  5475. 0x03, // Length
  5476. )
  5477. IO (Decode16,
  5478. 0x0C6C, // Range Minimum
  5479. 0x0C6C, // Range Maximum
  5480. 0x01, // Alignment
  5481. 0x01, // Length
  5482. )
  5483. IO (Decode16,
  5484. 0x0C6F, // Range Minimum
  5485. 0x0C6F, // Range Maximum
  5486. 0x01, // Alignment
  5487. 0x01, // Length
  5488. )
  5489. IO (Decode16,
  5490. 0x0CD0, // Range Minimum
  5491. 0x0CD0, // Range Maximum
  5492. 0x01, // Alignment
  5493. 0x0C, // Length
  5494. )
  5495. })
  5496. }
  5497.  
  5498. Device (MEM)
  5499. {
  5500. Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID
  5501. Name (MSRC, ResourceTemplate ()
  5502. {
  5503. Memory32Fixed (ReadWrite,
  5504. 0xFFF00000, // Address Base
  5505. 0x00100000, // Address Length
  5506. _Y08)
  5507. })
  5508. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  5509. {
  5510. CreateDWordField (MSRC, \_SB.PCI0.LPC0.MEM._Y08._LEN, PSIZ) // _LEN: Length
  5511. CreateDWordField (MSRC, \_SB.PCI0.LPC0.MEM._Y08._BAS, PBAS) // _BAS: Base Address
  5512. PSIZ = ROMS /* \ROMS */
  5513. Local0 = (ROMS - One)
  5514. PBAS = (Ones - Local0)
  5515. Return (MSRC) /* \_SB_.PCI0.LPC0.MEM_.MSRC */
  5516. }
  5517. }
  5518.  
  5519. Method (ECOK, 0, NotSerialized)
  5520. {
  5521. If ((^EC0.OKEC == One))
  5522. {
  5523. Return (One)
  5524. }
  5525. Else
  5526. {
  5527. Return (Zero)
  5528. }
  5529. }
  5530.  
  5531. Device (EC0)
  5532. {
  5533. Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
  5534. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  5535. {
  5536. IO (Decode16,
  5537. 0x0062, // Range Minimum
  5538. 0x0062, // Range Maximum
  5539. 0x00, // Alignment
  5540. 0x01, // Length
  5541. )
  5542. IO (Decode16,
  5543. 0x0066, // Range Minimum
  5544. 0x0066, // Range Maximum
  5545. 0x00, // Alignment
  5546. 0x01, // Length
  5547. )
  5548. })
  5549. Name (_GPE, 0x03) // _GPE: General Purpose Events
  5550. Name (OKEC, Zero)
  5551. Method (_REG, 2, NotSerialized) // _REG: Region Availability
  5552. {
  5553. If ((Arg0 == 0x03))
  5554. {
  5555. S80H (0x10A8)
  5556. OKEC = Arg1
  5557. If ((OKEC == One))
  5558. {
  5559. Notify (LID0, 0x80) // Status Change
  5560. }
  5561.  
  5562. BPWC = Zero
  5563. BPWR = Zero
  5564. CPSM = 0x02
  5565. SELE ()
  5566. }
  5567. }
  5568.  
  5569. Method (ECPC, 1, Serialized)
  5570. {
  5571. OperationRegion (PCPT, SystemIO, 0x80, 0x04)
  5572. Field (PCPT, DWordAcc, NoLock, Preserve)
  5573. {
  5574. PC80, 32
  5575. }
  5576.  
  5577. Local0 = (Arg0 & 0x00FFFFFF)
  5578. PC80 = (Local0 | 0xEC000000)
  5579. }
  5580.  
  5581. Mutex (ECMT, 0x00)
  5582. Mutex (Z009, 0x00)
  5583. OperationRegion (ERAM, SystemMemory, 0xFE800300, 0x0100)
  5584. Field (ERAM, ByteAcc, Lock, Preserve)
  5585. {
  5586. VERM, 8,
  5587. VERS, 8,
  5588. VERT, 8,
  5589. Offset (0x04),
  5590. YEAR, 8,
  5591. MONT, 8,
  5592. DAYS, 8,
  5593. Offset (0x0C),
  5594. BPWC, 8,
  5595. BPWR, 8,
  5596. Offset (0x10),
  5597. LSTE, 1,
  5598. Offset (0x12),
  5599. , 7,
  5600. LPBF, 1,
  5601. Offset (0x15),
  5602. FNIS, 1,
  5603. FNKL, 1,
  5604. , 2,
  5605. WKYS, 1,
  5606. , 1,
  5607. TUBO, 1,
  5608. Offset (0x16),
  5609. , 4,
  5610. MICL, 1,
  5611. Offset (0x17),
  5612. ERRL, 8,
  5613. KBBH, 8,
  5614. KBBL, 8,
  5615. APOS, 1,
  5616. , 1,
  5617. NMIT, 1,
  5618. Offset (0x1C),
  5619. , 1,
  5620. SPMD, 1,
  5621. , 1,
  5622. , 1,
  5623. WDTE, 1,
  5624. WDBE, 1,
  5625. , 1,
  5626. WDSE, 1,
  5627. CTDC, 1,
  5628. , 1,
  5629. , 1,
  5630. , 1,
  5631. , 1,
  5632. , 1,
  5633. , 1,
  5634. Offset (0x1E),
  5635. Offset (0x20),
  5636. CTMP, 8,
  5637. Offset (0x22),
  5638. Offset (0x23),
  5639. TSLO, 8,
  5640. DNTC, 8,
  5641. CNTC, 8,
  5642. STM0, 8,
  5643. TNTC, 8,
  5644. STM1, 8,
  5645. STM2, 8,
  5646. Offset (0x2B),
  5647. BTMP, 8,
  5648. Offset (0x30),
  5649. BDNA, 120,
  5650. BDBC, 8,
  5651. Offset (0x44),
  5652. SLPO, 8,
  5653. FAPO, 8,
  5654. SUPO, 8,
  5655. TCTL, 8,
  5656. Offset (0x4C),
  5657. UTYC, 8,
  5658. DTYC, 8,
  5659. UCHA, 8,
  5660. DCHA, 8,
  5661. Offset (0x54),
  5662. SPDT, 8,
  5663. GPPT, 8,
  5664. DFDI, 8,
  5665. DFDC, 8,
  5666. Offset (0x59),
  5667. CPSS, 8,
  5668. CPSC, 8,
  5669. CPSM, 8,
  5670. BCCL, 8,
  5671. BCCH, 8,
  5672. Offset (0x60),
  5673. BNAM, 152,
  5674. BNBC, 8,
  5675. Offset (0x7A),
  5676. BTCC, 16,
  5677. Offset (0x7E),
  5678. BATL, 8,
  5679. BATH, 8,
  5680. ACDC, 1,
  5681. BST1, 1,
  5682. BST2, 1,
  5683. , 3,
  5684. MSFG, 1,
  5685. Offset (0x81),
  5686. BTML, 8,
  5687. BTSN, 16,
  5688. BTAP, 16,
  5689. BTDV, 16,
  5690. BLFC, 16,
  5691. BTTP, 16,
  5692. BSTI, 1,
  5693. BSTV, 1,
  5694. BSTC, 1,
  5695. BSTF, 1,
  5696. BSTD, 1,
  5697. BSDD, 1,
  5698. BSAN, 1,
  5699. CHEM, 1,
  5700. SBDC, 1,
  5701. SBWC, 1,
  5702. SBPC, 1,
  5703. SBNC, 1,
  5704. BIDC, 1,
  5705. BIWC, 1,
  5706. BIPC, 1,
  5707. BINC, 1,
  5708. BT1I, 16,
  5709. BT1V, 16,
  5710. BT1C, 16,
  5711. BTFC, 16,
  5712. B1CC, 16,
  5713. B1CV, 16,
  5714. BT1T, 16,
  5715. , 4,
  5716. ISFD, 1,
  5717. ISFC, 1,
  5718. ISDC, 1,
  5719. ISGI, 1,
  5720. IART, 1,
  5721. IARC, 1,
  5722. , 1,
  5723. IATD, 1,
  5724. IAOT, 1,
  5725. , 1,
  5726. IATC, 1,
  5727. IAOC, 1,
  5728. RSOC, 16,
  5729. Offset (0xC0),
  5730. ALD0, 8,
  5731. ALD1, 8,
  5732. ALD2, 8,
  5733. ALD3, 8,
  5734. ALD4, 8,
  5735. ALD5, 8,
  5736. ALD6, 8,
  5737. ALD7, 8,
  5738. ALD8, 8,
  5739. ALD9, 8,
  5740. Offset (0xCC),
  5741. FRHI, 8,
  5742. FRLO, 8,
  5743. F2HI, 8,
  5744. F2LO, 8,
  5745. UCPU, 8,
  5746. DCPU, 8,
  5747. UDDR, 8,
  5748. DDDR, 8,
  5749. UGPE, 8,
  5750. DGPE, 8,
  5751. Offset (0xDC),
  5752. CPUF, 1,
  5753. BAUF, 1,
  5754. SYUF, 1,
  5755. DRUF, 1,
  5756. PHUF, 1,
  5757. GPUF, 1,
  5758. TCUF, 1,
  5759. CHUF, 1,
  5760. CPDF, 1,
  5761. BADF, 1,
  5762. SYDF, 1,
  5763. DRDF, 1,
  5764. PHDF, 1,
  5765. GPDF, 1,
  5766. TCDF, 1,
  5767. CHDF, 1,
  5768. TFUC, 1,
  5769. TFUB, 1,
  5770. TFUL, 1,
  5771. TFUD, 1,
  5772. TFUR, 1,
  5773. TFUG, 1,
  5774. TFUT, 1,
  5775. TFUH, 1,
  5776. TFDC, 1,
  5777. TFDB, 1,
  5778. TFDL, 1,
  5779. TFDD, 1,
  5780. TFDR, 1,
  5781. TFDG, 1,
  5782. TFDT, 1,
  5783. TFDH, 1,
  5784. SSWS, 8,
  5785. Offset (0xE8),
  5786. PADH, 8,
  5787. PADL, 8,
  5788. PBTH, 8,
  5789. PBTL, 8,
  5790. EWTH, 8,
  5791. EWTL, 8,
  5792. Offset (0xF0),
  5793. SDSR, 8,
  5794. WUSR, 8,
  5795. Offset (0xFC),
  5796. KCMS, 8
  5797. }
  5798.  
  5799. Field (ERAM, ByteAcc, Lock, Preserve)
  5800. {
  5801. Offset (0x7E),
  5802. BATD, 16
  5803. }
  5804.  
  5805. OperationRegion (CRAM, SystemMemory, 0xFE800C00, 0x0100)
  5806. Field (CRAM, ByteAcc, Lock, Preserve)
  5807. {
  5808. Offset (0x70),
  5809. SDC0, 8,
  5810. Offset (0x72),
  5811. SDV0, 8,
  5812. Offset (0x74),
  5813. SDT0, 32,
  5814. SDC1, 8,
  5815. Offset (0x7A),
  5816. SDV1, 8,
  5817. Offset (0x7C),
  5818. SDT1, 32,
  5819. SDC2, 8,
  5820. Offset (0x82),
  5821. SDV2, 8,
  5822. Offset (0x84),
  5823. SDT2, 32,
  5824. SDC3, 8,
  5825. Offset (0x8A),
  5826. SDV3, 8,
  5827. Offset (0x8C),
  5828. SDT3, 32,
  5829. WUC0, 8,
  5830. Offset (0x94),
  5831. WUT0, 32,
  5832. WUC1, 8,
  5833. Offset (0x9C),
  5834. WUT1, 32,
  5835. WUC2, 8,
  5836. Offset (0xA4),
  5837. WUT2, 32,
  5838. WUC3, 8,
  5839. Offset (0xAC),
  5840. WUT3, 32
  5841. }
  5842.  
  5843. OperationRegion (ECIO, SystemIO, 0x60, 0x10)
  5844. Field (ECIO, ByteAcc, NoLock, Preserve)
  5845. {
  5846. KDAT, 8,
  5847. Offset (0x02),
  5848. DATP, 8,
  5849. Offset (0x04),
  5850. KCMD, 8,
  5851. Offset (0x06),
  5852. CMDS, 8,
  5853. Offset (0x08),
  5854. ECXD, 8,
  5855. Offset (0x0C),
  5856. ECXC, 8
  5857. }
  5858.  
  5859. Method (IBEK, 0, Serialized)
  5860. {
  5861. While ((KCMD & 0x02))
  5862. {
  5863. Sleep (0x50)
  5864. }
  5865. }
  5866.  
  5867. Method (KBMD, 1, Serialized)
  5868. {
  5869. IBEK ()
  5870. KCMD = Arg0
  5871. IBEK ()
  5872. }
  5873.  
  5874. Method (KCDW, 1, Serialized)
  5875. {
  5876. IBEK ()
  5877. KDAT = Arg0
  5878. IBEK ()
  5879. }
  5880.  
  5881. Method (IBE2, 0, Serialized)
  5882. {
  5883. While ((CMDS & 0x02))
  5884. {
  5885. Sleep (0x50)
  5886. }
  5887. }
  5888.  
  5889. Method (ECMD, 1, Serialized)
  5890. {
  5891. IBE2 ()
  5892. CMDS = Arg0
  5893. IBE2 ()
  5894. }
  5895.  
  5896. Method (ECDW, 1, Serialized)
  5897. {
  5898. IBE2 ()
  5899. DATP = Arg0
  5900. IBE2 ()
  5901. }
  5902.  
  5903. Method (IBE3, 0, Serialized)
  5904. {
  5905. While ((ECXC & 0x02))
  5906. {
  5907. Sleep (0x50)
  5908. }
  5909. }
  5910.  
  5911. Method (ECM3, 1, Serialized)
  5912. {
  5913. IBE3 ()
  5914. ECXC = Arg0
  5915. IBE3 ()
  5916. }
  5917.  
  5918. Method (ECD3, 1, Serialized)
  5919. {
  5920. IBE3 ()
  5921. ECXD = Arg0
  5922. IBE3 ()
  5923. }
  5924.  
  5925. Method (_Q18, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5926. {
  5927. Notify (^^^GP17.VGA.LCD, 0x87) // Device-Specific
  5928. ^^^^WMI1.WMEN = 0x0281
  5929. Notify (WMI1, 0xA0) // Device-Specific
  5930. }
  5931.  
  5932. Method (_Q17, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5933. {
  5934. Notify (^^^GP17.VGA.LCD, 0x86) // Device-Specific
  5935. ^^^^WMI1.WMEN = 0x0282
  5936. Notify (WMI1, 0xA0) // Device-Specific
  5937. }
  5938.  
  5939. Method (_Q03, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5940. {
  5941. }
  5942.  
  5943. Method (_Q2E, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5944. {
  5945. }
  5946.  
  5947. Method (_Q22, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5948. {
  5949. }
  5950.  
  5951. Method (_Q14, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5952. {
  5953. }
  5954.  
  5955. Method (_QC6, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5956. {
  5957. }
  5958.  
  5959. Method (_QC4, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5960. {
  5961. }
  5962.  
  5963. Method (_Q21, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5964. {
  5965. ^^^^WMI1.WMEN = 0x0287
  5966. Notify (WMI1, 0xA0) // Device-Specific
  5967. }
  5968.  
  5969. Method (_Q7E, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5970. {
  5971. }
  5972.  
  5973. Method (_Q11, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5974. {
  5975. ^^^^WMI1.WMEN = 0x0289
  5976. Notify (WMI1, 0xA0) // Device-Specific
  5977. }
  5978.  
  5979. Method (_Q10, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5980. {
  5981. ^^^^WMI1.WMEN = 0x028A
  5982. Notify (WMI1, 0xA0) // Device-Specific
  5983. }
  5984.  
  5985. Method (_Q0B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5986. {
  5987. }
  5988.  
  5989. Method (_Q0C, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5990. {
  5991. }
  5992.  
  5993. Method (_Q0D, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5994. {
  5995. }
  5996.  
  5997. Method (_Q19, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  5998. {
  5999. Notify (LID0, 0x80) // Status Change
  6000. }
  6001.  
  6002. Method (_Q1A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6003. {
  6004. Notify (LID0, 0x80) // Status Change
  6005. }
  6006.  
  6007. Method (_Q23, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6008. {
  6009. ^^^^WMI1.WMEN = 0x02A0
  6010. Notify (WMI1, 0xA0) // Device-Specific
  6011. }
  6012.  
  6013. Method (_Q24, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6014. {
  6015. ^^^^WMI1.WMEN = 0x02A1
  6016. Notify (WMI1, 0xA0) // Device-Specific
  6017. }
  6018.  
  6019. Method (_Q25, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6020. {
  6021. ^^^^WMI1.WMEN = 0x02A6
  6022. Notify (WMI1, 0xA0) // Device-Specific
  6023. }
  6024.  
  6025. Method (_Q32, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6026. {
  6027. If (ECOK ())
  6028. {
  6029. Notify (ACAD, 0x80) // Status Change
  6030. }
  6031. }
  6032.  
  6033. Method (_Q33, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6034. {
  6035. If (ECOK ())
  6036. {
  6037. Notify (BAT1, 0x80) // Status Change
  6038. }
  6039. }
  6040.  
  6041. Method (_Q34, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6042. {
  6043. If (ECOK ())
  6044. {
  6045. Notify (BAT1, 0x81) // Information Change
  6046. }
  6047. }
  6048.  
  6049. Method (_Q36, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6050. {
  6051. If (ECOK ())
  6052. {
  6053. Notify (BAT1, 0x80) // Status Change
  6054. }
  6055. }
  6056.  
  6057. Method (_Q3F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6058. {
  6059. If (ECOK ())
  6060. {
  6061. SELE ()
  6062. Notify (ACAD, 0x80) // Status Change
  6063. Notify (BAT1, 0x80) // Status Change
  6064. }
  6065. }
  6066.  
  6067. Method (_Q60, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6068. {
  6069. Name (UTDP, Buffer (0x08){})
  6070. CreateWordField (UTDP, Zero, M254)
  6071. CreateByteField (UTDP, 0x02, M255)
  6072. CreateDWordField (UTDP, 0x03, M256)
  6073. M254 = 0x07
  6074. M255 = 0x06
  6075. M256 = (FAPO * 0x03E8)
  6076. ALIB (0x0C, UTDP)
  6077. M255 = 0x07
  6078. M256 = (SLPO * 0x03E8)
  6079. ALIB (0x0C, UTDP)
  6080. M255 = 0x05
  6081. M256 = (SUPO * 0x03E8)
  6082. ALIB (0x0C, UTDP)
  6083. M255 = 0x2E
  6084. M256 = (SUPO * 0x03E8)
  6085. ALIB (0x0C, UTDP)
  6086. If ((TUBO == One))
  6087. {
  6088. If ((M009 == 0x82))
  6089. {
  6090. Zero
  6091. M255 = 0x2C
  6092. M256 = 0xCFA5
  6093. ALIB (0x0C, UTDP)
  6094. M255 = 0x26
  6095. M256 = 0xFFB8
  6096. ALIB (0x0C, UTDP)
  6097. M255 = 0x27
  6098. M256 = 0x05E6
  6099. ALIB (0x0C, UTDP)
  6100. M255 = 0x20
  6101. M256 = 0x199A
  6102. ALIB (0x0C, UTDP)
  6103. M255 = 0x22
  6104. M256 = 0x2580
  6105. ALIB (0x0C, UTDP)
  6106. }
  6107. ElseIf ((M009 == 0x82))
  6108. {
  6109. One
  6110. M255 = 0x2C
  6111. M256 = 0xB469
  6112. ALIB (0x0C, UTDP)
  6113. M255 = 0x26
  6114. M256 = 0xFFBA
  6115. ALIB (0x0C, UTDP)
  6116. M255 = 0x27
  6117. M256 = 0x06C3
  6118. ALIB (0x0C, UTDP)
  6119. M255 = 0x20
  6120. M256 = 0x199A
  6121. ALIB (0x0C, UTDP)
  6122. M255 = 0x22
  6123. M256 = 0x27E6
  6124. ALIB (0x0C, UTDP)
  6125. }
  6126. }
  6127. ElseIf ((M009 == 0x82))
  6128. {
  6129. Zero
  6130. M255 = 0x2C
  6131. M256 = 0xDBF2
  6132. ALIB (0x0C, UTDP)
  6133. M255 = 0x26
  6134. M256 = 0xFFEC
  6135. ALIB (0x0C, UTDP)
  6136. M255 = 0x27
  6137. M256 = 0x0542
  6138. ALIB (0x0C, UTDP)
  6139. M255 = 0x20
  6140. M256 = 0x147B
  6141. ALIB (0x0C, UTDP)
  6142. M255 = 0x22
  6143. M256 = 0x2480
  6144. ALIB (0x0C, UTDP)
  6145. }
  6146. ElseIf ((M009 == 0x82))
  6147. {
  6148. One
  6149. M255 = 0x2C
  6150. M256 = 0xCA7A
  6151. ALIB (0x0C, UTDP)
  6152. M255 = 0x26
  6153. M256 = 0x2E
  6154. ALIB (0x0C, UTDP)
  6155. M255 = 0x27
  6156. M256 = 0x0591
  6157. ALIB (0x0C, UTDP)
  6158. M255 = 0x20
  6159. M256 = 0x0CCD
  6160. ALIB (0x0C, UTDP)
  6161. M255 = 0x22
  6162. M256 = 0x2680
  6163. ALIB (0x0C, UTDP)
  6164. }
  6165. }
  6166.  
  6167. Method (_Q62, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6168. {
  6169. }
  6170.  
  6171. Method (_Q79, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6172. {
  6173. }
  6174.  
  6175. Method (_Q5E, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6176. {
  6177. }
  6178.  
  6179. Method (_Q5F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6180. {
  6181. }
  6182.  
  6183. Method (_Q54, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6184. {
  6185. TCUF = One
  6186. ^^^^WMI1.WMEN = 0x0107
  6187. Notify (WMI1, 0xA0) // Device-Specific
  6188. }
  6189.  
  6190. Method (_Q55, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6191. {
  6192. TCDF = One
  6193. ^^^^WMI1.WMEN = 0x0107
  6194. Notify (WMI1, 0xA0) // Device-Specific
  6195. }
  6196.  
  6197. Method (_Q4E, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6198. {
  6199. CHUF = One
  6200. ^^^^WMI1.WMEN = 0x0108
  6201. Notify (WMI1, 0xA0) // Device-Specific
  6202. }
  6203.  
  6204. Method (_Q4F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6205. {
  6206. CHDF = One
  6207. ^^^^WMI1.WMEN = 0x0108
  6208. Notify (WMI1, 0xA0) // Device-Specific
  6209. }
  6210.  
  6211. Method (_Q40, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6212. {
  6213. CPUF = One
  6214. ^^^^WMI1.WMEN = 0x0100
  6215. Notify (WMI1, 0xA0) // Device-Specific
  6216. }
  6217.  
  6218. Method (_Q41, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6219. {
  6220. CPDF = One
  6221. ^^^^WMI1.WMEN = 0x0100
  6222. Notify (WMI1, 0xA0) // Device-Specific
  6223. }
  6224.  
  6225. Method (_Q50, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6226. {
  6227. DRUF = One
  6228. ^^^^WMI1.WMEN = 0x010B
  6229. Notify (WMI1, 0xA0) // Device-Specific
  6230. }
  6231.  
  6232. Method (_Q51, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6233. {
  6234. DRDF = One
  6235. ^^^^WMI1.WMEN = 0x010B
  6236. Notify (WMI1, 0xA0) // Device-Specific
  6237. }
  6238.  
  6239. Method (_Q46, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6240. {
  6241. GPUF = One
  6242. ^^^^WMI1.WMEN = 0x0105
  6243. Notify (WMI1, 0xA0) // Device-Specific
  6244. }
  6245.  
  6246. Method (_Q47, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6247. {
  6248. GPDF = One
  6249. ^^^^WMI1.WMEN = 0x0105
  6250. Notify (WMI1, 0xA0) // Device-Specific
  6251. }
  6252.  
  6253. Method (_Q52, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6254. {
  6255. }
  6256.  
  6257. Method (_Q53, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
  6258. {
  6259. }
  6260.  
  6261. Name (BATO, 0xC0)
  6262. Name (BATN, Zero)
  6263. Method (SELE, 0, Serialized)
  6264. {
  6265. BATN = BATD /* \_SB_.PCI0.LPC0.EC0_.BATD */
  6266. If ((BATN & One))
  6267. {
  6268. ^^^^BAT1.BATP = 0x1F
  6269. }
  6270. Else
  6271. {
  6272. If ((((BATO & 0xC1) == One) && ((BATN & 0xC1
  6273. ) == 0xC0)))
  6274. {
  6275. ^^^^ACAD.ACRT = One
  6276. Notify (ACAD, 0x80) // Status Change
  6277. Sleep (0x0A)
  6278. Local1 = 0x0A
  6279. While (Local1)
  6280. {
  6281. If (^^^^ACAD.ACRT)
  6282. {
  6283. Sleep (0x14)
  6284. Notify (ACAD, 0x80) // Status Change
  6285. Local1--
  6286. }
  6287. Else
  6288. {
  6289. Local1 = Zero
  6290. }
  6291. }
  6292. }
  6293.  
  6294. ^^^^BAT1.BATP = 0x0F
  6295. }
  6296.  
  6297. If (((BATN & 0x0FFF) != (BATO & 0x0FFF)))
  6298. {
  6299. Notify (BAT1, 0x81) // Information Change
  6300. Notify (BAT1, One) // Device Check
  6301. If ((((BATO & One) == One) && ((BATN & One
  6302. ) == Zero)))
  6303. {
  6304. Sleep (0x14)
  6305. }
  6306. }
  6307.  
  6308. BATO = BATN /* \_SB_.PCI0.LPC0.EC0_.BATN */
  6309. }
  6310.  
  6311. Method (CHKB, 0, NotSerialized)
  6312. {
  6313. If ((^^^^BAT1.BATP == 0x1F))
  6314. {
  6315. If ((DerefOf (^^^^BAT1.PBIF [One]) != BTAP))
  6316. {
  6317. Notify (BAT1, 0x81) // Information Change
  6318. Notify (BAT1, One) // Device Check
  6319. }
  6320. }
  6321. }
  6322.  
  6323. Method (UPHK, 1, Serialized)
  6324. {
  6325. Arg0 &= 0x0F
  6326. ECPC ((0xF0 | Arg0))
  6327. If (((Arg0 >= 0x03) && (Arg0 <= 0x08)))
  6328. {
  6329. Sleep (One)
  6330. OperationRegion (XHIO, SystemMemory, 0xFED81500, 0x0300)
  6331. Field (XHIO, AnyAcc, NoLock, Preserve)
  6332. {
  6333. Offset (0xA8),
  6334. , 21,
  6335. O042, 1
  6336. }
  6337.  
  6338. Switch (Arg0)
  6339. {
  6340. Case (0x03)
  6341. {
  6342. }
  6343. Case (0x04)
  6344. {
  6345. If ((APOS == Zero))
  6346. {
  6347. ECMD (0x86)
  6348. }
  6349.  
  6350. Notify (LID0, 0x80) // Status Change
  6351. }
  6352. Case (0x07)
  6353. {
  6354. O042 = Zero
  6355. Sleep (0x64)
  6356. O042 = One
  6357. }
  6358. Case (0x08)
  6359. {
  6360. }
  6361. Default
  6362. {
  6363. }
  6364.  
  6365. }
  6366. }
  6367. }
  6368. }
  6369.  
  6370. Mutex (PSMX, 0x00)
  6371. }
  6372.  
  6373. Scope (GPP1)
  6374. {
  6375. }
  6376.  
  6377. Scope (GPP1.DEV0)
  6378. {
  6379. Name (_S0W, 0x04) // _S0W: S0 Device Wake State
  6380. }
  6381.  
  6382. Scope (GPP2)
  6383. {
  6384. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  6385. {
  6386. Name (RBUF, ResourceTemplate ()
  6387. {
  6388. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  6389. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  6390. )
  6391. { // Pin list
  6392. 0x0011
  6393. }
  6394. GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x0000,
  6395. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  6396. )
  6397. { // Pin list
  6398. 0x00AC
  6399. }
  6400. })
  6401. Return (RBUF) /* \_SB_.PCI0.GPP2._CRS.RBUF */
  6402. }
  6403. }
  6404.  
  6405. Scope (GPP2.WWAN)
  6406. {
  6407. Name (_S0W, 0x04) // _S0W: S0 Device Wake State
  6408. }
  6409.  
  6410. Scope (GPP3)
  6411. {
  6412. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  6413. {
  6414. Name (RBUF, ResourceTemplate ()
  6415. {
  6416. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  6417. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  6418. )
  6419. { // Pin list
  6420. 0x0018
  6421. }
  6422. GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x0000,
  6423. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  6424. )
  6425. { // Pin list
  6426. 0x00AC
  6427. }
  6428. })
  6429. Return (RBUF) /* \_SB_.PCI0.GPP3._CRS.RBUF */
  6430. }
  6431. }
  6432.  
  6433. Scope (GPP3.RTL8)
  6434. {
  6435. Name (_S0W, 0x04) // _S0W: S0 Device Wake State
  6436. }
  6437.  
  6438. Scope (GPP4)
  6439. {
  6440. Name (_S4W, 0x04) // _S4W: S4 Device Wake State
  6441. Name (_S0W, 0x04) // _S0W: S0 Device Wake State
  6442. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  6443. {
  6444. }
  6445.  
  6446. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  6447. {
  6448. Name (RBUF, ResourceTemplate ()
  6449. {
  6450. GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
  6451. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  6452. )
  6453. { // Pin list
  6454. 0x0012
  6455. }
  6456. GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x0000,
  6457. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  6458. )
  6459. { // Pin list
  6460. 0x00AC
  6461. }
  6462. })
  6463. Name (QBUF, ResourceTemplate ()
  6464. {
  6465. GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x0000,
  6466. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  6467. )
  6468. { // Pin list
  6469. 0x00AC
  6470. }
  6471. })
  6472. If ((WNWP == One))
  6473. {
  6474. Return (QBUF) /* \_SB_.PCI0.GPP4._CRS.QBUF */
  6475. }
  6476. Else
  6477. {
  6478. Return (RBUF) /* \_SB_.PCI0.GPP4._CRS.RBUF */
  6479. }
  6480. }
  6481.  
  6482. Device (WLAN)
  6483. {
  6484. Name (_ADR, Zero) // _ADR: Address
  6485. Name (_S0W, 0x04) // _S0W: S0 Device Wake State
  6486. Name (_S4W, 0x04) // _S4W: S4 Device Wake State
  6487. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  6488. {
  6489. }
  6490.  
  6491. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  6492. {
  6493. If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
  6494. {
  6495. If ((Arg2 == Zero))
  6496. {
  6497. If ((Arg1 == Zero))
  6498. {
  6499. Return (Buffer (One)
  6500. {
  6501. 0x51 // Q
  6502. })
  6503. }
  6504. Else
  6505. {
  6506. Return (Buffer (One)
  6507. {
  6508. 0x00 // .
  6509. })
  6510. }
  6511. }
  6512.  
  6513. If ((Arg2 == One))
  6514. {
  6515. Return (Buffer (One)
  6516. {
  6517. 0x00 // .
  6518. })
  6519. }
  6520.  
  6521. If ((Arg2 == 0x02))
  6522. {
  6523. Return (Buffer (One)
  6524. {
  6525. 0x00 // .
  6526. })
  6527. }
  6528.  
  6529. If ((Arg2 == 0x03))
  6530. {
  6531. Return (Buffer (One)
  6532. {
  6533. 0x00 // .
  6534. })
  6535. }
  6536.  
  6537. If ((Arg2 == 0x04))
  6538. {
  6539. Return (Buffer (One)
  6540. {
  6541. 0x03 // .
  6542. })
  6543. }
  6544.  
  6545. If ((Arg2 == 0x06))
  6546. {
  6547. Return (Buffer (One)
  6548. {
  6549. 0x0F // .
  6550. })
  6551. }
  6552.  
  6553. Return (Zero)
  6554. }
  6555. Else
  6556. {
  6557. Return (Buffer (One)
  6558. {
  6559. 0x00 // .
  6560. })
  6561. }
  6562. }
  6563.  
  6564. Name (WRDX, Package (0x02)
  6565. {
  6566. Zero,
  6567. Package (0x02)
  6568. {
  6569. 0x80000000,
  6570. 0x8000
  6571. }
  6572. })
  6573. Method (WRDD, 0, Serialized)
  6574. {
  6575. DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
  6576. DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
  6577. Return (WRDX) /* \_SB_.PCI0.GPP4.WLAN.WRDX */
  6578. }
  6579.  
  6580. Name (WRDY, Package (0x02)
  6581. {
  6582. Zero,
  6583. Package (0x0C)
  6584. {
  6585. 0x07,
  6586. 0x80,
  6587. 0x80,
  6588. 0x80,
  6589. 0x80,
  6590. 0x80,
  6591. 0x80,
  6592. 0x80,
  6593. 0x80,
  6594. 0x80,
  6595. 0x80,
  6596. 0x80
  6597. }
  6598. })
  6599. Method (WRDS, 0, Serialized)
  6600. {
  6601. DerefOf (WRDY [One]) [One] = STXE /* \STXE */
  6602. DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
  6603. DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
  6604. DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
  6605. DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
  6606. DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
  6607. DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
  6608. DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
  6609. DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
  6610. DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
  6611. DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
  6612. Return (WRDY) /* \_SB_.PCI0.GPP4.WLAN.WRDY */
  6613. }
  6614.  
  6615. Name (EWRY, Package (0x02)
  6616. {
  6617. Zero,
  6618. Package (0x21)
  6619. {
  6620. 0x07,
  6621. 0x80,
  6622. 0x80,
  6623. 0x80,
  6624. 0x80,
  6625. 0x80,
  6626. 0x80,
  6627. 0x80,
  6628. 0x80,
  6629. 0x80,
  6630. 0x80,
  6631. 0x80,
  6632. 0x80,
  6633. 0x80,
  6634. 0x80,
  6635. 0x80,
  6636. 0x80,
  6637. 0x80,
  6638. 0x80,
  6639. 0x80,
  6640. 0x80,
  6641. 0x80,
  6642. 0x80,
  6643. 0x80,
  6644. 0x80,
  6645. 0x80,
  6646. 0x80,
  6647. 0x80,
  6648. 0x80,
  6649. 0x80,
  6650. 0x80,
  6651. 0x80,
  6652. 0x80
  6653. }
  6654. })
  6655. Method (EWRD, 0, Serialized)
  6656. {
  6657. Return (EWRY) /* \_SB_.PCI0.GPP4.WLAN.EWRY */
  6658. }
  6659.  
  6660. Name (WGDY, Package (0x02)
  6661. {
  6662. Zero,
  6663. Package (0x13)
  6664. {
  6665. 0x07,
  6666. 0x80,
  6667. 0x80,
  6668. 0x80,
  6669. 0x80,
  6670. 0x80,
  6671. 0x80,
  6672. 0x80,
  6673. 0x80,
  6674. 0x80,
  6675. 0x80,
  6676. 0x80,
  6677. 0x80,
  6678. 0x80,
  6679. 0x80,
  6680. 0x80,
  6681. 0x80,
  6682. 0x80,
  6683. 0x80
  6684. }
  6685. })
  6686. Method (WGDS, 0, Serialized)
  6687. {
  6688. DerefOf (WGDY [One]) [One] = SD11 /* \SD11 */
  6689. DerefOf (WGDY [One]) [0x02] = SD12 /* \SD12 */
  6690. DerefOf (WGDY [One]) [0x03] = SD13 /* \SD13 */
  6691. DerefOf (WGDY [One]) [0x04] = SD14 /* \SD14 */
  6692. DerefOf (WGDY [One]) [0x05] = SD15 /* \SD15 */
  6693. DerefOf (WGDY [One]) [0x06] = SD16 /* \SD16 */
  6694. DerefOf (WGDY [One]) [0x07] = SD21 /* \SD21 */
  6695. DerefOf (WGDY [One]) [0x08] = SD22 /* \SD22 */
  6696. DerefOf (WGDY [One]) [0x09] = SD23 /* \SD23 */
  6697. DerefOf (WGDY [One]) [0x0A] = SD24 /* \SD24 */
  6698. DerefOf (WGDY [One]) [0x0B] = SD25 /* \SD25 */
  6699. DerefOf (WGDY [One]) [0x0C] = SD26 /* \SD26 */
  6700. DerefOf (WGDY [One]) [0x0D] = SD31 /* \SD31 */
  6701. DerefOf (WGDY [One]) [0x0E] = SD32 /* \SD32 */
  6702. DerefOf (WGDY [One]) [0x0F] = SD33 /* \SD33 */
  6703. DerefOf (WGDY [One]) [0x10] = SD34 /* \SD34 */
  6704. DerefOf (WGDY [One]) [0x11] = SD35 /* \SD35 */
  6705. DerefOf (WGDY [One]) [0x12] = SD36 /* \SD36 */
  6706. Return (WGDY) /* \_SB_.PCI0.GPP4.WLAN.WGDY */
  6707. }
  6708.  
  6709. Name (ECKY, Package (0x02)
  6710. {
  6711. Zero,
  6712. Package (0x02)
  6713. {
  6714. 0x07,
  6715. Zero
  6716. }
  6717. })
  6718. Method (ECKV, 0, Serialized)
  6719. {
  6720. Return (ECKY) /* \_SB_.PCI0.GPP4.WLAN.ECKY */
  6721. }
  6722.  
  6723. Name (PPAY, Package (0x02)
  6724. {
  6725. Zero,
  6726. Package (0x0C)
  6727. {
  6728. 0x07,
  6729. Zero,
  6730. 0x18,
  6731. 0x28,
  6732. 0x28,
  6733. 0x28,
  6734. 0x28,
  6735. 0x18,
  6736. 0x28,
  6737. 0x28,
  6738. 0x28,
  6739. 0x28
  6740. }
  6741. })
  6742. Method (PPAG, 0, Serialized)
  6743. {
  6744. Return (PPAY) /* \_SB_.PCI0.GPP4.WLAN.PPAY */
  6745. }
  6746.  
  6747. PowerResource (BTRT, 0x05, 0x0000)
  6748. {
  6749. Method (_STA, 0, NotSerialized) // _STA: Status
  6750. {
  6751. Return (One)
  6752. }
  6753.  
  6754. Method (_ON, 0, NotSerialized) // _ON_: Power On
  6755. {
  6756. }
  6757.  
  6758. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  6759. {
  6760. }
  6761.  
  6762. Method (_RST, 0, NotSerialized) // _RST: Device Reset
  6763. {
  6764. }
  6765. }
  6766.  
  6767. Method (_PRR, 0, NotSerialized) // _PRR: Power Resource for Reset
  6768. {
  6769. Return (Package (0x01)
  6770. {
  6771. BTRT
  6772. })
  6773. }
  6774. }
  6775. }
  6776.  
  6777. Method (PXCR, 3, Serialized)
  6778. {
  6779. Local0 = Zero
  6780. 0x08 = M017 (Arg0, Arg1, Arg2, 0x34, Zero)
  6781. Local1
  6782. While ((Local1 != Zero))
  6783. {
  6784. 0x08 = M017 (Arg0, Arg1, Arg2, Local1, Zero)
  6785. Local2
  6786. If (((Local2 == Zero) || (Local2 == 0xFF)))
  6787. {
  6788. Break
  6789. }
  6790.  
  6791. If ((Local2 == 0x10))
  6792. {
  6793. Local0 = Local1
  6794. Break
  6795. }
  6796.  
  6797. 0x08 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero)
  6798. Local1
  6799. }
  6800.  
  6801. Return (Local0)
  6802. }
  6803.  
  6804. Scope (\_SB)
  6805. {
  6806. OperationRegion (PMIO, SystemMemory, 0xFED80300, 0x0100)
  6807. Field (PMIO, AnyAcc, NoLock, Preserve)
  6808. {
  6809. Offset (0x80),
  6810. SI3R, 1
  6811. }
  6812.  
  6813. Name (NBRI, Zero)
  6814. Name (NBAR, Zero)
  6815. Name (NCMD, Zero)
  6816. Name (PXDC, Zero)
  6817. Name (PXLC, Zero)
  6818. Name (PXD2, Zero)
  6819. }
  6820.  
  6821. Scope (GPP6)
  6822. {
  6823. PowerResource (P0NV, 0x00, 0x0000)
  6824. {
  6825. Name (D0NV, One)
  6826. Method (_STA, 0, NotSerialized) // _STA: Status
  6827. {
  6828. TPST (0x60AA)
  6829. Return (D0NV) /* \_SB_.PCI0.GPP6.P0NV.D0NV */
  6830. }
  6831.  
  6832. Method (_ON, 0, NotSerialized) // _ON_: Power On
  6833. {
  6834. TPST (0x60D0)
  6835. If ((SI3R && NPWD))
  6836. {
  6837. TPST (0x60E0)
  6838. Local1 = PXCR (NBRI, Zero, Zero)
  6839. M020 (NBRI, Zero, Zero, (Local1 + 0x08), PXDC)
  6840. M020 (NBRI, Zero, Zero, (Local1 + 0x10), (PXLC & 0xFFFFFEFC))
  6841. M020 (NBRI, Zero, Zero, (Local1 + 0x28), PXD2)
  6842. M020 (NBRI, Zero, Zero, 0x10, NBAR)
  6843. M020 (NBRI, Zero, Zero, 0x04, (NCMD | 0x06))
  6844. APMC = 0xE3
  6845. SI3R = Zero
  6846. TPST (0x60E1)
  6847. }
  6848.  
  6849. D0NV = One
  6850. }
  6851.  
  6852. Method (_OFF, 0, NotSerialized) // _OFF: Power Off
  6853. {
  6854. TPST (0x60D3)
  6855. 0x18 = M019 (Zero, 0x02, 0x04)
  6856. Local0
  6857. NBRI = ((Local0 & 0xFF00) >> 0x08)
  6858. 0x04 = M019 (NBRI, Zero, Zero)
  6859. NCMD
  6860. 0x10 = M019 (NBRI, Zero, Zero)
  6861. NBAR
  6862. Local1 = PXCR (NBRI, Zero, Zero)
  6863. (Local1 + 0x08) = M019 (NBRI, Zero, Zero)
  6864. PXDC
  6865. (Local1 + 0x10) = M019 (NBRI, Zero, Zero)
  6866. PXLC
  6867. (Local1 + 0x28) = M019 (NBRI, Zero, Zero)
  6868. PXD2
  6869. D0NV = Zero
  6870. }
  6871. }
  6872.  
  6873. Device (NVME)
  6874. {
  6875. Name (_ADR, Zero) // _ADR: Address
  6876. Name (_S0W, 0x04) // _S0W: S0 Device Wake State
  6877. Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
  6878. {
  6879. P0NV
  6880. })
  6881. Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
  6882. {
  6883. P0NV
  6884. })
  6885. Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
  6886. {
  6887. P0NV
  6888. })
  6889. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  6890. {
  6891. TPST (0x6050)
  6892. }
  6893.  
  6894. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  6895. {
  6896. TPST (0x6053)
  6897. }
  6898.  
  6899. Name (_DSD, Package (0x02) // _DSD: Device-Specific Data
  6900. {
  6901. ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */,
  6902. Package (0x01)
  6903. {
  6904. Package (0x02)
  6905. {
  6906. "StorageD3Enable",
  6907. One
  6908. }
  6909. }
  6910. })
  6911. }
  6912. }
  6913. }
  6914.  
  6915. OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02)
  6916. Field (PIRQ, ByteAcc, NoLock, Preserve)
  6917. {
  6918. PIDX, 8,
  6919. PDAT, 8
  6920. }
  6921.  
  6922. IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve)
  6923. {
  6924. PIRA, 8,
  6925. PIRB, 8,
  6926. PIRC, 8,
  6927. PIRD, 8,
  6928. PIRE, 8,
  6929. PIRF, 8,
  6930. PIRG, 8,
  6931. PIRH, 8,
  6932. Offset (0x0C),
  6933. SIRA, 8,
  6934. SIRB, 8,
  6935. SIRC, 8,
  6936. SIRD, 8,
  6937. PIRS, 8,
  6938. Offset (0x13),
  6939. HDAD, 8,
  6940. Offset (0x17),
  6941. SDCL, 8,
  6942. Offset (0x1A),
  6943. SDIO, 8,
  6944. Offset (0x30),
  6945. USB1, 8,
  6946. Offset (0x34),
  6947. USB3, 8,
  6948. Offset (0x41),
  6949. SATA, 8,
  6950. Offset (0x62),
  6951. GIOC, 8,
  6952. Offset (0x70),
  6953. I2C0, 8,
  6954. I2C1, 8,
  6955. I2C2, 8,
  6956. I2C3, 8,
  6957. URT0, 8,
  6958. URT1, 8
  6959. }
  6960.  
  6961. Method (DSPI, 0, NotSerialized)
  6962. {
  6963. INTA (0x1F)
  6964. INTB (0x1F)
  6965. INTC (0x1F)
  6966. INTD (0x1F)
  6967. PIRE = 0x1F
  6968. PIRF = 0x1F
  6969. PIRG = 0x1F
  6970. PIRH = 0x1F
  6971. }
  6972.  
  6973. Method (INTA, 1, NotSerialized)
  6974. {
  6975. PIRA = Arg0
  6976. If (PICM)
  6977. {
  6978. HDAD = Arg0
  6979. SDCL = Arg0
  6980. }
  6981. }
  6982.  
  6983. Method (INTB, 1, NotSerialized)
  6984. {
  6985. PIRB = Arg0
  6986. }
  6987.  
  6988. Method (INTC, 1, NotSerialized)
  6989. {
  6990. PIRC = Arg0
  6991. If (PICM)
  6992. {
  6993. USB1 = Arg0
  6994. USB3 = Arg0
  6995. }
  6996. }
  6997.  
  6998. Method (INTD, 1, NotSerialized)
  6999. {
  7000. PIRD = Arg0
  7001. If (PICM)
  7002. {
  7003. SATA = Arg0
  7004. }
  7005. }
  7006.  
  7007. Name (PRS1, ResourceTemplate ()
  7008. {
  7009. IRQ (Level, ActiveLow, Shared, )
  7010. {3,5,6,10,11}
  7011. })
  7012. Name (BUFA, ResourceTemplate ()
  7013. {
  7014. IRQ (Level, ActiveLow, Shared, )
  7015. {15}
  7016. })
  7017. Device (LNKA)
  7018. {
  7019. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  7020. Name (_UID, One) // _UID: Unique ID
  7021. Method (_STA, 0, NotSerialized) // _STA: Status
  7022. {
  7023. If ((PIRA && (PIRA != 0x1F)))
  7024. {
  7025. Return (0x0B)
  7026. }
  7027. Else
  7028. {
  7029. Return (0x09)
  7030. }
  7031. }
  7032.  
  7033. Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
  7034. {
  7035. Return (PRS1) /* \_SB_.PRS1 */
  7036. }
  7037.  
  7038. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  7039. {
  7040. INTA (0x1F)
  7041. }
  7042.  
  7043. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7044. {
  7045. CreateWordField (BUFA, One, IRQX)
  7046. IRQX = (One << PIRA) /* \_SB_.PIRA */
  7047. Return (BUFA) /* \_SB_.BUFA */
  7048. }
  7049.  
  7050. Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
  7051. {
  7052. CreateWordField (Arg0, One, IRA)
  7053. FindSetRightBit (IRA, Local0)
  7054. Local0--
  7055. PIRA = Local0
  7056. }
  7057. }
  7058.  
  7059. Device (LNKB)
  7060. {
  7061. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  7062. Name (_UID, 0x02) // _UID: Unique ID
  7063. Method (_STA, 0, NotSerialized) // _STA: Status
  7064. {
  7065. If ((PIRB && (PIRB != 0x1F)))
  7066. {
  7067. Return (0x0B)
  7068. }
  7069. Else
  7070. {
  7071. Return (0x09)
  7072. }
  7073. }
  7074.  
  7075. Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
  7076. {
  7077. Return (PRS1) /* \_SB_.PRS1 */
  7078. }
  7079.  
  7080. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  7081. {
  7082. INTB (0x1F)
  7083. }
  7084.  
  7085. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7086. {
  7087. CreateWordField (BUFA, One, IRQX)
  7088. IRQX = (One << PIRB) /* \_SB_.PIRB */
  7089. Return (BUFA) /* \_SB_.BUFA */
  7090. }
  7091.  
  7092. Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
  7093. {
  7094. CreateWordField (Arg0, One, IRA)
  7095. FindSetRightBit (IRA, Local0)
  7096. Local0--
  7097. PIRB = Local0
  7098. }
  7099. }
  7100.  
  7101. Device (LNKC)
  7102. {
  7103. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  7104. Name (_UID, 0x03) // _UID: Unique ID
  7105. Method (_STA, 0, NotSerialized) // _STA: Status
  7106. {
  7107. If ((PIRC && (PIRC != 0x1F)))
  7108. {
  7109. Return (0x0B)
  7110. }
  7111. Else
  7112. {
  7113. Return (0x09)
  7114. }
  7115. }
  7116.  
  7117. Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
  7118. {
  7119. Return (PRS1) /* \_SB_.PRS1 */
  7120. }
  7121.  
  7122. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  7123. {
  7124. INTC (0x1F)
  7125. }
  7126.  
  7127. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7128. {
  7129. CreateWordField (BUFA, One, IRQX)
  7130. IRQX = (One << PIRC) /* \_SB_.PIRC */
  7131. Return (BUFA) /* \_SB_.BUFA */
  7132. }
  7133.  
  7134. Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
  7135. {
  7136. CreateWordField (Arg0, One, IRA)
  7137. FindSetRightBit (IRA, Local0)
  7138. Local0--
  7139. PIRC = Local0
  7140. }
  7141. }
  7142.  
  7143. Device (LNKD)
  7144. {
  7145. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  7146. Name (_UID, 0x04) // _UID: Unique ID
  7147. Method (_STA, 0, NotSerialized) // _STA: Status
  7148. {
  7149. If ((PIRD && (PIRD != 0x1F)))
  7150. {
  7151. Return (0x0B)
  7152. }
  7153. Else
  7154. {
  7155. Return (0x09)
  7156. }
  7157. }
  7158.  
  7159. Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
  7160. {
  7161. Return (PRS1) /* \_SB_.PRS1 */
  7162. }
  7163.  
  7164. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  7165. {
  7166. INTD (0x1F)
  7167. }
  7168.  
  7169. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7170. {
  7171. CreateWordField (BUFA, One, IRQX)
  7172. IRQX = (One << PIRD) /* \_SB_.PIRD */
  7173. Return (BUFA) /* \_SB_.BUFA */
  7174. }
  7175.  
  7176. Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
  7177. {
  7178. CreateWordField (Arg0, One, IRA)
  7179. FindSetRightBit (IRA, Local0)
  7180. Local0--
  7181. PIRD = Local0
  7182. }
  7183. }
  7184.  
  7185. Device (LNKE)
  7186. {
  7187. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  7188. Name (_UID, 0x05) // _UID: Unique ID
  7189. Method (_STA, 0, NotSerialized) // _STA: Status
  7190. {
  7191. If ((PIRE && (PIRE != 0x1F)))
  7192. {
  7193. Return (0x0B)
  7194. }
  7195. Else
  7196. {
  7197. Return (0x09)
  7198. }
  7199. }
  7200.  
  7201. Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
  7202. {
  7203. Return (PRS1) /* \_SB_.PRS1 */
  7204. }
  7205.  
  7206. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  7207. {
  7208. PIRE = 0x1F
  7209. }
  7210.  
  7211. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7212. {
  7213. CreateWordField (BUFA, One, IRQX)
  7214. IRQX = (One << PIRE) /* \_SB_.PIRE */
  7215. Return (BUFA) /* \_SB_.BUFA */
  7216. }
  7217.  
  7218. Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
  7219. {
  7220. CreateWordField (Arg0, One, IRA)
  7221. FindSetRightBit (IRA, Local0)
  7222. Local0--
  7223. PIRE = Local0
  7224. }
  7225. }
  7226.  
  7227. Device (LNKF)
  7228. {
  7229. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  7230. Name (_UID, 0x06) // _UID: Unique ID
  7231. Method (_STA, 0, NotSerialized) // _STA: Status
  7232. {
  7233. If ((PIRF && (PIRF != 0x1F)))
  7234. {
  7235. Return (0x0B)
  7236. }
  7237. Else
  7238. {
  7239. Return (0x09)
  7240. }
  7241. }
  7242.  
  7243. Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
  7244. {
  7245. Return (PRS1) /* \_SB_.PRS1 */
  7246. }
  7247.  
  7248. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  7249. {
  7250. PIRF = 0x1F
  7251. }
  7252.  
  7253. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7254. {
  7255. CreateWordField (BUFA, One, IRQX)
  7256. IRQX = (One << PIRF) /* \_SB_.PIRF */
  7257. Return (BUFA) /* \_SB_.BUFA */
  7258. }
  7259.  
  7260. Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
  7261. {
  7262. CreateWordField (Arg0, One, IRA)
  7263. FindSetRightBit (IRA, Local0)
  7264. Local0--
  7265. PIRF = Local0
  7266. }
  7267. }
  7268.  
  7269. Device (LNKG)
  7270. {
  7271. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  7272. Name (_UID, 0x07) // _UID: Unique ID
  7273. Method (_STA, 0, NotSerialized) // _STA: Status
  7274. {
  7275. If ((PIRG && (PIRG != 0x1F)))
  7276. {
  7277. Return (0x0B)
  7278. }
  7279. Else
  7280. {
  7281. Return (0x09)
  7282. }
  7283. }
  7284.  
  7285. Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
  7286. {
  7287. Return (PRS1) /* \_SB_.PRS1 */
  7288. }
  7289.  
  7290. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  7291. {
  7292. PIRG = 0x1F
  7293. }
  7294.  
  7295. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7296. {
  7297. CreateWordField (BUFA, One, IRQX)
  7298. IRQX = (One << PIRG) /* \_SB_.PIRG */
  7299. Return (BUFA) /* \_SB_.BUFA */
  7300. }
  7301.  
  7302. Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
  7303. {
  7304. CreateWordField (Arg0, One, IRA)
  7305. FindSetRightBit (IRA, Local0)
  7306. Local0--
  7307. PIRG = Local0
  7308. }
  7309. }
  7310.  
  7311. Device (LNKH)
  7312. {
  7313. Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
  7314. Name (_UID, 0x08) // _UID: Unique ID
  7315. Method (_STA, 0, NotSerialized) // _STA: Status
  7316. {
  7317. If ((PIRH && (PIRH != 0x1F)))
  7318. {
  7319. Return (0x0B)
  7320. }
  7321. Else
  7322. {
  7323. Return (0x09)
  7324. }
  7325. }
  7326.  
  7327. Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
  7328. {
  7329. Return (PRS1) /* \_SB_.PRS1 */
  7330. }
  7331.  
  7332. Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
  7333. {
  7334. PIRH = 0x1F
  7335. }
  7336.  
  7337. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  7338. {
  7339. CreateWordField (BUFA, One, IRQX)
  7340. IRQX = (One << PIRH) /* \_SB_.PIRH */
  7341. Return (BUFA) /* \_SB_.BUFA */
  7342. }
  7343.  
  7344. Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
  7345. {
  7346. CreateWordField (Arg0, One, IRA)
  7347. FindSetRightBit (IRA, Local0)
  7348. Local0--
  7349. PIRH = Local0
  7350. }
  7351. }
  7352.  
  7353. Method (GSMI, 1, NotSerialized)
  7354. {
  7355. APMD = Arg0
  7356. APMC = 0xE4
  7357. Sleep (0x02)
  7358. }
  7359.  
  7360. Method (S80H, 1, NotSerialized)
  7361. {
  7362. P80H = Arg0
  7363. DCTC (Arg0)
  7364. }
  7365.  
  7366. Method (BSMI, 1, NotSerialized)
  7367. {
  7368. APMD = Arg0
  7369. APMC = 0xBE
  7370. Sleep (One)
  7371. }
  7372.  
  7373. Device (ACAD)
  7374. {
  7375. Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
  7376. Name (_PCL, Package (0x01) // _PCL: Power Consumer List
  7377. {
  7378. _SB
  7379. })
  7380. Name (XX00, Buffer (0x03){})
  7381. Name (ACDC, 0xFF)
  7382. Name (ACRT, Zero)
  7383. Method (_PSR, 0, NotSerialized) // _PSR: Power Source
  7384. {
  7385. Local0 = One
  7386. If (^^PCI0.LPC0.ECOK ())
  7387. {
  7388. If (!Acquire (^^PCI0.LPC0.EC0.Z009, 0x012C))
  7389. {
  7390. Local0 = ^^PCI0.LPC0.EC0.ACDC /* \_SB_.PCI0.LPC0.EC0_.ACDC */
  7391. CreateWordField (XX00, Zero, SSZE)
  7392. CreateByteField (XX00, 0x02, ACST)
  7393. SSZE = 0x03
  7394. If ((Local0 != ACDC))
  7395. {
  7396. If (Local0)
  7397. {
  7398. AFN4 (One)
  7399. ACST = Zero
  7400. }
  7401. Else
  7402. {
  7403. AFN4 (0x02)
  7404. ACST = One
  7405. }
  7406.  
  7407. ALIB (One, XX00)
  7408. ACDC = Local0
  7409. ACRT = Zero
  7410. }
  7411.  
  7412. Release (^^PCI0.LPC0.EC0.Z009)
  7413. }
  7414. }
  7415.  
  7416. Return (Local0)
  7417. }
  7418.  
  7419. Method (_STA, 0, NotSerialized) // _STA: Status
  7420. {
  7421. Return (0x0F)
  7422. }
  7423. }
  7424.  
  7425. Device (BAT1)
  7426. {
  7427. Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
  7428. Name (_UID, One) // _UID: Unique ID
  7429. Name (_PCL, Package (0x01) // _PCL: Power Consumer List
  7430. {
  7431. _SB
  7432. })
  7433. Name (BATP, 0x0F)
  7434. Method (_STA, 0, NotSerialized) // _STA: Status
  7435. {
  7436. Return (BATP) /* \_SB_.BAT1.BATP */
  7437. }
  7438.  
  7439. Name (PBIX, Package (0x14)
  7440. {
  7441. Zero,
  7442. One,
  7443. 0x0E20,
  7444. 0x0E80,
  7445. One,
  7446. 0x2C00,
  7447. 0x64,
  7448. 0x32,
  7449. Zero,
  7450. 0x00017318,
  7451. Ones,
  7452. Ones,
  7453. 0x88B8,
  7454. 0x61A8,
  7455. One,
  7456. One,
  7457. "BAT1",
  7458. " ",
  7459. " ",
  7460. " "
  7461. })
  7462. Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
  7463. {
  7464. If (^^PCI0.LPC0.ECOK ())
  7465. {
  7466. If (UPBX ())
  7467. {
  7468. PBIX [0x02] = 0x0E20
  7469. PBIX [0x03] = 0x0E80
  7470. PBIX [0x05] = 0x2C00
  7471. PBIX [0x08] = Zero
  7472. PBIX [0x10] = "BAT1"
  7473. PBIX [0x11] = "NA"
  7474. PBIX [0x12] = "NA"
  7475. PBIX [0x13] = "NA"
  7476. }
  7477. }
  7478.  
  7479. Return (PBIX) /* \_SB_.BAT1.PBIX */
  7480. }
  7481.  
  7482. Method (UPBX, 0, NotSerialized)
  7483. {
  7484. If (((^^PCI0.LPC0.EC0.BATL & One) == Zero))
  7485. {
  7486. Return (0xFF)
  7487. }
  7488.  
  7489. PBIX [0x02] = ^^PCI0.LPC0.EC0.BTAP /* \_SB_.PCI0.LPC0.EC0_.BTAP */
  7490. Name (FDDC, Zero)
  7491. FDDC = ((^^PCI0.LPC0.EC0.BTAP / 0x0A) * 0x0B)
  7492. If ((^^PCI0.LPC0.EC0.BTFC >= FDDC))
  7493. {
  7494. PBIX [0x03] = FDDC /* \_SB_.BAT1.UPBX.FDDC */
  7495. }
  7496. Else
  7497. {
  7498. PBIX [0x03] = ^^PCI0.LPC0.EC0.BTFC /* \_SB_.PCI0.LPC0.EC0_.BTFC */
  7499. }
  7500.  
  7501. PBIX [0x05] = ^^PCI0.LPC0.EC0.BTDV /* \_SB_.PCI0.LPC0.EC0_.BTDV */
  7502. PBIX [0x08] = ^^PCI0.LPC0.EC0.BTCC /* \_SB_.PCI0.LPC0.EC0_.BTCC */
  7503. Name (BXMN, Buffer (0x10){})
  7504. BXMN = ^^PCI0.LPC0.EC0.BDNA /* \_SB_.PCI0.LPC0.EC0_.BDNA */
  7505. PBFE (BXMN, ^^PCI0.LPC0.EC0.BDBC, Zero)
  7506. PBIX [0x10] = BXMN /* \_SB_.BAT1.UPBX.BXMN */
  7507. PBIX [0x11] = ITOS (ToBCD (^^PCI0.LPC0.EC0.BTSN))
  7508. If (^^PCI0.LPC0.EC0.CHEM)
  7509. {
  7510. PBIX [0x12] = "NiMH"
  7511. }
  7512. Else
  7513. {
  7514. PBIX [0x12] = "LION"
  7515. }
  7516.  
  7517. Name (BXOI, Buffer (0x14){})
  7518. BXOI = ^^PCI0.LPC0.EC0.BNAM /* \_SB_.PCI0.LPC0.EC0_.BNAM */
  7519. PBFE (BXOI, ^^PCI0.LPC0.EC0.BNBC, Zero)
  7520. PBIX [0x13] = BXOI /* \_SB_.BAT1.UPBX.BXOI */
  7521. Return (Zero)
  7522. }
  7523.  
  7524. Name (PBIF, Package (0x0D)
  7525. {
  7526. One,
  7527. 0x0E20,
  7528. 0x0E80,
  7529. One,
  7530. 0x2C00,
  7531. 0x64,
  7532. 0x32,
  7533. One,
  7534. One,
  7535. "BAT1",
  7536. " ",
  7537. " ",
  7538. " "
  7539. })
  7540. Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
  7541. {
  7542. If (^^PCI0.LPC0.ECOK ())
  7543. {
  7544. If (UPBI ())
  7545. {
  7546. PBIF [One] = 0x0E20
  7547. PBIF [0x02] = 0x0E80
  7548. PBIF [0x04] = 0x2C00
  7549. PBIF [0x09] = "BAT1"
  7550. PBIF [0x0A] = "NA"
  7551. PBIF [0x0B] = "NA"
  7552. PBIF [0x0C] = "NA"
  7553. }
  7554. }
  7555.  
  7556. Return (PBIF) /* \_SB_.BAT1.PBIF */
  7557. }
  7558.  
  7559. Method (UPBI, 0, NotSerialized)
  7560. {
  7561. If (((^^PCI0.LPC0.EC0.BATL & One) == Zero))
  7562. {
  7563. Return (0xFF)
  7564. }
  7565.  
  7566. PBIF [One] = ^^PCI0.LPC0.EC0.BTAP /* \_SB_.PCI0.LPC0.EC0_.BTAP */
  7567. PBIF [0x02] = ^^PCI0.LPC0.EC0.BTFC /* \_SB_.PCI0.LPC0.EC0_.BTFC */
  7568. PBIF [0x04] = ^^PCI0.LPC0.EC0.BTDV /* \_SB_.PCI0.LPC0.EC0_.BTDV */
  7569. Name (BFMN, Buffer (0x10){})
  7570. BFMN = ^^PCI0.LPC0.EC0.BDNA /* \_SB_.PCI0.LPC0.EC0_.BDNA */
  7571. PBFE (BFMN, ^^PCI0.LPC0.EC0.BDBC, Zero)
  7572. PBIF [0x09] = BFMN /* \_SB_.BAT1.UPBI.BFMN */
  7573. PBIF [0x0A] = ITOS (ToBCD (^^PCI0.LPC0.EC0.BTSN))
  7574. If (^^PCI0.LPC0.EC0.CHEM)
  7575. {
  7576. PBIF [0x0B] = "NiMH"
  7577. }
  7578. Else
  7579. {
  7580. PBIF [0x0B] = "LION"
  7581. }
  7582.  
  7583. Name (BFOI, Buffer (0x14){})
  7584. BFOI = ^^PCI0.LPC0.EC0.BNAM /* \_SB_.PCI0.LPC0.EC0_.BNAM */
  7585. PBFE (BFOI, ^^PCI0.LPC0.EC0.BNBC, Zero)
  7586. PBIF [0x0C] = BFOI /* \_SB_.BAT1.UPBI.BFOI */
  7587. Return (Zero)
  7588. }
  7589.  
  7590. Name (PBST, Package (0x04)
  7591. {
  7592. Zero,
  7593. Ones,
  7594. 0x0E70,
  7595. 0x3100
  7596. })
  7597. Method (_BST, 0, NotSerialized) // _BST: Battery Status
  7598. {
  7599. If (^^PCI0.LPC0.ECOK ())
  7600. {
  7601. If (UPBS ())
  7602. {
  7603. PBST [Zero] = Zero
  7604. PBST [One] = Ones
  7605. PBST [0x02] = 0x0E70
  7606. PBST [0x03] = 0x3100
  7607. }
  7608. }
  7609.  
  7610. Return (PBST) /* \_SB_.BAT1.PBST */
  7611. }
  7612.  
  7613. Method (UPBS, 0, NotSerialized)
  7614. {
  7615. If (((^^PCI0.LPC0.EC0.BATL & One) == Zero))
  7616. {
  7617. Return (0xFF)
  7618. }
  7619.  
  7620. Local0 = Zero
  7621. If ((^^PCI0.LPC0.EC0.BATH & 0x0C))
  7622. {
  7623. Local0 |= 0x02
  7624. }
  7625. ElseIf (((^^PCI0.LPC0.EC0.BATH & 0x0F) == One))
  7626. {
  7627. Local0 |= One
  7628. }
  7629.  
  7630. PBST [Zero] = Local0
  7631. Local1 = ^^PCI0.LPC0.EC0.BT1I /* \_SB_.PCI0.LPC0.EC0_.BT1I */
  7632. If ((Local1 & 0x8000))
  7633. {
  7634. Local1 |= 0xFFFF0000
  7635. Local1 = ((Ones - Local1) + One)
  7636. }
  7637.  
  7638. PBST [One] = Local1
  7639. PBST [0x02] = ^^PCI0.LPC0.EC0.BT1C /* \_SB_.PCI0.LPC0.EC0_.BT1C */
  7640. PBST [0x03] = ^^PCI0.LPC0.EC0.BT1V /* \_SB_.PCI0.LPC0.EC0_.BT1V */
  7641. Return (Zero)
  7642. }
  7643.  
  7644. Method (GBFE, 3, NotSerialized)
  7645. {
  7646. CreateByteField (Arg0, Arg1, TIDX)
  7647. Arg2 = TIDX /* \_SB_.BAT1.GBFE.TIDX */
  7648. }
  7649.  
  7650. Method (PBFE, 3, NotSerialized)
  7651. {
  7652. CreateByteField (Arg0, Arg1, TIDX)
  7653. TIDX = Arg2
  7654. }
  7655.  
  7656. Method (ITOS, 1, NotSerialized)
  7657. {
  7658. Local0 = Buffer (0x09)
  7659. {
  7660. /* 0000 */ 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0.......
  7661. /* 0008 */ 0x00 // .
  7662. }
  7663. Local7 = Buffer (0x11)
  7664. {
  7665. "0123456789ABCDEF"
  7666. }
  7667. Local1 = 0x08
  7668. Local2 = Zero
  7669. Local3 = Zero
  7670. While (Local1)
  7671. {
  7672. Local1--
  7673. Local4 = ((Arg0 >> (Local1 << 0x02)) & 0x0F)
  7674. If (Local4)
  7675. {
  7676. Local3 = Ones
  7677. }
  7678.  
  7679. If (Local3)
  7680. {
  7681. GBFE (Local7, Local4, RefOf (Local5))
  7682. PBFE (Local0, Local2, Local5)
  7683. Local2++
  7684. }
  7685. }
  7686.  
  7687. Return (Local0)
  7688. }
  7689. }
  7690.  
  7691. Device (LID0)
  7692. {
  7693. Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
  7694. Method (_LID, 0, NotSerialized) // _LID: Lid Status
  7695. {
  7696. If (^^PCI0.LPC0.ECOK ())
  7697. {
  7698. If (^^PCI0.LPC0.EC0.LSTE)
  7699. {
  7700. Return (Zero)
  7701. }
  7702. Else
  7703. {
  7704. Return (One)
  7705. }
  7706. }
  7707.  
  7708. Return (One)
  7709. }
  7710. }
  7711. }
  7712.  
  7713. Name (TSOS, 0x75)
  7714. If (CondRefOf (\_OSI))
  7715. {
  7716. If (_OSI ("Windows 2009"))
  7717. {
  7718. TSOS = 0x50
  7719. }
  7720.  
  7721. If (_OSI ("Windows 2015"))
  7722. {
  7723. TSOS = 0x70
  7724. }
  7725. }
  7726.  
  7727. Scope (_SB)
  7728. {
  7729. OperationRegion (SMIC, SystemMemory, 0xFED80000, 0x00800000)
  7730. Field (SMIC, ByteAcc, NoLock, Preserve)
  7731. {
  7732. Offset (0x36A),
  7733. SMIB, 8
  7734. }
  7735.  
  7736. OperationRegion (SSMI, SystemIO, SMIB, 0x02)
  7737. Field (SSMI, AnyAcc, NoLock, Preserve)
  7738. {
  7739. SMIW, 16
  7740. }
  7741.  
  7742. OperationRegion (ECMC, SystemIO, 0x72, 0x02)
  7743. Field (ECMC, AnyAcc, NoLock, Preserve)
  7744. {
  7745. ECMI, 8,
  7746. ECMD, 8
  7747. }
  7748.  
  7749. IndexField (ECMI, ECMD, ByteAcc, NoLock, Preserve)
  7750. {
  7751. Offset (0x08),
  7752. FRTB, 32,
  7753. Offset (0x62),
  7754. PVID, 16,
  7755. Offset (0x65),
  7756. ESAS, 8,
  7757. SXST, 8,
  7758. Offset (0x68),
  7759. STCO, 8
  7760. }
  7761.  
  7762. OperationRegion (FRTP, SystemMemory, FRTB, 0x0100)
  7763. Field (FRTP, AnyAcc, NoLock, Preserve)
  7764. {
  7765. PEBA, 32,
  7766. , 5,
  7767. IC0E, 1,
  7768. IC1E, 1,
  7769. IC2E, 1,
  7770. IC3E, 1,
  7771. IC4E, 1,
  7772. IC5E, 1,
  7773. UT0E, 1,
  7774. UT1E, 1,
  7775. , 1,
  7776. , 1,
  7777. ST_E, 1,
  7778. UT2E, 1,
  7779. , 1,
  7780. EMMD, 2,
  7781. , 3,
  7782. XHCE, 1,
  7783. , 1,
  7784. , 1,
  7785. UT3E, 1,
  7786. ESPI, 1,
  7787. EMME, 1,
  7788. HFPE, 1,
  7789. Offset (0x08),
  7790. PCEF, 1,
  7791. , 4,
  7792. IC0D, 1,
  7793. IC1D, 1,
  7794. IC2D, 1,
  7795. IC3D, 1,
  7796. IC4D, 1,
  7797. IC5D, 1,
  7798. UT0D, 1,
  7799. UT1D, 1,
  7800. , 1,
  7801. , 1,
  7802. ST_D, 1,
  7803. UT2D, 1,
  7804. , 1,
  7805. EHCD, 1,
  7806. , 4,
  7807. XHCD, 1,
  7808. SD_D, 1,
  7809. , 1,
  7810. UT3D, 1,
  7811. , 1,
  7812. EMD3, 1,
  7813. , 2,
  7814. S03D, 1,
  7815. FW00, 16,
  7816. FW01, 32,
  7817. FW02, 16,
  7818. FW03, 32,
  7819. SDS0, 8,
  7820. SDS1, 8,
  7821. CZFG, 1,
  7822. Offset (0x20),
  7823. SD10, 32,
  7824. EH10, 32,
  7825. XH10, 32,
  7826. STBA, 32
  7827. }
  7828.  
  7829. OperationRegion (FCFG, SystemMemory, PEBA, 0x01000000)
  7830. Field (FCFG, DWordAcc, NoLock, Preserve)
  7831. {
  7832. Offset (0xA3044),
  7833. IPDE, 32,
  7834. IMPE, 32,
  7835. Offset (0xA3078),
  7836. , 2,
  7837. LDQ0, 1,
  7838. Offset (0xA30CB),
  7839. , 7,
  7840. AUSS, 1
  7841. }
  7842.  
  7843. OperationRegion (IOMX, SystemMemory, 0xFED80D00, 0x0100)
  7844. Field (IOMX, AnyAcc, NoLock, Preserve)
  7845. {
  7846. Offset (0x15),
  7847. IM15, 8,
  7848. IM16, 8,
  7849. Offset (0x1F),
  7850. IM1F, 8,
  7851. IM20, 8,
  7852. Offset (0x44),
  7853. IM44, 8,
  7854. Offset (0x46),
  7855. IM46, 8,
  7856. Offset (0x4A),
  7857. IM4A, 8,
  7858. IM4B, 8,
  7859. Offset (0x57),
  7860. IM57, 8,
  7861. IM58, 8,
  7862. Offset (0x68),
  7863. IM68, 8,
  7864. IM69, 8,
  7865. IM6A, 8,
  7866. IM6B, 8,
  7867. Offset (0x6D),
  7868. IM6D, 8
  7869. }
  7870.  
  7871. OperationRegion (FACR, SystemMemory, 0xFED81E00, 0x0100)
  7872. Field (FACR, AnyAcc, NoLock, Preserve)
  7873. {
  7874. Offset (0x80),
  7875. , 28,
  7876. RD28, 1,
  7877. , 1,
  7878. RQTY, 1,
  7879. Offset (0x84),
  7880. , 28,
  7881. SD28, 1,
  7882. , 1,
  7883. Offset (0xA0),
  7884. PG1A, 1
  7885. }
  7886.  
  7887. OperationRegion (EMMX, SystemMemory, 0xFEDD5800, 0x0130)
  7888. Field (EMMX, AnyAcc, NoLock, Preserve)
  7889. {
  7890. Offset (0xD0),
  7891. , 17,
  7892. FC18, 1,
  7893. FC33, 1,
  7894. , 7,
  7895. CD_T, 1,
  7896. WP_T, 1
  7897. }
  7898.  
  7899. OperationRegion (EMMB, SystemMemory, 0xFEDD5800, 0x0130)
  7900. Field (EMMB, AnyAcc, NoLock, Preserve)
  7901. {
  7902. Offset (0xA4),
  7903. E0A4, 32,
  7904. E0A8, 32,
  7905. Offset (0xB0),
  7906. E0B0, 32,
  7907. Offset (0xD0),
  7908. E0D0, 32,
  7909. Offset (0x116),
  7910. E116, 32
  7911. }
  7912.  
  7913. Name (SVBF, Buffer (0x0100)
  7914. {
  7915. 0x00 // .
  7916. })
  7917. CreateDWordField (SVBF, Zero, S0A4)
  7918. CreateDWordField (SVBF, 0x04, S0A8)
  7919. CreateDWordField (SVBF, 0x08, S0B0)
  7920. CreateDWordField (SVBF, 0x0C, S0D0)
  7921. CreateDWordField (SVBF, 0x10, S116)
  7922. Method (SECR, 0, Serialized)
  7923. {
  7924. S116 = E116 /* \_SB_.E116 */
  7925. RQTY = Zero
  7926. RD28 = One
  7927. Local0 = SD28 /* \_SB_.SD28 */
  7928. While (Local0)
  7929. {
  7930. Local0 = SD28 /* \_SB_.SD28 */
  7931. }
  7932. }
  7933.  
  7934. Method (RECR, 0, Serialized)
  7935. {
  7936. E116 = S116 /* \_SB_.S116 */
  7937. }
  7938.  
  7939. OperationRegion (LUIE, SystemMemory, 0xFEDC0020, 0x04)
  7940. Field (LUIE, AnyAcc, NoLock, Preserve)
  7941. {
  7942. IER0, 1,
  7943. IER1, 1,
  7944. IER2, 1,
  7945. IER3, 1,
  7946. UOL0, 1,
  7947. UOL1, 1,
  7948. UOL2, 1,
  7949. UOL3, 1,
  7950. WUR0, 2,
  7951. WUR1, 2,
  7952. WUR2, 2,
  7953. WUR3, 2
  7954. }
  7955.  
  7956. Method (FRUI, 2, Serialized)
  7957. {
  7958. If ((Arg0 == Zero))
  7959. {
  7960. Arg1 = IUA0 /* \_SB_.IUA0 */
  7961. }
  7962.  
  7963. If ((Arg0 == One))
  7964. {
  7965. Arg1 = IUA1 /* \_SB_.IUA1 */
  7966. }
  7967.  
  7968. If ((Arg0 == 0x02))
  7969. {
  7970. Arg1 = IUA2 /* \_SB_.IUA2 */
  7971. }
  7972.  
  7973. If ((Arg0 == 0x03))
  7974. {
  7975. Arg1 = IUA3 /* \_SB_.IUA3 */
  7976. }
  7977. }
  7978.  
  7979. Method (FUIO, 1, Serialized)
  7980. {
  7981. If ((IER0 == One))
  7982. {
  7983. If ((WUR0 == Arg0))
  7984. {
  7985. Return (Zero)
  7986. }
  7987. }
  7988.  
  7989. If ((IER1 == One))
  7990. {
  7991. If ((WUR1 == Arg0))
  7992. {
  7993. Return (One)
  7994. }
  7995. }
  7996.  
  7997. If ((IER2 == One))
  7998. {
  7999. If ((WUR2 == Arg0))
  8000. {
  8001. Return (0x02)
  8002. }
  8003. }
  8004.  
  8005. If ((IER3 == One))
  8006. {
  8007. If ((WUR3 == Arg0))
  8008. {
  8009. Return (0x03)
  8010. }
  8011. }
  8012.  
  8013. Return (0x0F)
  8014. }
  8015.  
  8016. Method (SRAD, 2, Serialized)
  8017. {
  8018. Local0 = (Arg0 << One)
  8019. Local0 += 0xFED81E40
  8020. OperationRegion (ADCR, SystemMemory, Local0, 0x02)
  8021. Field (ADCR, ByteAcc, NoLock, Preserve)
  8022. {
  8023. ADTD, 2,
  8024. ADPS, 1,
  8025. ADPD, 1,
  8026. ADSO, 1,
  8027. ADSC, 1,
  8028. ADSR, 1,
  8029. ADIS, 1,
  8030. ADDS, 3
  8031. }
  8032.  
  8033. ADIS = One
  8034. ADSR = Zero
  8035. Stall (Arg1)
  8036. ADSR = One
  8037. ADIS = Zero
  8038. Stall (Arg1)
  8039. }
  8040.  
  8041. Method (DSAD, 2, Serialized)
  8042. {
  8043. Local0 = (Arg0 << One)
  8044. Local0 += 0xFED81E40
  8045. OperationRegion (ADCR, SystemMemory, Local0, 0x02)
  8046. Field (ADCR, ByteAcc, NoLock, Preserve)
  8047. {
  8048. ADTD, 2,
  8049. ADPS, 1,
  8050. ADPD, 1,
  8051. ADSO, 1,
  8052. ADSC, 1,
  8053. ADSR, 1,
  8054. ADIS, 1,
  8055. ADDS, 3
  8056. }
  8057.  
  8058. If ((Arg0 != ADTD))
  8059. {
  8060. If ((Arg1 == Zero))
  8061. {
  8062. ADTD = Zero
  8063. ADPD = One
  8064. Local0 = ADDS /* \_SB_.DSAD.ADDS */
  8065. While ((Local0 != 0x07))
  8066. {
  8067. Local0 = ADDS /* \_SB_.DSAD.ADDS */
  8068. }
  8069. }
  8070.  
  8071. If ((Arg1 == 0x03))
  8072. {
  8073. ADPD = Zero
  8074. Local0 = ADDS /* \_SB_.DSAD.ADDS */
  8075. While ((Local0 != Zero))
  8076. {
  8077. Local0 = ADDS /* \_SB_.DSAD.ADDS */
  8078. }
  8079.  
  8080. ADTD = 0x03
  8081. }
  8082. }
  8083. }
  8084.  
  8085. Method (HSAD, 2, Serialized)
  8086. {
  8087. Local3 = (One << Arg0)
  8088. Local0 = (Arg0 << One)
  8089. Local0 += 0xFED81E40
  8090. OperationRegion (ADCR, SystemMemory, Local0, 0x02)
  8091. Field (ADCR, ByteAcc, NoLock, Preserve)
  8092. {
  8093. ADTD, 2,
  8094. ADPS, 1,
  8095. ADPD, 1,
  8096. ADSO, 1,
  8097. ADSC, 1,
  8098. ADSR, 1,
  8099. ADIS, 1,
  8100. ADDS, 3
  8101. }
  8102.  
  8103. If ((Arg1 != ADTD))
  8104. {
  8105. If ((Arg1 == Zero))
  8106. {
  8107. PG1A = One
  8108. ADTD = Zero
  8109. ADPD = One
  8110. Local0 = ADDS /* \_SB_.HSAD.ADDS */
  8111. While ((Local0 != 0x07))
  8112. {
  8113. Local0 = ADDS /* \_SB_.HSAD.ADDS */
  8114. }
  8115.  
  8116. RQTY = One
  8117. RD28 = One
  8118. Local0 = SD28 /* \_SB_.SD28 */
  8119. While (!Local0)
  8120. {
  8121. Local0 = SD28 /* \_SB_.SD28 */
  8122. }
  8123. }
  8124.  
  8125. If ((Arg1 == 0x03))
  8126. {
  8127. RQTY = Zero
  8128. RD28 = One
  8129. Local0 = SD28 /* \_SB_.SD28 */
  8130. While (Local0)
  8131. {
  8132. Local0 = SD28 /* \_SB_.SD28 */
  8133. }
  8134.  
  8135. ADPD = Zero
  8136. Local0 = ADDS /* \_SB_.HSAD.ADDS */
  8137. While ((Local0 != Zero))
  8138. {
  8139. Local0 = ADDS /* \_SB_.HSAD.ADDS */
  8140. }
  8141.  
  8142. ADTD = 0x03
  8143. PG1A = Zero
  8144. }
  8145. }
  8146. }
  8147.  
  8148. OperationRegion (FPIC, SystemIO, 0x0C00, 0x02)
  8149. Field (FPIC, AnyAcc, NoLock, Preserve)
  8150. {
  8151. FPII, 8,
  8152. FPID, 8
  8153. }
  8154.  
  8155. IndexField (FPII, FPID, ByteAcc, NoLock, Preserve)
  8156. {
  8157. Offset (0xF4),
  8158. IUA0, 8,
  8159. IUA1, 8,
  8160. Offset (0xF8),
  8161. IUA2, 8,
  8162. IUA3, 8
  8163. }
  8164.  
  8165. Device (HFP1)
  8166. {
  8167. Name (_HID, "AMDI0060") // _HID: Hardware ID
  8168. Name (_UID, Zero) // _UID: Unique ID
  8169. Method (_STA, 0, NotSerialized) // _STA: Status
  8170. {
  8171. If (HFPE)
  8172. {
  8173. Return (0x0F)
  8174. }
  8175. Else
  8176. {
  8177. Return (Zero)
  8178. }
  8179. }
  8180.  
  8181. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  8182. {
  8183. Name (RBUF, ResourceTemplate ()
  8184. {
  8185. Memory32Fixed (ReadWrite,
  8186. 0xFEC11000, // Address Base
  8187. 0x00000100, // Address Length
  8188. )
  8189. })
  8190. Return (RBUF) /* \_SB_.HFP1._CRS.RBUF */
  8191. }
  8192. }
  8193.  
  8194. Device (GPIO)
  8195. {
  8196. Name (_HID, "AMDI0030") // _HID: Hardware ID
  8197. Name (_CID, "AMDI0030") // _CID: Compatible ID
  8198. Name (_UID, Zero) // _UID: Unique ID
  8199. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  8200. {
  8201. Name (RBUF, ResourceTemplate ()
  8202. {
  8203. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  8204. {
  8205. 0x00000007,
  8206. }
  8207. Memory32Fixed (ReadWrite,
  8208. 0xFED81500, // Address Base
  8209. 0x00000400, // Address Length
  8210. )
  8211. Memory32Fixed (ReadWrite,
  8212. 0xFED81200, // Address Base
  8213. 0x00000100, // Address Length
  8214. )
  8215. })
  8216. Return (RBUF) /* \_SB_.GPIO._CRS.RBUF */
  8217. }
  8218.  
  8219. Method (_STA, 0, NotSerialized) // _STA: Status
  8220. {
  8221. If ((TSOS >= 0x70))
  8222. {
  8223. Return (0x0F)
  8224. }
  8225. Else
  8226. {
  8227. Return (Zero)
  8228. }
  8229. }
  8230. }
  8231.  
  8232. Device (FUR0)
  8233. {
  8234. Name (_HID, "AMDI0020") // _HID: Hardware ID
  8235. Name (_UID, Zero) // _UID: Unique ID
  8236. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  8237. {
  8238. IRQ (Edge, ActiveHigh, Exclusive, )
  8239. {3}
  8240. Memory32Fixed (ReadWrite,
  8241. 0xFEDC9000, // Address Base
  8242. 0x00001000, // Address Length
  8243. )
  8244. Memory32Fixed (ReadWrite,
  8245. 0xFEDC7000, // Address Base
  8246. 0x00001000, // Address Length
  8247. )
  8248. })
  8249. Method (_STA, 0, NotSerialized) // _STA: Status
  8250. {
  8251. If ((TSOS >= 0x70))
  8252. {
  8253. If ((UT0E == One))
  8254. {
  8255. If ((FUIO (Zero) != 0x0F))
  8256. {
  8257. Return (Zero)
  8258. }
  8259.  
  8260. Return (0x0F)
  8261. }
  8262.  
  8263. Return (Zero)
  8264. }
  8265. Else
  8266. {
  8267. Return (Zero)
  8268. }
  8269. }
  8270. }
  8271.  
  8272. Device (FUR1)
  8273. {
  8274. Name (_HID, "AMDI0020") // _HID: Hardware ID
  8275. Name (_UID, One) // _UID: Unique ID
  8276. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  8277. {
  8278. IRQ (Edge, ActiveHigh, Exclusive, )
  8279. {4}
  8280. Memory32Fixed (ReadWrite,
  8281. 0xFEDCA000, // Address Base
  8282. 0x00001000, // Address Length
  8283. )
  8284. Memory32Fixed (ReadWrite,
  8285. 0xFEDC8000, // Address Base
  8286. 0x00001000, // Address Length
  8287. )
  8288. })
  8289. Method (_STA, 0, NotSerialized) // _STA: Status
  8290. {
  8291. If ((TSOS >= 0x70))
  8292. {
  8293. If ((UT1E == One))
  8294. {
  8295. If ((FUIO (One) != 0x0F))
  8296. {
  8297. Return (Zero)
  8298. }
  8299.  
  8300. Return (0x0F)
  8301. }
  8302.  
  8303. Return (Zero)
  8304. }
  8305. Else
  8306. {
  8307. Return (Zero)
  8308. }
  8309. }
  8310. }
  8311.  
  8312. Device (FUR2)
  8313. {
  8314. Name (_HID, "AMDI0020") // _HID: Hardware ID
  8315. Name (_UID, 0x02) // _UID: Unique ID
  8316. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  8317. {
  8318. IRQ (Edge, ActiveHigh, Exclusive, )
  8319. {3}
  8320. Memory32Fixed (ReadWrite,
  8321. 0xFEDCE000, // Address Base
  8322. 0x00001000, // Address Length
  8323. )
  8324. Memory32Fixed (ReadWrite,
  8325. 0xFEDCC000, // Address Base
  8326. 0x00001000, // Address Length
  8327. )
  8328. })
  8329. Method (_STA, 0, NotSerialized) // _STA: Status
  8330. {
  8331. If ((TSOS >= 0x70))
  8332. {
  8333. If ((UT2E == One))
  8334. {
  8335. If ((FUIO (0x02) != 0x0F))
  8336. {
  8337. Return (Zero)
  8338. }
  8339.  
  8340. Return (0x0F)
  8341. }
  8342.  
  8343. Return (Zero)
  8344. }
  8345. Else
  8346. {
  8347. Return (Zero)
  8348. }
  8349. }
  8350. }
  8351.  
  8352. Device (FUR3)
  8353. {
  8354. Name (_HID, "AMDI0020") // _HID: Hardware ID
  8355. Name (_UID, 0x03) // _UID: Unique ID
  8356. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  8357. {
  8358. IRQ (Edge, ActiveHigh, Exclusive, )
  8359. {4}
  8360. Memory32Fixed (ReadWrite,
  8361. 0xFEDCF000, // Address Base
  8362. 0x00001000, // Address Length
  8363. )
  8364. Memory32Fixed (ReadWrite,
  8365. 0xFEDCD000, // Address Base
  8366. 0x00001000, // Address Length
  8367. )
  8368. })
  8369. Method (_STA, 0, NotSerialized) // _STA: Status
  8370. {
  8371. If ((TSOS >= 0x70))
  8372. {
  8373. If ((UT3E == One))
  8374. {
  8375. If ((FUIO (0x03) != 0x0F))
  8376. {
  8377. Return (Zero)
  8378. }
  8379.  
  8380. Return (0x0F)
  8381. }
  8382.  
  8383. Return (Zero)
  8384. }
  8385. Else
  8386. {
  8387. Return (Zero)
  8388. }
  8389. }
  8390. }
  8391.  
  8392. Device (I2CA)
  8393. {
  8394. Name (_HID, "AMDI0010") // _HID: Hardware ID
  8395. Name (_UID, Zero) // _UID: Unique ID
  8396. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  8397. {
  8398. IRQ (Edge, ActiveHigh, Exclusive, )
  8399. {10}
  8400. Memory32Fixed (ReadWrite,
  8401. 0xFEDC2000, // Address Base
  8402. 0x00001000, // Address Length
  8403. )
  8404. })
  8405. Method (_STA, 0, NotSerialized) // _STA: Status
  8406. {
  8407. If ((TSOS >= 0x70))
  8408. {
  8409. If ((IC0E == One))
  8410. {
  8411. Return (0x0F)
  8412. }
  8413.  
  8414. Return (Zero)
  8415. }
  8416. Else
  8417. {
  8418. Return (Zero)
  8419. }
  8420. }
  8421.  
  8422. Method (RSET, 0, NotSerialized)
  8423. {
  8424. SRAD (0x05, 0xC8)
  8425. }
  8426. }
  8427.  
  8428. Device (I2CB)
  8429. {
  8430. Name (_HID, "AMDI0010") // _HID: Hardware ID
  8431. Name (_UID, One) // _UID: Unique ID
  8432. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  8433. {
  8434. IRQ (Edge, ActiveHigh, Exclusive, )
  8435. {11}
  8436. Memory32Fixed (ReadWrite,
  8437. 0xFEDC3000, // Address Base
  8438. 0x00001000, // Address Length
  8439. )
  8440. })
  8441. Method (_STA, 0, NotSerialized) // _STA: Status
  8442. {
  8443. If ((TSOS >= 0x70))
  8444. {
  8445. If ((IC1E == One))
  8446. {
  8447. Return (0x0F)
  8448. }
  8449.  
  8450. Return (Zero)
  8451. }
  8452. Else
  8453. {
  8454. Return (Zero)
  8455. }
  8456. }
  8457.  
  8458. Method (RSET, 0, NotSerialized)
  8459. {
  8460. SRAD (0x06, 0xC8)
  8461. }
  8462. }
  8463.  
  8464. Device (I2CC)
  8465. {
  8466. Name (_HID, "AMDI0010") // _HID: Hardware ID
  8467. Name (_UID, 0x02) // _UID: Unique ID
  8468. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  8469. {
  8470. IRQ (Edge, ActiveHigh, Exclusive, )
  8471. {4}
  8472. Memory32Fixed (ReadWrite,
  8473. 0xFEDC4000, // Address Base
  8474. 0x00001000, // Address Length
  8475. )
  8476. })
  8477. Method (_STA, 0, NotSerialized) // _STA: Status
  8478. {
  8479. If ((TSOS >= 0x70))
  8480. {
  8481. If ((IC2E == One))
  8482. {
  8483. Return (0x0F)
  8484. }
  8485.  
  8486. Return (Zero)
  8487. }
  8488. Else
  8489. {
  8490. Return (Zero)
  8491. }
  8492. }
  8493.  
  8494. Method (RSET, 0, NotSerialized)
  8495. {
  8496. SRAD (0x07, 0xC8)
  8497. }
  8498. }
  8499.  
  8500. Device (I2CD)
  8501. {
  8502. Name (_HID, "AMDI0010") // _HID: Hardware ID
  8503. Name (_UID, 0x03) // _UID: Unique ID
  8504. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  8505. {
  8506. IRQ (Edge, ActiveHigh, Exclusive, )
  8507. {6}
  8508. Memory32Fixed (ReadWrite,
  8509. 0xFEDC5000, // Address Base
  8510. 0x00001000, // Address Length
  8511. )
  8512. })
  8513. Method (_STA, 0, NotSerialized) // _STA: Status
  8514. {
  8515. If ((TSOS >= 0x70))
  8516. {
  8517. If ((IC3E == One))
  8518. {
  8519. Return (0x0F)
  8520. }
  8521.  
  8522. Return (Zero)
  8523. }
  8524. Else
  8525. {
  8526. Return (Zero)
  8527. }
  8528. }
  8529.  
  8530. Method (RSET, 0, NotSerialized)
  8531. {
  8532. SRAD (0x08, 0xC8)
  8533. }
  8534. }
  8535.  
  8536. Device (I2CE)
  8537. {
  8538. Name (_HID, "AMDI0010") // _HID: Hardware ID
  8539. Name (_UID, 0x04) // _UID: Unique ID
  8540. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  8541. {
  8542. IRQ (Edge, ActiveHigh, Exclusive, )
  8543. {14}
  8544. Memory32Fixed (ReadWrite,
  8545. 0xFEDC6000, // Address Base
  8546. 0x00001000, // Address Length
  8547. )
  8548. })
  8549. Method (_STA, 0, NotSerialized) // _STA: Status
  8550. {
  8551. If ((TSOS >= 0x70))
  8552. {
  8553. If ((IC4E == One))
  8554. {
  8555. Return (0x0F)
  8556. }
  8557.  
  8558. Return (Zero)
  8559. }
  8560. Else
  8561. {
  8562. Return (Zero)
  8563. }
  8564. }
  8565.  
  8566. Method (RSET, 0, NotSerialized)
  8567. {
  8568. SRAD (0x09, 0xC8)
  8569. }
  8570. }
  8571.  
  8572. Device (I2CF)
  8573. {
  8574. Name (_HID, "AMDI0010") // _HID: Hardware ID
  8575. Name (_UID, 0x05) // _UID: Unique ID
  8576. Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
  8577. {
  8578. IRQ (Edge, ActiveHigh, Exclusive, )
  8579. {15}
  8580. Memory32Fixed (ReadWrite,
  8581. 0xFEDCB000, // Address Base
  8582. 0x00001000, // Address Length
  8583. )
  8584. })
  8585. Method (_STA, 0, NotSerialized) // _STA: Status
  8586. {
  8587. If ((TSOS >= 0x70))
  8588. {
  8589. If ((IC5E == One))
  8590. {
  8591. Return (0x0F)
  8592. }
  8593.  
  8594. Return (Zero)
  8595. }
  8596. Else
  8597. {
  8598. Return (Zero)
  8599. }
  8600. }
  8601.  
  8602. Method (RSET, 0, NotSerialized)
  8603. {
  8604. SRAD (0x0A, 0xC8)
  8605. }
  8606. }
  8607.  
  8608. Method (EPIN, 0, NotSerialized)
  8609. {
  8610. IPDE = Zero
  8611. IMPE = Zero
  8612. IM15 = One
  8613. IM16 = One
  8614. IM20 = One
  8615. IM44 = One
  8616. IM46 = One
  8617. IM68 = One
  8618. IM69 = One
  8619. IM6A = One
  8620. IM6B = One
  8621. IM4A = One
  8622. IM58 = One
  8623. IM4B = One
  8624. IM57 = One
  8625. IM6D = One
  8626. IM1F = One
  8627. SECR ()
  8628. }
  8629.  
  8630. Name (NCRS, ResourceTemplate ()
  8631. {
  8632. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  8633. {
  8634. 0x00000005,
  8635. }
  8636. Memory32Fixed (ReadWrite,
  8637. 0xFEDD5000, // Address Base
  8638. 0x00001000, // Address Length
  8639. )
  8640. })
  8641. Name (DCRS, ResourceTemplate ()
  8642. {
  8643. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
  8644. {
  8645. 0x00000005,
  8646. }
  8647. Memory32Fixed (ReadWrite,
  8648. 0xFEDD5000, // Address Base
  8649. 0x00001000, // Address Length
  8650. )
  8651. GpioInt (Edge, ActiveBoth, SharedAndWake, PullUp, 0x0BB8,
  8652. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  8653. )
  8654. { // Pin list
  8655. 0x0044
  8656. }
  8657. GpioIo (Shared, PullUp, 0x0000, 0x0000, IoRestrictionNone,
  8658. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  8659. )
  8660. { // Pin list
  8661. 0x0044
  8662. }
  8663. })
  8664. Name (AHID, "AMDI0040")
  8665. Name (ACID, "AMDI0040")
  8666. Name (SHID, 0x400DD041)
  8667. Name (SCID, "PCICC_080501")
  8668. Device (EMM0)
  8669. {
  8670. Method (_HID, 0, Serialized) // _HID: Hardware ID
  8671. {
  8672. If (EMMD)
  8673. {
  8674. Return (SHID) /* \_SB_.SHID */
  8675. }
  8676. Else
  8677. {
  8678. Return (AHID) /* \_SB_.AHID */
  8679. }
  8680. }
  8681.  
  8682. Method (_CID, 0, Serialized) // _CID: Compatible ID
  8683. {
  8684. If (EMMD)
  8685. {
  8686. Return (SCID) /* \_SB_.SCID */
  8687. }
  8688. Else
  8689. {
  8690. Return (ACID) /* \_SB_.ACID */
  8691. }
  8692. }
  8693.  
  8694. Name (_UID, Zero) // _UID: Unique ID
  8695. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  8696. {
  8697. If (EMD3)
  8698. {
  8699. Return (DCRS) /* \_SB_.DCRS */
  8700. }
  8701. Else
  8702. {
  8703. Return (NCRS) /* \_SB_.NCRS */
  8704. }
  8705. }
  8706.  
  8707. Method (_STA, 0, NotSerialized) // _STA: Status
  8708. {
  8709. If ((TSOS >= 0x70))
  8710. {
  8711. If (EMME)
  8712. {
  8713. Return (0x0F)
  8714. }
  8715.  
  8716. Return (Zero)
  8717. }
  8718. Else
  8719. {
  8720. Return (Zero)
  8721. }
  8722. }
  8723.  
  8724. Method (_INI, 0, NotSerialized) // _INI: Initialize
  8725. {
  8726. If (EMME)
  8727. {
  8728. EPIN ()
  8729. }
  8730. }
  8731.  
  8732. Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
  8733. {
  8734. If ((EMD3 && EMME))
  8735. {
  8736. Return (0x04)
  8737. }
  8738. Else
  8739. {
  8740. Return (Zero)
  8741. }
  8742. }
  8743.  
  8744. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  8745. {
  8746. If ((EMD3 && EMME))
  8747. {
  8748. HSAD (0x1C, Zero)
  8749. RECR ()
  8750. }
  8751. }
  8752.  
  8753. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  8754. {
  8755. If ((EMD3 && EMME))
  8756. {
  8757. HSAD (0x1C, 0x03)
  8758. }
  8759. }
  8760. }
  8761. }
  8762.  
  8763. Scope (_SB.PCI0)
  8764. {
  8765. Device (UAR1)
  8766. {
  8767. Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */) // _HID: Hardware ID
  8768. Name (_UID, One) // _UID: Unique ID
  8769. Name (_DDN, "COM1") // _DDN: DOS Device Name
  8770. Method (_STA, 0, NotSerialized) // _STA: Status
  8771. {
  8772. If ((FUIO (Zero) != 0x0F))
  8773. {
  8774. Return (0x0F)
  8775. }
  8776.  
  8777. Return (Zero)
  8778. }
  8779.  
  8780. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  8781. {
  8782. Name (BUF0, ResourceTemplate ()
  8783. {
  8784. IO (Decode16,
  8785. 0x02E8, // Range Minimum
  8786. 0x02E8, // Range Maximum
  8787. 0x01, // Alignment
  8788. 0x08, // Length
  8789. _Y09)
  8790. IRQNoFlags (_Y0A)
  8791. {3}
  8792. })
  8793. CreateByteField (BUF0, \_SB.PCI0.UAR1._CRS._Y09._MIN, IOLO) // _MIN: Minimum Base Address
  8794. CreateByteField (BUF0, 0x03, IOHI)
  8795. CreateByteField (BUF0, \_SB.PCI0.UAR1._CRS._Y09._MAX, IORL) // _MAX: Maximum Base Address
  8796. CreateByteField (BUF0, 0x05, IORH)
  8797. CreateWordField (BUF0, \_SB.PCI0.UAR1._CRS._Y0A._INT, IRQL) // _INT: Interrupts
  8798. Local0 = FUIO (Zero)
  8799. Switch (ToInteger (Local0))
  8800. {
  8801. Case (Zero)
  8802. {
  8803. IOLO = 0xE8
  8804. IOHI = 0x02
  8805. IORL = 0xE8
  8806. IORH = 0x02
  8807. }
  8808. Case (One)
  8809. {
  8810. IOLO = 0xF8
  8811. IOHI = 0x02
  8812. IORL = 0xF8
  8813. IORH = 0x02
  8814. }
  8815. Case (0x02)
  8816. {
  8817. IOLO = 0xE8
  8818. IOHI = 0x03
  8819. IORL = 0xE8
  8820. IORH = 0x03
  8821. }
  8822. Case (0x03)
  8823. {
  8824. IOLO = 0xF8
  8825. IOHI = 0x03
  8826. IORL = 0xF8
  8827. IORH = 0x03
  8828. }
  8829.  
  8830. }
  8831.  
  8832. Local1 = IUA0 /* \_SB_.IUA0 */
  8833. IRQL = (One << (Local1 & 0x0F))
  8834. Return (BUF0) /* \_SB_.PCI0.UAR1._CRS.BUF0 */
  8835. }
  8836. }
  8837.  
  8838. Device (UAR2)
  8839. {
  8840. Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */) // _HID: Hardware ID
  8841. Name (_UID, 0x02) // _UID: Unique ID
  8842. Name (_DDN, "COM2") // _DDN: DOS Device Name
  8843. Method (_STA, 0, NotSerialized) // _STA: Status
  8844. {
  8845. If ((FUIO (One) != 0x0F))
  8846. {
  8847. Return (0x0F)
  8848. }
  8849.  
  8850. Return (Zero)
  8851. }
  8852.  
  8853. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  8854. {
  8855. Name (BUF0, ResourceTemplate ()
  8856. {
  8857. IO (Decode16,
  8858. 0x02F8, // Range Minimum
  8859. 0x02F8, // Range Maximum
  8860. 0x01, // Alignment
  8861. 0x08, // Length
  8862. _Y0B)
  8863. IRQNoFlags (_Y0C)
  8864. {4}
  8865. })
  8866. CreateByteField (BUF0, \_SB.PCI0.UAR2._CRS._Y0B._MIN, IOLO) // _MIN: Minimum Base Address
  8867. CreateByteField (BUF0, 0x03, IOHI)
  8868. CreateByteField (BUF0, \_SB.PCI0.UAR2._CRS._Y0B._MAX, IORL) // _MAX: Maximum Base Address
  8869. CreateByteField (BUF0, 0x05, IORH)
  8870. CreateWordField (BUF0, \_SB.PCI0.UAR2._CRS._Y0C._INT, IRQL) // _INT: Interrupts
  8871. Local0 = FUIO (One)
  8872. Switch (ToInteger (Local0))
  8873. {
  8874. Case (Zero)
  8875. {
  8876. IOLO = 0xE8
  8877. IOHI = 0x02
  8878. IORL = 0xE8
  8879. IORH = 0x02
  8880. }
  8881. Case (One)
  8882. {
  8883. IOLO = 0xF8
  8884. IOHI = 0x02
  8885. IORL = 0xF8
  8886. IORH = 0x02
  8887. }
  8888. Case (0x02)
  8889. {
  8890. IOLO = 0xE8
  8891. IOHI = 0x03
  8892. IORL = 0xE8
  8893. IORH = 0x03
  8894. }
  8895. Case (0x03)
  8896. {
  8897. IOLO = 0xF8
  8898. IOHI = 0x03
  8899. IORL = 0xF8
  8900. IORH = 0x03
  8901. }
  8902.  
  8903. }
  8904.  
  8905. Local1 = IUA1 /* \_SB_.IUA1 */
  8906. IRQL = (One << (Local1 & 0x0F))
  8907. Return (BUF0) /* \_SB_.PCI0.UAR2._CRS.BUF0 */
  8908. }
  8909. }
  8910.  
  8911. Device (UAR3)
  8912. {
  8913. Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */) // _HID: Hardware ID
  8914. Name (_UID, 0x03) // _UID: Unique ID
  8915. Name (_DDN, "COM3") // _DDN: DOS Device Name
  8916. Method (_STA, 0, NotSerialized) // _STA: Status
  8917. {
  8918. If ((FUIO (0x02) != 0x0F))
  8919. {
  8920. Return (0x0F)
  8921. }
  8922.  
  8923. Return (Zero)
  8924. }
  8925.  
  8926. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  8927. {
  8928. Name (BUF0, ResourceTemplate ()
  8929. {
  8930. IO (Decode16,
  8931. 0x03E8, // Range Minimum
  8932. 0x03E8, // Range Maximum
  8933. 0x01, // Alignment
  8934. 0x08, // Length
  8935. _Y0D)
  8936. IRQNoFlags (_Y0E)
  8937. {3}
  8938. })
  8939. CreateByteField (BUF0, \_SB.PCI0.UAR3._CRS._Y0D._MIN, IOLO) // _MIN: Minimum Base Address
  8940. CreateByteField (BUF0, 0x03, IOHI)
  8941. CreateByteField (BUF0, \_SB.PCI0.UAR3._CRS._Y0D._MAX, IORL) // _MAX: Maximum Base Address
  8942. CreateByteField (BUF0, 0x05, IORH)
  8943. CreateWordField (BUF0, \_SB.PCI0.UAR3._CRS._Y0E._INT, IRQL) // _INT: Interrupts
  8944. Local0 = FUIO (0x02)
  8945. Switch (ToInteger (Local0))
  8946. {
  8947. Case (Zero)
  8948. {
  8949. IOLO = 0xE8
  8950. IOHI = 0x02
  8951. IORL = 0xE8
  8952. IORH = 0x02
  8953. }
  8954. Case (One)
  8955. {
  8956. IOLO = 0xF8
  8957. IOHI = 0x02
  8958. IORL = 0xF8
  8959. IORH = 0x02
  8960. }
  8961. Case (0x02)
  8962. {
  8963. IOLO = 0xE8
  8964. IOHI = 0x03
  8965. IORL = 0xE8
  8966. IORH = 0x03
  8967. }
  8968. Case (0x03)
  8969. {
  8970. IOLO = 0xF8
  8971. IOHI = 0x03
  8972. IORL = 0xF8
  8973. IORH = 0x03
  8974. }
  8975.  
  8976. }
  8977.  
  8978. Local1 = IUA2 /* \_SB_.IUA2 */
  8979. IRQL = (One << (Local1 & 0x0F))
  8980. Return (BUF0) /* \_SB_.PCI0.UAR3._CRS.BUF0 */
  8981. }
  8982. }
  8983.  
  8984. Device (UAR4)
  8985. {
  8986. Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */) // _HID: Hardware ID
  8987. Name (_UID, 0x04) // _UID: Unique ID
  8988. Name (_DDN, "COM4") // _DDN: DOS Device Name
  8989. Method (_STA, 0, NotSerialized) // _STA: Status
  8990. {
  8991. If ((FUIO (0x03) != 0x0F))
  8992. {
  8993. Return (0x0F)
  8994. }
  8995.  
  8996. Return (Zero)
  8997. }
  8998.  
  8999. Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
  9000. {
  9001. Name (BUF0, ResourceTemplate ()
  9002. {
  9003. IO (Decode16,
  9004. 0x03F8, // Range Minimum
  9005. 0x03F8, // Range Maximum
  9006. 0x01, // Alignment
  9007. 0x08, // Length
  9008. _Y0F)
  9009. IRQNoFlags (_Y10)
  9010. {4}
  9011. })
  9012. CreateByteField (BUF0, \_SB.PCI0.UAR4._CRS._Y0F._MIN, IOLO) // _MIN: Minimum Base Address
  9013. CreateByteField (BUF0, 0x03, IOHI)
  9014. CreateByteField (BUF0, \_SB.PCI0.UAR4._CRS._Y0F._MAX, IORL) // _MAX: Maximum Base Address
  9015. CreateByteField (BUF0, 0x05, IORH)
  9016. CreateWordField (BUF0, \_SB.PCI0.UAR4._CRS._Y10._INT, IRQL) // _INT: Interrupts
  9017. Local0 = FUIO (0x03)
  9018. Switch (ToInteger (Local0))
  9019. {
  9020. Case (Zero)
  9021. {
  9022. IOLO = 0xE8
  9023. IOHI = 0x02
  9024. IORL = 0xE8
  9025. IORH = 0x02
  9026. }
  9027. Case (One)
  9028. {
  9029. IOLO = 0xF8
  9030. IOHI = 0x02
  9031. IORL = 0xF8
  9032. IORH = 0x02
  9033. }
  9034. Case (0x02)
  9035. {
  9036. IOLO = 0xE8
  9037. IOHI = 0x03
  9038. IORL = 0xE8
  9039. IORH = 0x03
  9040. }
  9041. Case (0x03)
  9042. {
  9043. IOLO = 0xF8
  9044. IOHI = 0x03
  9045. IORL = 0xF8
  9046. IORH = 0x03
  9047. }
  9048.  
  9049. }
  9050.  
  9051. Local1 = IUA3 /* \_SB_.IUA3 */
  9052. IRQL = (One << (Local1 & 0x0F))
  9053. Return (BUF0) /* \_SB_.PCI0.UAR4._CRS.BUF0 */
  9054. }
  9055. }
  9056. }
  9057.  
  9058. Scope (_SB.PCI0.LPC0.EC0)
  9059. {
  9060. Device (HWWD)
  9061. {
  9062. Name (_HID, EisaId ("WDT0001")) // _HID: Hardware ID
  9063. Name (_UID, Zero) // _UID: Unique ID
  9064. Name (SWTT, Zero)
  9065. Name (WCNT, Zero)
  9066. Method (_STA, 0, NotSerialized) // _STA: Status
  9067. {
  9068. Return (0x0F)
  9069. }
  9070.  
  9071. Method (GFUC, 0, Serialized)
  9072. {
  9073. Return (0x06)
  9074. }
  9075.  
  9076. Method (OWDT, 0, NotSerialized)
  9077. {
  9078. WDTE = One
  9079. }
  9080.  
  9081. Method (CWDT, 0, NotSerialized)
  9082. {
  9083. WDTE = Zero
  9084. }
  9085.  
  9086. Method (SWDT, 1, NotSerialized)
  9087. {
  9088. WCNT = Arg0
  9089. EWTL = Arg0
  9090. Local0 = (Arg0 & 0xFF00)
  9091. Local1 = (Local0 >> 0x08)
  9092. EWTH = Local1
  9093. WDBE = One
  9094. WDTE = One
  9095. }
  9096.  
  9097. Method (FWDT, 1, NotSerialized)
  9098. {
  9099. }
  9100.  
  9101. Method (SSMI, 0, NotSerialized)
  9102. {
  9103. WDBE = Zero
  9104. }
  9105.  
  9106. Method (SSXS, 1, Serialized)
  9107. {
  9108. SXST = Arg0
  9109. Return (0xFF06)
  9110. }
  9111.  
  9112. Method (GSXS, 0, Serialized)
  9113. {
  9114. Local0 = SXST /* \_SB_.SXST */
  9115. Return (Local0)
  9116. }
  9117. }
  9118. }
  9119.  
  9120. Scope (_TZ)
  9121. {
  9122. ThermalZone (TZ01)
  9123. {
  9124. Name (CRTT, 0x6E)
  9125. Name (PSVT, 0x32)
  9126. Name (TSPS, 0x14)
  9127. Method (_TMP, 0, Serialized) // _TMP: Temperature
  9128. {
  9129. If (\_SB.PCI0.LPC0.ECOK ())
  9130. {
  9131. If (!Acquire (\_SB.PCI0.LPC0.EC0.Z009, 0x012C))
  9132. {
  9133. Local0 = \_SB.PCI0.LPC0.EC0.CTMP
  9134. Release (\_SB.PCI0.LPC0.EC0.Z009)
  9135. If ((Local0 > 0x30))
  9136. {
  9137. Local0 -= 0x30
  9138. }
  9139.  
  9140. Return ((0x0AAC + (Local0 * 0x0A)))
  9141. }
  9142.  
  9143. Return (0x0B74)
  9144. }
  9145. Else
  9146. {
  9147. Return (0x0B74)
  9148. }
  9149. }
  9150.  
  9151. Method (_PSL, 0, Serialized) // _PSL: Passive List
  9152. {
  9153. Return (Package (0x10)
  9154. {
  9155. \_SB.PLTF.C000,
  9156. \_SB.PLTF.C001,
  9157. \_SB.PLTF.C002,
  9158. \_SB.PLTF.C003,
  9159. \_SB.PLTF.C004,
  9160. \_SB.PLTF.C005,
  9161. \_SB.PLTF.C006,
  9162. \_SB.PLTF.C007,
  9163. \_SB.PLTF.C008,
  9164. \_SB.PLTF.C009,
  9165. \_SB.PLTF.C00A,
  9166. \_SB.PLTF.C00B,
  9167. \_SB.PLTF.C00C,
  9168. \_SB.PLTF.C00D,
  9169. \_SB.PLTF.C00E,
  9170. \_SB.PLTF.C00F
  9171. })
  9172. }
  9173.  
  9174. Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
  9175. {
  9176. Return ((0x0AAC + (CRTT * 0x0A)))
  9177. }
  9178.  
  9179. Method (_TC1, 0, Serialized) // _TC1: Thermal Constant 1
  9180. {
  9181. Return (One)
  9182. }
  9183.  
  9184. Method (_TC2, 0, Serialized) // _TC2: Thermal Constant 2
  9185. {
  9186. Return (0x02)
  9187. }
  9188.  
  9189. Method (_TSP, 0, Serialized) // _TSP: Thermal Sampling Period
  9190. {
  9191. Return (TSPS) /* \_TZ_.TZ01.TSPS */
  9192. }
  9193. }
  9194. }
  9195.  
  9196. Scope (_SB.I2CA)
  9197. {
  9198. Device (TPDD)
  9199. {
  9200. Name (_HID, "ELAN2204") // _HID: Hardware ID
  9201. Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
  9202. Name (_UID, 0x05) // _UID: Unique ID
  9203. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9204. {
  9205. Name (RBUF, ResourceTemplate ()
  9206. {
  9207. I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
  9208. AddressingMode7Bit, "\\_SB.I2CA",
  9209. 0x00, ResourceConsumer, , Exclusive,
  9210. )
  9211. GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
  9212. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  9213. )
  9214. { // Pin list
  9215. 0x0009
  9216. }
  9217. })
  9218. Return (RBUF) /* \_SB_.I2CA.TPDD._CRS.RBUF */
  9219. }
  9220.  
  9221. Method (_STA, 0, NotSerialized) // _STA: Status
  9222. {
  9223. If (((TPOS >= 0x60) & (THPD == Zero)))
  9224. {
  9225. If ((PVID == 0x04F3))
  9226. {
  9227. Return (0x0F)
  9228. }
  9229. Else
  9230. {
  9231. Return (Zero)
  9232. }
  9233. }
  9234. Else
  9235. {
  9236. Return (Zero)
  9237. }
  9238. }
  9239.  
  9240. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  9241. {
  9242. If (Arg0){}
  9243. Else
  9244. {
  9245. }
  9246. }
  9247.  
  9248. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  9249. {
  9250. }
  9251.  
  9252. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  9253. {
  9254. }
  9255.  
  9256. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  9257. {
  9258. If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
  9259. {
  9260. Switch (ToInteger (Arg2))
  9261. {
  9262. Case (Zero)
  9263. {
  9264. Switch (ToInteger (Arg1))
  9265. {
  9266. Case (One)
  9267. {
  9268. Return (Buffer (One)
  9269. {
  9270. 0x03 // .
  9271. })
  9272. }
  9273. Default
  9274. {
  9275. Return (Buffer (One)
  9276. {
  9277. 0x00 // .
  9278. })
  9279. }
  9280.  
  9281. }
  9282. }
  9283. Case (One)
  9284. {
  9285. Return (One)
  9286. }
  9287. Default
  9288. {
  9289. Return (Zero)
  9290. }
  9291.  
  9292. }
  9293. }
  9294. Else
  9295. {
  9296. Return (Buffer (One)
  9297. {
  9298. 0x00 // .
  9299. })
  9300. }
  9301. }
  9302. }
  9303. }
  9304.  
  9305. Scope (_SB.I2CA)
  9306. {
  9307. Device (TPDG)
  9308. {
  9309. Name (_HID, "GXTP7863") // _HID: Hardware ID
  9310. Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
  9311. Name (_UID, 0x05) // _UID: Unique ID
  9312. Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
  9313. {
  9314. Name (RBUF, ResourceTemplate ()
  9315. {
  9316. I2cSerialBusV2 (0x005D, ControllerInitiated, 0x00061A80,
  9317. AddressingMode7Bit, "\\_SB.I2CA",
  9318. 0x00, ResourceConsumer, , Exclusive,
  9319. )
  9320. GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
  9321. "\\_SB.GPIO", 0x00, ResourceConsumer, ,
  9322. )
  9323. { // Pin list
  9324. 0x0009
  9325. }
  9326. })
  9327. Return (RBUF) /* \_SB_.I2CA.TPDG._CRS.RBUF */
  9328. }
  9329.  
  9330. Method (_STA, 0, NotSerialized) // _STA: Status
  9331. {
  9332. If (((TPOS >= 0x60) & (THPD == Zero)))
  9333. {
  9334. If ((PVID == 0x27C6))
  9335. {
  9336. Return (0x0F)
  9337. }
  9338. Else
  9339. {
  9340. Return (Zero)
  9341. }
  9342. }
  9343. Else
  9344. {
  9345. Return (Zero)
  9346. }
  9347. }
  9348.  
  9349. Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
  9350. {
  9351. If (Arg0){}
  9352. Else
  9353. {
  9354. }
  9355. }
  9356.  
  9357. Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
  9358. {
  9359. }
  9360.  
  9361. Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
  9362. {
  9363. }
  9364.  
  9365. Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
  9366. {
  9367. If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
  9368. {
  9369. Switch (ToInteger (Arg2))
  9370. {
  9371. Case (Zero)
  9372. {
  9373. Switch (ToInteger (Arg1))
  9374. {
  9375. Case (One)
  9376. {
  9377. Return (Buffer (One)
  9378. {
  9379. 0x03 // .
  9380. })
  9381. }
  9382. Default
  9383. {
  9384. Return (Buffer (One)
  9385. {
  9386. 0x00 // .
  9387. })
  9388. }
  9389.  
  9390. }
  9391. }
  9392. Case (One)
  9393. {
  9394. Return (One)
  9395. }
  9396. Default
  9397. {
  9398. Return (Zero)
  9399. }
  9400.  
  9401. }
  9402. }
  9403. Else
  9404. {
  9405. Return (Buffer (One)
  9406. {
  9407. 0x00 // .
  9408. })
  9409. }
  9410. }
  9411. }
  9412. }
  9413. }
  9414.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement