LPC_DEV.ASL 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. /** @file
  2. ACPI DSDT table
  3. Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
  4. SPDX-License-Identifier: BSD-2-Clause-Patent
  5. **/
  6. Device(FWHD) // Firmware Hub Device
  7. {
  8. Name(_HID,EISAID("INT0800"))
  9. Name(_CRS,ResourceTemplate()
  10. {
  11. Memory32Fixed(ReadOnly,0xFF000000,0x1000000)
  12. })
  13. }
  14. Device(HPET) // High Performance Event Timer
  15. {
  16. Name(_HID,EISAID("PNP0103"))
  17. Name(_UID, 0)
  18. Name(BUF0,ResourceTemplate()
  19. {
  20. Memory32Fixed(ReadWrite,0xFED00000,0x400,FED0)
  21. })
  22. Method(_STA,0)
  23. {
  24. // Show this Device only if the OS is WINXP or beyond.
  25. If(HPTE)
  26. {
  27. Return(0x000F) // Enabled, do Display.
  28. }
  29. Return(0x0000) // Return Nothing.
  30. }
  31. Method(_CRS,0,Serialized)
  32. {
  33. If(HPTE)
  34. {
  35. // Check if HPETimer Base should be modified.
  36. CreateDwordField(BUF0,^FED0._BAS,HPT0)
  37. Store(HPTB,HPT0)
  38. }
  39. Return(BUF0)
  40. }
  41. }
  42. Device(IPIC) // 8259 PIC
  43. {
  44. Name(_HID,EISAID("PNP0000"))
  45. Name(_CRS,ResourceTemplate()
  46. {
  47. IO(Decode16,0x20,0x20,0x01,0x02)
  48. IO(Decode16,0x24,0x24,0x01,0x02)
  49. IO(Decode16,0x28,0x28,0x01,0x02)
  50. IO(Decode16,0x2C,0x2C,0x01,0x02)
  51. IO(Decode16,0x30,0x30,0x01,0x02)
  52. IO(Decode16,0x34,0x34,0x01,0x02)
  53. IO(Decode16,0x38,0x38,0x01,0x02)
  54. IO(Decode16,0x3C,0x3C,0x01,0x02)
  55. IO(Decode16,0xA0,0xA0,0x01,0x02)
  56. IO(Decode16,0xA4,0xA4,0x01,0x02)
  57. IO(Decode16,0xA8,0xA8,0x01,0x02)
  58. IO(Decode16,0xAC,0xAC,0x01,0x02)
  59. IO(Decode16,0xB0,0xB0,0x01,0x02)
  60. IO(Decode16,0xB4,0xB4,0x01,0x02)
  61. IO(Decode16,0xB8,0xB8,0x01,0x02)
  62. IO(Decode16,0xBC,0xBC,0x01,0x02)
  63. IO(Decode16,0x4D0,0x4D0,0x01,0x02)
  64. IRQNoFlags() {2}
  65. })
  66. }
  67. Device(MATH) // Math Co-Processor
  68. {
  69. Name(_HID,EISAID("PNP0C04"))
  70. Name(_CRS,ResourceTemplate()
  71. {
  72. IO(Decode16,0xF0,0xF0,0x01,0x01)
  73. IRQNoFlags() {13}
  74. })
  75. //
  76. // Report device present for LPT-H.
  77. //
  78. Method (_STA, 0x0, NotSerialized)
  79. {
  80. If(LEqual(PCHV(), SPTH)) {
  81. Return(0x1F)
  82. } else {
  83. Return(0x0)
  84. }
  85. }
  86. }
  87. Device(LDRC) // LPC Device Resource Consumption
  88. {
  89. Name(_HID,EISAID("PNP0C02"))
  90. Name(_UID,2)
  91. Name(_CRS,ResourceTemplate() // This is for Cougar Point
  92. {
  93. IO(Decode16,0x2E,0x2E,0x1,0x02) // SIO Access.
  94. IO(Decode16,0x4E,0x4E,0x1,0x02) // LPC Slot Access.
  95. IO(Decode16,0x61,0x61,0x1,0x1) // NMI Status.
  96. IO(Decode16,0x63,0x63,0x1,0x1) // Processor I/F.
  97. IO(Decode16,0x65,0x65,0x1,0x1) // Processor I/F.
  98. IO(Decode16,0x67,0x67,0x1,0x1) // Processor I/F.
  99. IO(Decode16,0x70,0x70,0x1,0x1) // NMI Enable.
  100. IO(Decode16,0x80,0x80,0x1,0x1) // Port 80h.
  101. IO(Decode16,0x92,0x92,0x1,0x1) // Processor I/F.
  102. IO(Decode16,0xB2,0xB2,0x01,0x02) // Software SMI.
  103. IO(Decode16,0x680,0x680,0x1,0x20) // 32 Byte I/O.
  104. IO(Decode16,0xFFFF,0xFFFF,0x1,0x1) // ACPI IO Trap.
  105. IO(Decode16,0xFFFF,0xFFFF,0x1,0x1) // DTS IO Trap.
  106. IO(Decode16,0xFFFF,0xFFFF,0x1,0x1) // HotKey IO Trap.
  107. IO(Decode16, 0x1800,0x1800,0x1,0xFF) // PCH ACPI Base
  108. IO(Decode16,0x164e,0x164e,0x1,0x02) // 16 Byte I/O.
  109. })
  110. }
  111. Device(LDR2) // LPC Device Resource Consumption for PCH GPIO
  112. {
  113. Name(_HID,EISAID("PNP0C02"))
  114. Name(_UID, "LPC_DEV")
  115. // LPT-H GPIO resource map
  116. Name(_CRS,ResourceTemplate()
  117. {
  118. IO(Decode16, 0x800,0x800,0x1,0x80) // PCH GPIO Base.
  119. })
  120. Method(_STA, 0, NotSerialized)
  121. {
  122. If(LEqual(PCHV(), SPTH)) {
  123. Return(0xF)
  124. } else {
  125. Return(0)
  126. }
  127. }
  128. }
  129. Device(RTC) // RTC
  130. {
  131. Name(_HID,EISAID("PNP0B00"))
  132. Name(_CRS,ResourceTemplate()
  133. {
  134. IO(Decode16,0x70,0x70,0x01,0x08)
  135. IRQNoFlags() {8}
  136. })
  137. }
  138. Device(TIMR) // 8254 Timer
  139. {
  140. Name(_HID,EISAID("PNP0100"))
  141. Name(_CRS,ResourceTemplate()
  142. {
  143. IO(Decode16,0x40,0x40,0x01,0x04)
  144. IO(Decode16,0x50,0x50,0x10,0x04)
  145. IRQNoFlags() {0}
  146. })
  147. }
  148. Device(CWDT)
  149. {
  150. Name(_HID,EISAID("INT3F0D"))
  151. Name(_CID,EISAID("PNP0C02"))
  152. Name(BUF0,ResourceTemplate()
  153. {
  154. IO(Decode16, 0x1854, 0x1854, 0x4, 0x4) // PMBS 0x1800 + Offset 0x54
  155. }
  156. )
  157. Method(_STA,0,Serialized)
  158. {
  159. Return(0x0F)
  160. }
  161. Method(_CRS,0,Serialized)
  162. {
  163. Return(BUF0)
  164. }
  165. }