]> git.proxmox.com Git - mirror_edk2.git/blob - QuarkPlatformPkg/Acpi/AcpiTables/Dsdt/LpcDev.asi
QuarkPlatformPkg: Add new package for Galileo boards
[mirror_edk2.git] / QuarkPlatformPkg / Acpi / AcpiTables / Dsdt / LpcDev.asi
1 /** @file
2 Legacy resource template
3
4 Copyright (c) 2013-2015 Intel Corporation.
5
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef LPC_DEV_ASI
17 #define LPC_DEV_ASI
18
19 Device(RTC)
20 {
21 Name(_HID,EISAID("PNP0B00"))
22 Name(BUF0,ResourceTemplate() {
23 IO(Decode16,0x70,0x70,0x01,0x04)
24 IO(Decode16,0x74,0x74,0x01,0x04)
25 })
26 Name(BUF1,ResourceTemplate() {
27 IO(Decode16,0x70,0x70,0x01,0x04)
28 IO(Decode16,0x74,0x74,0x01,0x04)
29 IRQNoFlags(){8}
30 })
31 Method(_CRS,0,Serialized)
32 {
33 If (HPEA)
34 {
35 return (BUF0)
36 }
37 Else
38 {
39 return (BUF1)
40 }
41 }
42 }
43
44 Device(PIC)
45 {
46 Name(_HID,EISAID("PNP0000"))
47
48 Name(_CRS,ResourceTemplate() {
49 IO(Decode16,0x20,0x20,0x01,0x1E) // length of 1Eh includes all aliases
50 IO(Decode16,0xA0,0xA0,0x01,0x1E)
51 IO(Decode16,0x4D0,0x4D0,0x01,0x02)
52 })
53 }
54
55 Device(TMR)
56 {
57 Name(_HID,EISAID("PNP0100"))
58
59 Name(BUF0,ResourceTemplate() {
60 IO(Decode16,0x40,0x40,0x01,0x04)
61 IO(Decode16,0x50,0x50,0x01,0x04) // alias
62 })
63 Name(BUF1,ResourceTemplate() {
64 IO(Decode16,0x40,0x40,0x01,0x04)
65 IO(Decode16,0x50,0x50,0x01,0x04) // alias
66 IRQNoFlags(){0}
67 })
68 Method(_CRS,0,Serialized)
69 {
70 If (HPEA)
71 {
72 return (BUF0)
73 }
74 Else
75 {
76 return (BUF1)
77 }
78 }
79 }
80
81 Device(SPKR)
82 {
83 Name(_HID,EISAID("PNP0800"))
84
85 Name(_CRS,ResourceTemplate() {
86 IO(Decode16,0x61,0x61,0x01,0x01)
87 })
88 }
89
90 Device(XTRA) // all "PNP0C02" devices- pieces that don't fit anywhere else
91 {
92 Name(_HID,EISAID("PNP0C02")) // Generic motherboard devices
93
94 Name(CRS,
95 ResourceTemplate()
96 {
97 IO(Decode16,0x2E,0x2E,0x01,0x02)
98 IO(Decode16,0x4E,0x2E,0x01,0x02)
99 IO(Decode16,0x63,0x61,0x01,0x01)
100 IO(Decode16,0x65,0x61,0x01,0x01)
101 IO(Decode16,0x67,0x61,0x01,0x01)
102 IO(Decode16,0x80,0x80,0x01,0x01)
103 IO(Decode16,0x84,0x84,0x01,0x04)
104 IO(Decode16,0x88,0x88,0x01,0x01)
105 IO(Decode16,0x8c,0x8c,0x01,0x03)
106 IO(Decode16,0x92,0x92,0x01,0x01)
107
108 IO(
109 Decode16,
110 0,
111 0,
112 0x01,
113 0x10,
114 FIX1
115 )
116
117 IO(
118 Decode16,
119 0,
120 0,
121 0x01,
122 0x10,
123 FIX2
124 )
125
126 IO(
127 Decode16,
128 0,
129 0,
130 0x01,
131 0x40,
132 FIX3
133 )
134
135 IO(
136 Decode16,
137 0,
138 0,
139 0x01,
140 0x40,
141 FIX5
142 )
143
144 IO(
145 Decode16,
146 0,
147 0,
148 0x01,
149 0x40,
150 FIX6
151 )
152
153 }
154 )
155
156 Method (_CRS, 0, NotSerialized) {
157 CreateWordField (CRS, ^FIX1._MIN, MBR0)
158 Store(\P1BB, MBR0)
159 CreateWordField (CRS, ^FIX1._MAX, MBR1)
160 Store(\P1BB, MBR1)
161 CreateWordField (CRS, ^FIX2._MIN, MBR2)
162 Store(\PBAB, MBR2)
163 CreateWordField (CRS, ^FIX2._MAX, MBR3)
164 Store(\PBAB, MBR3)
165 CreateWordField (CRS, ^FIX3._MIN, MBR4)
166 Store(\GP0B, MBR4)
167 CreateWordField (CRS, ^FIX3._MAX, MBR5)
168 Store(\GP0B, MBR5)
169 CreateWordField (CRS, ^FIX5._MIN, MBR8)
170 Store(\SMBB, MBR8)
171 CreateWordField (CRS, ^FIX5._MAX, MBR9)
172 Store(\SMBB, MBR9)
173 CreateWordField (CRS, ^FIX6._MIN, MBRA)
174 Store(\WDTB, MBRA)
175 CreateWordField (CRS, ^FIX6._MAX, MBRB)
176 Store(\WDTB, MBRB)
177 return (CRS)
178 }
179 }
180
181 Device(LGIO) // Legacy GPIO.
182 {
183 Name(_HID, "INT3488")
184 Name(_CID, "INT3488")
185
186 Name(CRS,
187 ResourceTemplate()
188 {
189 IO(
190 Decode16,
191 0,
192 0,
193 0x01,
194 0x48,
195 FIX4
196 )
197 }
198 )
199
200 Method (_CRS, 0, NotSerialized) {
201 CreateWordField (CRS, ^FIX4._MIN, MBR6)
202 Store(\GPAB, MBR6)
203 CreateWordField (CRS, ^FIX4._MAX, MBR7)
204 Store(\GPAB, MBR7)
205 return (CRS)
206 }
207 }
208
209 Device(HPET) // High Performance Event Timer
210 {
211 Name(_HID,EISAID("PNP0103"))
212
213 Name(BUF0,ResourceTemplate()
214 {
215 IRQNoFlags() {0}
216 IRQNoFlags() {8}
217 Memory32Fixed(ReadOnly, 0, 0, FIX1)
218 })
219
220 Method(_STA,0)
221 {
222 // Show this Device only if the OS is WINXP or beyond.
223
224 If(LGreaterEqual(OSTP,WINDOWS_XP))
225 {
226 If(HPEA)
227 {
228 Return(0x000F) // Enabled, do Display.
229 }
230 }
231 Else
232 {
233 // OS = WIN98, WINME, or WIN2000.
234
235 If(HPEA)
236 {
237 Return(0x000B) // Enabled, don't Display.
238 }
239 }
240
241 Return(0x0000) // Return Nothing.
242 }
243
244 Method(_CRS,0,Serialized)
245 {
246 CreateDWordField (BUF0, ^FIX1._BAS, MBR0)
247 Store(\HPTB, MBR0)
248 CreateDWordField (BUF0, ^FIX1._LEN, MBR1)
249 Store(\HPTS, MBR1)
250 Return(BUF0)
251 }
252 }
253
254 #endif