Advertisement
Guest User

dsdt p5vd2-mx (Asus)

a guest
Jan 13th, 2011
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 263.17 KB | None | 0 0
  1. DefinitionBlock ("dsdt.aml", "DSDT", 1, "AWARD ", "ASUSACPI", 0x00001000)
  2. {
  3. Scope (\_PR)
  4. {
  5. Processor (\_PR.CPU0, 0x00, 0x00000000, 0x00)
  6. {
  7. }
  8. Processor (\_PR.CPU1, 0x01, 0x00000000, 0x00)
  9. {
  10. }
  11. Processor (\_PR.CPU2, 0x02, 0x00000000, 0x00)
  12. {
  13. }
  14. Processor (\_PR.CPU3, 0x03, 0x00000000, 0x00)
  15. {
  16. }
  17. }
  18. Name (\_S0, Package (0x04)
  19. {
  20. 0x00,
  21. 0x00,
  22. 0x00,
  23. 0x00
  24. })
  25. Name (\_S1, Package (0x04)
  26. {
  27. 0x04,
  28. 0x04,
  29. 0x04,
  30. 0x04
  31. })
  32. Name (\_S3, Package (0x04)
  33. {
  34. 0x01,
  35. 0x01,
  36. 0x01,
  37. 0x01
  38. })
  39. Name (\_S4, Package (0x04)
  40. {
  41. 0x02,
  42. 0x02,
  43. 0x02,
  44. 0x02
  45. })
  46. Name (\_S5, Package (0x04)
  47. {
  48. 0x02,
  49. 0x02,
  50. 0x02,
  51. 0x02
  52. })
  53. OperationRegion (\DEBG, SystemIO, 0x80, 0x01)
  54. Field (\DEBG, ByteAcc, NoLock, Preserve)
  55. {
  56. DBG1, 8
  57. }
  58. OperationRegion (\DEB2, SystemIO, 0x84, 0x01)
  59. Field (\DEB2, ByteAcc, NoLock, Preserve)
  60. {
  61. DBG2, 8
  62. }
  63. OperationRegion (\DEB3, SystemIO, 0x88, 0x01)
  64. Field (\DEB3, ByteAcc, NoLock, Preserve)
  65. {
  66. DBG3, 8
  67. }
  68. OperationRegion (EXTM, SystemMemory, 0x000FF830, 0x10)
  69. Field (EXTM, WordAcc, NoLock, Preserve)
  70. {
  71. ROM1, 16,
  72. RMS1, 16,
  73. ROM2, 16,
  74. RMS2, 16,
  75. ROM3, 16,
  76. RMS3, 16,
  77. AMEM, 32
  78. }
  79. OperationRegion (\GPST, SystemIO, 0x0420, 0x02)
  80. Field (\GPST, ByteAcc, NoLock, Preserve)
  81. {
  82. GS00, 1,
  83. GS01, 1,
  84. GS02, 1,
  85. GS03, 1,
  86. GS04, 1,
  87. GS05, 1,
  88. GS06, 1,
  89. GS07, 1,
  90. GS08, 1,
  91. GS09, 1,
  92. GS10, 1,
  93. GS11, 1,
  94. GS12, 1,
  95. GS13, 1,
  96. GS14, 1,
  97. GS15, 1
  98. }
  99. OperationRegion (\SCIE, SystemIO, 0x0422, 0x02)
  100. Field (\SCIE, ByteAcc, NoLock, Preserve)
  101. {
  102. SC00, 1,
  103. SC01, 1,
  104. SC02, 1,
  105. SC03, 1,
  106. SC04, 1,
  107. SC05, 1,
  108. SC06, 1,
  109. SC07, 1,
  110. SC08, 1,
  111. SC09, 1,
  112. SC10, 1,
  113. SC11, 1,
  114. SC12, 1,
  115. SC13, 1,
  116. SC14, 1,
  117. SC15, 1
  118. }
  119. OperationRegion (\KMWR, SystemIO, 0x2E, 0x02)
  120. Field (\KMWR, ByteAcc, NoLock, Preserve)
  121. {
  122. KMWI, 8,
  123. KMWD, 8
  124. }
  125. IndexField (KMWI, KMWD, ByteAcc, NoLock, Preserve)
  126. {
  127. Offset (0xE0),
  128. KMWE, 8,
  129. KSC0, 8,
  130. KSC1, 8,
  131. KSC2, 8,
  132. KSC3, 8,
  133. KSC4, 8
  134. }
  135. OperationRegion (ELCR, SystemIO, 0x04D0, 0x02)
  136. Field (ELCR, ByteAcc, NoLock, Preserve)
  137. {
  138. ELC1, 8,
  139. ELC2, 8
  140. }
  141. OperationRegion (\PMS, SystemIO, 0x0400, 0x02)
  142. Field (\PMS, ByteAcc, NoLock, Preserve)
  143. {
  144. AITS, 1,
  145. Offset (0x01),
  146. PBTS, 1,
  147. , 6,
  148. WAKE, 1
  149. }
  150. OperationRegion (\GPSE, SystemIO, 0x0424, 0x02)
  151. Field (\GPSE, ByteAcc, NoLock, Preserve)
  152. {
  153. GPS0, 1,
  154. GPS1, 1,
  155. KBCE, 1,
  156. LANE, 1,
  157. EXTE, 1,
  158. PME, 1,
  159. Offset (0x01),
  160. RING, 1,
  161. , 5,
  162. USBE, 1,
  163. Offset (0x02)
  164. }
  165. OperationRegion (\GLOS, SystemIO, 0x0428, 0x02)
  166. Field (\GLOS, ByteAcc, NoLock, Preserve)
  167. {
  168. , 6,
  169. SSMI, 1,
  170. PRII, 1,
  171. , 2,
  172. SLPE, 1,
  173. SIRS, 1,
  174. Offset (0x02)
  175. }
  176. OperationRegion (\WIRQ, SystemIO, 0x042A, 0x01)
  177. Field (\WIRQ, ByteAcc, NoLock, Preserve)
  178. {
  179. IRQR, 8
  180. }
  181. OperationRegion (\GPNB, SystemIO, 0x042D, 0x01)
  182. Field (\GPNB, ByteAcc, NoLock, Preserve)
  183. {
  184. , 5,
  185. G89E, 1
  186. }
  187. OperationRegion (\SMIC, SystemIO, 0x042F, 0x01)
  188. Field (\SMIC, ByteAcc, NoLock, Preserve)
  189. {
  190. SCP, 8
  191. }
  192. OperationRegion (\STUS, SystemIO, 0x0430, 0x01)
  193. Field (\STUS, ByteAcc, NoLock, Preserve)
  194. {
  195. , 1,
  196. PADS, 7
  197. }
  198. OperationRegion (GPOB, SystemIO, 0x044C, 0x04)
  199. Field (GPOB, ByteAcc, NoLock, Preserve)
  200. {
  201. GP00, 1,
  202. GP01, 1,
  203. GP02, 1,
  204. GP03, 1,
  205. GP04, 1,
  206. GP05, 1,
  207. GP06, 1,
  208. GP07, 1,
  209. GP08, 1,
  210. GP09, 1,
  211. GP10, 1,
  212. GP11, 1,
  213. GP12, 1,
  214. GP13, 1,
  215. GP14, 1,
  216. GP15, 1,
  217. GP16, 1,
  218. GP17, 1,
  219. GP18, 1,
  220. GP19, 1,
  221. GP20, 1,
  222. GP21, 1,
  223. GP22, 1,
  224. GP23, 1,
  225. GP24, 1,
  226. GP25, 1,
  227. GP26, 1,
  228. GP27, 1,
  229. GP28, 1,
  230. GP29, 1,
  231. GP30, 1,
  232. GPXX, 1
  233. }
  234. Name (VSTA, 0x01)
  235. Name (OSFX, 0x01)
  236. Name (OSFL, 0x01)
  237. Method (STRC, 2, NotSerialized)
  238. {
  239. If (LNotEqual (SizeOf (Arg0), SizeOf (Arg1)))
  240. {
  241. Return (0x00)
  242. }
  243. Add (SizeOf (Arg0), 0x01, Local0)
  244. Name (BUF0, Buffer (Local0) {})
  245. Name (BUF1, Buffer (Local0) {})
  246. Store (Arg0, BUF0)
  247. Store (Arg1, BUF1)
  248. While (Local0)
  249. {
  250. Decrement (Local0)
  251. If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
  252. BUF1, Local0))))
  253. {
  254. Return (Zero)
  255. }
  256. }
  257. Return (One)
  258. }
  259. OperationRegion (RTCM, SystemIO, 0x70, 0x02)
  260. Field (RTCM, ByteAcc, NoLock, Preserve)
  261. {
  262. CMIN, 8,
  263. CMDA, 8
  264. }
  265. IndexField (CMIN, CMDA, ByteAcc, NoLock, Preserve)
  266. {
  267. Offset (0x0F),
  268. SHUT, 8
  269. }
  270. OperationRegion (INFO, SystemMemory, 0x000FF840, 0x01)
  271. Field (INFO, ByteAcc, NoLock, Preserve)
  272. {
  273. KBDI, 1,
  274. RTCW, 1,
  275. PS2F, 1,
  276. IRFL, 2,
  277. DISE, 1,
  278. SSHU, 1
  279. }
  280. OperationRegion (BEEP, SystemIO, 0x61, 0x01)
  281. Field (BEEP, ByteAcc, NoLock, Preserve)
  282. {
  283. S1B, 8
  284. }
  285. OperationRegion (CONT, SystemIO, 0x40, 0x04)
  286. Field (CONT, ByteAcc, NoLock, Preserve)
  287. {
  288. CNT0, 8,
  289. CNT1, 8,
  290. CNT2, 8,
  291. CTRL, 8
  292. }
  293. Method (SPKR, 1, NotSerialized)
  294. {
  295. Store (S1B, Local0)
  296. Store (0xB6, CTRL)
  297. Store (0x55, CNT2)
  298. Store (0x03, CNT2)
  299. Store (Arg0, Local2)
  300. While (LGreater (Local2, 0x00))
  301. {
  302. Or (S1B, 0x03, S1B)
  303. Store (0x5FFF, Local3)
  304. While (LGreater (Local3, 0x00))
  305. {
  306. Decrement (Local3)
  307. }
  308. And (S1B, 0xFC, S1B)
  309. Store (0x0EFF, Local3)
  310. While (LGreater (Local3, 0x00))
  311. {
  312. Decrement (Local3)
  313. }
  314. Decrement (Local2)
  315. }
  316. Store (Local0, S1B)
  317. }
  318. Scope (\)
  319. {
  320. Name (PICF, 0x00)
  321. Method (_PIC, 1, NotSerialized)
  322. {
  323. Store (Arg0, PICF)
  324. }
  325. }
  326. Name (HPFL, 0x00)
  327. Name (PMFL, 0x00)
  328. Name (SBFL, 0x00)
  329. Name (ATFL, 0x00)
  330. Name (SMB1, 0x00)
  331. Name (SMB2, 0x00)
  332. Method (\_PTS, 1, NotSerialized)
  333. {
  334. Or (Arg0, 0xF0, Local0)
  335. Store (Local0, DBG1)
  336. OSTP ()
  337. If (LEqual (Arg0, 0x01))
  338. {
  339. While (PRII)
  340. {
  341. Store (One, PRII)
  342. }
  343. While (LNotEqual (PADS, 0x00))
  344. {
  345. Store (PADS, PADS)
  346. }
  347. Or (IRQR, 0x80, IRQR)
  348. }
  349. If (LEqual (Arg0, 0x03))
  350. {
  351. Store (0x4D, SCP)
  352. }
  353. If (LEqual (Arg0, 0x04))
  354. {
  355. Store (0x78, SCP)
  356. }
  357. If (LEqual (Arg0, 0x05))
  358. {
  359. Store (0x55, SCP)
  360. Store (Zero, GS04)
  361. }
  362. Sleep (0x64)
  363. If (LEqual (Arg0, 0x01))
  364. {
  365. Or (PWC1, 0x01, PWC1)
  366. }
  367. If (LEqual (Arg0, 0x03))
  368. {
  369. Or (PWC1, 0x01, PWC1)
  370. }
  371. If (LEqual (Arg0, 0x04))
  372. {
  373. Or (PWC1, 0x00, PWC1)
  374. }
  375. If (LEqual (Arg0, 0x05))
  376. {
  377. Or (PWC1, 0x00, PWC1)
  378. }
  379. }
  380. Method (\_WAK, 1, NotSerialized)
  381. {
  382. Store (0xFF, DBG1)
  383. And (PWC1, 0x00, PWC1)
  384. If (LEqual (Arg0, 0x01)) {}
  385. If (LEqual (Arg0, 0x01))
  386. {
  387. And (IRQR, 0x7F, IRQR)
  388. While (PRII)
  389. {
  390. Store (One, PRII)
  391. }
  392. While (LNotEqual (PADS, 0x00))
  393. {
  394. Store (PADS, PADS)
  395. }
  396. }
  397. If (OSFL)
  398. {
  399. Notify (\_SB.PWRB, 0x02)
  400. Notify (\_SB.SLPB, 0x02)
  401. }
  402. Else
  403. {
  404. If (LEqual (RTCW, 0x00))
  405. {
  406. Notify (\_SB.PWRB, 0x02)
  407. Notify (\_SB.SLPB, 0x02)
  408. }
  409. }
  410. }
  411. Scope (\_SI)
  412. {
  413. Method (_MSG, 1, NotSerialized)
  414. {
  415. Store (Local0, Local0)
  416. }
  417. Method (_SST, 1, NotSerialized)
  418. {
  419. Store (Local0, Local0)
  420. }
  421. }
  422. OperationRegion (TEMM, SystemMemory, 0x000FF810, 0x0C)
  423. Field (TEMM, WordAcc, NoLock, Preserve)
  424. {
  425. TP1H, 16,
  426. TP1L, 16,
  427. TP2H, 16,
  428. TP2L, 16,
  429. TRPC, 16,
  430. SENF, 16
  431. }
  432. Name (TVAR, Buffer (0x05)
  433. {
  434. 0x00, 0x00, 0x00, 0x00, 0x00
  435. })
  436. CreateByteField (TVAR, 0x00, PLCY)
  437. CreateWordField (TVAR, 0x01, CTOS)
  438. CreateWordField (TVAR, 0x03, CTHY)
  439. Name (TBUF, Buffer (0x04)
  440. {
  441. 0x00, 0x00, 0x00, 0x00
  442. })
  443. CreateByteField (TBUF, 0x00, DB00)
  444. CreateByteField (TBUF, 0x01, DB01)
  445. CreateWordField (TBUF, 0x00, DW00)
  446. CreateWordField (TBUF, 0x02, DW01)
  447. CreateDWordField (TBUF, 0x00, DATD)
  448. OperationRegion (IP, SystemIO, 0x0295, 0x02)
  449. Field (IP, ByteAcc, NoLock, Preserve)
  450. {
  451. INDX, 8,
  452. DAT0, 8
  453. }
  454. Method (SCFG, 1, NotSerialized)
  455. {
  456. SBYT (0x40, Arg0)
  457. }
  458. Method (STOS, 3, NotSerialized)
  459. {
  460. Divide (Arg2, 0x0A, Local0)
  461. If (LGreater (Local0, 0x0111))
  462. {
  463. Subtract (Local0, 0x0111, Local0)
  464. }
  465. Else
  466. {
  467. Subtract (0x0111, Local0, Local0)
  468. Or (Local0, 0x80, Local0)
  469. }
  470. SBYT (0x40, Local0)
  471. }
  472. Method (STHY, 3, NotSerialized)
  473. {
  474. Divide (Arg2, 0x0A, Local0)
  475. If (LGreater (Local0, 0x0111))
  476. {
  477. Subtract (Local0, 0x0111, Local0)
  478. }
  479. Else
  480. {
  481. Subtract (0x0111, Local0, Local0)
  482. Or (Local0, 0x80, Local0)
  483. }
  484. SBYT (0x41, Local0)
  485. }
  486. Method (RTMP, 0, NotSerialized)
  487. {
  488. Store (GBYT (0x29), Local0)
  489. FindSetLeftBit (Local0, Local1)
  490. If (LEqual (Local1, 0x08))
  491. {
  492. And (Local0, 0x7F, Local0)
  493. Multiply (Local0, 0x0A, Local0)
  494. Subtract (0x0AAC, Local0, Local0)
  495. }
  496. Else
  497. {
  498. Multiply (Local0, 0x0A, Local0)
  499. Add (0x0AAC, Local0, Local0)
  500. }
  501. If (LEqual (SSHU, 0x01))
  502. {
  503. Return (0x0C3C)
  504. }
  505. Else
  506. {
  507. Return (Local0)
  508. }
  509. }
  510. Method (SBYT, 2, NotSerialized)
  511. {
  512. Store (Arg0, INDX)
  513. Store (Arg1, DAT0)
  514. }
  515. Method (GBYT, 1, NotSerialized)
  516. {
  517. Store (Arg0, INDX)
  518. Store (DAT0, Local0)
  519. Return (Local0)
  520. }
  521. Method (SFAN, 1, NotSerialized)
  522. {
  523. And (SENF, 0x02, Local0)
  524. If (LEqual (Local0, Zero))
  525. {
  526. If (LEqual (Arg0, Zero))
  527. {
  528. FOFF ()
  529. }
  530. Else
  531. {
  532. FON ()
  533. }
  534. }
  535. }
  536. Method (FON, 0, NotSerialized)
  537. {
  538. SBYT (0x14, 0x00)
  539. }
  540. Method (FOFF, 0, NotSerialized)
  541. {
  542. XOr (0x00, 0x03, Local0)
  543. SBYT (0x14, Local0)
  544. }
  545. Scope (\_TZ)
  546. {
  547. Device (FAN)
  548. {
  549. Name (_HID, EisaId ("PNP0C0B"))
  550. Method (_INI, 0, NotSerialized)
  551. {
  552. Store (TP1H, CTOS)
  553. Store (TP1L, CTHY)
  554. }
  555. }
  556. ThermalZone (THRM)
  557. {
  558. Name (_AL0, Package (0x01)
  559. {
  560. FAN
  561. })
  562. Method (_INI, 0, NotSerialized)
  563. {
  564. }
  565. Method (_AC0, 0, NotSerialized)
  566. {
  567. If (Or (PLCY, PLCY, Local7))
  568. {
  569. Return (KELA (TP2H))
  570. }
  571. Else
  572. {
  573. Return (KELA (TP1H))
  574. }
  575. }
  576. Name (_PSL, Package (0x01)
  577. {
  578. \_PR.CPU0
  579. })
  580. Name (_TSP, 0x3C)
  581. Name (_TC1, 0x04)
  582. Name (_TC2, 0x03)
  583. Method (_PSV, 0, NotSerialized)
  584. {
  585. If (Or (PLCY, PLCY, Local7))
  586. {
  587. Return (KELA (TP1H))
  588. }
  589. Else
  590. {
  591. Return (KELA (TP2H))
  592. }
  593. }
  594. Method (KELA, 1, NotSerialized)
  595. {
  596. If (LGreater (Arg0, 0x01F4))
  597. {
  598. Return (Arg0)
  599. }
  600. Else
  601. {
  602. Store (Arg0, Local1)
  603. Multiply (Local1, 0x0A, Local1)
  604. Add (Local1, 0x0AAC, Local1)
  605. Return (Local1)
  606. }
  607. }
  608. Method (_CRT, 0, NotSerialized)
  609. {
  610. Return (TRPC)
  611. }
  612. Method (_TMP, 0, NotSerialized)
  613. {
  614. And (SENF, 0x01, Local6)
  615. If (LEqual (Local6, 0x01))
  616. {
  617. Return (KELA (RTMP ()))
  618. }
  619. Else
  620. {
  621. Return (0x0B86)
  622. }
  623. }
  624. Method (_SCP, 1, NotSerialized)
  625. {
  626. If (Arg0)
  627. {
  628. Store (One, PLCY)
  629. }
  630. Else
  631. {
  632. Store (Zero, PLCY)
  633. }
  634. Notify (\_TZ.THRM, 0x81)
  635. }
  636. Method (STMP, 2, NotSerialized)
  637. {
  638. Store (Arg1, DW00)
  639. If (Arg0)
  640. {
  641. STHY (DB00, DB01, DW00)
  642. }
  643. Else
  644. {
  645. STOS (DB00, DB01, DW00)
  646. }
  647. }
  648. }
  649. }
  650. Scope (\_GPE)
  651. {
  652. Method (_L03, 0, NotSerialized)
  653. {
  654. Notify (\_SB.PCI0.LAN1, 0x02)
  655. }
  656. Method (_L04, 0, NotSerialized)
  657. {
  658. Notify (\_SB.SLPB, 0x80)
  659. }
  660. Method (_L05, 0, NotSerialized)
  661. {
  662. Notify (\_SB.PCI0, 0x02)
  663. Notify (\_SB.PCI0.P2PB, 0x02)
  664. }
  665. Method (_L08, 0, NotSerialized)
  666. {
  667. Notify (\_SB.PCI0.UAR1, 0x02)
  668. }
  669. Method (_L0B, 0, NotSerialized)
  670. {
  671. Notify (\_SB.PCI0.PS2M, 0x02)
  672. Notify (\_SB.PCI0.PS2K, 0x02)
  673. }
  674. Method (_L0D, 0, NotSerialized)
  675. {
  676. Notify (\_SB.PCI0.P2PE.AZAC, 0x02)
  677. Notify (\_SB.PCI1.AZAC, 0x02)
  678. }
  679. Method (_L0E, 0, NotSerialized)
  680. {
  681. Notify (\_SB.PCI0.USB1, 0x02)
  682. Notify (\_SB.PCI0.USB2, 0x02)
  683. Notify (\_SB.PCI0.USB3, 0x02)
  684. Notify (\_SB.PCI0.USB4, 0x02)
  685. Notify (\_SB.PCI0.EHCI, 0x02)
  686. }
  687. Method (_L0F, 0, NotSerialized)
  688. {
  689. Notify (\_SB.PCI0.SATA, 0x02)
  690. }
  691. Method (_L12, 0, NotSerialized)
  692. {
  693. If (LEqual (PMFL, 0x00))
  694. {
  695. Notify (\_SB.PCI0.PEXG, 0x02)
  696. Notify (\_SB.PCI0.PEX0, 0x02)
  697. Notify (\_SB.PCI0.PEX1, 0x02)
  698. Notify (\_SB.PCI0.PEX2, 0x02)
  699. Notify (\_SB.PCI0.PEX3, 0x02)
  700. Notify (\_SB.PCI0.P2PE.PE5C, 0x02)
  701. Notify (\_SB.PCI0.P2PE.PE6C, 0x02)
  702. Notify (\_SB.PCI1.PE5C, 0x02)
  703. Notify (\_SB.PCI1.PE6C, 0x02)
  704. }
  705. }
  706. Method (_L13, 0, NotSerialized)
  707. {
  708. If (LEqual (HPFL, 0x00))
  709. {
  710. Notify (\_SB.PCI0.PEXG.S0F0, 0x01)
  711. Notify (\_SB.PCI0.PEXG.S0F1, 0x01)
  712. Notify (\_SB.PCI0.PEXG.S0F2, 0x01)
  713. Notify (\_SB.PCI0.PEXG.S0F3, 0x01)
  714. Notify (\_SB.PCI0.PEXG.S0F4, 0x01)
  715. Notify (\_SB.PCI0.PEXG.S0F5, 0x01)
  716. Notify (\_SB.PCI0.PEXG.S0F6, 0x01)
  717. Notify (\_SB.PCI0.PEXG.S0F7, 0x01)
  718. Notify (\_SB.PCI0.PEX0.S1F0, 0x01)
  719. Notify (\_SB.PCI0.PEX0.S1F1, 0x01)
  720. Notify (\_SB.PCI0.PEX0.S1F2, 0x01)
  721. Notify (\_SB.PCI0.PEX0.S1F3, 0x01)
  722. Notify (\_SB.PCI0.PEX0.S1F4, 0x01)
  723. Notify (\_SB.PCI0.PEX0.S1F5, 0x01)
  724. Notify (\_SB.PCI0.PEX0.S1F6, 0x01)
  725. Notify (\_SB.PCI0.PEX0.S1F7, 0x01)
  726. Notify (\_SB.PCI0.PEX1.S2F0, 0x01)
  727. Notify (\_SB.PCI0.PEX1.S2F1, 0x01)
  728. Notify (\_SB.PCI0.PEX1.S2F2, 0x01)
  729. Notify (\_SB.PCI0.PEX1.S2F3, 0x01)
  730. Notify (\_SB.PCI0.PEX1.S2F4, 0x01)
  731. Notify (\_SB.PCI0.PEX1.S2F5, 0x01)
  732. Notify (\_SB.PCI0.PEX1.S2F6, 0x01)
  733. Notify (\_SB.PCI0.PEX1.S2F7, 0x01)
  734. Notify (\_SB.PCI0.PEX2.S3F0, 0x01)
  735. Notify (\_SB.PCI0.PEX2.S3F1, 0x01)
  736. Notify (\_SB.PCI0.PEX2.S3F2, 0x01)
  737. Notify (\_SB.PCI0.PEX2.S3F3, 0x01)
  738. Notify (\_SB.PCI0.PEX2.S3F4, 0x01)
  739. Notify (\_SB.PCI0.PEX2.S3F5, 0x01)
  740. Notify (\_SB.PCI0.PEX2.S3F6, 0x01)
  741. Notify (\_SB.PCI0.PEX2.S3F7, 0x01)
  742. Notify (\_SB.PCI0.PEX3.S4F0, 0x01)
  743. Notify (\_SB.PCI0.PEX3.S4F1, 0x01)
  744. Notify (\_SB.PCI0.PEX3.S4F2, 0x01)
  745. Notify (\_SB.PCI0.PEX3.S4F3, 0x01)
  746. Notify (\_SB.PCI0.PEX3.S4F4, 0x01)
  747. Notify (\_SB.PCI0.PEX3.S4F5, 0x01)
  748. Notify (\_SB.PCI0.PEX3.S4F6, 0x01)
  749. Notify (\_SB.PCI0.PEX3.S4F7, 0x01)
  750. Notify (\_SB.PCI0.P2PE.PE5C.S5F0, 0x01)
  751. Notify (\_SB.PCI0.P2PE.PE5C.S5F1, 0x01)
  752. Notify (\_SB.PCI0.P2PE.PE5C.S5F2, 0x01)
  753. Notify (\_SB.PCI0.P2PE.PE5C.S5F3, 0x01)
  754. Notify (\_SB.PCI0.P2PE.PE5C.S5F4, 0x01)
  755. Notify (\_SB.PCI0.P2PE.PE5C.S5F5, 0x01)
  756. Notify (\_SB.PCI0.P2PE.PE5C.S5F6, 0x01)
  757. Notify (\_SB.PCI0.P2PE.PE5C.S5F7, 0x01)
  758. Notify (\_SB.PCI0.P2PE.PE6C.S6F0, 0x01)
  759. Notify (\_SB.PCI0.P2PE.PE6C.S6F1, 0x01)
  760. Notify (\_SB.PCI0.P2PE.PE6C.S6F2, 0x01)
  761. Notify (\_SB.PCI0.P2PE.PE6C.S6F3, 0x01)
  762. Notify (\_SB.PCI0.P2PE.PE6C.S6F4, 0x01)
  763. Notify (\_SB.PCI0.P2PE.PE6C.S6F5, 0x01)
  764. Notify (\_SB.PCI0.P2PE.PE6C.S6F6, 0x01)
  765. Notify (\_SB.PCI0.P2PE.PE6C.S6F7, 0x01)
  766. Notify (\_SB.PCI1.PE5C.S5F0, 0x01)
  767. Notify (\_SB.PCI1.PE5C.S5F1, 0x01)
  768. Notify (\_SB.PCI1.PE5C.S5F2, 0x01)
  769. Notify (\_SB.PCI1.PE5C.S5F3, 0x01)
  770. Notify (\_SB.PCI1.PE5C.S5F4, 0x01)
  771. Notify (\_SB.PCI1.PE5C.S5F5, 0x01)
  772. Notify (\_SB.PCI1.PE5C.S5F6, 0x01)
  773. Notify (\_SB.PCI1.PE5C.S5F7, 0x01)
  774. Notify (\_SB.PCI1.PE6C.S6F0, 0x01)
  775. Notify (\_SB.PCI1.PE6C.S6F1, 0x01)
  776. Notify (\_SB.PCI1.PE6C.S6F2, 0x01)
  777. Notify (\_SB.PCI1.PE6C.S6F3, 0x01)
  778. Notify (\_SB.PCI1.PE6C.S6F4, 0x01)
  779. Notify (\_SB.PCI1.PE6C.S6F5, 0x01)
  780. Notify (\_SB.PCI1.PE6C.S6F6, 0x01)
  781. Notify (\_SB.PCI1.PE6C.S6F7, 0x01)
  782. }
  783. }
  784. }
  785. Scope (\_SB)
  786. {
  787. OperationRegion (\CTCR, SystemIO, 0x0410, 0x04)
  788. Field (\CTCR, DWordAcc, NoLock, Preserve)
  789. {
  790. CTCR, 32
  791. }
  792. Method (SCTC, 1, NotSerialized)
  793. {
  794. If (LEqual (Arg0, 0x00))
  795. {
  796. And (CTCR, 0xFFFFFFEF, CTCR)
  797. }
  798. Else
  799. {
  800. Store (Arg0, Local0)
  801. If (LLessEqual (Local0, 0x07))
  802. {
  803. If (LGreaterEqual (Local0, 0x01))
  804. {
  805. And (CTCR, 0xFFFFFFE0, CTCR)
  806. ShiftLeft (Local0, 0x01, Local0)
  807. And (Local0, 0x0F, Local0)
  808. Or (Local0, 0x10, Local0)
  809. Or (CTCR, Local0, CTCR)
  810. }
  811. }
  812. }
  813. }
  814. Device (PWRB)
  815. {
  816. Name (_HID, EisaId ("PNP0C0C"))
  817. Method (_STA, 0, NotSerialized)
  818. {
  819. Return (0x0B)
  820. }
  821. }
  822. Device (SLPB)
  823. {
  824. Name (_HID, EisaId ("PNP0C0E"))
  825. Method (_STA, 0, NotSerialized)
  826. {
  827. Return (0x0B)
  828. }
  829. Name (_PRW, Package (0x02)
  830. {
  831. 0x04,
  832. 0x05
  833. })
  834. }
  835. Device (PCI0)
  836. {
  837. Name (_HID, EisaId ("PNP0A08"))
  838. Name (_CID, EisaId ("PNP0A03"))
  839. Name (_ADR, 0x00)
  840. Name (_UID, 0x01)
  841. Name (_BBN, 0x00)
  842. Method (_S3D, 0, NotSerialized)
  843. {
  844. If (LEqual (OSFL, 0x02))
  845. {
  846. Return (0x02)
  847. }
  848. Else
  849. {
  850. Return (0x03)
  851. }
  852. }
  853. Name (UIDB, Buffer (0x10) {})
  854. CreateDWordField (UIDB, 0x00, UID0)
  855. CreateDWordField (UIDB, 0x04, UID1)
  856. CreateDWordField (UIDB, 0x08, UID2)
  857. CreateDWordField (UIDB, 0x0C, UID3)
  858. Name (OSCB, Buffer (0x0C) {})
  859. CreateDWordField (OSCB, 0x00, CAP0)
  860. CreateDWordField (OSCB, 0x04, CAP1)
  861. CreateDWordField (OSCB, 0x08, CAP2)
  862. Name (CHKU, 0x00)
  863. Name (PNHP, 0x00)
  864. Name (PNPM, 0x00)
  865. Method (_OSC, 4, NotSerialized)
  866. {
  867. Store (Arg0, UIDB)
  868. If (LNotEqual (UID0, 0x33DB4D5B))
  869. {
  870. Store (One, CHKU)
  871. }
  872. If (LNotEqual (UID1, 0x401C1FF7))
  873. {
  874. Store (One, CHKU)
  875. }
  876. If (LNotEqual (UID2, 0x41745796))
  877. {
  878. Store (One, CHKU)
  879. }
  880. If (LNotEqual (UID3, 0x66D73DC0))
  881. {
  882. Store (One, CHKU)
  883. }
  884. Store (Arg3, OSCB)
  885. If (LEqual (CHKU, 0x00))
  886. {
  887. And (CAP2, 0x01, PNHP)
  888. And (CAP2, 0x04, PNPM)
  889. If (LNotEqual (PNHP, 0x00))
  890. {
  891. Store (0x00, \_SB.PCI0.APEX.PEHP)
  892. Store (0x00, \_SB.PCI0.VT86.SBHP)
  893. Store (0x00, G89E)
  894. Store (0x01, HPFL)
  895. }
  896. Else
  897. {
  898. Store (0x01, \_SB.PCI0.APEX.PEHP)
  899. Store (0x01, \_SB.PCI0.VT86.SBHP)
  900. Store (0x01, G89E)
  901. Store (0x00, HPFL)
  902. }
  903. If (LNotEqual (PNPM, 0x00))
  904. {
  905. Store (0x00, \_SB.PCI0.APEX.PEPM)
  906. Store (0x00, \_SB.PCI0.VT86.SBPM)
  907. Store (0x00, G89E)
  908. Store (0x01, PMFL)
  909. }
  910. Else
  911. {
  912. Store (0x01, \_SB.PCI0.APEX.PEPM)
  913. Store (0x01, \_SB.PCI0.VT86.SBPM)
  914. Store (0x01, G89E)
  915. Store (0x00, PMFL)
  916. }
  917. And (CAP2, 0xFFFFFFFD, CAP2)
  918. And (CAP0, 0x00, CAP0)
  919. Return (OSCB)
  920. }
  921. Else
  922. {
  923. Or (CAP0, 0x04, CAP0)
  924. Return (OSCB)
  925. }
  926. }
  927. OperationRegion (GART, PCI_Config, 0x80, 0x01)
  928. Scope (\)
  929. {
  930. Field (\_SB.PCI0.GART, ByteAcc, NoLock, Preserve)
  931. {
  932. GAR1, 8
  933. }
  934. }
  935. OperationRegion (GARA, PCI_Config, 0x88, 0x01)
  936. Scope (\)
  937. {
  938. Field (\_SB.PCI0.GARA, ByteAcc, NoLock, Preserve)
  939. {
  940. GAR2, 8
  941. }
  942. }
  943. Method (_STA, 0, NotSerialized)
  944. {
  945. Return (0x0F)
  946. }
  947. Name (_PRW, Package (0x02)
  948. {
  949. 0x05,
  950. 0x05
  951. })
  952. Method (_CRS, 0, NotSerialized)
  953. {
  954. Name (BUF0, ResourceTemplate ()
  955. {
  956. WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
  957. 0x0000, // Granularity
  958. 0x0000, // Range Minimum
  959. 0x007F, // Range Maximum
  960. 0x0000, // Translation Offset
  961. 0x0080, // Length
  962. ,, _Y02)
  963. IO (Decode16,
  964. 0x0CF8, // Range Minimum
  965. 0x0CF8, // Range Maximum
  966. 0x01, // Alignment
  967. 0x08, // Length
  968. )
  969. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  970. 0x0000, // Granularity
  971. 0x0000, // Range Minimum
  972. 0x0CF7, // Range Maximum
  973. 0x0000, // Translation Offset
  974. 0x0CF8, // Length
  975. ,, , TypeStatic)
  976. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  977. 0x0000, // Granularity
  978. 0x0D00, // Range Minimum
  979. 0xFFFF, // Range Maximum
  980. 0x0000, // Translation Offset
  981. 0xF300, // Length
  982. ,, , TypeStatic)
  983. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  984. 0x00000000, // Granularity
  985. 0x000A0000, // Range Minimum
  986. 0x000BFFFF, // Range Maximum
  987. 0x00000000, // Translation Offset
  988. 0x00020000, // Length
  989. ,, , AddressRangeMemory, TypeStatic)
  990. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  991. 0x00000000, // Granularity
  992. 0x000C0000, // Range Minimum
  993. 0x000DFFFF, // Range Maximum
  994. 0x00000000, // Translation Offset
  995. 0x00020000, // Length
  996. ,, , AddressRangeMemory, TypeStatic)
  997. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  998. 0x00000000, // Granularity
  999. 0x00100000, // Range Minimum
  1000. 0xFEBFFFFF, // Range Maximum
  1001. 0x00000000, // Translation Offset
  1002. 0xFFF00000, // Length
  1003. ,, _Y00, AddressRangeMemory, TypeStatic)
  1004. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1005. 0x00000000, // Granularity
  1006. 0x00100000, // Range Minimum
  1007. 0xFEBFFFFF, // Range Maximum
  1008. 0x00000000, // Translation Offset
  1009. 0xFFF00000, // Length
  1010. ,, _Y01, AddressRangeMemory, TypeStatic)
  1011. })
  1012. CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MIN, TCMM)
  1013. CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MAX, TAMM)
  1014. CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._LEN, TOMM)
  1015. CreateDWordField (BUF0, \_SB.PCI0._CRS._Y01._MAX, EM2X)
  1016. CreateDWordField (BUF0, \_SB.PCI0._CRS._Y01._MIN, EM2I)
  1017. CreateDWordField (BUF0, \_SB.PCI0._CRS._Y01._LEN, EM2L)
  1018. CreateWordField (BUF0, \_SB.PCI0._CRS._Y02._MAX, BNX1)
  1019. CreateWordField (BUF0, \_SB.PCI0._CRS._Y02._LEN, BNO1)
  1020. Add (AMEM, 0x00010000, TCMM)
  1021. Add (TCMM, 0x00010000, TCMM)
  1022. Subtract (SMB1, 0x01, TAMM)
  1023. Subtract (SMB1, TCMM, TOMM)
  1024. Add (SMB2, 0x01, EM2I)
  1025. Subtract (0xFEC00000, EM2I, EM2L)
  1026. Subtract (0xFEC00000, 0x01, EM2X)
  1027. If (LEqual (\_SB.PCI0.P2PE.SCLS, 0x04))
  1028. {
  1029. Store (0xFF, BNX1)
  1030. Store (0x0100, BNO1)
  1031. }
  1032. Return (BUF0)
  1033. }
  1034. Name (PICM, Package (0x24)
  1035. {
  1036. Package (0x04)
  1037. {
  1038. 0x0008FFFF,
  1039. 0x00,
  1040. \_SB.PCI0.LNKB,
  1041. 0x00
  1042. },
  1043. Package (0x04)
  1044. {
  1045. 0x0008FFFF,
  1046. 0x01,
  1047. \_SB.PCI0.LNKC,
  1048. 0x00
  1049. },
  1050. Package (0x04)
  1051. {
  1052. 0x0008FFFF,
  1053. 0x02,
  1054. \_SB.PCI0.LNKD,
  1055. 0x00
  1056. },
  1057. Package (0x04)
  1058. {
  1059. 0x0008FFFF,
  1060. 0x03,
  1061. \_SB.PCI0.LNKA,
  1062. 0x00
  1063. },
  1064. Package (0x04)
  1065. {
  1066. 0x0009FFFF,
  1067. 0x00,
  1068. \_SB.PCI0.LNKC,
  1069. 0x00
  1070. },
  1071. Package (0x04)
  1072. {
  1073. 0x0009FFFF,
  1074. 0x01,
  1075. \_SB.PCI0.LNKD,
  1076. 0x00
  1077. },
  1078. Package (0x04)
  1079. {
  1080. 0x0009FFFF,
  1081. 0x02,
  1082. \_SB.PCI0.LNKA,
  1083. 0x00
  1084. },
  1085. Package (0x04)
  1086. {
  1087. 0x0009FFFF,
  1088. 0x03,
  1089. \_SB.PCI0.LNKB,
  1090. 0x00
  1091. },
  1092. Package (0x04)
  1093. {
  1094. 0x0001FFFF,
  1095. 0x00,
  1096. \_SB.PCI0.LNKA,
  1097. 0x00
  1098. },
  1099. Package (0x04)
  1100. {
  1101. 0x0001FFFF,
  1102. 0x01,
  1103. \_SB.PCI0.LNKB,
  1104. 0x00
  1105. },
  1106. Package (0x04)
  1107. {
  1108. 0x0001FFFF,
  1109. 0x02,
  1110. \_SB.PCI0.LNKC,
  1111. 0x00
  1112. },
  1113. Package (0x04)
  1114. {
  1115. 0x0001FFFF,
  1116. 0x03,
  1117. \_SB.PCI0.LNKD,
  1118. 0x00
  1119. },
  1120. Package (0x04)
  1121. {
  1122. 0x0002FFFF,
  1123. 0x00,
  1124. \_SB.PCI0.LNK1,
  1125. 0x00
  1126. },
  1127. Package (0x04)
  1128. {
  1129. 0x0002FFFF,
  1130. 0x01,
  1131. \_SB.PCI0.LNK1,
  1132. 0x00
  1133. },
  1134. Package (0x04)
  1135. {
  1136. 0x0002FFFF,
  1137. 0x02,
  1138. \_SB.PCI0.LNK1,
  1139. 0x00
  1140. },
  1141. Package (0x04)
  1142. {
  1143. 0x0002FFFF,
  1144. 0x03,
  1145. \_SB.PCI0.LNK1,
  1146. 0x00
  1147. },
  1148. Package (0x04)
  1149. {
  1150. 0x0003FFFF,
  1151. 0x00,
  1152. \_SB.PCI0.LNK1,
  1153. 0x00
  1154. },
  1155. Package (0x04)
  1156. {
  1157. 0x0003FFFF,
  1158. 0x01,
  1159. \_SB.PCI0.LNK1,
  1160. 0x00
  1161. },
  1162. Package (0x04)
  1163. {
  1164. 0x0003FFFF,
  1165. 0x02,
  1166. \_SB.PCI0.LNK1,
  1167. 0x00
  1168. },
  1169. Package (0x04)
  1170. {
  1171. 0x0003FFFF,
  1172. 0x03,
  1173. \_SB.PCI0.LNK1,
  1174. 0x00
  1175. },
  1176. Package (0x04)
  1177. {
  1178. 0x000FFFFF,
  1179. 0x00,
  1180. \_SB.PCI0.LNKA,
  1181. 0x00
  1182. },
  1183. Package (0x04)
  1184. {
  1185. 0x000FFFFF,
  1186. 0x01,
  1187. \_SB.PCI0.LNKB,
  1188. 0x00
  1189. },
  1190. Package (0x04)
  1191. {
  1192. 0x000FFFFF,
  1193. 0x02,
  1194. \_SB.PCI0.LNKC,
  1195. 0x00
  1196. },
  1197. Package (0x04)
  1198. {
  1199. 0x000FFFFF,
  1200. 0x03,
  1201. \_SB.PCI0.LNKD,
  1202. 0x00
  1203. },
  1204. Package (0x04)
  1205. {
  1206. 0x0010FFFF,
  1207. 0x00,
  1208. \_SB.PCI0.LNKA,
  1209. 0x00
  1210. },
  1211. Package (0x04)
  1212. {
  1213. 0x0010FFFF,
  1214. 0x01,
  1215. \_SB.PCI0.LNKB,
  1216. 0x00
  1217. },
  1218. Package (0x04)
  1219. {
  1220. 0x0010FFFF,
  1221. 0x02,
  1222. \_SB.PCI0.LNKC,
  1223. 0x00
  1224. },
  1225. Package (0x04)
  1226. {
  1227. 0x0010FFFF,
  1228. 0x03,
  1229. \_SB.PCI0.LNKD,
  1230. 0x00
  1231. },
  1232. Package (0x04)
  1233. {
  1234. 0x0011FFFF,
  1235. 0x00,
  1236. \_SB.PCI0.LNKA,
  1237. 0x00
  1238. },
  1239. Package (0x04)
  1240. {
  1241. 0x0011FFFF,
  1242. 0x01,
  1243. \_SB.PCI0.LNKB,
  1244. 0x00
  1245. },
  1246. Package (0x04)
  1247. {
  1248. 0x0011FFFF,
  1249. 0x02,
  1250. \_SB.PCI0.LNKC,
  1251. 0x00
  1252. },
  1253. Package (0x04)
  1254. {
  1255. 0x0011FFFF,
  1256. 0x03,
  1257. \_SB.PCI0.LNKD,
  1258. 0x00
  1259. },
  1260. Package (0x04)
  1261. {
  1262. 0x0012FFFF,
  1263. 0x00,
  1264. \_SB.PCI0.LNKA,
  1265. 0x00
  1266. },
  1267. Package (0x04)
  1268. {
  1269. 0x0012FFFF,
  1270. 0x01,
  1271. \_SB.PCI0.LNKB,
  1272. 0x00
  1273. },
  1274. Package (0x04)
  1275. {
  1276. 0x0012FFFF,
  1277. 0x02,
  1278. \_SB.PCI0.LNKC,
  1279. 0x00
  1280. },
  1281. Package (0x04)
  1282. {
  1283. 0x0012FFFF,
  1284. 0x03,
  1285. \_SB.PCI0.LNKD,
  1286. 0x00
  1287. }
  1288. })
  1289. Name (APIC, Package (0x24)
  1290. {
  1291. Package (0x04)
  1292. {
  1293. 0x0008FFFF,
  1294. 0x00,
  1295. 0x00,
  1296. 0x11
  1297. },
  1298. Package (0x04)
  1299. {
  1300. 0x0008FFFF,
  1301. 0x01,
  1302. 0x00,
  1303. 0x12
  1304. },
  1305. Package (0x04)
  1306. {
  1307. 0x0008FFFF,
  1308. 0x02,
  1309. 0x00,
  1310. 0x13
  1311. },
  1312. Package (0x04)
  1313. {
  1314. 0x0008FFFF,
  1315. 0x03,
  1316. 0x00,
  1317. 0x10
  1318. },
  1319. Package (0x04)
  1320. {
  1321. 0x0009FFFF,
  1322. 0x00,
  1323. 0x00,
  1324. 0x12
  1325. },
  1326. Package (0x04)
  1327. {
  1328. 0x0009FFFF,
  1329. 0x01,
  1330. 0x00,
  1331. 0x13
  1332. },
  1333. Package (0x04)
  1334. {
  1335. 0x0009FFFF,
  1336. 0x02,
  1337. 0x00,
  1338. 0x10
  1339. },
  1340. Package (0x04)
  1341. {
  1342. 0x0009FFFF,
  1343. 0x03,
  1344. 0x00,
  1345. 0x11
  1346. },
  1347. Package (0x04)
  1348. {
  1349. 0x0001FFFF,
  1350. 0x00,
  1351. 0x00,
  1352. 0x10
  1353. },
  1354. Package (0x04)
  1355. {
  1356. 0x0001FFFF,
  1357. 0x01,
  1358. 0x00,
  1359. 0x11
  1360. },
  1361. Package (0x04)
  1362. {
  1363. 0x0001FFFF,
  1364. 0x02,
  1365. 0x00,
  1366. 0x12
  1367. },
  1368. Package (0x04)
  1369. {
  1370. 0x0001FFFF,
  1371. 0x03,
  1372. 0x00,
  1373. 0x13
  1374. },
  1375. Package (0x04)
  1376. {
  1377. 0x0002FFFF,
  1378. 0x00,
  1379. 0x00,
  1380. 0x1B
  1381. },
  1382. Package (0x04)
  1383. {
  1384. 0x0002FFFF,
  1385. 0x01,
  1386. 0x00,
  1387. 0x1B
  1388. },
  1389. Package (0x04)
  1390. {
  1391. 0x0002FFFF,
  1392. 0x02,
  1393. 0x00,
  1394. 0x1B
  1395. },
  1396. Package (0x04)
  1397. {
  1398. 0x0002FFFF,
  1399. 0x03,
  1400. 0x00,
  1401. 0x1B
  1402. },
  1403. Package (0x04)
  1404. {
  1405. 0x0003FFFF,
  1406. 0x00,
  1407. 0x00,
  1408. 0x1F
  1409. },
  1410. Package (0x04)
  1411. {
  1412. 0x0003FFFF,
  1413. 0x01,
  1414. 0x00,
  1415. 0x23
  1416. },
  1417. Package (0x04)
  1418. {
  1419. 0x0003FFFF,
  1420. 0x02,
  1421. 0x00,
  1422. 0x27
  1423. },
  1424. Package (0x04)
  1425. {
  1426. 0x0003FFFF,
  1427. 0x03,
  1428. 0x00,
  1429. 0x2B
  1430. },
  1431. Package (0x04)
  1432. {
  1433. 0x000FFFFF,
  1434. 0x00,
  1435. 0x00,
  1436. 0x14
  1437. },
  1438. Package (0x04)
  1439. {
  1440. 0x000FFFFF,
  1441. 0x01,
  1442. 0x00,
  1443. 0x15
  1444. },
  1445. Package (0x04)
  1446. {
  1447. 0x000FFFFF,
  1448. 0x02,
  1449. 0x00,
  1450. 0x16
  1451. },
  1452. Package (0x04)
  1453. {
  1454. 0x000FFFFF,
  1455. 0x03,
  1456. 0x00,
  1457. 0x17
  1458. },
  1459. Package (0x04)
  1460. {
  1461. 0x0010FFFF,
  1462. 0x00,
  1463. 0x00,
  1464. 0x14
  1465. },
  1466. Package (0x04)
  1467. {
  1468. 0x0010FFFF,
  1469. 0x01,
  1470. 0x00,
  1471. 0x16
  1472. },
  1473. Package (0x04)
  1474. {
  1475. 0x0010FFFF,
  1476. 0x02,
  1477. 0x00,
  1478. 0x15
  1479. },
  1480. Package (0x04)
  1481. {
  1482. 0x0010FFFF,
  1483. 0x03,
  1484. 0x00,
  1485. 0x17
  1486. },
  1487. Package (0x04)
  1488. {
  1489. 0x0011FFFF,
  1490. 0x00,
  1491. 0x00,
  1492. 0x14
  1493. },
  1494. Package (0x04)
  1495. {
  1496. 0x0011FFFF,
  1497. 0x01,
  1498. 0x00,
  1499. 0x15
  1500. },
  1501. Package (0x04)
  1502. {
  1503. 0x0011FFFF,
  1504. 0x02,
  1505. 0x00,
  1506. 0x16
  1507. },
  1508. Package (0x04)
  1509. {
  1510. 0x0011FFFF,
  1511. 0x03,
  1512. 0x00,
  1513. 0x17
  1514. },
  1515. Package (0x04)
  1516. {
  1517. 0x0012FFFF,
  1518. 0x00,
  1519. 0x00,
  1520. 0x17
  1521. },
  1522. Package (0x04)
  1523. {
  1524. 0x0012FFFF,
  1525. 0x01,
  1526. 0x00,
  1527. 0x17
  1528. },
  1529. Package (0x04)
  1530. {
  1531. 0x0012FFFF,
  1532. 0x02,
  1533. 0x00,
  1534. 0x17
  1535. },
  1536. Package (0x04)
  1537. {
  1538. 0x0012FFFF,
  1539. 0x03,
  1540. 0x00,
  1541. 0x17
  1542. }
  1543. })
  1544. Method (_PRT, 0, NotSerialized)
  1545. {
  1546. If (LNot (PICF))
  1547. {
  1548. Return (PICM)
  1549. }
  1550. Else
  1551. {
  1552. Return (APIC)
  1553. }
  1554. }
  1555. Device (PMIO)
  1556. {
  1557. Name (_HID, EisaId ("PNP0C02"))
  1558. Name (_UID, 0x02)
  1559. Method (_CRS, 0, NotSerialized)
  1560. {
  1561. Name (BUF0, ResourceTemplate ()
  1562. {
  1563. IO (Decode16,
  1564. 0x0400, // Range Minimum
  1565. 0x0400, // Range Maximum
  1566. 0x01, // Alignment
  1567. 0x80, // Length
  1568. )
  1569. IO (Decode16,
  1570. 0x0500, // Range Minimum
  1571. 0x0500, // Range Maximum
  1572. 0x01, // Alignment
  1573. 0x10, // Length
  1574. )
  1575. })
  1576. Return (BUF0)
  1577. }
  1578. }
  1579. Device (VT86)
  1580. {
  1581. Name (_ADR, 0x00110000)
  1582. OperationRegion (BDRE, PCI_Config, 0xF6, 0x01)
  1583. Field (BDRE, ByteAcc, NoLock, Preserve)
  1584. {
  1585. REBD, 8
  1586. }
  1587. OperationRegion (USBC, PCI_Config, 0x50, 0x02)
  1588. Scope (\)
  1589. {
  1590. Field (\_SB.PCI0.VT86.USBC, ByteAcc, NoLock, Preserve)
  1591. {
  1592. IDEB, 8
  1593. }
  1594. }
  1595. OperationRegion (VTSB, PCI_Config, 0x00, 0x0100)
  1596. Scope (\)
  1597. {
  1598. Field (\_SB.PCI0.VT86.VTSB, ByteAcc, NoLock, Preserve)
  1599. {
  1600. Offset (0x02),
  1601. DEID, 16,
  1602. Offset (0x2C),
  1603. ID2C, 8,
  1604. ID2D, 8,
  1605. ID2E, 8,
  1606. ID2F, 8,
  1607. Offset (0x44),
  1608. PIRE, 4,
  1609. PIRF, 4,
  1610. PIRG, 4,
  1611. PIRH, 4,
  1612. POLE, 1,
  1613. POLF, 1,
  1614. POLG, 1,
  1615. POLH, 1,
  1616. ENR8, 1,
  1617. Offset (0x50),
  1618. ESB4, 1,
  1619. ESB3, 1,
  1620. ESB2, 1,
  1621. EIDE, 1,
  1622. EUSB, 1,
  1623. ESB1, 1,
  1624. EAMC, 2,
  1625. EKBC, 1,
  1626. KBCC, 1,
  1627. EPS2, 1,
  1628. ERTC, 1,
  1629. ELAN, 1,
  1630. , 2,
  1631. USBD, 1,
  1632. SIRQ, 8,
  1633. Offset (0x55),
  1634. PIRA, 8,
  1635. PIBC, 8,
  1636. PIRD, 8,
  1637. Offset (0x68),
  1638. , 7,
  1639. HPTF, 1,
  1640. Offset (0x7B),
  1641. , 6,
  1642. BSAT, 1,
  1643. Offset (0x94),
  1644. PWC1, 2,
  1645. GPO1, 1,
  1646. GPO2, 1,
  1647. GPO3, 1,
  1648. PLLD, 1,
  1649. Offset (0xEC),
  1650. ENWT, 3
  1651. }
  1652. }
  1653. OperationRegion (SBPR, PCI_Config, 0x00, 0xE8)
  1654. Field (SBPR, ByteAcc, NoLock, Preserve)
  1655. {
  1656. Offset (0xE2),
  1657. , 1,
  1658. SBPM, 1,
  1659. SBHP, 1
  1660. }
  1661. Scope (\)
  1662. {
  1663. Method (DISD, 1, NotSerialized)
  1664. {
  1665. Store (Local0, Local0)
  1666. }
  1667. Method (CKIO, 2, NotSerialized)
  1668. {
  1669. Store (Local0, Local0)
  1670. }
  1671. Method (SLDM, 2, NotSerialized)
  1672. {
  1673. Store (Local0, Local0)
  1674. }
  1675. }
  1676. }
  1677. Device (SBF7)
  1678. {
  1679. Name (_ADR, 0x00110007)
  1680. OperationRegion (SBVL, PCI_Config, 0xFC, 0x01)
  1681. Field (SBVL, ByteAcc, NoLock, Preserve)
  1682. {
  1683. , 2,
  1684. P2PC, 1
  1685. }
  1686. }
  1687. Device (SATA)
  1688. {
  1689. Method (_ADR, 0, NotSerialized)
  1690. {
  1691. If (LEqual (ATFL, 0x02))
  1692. {
  1693. Return (0x000F0001)
  1694. }
  1695. Else
  1696. {
  1697. Return (0x000F0000)
  1698. }
  1699. }
  1700. Method (_STA, 0, NotSerialized)
  1701. {
  1702. If (LNotEqual (\_SB.PCI0.SATA.VID, 0x1106))
  1703. {
  1704. Return (0x00)
  1705. }
  1706. Else
  1707. {
  1708. If (LEqual (\_SB.PCI0.SATA.CMDR, 0x00))
  1709. {
  1710. Return (0x0D)
  1711. }
  1712. Else
  1713. {
  1714. Return (0x0F)
  1715. }
  1716. }
  1717. }
  1718. OperationRegion (SAPR, PCI_Config, 0x00, 0xC2)
  1719. Field (SAPR, ByteAcc, NoLock, Preserve)
  1720. {
  1721. VID, 16,
  1722. Offset (0x04),
  1723. CMDR, 3,
  1724. Offset (0x3C),
  1725. IDEI, 8,
  1726. Offset (0x49),
  1727. , 6,
  1728. EPHY, 1
  1729. }
  1730. Name (_PRW, Package (0x02)
  1731. {
  1732. 0x0F,
  1733. 0x01
  1734. })
  1735. Name (REGF, 0x01)
  1736. Method (_REG, 2, NotSerialized)
  1737. {
  1738. If (LEqual (Arg0, 0x02))
  1739. {
  1740. Store (Arg1, REGF)
  1741. }
  1742. }
  1743. Name (TIM0, Package (0x04)
  1744. {
  1745. Package (0x05)
  1746. {
  1747. 0x78,
  1748. 0xB4,
  1749. 0xF0,
  1750. 0x017F,
  1751. 0x0258
  1752. },
  1753. Package (0x05)
  1754. {
  1755. 0x20,
  1756. 0x22,
  1757. 0x33,
  1758. 0x47,
  1759. 0x5D
  1760. },
  1761. Package (0x07)
  1762. {
  1763. 0x78,
  1764. 0x50,
  1765. 0x3C,
  1766. 0x2D,
  1767. 0x1E,
  1768. 0x14,
  1769. 0x0F
  1770. },
  1771. Package (0x0F)
  1772. {
  1773. 0x06,
  1774. 0x05,
  1775. 0x04,
  1776. 0x04,
  1777. 0x03,
  1778. 0x03,
  1779. 0x02,
  1780. 0x02,
  1781. 0x01,
  1782. 0x01,
  1783. 0x01,
  1784. 0x01,
  1785. 0x01,
  1786. 0x01,
  1787. 0x00
  1788. }
  1789. })
  1790. Name (TMD0, Buffer (0x14) {})
  1791. CreateDWordField (TMD0, 0x00, PIO0)
  1792. CreateDWordField (TMD0, 0x04, DMA0)
  1793. CreateDWordField (TMD0, 0x08, PIO1)
  1794. CreateDWordField (TMD0, 0x0C, DMA1)
  1795. CreateDWordField (TMD0, 0x10, CHNF)
  1796. Name (PMPT, 0x20)
  1797. Name (PMUE, 0x07)
  1798. Name (PMUT, 0x00)
  1799. Name (PSPT, 0x20)
  1800. Name (PSUE, 0x07)
  1801. Name (PSUT, 0x00)
  1802. Name (SMPT, 0x20)
  1803. Name (SMUE, 0x07)
  1804. Name (SMUT, 0x00)
  1805. Name (SSPT, 0x20)
  1806. Name (SSUE, 0x07)
  1807. Name (SSUT, 0x00)
  1808. Device (CHN0)
  1809. {
  1810. Name (_ADR, 0x00)
  1811. Method (_STA, 0, NotSerialized)
  1812. {
  1813. Return (0x0F)
  1814. }
  1815. Method (_GTM, 0, NotSerialized)
  1816. {
  1817. Return (GTM (PMPT, PMUE, PMUT, PSPT, PSUE, PSUT))
  1818. }
  1819. Method (_STM, 3, NotSerialized)
  1820. {
  1821. }
  1822. Device (DRV0)
  1823. {
  1824. Name (_ADR, 0x00)
  1825. Method (_GTF, 0, NotSerialized)
  1826. {
  1827. Return (Local0)
  1828. }
  1829. }
  1830. Device (DRV1)
  1831. {
  1832. Name (_ADR, 0x01)
  1833. Method (_GTM, 0, NotSerialized)
  1834. {
  1835. }
  1836. Method (_STM, 3, NotSerialized)
  1837. {
  1838. }
  1839. Method (_GTF, 0, NotSerialized)
  1840. {
  1841. Return (Local0)
  1842. }
  1843. }
  1844. }
  1845. Device (CHN1)
  1846. {
  1847. Name (_ADR, 0x01)
  1848. Method (_STA, 0, NotSerialized)
  1849. {
  1850. Return (0x0F)
  1851. }
  1852. Method (_GTM, 0, NotSerialized)
  1853. {
  1854. Return (GTM (SMPT, SMUE, SMUT, SSPT, SSUE, SSUT))
  1855. }
  1856. Method (_STM, 3, NotSerialized)
  1857. {
  1858. }
  1859. Device (DRV0)
  1860. {
  1861. Name (_ADR, 0x00)
  1862. Method (_GTF, 0, NotSerialized)
  1863. {
  1864. Return (Local0)
  1865. }
  1866. }
  1867. Device (DRV1)
  1868. {
  1869. Name (_ADR, 0x01)
  1870. Method (_GTM, 0, NotSerialized)
  1871. {
  1872. }
  1873. Method (_STM, 3, NotSerialized)
  1874. {
  1875. }
  1876. Method (_GTF, 0, NotSerialized)
  1877. {
  1878. Return (Local0)
  1879. }
  1880. }
  1881. }
  1882. Method (GTM, 6, Serialized)
  1883. {
  1884. Store (Ones, PIO0)
  1885. Store (Ones, PIO1)
  1886. Store (Ones, DMA0)
  1887. Store (Ones, DMA1)
  1888. Store (0x10, CHNF)
  1889. If (REGF) {}
  1890. Else
  1891. {
  1892. Return (TMD0)
  1893. }
  1894. Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR,
  1895. 0x00, 0x00), Local6)
  1896. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)),
  1897. Local7)
  1898. Store (Local7, DMA0)
  1899. Store (Local7, PIO0)
  1900. Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR,
  1901. 0x00, 0x00), Local6)
  1902. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)),
  1903. Local7)
  1904. Store (Local7, DMA1)
  1905. Store (Local7, PIO1)
  1906. If (Arg1)
  1907. {
  1908. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Arg2)),
  1909. Local5)
  1910. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local5)),
  1911. DMA0)
  1912. Or (CHNF, 0x01, CHNF)
  1913. }
  1914. If (Arg4)
  1915. {
  1916. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Arg5)),
  1917. Local5)
  1918. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local5)),
  1919. DMA1)
  1920. Or (CHNF, 0x04, CHNF)
  1921. }
  1922. Return (TMD0)
  1923. }
  1924. }
  1925. Device (PATA)
  1926. {
  1927. Method (_ADR, 0, NotSerialized)
  1928. {
  1929. If (LEqual (ATFL, 0x02))
  1930. {
  1931. Return (0x000F0000)
  1932. }
  1933. Else
  1934. {
  1935. Return (0x000F0001)
  1936. }
  1937. }
  1938. Name (REGF, 0x01)
  1939. Method (_STA, 0, NotSerialized)
  1940. {
  1941. If (LNotEqual (\_SB.PCI0.PATA.VID, 0x1106))
  1942. {
  1943. Return (0x00)
  1944. }
  1945. Else
  1946. {
  1947. PMEX ()
  1948. If (LEqual (\_SB.PCI0.PATA.CMDR, 0x00))
  1949. {
  1950. Return (0x0D)
  1951. }
  1952. Else
  1953. {
  1954. Return (0x0F)
  1955. }
  1956. }
  1957. }
  1958. Method (_REG, 2, NotSerialized)
  1959. {
  1960. If (LEqual (Arg0, 0x02))
  1961. {
  1962. Store (Arg1, REGF)
  1963. }
  1964. }
  1965. Name (TIM0, Package (0x07)
  1966. {
  1967. Package (0x05)
  1968. {
  1969. 0x78,
  1970. 0xB4,
  1971. 0xF0,
  1972. 0x017F,
  1973. 0x0258
  1974. },
  1975. Package (0x05)
  1976. {
  1977. 0x20,
  1978. 0x22,
  1979. 0x33,
  1980. 0x47,
  1981. 0x5D
  1982. },
  1983. Package (0x05)
  1984. {
  1985. 0x04,
  1986. 0x03,
  1987. 0x02,
  1988. 0x01,
  1989. 0x00
  1990. },
  1991. Package (0x04)
  1992. {
  1993. 0x02,
  1994. 0x01,
  1995. 0x00,
  1996. 0x00
  1997. },
  1998. Package (0x07)
  1999. {
  2000. 0x78,
  2001. 0x50,
  2002. 0x3C,
  2003. 0x2D,
  2004. 0x1E,
  2005. 0x14,
  2006. 0x0F
  2007. },
  2008. Package (0x0F)
  2009. {
  2010. 0x06,
  2011. 0x05,
  2012. 0x04,
  2013. 0x04,
  2014. 0x03,
  2015. 0x03,
  2016. 0x02,
  2017. 0x02,
  2018. 0x01,
  2019. 0x01,
  2020. 0x01,
  2021. 0x01,
  2022. 0x01,
  2023. 0x01,
  2024. 0x00
  2025. },
  2026. Package (0x07)
  2027. {
  2028. 0x0E,
  2029. 0x08,
  2030. 0x06,
  2031. 0x04,
  2032. 0x02,
  2033. 0x01,
  2034. 0x00
  2035. }
  2036. })
  2037. Name (TMD0, Buffer (0x14) {})
  2038. CreateDWordField (TMD0, 0x00, PIO0)
  2039. CreateDWordField (TMD0, 0x04, DMA0)
  2040. CreateDWordField (TMD0, 0x08, PIO1)
  2041. CreateDWordField (TMD0, 0x0C, DMA1)
  2042. CreateDWordField (TMD0, 0x10, CHNF)
  2043. OperationRegion (PAPR, PCI_Config, 0x00, 0xC2)
  2044. Field (PAPR, ByteAcc, NoLock, Preserve)
  2045. {
  2046. VID, 16,
  2047. Offset (0x04),
  2048. CMDR, 3,
  2049. Offset (0x09),
  2050. ENAT, 4,
  2051. Offset (0x3C),
  2052. IDEI, 8,
  2053. Offset (0x40),
  2054. ESCH, 1,
  2055. EPCH, 1,
  2056. Offset (0x48),
  2057. SSPT, 8,
  2058. SMPT, 8,
  2059. PSPT, 8,
  2060. PMPT, 8,
  2061. Offset (0x50),
  2062. SSUT, 4,
  2063. SSCT, 1,
  2064. SSUE, 3,
  2065. SMUT, 4,
  2066. SMCT, 1,
  2067. SMUE, 3,
  2068. PSUT, 4,
  2069. PSCT, 1,
  2070. PSUE, 3,
  2071. PMUT, 4,
  2072. PMCT, 1,
  2073. PMUE, 3
  2074. }
  2075. Name (GMPT, 0x00)
  2076. Name (GMUE, 0x00)
  2077. Name (GMUT, 0x00)
  2078. Name (GSPT, 0x00)
  2079. Name (GSUE, 0x00)
  2080. Name (GSUT, 0x00)
  2081. Device (CHN0)
  2082. {
  2083. Name (_ADR, 0x00)
  2084. Method (_STA, 0, NotSerialized)
  2085. {
  2086. If (LNotEqual (\_SB.PCI0.PATA.EPCH, 0x01))
  2087. {
  2088. Return (0x00)
  2089. }
  2090. Else
  2091. {
  2092. Return (0x0F)
  2093. }
  2094. }
  2095. Method (_GTM, 0, NotSerialized)
  2096. {
  2097. Return (GTM (PMPT, PMUE, PMUT, PSPT, PSUE, PSUT))
  2098. }
  2099. Method (_STM, 3, NotSerialized)
  2100. {
  2101. Store (Arg0, TMD0)
  2102. Store (PMPT, GMPT)
  2103. Store (PMUE, GMUE)
  2104. Store (PMUT, GMUT)
  2105. Store (PSPT, GSPT)
  2106. Store (PSUE, GSUE)
  2107. Store (PSUT, GSUT)
  2108. STM ()
  2109. Store (GMPT, PMPT)
  2110. Store (GMUE, PMUE)
  2111. Store (GMUT, PMUT)
  2112. Store (GSPT, PSPT)
  2113. Store (GSUE, PSUE)
  2114. Store (GSUT, PSUT)
  2115. }
  2116. Device (DRV0)
  2117. {
  2118. Name (_ADR, 0x00)
  2119. Method (_GTF, 0, NotSerialized)
  2120. {
  2121. Store (GTF (0x00, PMUE, PMUT, PMPT), Local0)
  2122. Return (Local0)
  2123. }
  2124. }
  2125. Device (DRV1)
  2126. {
  2127. Name (_ADR, 0x01)
  2128. Method (_GTF, 0, NotSerialized)
  2129. {
  2130. Store (GTF (0x01, PSUE, PSUT, PSPT), Local0)
  2131. Return (Local0)
  2132. }
  2133. }
  2134. }
  2135. Device (CHN1)
  2136. {
  2137. Name (_ADR, 0x01)
  2138. Method (_STA, 0, NotSerialized)
  2139. {
  2140. If (LNotEqual (\_SB.PCI0.PATA.ESCH, 0x01))
  2141. {
  2142. Return (0x00)
  2143. }
  2144. Else
  2145. {
  2146. Return (0x0F)
  2147. }
  2148. }
  2149. Method (_GTM, 0, NotSerialized)
  2150. {
  2151. Return (GTM (SMPT, SMUE, SMUT, SSPT, SSUE, SSUT))
  2152. }
  2153. Method (_STM, 3, NotSerialized)
  2154. {
  2155. Store (Arg0, TMD0)
  2156. Store (SMPT, GMPT)
  2157. Store (SMUE, GMUE)
  2158. Store (SMUT, GMUT)
  2159. Store (SSPT, GSPT)
  2160. Store (SSUE, GSUE)
  2161. Store (SSUT, GSUT)
  2162. STM ()
  2163. Store (GMPT, SMPT)
  2164. Store (GMUE, SMUE)
  2165. Store (GMUT, SMUT)
  2166. Store (GSPT, SSPT)
  2167. Store (GSUE, SSUE)
  2168. Store (GSUT, SSUT)
  2169. }
  2170. Device (DRV0)
  2171. {
  2172. Name (_ADR, 0x00)
  2173. Method (_GTF, 0, NotSerialized)
  2174. {
  2175. Store (GTF (0x02, SMUE, SMUT, SMPT), Local0)
  2176. Return (Local0)
  2177. }
  2178. }
  2179. Device (DRV1)
  2180. {
  2181. Name (_ADR, 0x01)
  2182. Method (_GTF, 0, NotSerialized)
  2183. {
  2184. Store (GTF (0x03, SSUE, SSUT, SSPT), Local0)
  2185. Return (Local0)
  2186. }
  2187. }
  2188. }
  2189. Method (PMEX, 0, Serialized)
  2190. {
  2191. If (REGF)
  2192. {
  2193. If (LEqual (PMPT, 0xA8))
  2194. {
  2195. Store (0x5D, PMPT)
  2196. }
  2197. If (LEqual (PMPT, 0x65))
  2198. {
  2199. Store (0x33, PMPT)
  2200. }
  2201. If (LEqual (PMPT, 0x31))
  2202. {
  2203. Store (0x22, PMPT)
  2204. }
  2205. If (LEqual (PSPT, 0xA8))
  2206. {
  2207. Store (0x5D, PSPT)
  2208. }
  2209. If (LEqual (PSPT, 0x65))
  2210. {
  2211. Store (0x33, PSPT)
  2212. }
  2213. If (LEqual (PSPT, 0x31))
  2214. {
  2215. Store (0x22, PSPT)
  2216. }
  2217. If (LEqual (SMPT, 0xA8))
  2218. {
  2219. Store (0x5D, SMPT)
  2220. }
  2221. If (LEqual (SMPT, 0x65))
  2222. {
  2223. Store (0x33, SMPT)
  2224. }
  2225. If (LEqual (SMPT, 0x31))
  2226. {
  2227. Store (0x22, SMPT)
  2228. }
  2229. If (LEqual (SSPT, 0xA8))
  2230. {
  2231. Store (0x5D, SSPT)
  2232. }
  2233. If (LEqual (SSPT, 0x65))
  2234. {
  2235. Store (0x33, SSPT)
  2236. }
  2237. If (LEqual (SSPT, 0x31))
  2238. {
  2239. Store (0x22, SSPT)
  2240. }
  2241. }
  2242. }
  2243. Method (GTF, 4, Serialized)
  2244. {
  2245. Store (Buffer (0x07)
  2246. {
  2247. 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
  2248. }, Local1)
  2249. Store (Buffer (0x07)
  2250. {
  2251. 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
  2252. }, Local2)
  2253. CreateByteField (Local1, 0x01, MODE)
  2254. CreateByteField (Local2, 0x01, UMOD)
  2255. CreateByteField (Local1, 0x05, PCHA)
  2256. CreateByteField (Local2, 0x05, UCHA)
  2257. And (Arg0, 0x03, Local3)
  2258. If (LEqual (And (Local3, 0x01), 0x01))
  2259. {
  2260. Store (0xB0, PCHA)
  2261. Store (0xB0, UCHA)
  2262. }
  2263. If (Arg1)
  2264. {
  2265. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg2)),
  2266. UMOD)
  2267. Or (UMOD, 0x40, UMOD)
  2268. }
  2269. Else
  2270. {
  2271. Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR,
  2272. 0x00, 0x00), Local0)
  2273. Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0
  2274. )), UMOD)
  2275. }
  2276. Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR,
  2277. 0x00, 0x00), Local0)
  2278. Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0
  2279. )), MODE)
  2280. Concatenate (Local1, Local2, Local6)
  2281. Return (Local6)
  2282. }
  2283. Method (GTM, 6, Serialized)
  2284. {
  2285. Store (Ones, PIO0)
  2286. Store (Ones, PIO1)
  2287. Store (Ones, DMA0)
  2288. Store (Ones, DMA1)
  2289. Store (0x10, CHNF)
  2290. If (REGF) {}
  2291. Else
  2292. {
  2293. Return (TMD0)
  2294. }
  2295. Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR,
  2296. 0x00, 0x00), Local6)
  2297. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)),
  2298. Local7)
  2299. Store (Local7, DMA0)
  2300. Store (Local7, PIO0)
  2301. Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR,
  2302. 0x00, 0x00), Local6)
  2303. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)),
  2304. Local7)
  2305. Store (Local7, DMA1)
  2306. Store (Local7, PIO1)
  2307. If (Arg1)
  2308. {
  2309. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg2)),
  2310. Local5)
  2311. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local5)),
  2312. DMA0)
  2313. Or (CHNF, 0x01, CHNF)
  2314. }
  2315. If (Arg4)
  2316. {
  2317. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg5)),
  2318. Local5)
  2319. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local5)),
  2320. DMA1)
  2321. Or (CHNF, 0x04, CHNF)
  2322. }
  2323. Return (TMD0)
  2324. }
  2325. Method (STM, 0, Serialized)
  2326. {
  2327. If (REGF) {}
  2328. Else
  2329. {
  2330. Return (TMD0)
  2331. }
  2332. Store (0x00, GMUE)
  2333. Store (0x00, GSUE)
  2334. Store (0x07, GMUT)
  2335. Store (0x07, GSUT)
  2336. If (And (CHNF, 0x01))
  2337. {
  2338. Store (Match (DerefOf (Index (TIM0, 0x04)), MLE, DMA0, MTR,
  2339. 0x00, 0x00), Local0)
  2340. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)),
  2341. GMUT)
  2342. Or (GMUE, 0x07, GMUE)
  2343. }
  2344. Else
  2345. {
  2346. If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00)))
  2347. {
  2348. If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00)))
  2349. {
  2350. Store (DMA0, PIO0)
  2351. }
  2352. }
  2353. }
  2354. If (And (CHNF, 0x04))
  2355. {
  2356. Store (Match (DerefOf (Index (TIM0, 0x04)), MLE, DMA1, MTR,
  2357. 0x00, 0x00), Local0)
  2358. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)),
  2359. GSUT)
  2360. Or (GSUE, 0x07, GSUE)
  2361. }
  2362. Else
  2363. {
  2364. If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00)))
  2365. {
  2366. If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00)))
  2367. {
  2368. Store (DMA1, PIO1)
  2369. }
  2370. }
  2371. }
  2372. And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR,
  2373. 0x00, 0x00), 0x03, Local0)
  2374. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)),
  2375. Local1)
  2376. Store (Local1, GMPT)
  2377. And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR,
  2378. 0x00, 0x00), 0x03, Local0)
  2379. Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)),
  2380. Local1)
  2381. Store (Local1, GSPT)
  2382. }
  2383. }
  2384. Device (USB1)
  2385. {
  2386. Name (_ADR, 0x00100000)
  2387. Name (_PRW, Package (0x02)
  2388. {
  2389. 0x0E,
  2390. 0x04
  2391. })
  2392. Method (_S3D, 0, NotSerialized)
  2393. {
  2394. If (LEqual (OSFL, 0x02))
  2395. {
  2396. Return (0x02)
  2397. }
  2398. Else
  2399. {
  2400. Return (0x03)
  2401. }
  2402. }
  2403. OperationRegion (U2F0, PCI_Config, 0x00, 0xC2)
  2404. Field (U2F0, ByteAcc, NoLock, Preserve)
  2405. {
  2406. VID, 16,
  2407. Offset (0x04),
  2408. CMDR, 3,
  2409. Offset (0x3C),
  2410. U3IR, 4,
  2411. Offset (0x84),
  2412. ECDX, 2
  2413. }
  2414. Method (_STA, 0, NotSerialized)
  2415. {
  2416. If (LNotEqual (\_SB.PCI0.USB1.VID, 0x1106))
  2417. {
  2418. Return (0x00)
  2419. }
  2420. Else
  2421. {
  2422. If (LEqual (\_SB.PCI0.USB1.CMDR, 0x00))
  2423. {
  2424. Return (0x0D)
  2425. }
  2426. Else
  2427. {
  2428. Return (0x0F)
  2429. }
  2430. }
  2431. }
  2432. }
  2433. Device (USB2)
  2434. {
  2435. Name (_ADR, 0x00100001)
  2436. Name (_PRW, Package (0x02)
  2437. {
  2438. 0x0E,
  2439. 0x04
  2440. })
  2441. Method (_S3D, 0, NotSerialized)
  2442. {
  2443. If (LEqual (OSFL, 0x02))
  2444. {
  2445. Return (0x02)
  2446. }
  2447. Else
  2448. {
  2449. Return (0x03)
  2450. }
  2451. }
  2452. OperationRegion (U2F1, PCI_Config, 0x00, 0xC2)
  2453. Field (U2F1, ByteAcc, NoLock, Preserve)
  2454. {
  2455. VID, 16,
  2456. Offset (0x04),
  2457. CMDR, 3,
  2458. Offset (0x3C),
  2459. U4IR, 4,
  2460. Offset (0x84),
  2461. ECDX, 2
  2462. }
  2463. Method (_STA, 0, NotSerialized)
  2464. {
  2465. If (LNotEqual (\_SB.PCI0.USB2.VID, 0x1106))
  2466. {
  2467. Return (0x00)
  2468. }
  2469. Else
  2470. {
  2471. If (LEqual (\_SB.PCI0.USB2.CMDR, 0x00))
  2472. {
  2473. Return (0x0D)
  2474. }
  2475. Else
  2476. {
  2477. Return (0x0F)
  2478. }
  2479. }
  2480. }
  2481. }
  2482. Device (USB3)
  2483. {
  2484. Name (_ADR, 0x00100002)
  2485. Name (_PRW, Package (0x02)
  2486. {
  2487. 0x0E,
  2488. 0x04
  2489. })
  2490. Method (_S3D, 0, NotSerialized)
  2491. {
  2492. If (LEqual (OSFL, 0x02))
  2493. {
  2494. Return (0x02)
  2495. }
  2496. Else
  2497. {
  2498. Return (0x03)
  2499. }
  2500. }
  2501. OperationRegion (U2F2, PCI_Config, 0x00, 0xC2)
  2502. Field (U2F2, ByteAcc, NoLock, Preserve)
  2503. {
  2504. VID, 16,
  2505. Offset (0x04),
  2506. CMDR, 3,
  2507. Offset (0x3C),
  2508. U5IR, 4,
  2509. Offset (0x84),
  2510. ECDX, 2
  2511. }
  2512. Method (_STA, 0, NotSerialized)
  2513. {
  2514. If (LNotEqual (\_SB.PCI0.USB3.VID, 0x1106))
  2515. {
  2516. Return (0x00)
  2517. }
  2518. Else
  2519. {
  2520. If (LEqual (\_SB.PCI0.USB3.CMDR, 0x00))
  2521. {
  2522. Return (0x0D)
  2523. }
  2524. Else
  2525. {
  2526. Return (0x0F)
  2527. }
  2528. }
  2529. }
  2530. }
  2531. Device (USB4)
  2532. {
  2533. Name (_ADR, 0x00100003)
  2534. Name (_PRW, Package (0x02)
  2535. {
  2536. 0x0E,
  2537. 0x04
  2538. })
  2539. Method (_S3D, 0, NotSerialized)
  2540. {
  2541. If (LEqual (OSFL, 0x02))
  2542. {
  2543. Return (0x02)
  2544. }
  2545. Else
  2546. {
  2547. Return (0x03)
  2548. }
  2549. }
  2550. OperationRegion (U2F3, PCI_Config, 0x00, 0xC2)
  2551. Field (U2F3, ByteAcc, NoLock, Preserve)
  2552. {
  2553. VID, 16,
  2554. Offset (0x04),
  2555. CMDR, 3,
  2556. Offset (0x3C),
  2557. U6IR, 4,
  2558. Offset (0x84),
  2559. ECDX, 2
  2560. }
  2561. Method (_STA, 0, NotSerialized)
  2562. {
  2563. If (LNotEqual (\_SB.PCI0.USB4.VID, 0x1106))
  2564. {
  2565. Return (0x00)
  2566. }
  2567. Else
  2568. {
  2569. If (LEqual (\_SB.PCI0.USB4.CMDR, 0x00))
  2570. {
  2571. Return (0x0D)
  2572. }
  2573. Else
  2574. {
  2575. Return (0x0F)
  2576. }
  2577. }
  2578. }
  2579. }
  2580. Device (EHCI)
  2581. {
  2582. Name (_ADR, 0x00100004)
  2583. Name (_PRW, Package (0x02)
  2584. {
  2585. 0x0E,
  2586. 0x04
  2587. })
  2588. Method (_S3D, 0, NotSerialized)
  2589. {
  2590. If (LEqual (OSFL, 0x02))
  2591. {
  2592. Return (0x02)
  2593. }
  2594. Else
  2595. {
  2596. Return (0x03)
  2597. }
  2598. }
  2599. OperationRegion (U2F4, PCI_Config, 0x00, 0xC2)
  2600. Field (U2F4, ByteAcc, NoLock, Preserve)
  2601. {
  2602. VID, 16,
  2603. Offset (0x04),
  2604. CMDR, 3,
  2605. Offset (0x3C),
  2606. U7IR, 4,
  2607. Offset (0x84),
  2608. ECDX, 2
  2609. }
  2610. Method (_STA, 0, NotSerialized)
  2611. {
  2612. If (LNotEqual (\_SB.PCI0.EHCI.VID, 0x1106))
  2613. {
  2614. Return (0x00)
  2615. }
  2616. Else
  2617. {
  2618. If (LEqual (\_SB.PCI0.EHCI.CMDR, 0x00))
  2619. {
  2620. Return (0x0D)
  2621. }
  2622. Else
  2623. {
  2624. Return (0x0F)
  2625. }
  2626. }
  2627. }
  2628. }
  2629. Device (LAN1)
  2630. {
  2631. Name (_ADR, 0x00120000)
  2632. Name (_PRW, Package (0x02)
  2633. {
  2634. 0x03,
  2635. 0x05
  2636. })
  2637. }
  2638. Device (APEX)
  2639. {
  2640. Name (_ADR, 0x05)
  2641. OperationRegion (PESC, PCI_Config, 0x00, 0x0100)
  2642. Field (PESC, ByteAcc, NoLock, Preserve)
  2643. {
  2644. Offset (0xA0),
  2645. , 5,
  2646. PEHP, 1,
  2647. PEPM, 1
  2648. }
  2649. Method (_STA, 0, NotSerialized)
  2650. {
  2651. Return (0x0B)
  2652. }
  2653. }
  2654. Device (PEXG)
  2655. {
  2656. Name (_ADR, 0x00020000)
  2657. OperationRegion (RPXG, PCI_Config, 0x00, 0x0100)
  2658. Field (RPXG, ByteAcc, NoLock, Preserve)
  2659. {
  2660. VID, 16,
  2661. Offset (0x04),
  2662. CMDR, 3,
  2663. Offset (0x19),
  2664. BUS2, 8
  2665. }
  2666. Method (_BBN, 0, NotSerialized)
  2667. {
  2668. Return (BUS2)
  2669. }
  2670. Method (_STA, 0, NotSerialized)
  2671. {
  2672. If (LNotEqual (\_SB.PCI0.PEXG.VID, 0x1106))
  2673. {
  2674. Return (0x00)
  2675. }
  2676. Else
  2677. {
  2678. If (LEqual (\_SB.PCI0.PEXG.CMDR, 0x00))
  2679. {
  2680. Return (0x0D)
  2681. }
  2682. Else
  2683. {
  2684. Return (0x0F)
  2685. }
  2686. }
  2687. }
  2688. Method (_PRW, 0, NotSerialized)
  2689. {
  2690. Return (Package (0x02)
  2691. {
  2692. 0x12,
  2693. 0x05
  2694. })
  2695. }
  2696. Name (PIC0, Package (0x04)
  2697. {
  2698. Package (0x04)
  2699. {
  2700. 0xFFFF,
  2701. 0x00,
  2702. \_SB.PCI0.LNK1,
  2703. 0x00
  2704. },
  2705. Package (0x04)
  2706. {
  2707. 0xFFFF,
  2708. 0x01,
  2709. \_SB.PCI0.LNK1,
  2710. 0x00
  2711. },
  2712. Package (0x04)
  2713. {
  2714. 0xFFFF,
  2715. 0x02,
  2716. \_SB.PCI0.LNK1,
  2717. 0x00
  2718. },
  2719. Package (0x04)
  2720. {
  2721. 0xFFFF,
  2722. 0x03,
  2723. \_SB.PCI0.LNK1,
  2724. 0x00
  2725. }
  2726. })
  2727. Name (API0, Package (0x04)
  2728. {
  2729. Package (0x04)
  2730. {
  2731. 0xFFFF,
  2732. 0x00,
  2733. 0x00,
  2734. 0x18
  2735. },
  2736. Package (0x04)
  2737. {
  2738. 0xFFFF,
  2739. 0x01,
  2740. 0x00,
  2741. 0x19
  2742. },
  2743. Package (0x04)
  2744. {
  2745. 0xFFFF,
  2746. 0x02,
  2747. 0x00,
  2748. 0x1A
  2749. },
  2750. Package (0x04)
  2751. {
  2752. 0xFFFF,
  2753. 0x03,
  2754. 0x00,
  2755. 0x1B
  2756. }
  2757. })
  2758. Method (_PRT, 0, NotSerialized)
  2759. {
  2760. If (LNot (PICF))
  2761. {
  2762. Return (PIC0)
  2763. }
  2764. Else
  2765. {
  2766. Return (API0)
  2767. }
  2768. }
  2769. Device (S0F0)
  2770. {
  2771. Name (_ADR, 0x00)
  2772. Name (_SUN, 0x00)
  2773. }
  2774. Device (S0F1)
  2775. {
  2776. Name (_ADR, 0x01)
  2777. Name (_SUN, 0x00)
  2778. }
  2779. Device (S0F2)
  2780. {
  2781. Name (_ADR, 0x02)
  2782. Name (_SUN, 0x00)
  2783. }
  2784. Device (S0F3)
  2785. {
  2786. Name (_ADR, 0x03)
  2787. Name (_SUN, 0x00)
  2788. }
  2789. Device (S0F4)
  2790. {
  2791. Name (_ADR, 0x04)
  2792. Name (_SUN, 0x00)
  2793. }
  2794. Device (S0F5)
  2795. {
  2796. Name (_ADR, 0x05)
  2797. Name (_SUN, 0x00)
  2798. }
  2799. Device (S0F6)
  2800. {
  2801. Name (_ADR, 0x06)
  2802. Name (_SUN, 0x00)
  2803. }
  2804. Device (S0F7)
  2805. {
  2806. Name (_ADR, 0x07)
  2807. Name (_SUN, 0x00)
  2808. }
  2809. }
  2810. Device (PEX0)
  2811. {
  2812. Name (_ADR, 0x00030000)
  2813. OperationRegion (RPX0, PCI_Config, 0x00, 0x0100)
  2814. Field (RPX0, ByteAcc, NoLock, Preserve)
  2815. {
  2816. VID, 16,
  2817. Offset (0x04),
  2818. CMDR, 3,
  2819. Offset (0x19),
  2820. BUS3, 8
  2821. }
  2822. Method (_BBN, 0, NotSerialized)
  2823. {
  2824. Return (BUS3)
  2825. }
  2826. Method (_STA, 0, NotSerialized)
  2827. {
  2828. If (LNotEqual (\_SB.PCI0.PEX0.VID, 0x1106))
  2829. {
  2830. Return (0x00)
  2831. }
  2832. Else
  2833. {
  2834. If (LEqual (\_SB.PCI0.PEX0.CMDR, 0x00))
  2835. {
  2836. Return (0x0D)
  2837. }
  2838. Else
  2839. {
  2840. Return (0x0F)
  2841. }
  2842. }
  2843. }
  2844. Method (_PRW, 0, NotSerialized)
  2845. {
  2846. Return (Package (0x02)
  2847. {
  2848. 0x12,
  2849. 0x05
  2850. })
  2851. }
  2852. Name (PIC1, Package (0x04)
  2853. {
  2854. Package (0x04)
  2855. {
  2856. 0xFFFF,
  2857. 0x00,
  2858. \_SB.PCI0.LNK1,
  2859. 0x00
  2860. },
  2861. Package (0x04)
  2862. {
  2863. 0xFFFF,
  2864. 0x01,
  2865. \_SB.PCI0.LNK1,
  2866. 0x00
  2867. },
  2868. Package (0x04)
  2869. {
  2870. 0xFFFF,
  2871. 0x02,
  2872. \_SB.PCI0.LNK1,
  2873. 0x00
  2874. },
  2875. Package (0x04)
  2876. {
  2877. 0xFFFF,
  2878. 0x03,
  2879. \_SB.PCI0.LNK1,
  2880. 0x00
  2881. }
  2882. })
  2883. Name (API1, Package (0x04)
  2884. {
  2885. Package (0x04)
  2886. {
  2887. 0xFFFF,
  2888. 0x00,
  2889. 0x00,
  2890. 0x1C
  2891. },
  2892. Package (0x04)
  2893. {
  2894. 0xFFFF,
  2895. 0x01,
  2896. 0x00,
  2897. 0x1D
  2898. },
  2899. Package (0x04)
  2900. {
  2901. 0xFFFF,
  2902. 0x02,
  2903. 0x00,
  2904. 0x1E
  2905. },
  2906. Package (0x04)
  2907. {
  2908. 0xFFFF,
  2909. 0x03,
  2910. 0x00,
  2911. 0x1F
  2912. }
  2913. })
  2914. Method (_PRT, 0, NotSerialized)
  2915. {
  2916. If (LNot (PICF))
  2917. {
  2918. Return (PIC1)
  2919. }
  2920. Else
  2921. {
  2922. Return (API1)
  2923. }
  2924. }
  2925. Device (S1F0)
  2926. {
  2927. Name (_ADR, 0x00)
  2928. Name (_SUN, 0x01)
  2929. }
  2930. Device (S1F1)
  2931. {
  2932. Name (_ADR, 0x01)
  2933. Name (_SUN, 0x01)
  2934. }
  2935. Device (S1F2)
  2936. {
  2937. Name (_ADR, 0x02)
  2938. Name (_SUN, 0x01)
  2939. }
  2940. Device (S1F3)
  2941. {
  2942. Name (_ADR, 0x03)
  2943. Name (_SUN, 0x01)
  2944. }
  2945. Device (S1F4)
  2946. {
  2947. Name (_ADR, 0x04)
  2948. Name (_SUN, 0x01)
  2949. }
  2950. Device (S1F5)
  2951. {
  2952. Name (_ADR, 0x05)
  2953. Name (_SUN, 0x01)
  2954. }
  2955. Device (S1F6)
  2956. {
  2957. Name (_ADR, 0x06)
  2958. Name (_SUN, 0x01)
  2959. }
  2960. Device (S1F7)
  2961. {
  2962. Name (_ADR, 0x07)
  2963. Name (_SUN, 0x01)
  2964. }
  2965. }
  2966. Device (PEX1)
  2967. {
  2968. Name (_ADR, 0x00030001)
  2969. OperationRegion (RPX1, PCI_Config, 0x00, 0x0100)
  2970. Field (RPX1, ByteAcc, NoLock, Preserve)
  2971. {
  2972. VID, 16,
  2973. Offset (0x04),
  2974. CMDR, 3
  2975. }
  2976. Method (_STA, 0, NotSerialized)
  2977. {
  2978. If (LNotEqual (\_SB.PCI0.PEX1.VID, 0x1106))
  2979. {
  2980. Return (0x00)
  2981. }
  2982. Else
  2983. {
  2984. If (LEqual (\_SB.PCI0.PEX1.CMDR, 0x00))
  2985. {
  2986. Return (0x0D)
  2987. }
  2988. Else
  2989. {
  2990. Return (0x0F)
  2991. }
  2992. }
  2993. }
  2994. Method (_PRW, 0, NotSerialized)
  2995. {
  2996. Return (Package (0x02)
  2997. {
  2998. 0x12,
  2999. 0x05
  3000. })
  3001. }
  3002. Name (PIC2, Package (0x04)
  3003. {
  3004. Package (0x04)
  3005. {
  3006. 0xFFFF,
  3007. 0x00,
  3008. \_SB.PCI0.LNK1,
  3009. 0x00
  3010. },
  3011. Package (0x04)
  3012. {
  3013. 0xFFFF,
  3014. 0x01,
  3015. \_SB.PCI0.LNK1,
  3016. 0x00
  3017. },
  3018. Package (0x04)
  3019. {
  3020. 0xFFFF,
  3021. 0x02,
  3022. \_SB.PCI0.LNK1,
  3023. 0x00
  3024. },
  3025. Package (0x04)
  3026. {
  3027. 0xFFFF,
  3028. 0x03,
  3029. \_SB.PCI0.LNK1,
  3030. 0x00
  3031. }
  3032. })
  3033. Name (API2, Package (0x04)
  3034. {
  3035. Package (0x04)
  3036. {
  3037. 0xFFFF,
  3038. 0x00,
  3039. 0x00,
  3040. 0x20
  3041. },
  3042. Package (0x04)
  3043. {
  3044. 0xFFFF,
  3045. 0x01,
  3046. 0x00,
  3047. 0x21
  3048. },
  3049. Package (0x04)
  3050. {
  3051. 0xFFFF,
  3052. 0x02,
  3053. 0x00,
  3054. 0x22
  3055. },
  3056. Package (0x04)
  3057. {
  3058. 0xFFFF,
  3059. 0x03,
  3060. 0x00,
  3061. 0x23
  3062. }
  3063. })
  3064. Method (_PRT, 0, NotSerialized)
  3065. {
  3066. If (LNot (PICF))
  3067. {
  3068. Return (PIC2)
  3069. }
  3070. Else
  3071. {
  3072. Return (API2)
  3073. }
  3074. }
  3075. Device (S2F0)
  3076. {
  3077. Name (_ADR, 0x00)
  3078. Name (_SUN, 0x02)
  3079. }
  3080. Device (S2F1)
  3081. {
  3082. Name (_ADR, 0x01)
  3083. Name (_SUN, 0x02)
  3084. }
  3085. Device (S2F2)
  3086. {
  3087. Name (_ADR, 0x02)
  3088. Name (_SUN, 0x02)
  3089. }
  3090. Device (S2F3)
  3091. {
  3092. Name (_ADR, 0x03)
  3093. Name (_SUN, 0x02)
  3094. }
  3095. Device (S2F4)
  3096. {
  3097. Name (_ADR, 0x04)
  3098. Name (_SUN, 0x02)
  3099. }
  3100. Device (S2F5)
  3101. {
  3102. Name (_ADR, 0x05)
  3103. Name (_SUN, 0x02)
  3104. }
  3105. Device (S2F6)
  3106. {
  3107. Name (_ADR, 0x06)
  3108. Name (_SUN, 0x02)
  3109. }
  3110. Device (S2F7)
  3111. {
  3112. Name (_ADR, 0x07)
  3113. Name (_SUN, 0x02)
  3114. }
  3115. }
  3116. Device (PEX2)
  3117. {
  3118. Name (_ADR, 0x00030002)
  3119. OperationRegion (RPX2, PCI_Config, 0x00, 0x0100)
  3120. Field (RPX2, ByteAcc, NoLock, Preserve)
  3121. {
  3122. VID, 16,
  3123. Offset (0x04),
  3124. CMDR, 3
  3125. }
  3126. Method (_STA, 0, NotSerialized)
  3127. {
  3128. If (LNotEqual (\_SB.PCI0.PEX2.VID, 0x1106))
  3129. {
  3130. Return (0x00)
  3131. }
  3132. Else
  3133. {
  3134. If (LEqual (\_SB.PCI0.PEX2.CMDR, 0x00))
  3135. {
  3136. Return (0x0D)
  3137. }
  3138. Else
  3139. {
  3140. Return (0x0F)
  3141. }
  3142. }
  3143. }
  3144. Method (_PRW, 0, NotSerialized)
  3145. {
  3146. Return (Package (0x02)
  3147. {
  3148. 0x12,
  3149. 0x05
  3150. })
  3151. }
  3152. Name (PIC3, Package (0x04)
  3153. {
  3154. Package (0x04)
  3155. {
  3156. 0xFFFF,
  3157. 0x00,
  3158. \_SB.PCI0.LNK1,
  3159. 0x00
  3160. },
  3161. Package (0x04)
  3162. {
  3163. 0xFFFF,
  3164. 0x01,
  3165. \_SB.PCI0.LNK1,
  3166. 0x00
  3167. },
  3168. Package (0x04)
  3169. {
  3170. 0xFFFF,
  3171. 0x02,
  3172. \_SB.PCI0.LNK1,
  3173. 0x00
  3174. },
  3175. Package (0x04)
  3176. {
  3177. 0xFFFF,
  3178. 0x03,
  3179. \_SB.PCI0.LNK1,
  3180. 0x00
  3181. }
  3182. })
  3183. Name (API3, Package (0x04)
  3184. {
  3185. Package (0x04)
  3186. {
  3187. 0xFFFF,
  3188. 0x00,
  3189. 0x00,
  3190. 0x24
  3191. },
  3192. Package (0x04)
  3193. {
  3194. 0xFFFF,
  3195. 0x01,
  3196. 0x00,
  3197. 0x25
  3198. },
  3199. Package (0x04)
  3200. {
  3201. 0xFFFF,
  3202. 0x02,
  3203. 0x00,
  3204. 0x26
  3205. },
  3206. Package (0x04)
  3207. {
  3208. 0xFFFF,
  3209. 0x03,
  3210. 0x00,
  3211. 0x27
  3212. }
  3213. })
  3214. Method (_PRT, 0, NotSerialized)
  3215. {
  3216. If (LNot (PICF))
  3217. {
  3218. Return (PIC3)
  3219. }
  3220. Else
  3221. {
  3222. Return (API3)
  3223. }
  3224. }
  3225. Device (S3F0)
  3226. {
  3227. Name (_ADR, 0x00)
  3228. Name (_SUN, 0x03)
  3229. }
  3230. Device (S3F1)
  3231. {
  3232. Name (_ADR, 0x01)
  3233. Name (_SUN, 0x03)
  3234. }
  3235. Device (S3F2)
  3236. {
  3237. Name (_ADR, 0x02)
  3238. Name (_SUN, 0x03)
  3239. }
  3240. Device (S3F3)
  3241. {
  3242. Name (_ADR, 0x03)
  3243. Name (_SUN, 0x03)
  3244. }
  3245. Device (S3F4)
  3246. {
  3247. Name (_ADR, 0x04)
  3248. Name (_SUN, 0x03)
  3249. }
  3250. Device (S3F5)
  3251. {
  3252. Name (_ADR, 0x05)
  3253. Name (_SUN, 0x03)
  3254. }
  3255. Device (S3F6)
  3256. {
  3257. Name (_ADR, 0x06)
  3258. Name (_SUN, 0x03)
  3259. }
  3260. Device (S3F7)
  3261. {
  3262. Name (_ADR, 0x07)
  3263. Name (_SUN, 0x03)
  3264. }
  3265. }
  3266. Device (PEX3)
  3267. {
  3268. Name (_ADR, 0x00030003)
  3269. OperationRegion (RPX3, PCI_Config, 0x00, 0x0100)
  3270. Field (RPX3, ByteAcc, NoLock, Preserve)
  3271. {
  3272. VID, 16,
  3273. Offset (0x04),
  3274. CMDR, 3
  3275. }
  3276. Method (_STA, 0, NotSerialized)
  3277. {
  3278. If (LNotEqual (\_SB.PCI0.PEX3.VID, 0x1106))
  3279. {
  3280. Return (0x00)
  3281. }
  3282. Else
  3283. {
  3284. If (LEqual (\_SB.PCI0.PEX3.CMDR, 0x00))
  3285. {
  3286. Return (0x0D)
  3287. }
  3288. Else
  3289. {
  3290. Return (0x0F)
  3291. }
  3292. }
  3293. }
  3294. Method (_PRW, 0, NotSerialized)
  3295. {
  3296. Return (Package (0x02)
  3297. {
  3298. 0x12,
  3299. 0x05
  3300. })
  3301. }
  3302. Name (PIC4, Package (0x04)
  3303. {
  3304. Package (0x04)
  3305. {
  3306. 0xFFFF,
  3307. 0x00,
  3308. \_SB.PCI0.LNK1,
  3309. 0x00
  3310. },
  3311. Package (0x04)
  3312. {
  3313. 0xFFFF,
  3314. 0x01,
  3315. \_SB.PCI0.LNK1,
  3316. 0x00
  3317. },
  3318. Package (0x04)
  3319. {
  3320. 0xFFFF,
  3321. 0x02,
  3322. \_SB.PCI0.LNK1,
  3323. 0x00
  3324. },
  3325. Package (0x04)
  3326. {
  3327. 0xFFFF,
  3328. 0x03,
  3329. \_SB.PCI0.LNK1,
  3330. 0x00
  3331. }
  3332. })
  3333. Name (API4, Package (0x04)
  3334. {
  3335. Package (0x04)
  3336. {
  3337. 0xFFFF,
  3338. 0x00,
  3339. 0x00,
  3340. 0x28
  3341. },
  3342. Package (0x04)
  3343. {
  3344. 0xFFFF,
  3345. 0x01,
  3346. 0x00,
  3347. 0x29
  3348. },
  3349. Package (0x04)
  3350. {
  3351. 0xFFFF,
  3352. 0x02,
  3353. 0x00,
  3354. 0x2A
  3355. },
  3356. Package (0x04)
  3357. {
  3358. 0xFFFF,
  3359. 0x03,
  3360. 0x00,
  3361. 0x2B
  3362. }
  3363. })
  3364. Method (_PRT, 0, NotSerialized)
  3365. {
  3366. If (LNot (PICF))
  3367. {
  3368. Return (PIC4)
  3369. }
  3370. Else
  3371. {
  3372. Return (API4)
  3373. }
  3374. }
  3375. Device (S4F0)
  3376. {
  3377. Name (_ADR, 0x00)
  3378. Name (_SUN, 0x04)
  3379. }
  3380. Device (S4F1)
  3381. {
  3382. Name (_ADR, 0x01)
  3383. Name (_SUN, 0x04)
  3384. }
  3385. Device (S4F2)
  3386. {
  3387. Name (_ADR, 0x02)
  3388. Name (_SUN, 0x04)
  3389. }
  3390. Device (S4F3)
  3391. {
  3392. Name (_ADR, 0x03)
  3393. Name (_SUN, 0x04)
  3394. }
  3395. Device (S4F4)
  3396. {
  3397. Name (_ADR, 0x04)
  3398. Name (_SUN, 0x04)
  3399. }
  3400. Device (S4F5)
  3401. {
  3402. Name (_ADR, 0x05)
  3403. Name (_SUN, 0x04)
  3404. }
  3405. Device (S4F6)
  3406. {
  3407. Name (_ADR, 0x06)
  3408. Name (_SUN, 0x04)
  3409. }
  3410. Device (S4F7)
  3411. {
  3412. Name (_ADR, 0x07)
  3413. Name (_SUN, 0x04)
  3414. }
  3415. }
  3416. Device (P2PE)
  3417. {
  3418. Name (_ADR, 0x00130000)
  3419. OperationRegion (P2ER, PCI_Config, 0x00, 0x0100)
  3420. Field (P2ER, ByteAcc, NoLock, Preserve)
  3421. {
  3422. VID, 16,
  3423. Offset (0x0A),
  3424. SCLS, 8,
  3425. Offset (0x20),
  3426. SBAS, 16,
  3427. SLIM, 16
  3428. }
  3429. Method (_STA, 0, NotSerialized)
  3430. {
  3431. If (LNotEqual (\_SB.PCI0.P2PE.SCLS, 0x04))
  3432. {
  3433. Return (0x00)
  3434. }
  3435. Else
  3436. {
  3437. Return (0x0F)
  3438. }
  3439. }
  3440. Name (PICE, Package (0x08)
  3441. {
  3442. Package (0x04)
  3443. {
  3444. 0xFFFF,
  3445. 0x00,
  3446. \_SB.PCI0.LNKD,
  3447. 0x00
  3448. },
  3449. Package (0x04)
  3450. {
  3451. 0xFFFF,
  3452. 0x01,
  3453. \_SB.PCI0.LNKD,
  3454. 0x00
  3455. },
  3456. Package (0x04)
  3457. {
  3458. 0xFFFF,
  3459. 0x02,
  3460. \_SB.PCI0.LNKD,
  3461. 0x00
  3462. },
  3463. Package (0x04)
  3464. {
  3465. 0xFFFF,
  3466. 0x03,
  3467. \_SB.PCI0.LNKD,
  3468. 0x00
  3469. },
  3470. Package (0x04)
  3471. {
  3472. 0x0001FFFF,
  3473. 0x00,
  3474. \_SB.PCI0.LNKB,
  3475. 0x00
  3476. },
  3477. Package (0x04)
  3478. {
  3479. 0x0001FFFF,
  3480. 0x01,
  3481. \_SB.PCI0.LNKB,
  3482. 0x00
  3483. },
  3484. Package (0x04)
  3485. {
  3486. 0x0001FFFF,
  3487. 0x02,
  3488. \_SB.PCI0.LNKB,
  3489. 0x00
  3490. },
  3491. Package (0x04)
  3492. {
  3493. 0x0001FFFF,
  3494. 0x03,
  3495. \_SB.PCI0.LNKB,
  3496. 0x00
  3497. }
  3498. })
  3499. Name (APIE, Package (0x08)
  3500. {
  3501. Package (0x04)
  3502. {
  3503. 0xFFFF,
  3504. 0x00,
  3505. 0x00,
  3506. 0x14
  3507. },
  3508. Package (0x04)
  3509. {
  3510. 0xFFFF,
  3511. 0x01,
  3512. 0x00,
  3513. 0x15
  3514. },
  3515. Package (0x04)
  3516. {
  3517. 0xFFFF,
  3518. 0x02,
  3519. 0x00,
  3520. 0x16
  3521. },
  3522. Package (0x04)
  3523. {
  3524. 0xFFFF,
  3525. 0x03,
  3526. 0x00,
  3527. 0x17
  3528. },
  3529. Package (0x04)
  3530. {
  3531. 0x0001FFFF,
  3532. 0x00,
  3533. 0x00,
  3534. 0x11
  3535. },
  3536. Package (0x04)
  3537. {
  3538. 0x0001FFFF,
  3539. 0x01,
  3540. 0x00,
  3541. 0x11
  3542. },
  3543. Package (0x04)
  3544. {
  3545. 0x0001FFFF,
  3546. 0x02,
  3547. 0x00,
  3548. 0x11
  3549. },
  3550. Package (0x04)
  3551. {
  3552. 0x0001FFFF,
  3553. 0x03,
  3554. 0x00,
  3555. 0x11
  3556. }
  3557. })
  3558. Method (_PRT, 0, NotSerialized)
  3559. {
  3560. If (LNot (PICF))
  3561. {
  3562. Return (PICE)
  3563. }
  3564. Else
  3565. {
  3566. Return (APIE)
  3567. }
  3568. }
  3569. Device (SBRC)
  3570. {
  3571. Name (_HID, EisaId ("PNP0C02"))
  3572. Name (_UID, 0x77)
  3573. Method (_CRS, 0, NotSerialized)
  3574. {
  3575. Name (BUF0, ResourceTemplate ()
  3576. {
  3577. Memory32Fixed (ReadWrite,
  3578. 0x10000000, // Address Base
  3579. 0x00001000, // Address Length
  3580. )
  3581. })
  3582. Return (BUF0)
  3583. }
  3584. }
  3585. Device (PE5C)
  3586. {
  3587. Name (_ADR, 0x00)
  3588. OperationRegion (PE5R, PCI_Config, 0x00, 0x0100)
  3589. Field (PE5R, ByteAcc, NoLock, Preserve)
  3590. {
  3591. VID, 16,
  3592. Offset (0x04),
  3593. CMDR, 3
  3594. }
  3595. Method (_STA, 0, NotSerialized)
  3596. {
  3597. If (LNotEqual (\_SB.PCI0.P2PE.PE5C.VID, 0x1106))
  3598. {
  3599. Return (0x00)
  3600. }
  3601. Else
  3602. {
  3603. If (LEqual (\_SB.PCI0.P2PE.PE5C.CMDR, 0x00))
  3604. {
  3605. Return (0x0D)
  3606. }
  3607. Else
  3608. {
  3609. Return (0x0F)
  3610. }
  3611. }
  3612. }
  3613. Method (_PRW, 0, NotSerialized)
  3614. {
  3615. Return (Package (0x02)
  3616. {
  3617. 0x12,
  3618. 0x05
  3619. })
  3620. }
  3621. Name (PIC5, Package (0x04)
  3622. {
  3623. Package (0x04)
  3624. {
  3625. 0xFFFF,
  3626. 0x00,
  3627. \_SB.PCI0.LNKA,
  3628. 0x00
  3629. },
  3630. Package (0x04)
  3631. {
  3632. 0xFFFF,
  3633. 0x01,
  3634. \_SB.PCI0.LNKB,
  3635. 0x00
  3636. },
  3637. Package (0x04)
  3638. {
  3639. 0xFFFF,
  3640. 0x02,
  3641. \_SB.PCI0.LNKC,
  3642. 0x00
  3643. },
  3644. Package (0x04)
  3645. {
  3646. 0xFFFF,
  3647. 0x03,
  3648. \_SB.PCI0.LNKD,
  3649. 0x00
  3650. }
  3651. })
  3652. Name (API5, Package (0x04)
  3653. {
  3654. Package (0x04)
  3655. {
  3656. 0xFFFF,
  3657. 0x00,
  3658. 0x00,
  3659. 0x10
  3660. },
  3661. Package (0x04)
  3662. {
  3663. 0xFFFF,
  3664. 0x01,
  3665. 0x00,
  3666. 0x11
  3667. },
  3668. Package (0x04)
  3669. {
  3670. 0xFFFF,
  3671. 0x02,
  3672. 0x00,
  3673. 0x12
  3674. },
  3675. Package (0x04)
  3676. {
  3677. 0xFFFF,
  3678. 0x03,
  3679. 0x00,
  3680. 0x13
  3681. }
  3682. })
  3683. Method (_PRT, 0, NotSerialized)
  3684. {
  3685. If (LNot (PICF))
  3686. {
  3687. Return (PIC5)
  3688. }
  3689. Else
  3690. {
  3691. Return (API5)
  3692. }
  3693. }
  3694. Device (S5F0)
  3695. {
  3696. Name (_ADR, 0x00)
  3697. Name (_SUN, 0x05)
  3698. }
  3699. Device (S5F1)
  3700. {
  3701. Name (_ADR, 0x01)
  3702. Name (_SUN, 0x05)
  3703. }
  3704. Device (S5F2)
  3705. {
  3706. Name (_ADR, 0x02)
  3707. Name (_SUN, 0x05)
  3708. }
  3709. Device (S5F3)
  3710. {
  3711. Name (_ADR, 0x03)
  3712. Name (_SUN, 0x05)
  3713. }
  3714. Device (S5F4)
  3715. {
  3716. Name (_ADR, 0x04)
  3717. Name (_SUN, 0x05)
  3718. }
  3719. Device (S5F5)
  3720. {
  3721. Name (_ADR, 0x05)
  3722. Name (_SUN, 0x05)
  3723. }
  3724. Device (S5F6)
  3725. {
  3726. Name (_ADR, 0x06)
  3727. Name (_SUN, 0x05)
  3728. }
  3729. Device (S5F7)
  3730. {
  3731. Name (_ADR, 0x07)
  3732. Name (_SUN, 0x05)
  3733. }
  3734. }
  3735. Device (PE6C)
  3736. {
  3737. Name (_ADR, 0x01)
  3738. OperationRegion (PE6R, PCI_Config, 0x00, 0x0100)
  3739. Field (PE6R, ByteAcc, NoLock, Preserve)
  3740. {
  3741. VID, 16,
  3742. Offset (0x04),
  3743. CMDR, 3
  3744. }
  3745. Method (_STA, 0, NotSerialized)
  3746. {
  3747. If (LNotEqual (\_SB.PCI0.P2PE.PE6C.VID, 0x1106))
  3748. {
  3749. Return (0x00)
  3750. }
  3751. Else
  3752. {
  3753. If (LEqual (\_SB.PCI0.P2PE.PE6C.CMDR, 0x00))
  3754. {
  3755. Return (0x0D)
  3756. }
  3757. Else
  3758. {
  3759. Return (0x0F)
  3760. }
  3761. }
  3762. }
  3763. Method (_PRW, 0, NotSerialized)
  3764. {
  3765. Return (Package (0x02)
  3766. {
  3767. 0x12,
  3768. 0x05
  3769. })
  3770. }
  3771. Name (PIC6, Package (0x04)
  3772. {
  3773. Package (0x04)
  3774. {
  3775. 0xFFFF,
  3776. 0x00,
  3777. \_SB.PCI0.LNKA,
  3778. 0x00
  3779. },
  3780. Package (0x04)
  3781. {
  3782. 0xFFFF,
  3783. 0x01,
  3784. \_SB.PCI0.LNKB,
  3785. 0x00
  3786. },
  3787. Package (0x04)
  3788. {
  3789. 0xFFFF,
  3790. 0x02,
  3791. \_SB.PCI0.LNKC,
  3792. 0x00
  3793. },
  3794. Package (0x04)
  3795. {
  3796. 0xFFFF,
  3797. 0x03,
  3798. \_SB.PCI0.LNKD,
  3799. 0x00
  3800. }
  3801. })
  3802. Name (API6, Package (0x04)
  3803. {
  3804. Package (0x04)
  3805. {
  3806. 0xFFFF,
  3807. 0x00,
  3808. 0x00,
  3809. 0x10
  3810. },
  3811. Package (0x04)
  3812. {
  3813. 0xFFFF,
  3814. 0x01,
  3815. 0x00,
  3816. 0x11
  3817. },
  3818. Package (0x04)
  3819. {
  3820. 0xFFFF,
  3821. 0x02,
  3822. 0x00,
  3823. 0x12
  3824. },
  3825. Package (0x04)
  3826. {
  3827. 0xFFFF,
  3828. 0x03,
  3829. 0x00,
  3830. 0x13
  3831. }
  3832. })
  3833. Method (_PRT, 0, NotSerialized)
  3834. {
  3835. If (LNot (PICF))
  3836. {
  3837. Return (PIC6)
  3838. }
  3839. Else
  3840. {
  3841. Return (API6)
  3842. }
  3843. }
  3844. Device (S6F0)
  3845. {
  3846. Name (_ADR, 0x00)
  3847. Name (_SUN, 0x06)
  3848. }
  3849. Device (S6F1)
  3850. {
  3851. Name (_ADR, 0x01)
  3852. Name (_SUN, 0x06)
  3853. }
  3854. Device (S6F2)
  3855. {
  3856. Name (_ADR, 0x02)
  3857. Name (_SUN, 0x06)
  3858. }
  3859. Device (S6F3)
  3860. {
  3861. Name (_ADR, 0x03)
  3862. Name (_SUN, 0x06)
  3863. }
  3864. Device (S6F4)
  3865. {
  3866. Name (_ADR, 0x04)
  3867. Name (_SUN, 0x06)
  3868. }
  3869. Device (S6F5)
  3870. {
  3871. Name (_ADR, 0x05)
  3872. Name (_SUN, 0x06)
  3873. }
  3874. Device (S6F6)
  3875. {
  3876. Name (_ADR, 0x06)
  3877. Name (_SUN, 0x06)
  3878. }
  3879. Device (S6F7)
  3880. {
  3881. Name (_ADR, 0x07)
  3882. Name (_SUN, 0x06)
  3883. }
  3884. }
  3885. Device (AZAC)
  3886. {
  3887. Name (_ADR, 0x00010000)
  3888. OperationRegion (AZAR, PCI_Config, 0x00, 0x0100)
  3889. Field (AZAR, ByteAcc, NoLock, Preserve)
  3890. {
  3891. VID, 16,
  3892. Offset (0x04),
  3893. CMDR, 3
  3894. }
  3895. Method (_STA, 0, NotSerialized)
  3896. {
  3897. If (LNotEqual (\_SB.PCI0.P2PE.AZAC.VID, 0x1106))
  3898. {
  3899. Return (0x00)
  3900. }
  3901. Else
  3902. {
  3903. If (LEqual (\_SB.PCI0.P2PE.AZAC.CMDR, 0x00))
  3904. {
  3905. Return (0x0D)
  3906. }
  3907. Else
  3908. {
  3909. Return (0x0F)
  3910. }
  3911. }
  3912. }
  3913. Method (_PRW, 0, NotSerialized)
  3914. {
  3915. Return (Package (0x02)
  3916. {
  3917. 0x0D,
  3918. 0x05
  3919. })
  3920. }
  3921. }
  3922. }
  3923. Device (P2PB)
  3924. {
  3925. Name (_ADR, 0x00130001)
  3926. OperationRegion (P2PR, PCI_Config, 0x00, 0x0100)
  3927. Field (P2PR, ByteAcc, NoLock, Preserve)
  3928. {
  3929. VID, 16
  3930. }
  3931. Method (_STA, 0, NotSerialized)
  3932. {
  3933. If (LNotEqual (\_SB.PCI0.P2PB.VID, 0x1106))
  3934. {
  3935. Return (0x00)
  3936. }
  3937. Else
  3938. {
  3939. Return (0x0F)
  3940. }
  3941. }
  3942. Name (_PRW, Package (0x02)
  3943. {
  3944. 0x05,
  3945. 0x05
  3946. })
  3947. Name (PICM, Package (0x0C)
  3948. {
  3949. Package (0x04)
  3950. {
  3951. 0xFFFF,
  3952. 0x00,
  3953. \_SB.PCI0.LNK1,
  3954. 0x00
  3955. },
  3956. Package (0x04)
  3957. {
  3958. 0xFFFF,
  3959. 0x01,
  3960. \_SB.PCI0.LNK1,
  3961. 0x00
  3962. },
  3963. Package (0x04)
  3964. {
  3965. 0xFFFF,
  3966. 0x02,
  3967. \_SB.PCI0.LNK1,
  3968. 0x00
  3969. },
  3970. Package (0x04)
  3971. {
  3972. 0xFFFF,
  3973. 0x03,
  3974. \_SB.PCI0.LNK1,
  3975. 0x00
  3976. },
  3977. Package (0x04)
  3978. {
  3979. 0x0003FFFF,
  3980. 0x00,
  3981. \_SB.PCI0.LNKB,
  3982. 0x00
  3983. },
  3984. Package (0x04)
  3985. {
  3986. 0x0003FFFF,
  3987. 0x01,
  3988. \_SB.PCI0.LNKC,
  3989. 0x00
  3990. },
  3991. Package (0x04)
  3992. {
  3993. 0x0003FFFF,
  3994. 0x02,
  3995. \_SB.PCI0.LNKD,
  3996. 0x00
  3997. },
  3998. Package (0x04)
  3999. {
  4000. 0x0003FFFF,
  4001. 0x03,
  4002. \_SB.PCI0.LNKA,
  4003. 0x00
  4004. },
  4005. Package (0x04)
  4006. {
  4007. 0x0004FFFF,
  4008. 0x00,
  4009. \_SB.PCI0.LNKC,
  4010. 0x00
  4011. },
  4012. Package (0x04)
  4013. {
  4014. 0x0004FFFF,
  4015. 0x01,
  4016. \_SB.PCI0.LNKD,
  4017. 0x00
  4018. },
  4019. Package (0x04)
  4020. {
  4021. 0x0004FFFF,
  4022. 0x02,
  4023. \_SB.PCI0.LNKA,
  4024. 0x00
  4025. },
  4026. Package (0x04)
  4027. {
  4028. 0x0004FFFF,
  4029. 0x03,
  4030. \_SB.PCI0.LNKB,
  4031. 0x00
  4032. }
  4033. })
  4034. Name (APIC, Package (0x0C)
  4035. {
  4036. Package (0x04)
  4037. {
  4038. 0xFFFF,
  4039. 0x00,
  4040. 0x00,
  4041. 0x1C
  4042. },
  4043. Package (0x04)
  4044. {
  4045. 0xFFFF,
  4046. 0x01,
  4047. 0x00,
  4048. 0x1D
  4049. },
  4050. Package (0x04)
  4051. {
  4052. 0xFFFF,
  4053. 0x02,
  4054. 0x00,
  4055. 0x1E
  4056. },
  4057. Package (0x04)
  4058. {
  4059. 0xFFFF,
  4060. 0x03,
  4061. 0x00,
  4062. 0x1F
  4063. },
  4064. Package (0x04)
  4065. {
  4066. 0x0003FFFF,
  4067. 0x00,
  4068. 0x00,
  4069. 0x11
  4070. },
  4071. Package (0x04)
  4072. {
  4073. 0x0003FFFF,
  4074. 0x01,
  4075. 0x00,
  4076. 0x12
  4077. },
  4078. Package (0x04)
  4079. {
  4080. 0x0003FFFF,
  4081. 0x02,
  4082. 0x00,
  4083. 0x13
  4084. },
  4085. Package (0x04)
  4086. {
  4087. 0x0003FFFF,
  4088. 0x03,
  4089. 0x00,
  4090. 0x10
  4091. },
  4092. Package (0x04)
  4093. {
  4094. 0x0004FFFF,
  4095. 0x00,
  4096. 0x00,
  4097. 0x12
  4098. },
  4099. Package (0x04)
  4100. {
  4101. 0x0004FFFF,
  4102. 0x01,
  4103. 0x00,
  4104. 0x13
  4105. },
  4106. Package (0x04)
  4107. {
  4108. 0x0004FFFF,
  4109. 0x02,
  4110. 0x00,
  4111. 0x10
  4112. },
  4113. Package (0x04)
  4114. {
  4115. 0x0004FFFF,
  4116. 0x03,
  4117. 0x00,
  4118. 0x11
  4119. }
  4120. })
  4121. OperationRegion (DFSR, SystemMemory, 0x000F7CB2, 0x01)
  4122. Field (DFSR, DWordAcc, NoLock, Preserve)
  4123. {
  4124. DFSN, 8
  4125. }
  4126. Method (_PRT, 0, NotSerialized)
  4127. {
  4128. Store (DFSN, Local1)
  4129. If (LNotEqual (Local1, 0xFF))
  4130. {
  4131. Store (Zero, Local0)
  4132. Store (One, Local4)
  4133. While (Local4)
  4134. {
  4135. Store (DerefOf (Index (DerefOf (Index (PICM, Local0)), 0x00)),
  4136. Local2)
  4137. Increment (Local0)
  4138. ShiftRight (Local2, 0x10, Local2)
  4139. If (LEqual (Local2, Local1))
  4140. {
  4141. Store (0x000FFFFF, Local3)
  4142. Store (Local3, Index (DerefOf (Index (PICM, Local0)), 0x00))
  4143. Store (Zero, Index (DerefOf (Index (PICM, Local0)), 0x01))
  4144. Store (Zero, Local4)
  4145. }
  4146. Store (SizeOf (PICM), Local2)
  4147. If (LGreaterEqual (Local0, Local2))
  4148. {
  4149. Store (Zero, Local4)
  4150. }
  4151. }
  4152. Store (Zero, Local0)
  4153. Store (One, Local4)
  4154. While (Local4)
  4155. {
  4156. Store (DerefOf (Index (DerefOf (Index (APIC, Local0)), 0x00)),
  4157. Local2)
  4158. Increment (Local0)
  4159. ShiftRight (Local2, 0x10, Local2)
  4160. If (LEqual (Local2, Local1))
  4161. {
  4162. Store (0x000FFFFF, Local3)
  4163. Store (Local3, Index (DerefOf (Index (APIC, Local0)), 0x00))
  4164. Store (Zero, Index (DerefOf (Index (APIC, Local0)), 0x01))
  4165. Store (Zero, Local4)
  4166. }
  4167. Store (SizeOf (APIC), Local2)
  4168. If (LGreaterEqual (Local0, Local2))
  4169. {
  4170. Store (Zero, Local4)
  4171. }
  4172. }
  4173. }
  4174. If (LNot (PICF))
  4175. {
  4176. Return (PICM)
  4177. }
  4178. Else
  4179. {
  4180. Return (APIC)
  4181. }
  4182. }
  4183. }
  4184. Device (ASOC)
  4185. {
  4186. Name (_HID, "ATK0110")
  4187. Name (_UID, 0x01010110)
  4188. Name (MBIF, Package (0x08)
  4189. {
  4190. 0x01,
  4191. "P5VD2-MX",
  4192. 0x01010101,
  4193. 0x01010101,
  4194. 0xC0010002,
  4195. 0x01,
  4196. 0x00,
  4197. 0x00
  4198. })
  4199. Name (VBUF, Package (0x05)
  4200. {
  4201. 0x04,
  4202. VCRE,
  4203. V333,
  4204. V500,
  4205. V120
  4206. })
  4207. Name (VCRE, Package (0x05)
  4208. {
  4209. 0x06020000,
  4210. "Vcore Voltage",
  4211. 0x05AA,
  4212. 0x06D6,
  4213. 0x01
  4214. })
  4215. Name (V333, Package (0x05)
  4216. {
  4217. 0x06020001,
  4218. " +3.3 Voltage",
  4219. 0x0BB8,
  4220. 0x0E10,
  4221. 0x01
  4222. })
  4223. Name (V500, Package (0x05)
  4224. {
  4225. 0x06020002,
  4226. " +5.0 Voltage",
  4227. 0x1194,
  4228. 0x157C,
  4229. 0x01
  4230. })
  4231. Name (V120, Package (0x05)
  4232. {
  4233. 0x06020003,
  4234. "+12.0 Voltage",
  4235. 0x2BC0,
  4236. 0x3390,
  4237. 0x01
  4238. })
  4239. Name (TBUF, Package (0x03)
  4240. {
  4241. 0x02,
  4242. CPUT,
  4243. MBTP
  4244. })
  4245. Name (CPUT, Package (0x05)
  4246. {
  4247. 0x06030000,
  4248. "CPU Temperature",
  4249. 0x0384,
  4250. 0x04E2,
  4251. 0x00010001
  4252. })
  4253. Name (MBTP, Package (0x05)
  4254. {
  4255. 0x06030001,
  4256. "MB Temperature",
  4257. 0x02BC,
  4258. 0x04E2,
  4259. 0x00010001
  4260. })
  4261. Name (FBUF, Package (0x06)
  4262. {
  4263. 0x03,
  4264. CPUF,
  4265. CHAF,
  4266. PWRF,
  4267. CHPF,
  4268. CH2F
  4269. })
  4270. Name (CPUF, Package (0x05)
  4271. {
  4272. 0x06040000,
  4273. "CPU FAN Speed",
  4274. 0x00,
  4275. 0x0708,
  4276. 0x00010001
  4277. })
  4278. Name (CHAF, Package (0x05)
  4279. {
  4280. 0x06040001,
  4281. "CHASSIS FAN Speed",
  4282. 0x00,
  4283. 0x0708,
  4284. 0x01
  4285. })
  4286. Name (PWRF, Package (0x05)
  4287. {
  4288. 0x06040002,
  4289. "POWER FAN Speed",
  4290. 0x00,
  4291. 0x0708,
  4292. 0x00
  4293. })
  4294. Name (CHPF, Package (0x05)
  4295. {
  4296. 0x06040005,
  4297. "CHIPSET FAN Speed",
  4298. 0x00,
  4299. 0x0708,
  4300. 0x00
  4301. })
  4302. Name (CH2F, Package (0x05)
  4303. {
  4304. 0x06040006,
  4305. "CHASSIS2 FAN Speed",
  4306. 0x00,
  4307. 0x0708,
  4308. 0x00
  4309. })
  4310. Name (QFAN, Package (0x05)
  4311. {
  4312. 0x04060003,
  4313. "CPU Q-Fan Control",
  4314. 0x00,
  4315. 0x01,
  4316. 0x01
  4317. })
  4318. Name (QFRO, Package (0x05)
  4319. {
  4320. 0x04050004,
  4321. "CPU Q-Fan Ratio",
  4322. 0x3C,
  4323. 0x5A,
  4324. 0x00
  4325. })
  4326. Name (QFTP, Package (0x05)
  4327. {
  4328. 0x04030005,
  4329. "CPU Target Temperature",
  4330. 0x33,
  4331. 0x51,
  4332. 0x00010001
  4333. })
  4334. Name (QCFN, Package (0x05)
  4335. {
  4336. 0x04060006,
  4337. "Chassis Q-Fan Control",
  4338. 0x00,
  4339. 0x01,
  4340. 0x00
  4341. })
  4342. Name (QFCR, Package (0x05)
  4343. {
  4344. 0x04050007,
  4345. "Chassis Q-Fan Ratio",
  4346. 0x38,
  4347. 0x64,
  4348. 0x00
  4349. })
  4350. OperationRegion (HWRE, SystemIO, 0x0295, 0x02)
  4351. Field (HWRE, ByteAcc, NoLock, Preserve)
  4352. {
  4353. HIDX, 8,
  4354. HDAT, 8
  4355. }
  4356. IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
  4357. {
  4358. Offset (0x0B),
  4359. FD11, 3,
  4360. FD12, 3,
  4361. FD13, 1,
  4362. Offset (0x0C),
  4363. Offset (0x0D),
  4364. FAN1, 8,
  4365. FAN2, 8,
  4366. FAN3, 8,
  4367. Offset (0x20),
  4368. VCOR, 8,
  4369. Offset (0x22),
  4370. V33V, 8,
  4371. V50V, 8,
  4372. V12V, 8,
  4373. Offset (0x29),
  4374. TSR1, 8,
  4375. MBTE, 8
  4376. }
  4377. Method (ASIF, 0, NotSerialized)
  4378. {
  4379. Return (MBIF)
  4380. }
  4381. Method (VSIF, 0, NotSerialized)
  4382. {
  4383. Return (VBUF)
  4384. }
  4385. Method (RVLT, 1, NotSerialized)
  4386. {
  4387. Store (DerefOf (Index (VCRE, 0x00)), Local0)
  4388. If (LEqual (Arg0, Local0))
  4389. {
  4390. Store (VCOR, Local0)
  4391. Store (0x00, Local1)
  4392. While (LEqual (Local0, 0xFF))
  4393. {
  4394. Store (VCOR, Local0)
  4395. If (LEqual (Local1, 0x000186A0))
  4396. {
  4397. Break
  4398. }
  4399. Add (Local1, 0x01, Local1)
  4400. }
  4401. Multiply (Local0, 0x10, Local0)
  4402. Return (Local0)
  4403. }
  4404. Store (DerefOf (Index (V333, 0x00)), Local0)
  4405. If (LEqual (Arg0, Local0))
  4406. {
  4407. Store (V33V, Local0)
  4408. Store (0x00, Local1)
  4409. While (LEqual (Local0, 0xFF))
  4410. {
  4411. Store (V33V, Local0)
  4412. If (LEqual (Local1, 0x000186A0))
  4413. {
  4414. Break
  4415. }
  4416. Add (Local1, 0x01, Local1)
  4417. }
  4418. Multiply (Local0, 0x10, Local0)
  4419. Multiply (0x1A, 0x0A, Local1)
  4420. Add (Local0, Local1, Local0)
  4421. Return (Local0)
  4422. }
  4423. Store (DerefOf (Index (V500, 0x00)), Local0)
  4424. If (LEqual (Arg0, Local0))
  4425. {
  4426. Store (V50V, Local0)
  4427. Store (0x00, Local1)
  4428. While (LEqual (Local0, 0xFF))
  4429. {
  4430. Store (V50V, Local0)
  4431. If (LEqual (Local1, 0x000186A0))
  4432. {
  4433. Break
  4434. }
  4435. Add (Local1, 0x01, Local1)
  4436. }
  4437. Multiply (Local0, 0x10, Local0)
  4438. Store (0x22, Local1)
  4439. Store (0x32, Local2)
  4440. Add (Local1, Local2, Local1)
  4441. Multiply (Local0, Local1, Local0)
  4442. Divide (Local0, Local2, Local3, Local0)
  4443. Return (Local0)
  4444. }
  4445. Store (DerefOf (Index (V120, 0x00)), Local0)
  4446. If (LEqual (Arg0, Local0))
  4447. {
  4448. Store (V12V, Local0)
  4449. Store (0x00, Local1)
  4450. While (LEqual (Local0, 0xFF))
  4451. {
  4452. Store (V12V, Local0)
  4453. If (LEqual (Local1, 0x000186A0))
  4454. {
  4455. Break
  4456. }
  4457. Add (Local1, 0x01, Local1)
  4458. }
  4459. Multiply (Local0, 0x10, Local0)
  4460. Store (0x1E, Local1)
  4461. Store (0x0A, Local2)
  4462. Add (Local1, Local2, Local1)
  4463. Multiply (Local0, Local1, Local0)
  4464. Divide (Local0, Local2, Local3, Local0)
  4465. Multiply (0x0C, 0x0A, Local1)
  4466. Add (Local1, Local0, Local0)
  4467. Return (Local0)
  4468. }
  4469. }
  4470. Method (SVLT, 1, NotSerialized)
  4471. {
  4472. Store (DerefOf (Index (Arg0, 0x00)), Local0)
  4473. And (Local0, 0x0F, Local0)
  4474. Store (DerefOf (Index (VBUF, 0x00)), Local1)
  4475. If (LGreaterEqual (Local0, Local1))
  4476. {
  4477. Return (0x01)
  4478. }
  4479. Add (Local0, 0x01, Local0)
  4480. Store (DerefOf (Index (Arg0, 0x01)), Local1)
  4481. Store (DerefOf (Index (Arg0, 0x02)), Local2)
  4482. Store (DerefOf (Index (Arg0, 0x03)), Local3)
  4483. Store (DerefOf (Index (Arg0, 0x04)), Local4)
  4484. Store (Local1, Index (DerefOf (Index (VBUF, Local0)), 0x01))
  4485. Store (Local2, Index (DerefOf (Index (VBUF, Local0)), 0x02))
  4486. Store (Local3, Index (DerefOf (Index (VBUF, Local0)), 0x03))
  4487. Store (Local4, Index (DerefOf (Index (VBUF, Local0)), 0x04))
  4488. Return (0x00)
  4489. }
  4490. Method (TSIF, 0, NotSerialized)
  4491. {
  4492. Return (TBUF)
  4493. }
  4494. Method (RTMP, 1, NotSerialized)
  4495. {
  4496. Store (DerefOf (Index (CPUT, 0x00)), Local0)
  4497. If (LEqual (Arg0, Local0))
  4498. {
  4499. Store (TSR1, Local0)
  4500. Store (0x00, Local1)
  4501. While (LEqual (Local0, 0x80))
  4502. {
  4503. Store (TSR1, Local0)
  4504. If (LEqual (Local1, 0x000186A0))
  4505. {
  4506. Break
  4507. }
  4508. Add (Local1, 0x01, Local1)
  4509. }
  4510. Multiply (Local0, 0x0A, Local0)
  4511. Return (Local0)
  4512. }
  4513. Store (DerefOf (Index (MBTP, 0x00)), Local0)
  4514. If (LEqual (Arg0, Local0))
  4515. {
  4516. Store (MBTE, Local0)
  4517. Store (0x00, Local1)
  4518. While (LEqual (Local0, 0x80))
  4519. {
  4520. Store (MBTE, Local0)
  4521. If (LEqual (Local1, 0x000186A0))
  4522. {
  4523. Break
  4524. }
  4525. Add (Local1, 0x01, Local1)
  4526. }
  4527. Multiply (Local0, 0x0A, Local0)
  4528. Return (Local0)
  4529. }
  4530. }
  4531. Method (STMP, 1, NotSerialized)
  4532. {
  4533. Store (DerefOf (Index (Arg0, 0x00)), Local0)
  4534. And (Local0, 0x0F, Local0)
  4535. Store (DerefOf (Index (TBUF, 0x00)), Local1)
  4536. If (LGreaterEqual (Local0, Local1))
  4537. {
  4538. Return (0x01)
  4539. }
  4540. Add (Local0, 0x01, Local0)
  4541. Store (DerefOf (Index (Arg0, 0x01)), Local1)
  4542. Store (DerefOf (Index (Arg0, 0x02)), Local2)
  4543. Store (DerefOf (Index (Arg0, 0x03)), Local3)
  4544. Store (DerefOf (Index (Arg0, 0x04)), Local4)
  4545. Store (Local1, Index (DerefOf (Index (TBUF, Local0)), 0x01))
  4546. Store (Local2, Index (DerefOf (Index (TBUF, Local0)), 0x02))
  4547. Store (Local3, Index (DerefOf (Index (TBUF, Local0)), 0x03))
  4548. Store (Local4, Index (DerefOf (Index (TBUF, Local0)), 0x04))
  4549. Return (0x00)
  4550. }
  4551. Method (FSIF, 0, NotSerialized)
  4552. {
  4553. Return (FBUF)
  4554. }
  4555. Method (RFAN, 1, NotSerialized)
  4556. {
  4557. Store (0x00, Local0)
  4558. Store (DerefOf (Index (CPUF, 0x00)), Local1)
  4559. If (LEqual (Arg0, Local1))
  4560. {
  4561. Store (FAN1, Local0)
  4562. If (LAnd (LLess (Local0, 0xFF), LNotEqual (Local0, 0x00)))
  4563. {
  4564. Store (FD11, Local2)
  4565. Store (0x01, Local1)
  4566. ShiftLeft (Local1, Local2, Local2)
  4567. Multiply (Local0, Local2, Local0)
  4568. Divide (0x00149970, Local0, Local1, Local0)
  4569. }
  4570. Else
  4571. {
  4572. Store (0x00, Local0)
  4573. }
  4574. }
  4575. Store (DerefOf (Index (CHAF, 0x00)), Local1)
  4576. If (LEqual (Arg0, Local1))
  4577. {
  4578. Store (FAN2, Local0)
  4579. If (LAnd (LLess (Local0, 0xFF), LNotEqual (Local0, 0x00)))
  4580. {
  4581. Store (FD12, Local2)
  4582. Store (0x01, Local1)
  4583. ShiftLeft (Local1, Local2, Local2)
  4584. Multiply (Local0, Local2, Local0)
  4585. Divide (0x00149970, Local0, Local1, Local0)
  4586. }
  4587. Else
  4588. {
  4589. Store (0x00, Local0)
  4590. }
  4591. }
  4592. Return (Local0)
  4593. }
  4594. Method (SFAN, 1, NotSerialized)
  4595. {
  4596. Store (DerefOf (Index (Arg0, 0x00)), Local0)
  4597. And (Local0, 0x0F, Local0)
  4598. Store (DerefOf (Index (FBUF, 0x00)), Local1)
  4599. If (LGreaterEqual (Local0, Local1))
  4600. {
  4601. Return (0x00)
  4602. }
  4603. Else
  4604. {
  4605. Add (Local0, 0x01, Local0)
  4606. Store (DerefOf (Index (Arg0, 0x01)), Local1)
  4607. Store (DerefOf (Index (Arg0, 0x02)), Local2)
  4608. Store (DerefOf (Index (Arg0, 0x03)), Local3)
  4609. Store (DerefOf (Index (Arg0, 0x04)), Local4)
  4610. Store (Local1, Index (DerefOf (Index (FBUF, Local0)), 0x01))
  4611. Store (Local2, Index (DerefOf (Index (FBUF, Local0)), 0x02))
  4612. Store (Local3, Index (DerefOf (Index (FBUF, Local0)), 0x03))
  4613. Store (Local4, Index (DerefOf (Index (FBUF, Local0)), 0x04))
  4614. Return (0x01)
  4615. }
  4616. }
  4617. Method (SFAS, 1, NotSerialized)
  4618. {
  4619. Store (DerefOf (Index (Arg0, 0x00)), Local0)
  4620. And (Local0, 0x0F, Local0)
  4621. Store (DerefOf (Index (FBUF, 0x00)), Local1)
  4622. If (LGreaterEqual (Local0, Local1))
  4623. {
  4624. Return (0x00)
  4625. }
  4626. Else
  4627. {
  4628. Return (0x01)
  4629. }
  4630. }
  4631. Name (OC1F, 0x00)
  4632. Name (OC2F, 0x00)
  4633. Name (OC3F, 0x00)
  4634. Name (OC4F, 0x00)
  4635. Name (OC5F, 0x00)
  4636. Name (OC6F, 0x00)
  4637. Name (OC7F, 0x00)
  4638. Name (OC8F, 0x00)
  4639. Name (OC9F, 0x00)
  4640. Name (OCAF, 0x00)
  4641. Name (OCBF, 0x00)
  4642. Name (OCCF, 0x00)
  4643. Name (OCDF, 0x00)
  4644. Name (OCEF, 0x00)
  4645. Name (QFNF, 0x00)
  4646. Name (QFPF, 0x00)
  4647. Method (OCOP, 1, NotSerialized)
  4648. {
  4649. Store (DerefOf (Index (QFAN, 0x00)), Local1)
  4650. If (LEqual (Arg0, Local1))
  4651. {
  4652. If (LEqual (QFNF, 0x00))
  4653. {
  4654. Store (QFNE, Index (CQFN, 0x02))
  4655. SPRE (Arg0, QFNE)
  4656. Store (0x01, QFNF)
  4657. }
  4658. Return (CQFN)
  4659. }
  4660. Store (DerefOf (Index (QFTP, 0x00)), Local1)
  4661. If (LEqual (Arg0, Local1))
  4662. {
  4663. If (LEqual (QFPF, 0x00))
  4664. {
  4665. Store (QFTE, Index (QFNT, 0x02))
  4666. SPRE (Arg0, QFTE)
  4667. Store (0x01, QFPF)
  4668. }
  4669. Return (QFNT)
  4670. }
  4671. }
  4672. Method (PROC, 3, NotSerialized)
  4673. {
  4674. If (LEqual (Arg2, 0x00)) {}
  4675. If (LEqual (Arg2, 0x01))
  4676. {
  4677. Store (DerefOf (Index (QFAN, 0x00)), Local0)
  4678. If (LEqual (Arg0, Local0))
  4679. {
  4680. Store (Arg1, AIP)
  4681. Store (Arg1, Index (CQFN, 0x02))
  4682. Store (0x07, AIP2)
  4683. Store (0xD4, SCP)
  4684. }
  4685. Store (DerefOf (Index (QFTP, 0x00)), Local0)
  4686. If (LEqual (Arg0, Local0))
  4687. {
  4688. Store (Arg1, AIP)
  4689. Store (Arg1, Index (QFNT, 0x02))
  4690. Store (0x08, AIP2)
  4691. Store (0xD4, SCP)
  4692. }
  4693. SPRE (Arg0, Arg1)
  4694. Return (0x01)
  4695. }
  4696. Else
  4697. {
  4698. Return (0x00)
  4699. }
  4700. }
  4701. Name (CQFN, Package (0x06)
  4702. {
  4703. 0x04060003,
  4704. 0x00,
  4705. 0x00,
  4706. 0x01,
  4707. "Disabled",
  4708. "Enabled"
  4709. })
  4710. Name (QFNR, Package (0x09)
  4711. {
  4712. 0x04050004,
  4713. 0x5A,
  4714. 0x00,
  4715. 0x01,
  4716. "Auto",
  4717. "90%",
  4718. "80%",
  4719. "70%",
  4720. "60%"
  4721. })
  4722. Name (QFNT, Package (0x0F)
  4723. {
  4724. 0x04030005,
  4725. 0x42,
  4726. 0x05,
  4727. 0x01,
  4728. "51",
  4729. "54",
  4730. "57",
  4731. "60",
  4732. "63",
  4733. "66",
  4734. "69",
  4735. "72",
  4736. "75",
  4737. "78",
  4738. "81"
  4739. })
  4740. Name (PREB, Package (0x1C)
  4741. {
  4742. 0x02010002,
  4743. 0x00,
  4744. 0x07010003,
  4745. 0x00,
  4746. 0x08050005,
  4747. 0x00,
  4748. 0x08050006,
  4749. 0x00,
  4750. 0x04040007,
  4751. 0x00,
  4752. 0x01020008,
  4753. 0x00,
  4754. 0x02020009,
  4755. 0x00,
  4756. 0x0702000A,
  4757. 0x00,
  4758. 0x0106000B,
  4759. 0x00,
  4760. 0x0906000C,
  4761. 0x00,
  4762. 0x04060003,
  4763. 0x00,
  4764. 0x04030005,
  4765. 0x00,
  4766. 0x01010000,
  4767. 0x00,
  4768. 0x01060001,
  4769. 0x00
  4770. })
  4771. Name (PRED, Package (0x0A)
  4772. {
  4773. 0x01010000,
  4774. 0x00,
  4775. 0x01060001,
  4776. 0x00,
  4777. 0x01020008,
  4778. 0x00,
  4779. 0x02020009,
  4780. 0x00,
  4781. 0x0702000A,
  4782. 0x00
  4783. })
  4784. Method (SPRD, 2, NotSerialized)
  4785. {
  4786. Store (0x00, Local0)
  4787. Store (0x01, Local2)
  4788. While (Local2)
  4789. {
  4790. Multiply (Local0, 0x02, Local1)
  4791. If (LEqual (DerefOf (Index (PRED, Local1)), Arg0))
  4792. {
  4793. Add (Local1, 0x01, Local1)
  4794. Store (Arg1, Index (PRED, Local1))
  4795. Store (0x00, Local2)
  4796. }
  4797. Increment (Local0)
  4798. If (LEqual (Local0, 0x10))
  4799. {
  4800. Store (0x00, Local2)
  4801. }
  4802. }
  4803. }
  4804. Method (GPRE, 1, NotSerialized)
  4805. {
  4806. If (Arg0)
  4807. {
  4808. Return (PREB)
  4809. }
  4810. Else
  4811. {
  4812. Return (PRED)
  4813. }
  4814. }
  4815. Method (SPRE, 2, NotSerialized)
  4816. {
  4817. Store (0x00, Local0)
  4818. Store (0x01, Local2)
  4819. While (Local2)
  4820. {
  4821. Multiply (Local0, 0x02, Local1)
  4822. If (LEqual (DerefOf (Index (PREB, Local1)), Arg0))
  4823. {
  4824. Add (Local1, 0x01, Local1)
  4825. Store (Arg1, Index (PREB, Local1))
  4826. Store (0x00, Local2)
  4827. }
  4828. Increment (Local0)
  4829. If (LEqual (Local0, 0x10))
  4830. {
  4831. Store (0x00, Local2)
  4832. }
  4833. }
  4834. }
  4835. Method (SPLV, 1, Serialized)
  4836. {
  4837. Return (Arg0)
  4838. }
  4839. Method (GPLV, 0, Serialized)
  4840. {
  4841. Return (0x00)
  4842. }
  4843. Method (ENGR, 1, NotSerialized)
  4844. {
  4845. }
  4846. }
  4847. Device (LNKA)
  4848. {
  4849. Name (_HID, EisaId ("PNP0C0F"))
  4850. Name (_UID, 0x01)
  4851. Method (_STA, 0, NotSerialized)
  4852. {
  4853. And (PIRA, 0xF0, Local0)
  4854. If (LEqual (Local0, 0x00))
  4855. {
  4856. Return (0x09)
  4857. }
  4858. Else
  4859. {
  4860. Return (0x0B)
  4861. }
  4862. }
  4863. Method (_PRS, 0, NotSerialized)
  4864. {
  4865. Name (BUFB, ResourceTemplate ()
  4866. {
  4867. IRQ (Level, ActiveLow, Shared, )
  4868. {3,4,6,7,10,11,12}
  4869. })
  4870. Return (BUFB)
  4871. }
  4872. Method (_DIS, 0, NotSerialized)
  4873. {
  4874. And (PIRA, 0x0F, PIRA)
  4875. }
  4876. Method (_CRS, 0, NotSerialized)
  4877. {
  4878. Name (BUFB, ResourceTemplate ()
  4879. {
  4880. IRQ (Level, ActiveLow, Shared, _Y03)
  4881. {}
  4882. })
  4883. CreateByteField (BUFB, \_SB.PCI0.LNKA._CRS._Y03._INT, IRB1)
  4884. CreateByteField (BUFB, 0x02, IRB2)
  4885. Store (0x00, Local3)
  4886. Store (0x00, Local4)
  4887. And (PIRA, 0xF0, Local1)
  4888. ShiftRight (Local1, 0x04, Local1)
  4889. If (LNotEqual (Local1, 0x00))
  4890. {
  4891. If (LGreater (Local1, 0x07))
  4892. {
  4893. Subtract (Local1, 0x08, Local2)
  4894. ShiftLeft (One, Local2, Local4)
  4895. }
  4896. Else
  4897. {
  4898. If (LGreater (Local1, 0x00))
  4899. {
  4900. ShiftLeft (One, Local1, Local3)
  4901. }
  4902. }
  4903. Store (Local3, IRB1)
  4904. Store (Local4, IRB2)
  4905. }
  4906. Return (BUFB)
  4907. }
  4908. Method (_SRS, 1, NotSerialized)
  4909. {
  4910. CreateByteField (Arg0, 0x01, IRB1)
  4911. CreateByteField (Arg0, 0x02, IRB2)
  4912. ShiftLeft (IRB2, 0x08, Local0)
  4913. Or (Local0, IRB1, Local0)
  4914. Store (0x00, Local1)
  4915. ShiftRight (Local0, 0x01, Local0)
  4916. While (LGreater (Local0, 0x00))
  4917. {
  4918. Increment (Local1)
  4919. ShiftRight (Local0, 0x01, Local0)
  4920. }
  4921. If (LEqual (OSFL, 0x02))
  4922. {
  4923. If (ENR8)
  4924. {
  4925. Store (Local1, PIRE)
  4926. }
  4927. }
  4928. And (PIRA, 0x0F, PIRA)
  4929. ShiftLeft (Local1, 0x04, Local1)
  4930. Or (PIRA, Local1, PIRA)
  4931. }
  4932. }
  4933. Device (LNKB)
  4934. {
  4935. Name (_HID, EisaId ("PNP0C0F"))
  4936. Name (_UID, 0x02)
  4937. Method (_STA, 0, NotSerialized)
  4938. {
  4939. And (PIBC, 0x0F, Local0)
  4940. If (LEqual (Local0, 0x00))
  4941. {
  4942. Return (0x09)
  4943. }
  4944. Else
  4945. {
  4946. Return (0x0B)
  4947. }
  4948. }
  4949. Method (_PRS, 0, NotSerialized)
  4950. {
  4951. Name (BUFA, ResourceTemplate ()
  4952. {
  4953. IRQ (Level, ActiveLow, Shared, )
  4954. {3,4,6,7,10,11,12}
  4955. })
  4956. Return (BUFA)
  4957. }
  4958. Method (_DIS, 0, NotSerialized)
  4959. {
  4960. And (PIBC, 0xF0, PIBC)
  4961. }
  4962. Method (_CRS, 0, NotSerialized)
  4963. {
  4964. Name (BUFA, ResourceTemplate ()
  4965. {
  4966. IRQ (Level, ActiveLow, Shared, _Y04)
  4967. {}
  4968. })
  4969. CreateByteField (BUFA, \_SB.PCI0.LNKB._CRS._Y04._INT, IRA1)
  4970. CreateByteField (BUFA, 0x02, IRA2)
  4971. Store (0x00, Local3)
  4972. Store (0x00, Local4)
  4973. And (PIBC, 0x0F, Local1)
  4974. If (LNotEqual (Local1, 0x00))
  4975. {
  4976. If (LGreater (Local1, 0x07))
  4977. {
  4978. Subtract (Local1, 0x08, Local2)
  4979. ShiftLeft (One, Local2, Local4)
  4980. }
  4981. Else
  4982. {
  4983. If (LGreater (Local1, 0x00))
  4984. {
  4985. ShiftLeft (One, Local1, Local3)
  4986. }
  4987. }
  4988. Store (Local3, IRA1)
  4989. Store (Local4, IRA2)
  4990. }
  4991. Return (BUFA)
  4992. }
  4993. Method (_SRS, 1, NotSerialized)
  4994. {
  4995. CreateByteField (Arg0, 0x01, IRA1)
  4996. CreateByteField (Arg0, 0x02, IRA2)
  4997. ShiftLeft (IRA2, 0x08, Local0)
  4998. Or (Local0, IRA1, Local0)
  4999. Store (0x00, Local1)
  5000. ShiftRight (Local0, 0x01, Local0)
  5001. While (LGreater (Local0, 0x00))
  5002. {
  5003. Increment (Local1)
  5004. ShiftRight (Local0, 0x01, Local0)
  5005. }
  5006. If (LEqual (OSFL, 0x02))
  5007. {
  5008. If (ENR8)
  5009. {
  5010. Store (Local1, PIRF)
  5011. }
  5012. }
  5013. And (PIBC, 0xF0, PIBC)
  5014. Or (PIBC, Local1, PIBC)
  5015. }
  5016. }
  5017. Device (LNKC)
  5018. {
  5019. Name (_HID, EisaId ("PNP0C0F"))
  5020. Name (_UID, 0x03)
  5021. Method (_STA, 0, NotSerialized)
  5022. {
  5023. And (PIBC, 0xF0, Local0)
  5024. If (LEqual (Local0, 0x00))
  5025. {
  5026. Return (0x09)
  5027. }
  5028. Else
  5029. {
  5030. Return (0x0B)
  5031. }
  5032. }
  5033. Method (_PRS, 0, NotSerialized)
  5034. {
  5035. Name (BUFC, ResourceTemplate ()
  5036. {
  5037. IRQ (Level, ActiveLow, Shared, )
  5038. {3,4,6,7,10,11,12}
  5039. })
  5040. Return (BUFC)
  5041. }
  5042. Method (_DIS, 0, NotSerialized)
  5043. {
  5044. And (PIBC, 0x0F, PIBC)
  5045. }
  5046. Method (_CRS, 0, NotSerialized)
  5047. {
  5048. Name (BUFC, ResourceTemplate ()
  5049. {
  5050. IRQ (Level, ActiveLow, Shared, _Y05)
  5051. {}
  5052. })
  5053. CreateByteField (BUFC, \_SB.PCI0.LNKC._CRS._Y05._INT, IRC1)
  5054. CreateByteField (BUFC, 0x02, IRC2)
  5055. Store (0x00, Local3)
  5056. Store (0x00, Local4)
  5057. And (PIBC, 0xF0, Local1)
  5058. ShiftRight (Local1, 0x04, Local1)
  5059. If (LNotEqual (Local1, 0x00))
  5060. {
  5061. If (LGreater (Local1, 0x07))
  5062. {
  5063. Subtract (Local1, 0x08, Local2)
  5064. ShiftLeft (One, Local2, Local4)
  5065. }
  5066. Else
  5067. {
  5068. If (LGreater (Local1, 0x00))
  5069. {
  5070. ShiftLeft (One, Local1, Local3)
  5071. }
  5072. }
  5073. Store (Local3, IRC1)
  5074. Store (Local4, IRC2)
  5075. }
  5076. Return (BUFC)
  5077. }
  5078. Method (_SRS, 1, NotSerialized)
  5079. {
  5080. CreateByteField (Arg0, 0x01, IRC1)
  5081. CreateByteField (Arg0, 0x02, IRC2)
  5082. ShiftLeft (IRC2, 0x08, Local0)
  5083. Or (Local0, IRC1, Local0)
  5084. Store (0x00, Local1)
  5085. ShiftRight (Local0, 0x01, Local0)
  5086. While (LGreater (Local0, 0x00))
  5087. {
  5088. Increment (Local1)
  5089. ShiftRight (Local0, 0x01, Local0)
  5090. }
  5091. If (LEqual (OSFL, 0x02))
  5092. {
  5093. If (ENR8)
  5094. {
  5095. Store (Local1, PIRG)
  5096. }
  5097. }
  5098. And (PIBC, 0x0F, PIBC)
  5099. ShiftLeft (Local1, 0x04, Local1)
  5100. Or (PIBC, Local1, PIBC)
  5101. }
  5102. }
  5103. Device (LNKD)
  5104. {
  5105. Name (_HID, EisaId ("PNP0C0F"))
  5106. Name (_UID, 0x04)
  5107. Method (_STA, 0, NotSerialized)
  5108. {
  5109. And (PIRD, 0xF0, Local0)
  5110. If (LEqual (Local0, 0x00))
  5111. {
  5112. Return (0x09)
  5113. }
  5114. Else
  5115. {
  5116. Return (0x0B)
  5117. }
  5118. }
  5119. Method (_PRS, 0, NotSerialized)
  5120. {
  5121. Name (BUFD, ResourceTemplate ()
  5122. {
  5123. IRQ (Level, ActiveLow, Shared, )
  5124. {3,4,6,7,10,11,12}
  5125. })
  5126. Return (BUFD)
  5127. }
  5128. Method (_DIS, 0, NotSerialized)
  5129. {
  5130. And (PIRD, 0x0F, PIRD)
  5131. }
  5132. Method (_CRS, 0, NotSerialized)
  5133. {
  5134. Name (BUFD, ResourceTemplate ()
  5135. {
  5136. IRQ (Level, ActiveLow, Shared, _Y06)
  5137. {}
  5138. })
  5139. CreateByteField (BUFD, \_SB.PCI0.LNKD._CRS._Y06._INT, IRD1)
  5140. CreateByteField (BUFD, 0x02, IRD2)
  5141. Store (0x00, Local3)
  5142. Store (0x00, Local4)
  5143. And (PIRD, 0xF0, Local1)
  5144. ShiftRight (Local1, 0x04, Local1)
  5145. If (LNotEqual (Local1, 0x00))
  5146. {
  5147. If (LGreater (Local1, 0x07))
  5148. {
  5149. Subtract (Local1, 0x08, Local2)
  5150. ShiftLeft (One, Local2, Local4)
  5151. }
  5152. Else
  5153. {
  5154. If (LGreater (Local1, 0x00))
  5155. {
  5156. ShiftLeft (One, Local1, Local3)
  5157. }
  5158. }
  5159. Store (Local3, IRD1)
  5160. Store (Local4, IRD2)
  5161. }
  5162. Return (BUFD)
  5163. }
  5164. Method (_SRS, 1, NotSerialized)
  5165. {
  5166. CreateByteField (Arg0, 0x01, IRD1)
  5167. CreateByteField (Arg0, 0x02, IRD2)
  5168. ShiftLeft (IRD2, 0x08, Local0)
  5169. Or (Local0, IRD1, Local0)
  5170. Store (0x00, Local1)
  5171. ShiftRight (Local0, 0x01, Local0)
  5172. While (LGreater (Local0, 0x00))
  5173. {
  5174. Increment (Local1)
  5175. ShiftRight (Local0, 0x01, Local0)
  5176. }
  5177. If (LEqual (OSFL, 0x02))
  5178. {
  5179. If (ENR8)
  5180. {
  5181. Store (Local1, PIRH)
  5182. }
  5183. }
  5184. And (PIRD, 0x0F, PIRD)
  5185. ShiftLeft (Local1, 0x04, Local1)
  5186. Or (PIRD, Local1, PIRD)
  5187. }
  5188. }
  5189. Device (LNKE)
  5190. {
  5191. Name (_HID, EisaId ("PNP0C0F"))
  5192. Name (_UID, 0x05)
  5193. Method (_STA, 0, NotSerialized)
  5194. {
  5195. If (LEqual (PIRE, 0x00))
  5196. {
  5197. Return (0x09)
  5198. }
  5199. Else
  5200. {
  5201. Return (0x0B)
  5202. }
  5203. }
  5204. Method (_PRS, 0, NotSerialized)
  5205. {
  5206. Name (BUFE, ResourceTemplate ()
  5207. {
  5208. IRQ (Level, ActiveLow, Shared, )
  5209. {3,4,6,7,10,11,12}
  5210. })
  5211. Return (BUFE)
  5212. }
  5213. Method (_DIS, 0, NotSerialized)
  5214. {
  5215. Store (Zero, PIRE)
  5216. }
  5217. Method (_CRS, 0, NotSerialized)
  5218. {
  5219. Name (BUFE, ResourceTemplate ()
  5220. {
  5221. IRQ (Level, ActiveLow, Shared, _Y07)
  5222. {}
  5223. })
  5224. CreateByteField (BUFE, \_SB.PCI0.LNKE._CRS._Y07._INT, IRE1)
  5225. CreateByteField (BUFE, 0x02, IRE2)
  5226. Store (Zero, IRE1)
  5227. Store (Zero, IRE2)
  5228. Store (PIRE, Local0)
  5229. If (LGreater (Local0, 0x00))
  5230. {
  5231. If (LGreater (Local0, 0x07))
  5232. {
  5233. Subtract (Local0, 0x08, Local1)
  5234. ShiftLeft (One, Local1, IRE2)
  5235. }
  5236. Else
  5237. {
  5238. Store (Local0, Local1)
  5239. ShiftLeft (One, Local1, IRE1)
  5240. }
  5241. }
  5242. Return (BUFE)
  5243. }
  5244. Method (_SRS, 1, NotSerialized)
  5245. {
  5246. CreateByteField (Arg0, 0x01, IRE1)
  5247. CreateByteField (Arg0, 0x02, IRE2)
  5248. If (LGreater (IRE2, Zero))
  5249. {
  5250. FindSetLeftBit (IRE2, Local0)
  5251. Decrement (Local0)
  5252. Add (Local0, 0x08, Local0)
  5253. }
  5254. Else
  5255. {
  5256. FindSetLeftBit (IRE1, Local0)
  5257. Decrement (Local0)
  5258. }
  5259. Store (One, ENR8)
  5260. Store (Zero, POLE)
  5261. Store (Local0, PIRE)
  5262. }
  5263. }
  5264. Device (LNKF)
  5265. {
  5266. Name (_HID, EisaId ("PNP0C0F"))
  5267. Name (_UID, 0x06)
  5268. Method (_STA, 0, NotSerialized)
  5269. {
  5270. If (LEqual (PIRF, 0x00))
  5271. {
  5272. Return (0x09)
  5273. }
  5274. Else
  5275. {
  5276. Return (0x0B)
  5277. }
  5278. }
  5279. Method (_PRS, 0, NotSerialized)
  5280. {
  5281. Name (BUFF, ResourceTemplate ()
  5282. {
  5283. IRQ (Level, ActiveLow, Shared, )
  5284. {3,4,6,7,10,11,12}
  5285. })
  5286. Return (BUFF)
  5287. }
  5288. Method (_DIS, 0, NotSerialized)
  5289. {
  5290. Store (Zero, PIRF)
  5291. }
  5292. Method (_CRS, 0, NotSerialized)
  5293. {
  5294. Name (BUFF, ResourceTemplate ()
  5295. {
  5296. IRQ (Level, ActiveLow, Shared, _Y08)
  5297. {}
  5298. })
  5299. CreateByteField (BUFF, \_SB.PCI0.LNKF._CRS._Y08._INT, IRF1)
  5300. CreateByteField (BUFF, 0x02, IRF2)
  5301. Store (Zero, IRF1)
  5302. Store (Zero, IRF2)
  5303. Store (PIRF, Local0)
  5304. If (LGreater (Local0, 0x00))
  5305. {
  5306. If (LGreater (Local0, 0x07))
  5307. {
  5308. Subtract (Local0, 0x08, Local1)
  5309. ShiftLeft (One, Local0, IRF2)
  5310. }
  5311. Else
  5312. {
  5313. Store (Local0, Local1)
  5314. ShiftLeft (One, Local1, IRF1)
  5315. }
  5316. }
  5317. Return (BUFF)
  5318. }
  5319. Method (_SRS, 1, NotSerialized)
  5320. {
  5321. CreateByteField (Arg0, 0x01, IRF1)
  5322. CreateByteField (Arg0, 0x02, IRF2)
  5323. If (LGreater (IRF2, Zero))
  5324. {
  5325. FindSetLeftBit (IRF2, Local0)
  5326. Decrement (Local0)
  5327. Add (Local0, 0x08, Local0)
  5328. }
  5329. Else
  5330. {
  5331. FindSetLeftBit (IRF1, Local0)
  5332. Decrement (Local0)
  5333. }
  5334. Store (One, ENR8)
  5335. Store (Zero, POLF)
  5336. Store (Local0, PIRF)
  5337. }
  5338. }
  5339. Device (LNK0)
  5340. {
  5341. Name (_HID, EisaId ("PNP0C0F"))
  5342. Name (_UID, 0x07)
  5343. Method (_STA, 0, NotSerialized)
  5344. {
  5345. If (LEqual (PIRG, 0x00))
  5346. {
  5347. Return (0x09)
  5348. }
  5349. Else
  5350. {
  5351. Return (0x0B)
  5352. }
  5353. }
  5354. Method (_PRS, 0, NotSerialized)
  5355. {
  5356. Name (BUFG, ResourceTemplate ()
  5357. {
  5358. IRQ (Level, ActiveLow, Shared, )
  5359. {3,4,6,7,10,11,12}
  5360. })
  5361. Return (BUFG)
  5362. }
  5363. Method (_DIS, 0, NotSerialized)
  5364. {
  5365. Store (Zero, PIRG)
  5366. }
  5367. Method (_CRS, 0, NotSerialized)
  5368. {
  5369. Name (BUFG, ResourceTemplate ()
  5370. {
  5371. IRQ (Level, ActiveLow, Shared, _Y09)
  5372. {}
  5373. })
  5374. CreateByteField (BUFG, \_SB.PCI0.LNK0._CRS._Y09._INT, IRG1)
  5375. CreateByteField (BUFG, 0x02, IRG2)
  5376. Store (Zero, IRG1)
  5377. Store (Zero, IRG2)
  5378. Store (PIRG, Local0)
  5379. If (LGreater (Local0, 0x00))
  5380. {
  5381. If (LGreater (Local0, 0x07))
  5382. {
  5383. Subtract (Local0, 0x08, Local0)
  5384. ShiftLeft (One, Local0, IRG2)
  5385. }
  5386. Else
  5387. {
  5388. Store (0x01, Local1)
  5389. ShiftLeft (Local1, Local0, IRG1)
  5390. }
  5391. }
  5392. Return (BUFG)
  5393. }
  5394. Method (_SRS, 1, NotSerialized)
  5395. {
  5396. CreateByteField (Arg0, 0x01, IRG1)
  5397. CreateByteField (Arg0, 0x02, IRG2)
  5398. If (LGreater (IRG2, Zero))
  5399. {
  5400. FindSetLeftBit (IRG2, Local0)
  5401. Decrement (Local0)
  5402. Add (Local0, 0x08, Local0)
  5403. }
  5404. Else
  5405. {
  5406. FindSetLeftBit (IRG1, Local0)
  5407. Decrement (Local0)
  5408. }
  5409. Store (One, ENR8)
  5410. Store (Zero, POLG)
  5411. Store (Local0, PIRG)
  5412. }
  5413. }
  5414. Device (LNK1)
  5415. {
  5416. Name (_HID, EisaId ("PNP0C0F"))
  5417. Name (_UID, 0x08)
  5418. Method (_STA, 0, NotSerialized)
  5419. {
  5420. If (LEqual (PIRH, 0x00))
  5421. {
  5422. Return (0x09)
  5423. }
  5424. Else
  5425. {
  5426. Return (0x0B)
  5427. }
  5428. }
  5429. Method (_PRS, 0, NotSerialized)
  5430. {
  5431. Name (BUFH, ResourceTemplate ()
  5432. {
  5433. IRQ (Level, ActiveLow, Shared, )
  5434. {3,4,6,7,10,11,12}
  5435. })
  5436. Return (BUFH)
  5437. }
  5438. Method (_DIS, 0, NotSerialized)
  5439. {
  5440. Store (Zero, PIRH)
  5441. }
  5442. Method (_CRS, 0, NotSerialized)
  5443. {
  5444. Name (BUFH, ResourceTemplate ()
  5445. {
  5446. IRQ (Level, ActiveLow, Shared, _Y0A)
  5447. {}
  5448. })
  5449. CreateByteField (BUFH, \_SB.PCI0.LNK1._CRS._Y0A._INT, IRH1)
  5450. CreateByteField (BUFH, 0x02, IRH2)
  5451. Store (Zero, IRH1)
  5452. Store (Zero, IRH2)
  5453. Store (PIRH, Local0)
  5454. If (LGreater (Local0, 0x00))
  5455. {
  5456. If (LGreater (Local0, 0x07))
  5457. {
  5458. Subtract (Local0, 0x08, Local0)
  5459. ShiftLeft (One, Local0, IRH2)
  5460. }
  5461. Else
  5462. {
  5463. Store (0x01, Local1)
  5464. ShiftLeft (Local1, Local0, IRH1)
  5465. }
  5466. }
  5467. Return (BUFH)
  5468. }
  5469. Method (_SRS, 1, NotSerialized)
  5470. {
  5471. CreateByteField (Arg0, 0x01, IRH1)
  5472. CreateByteField (Arg0, 0x02, IRH2)
  5473. If (LGreater (IRH2, Zero))
  5474. {
  5475. FindSetLeftBit (IRH2, Local0)
  5476. Decrement (Local0)
  5477. Add (Local0, 0x08, Local0)
  5478. }
  5479. Else
  5480. {
  5481. FindSetLeftBit (IRH1, Local0)
  5482. Decrement (Local0)
  5483. }
  5484. Store (One, ENR8)
  5485. Store (Zero, POLH)
  5486. Store (Local0, PIRH)
  5487. }
  5488. }
  5489. Scope (\)
  5490. {
  5491. OperationRegion (\SCPP, SystemIO, 0x042F, 0x01)
  5492. Field (\SCPP, ByteAcc, NoLock, Preserve)
  5493. {
  5494. SMIP, 8
  5495. }
  5496. }
  5497. Method (\_SB.PCI0._INI, 0, NotSerialized)
  5498. {
  5499. If (STRC (\_OS, "Microsoft Windows"))
  5500. {
  5501. Store (0x56, SMIP)
  5502. }
  5503. Else
  5504. {
  5505. If (STRC (\_OS, "Microsoft Windows NT"))
  5506. {
  5507. If (CondRefOf (\_OSI, Local0))
  5508. {
  5509. If (\_OSI ("Windows 2001"))
  5510. {
  5511. Store (0x59, SMIP)
  5512. Store (0x00, OSFL)
  5513. Store (0x03, OSFX)
  5514. }
  5515. If (\_OSI ("Windows 2006"))
  5516. {
  5517. Store (0x01, VSTA)
  5518. }
  5519. }
  5520. Else
  5521. {
  5522. Store (0x58, SMIP)
  5523. Store (0x00, OSFX)
  5524. Store (0x00, OSFL)
  5525. }
  5526. }
  5527. Else
  5528. {
  5529. Store (0x57, SMIP)
  5530. Store (0x02, OSFX)
  5531. Store (0x02, OSFL)
  5532. }
  5533. }
  5534. Store (0x00, SBFL)
  5535. If (LEqual (DEID, 0x3147))
  5536. {
  5537. Store (0x01, SBFL)
  5538. }
  5539. If (LEqual (DEID, 0x3177))
  5540. {
  5541. Store (0x02, SBFL)
  5542. }
  5543. If (LEqual (DEID, 0x3227))
  5544. {
  5545. Store (0x03, SBFL)
  5546. }
  5547. If (LEqual (DEID, 0x3287))
  5548. {
  5549. Store (0x04, SBFL)
  5550. }
  5551. Store (0x00, ATFL)
  5552. If (LNotEqual (\_SB.PCI0.P2PE.SCLS, 0x04))
  5553. {
  5554. Store (Zero, \_SB.PCI0.SBF7.P2PC)
  5555. Store (\_SB.PCI0.P2PE.SBAS, SMB1)
  5556. ShiftLeft (SMB1, 0x10, SMB1)
  5557. And (SMB1, 0xFFF00000, SMB1)
  5558. Store (\_SB.PCI0.P2PE.SLIM, SMB2)
  5559. ShiftLeft (SMB2, 0x10, SMB2)
  5560. And (SMB2, 0xFFF00000, SMB2)
  5561. Or (SMB2, 0x000FFFFF, SMB2)
  5562. Store (One, \_SB.PCI0.SBF7.P2PC)
  5563. }
  5564. Else
  5565. {
  5566. Store (\_SB.PCI0.P2PE.SLIM, SMB1)
  5567. ShiftLeft (SMB1, 0x10, SMB1)
  5568. And (SMB1, 0xFFF00000, SMB1)
  5569. Or (SMB1, 0x000FFFFF, SMB1)
  5570. Add (SMB1, 0x01, SMB1)
  5571. Store (\_SB.PCI0.P2PE.SLIM, SMB2)
  5572. ShiftLeft (SMB2, 0x10, SMB2)
  5573. And (SMB2, 0xFFF00000, SMB2)
  5574. Or (SMB2, 0x000FFFFF, SMB2)
  5575. }
  5576. }
  5577. Scope (\)
  5578. {
  5579. Method (OSTP, 0, NotSerialized)
  5580. {
  5581. If (LEqual (OSFX, 0x01))
  5582. {
  5583. Store (0x56, SMIP)
  5584. }
  5585. If (LEqual (OSFX, 0x02))
  5586. {
  5587. Store (0x57, SMIP)
  5588. }
  5589. If (LEqual (OSFX, 0x00))
  5590. {
  5591. Store (0x58, SMIP)
  5592. }
  5593. If (LEqual (OSFX, 0x03))
  5594. {
  5595. Store (0x59, SMIP)
  5596. }
  5597. }
  5598. }
  5599. Device (SYSR)
  5600. {
  5601. Name (_HID, EisaId ("PNP0C02"))
  5602. Name (_UID, 0x01)
  5603. Name (_CRS, ResourceTemplate ()
  5604. {
  5605. IO (Decode16,
  5606. 0x0010, // Range Minimum
  5607. 0x0010, // Range Maximum
  5608. 0x01, // Alignment
  5609. 0x10, // Length
  5610. )
  5611. IO (Decode16,
  5612. 0x0022, // Range Minimum
  5613. 0x0022, // Range Maximum
  5614. 0x01, // Alignment
  5615. 0x1E, // Length
  5616. )
  5617. IO (Decode16,
  5618. 0x0044, // Range Minimum
  5619. 0x0044, // Range Maximum
  5620. 0x01, // Alignment
  5621. 0x1C, // Length
  5622. )
  5623. IO (Decode16,
  5624. 0x0062, // Range Minimum
  5625. 0x0062, // Range Maximum
  5626. 0x01, // Alignment
  5627. 0x02, // Length
  5628. )
  5629. IO (Decode16,
  5630. 0x0065, // Range Minimum
  5631. 0x0065, // Range Maximum
  5632. 0x01, // Alignment
  5633. 0x0B, // Length
  5634. )
  5635. IO (Decode16,
  5636. 0x0074, // Range Minimum
  5637. 0x0074, // Range Maximum
  5638. 0x01, // Alignment
  5639. 0x0C, // Length
  5640. )
  5641. IO (Decode16,
  5642. 0x0091, // Range Minimum
  5643. 0x0091, // Range Maximum
  5644. 0x01, // Alignment
  5645. 0x03, // Length
  5646. )
  5647. IO (Decode16,
  5648. 0x00A2, // Range Minimum
  5649. 0x00A2, // Range Maximum
  5650. 0x01, // Alignment
  5651. 0x1E, // Length
  5652. )
  5653. IO (Decode16,
  5654. 0x00E0, // Range Minimum
  5655. 0x00E0, // Range Maximum
  5656. 0x01, // Alignment
  5657. 0x10, // Length
  5658. )
  5659. IO (Decode16,
  5660. 0x04D0, // Range Minimum
  5661. 0x04D0, // Range Maximum
  5662. 0x01, // Alignment
  5663. 0x02, // Length
  5664. )
  5665. IO (Decode16,
  5666. 0x0290, // Range Minimum
  5667. 0x0290, // Range Maximum
  5668. 0x01, // Alignment
  5669. 0x10, // Length
  5670. )
  5671. IO (Decode16,
  5672. 0x0800, // Range Minimum
  5673. 0x0800, // Range Maximum
  5674. 0x01, // Alignment
  5675. 0x06, // Length
  5676. )
  5677. IO (Decode16,
  5678. 0x0880, // Range Minimum
  5679. 0x0880, // Range Maximum
  5680. 0x01, // Alignment
  5681. 0x10, // Length
  5682. )
  5683. })
  5684. }
  5685. Device (PIC)
  5686. {
  5687. Name (_HID, EisaId ("PNP0000"))
  5688. Name (_CRS, ResourceTemplate ()
  5689. {
  5690. IO (Decode16,
  5691. 0x0020, // Range Minimum
  5692. 0x0020, // Range Maximum
  5693. 0x01, // Alignment
  5694. 0x02, // Length
  5695. )
  5696. IO (Decode16,
  5697. 0x00A0, // Range Minimum
  5698. 0x00A0, // Range Maximum
  5699. 0x01, // Alignment
  5700. 0x02, // Length
  5701. )
  5702. IRQNoFlags ()
  5703. {2}
  5704. })
  5705. }
  5706. Device (DMA1)
  5707. {
  5708. Name (_HID, EisaId ("PNP0200"))
  5709. Name (_CRS, ResourceTemplate ()
  5710. {
  5711. DMA (Compatibility, BusMaster, Transfer8, )
  5712. {4}
  5713. IO (Decode16,
  5714. 0x0000, // Range Minimum
  5715. 0x0000, // Range Maximum
  5716. 0x01, // Alignment
  5717. 0x10, // Length
  5718. )
  5719. IO (Decode16,
  5720. 0x0080, // Range Minimum
  5721. 0x0080, // Range Maximum
  5722. 0x01, // Alignment
  5723. 0x11, // Length
  5724. )
  5725. IO (Decode16,
  5726. 0x0094, // Range Minimum
  5727. 0x0094, // Range Maximum
  5728. 0x01, // Alignment
  5729. 0x0C, // Length
  5730. )
  5731. IO (Decode16,
  5732. 0x00C0, // Range Minimum
  5733. 0x00C0, // Range Maximum
  5734. 0x01, // Alignment
  5735. 0x20, // Length
  5736. )
  5737. })
  5738. }
  5739. Device (TMR)
  5740. {
  5741. Name (_HID, EisaId ("PNP0100"))
  5742. Name (ATT5, ResourceTemplate ()
  5743. {
  5744. IO (Decode16,
  5745. 0x0040, // Range Minimum
  5746. 0x0040, // Range Maximum
  5747. 0x00, // Alignment
  5748. 0x04, // Length
  5749. )
  5750. IRQNoFlags ()
  5751. {0}
  5752. })
  5753. Name (ATT6, ResourceTemplate ()
  5754. {
  5755. IO (Decode16,
  5756. 0x0040, // Range Minimum
  5757. 0x0040, // Range Maximum
  5758. 0x00, // Alignment
  5759. 0x04, // Length
  5760. )
  5761. })
  5762. Method (_CRS, 0, NotSerialized)
  5763. {
  5764. If (LEqual (OSFX, 0x03))
  5765. {
  5766. If (HPTF)
  5767. {
  5768. Return (ATT6)
  5769. }
  5770. Else
  5771. {
  5772. Return (ATT5)
  5773. }
  5774. }
  5775. Else
  5776. {
  5777. Return (ATT5)
  5778. }
  5779. }
  5780. }
  5781. Device (HPET)
  5782. {
  5783. Name (_HID, EisaId ("PNP0103"))
  5784. Name (ATT3, ResourceTemplate ()
  5785. {
  5786. IRQNoFlags ()
  5787. {0}
  5788. IRQNoFlags ()
  5789. {8}
  5790. Memory32Fixed (ReadWrite,
  5791. 0xFE800000, // Address Base
  5792. 0x00000400, // Address Length
  5793. )
  5794. })
  5795. Name (ATT4, ResourceTemplate ()
  5796. {
  5797. })
  5798. Method (_STA, 0, NotSerialized)
  5799. {
  5800. If (LEqual (OSFX, 0x03))
  5801. {
  5802. If (HPTF)
  5803. {
  5804. Return (0x0F)
  5805. }
  5806. Else
  5807. {
  5808. Return (0x00)
  5809. }
  5810. }
  5811. Else
  5812. {
  5813. Return (0x00)
  5814. }
  5815. }
  5816. Method (_CRS, 0, NotSerialized)
  5817. {
  5818. If (LEqual (OSFX, 0x03))
  5819. {
  5820. If (HPTF)
  5821. {
  5822. Return (ATT3)
  5823. }
  5824. Else
  5825. {
  5826. Return (ATT4)
  5827. }
  5828. }
  5829. Else
  5830. {
  5831. Return (ATT4)
  5832. }
  5833. }
  5834. }
  5835. Device (RTC)
  5836. {
  5837. Name (_HID, EisaId ("PNP0B00"))
  5838. Name (ATT0, ResourceTemplate ()
  5839. {
  5840. IO (Decode16,
  5841. 0x0070, // Range Minimum
  5842. 0x0070, // Range Maximum
  5843. 0x00, // Alignment
  5844. 0x04, // Length
  5845. )
  5846. IRQNoFlags ()
  5847. {8}
  5848. })
  5849. Name (ATT1, ResourceTemplate ()
  5850. {
  5851. IO (Decode16,
  5852. 0x0070, // Range Minimum
  5853. 0x0070, // Range Maximum
  5854. 0x00, // Alignment
  5855. 0x04, // Length
  5856. )
  5857. })
  5858. Method (_CRS, 0, NotSerialized)
  5859. {
  5860. If (LEqual (OSFX, 0x03))
  5861. {
  5862. If (HPTF)
  5863. {
  5864. Return (ATT1)
  5865. }
  5866. Else
  5867. {
  5868. Return (ATT0)
  5869. }
  5870. }
  5871. Else
  5872. {
  5873. Return (ATT0)
  5874. }
  5875. }
  5876. }
  5877. Device (SPKR)
  5878. {
  5879. Name (_HID, EisaId ("PNP0800"))
  5880. Name (_CRS, ResourceTemplate ()
  5881. {
  5882. IO (Decode16,
  5883. 0x0061, // Range Minimum
  5884. 0x0061, // Range Maximum
  5885. 0x01, // Alignment
  5886. 0x01, // Length
  5887. )
  5888. })
  5889. }
  5890. Device (COPR)
  5891. {
  5892. Name (_HID, EisaId ("PNP0C04"))
  5893. Name (_CRS, ResourceTemplate ()
  5894. {
  5895. IO (Decode16,
  5896. 0x00F0, // Range Minimum
  5897. 0x00F0, // Range Maximum
  5898. 0x01, // Alignment
  5899. 0x10, // Length
  5900. )
  5901. IRQNoFlags ()
  5902. {13}
  5903. })
  5904. }
  5905. Scope (\)
  5906. {
  5907. OperationRegion (WIN1, SystemIO, 0x2E, 0x02)
  5908. Field (WIN1, ByteAcc, NoLock, Preserve)
  5909. {
  5910. INDP, 8,
  5911. DATP, 8
  5912. }
  5913. IndexField (INDP, DATP, ByteAcc, NoLock, Preserve)
  5914. {
  5915. Offset (0x02),
  5916. CFG, 8,
  5917. Offset (0x07),
  5918. LDN, 8,
  5919. Offset (0x20),
  5920. IDHI, 8,
  5921. IDLO, 8,
  5922. POWC, 8,
  5923. Offset (0x30),
  5924. ACTR, 8,
  5925. Offset (0x60),
  5926. IOAH, 8,
  5927. IOAL, 8,
  5928. IO2H, 8,
  5929. IO2L, 8,
  5930. Offset (0x70),
  5931. INTR, 8,
  5932. Offset (0x72),
  5933. INT1, 8,
  5934. Offset (0x74),
  5935. DMCH, 8,
  5936. Offset (0xF0),
  5937. OPT1, 8,
  5938. OPT2, 8,
  5939. OPT3, 8
  5940. }
  5941. Method (ENFG, 0, NotSerialized)
  5942. {
  5943. Store (0x87, INDP)
  5944. Store (0x01, INDP)
  5945. Store (0x55, INDP)
  5946. Store (0x55, INDP)
  5947. Or (POWC, 0x80, POWC)
  5948. }
  5949. Method (EXFG, 0, NotSerialized)
  5950. {
  5951. Store (0x02, CFG)
  5952. }
  5953. Method (GSRG, 1, NotSerialized)
  5954. {
  5955. Store (Arg0, INDP)
  5956. Return (DATP)
  5957. }
  5958. Method (SSRG, 2, NotSerialized)
  5959. {
  5960. Store (Arg0, INDP)
  5961. Store (Arg1, DATP)
  5962. }
  5963. }
  5964. Device (FDC0)
  5965. {
  5966. Name (_HID, EisaId ("PNP0700"))
  5967. Method (_STA, 0, NotSerialized)
  5968. {
  5969. ENFG ()
  5970. Store (Zero, LDN)
  5971. If (ACTR)
  5972. {
  5973. EXFG ()
  5974. Return (0x0F)
  5975. }
  5976. Else
  5977. {
  5978. If (LOr (IOAH, IOAL))
  5979. {
  5980. EXFG ()
  5981. Return (0x0D)
  5982. }
  5983. Else
  5984. {
  5985. EXFG ()
  5986. Return (0x00)
  5987. }
  5988. }
  5989. }
  5990. Method (_DIS, 0, NotSerialized)
  5991. {
  5992. ENFG ()
  5993. Store (0x00, LDN)
  5994. XOr (ACTR, 0x01, Local0)
  5995. Store (Local0, ACTR)
  5996. Store (DMCH, Local1)
  5997. ShiftLeft (IOAH, 0x08, Local2)
  5998. Or (IOAL, Local2, Local2)
  5999. EXFG ()
  6000. If (LEqual (Local0, 0x00))
  6001. {
  6002. SLDM (Local1, 0x04)
  6003. DISD (0x03)
  6004. }
  6005. Else
  6006. {
  6007. SLDM (Local1, Local1)
  6008. CKIO (Local2, 0x03)
  6009. }
  6010. }
  6011. Method (_CRS, 0, NotSerialized)
  6012. {
  6013. Name (BUF0, ResourceTemplate ()
  6014. {
  6015. IO (Decode16,
  6016. 0x03F0, // Range Minimum
  6017. 0x03F0, // Range Maximum
  6018. 0x01, // Alignment
  6019. 0x06, // Length
  6020. _Y0B)
  6021. IO (Decode16,
  6022. 0x03F7, // Range Minimum
  6023. 0x03F7, // Range Maximum
  6024. 0x01, // Alignment
  6025. 0x01, // Length
  6026. )
  6027. IRQNoFlags ()
  6028. {6}
  6029. DMA (Compatibility, NotBusMaster, Transfer8, )
  6030. {2}
  6031. })
  6032. CreateByteField (BUF0, \_SB.PCI0.FDC0._CRS._Y0B._MIN, IOLO)
  6033. CreateByteField (BUF0, 0x03, IOHI)
  6034. CreateByteField (BUF0, \_SB.PCI0.FDC0._CRS._Y0B._MAX, IORL)
  6035. CreateByteField (BUF0, 0x05, IORH)
  6036. ENFG ()
  6037. EXFG ()
  6038. Return (BUF0)
  6039. }
  6040. Name (_PRS, ResourceTemplate ()
  6041. {
  6042. StartDependentFnNoPri ()
  6043. {
  6044. IO (Decode16,
  6045. 0x03F0, // Range Minimum
  6046. 0x03F0, // Range Maximum
  6047. 0x01, // Alignment
  6048. 0x06, // Length
  6049. )
  6050. IO (Decode16,
  6051. 0x03F7, // Range Minimum
  6052. 0x03F7, // Range Maximum
  6053. 0x01, // Alignment
  6054. 0x01, // Length
  6055. )
  6056. IRQNoFlags ()
  6057. {6}
  6058. DMA (Compatibility, NotBusMaster, Transfer8, )
  6059. {2}
  6060. }
  6061. EndDependentFn ()
  6062. })
  6063. Method (_SRS, 1, NotSerialized)
  6064. {
  6065. CreateByteField (Arg0, 0x02, IOLO)
  6066. CreateByteField (Arg0, 0x03, IOHI)
  6067. CreateWordField (Arg0, 0x02, IOAD)
  6068. CreateWordField (Arg0, 0x19, IRQW)
  6069. CreateByteField (Arg0, 0x1C, DMAV)
  6070. ENFG ()
  6071. Store (Zero, LDN)
  6072. Store (One, ACTR)
  6073. SLDM (DMCH, DMCH)
  6074. CKIO (IOAD, 0x03)
  6075. EXFG ()
  6076. }
  6077. }
  6078. Device (UAR1)
  6079. {
  6080. Name (_HID, EisaId ("PNP0501"))
  6081. Name (_UID, 0x01)
  6082. Method (_STA, 0, NotSerialized)
  6083. {
  6084. ENFG ()
  6085. Store (0x01, LDN)
  6086. If (ACTR)
  6087. {
  6088. EXFG ()
  6089. Return (0x0F)
  6090. }
  6091. Else
  6092. {
  6093. If (LOr (IOAH, IOAL))
  6094. {
  6095. EXFG ()
  6096. Return (0x0D)
  6097. }
  6098. Else
  6099. {
  6100. EXFG ()
  6101. Return (0x00)
  6102. }
  6103. }
  6104. EXFG ()
  6105. }
  6106. Method (_DIS, 0, NotSerialized)
  6107. {
  6108. ENFG ()
  6109. Store (0x01, LDN)
  6110. Store (Zero, ACTR)
  6111. EXFG ()
  6112. DISD (0x00)
  6113. }
  6114. Method (_CRS, 0, NotSerialized)
  6115. {
  6116. Name (BUF1, ResourceTemplate ()
  6117. {
  6118. IO (Decode16,
  6119. 0x0000, // Range Minimum
  6120. 0x0000, // Range Maximum
  6121. 0x01, // Alignment
  6122. 0x08, // Length
  6123. _Y0C)
  6124. IRQNoFlags (_Y0D)
  6125. {}
  6126. })
  6127. CreateByteField (BUF1, \_SB.PCI0.UAR1._CRS._Y0C._MIN, IOLO)
  6128. CreateByteField (BUF1, 0x03, IOHI)
  6129. CreateByteField (BUF1, \_SB.PCI0.UAR1._CRS._Y0C._MAX, IORL)
  6130. CreateByteField (BUF1, 0x05, IORH)
  6131. CreateWordField (BUF1, \_SB.PCI0.UAR1._CRS._Y0D._INT, IRQW)
  6132. ENFG ()
  6133. Store (0x01, LDN)
  6134. Store (IOAL, IOLO)
  6135. Store (IOAL, IORL)
  6136. Store (IOAH, IOHI)
  6137. Store (IOAH, IORH)
  6138. Store (One, Local0)
  6139. ShiftLeft (Local0, INTR, IRQW)
  6140. EXFG ()
  6141. Return (BUF1)
  6142. }
  6143. Name (_PRS, ResourceTemplate ()
  6144. {
  6145. StartDependentFnNoPri ()
  6146. {
  6147. IO (Decode16,
  6148. 0x03F8, // Range Minimum
  6149. 0x03F8, // Range Maximum
  6150. 0x01, // Alignment
  6151. 0x08, // Length
  6152. )
  6153. IRQNoFlags ()
  6154. {3,4,5,7,9,10,11,12}
  6155. }
  6156. StartDependentFnNoPri ()
  6157. {
  6158. IO (Decode16,
  6159. 0x02F8, // Range Minimum
  6160. 0x02F8, // Range Maximum
  6161. 0x01, // Alignment
  6162. 0x08, // Length
  6163. )
  6164. IRQNoFlags ()
  6165. {3,4,5,7,9,10,11,12}
  6166. }
  6167. StartDependentFnNoPri ()
  6168. {
  6169. IO (Decode16,
  6170. 0x03E8, // Range Minimum
  6171. 0x03E8, // Range Maximum
  6172. 0x01, // Alignment
  6173. 0x08, // Length
  6174. )
  6175. IRQNoFlags ()
  6176. {3,4,5,7,9,10,11,12}
  6177. }
  6178. StartDependentFnNoPri ()
  6179. {
  6180. IO (Decode16,
  6181. 0x02E8, // Range Minimum
  6182. 0x02E8, // Range Maximum
  6183. 0x01, // Alignment
  6184. 0x08, // Length
  6185. )
  6186. IRQNoFlags ()
  6187. {3,4,5,7,9,10,11,12}
  6188. }
  6189. EndDependentFn ()
  6190. })
  6191. Method (_SRS, 1, NotSerialized)
  6192. {
  6193. CreateByteField (Arg0, 0x02, IOLO)
  6194. CreateByteField (Arg0, 0x03, IOHI)
  6195. CreateWordField (Arg0, 0x02, IOAD)
  6196. CreateWordField (Arg0, 0x09, IRQW)
  6197. ENFG ()
  6198. Store (0x01, LDN)
  6199. Store (One, ACTR)
  6200. Store (IOLO, IOAL)
  6201. Store (IOHI, IOAH)
  6202. FindSetRightBit (IRQW, Local0)
  6203. Subtract (Local0, 0x01, INTR)
  6204. EXFG ()
  6205. CKIO (IOAD, 0x00)
  6206. }
  6207. }
  6208. Device (UAR2)
  6209. {
  6210. Method (_HID, 0, NotSerialized)
  6211. {
  6212. ENFG ()
  6213. Store (0x02, LDN)
  6214. And (OPT1, 0x70, Local0)
  6215. If (LEqual (Local0, 0x40))
  6216. {
  6217. Return (0x05878526)
  6218. }
  6219. Else
  6220. {
  6221. Return (0x0105D041)
  6222. }
  6223. EXFG ()
  6224. }
  6225. Name (_UID, 0x02)
  6226. Method (_STA, 0, NotSerialized)
  6227. {
  6228. ENFG ()
  6229. Store (0x02, LDN)
  6230. And (OPT1, 0x70, Local0)
  6231. If (LNotEqual (Local0, 0x10))
  6232. {
  6233. If (ACTR)
  6234. {
  6235. EXFG ()
  6236. Return (0x0F)
  6237. }
  6238. Else
  6239. {
  6240. If (LOr (IOAH, IOAL))
  6241. {
  6242. EXFG ()
  6243. Return (0x0D)
  6244. }
  6245. Else
  6246. {
  6247. EXFG ()
  6248. Return (0x00)
  6249. }
  6250. }
  6251. }
  6252. Else
  6253. {
  6254. EXFG ()
  6255. Return (0x00)
  6256. }
  6257. }
  6258. Method (_DIS, 0, NotSerialized)
  6259. {
  6260. ENFG ()
  6261. Store (0x02, LDN)
  6262. Store (Zero, ACTR)
  6263. EXFG ()
  6264. DISD (0x01)
  6265. }
  6266. Method (_CRS, 0, NotSerialized)
  6267. {
  6268. Name (BUF2, ResourceTemplate ()
  6269. {
  6270. IO (Decode16,
  6271. 0x0000, // Range Minimum
  6272. 0x0000, // Range Maximum
  6273. 0x01, // Alignment
  6274. 0x08, // Length
  6275. _Y0E)
  6276. IRQNoFlags (_Y0F)
  6277. {4}
  6278. })
  6279. CreateByteField (BUF2, \_SB.PCI0.UAR2._CRS._Y0E._MIN, IOLO)
  6280. CreateByteField (BUF2, 0x03, IOHI)
  6281. CreateByteField (BUF2, \_SB.PCI0.UAR2._CRS._Y0E._MAX, IORL)
  6282. CreateByteField (BUF2, 0x05, IORH)
  6283. CreateWordField (BUF2, \_SB.PCI0.UAR2._CRS._Y0F._INT, IRQW)
  6284. ENFG ()
  6285. Store (0x02, LDN)
  6286. Store (IOAL, IOLO)
  6287. Store (IOAL, IORL)
  6288. Store (IOAH, IOHI)
  6289. Store (IOAH, IORH)
  6290. Store (One, Local0)
  6291. ShiftLeft (Local0, INTR, IRQW)
  6292. EXFG ()
  6293. Return (BUF2)
  6294. }
  6295. Name (_PRS, ResourceTemplate ()
  6296. {
  6297. StartDependentFnNoPri ()
  6298. {
  6299. IO (Decode16,
  6300. 0x03F8, // Range Minimum
  6301. 0x03F8, // Range Maximum
  6302. 0x01, // Alignment
  6303. 0x08, // Length
  6304. )
  6305. IRQNoFlags ()
  6306. {3,4,5,7,9,10,11,12}
  6307. }
  6308. StartDependentFnNoPri ()
  6309. {
  6310. IO (Decode16,
  6311. 0x02F8, // Range Minimum
  6312. 0x02F8, // Range Maximum
  6313. 0x01, // Alignment
  6314. 0x08, // Length
  6315. )
  6316. IRQNoFlags ()
  6317. {3,4,5,7,9,10,11,12}
  6318. }
  6319. StartDependentFnNoPri ()
  6320. {
  6321. IO (Decode16,
  6322. 0x03E8, // Range Minimum
  6323. 0x03E8, // Range Maximum
  6324. 0x01, // Alignment
  6325. 0x08, // Length
  6326. )
  6327. IRQNoFlags ()
  6328. {3,4,5,7,9,10,11,12}
  6329. }
  6330. StartDependentFnNoPri ()
  6331. {
  6332. IO (Decode16,
  6333. 0x02E8, // Range Minimum
  6334. 0x02E8, // Range Maximum
  6335. 0x01, // Alignment
  6336. 0x08, // Length
  6337. )
  6338. IRQNoFlags ()
  6339. {3,4,5,7,9,10,11,12}
  6340. }
  6341. EndDependentFn ()
  6342. })
  6343. Method (_SRS, 1, NotSerialized)
  6344. {
  6345. CreateByteField (Arg0, 0x02, IOLO)
  6346. CreateByteField (Arg0, 0x03, IOHI)
  6347. CreateWordField (Arg0, 0x02, IOAD)
  6348. CreateWordField (Arg0, 0x09, IRQW)
  6349. ENFG ()
  6350. Store (0x02, LDN)
  6351. Store (One, ACTR)
  6352. Store (IOLO, IOAL)
  6353. Store (IOHI, IOAH)
  6354. FindSetRightBit (IRQW, Local0)
  6355. Subtract (Local0, 0x01, INTR)
  6356. EXFG ()
  6357. CKIO (IOAD, 0x01)
  6358. }
  6359. }
  6360. Method (\_SB.PCI0.UAR2._PRW, 0, NotSerialized)
  6361. {
  6362. Return (Package (0x02)
  6363. {
  6364. 0x03,
  6365. 0x05
  6366. })
  6367. }
  6368. Device (LPT1)
  6369. {
  6370. Name (_HID, EisaId ("PNP0400"))
  6371. Name (_UID, 0x01)
  6372. Method (_STA, 0, NotSerialized)
  6373. {
  6374. ENFG ()
  6375. Store (0x03, LDN)
  6376. And (OPT1, 0x02, Local0)
  6377. If (LNotEqual (Local0, 0x02))
  6378. {
  6379. If (ACTR)
  6380. {
  6381. EXFG ()
  6382. Return (0x0F)
  6383. }
  6384. Else
  6385. {
  6386. If (LOr (IOAH, IOAL))
  6387. {
  6388. EXFG ()
  6389. Return (0x0D)
  6390. }
  6391. Else
  6392. {
  6393. EXFG ()
  6394. Return (0x00)
  6395. }
  6396. }
  6397. }
  6398. Else
  6399. {
  6400. EXFG ()
  6401. Return (0x00)
  6402. }
  6403. }
  6404. Method (_DIS, 0, NotSerialized)
  6405. {
  6406. ENFG ()
  6407. Store (0x03, LDN)
  6408. Store (Zero, ACTR)
  6409. EXFG ()
  6410. DISD (0x02)
  6411. }
  6412. Method (_CRS, 0, NotSerialized)
  6413. {
  6414. Name (BUF5, ResourceTemplate ()
  6415. {
  6416. IO (Decode16,
  6417. 0x0000, // Range Minimum
  6418. 0x0000, // Range Maximum
  6419. 0x01, // Alignment
  6420. 0x08, // Length
  6421. _Y10)
  6422. IRQNoFlags (_Y11)
  6423. {}
  6424. })
  6425. CreateByteField (BUF5, \_SB.PCI0.LPT1._CRS._Y10._MIN, IOLO)
  6426. CreateByteField (BUF5, 0x03, IOHI)
  6427. CreateByteField (BUF5, \_SB.PCI0.LPT1._CRS._Y10._MAX, IORL)
  6428. CreateByteField (BUF5, 0x05, IORH)
  6429. CreateByteField (BUF5, \_SB.PCI0.LPT1._CRS._Y10._LEN, IOLE)
  6430. CreateWordField (BUF5, \_SB.PCI0.LPT1._CRS._Y11._INT, IRQW)
  6431. ENFG ()
  6432. Store (0x03, LDN)
  6433. Store (IOAL, IOLO)
  6434. Store (IOLO, IORL)
  6435. Store (IOAH, IOHI)
  6436. Store (IOHI, IORH)
  6437. If (LEqual (IOLO, 0xBC))
  6438. {
  6439. Store (0x04, IOLE)
  6440. }
  6441. Else
  6442. {
  6443. Store (0x08, IOLE)
  6444. }
  6445. Store (One, Local0)
  6446. Store (INTR, Local5)
  6447. ShiftLeft (Local0, Local5, IRQW)
  6448. EXFG ()
  6449. Return (BUF5)
  6450. }
  6451. Name (_PRS, ResourceTemplate ()
  6452. {
  6453. StartDependentFnNoPri ()
  6454. {
  6455. IO (Decode16,
  6456. 0x0378, // Range Minimum
  6457. 0x0378, // Range Maximum
  6458. 0x01, // Alignment
  6459. 0x08, // Length
  6460. )
  6461. IRQNoFlags ()
  6462. {3,4,5,7,9,10,11,12}
  6463. }
  6464. StartDependentFnNoPri ()
  6465. {
  6466. IO (Decode16,
  6467. 0x0278, // Range Minimum
  6468. 0x0278, // Range Maximum
  6469. 0x01, // Alignment
  6470. 0x08, // Length
  6471. )
  6472. IRQNoFlags ()
  6473. {3,4,5,7,9,10,11,12}
  6474. }
  6475. StartDependentFnNoPri ()
  6476. {
  6477. IO (Decode16,
  6478. 0x03BC, // Range Minimum
  6479. 0x03BC, // Range Maximum
  6480. 0x01, // Alignment
  6481. 0x04, // Length
  6482. )
  6483. IRQNoFlags ()
  6484. {3,4,5,7,9,10,11,12}
  6485. }
  6486. EndDependentFn ()
  6487. })
  6488. Method (_SRS, 1, NotSerialized)
  6489. {
  6490. CreateByteField (Arg0, 0x02, IOLO)
  6491. CreateByteField (Arg0, 0x03, IOHI)
  6492. CreateWordField (Arg0, 0x02, IOAD)
  6493. CreateByteField (Arg0, 0x04, IORL)
  6494. CreateByteField (Arg0, 0x05, IORH)
  6495. CreateWordField (Arg0, 0x09, IRQW)
  6496. ENFG ()
  6497. Store (0x03, LDN)
  6498. Store (One, ACTR)
  6499. Store (IOLO, IOAL)
  6500. Store (IOHI, IOAH)
  6501. FindSetLeftBit (IRQW, Local0)
  6502. Subtract (Local0, 0x01, Local0)
  6503. Store (Local0, INTR)
  6504. EXFG ()
  6505. CKIO (IOAD, 0x02)
  6506. }
  6507. }
  6508. Device (ECP1)
  6509. {
  6510. Name (_HID, EisaId ("PNP0401"))
  6511. Name (_UID, 0x01)
  6512. Method (_STA, 0, NotSerialized)
  6513. {
  6514. ENFG ()
  6515. Store (0x03, LDN)
  6516. And (OPT1, 0x02, Local0)
  6517. If (LEqual (Local0, 0x02))
  6518. {
  6519. If (ACTR)
  6520. {
  6521. EXFG ()
  6522. Return (0x0F)
  6523. }
  6524. Else
  6525. {
  6526. If (LOr (IOAH, IOAL))
  6527. {
  6528. EXFG ()
  6529. Return (0x0D)
  6530. }
  6531. Else
  6532. {
  6533. EXFG ()
  6534. Return (0x00)
  6535. }
  6536. }
  6537. }
  6538. Else
  6539. {
  6540. EXFG ()
  6541. Return (0x00)
  6542. }
  6543. }
  6544. Method (_DIS, 0, NotSerialized)
  6545. {
  6546. ENFG ()
  6547. Store (0x03, LDN)
  6548. Store (Zero, ACTR)
  6549. SLDM (DMCH, 0x04)
  6550. EXFG ()
  6551. DISD (0x02)
  6552. }
  6553. Method (_CRS, 0, NotSerialized)
  6554. {
  6555. Name (BUF6, ResourceTemplate ()
  6556. {
  6557. IO (Decode16,
  6558. 0x0000, // Range Minimum
  6559. 0x0000, // Range Maximum
  6560. 0x01, // Alignment
  6561. 0x04, // Length
  6562. _Y12)
  6563. IO (Decode16,
  6564. 0x0000, // Range Minimum
  6565. 0x0000, // Range Maximum
  6566. 0x01, // Alignment
  6567. 0x04, // Length
  6568. _Y13)
  6569. IRQNoFlags (_Y14)
  6570. {}
  6571. DMA (Compatibility, NotBusMaster, Transfer8, _Y15)
  6572. {}
  6573. })
  6574. CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y12._MIN, IOLO)
  6575. CreateByteField (BUF6, 0x03, IOHI)
  6576. CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y12._MAX, IORL)
  6577. CreateByteField (BUF6, 0x05, IORH)
  6578. CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y12._LEN, IOLE)
  6579. CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y13._MIN, IOEL)
  6580. CreateByteField (BUF6, 0x0B, IOEH)
  6581. CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y13._MAX, IOML)
  6582. CreateByteField (BUF6, 0x0D, IOMH)
  6583. CreateWordField (BUF6, \_SB.PCI0.ECP1._CRS._Y14._INT, IRQW)
  6584. CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y15._DMA, DMAC)
  6585. ENFG ()
  6586. Store (0x03, LDN)
  6587. Store (IOAL, Local2)
  6588. Store (Local2, IOLO)
  6589. Store (IOAH, Local3)
  6590. Store (Local3, IOHI)
  6591. Or (Local3, 0x04, Local3)
  6592. Store (Local3, IOEH)
  6593. Store (Local3, IOMH)
  6594. Store (IOLO, IORL)
  6595. Store (IOLO, IOEL)
  6596. Store (IOLO, IOML)
  6597. Store (IOHI, IORH)
  6598. If (LEqual (IOLO, 0xBC))
  6599. {
  6600. Store (0x04, IOLE)
  6601. }
  6602. Else
  6603. {
  6604. Store (0x08, IOLE)
  6605. }
  6606. Store (One, Local0)
  6607. Store (INTR, Local5)
  6608. ShiftLeft (Local0, Local5, IRQW)
  6609. Store (One, Local0)
  6610. Store (DMCH, Local5)
  6611. ShiftLeft (Local0, Local5, DMAC)
  6612. EXFG ()
  6613. Return (BUF6)
  6614. }
  6615. Name (_PRS, ResourceTemplate ()
  6616. {
  6617. StartDependentFnNoPri ()
  6618. {
  6619. IO (Decode16,
  6620. 0x0378, // Range Minimum
  6621. 0x0378, // Range Maximum
  6622. 0x00, // Alignment
  6623. 0x08, // Length
  6624. )
  6625. IO (Decode16,
  6626. 0x0778, // Range Minimum
  6627. 0x0778, // Range Maximum
  6628. 0x00, // Alignment
  6629. 0x04, // Length
  6630. )
  6631. IRQNoFlags ()
  6632. {3,4,5,7,9,10,11,12}
  6633. DMA (Compatibility, NotBusMaster, Transfer8, )
  6634. {0,1,3}
  6635. }
  6636. StartDependentFnNoPri ()
  6637. {
  6638. IO (Decode16,
  6639. 0x0278, // Range Minimum
  6640. 0x0278, // Range Maximum
  6641. 0x00, // Alignment
  6642. 0x08, // Length
  6643. )
  6644. IO (Decode16,
  6645. 0x0678, // Range Minimum
  6646. 0x0678, // Range Maximum
  6647. 0x00, // Alignment
  6648. 0x04, // Length
  6649. )
  6650. IRQNoFlags ()
  6651. {3,4,5,7,9,10,11,12}
  6652. DMA (Compatibility, NotBusMaster, Transfer8, )
  6653. {0,1,3}
  6654. }
  6655. StartDependentFnNoPri ()
  6656. {
  6657. IO (Decode16,
  6658. 0x03BC, // Range Minimum
  6659. 0x03BC, // Range Maximum
  6660. 0x00, // Alignment
  6661. 0x04, // Length
  6662. )
  6663. IO (Decode16,
  6664. 0x07BC, // Range Minimum
  6665. 0x07BC, // Range Maximum
  6666. 0x00, // Alignment
  6667. 0x04, // Length
  6668. )
  6669. IRQNoFlags ()
  6670. {3,4,5,7,9,10,11,12}
  6671. DMA (Compatibility, NotBusMaster, Transfer8, )
  6672. {0,1,3}
  6673. }
  6674. EndDependentFn ()
  6675. })
  6676. Method (_SRS, 1, NotSerialized)
  6677. {
  6678. CreateByteField (Arg0, 0x02, IOLO)
  6679. CreateByteField (Arg0, 0x03, IOHI)
  6680. CreateWordField (Arg0, 0x02, IOAD)
  6681. CreateWordField (Arg0, 0x11, IRQW)
  6682. CreateByteField (Arg0, 0x14, DMAC)
  6683. ENFG ()
  6684. Store (0x03, LDN)
  6685. Store (One, ACTR)
  6686. Store (IOLO, IOAL)
  6687. Store (IOHI, IOAH)
  6688. FindSetLeftBit (IRQW, Local0)
  6689. Subtract (Local0, 0x01, Local0)
  6690. Store (Local0, INTR)
  6691. FindSetLeftBit (DMAC, Local1)
  6692. Store (DMCH, Local0)
  6693. Subtract (Local1, 0x01, DMCH)
  6694. SLDM (Local0, DMCH)
  6695. EXFG ()
  6696. CKIO (IOAD, 0x02)
  6697. }
  6698. }
  6699. OperationRegion (KBCT, SystemIO, 0x60, 0x05)
  6700. Field (KBCT, ByteAcc, NoLock, Preserve)
  6701. {
  6702. P060, 8,
  6703. Offset (0x04),
  6704. P064, 8
  6705. }
  6706. Device (PS2M)
  6707. {
  6708. Name (_HID, EisaId ("PNP0F13"))
  6709. Method (_STA, 0, NotSerialized)
  6710. {
  6711. If (LEqual (PS2F, 0x00))
  6712. {
  6713. Return (0x0F)
  6714. }
  6715. Else
  6716. {
  6717. Return (0x00)
  6718. }
  6719. }
  6720. Method (_CRS, 0, NotSerialized)
  6721. {
  6722. Name (BUF1, ResourceTemplate ()
  6723. {
  6724. IRQNoFlags ()
  6725. {12}
  6726. })
  6727. Name (BUF2, ResourceTemplate ()
  6728. {
  6729. IO (Decode16,
  6730. 0x0060, // Range Minimum
  6731. 0x0060, // Range Maximum
  6732. 0x01, // Alignment
  6733. 0x01, // Length
  6734. )
  6735. IO (Decode16,
  6736. 0x0064, // Range Minimum
  6737. 0x0064, // Range Maximum
  6738. 0x01, // Alignment
  6739. 0x01, // Length
  6740. )
  6741. IRQNoFlags ()
  6742. {12}
  6743. })
  6744. If (LEqual (KBDI, 0x01))
  6745. {
  6746. If (LEqual (OSFL, 0x02))
  6747. {
  6748. Return (BUF1)
  6749. }
  6750. If (LEqual (OSFL, 0x01))
  6751. {
  6752. Return (BUF1)
  6753. }
  6754. Else
  6755. {
  6756. Return (BUF2)
  6757. }
  6758. }
  6759. Else
  6760. {
  6761. Return (BUF1)
  6762. }
  6763. }
  6764. }
  6765. Device (PS2K)
  6766. {
  6767. Name (_HID, EisaId ("PNP0303"))
  6768. Name (_CID, EisaId ("PNP030B"))
  6769. Method (_STA, 0, NotSerialized)
  6770. {
  6771. If (LEqual (KBDI, 0x01))
  6772. {
  6773. Return (0x00)
  6774. }
  6775. Else
  6776. {
  6777. Return (0x0F)
  6778. }
  6779. }
  6780. Name (_CRS, ResourceTemplate ()
  6781. {
  6782. IO (Decode16,
  6783. 0x0060, // Range Minimum
  6784. 0x0060, // Range Maximum
  6785. 0x01, // Alignment
  6786. 0x01, // Length
  6787. )
  6788. IO (Decode16,
  6789. 0x0064, // Range Minimum
  6790. 0x0064, // Range Maximum
  6791. 0x01, // Alignment
  6792. 0x01, // Length
  6793. )
  6794. IRQNoFlags ()
  6795. {1}
  6796. })
  6797. }
  6798. Device (PSMR)
  6799. {
  6800. Name (_HID, EisaId ("PNP0C02"))
  6801. Name (_UID, 0x03)
  6802. Method (_STA, 0, NotSerialized)
  6803. {
  6804. If (LEqual (KBDI, 0x00))
  6805. {
  6806. Return (0x00)
  6807. }
  6808. If (LEqual (PS2F, 0x00))
  6809. {
  6810. If (LEqual (OSFL, 0x02))
  6811. {
  6812. Return (0x0F)
  6813. }
  6814. If (LEqual (OSFL, 0x01))
  6815. {
  6816. Return (0x0F)
  6817. }
  6818. Return (0x00)
  6819. }
  6820. Return (0x00)
  6821. }
  6822. Name (_CRS, ResourceTemplate ()
  6823. {
  6824. IO (Decode16,
  6825. 0x0060, // Range Minimum
  6826. 0x0060, // Range Maximum
  6827. 0x01, // Alignment
  6828. 0x01, // Length
  6829. )
  6830. IO (Decode16,
  6831. 0x0064, // Range Minimum
  6832. 0x0064, // Range Maximum
  6833. 0x01, // Alignment
  6834. 0x01, // Length
  6835. )
  6836. })
  6837. }
  6838. Method (PS2W, 0, NotSerialized)
  6839. {
  6840. ENFG ()
  6841. Store (GSRG (0x07), Local0)
  6842. SSRG (0x07, 0x04)
  6843. Store (GSRG (0xF1), Local1)
  6844. If (And (Local1, 0x10))
  6845. {
  6846. Notify (\_SB.PCI0.PS2M, 0x02)
  6847. }
  6848. If (And (Local1, 0x08))
  6849. {
  6850. Notify (\_SB.PCI0.PS2K, 0x02)
  6851. }
  6852. SSRG (0xF1, 0xFF)
  6853. SSRG (0x07, Local0)
  6854. EXFG ()
  6855. }
  6856. Method (\_SB.PCI0.PS2M._PSW, 1, NotSerialized)
  6857. {
  6858. ENFG ()
  6859. Store (GSRG (0x07), Local0)
  6860. SSRG (0x07, 0x04)
  6861. Store (GSRG (0xF0), Local1)
  6862. If (Arg0)
  6863. {
  6864. Or (Local1, 0x10, Local1)
  6865. }
  6866. Else
  6867. {
  6868. And (Local1, 0xEF, Local1)
  6869. }
  6870. SSRG (0xF0, Local1)
  6871. SSRG (0x07, Local0)
  6872. EXFG ()
  6873. }
  6874. Method (\_SB.PCI0.PS2K._PSW, 1, NotSerialized)
  6875. {
  6876. ENFG ()
  6877. Store (GSRG (0x07), Local0)
  6878. SSRG (0x07, 0x04)
  6879. Store (GSRG (0xF0), Local1)
  6880. If (Arg0)
  6881. {
  6882. Or (Local1, 0x08, Local1)
  6883. }
  6884. Else
  6885. {
  6886. And (Local1, 0xF7, Local1)
  6887. }
  6888. SSRG (0xF0, Local1)
  6889. SSRG (0x07, Local0)
  6890. EXFG ()
  6891. }
  6892. Method (\_SB.PCI0.PS2M._PRW, 0, NotSerialized)
  6893. {
  6894. Return (Package (0x02)
  6895. {
  6896. 0x0B,
  6897. 0x04
  6898. })
  6899. }
  6900. Method (\_SB.PCI0.PS2K._PRW, 0, NotSerialized)
  6901. {
  6902. Return (Package (0x02)
  6903. {
  6904. 0x0B,
  6905. 0x04
  6906. })
  6907. }
  6908. Method (\_SB.PCI0.UAR1._PRW, 0, NotSerialized)
  6909. {
  6910. Return (Package (0x02)
  6911. {
  6912. 0x08,
  6913. 0x05
  6914. })
  6915. }
  6916. Device (SRCM)
  6917. {
  6918. Name (_HID, EisaId ("PNP0C02"))
  6919. Name (_UID, 0x88)
  6920. Method (_STA, 0, NotSerialized)
  6921. {
  6922. If (LEqual (\_SB.PCI0.P2PE.SCLS, 0x04))
  6923. {
  6924. Return (0x00)
  6925. }
  6926. Else
  6927. {
  6928. Return (0x0F)
  6929. }
  6930. }
  6931. Method (_CRS, 0, NotSerialized)
  6932. {
  6933. Name (BUF0, ResourceTemplate ()
  6934. {
  6935. Memory32Fixed (ReadWrite,
  6936. 0x10000000, // Address Base
  6937. 0x00001000, // Address Length
  6938. )
  6939. })
  6940. Return (BUF0)
  6941. }
  6942. }
  6943. }
  6944. Device (PCI1)
  6945. {
  6946. Name (_HID, EisaId ("PNP0A08"))
  6947. Name (_CID, EisaId ("PNP0A03"))
  6948. Name (_UID, 0x04)
  6949. Name (_BBN, 0x80)
  6950. Name (_SEG, 0x00)
  6951. Name (UIDB, Buffer (0x10) {})
  6952. CreateDWordField (UIDB, 0x00, UID0)
  6953. CreateDWordField (UIDB, 0x04, UID1)
  6954. CreateDWordField (UIDB, 0x08, UID2)
  6955. CreateDWordField (UIDB, 0x0C, UID3)
  6956. Name (OSCB, Buffer (0x0C) {})
  6957. CreateDWordField (OSCB, 0x00, CAP0)
  6958. CreateDWordField (OSCB, 0x04, CAP1)
  6959. CreateDWordField (OSCB, 0x08, CAP2)
  6960. Name (CHKU, 0x00)
  6961. Name (PNHP, 0x00)
  6962. Name (PNPM, 0x00)
  6963. Method (_OSC, 4, NotSerialized)
  6964. {
  6965. Store (Arg0, UIDB)
  6966. If (LNotEqual (UID0, 0x33DB4D5B))
  6967. {
  6968. Store (One, CHKU)
  6969. }
  6970. If (LNotEqual (UID1, 0x401C1FF7))
  6971. {
  6972. Store (One, CHKU)
  6973. }
  6974. If (LNotEqual (UID2, 0x41745796))
  6975. {
  6976. Store (One, CHKU)
  6977. }
  6978. If (LNotEqual (UID3, 0x66D73DC0))
  6979. {
  6980. Store (One, CHKU)
  6981. }
  6982. Store (Arg3, OSCB)
  6983. If (LEqual (CHKU, 0x00))
  6984. {
  6985. And (CAP2, 0x01, PNHP)
  6986. And (CAP2, 0x04, PNPM)
  6987. If (LNotEqual (PNHP, 0x00))
  6988. {
  6989. Store (0x00, \_SB.PCI0.VT86.SBHP)
  6990. Store (0x00, G89E)
  6991. Store (0x01, HPFL)
  6992. }
  6993. Else
  6994. {
  6995. Store (0x01, \_SB.PCI0.VT86.SBHP)
  6996. Store (0x01, G89E)
  6997. Store (0x00, HPFL)
  6998. }
  6999. If (LNotEqual (PNPM, 0x00))
  7000. {
  7001. Store (0x00, \_SB.PCI0.VT86.SBPM)
  7002. Store (0x00, G89E)
  7003. Store (0x01, PMFL)
  7004. }
  7005. Else
  7006. {
  7007. Store (0x01, \_SB.PCI0.VT86.SBPM)
  7008. Store (0x01, G89E)
  7009. Store (0x00, PMFL)
  7010. }
  7011. And (CAP2, 0xFFFFFFFD, CAP2)
  7012. And (CAP0, 0x00, CAP0)
  7013. Return (OSCB)
  7014. }
  7015. Else
  7016. {
  7017. Or (CAP0, 0x04, CAP0)
  7018. Return (OSCB)
  7019. }
  7020. }
  7021. Method (_CRS, 0, NotSerialized)
  7022. {
  7023. Name (BUF1, ResourceTemplate ()
  7024. {
  7025. WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode,
  7026. 0x0000, // Granularity
  7027. 0x0080, // Range Minimum
  7028. 0x00FF, // Range Maximum
  7029. 0x0000, // Translation Offset
  7030. 0x0080, // Length
  7031. ,, )
  7032. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  7033. 0x0000, // Granularity
  7034. 0x0000, // Range Minimum
  7035. 0x0CF7, // Range Maximum
  7036. 0x0000, // Translation Offset
  7037. 0x0CF8, // Length
  7038. ,, , TypeStatic)
  7039. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  7040. 0x0000, // Granularity
  7041. 0x0D00, // Range Minimum
  7042. 0xFFFF, // Range Maximum
  7043. 0x0000, // Translation Offset
  7044. 0xF300, // Length
  7045. ,, , TypeStatic)
  7046. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  7047. 0x00000000, // Granularity
  7048. 0x000A0000, // Range Minimum
  7049. 0x000BFFFF, // Range Maximum
  7050. 0x00000000, // Translation Offset
  7051. 0x00020000, // Length
  7052. ,, , AddressRangeMemory, TypeStatic)
  7053. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  7054. 0x00000000, // Granularity
  7055. 0x00100000, // Range Minimum
  7056. 0xFEBFFFFF, // Range Maximum
  7057. 0x00000000, // Translation Offset
  7058. 0xFFF00000, // Length
  7059. ,, _Y16, AddressRangeMemory, TypeStatic)
  7060. })
  7061. CreateDWordField (BUF1, \_SB.PCI1._CRS._Y16._MAX, EM3X)
  7062. CreateDWordField (BUF1, \_SB.PCI1._CRS._Y16._MIN, EM3I)
  7063. CreateDWordField (BUF1, \_SB.PCI1._CRS._Y16._LEN, EM3L)
  7064. Store (SMB1, EM3I)
  7065. Store (SMB2, EM3X)
  7066. Subtract (EM3X, EM3I, EM3L)
  7067. Add (EM3L, 0x01, EM3L)
  7068. Return (BUF1)
  7069. }
  7070. Method (_STA, 0, NotSerialized)
  7071. {
  7072. If (LNotEqual (\_SB.PCI0.P2PE.SCLS, 0x04))
  7073. {
  7074. Return (0x0F)
  7075. }
  7076. Else
  7077. {
  7078. Return (0x00)
  7079. }
  7080. }
  7081. Name (PICE, Package (0x08)
  7082. {
  7083. Package (0x04)
  7084. {
  7085. 0xFFFF,
  7086. 0x00,
  7087. \_SB.PCI0.LNKD,
  7088. 0x00
  7089. },
  7090. Package (0x04)
  7091. {
  7092. 0xFFFF,
  7093. 0x01,
  7094. \_SB.PCI0.LNKD,
  7095. 0x00
  7096. },
  7097. Package (0x04)
  7098. {
  7099. 0xFFFF,
  7100. 0x02,
  7101. \_SB.PCI0.LNKD,
  7102. 0x00
  7103. },
  7104. Package (0x04)
  7105. {
  7106. 0xFFFF,
  7107. 0x03,
  7108. \_SB.PCI0.LNKD,
  7109. 0x00
  7110. },
  7111. Package (0x04)
  7112. {
  7113. 0x0001FFFF,
  7114. 0x00,
  7115. \_SB.PCI0.LNKB,
  7116. 0x00
  7117. },
  7118. Package (0x04)
  7119. {
  7120. 0x0001FFFF,
  7121. 0x01,
  7122. \_SB.PCI0.LNKB,
  7123. 0x00
  7124. },
  7125. Package (0x04)
  7126. {
  7127. 0x0001FFFF,
  7128. 0x02,
  7129. \_SB.PCI0.LNKB,
  7130. 0x00
  7131. },
  7132. Package (0x04)
  7133. {
  7134. 0x0001FFFF,
  7135. 0x03,
  7136. \_SB.PCI0.LNKB,
  7137. 0x00
  7138. }
  7139. })
  7140. Name (APIE, Package (0x08)
  7141. {
  7142. Package (0x04)
  7143. {
  7144. 0xFFFF,
  7145. 0x00,
  7146. 0x00,
  7147. 0x14
  7148. },
  7149. Package (0x04)
  7150. {
  7151. 0xFFFF,
  7152. 0x01,
  7153. 0x00,
  7154. 0x15
  7155. },
  7156. Package (0x04)
  7157. {
  7158. 0xFFFF,
  7159. 0x02,
  7160. 0x00,
  7161. 0x16
  7162. },
  7163. Package (0x04)
  7164. {
  7165. 0xFFFF,
  7166. 0x03,
  7167. 0x00,
  7168. 0x17
  7169. },
  7170. Package (0x04)
  7171. {
  7172. 0x0001FFFF,
  7173. 0x00,
  7174. 0x00,
  7175. 0x11
  7176. },
  7177. Package (0x04)
  7178. {
  7179. 0x0001FFFF,
  7180. 0x01,
  7181. 0x00,
  7182. 0x11
  7183. },
  7184. Package (0x04)
  7185. {
  7186. 0x0001FFFF,
  7187. 0x02,
  7188. 0x00,
  7189. 0x11
  7190. },
  7191. Package (0x04)
  7192. {
  7193. 0x0001FFFF,
  7194. 0x03,
  7195. 0x00,
  7196. 0x11
  7197. }
  7198. })
  7199. Name (APXE, Package (0x08)
  7200. {
  7201. Package (0x04)
  7202. {
  7203. 0xFFFF,
  7204. 0x00,
  7205. 0x00,
  7206. 0x14
  7207. },
  7208. Package (0x04)
  7209. {
  7210. 0xFFFF,
  7211. 0x01,
  7212. 0x00,
  7213. 0x15
  7214. },
  7215. Package (0x04)
  7216. {
  7217. 0xFFFF,
  7218. 0x02,
  7219. 0x00,
  7220. 0x16
  7221. },
  7222. Package (0x04)
  7223. {
  7224. 0xFFFF,
  7225. 0x03,
  7226. 0x00,
  7227. 0x17
  7228. },
  7229. Package (0x04)
  7230. {
  7231. 0x0001FFFF,
  7232. 0x00,
  7233. 0x00,
  7234. 0x11
  7235. },
  7236. Package (0x04)
  7237. {
  7238. 0x0001FFFF,
  7239. 0x01,
  7240. 0x00,
  7241. 0x11
  7242. },
  7243. Package (0x04)
  7244. {
  7245. 0x0001FFFF,
  7246. 0x02,
  7247. 0x00,
  7248. 0x11
  7249. },
  7250. Package (0x04)
  7251. {
  7252. 0x0001FFFF,
  7253. 0x03,
  7254. 0x00,
  7255. 0x11
  7256. }
  7257. })
  7258. Method (_PRT, 0, NotSerialized)
  7259. {
  7260. If (LNot (PICF))
  7261. {
  7262. Return (PICE)
  7263. }
  7264. Else
  7265. {
  7266. If (LNotEqual (\_SB.PCI0.VT86.REBD, 0x00))
  7267. {
  7268. Return (APXE)
  7269. }
  7270. Else
  7271. {
  7272. Return (APIE)
  7273. }
  7274. }
  7275. }
  7276. Device (PE5C)
  7277. {
  7278. Name (_ADR, 0x00)
  7279. OperationRegion (PE5R, PCI_Config, 0x00, 0x0100)
  7280. Field (PE5R, ByteAcc, NoLock, Preserve)
  7281. {
  7282. VID, 16,
  7283. Offset (0x04),
  7284. CMDR, 3,
  7285. Offset (0x22),
  7286. R0ML, 16,
  7287. Offset (0x26),
  7288. R0PL, 16
  7289. }
  7290. Method (_STA, 0, NotSerialized)
  7291. {
  7292. If (LNotEqual (\_SB.PCI1.PE5C.VID, 0x1106))
  7293. {
  7294. Return (0x00)
  7295. }
  7296. Else
  7297. {
  7298. If (LEqual (\_SB.PCI1.PE5C.CMDR, 0x00))
  7299. {
  7300. Return (0x0D)
  7301. }
  7302. Else
  7303. {
  7304. Return (0x0F)
  7305. }
  7306. }
  7307. }
  7308. Name (UIDB, Buffer (0x10) {})
  7309. CreateDWordField (UIDB, 0x00, UID0)
  7310. CreateDWordField (UIDB, 0x04, UID1)
  7311. CreateDWordField (UIDB, 0x08, UID2)
  7312. CreateDWordField (UIDB, 0x0C, UID3)
  7313. Name (OSCB, Buffer (0x14) {})
  7314. CreateDWordField (OSCB, 0x00, CAP0)
  7315. CreateDWordField (OSCB, 0x04, CAP1)
  7316. CreateDWordField (OSCB, 0x08, CAP2)
  7317. CreateDWordField (OSCB, 0x0C, CAP3)
  7318. CreateDWordField (OSCB, 0x10, CAP4)
  7319. Name (CHKU, 0x00)
  7320. Method (_PRW, 0, NotSerialized)
  7321. {
  7322. Return (Package (0x02)
  7323. {
  7324. 0x12,
  7325. 0x05
  7326. })
  7327. }
  7328. Name (PIC5, Package (0x04)
  7329. {
  7330. Package (0x04)
  7331. {
  7332. 0xFFFF,
  7333. 0x00,
  7334. \_SB.PCI0.LNKA,
  7335. 0x00
  7336. },
  7337. Package (0x04)
  7338. {
  7339. 0xFFFF,
  7340. 0x01,
  7341. \_SB.PCI0.LNKB,
  7342. 0x00
  7343. },
  7344. Package (0x04)
  7345. {
  7346. 0xFFFF,
  7347. 0x02,
  7348. \_SB.PCI0.LNKC,
  7349. 0x00
  7350. },
  7351. Package (0x04)
  7352. {
  7353. 0xFFFF,
  7354. 0x03,
  7355. \_SB.PCI0.LNKD,
  7356. 0x00
  7357. }
  7358. })
  7359. Name (API5, Package (0x04)
  7360. {
  7361. Package (0x04)
  7362. {
  7363. 0xFFFF,
  7364. 0x00,
  7365. 0x00,
  7366. 0x10
  7367. },
  7368. Package (0x04)
  7369. {
  7370. 0xFFFF,
  7371. 0x01,
  7372. 0x00,
  7373. 0x11
  7374. },
  7375. Package (0x04)
  7376. {
  7377. 0xFFFF,
  7378. 0x02,
  7379. 0x00,
  7380. 0x12
  7381. },
  7382. Package (0x04)
  7383. {
  7384. 0xFFFF,
  7385. 0x03,
  7386. 0x00,
  7387. 0x13
  7388. }
  7389. })
  7390. Method (_PRT, 0, NotSerialized)
  7391. {
  7392. If (LNot (PICF))
  7393. {
  7394. Return (PIC5)
  7395. }
  7396. Else
  7397. {
  7398. Return (API5)
  7399. }
  7400. }
  7401. Device (S5F0)
  7402. {
  7403. Name (_ADR, 0x00)
  7404. Name (_SUN, 0x05)
  7405. }
  7406. Device (S5F1)
  7407. {
  7408. Name (_ADR, 0x01)
  7409. Name (_SUN, 0x05)
  7410. }
  7411. Device (S5F2)
  7412. {
  7413. Name (_ADR, 0x02)
  7414. Name (_SUN, 0x05)
  7415. }
  7416. Device (S5F3)
  7417. {
  7418. Name (_ADR, 0x03)
  7419. Name (_SUN, 0x05)
  7420. }
  7421. Device (S5F4)
  7422. {
  7423. Name (_ADR, 0x04)
  7424. Name (_SUN, 0x05)
  7425. }
  7426. Device (S5F5)
  7427. {
  7428. Name (_ADR, 0x05)
  7429. Name (_SUN, 0x05)
  7430. }
  7431. Device (S5F6)
  7432. {
  7433. Name (_ADR, 0x06)
  7434. Name (_SUN, 0x05)
  7435. }
  7436. Device (S5F7)
  7437. {
  7438. Name (_ADR, 0x07)
  7439. Name (_SUN, 0x05)
  7440. }
  7441. }
  7442. Device (PE6C)
  7443. {
  7444. Name (_ADR, 0x01)
  7445. OperationRegion (PE6R, PCI_Config, 0x00, 0x0100)
  7446. Field (PE6R, ByteAcc, NoLock, Preserve)
  7447. {
  7448. VID, 16,
  7449. Offset (0x04),
  7450. CMDR, 3,
  7451. Offset (0x22),
  7452. R1ML, 16,
  7453. Offset (0x26),
  7454. R1PL, 16
  7455. }
  7456. Method (_STA, 0, NotSerialized)
  7457. {
  7458. If (LNotEqual (\_SB.PCI1.PE6C.VID, 0x1106))
  7459. {
  7460. Return (0x00)
  7461. }
  7462. Else
  7463. {
  7464. If (LEqual (\_SB.PCI1.PE6C.CMDR, 0x00))
  7465. {
  7466. Return (0x0D)
  7467. }
  7468. Else
  7469. {
  7470. Return (0x0F)
  7471. }
  7472. }
  7473. }
  7474. Name (UIDB, Buffer (0x10) {})
  7475. CreateDWordField (UIDB, 0x00, UID0)
  7476. CreateDWordField (UIDB, 0x04, UID1)
  7477. CreateDWordField (UIDB, 0x08, UID2)
  7478. CreateDWordField (UIDB, 0x0C, UID3)
  7479. Name (OSCB, Buffer (0x14) {})
  7480. CreateDWordField (OSCB, 0x00, CAP0)
  7481. CreateDWordField (OSCB, 0x04, CAP1)
  7482. CreateDWordField (OSCB, 0x08, CAP2)
  7483. CreateDWordField (OSCB, 0x0C, CAP3)
  7484. CreateDWordField (OSCB, 0x10, CAP4)
  7485. Name (CHKU, 0x00)
  7486. Method (_PRW, 0, NotSerialized)
  7487. {
  7488. Return (Package (0x02)
  7489. {
  7490. 0x12,
  7491. 0x05
  7492. })
  7493. }
  7494. Name (PIC6, Package (0x04)
  7495. {
  7496. Package (0x04)
  7497. {
  7498. 0xFFFF,
  7499. 0x00,
  7500. \_SB.PCI0.LNKA,
  7501. 0x00
  7502. },
  7503. Package (0x04)
  7504. {
  7505. 0xFFFF,
  7506. 0x01,
  7507. \_SB.PCI0.LNKB,
  7508. 0x00
  7509. },
  7510. Package (0x04)
  7511. {
  7512. 0xFFFF,
  7513. 0x02,
  7514. \_SB.PCI0.LNKC,
  7515. 0x00
  7516. },
  7517. Package (0x04)
  7518. {
  7519. 0xFFFF,
  7520. 0x03,
  7521. \_SB.PCI0.LNKD,
  7522. 0x00
  7523. }
  7524. })
  7525. Name (API6, Package (0x04)
  7526. {
  7527. Package (0x04)
  7528. {
  7529. 0xFFFF,
  7530. 0x00,
  7531. 0x00,
  7532. 0x10
  7533. },
  7534. Package (0x04)
  7535. {
  7536. 0xFFFF,
  7537. 0x01,
  7538. 0x00,
  7539. 0x11
  7540. },
  7541. Package (0x04)
  7542. {
  7543. 0xFFFF,
  7544. 0x02,
  7545. 0x00,
  7546. 0x12
  7547. },
  7548. Package (0x04)
  7549. {
  7550. 0xFFFF,
  7551. 0x03,
  7552. 0x00,
  7553. 0x13
  7554. }
  7555. })
  7556. Method (_PRT, 0, NotSerialized)
  7557. {
  7558. If (LNot (PICF))
  7559. {
  7560. Return (PIC6)
  7561. }
  7562. Else
  7563. {
  7564. Return (API6)
  7565. }
  7566. }
  7567. Device (S6F0)
  7568. {
  7569. Name (_ADR, 0x00)
  7570. Name (_SUN, 0x06)
  7571. }
  7572. Device (S6F1)
  7573. {
  7574. Name (_ADR, 0x01)
  7575. Name (_SUN, 0x06)
  7576. }
  7577. Device (S6F2)
  7578. {
  7579. Name (_ADR, 0x02)
  7580. Name (_SUN, 0x06)
  7581. }
  7582. Device (S6F3)
  7583. {
  7584. Name (_ADR, 0x03)
  7585. Name (_SUN, 0x06)
  7586. }
  7587. Device (S6F4)
  7588. {
  7589. Name (_ADR, 0x04)
  7590. Name (_SUN, 0x06)
  7591. }
  7592. Device (S6F5)
  7593. {
  7594. Name (_ADR, 0x05)
  7595. Name (_SUN, 0x06)
  7596. }
  7597. Device (S6F6)
  7598. {
  7599. Name (_ADR, 0x06)
  7600. Name (_SUN, 0x06)
  7601. }
  7602. Device (S6F7)
  7603. {
  7604. Name (_ADR, 0x07)
  7605. Name (_SUN, 0x06)
  7606. }
  7607. }
  7608. Device (AZAC)
  7609. {
  7610. Name (_ADR, 0x00010000)
  7611. OperationRegion (AZAR, PCI_Config, 0x00, 0x0100)
  7612. Field (AZAR, ByteAcc, NoLock, Preserve)
  7613. {
  7614. VID, 16,
  7615. Offset (0x04),
  7616. CMDR, 3,
  7617. Offset (0x12),
  7618. NPMX, 16
  7619. }
  7620. Method (_STA, 0, NotSerialized)
  7621. {
  7622. If (LNotEqual (\_SB.PCI1.AZAC.VID, 0x1106))
  7623. {
  7624. Return (0x00)
  7625. }
  7626. Else
  7627. {
  7628. If (LEqual (\_SB.PCI1.AZAC.CMDR, 0x00))
  7629. {
  7630. Return (0x0D)
  7631. }
  7632. Else
  7633. {
  7634. Return (0x0F)
  7635. }
  7636. }
  7637. }
  7638. Method (_PRW, 0, NotSerialized)
  7639. {
  7640. Return (Package (0x02)
  7641. {
  7642. 0x0D,
  7643. 0x05
  7644. })
  7645. }
  7646. }
  7647. }
  7648. OperationRegion (ACPM, SystemMemory, 0x5FEE2C00, 0x0400)
  7649. Field (ACPM, ByteAcc, NoLock, Preserve)
  7650. {
  7651. QFNE, 8,
  7652. QFTE, 8,
  7653. AIP, 8,
  7654. AIP2, 8,
  7655. WAKF, 8
  7656. }
  7657. Device (MEM)
  7658. {
  7659. Name (_HID, EisaId ("PNP0C01"))
  7660. Method (_CRS, 0, NotSerialized)
  7661. {
  7662. Name (BUF0, ResourceTemplate ()
  7663. {
  7664. Memory32Fixed (ReadWrite,
  7665. 0x000F0000, // Address Base
  7666. 0x00004000, // Address Length
  7667. _Y18)
  7668. Memory32Fixed (ReadWrite,
  7669. 0x000F4000, // Address Base
  7670. 0x00004000, // Address Length
  7671. _Y19)
  7672. Memory32Fixed (ReadWrite,
  7673. 0x000F8000, // Address Base
  7674. 0x00004000, // Address Length
  7675. _Y1A)
  7676. Memory32Fixed (ReadWrite,
  7677. 0x000FC000, // Address Base
  7678. 0x00004000, // Address Length
  7679. _Y1B)
  7680. Memory32Fixed (ReadWrite,
  7681. 0xFE800000, // Address Base
  7682. 0x00000100, // Address Length
  7683. )
  7684. Memory32Fixed (ReadWrite,
  7685. 0x00000000, // Address Base
  7686. 0x00010000, // Address Length
  7687. _Y17)
  7688. Memory32Fixed (ReadWrite,
  7689. 0xFFFF0000, // Address Base
  7690. 0x00010000, // Address Length
  7691. )
  7692. Memory32Fixed (ReadWrite,
  7693. 0x00000000, // Address Base
  7694. 0x000A0000, // Address Length
  7695. )
  7696. Memory32Fixed (ReadWrite,
  7697. 0x00100000, // Address Base
  7698. 0x00000000, // Address Length
  7699. _Y1C)
  7700. Memory32Fixed (ReadWrite,
  7701. 0xFEC00000, // Address Base
  7702. 0x00001000, // Address Length
  7703. )
  7704. Memory32Fixed (ReadWrite,
  7705. 0xFEE00000, // Address Base
  7706. 0x00001000, // Address Length
  7707. )
  7708. Memory32Fixed (ReadWrite,
  7709. 0xFFF80000, // Address Base
  7710. 0x00070000, // Address Length
  7711. )
  7712. })
  7713. CreateDWordField (BUF0, \_SB.MEM._CRS._Y17._BAS, ACMM)
  7714. CreateDWordField (BUF0, \_SB.MEM._CRS._Y17._LEN, ASSM)
  7715. CreateDWordField (BUF0, \_SB.MEM._CRS._Y18._BAS, RMA1)
  7716. CreateDWordField (BUF0, \_SB.MEM._CRS._Y18._LEN, RSS1)
  7717. CreateDWordField (BUF0, \_SB.MEM._CRS._Y19._BAS, RMA2)
  7718. CreateDWordField (BUF0, \_SB.MEM._CRS._Y19._LEN, RSS2)
  7719. CreateDWordField (BUF0, \_SB.MEM._CRS._Y1A._BAS, RMA3)
  7720. CreateDWordField (BUF0, \_SB.MEM._CRS._Y1A._LEN, RSS3)
  7721. CreateDWordField (BUF0, \_SB.MEM._CRS._Y1B._BAS, RMA4)
  7722. CreateDWordField (BUF0, \_SB.MEM._CRS._Y1B._LEN, RSS4)
  7723. CreateDWordField (BUF0, \_SB.MEM._CRS._Y1C._LEN, EXTM)
  7724. Subtract (AMEM, 0x00100000, EXTM)
  7725. If (LNotEqual (ROM1, Zero))
  7726. {
  7727. Store (RMA1, RMA2)
  7728. ShiftLeft (ROM1, 0x08, Local0)
  7729. Store (Local0, RMA1)
  7730. ShiftLeft (RMS1, 0x08, Local0)
  7731. Store (Local0, RSS1)
  7732. Store (0x8000, RSS2)
  7733. }
  7734. If (LNotEqual (ROM2, Zero))
  7735. {
  7736. Store (RMA2, RMA3)
  7737. ShiftLeft (ROM2, 0x08, Local0)
  7738. Store (Local0, RMA2)
  7739. ShiftLeft (RMS2, 0x08, Local0)
  7740. Store (Local0, RSS2)
  7741. Store (0xC000, RSS3)
  7742. }
  7743. If (LNotEqual (ROM3, Zero))
  7744. {
  7745. Store (RMA3, RMA4)
  7746. ShiftLeft (ROM3, 0x08, Local0)
  7747. Store (Local0, RMA3)
  7748. ShiftLeft (RMS3, 0x08, Local0)
  7749. Store (Local0, RSS3)
  7750. Store (0x00010000, RSS4)
  7751. }
  7752. Store (AMEM, ACMM)
  7753. And (AMEM, 0x000FFFFF, Local0)
  7754. Subtract (0x00100000, Local0, ASSM)
  7755. Return (BUF0)
  7756. }
  7757. }
  7758. Device (\_SB.PCI0.EXPL)
  7759. {
  7760. Name (_HID, EisaId ("PNP0C02"))
  7761. Name (_UID, 0x04)
  7762. Method (_CRS, 0, NotSerialized)
  7763. {
  7764. Name (BUF0, ResourceTemplate ()
  7765. {
  7766. Memory32Fixed (ReadWrite,
  7767. 0xE0000000, // Address Base
  7768. 0x10000000, // Address Length
  7769. )
  7770. })
  7771. Return (BUF0)
  7772. }
  7773. }
  7774. }
  7775. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement