blob: 7e8f6a6bfa27f676ea23dfae4f6998f53d9b96ca [file] [log] [blame]
Angel Ponsba38f372020-04-05 15:46:45 +02001/* SPDX-License-Identifier: GPL-2.0-only */
2/* This file is part of the coreboot project. */
Lee Leahy77ff0b12015-05-05 15:07:29 -07003
4Device (LNKA)
5{
6 Name (_HID, EISAID("PNP0C0F"))
7 Name (_UID, 1)
8
Lee Leahy32471722015-04-20 15:20:28 -07009 /* Disable method */
Lee Leahy77ff0b12015-05-05 15:07:29 -070010 Method (_DIS, 0, Serialized)
11 {
12 Store (0x80, PRTA)
13 }
14
Lee Leahy32471722015-04-20 15:20:28 -070015 /* Possible Resource Settings for this Link */
Lee Leahy77ff0b12015-05-05 15:07:29 -070016 Name (_PRS, ResourceTemplate()
17 {
18 IRQ(Level, ActiveLow, Shared)
Frans Hendriks3e8504a2018-10-26 12:29:28 +020019 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 }
Lee Leahy77ff0b12015-05-05 15:07:29 -070020 })
21
Lee Leahy32471722015-04-20 15:20:28 -070022 /* Current Resource Settings for this link */
Lee Leahy77ff0b12015-05-05 15:07:29 -070023 Method (_CRS, 0, Serialized)
24 {
25 Name (RTLA, ResourceTemplate()
26 {
27 IRQ(Level, ActiveLow, Shared) {}
28 })
29 CreateWordField(RTLA, 1, IRQ0)
30
Lee Leahy32471722015-04-20 15:20:28 -070031 /* Clear the WordField */
Lee Leahy77ff0b12015-05-05 15:07:29 -070032 Store (Zero, IRQ0)
33
Lee Leahy32471722015-04-20 15:20:28 -070034 /* Set the bit from PRTA */
Lee Leahy77ff0b12015-05-05 15:07:29 -070035 ShiftLeft(1, And(PRTA, 0x0f), IRQ0)
36
37 Return (RTLA)
38 }
39
Lee Leahy32471722015-04-20 15:20:28 -070040 /* Set Resource Setting for this IRQ link */
Lee Leahy77ff0b12015-05-05 15:07:29 -070041 Method (_SRS, 1, Serialized)
42 {
43 CreateWordField(Arg0, 1, IRQ0)
44
Lee Leahy32471722015-04-20 15:20:28 -070045 /* Which bit is set? */
Lee Leahy77ff0b12015-05-05 15:07:29 -070046 FindSetRightBit(IRQ0, Local0)
47
48 Decrement(Local0)
49 Store(Local0, PRTA)
50 }
51
Lee Leahy32471722015-04-20 15:20:28 -070052 /* Status */
Lee Leahy77ff0b12015-05-05 15:07:29 -070053 Method (_STA, 0, Serialized)
54 {
55 If(And(PRTA, 0x80)) {
56 Return (0x9)
57 } Else {
58 Return (0xb)
59 }
60 }
61}
62
63Device (LNKB)
64{
65 Name (_HID, EISAID("PNP0C0F"))
66 Name (_UID, 2)
67
Lee Leahy32471722015-04-20 15:20:28 -070068 /* Disable method */
Lee Leahy77ff0b12015-05-05 15:07:29 -070069 Method (_DIS, 0, Serialized)
70 {
71 Store (0x80, PRTB)
72 }
73
Lee Leahy32471722015-04-20 15:20:28 -070074 /* Possible Resource Settings for this Link */
Lee Leahy77ff0b12015-05-05 15:07:29 -070075 Name (_PRS, ResourceTemplate()
76 {
77 IRQ(Level, ActiveLow, Shared)
Frans Hendriks3e8504a2018-10-26 12:29:28 +020078 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 }
Lee Leahy77ff0b12015-05-05 15:07:29 -070079 })
80
Lee Leahy32471722015-04-20 15:20:28 -070081 /* Current Resource Settings for this link */
Lee Leahy77ff0b12015-05-05 15:07:29 -070082 Method (_CRS, 0, Serialized)
83 {
84 Name (RTLB, ResourceTemplate()
85 {
86 IRQ(Level, ActiveLow, Shared) {}
87 })
88 CreateWordField(RTLB, 1, IRQ0)
89
Lee Leahy32471722015-04-20 15:20:28 -070090 /* Clear the WordField */
Lee Leahy77ff0b12015-05-05 15:07:29 -070091 Store (Zero, IRQ0)
92
Lee Leahy32471722015-04-20 15:20:28 -070093 /* Set the bit from PRTB */
Lee Leahy77ff0b12015-05-05 15:07:29 -070094 ShiftLeft(1, And(PRTB, 0x0f), IRQ0)
95
96 Return (RTLB)
97 }
98
Lee Leahy32471722015-04-20 15:20:28 -070099 /* Set Resource Setting for this IRQ link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700100 Method (_SRS, 1, Serialized)
101 {
102 CreateWordField(Arg0, 1, IRQ0)
103
Lee Leahy32471722015-04-20 15:20:28 -0700104 /* Which bit is set? */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700105 FindSetRightBit(IRQ0, Local0)
106
107 Decrement(Local0)
108 Store(Local0, PRTB)
109 }
110
Lee Leahy32471722015-04-20 15:20:28 -0700111 /* Status */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700112 Method (_STA, 0, Serialized)
113 {
114 If(And(PRTB, 0x80)) {
115 Return (0x9)
116 } Else {
117 Return (0xb)
118 }
119 }
120}
121
122Device (LNKC)
123{
124 Name (_HID, EISAID("PNP0C0F"))
125 Name (_UID, 3)
126
Lee Leahy32471722015-04-20 15:20:28 -0700127 /* Disable method */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700128 Method (_DIS, 0, Serialized)
129 {
130 Store (0x80, PRTC)
131 }
132
Lee Leahy32471722015-04-20 15:20:28 -0700133 /* Possible Resource Settings for this Link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700134 Name (_PRS, ResourceTemplate()
135 {
136 IRQ(Level, ActiveLow, Shared)
Frans Hendriks3e8504a2018-10-26 12:29:28 +0200137 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 }
Lee Leahy77ff0b12015-05-05 15:07:29 -0700138 })
139
Lee Leahy32471722015-04-20 15:20:28 -0700140 /* Current Resource Settings for this link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700141 Method (_CRS, 0, Serialized)
142 {
143 Name (RTLC, ResourceTemplate()
144 {
145 IRQ(Level, ActiveLow, Shared) {}
146 })
147 CreateWordField(RTLC, 1, IRQ0)
148
Lee Leahy32471722015-04-20 15:20:28 -0700149 /* Clear the WordField */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700150 Store (Zero, IRQ0)
151
Lee Leahy32471722015-04-20 15:20:28 -0700152 /* Set the bit from PRTC */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700153 ShiftLeft(1, And(PRTC, 0x0f), IRQ0)
154
155 Return (RTLC)
156 }
157
Lee Leahy32471722015-04-20 15:20:28 -0700158 /* Set Resource Setting for this IRQ link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700159 Method (_SRS, 1, Serialized)
160 {
161 CreateWordField(Arg0, 1, IRQ0)
162
Lee Leahy32471722015-04-20 15:20:28 -0700163 /* Which bit is set? */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700164 FindSetRightBit(IRQ0, Local0)
165
166 Decrement(Local0)
167 Store(Local0, PRTC)
168 }
169
Lee Leahy32471722015-04-20 15:20:28 -0700170 /* Status */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700171 Method (_STA, 0, Serialized)
172 {
173 If(And(PRTC, 0x80)) {
174 Return (0x9)
175 } Else {
176 Return (0xb)
177 }
178 }
179}
180
181Device (LNKD)
182{
183 Name (_HID, EISAID("PNP0C0F"))
184 Name (_UID, 4)
185
Lee Leahy32471722015-04-20 15:20:28 -0700186 /* Disable method */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700187 Method (_DIS, 0, Serialized)
188 {
189 Store (0x80, PRTD)
190 }
191
Lee Leahy32471722015-04-20 15:20:28 -0700192 /* Possible Resource Settings for this Link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700193 Name (_PRS, ResourceTemplate()
194 {
195 IRQ(Level, ActiveLow, Shared)
Frans Hendriks3e8504a2018-10-26 12:29:28 +0200196 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 }
Lee Leahy77ff0b12015-05-05 15:07:29 -0700197 })
198
Lee Leahy32471722015-04-20 15:20:28 -0700199 /* Current Resource Settings for this link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700200 Method (_CRS, 0, Serialized)
201 {
202 Name (RTLD, ResourceTemplate()
203 {
204 IRQ(Level, ActiveLow, Shared) {}
205 })
206 CreateWordField(RTLD, 1, IRQ0)
207
Lee Leahy32471722015-04-20 15:20:28 -0700208 /* Clear the WordField */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700209 Store (Zero, IRQ0)
210
Lee Leahy32471722015-04-20 15:20:28 -0700211 /* Set the bit from PRTD */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700212 ShiftLeft(1, And(PRTD, 0x0f), IRQ0)
213
214 Return (RTLD)
215 }
216
Lee Leahy32471722015-04-20 15:20:28 -0700217 /* Set Resource Setting for this IRQ link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700218 Method (_SRS, 1, Serialized)
219 {
220 CreateWordField(Arg0, 1, IRQ0)
221
Lee Leahy32471722015-04-20 15:20:28 -0700222 /* Which bit is set? */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700223 FindSetRightBit(IRQ0, Local0)
224
225 Decrement(Local0)
226 Store(Local0, PRTD)
227 }
228
Lee Leahy32471722015-04-20 15:20:28 -0700229 /* Status */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700230 Method (_STA, 0, Serialized)
231 {
232 If(And(PRTD, 0x80)) {
233 Return (0x9)
234 } Else {
235 Return (0xb)
236 }
237 }
238}
239
240Device (LNKE)
241{
242 Name (_HID, EISAID("PNP0C0F"))
243 Name (_UID, 5)
244
Lee Leahy32471722015-04-20 15:20:28 -0700245 /* Disable method */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700246 Method (_DIS, 0, Serialized)
247 {
248 Store (0x80, PRTE)
249 }
250
Lee Leahy32471722015-04-20 15:20:28 -0700251 /* Possible Resource Settings for this Link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700252 Name (_PRS, ResourceTemplate()
253 {
254 IRQ(Level, ActiveLow, Shared)
Frans Hendriks3e8504a2018-10-26 12:29:28 +0200255 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 }
Lee Leahy77ff0b12015-05-05 15:07:29 -0700256 })
257
Lee Leahy32471722015-04-20 15:20:28 -0700258 /* Current Resource Settings for this link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700259 Method (_CRS, 0, Serialized)
260 {
261 Name (RTLE, ResourceTemplate()
262 {
263 IRQ(Level, ActiveLow, Shared) {}
264 })
265 CreateWordField(RTLE, 1, IRQ0)
266
Lee Leahy32471722015-04-20 15:20:28 -0700267 /* Clear the WordField */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700268 Store (Zero, IRQ0)
269
Lee Leahy32471722015-04-20 15:20:28 -0700270 /* Set the bit from PRTE */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700271 ShiftLeft(1, And(PRTE, 0x0f), IRQ0)
272
273 Return (RTLE)
274 }
275
Lee Leahy32471722015-04-20 15:20:28 -0700276 /* Set Resource Setting for this IRQ link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700277 Method (_SRS, 1, Serialized)
278 {
279 CreateWordField(Arg0, 1, IRQ0)
280
Lee Leahy32471722015-04-20 15:20:28 -0700281 /* Which bit is set? */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700282 FindSetRightBit(IRQ0, Local0)
283
284 Decrement(Local0)
285 Store(Local0, PRTE)
286 }
287
Lee Leahy32471722015-04-20 15:20:28 -0700288 /* Status */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700289 Method (_STA, 0, Serialized)
290 {
291 If(And(PRTE, 0x80)) {
292 Return (0x9)
293 } Else {
294 Return (0xb)
295 }
296 }
297}
298
299Device (LNKF)
300{
301 Name (_HID, EISAID("PNP0C0F"))
302 Name (_UID, 6)
303
Lee Leahy32471722015-04-20 15:20:28 -0700304 /* Disable method */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700305 Method (_DIS, 0, Serialized)
306 {
307 Store (0x80, PRTF)
308 }
309
Lee Leahy32471722015-04-20 15:20:28 -0700310 /* Possible Resource Settings for this Link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700311 Name (_PRS, ResourceTemplate()
312 {
313 IRQ(Level, ActiveLow, Shared)
Frans Hendriks3e8504a2018-10-26 12:29:28 +0200314 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 }
Lee Leahy77ff0b12015-05-05 15:07:29 -0700315 })
316
Lee Leahy32471722015-04-20 15:20:28 -0700317 /* Current Resource Settings for this link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700318 Method (_CRS, 0, Serialized)
319 {
320 Name (RTLF, ResourceTemplate()
321 {
322 IRQ(Level, ActiveLow, Shared) {}
323 })
324 CreateWordField(RTLF, 1, IRQ0)
325
Lee Leahy32471722015-04-20 15:20:28 -0700326 /* Clear the WordField */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700327 Store (Zero, IRQ0)
328
Lee Leahy32471722015-04-20 15:20:28 -0700329 /* Set the bit from PRTF */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700330 ShiftLeft(1, And(PRTF, 0x0f), IRQ0)
331
332 Return (RTLF)
333 }
334
Lee Leahy32471722015-04-20 15:20:28 -0700335 /* Set Resource Setting for this IRQ link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700336 Method (_SRS, 1, Serialized)
337 {
338 CreateWordField(Arg0, 1, IRQ0)
339
Lee Leahy32471722015-04-20 15:20:28 -0700340 /* Which bit is set? */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700341 FindSetRightBit(IRQ0, Local0)
342
343 Decrement(Local0)
344 Store(Local0, PRTF)
345 }
346
Lee Leahy32471722015-04-20 15:20:28 -0700347 /* Status */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700348 Method (_STA, 0, Serialized)
349 {
350 If(And(PRTF, 0x80)) {
351 Return (0x9)
352 } Else {
353 Return (0xb)
354 }
355 }
356}
357
358Device (LNKG)
359{
360 Name (_HID, EISAID("PNP0C0F"))
361 Name (_UID, 7)
362
Lee Leahy32471722015-04-20 15:20:28 -0700363 /* Disable method */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700364 Method (_DIS, 0, Serialized)
365 {
366 Store (0x80, PRTG)
367 }
368
Lee Leahy32471722015-04-20 15:20:28 -0700369 /* Possible Resource Settings for this Link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700370 Name (_PRS, ResourceTemplate()
371 {
372 IRQ(Level, ActiveLow, Shared)
Frans Hendriks3e8504a2018-10-26 12:29:28 +0200373 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 }
Lee Leahy77ff0b12015-05-05 15:07:29 -0700374 })
375
Lee Leahy32471722015-04-20 15:20:28 -0700376 /* Current Resource Settings for this link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700377 Method (_CRS, 0, Serialized)
378 {
379 Name (RTLG, ResourceTemplate()
380 {
381 IRQ(Level, ActiveLow, Shared) {}
382 })
383 CreateWordField(RTLG, 1, IRQ0)
384
Lee Leahy32471722015-04-20 15:20:28 -0700385 /* Clear the WordField */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700386 Store (Zero, IRQ0)
387
Lee Leahy32471722015-04-20 15:20:28 -0700388 /* Set the bit from PRTG */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700389 ShiftLeft(1, And(PRTG, 0x0f), IRQ0)
390
391 Return (RTLG)
392 }
393
Lee Leahy32471722015-04-20 15:20:28 -0700394 /* Set Resource Setting for this IRQ link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700395 Method (_SRS, 1, Serialized)
396 {
397 CreateWordField(Arg0, 1, IRQ0)
398
Lee Leahy32471722015-04-20 15:20:28 -0700399 /* Which bit is set? */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700400 FindSetRightBit(IRQ0, Local0)
401
402 Decrement(Local0)
403 Store(Local0, PRTG)
404 }
405
Lee Leahy32471722015-04-20 15:20:28 -0700406 /* Status */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700407 Method (_STA, 0, Serialized)
408 {
409 If(And(PRTG, 0x80)) {
410 Return (0x9)
411 } Else {
412 Return (0xb)
413 }
414 }
415}
416
417Device (LNKH)
418{
419 Name (_HID, EISAID("PNP0C0F"))
420 Name (_UID, 8)
421
Lee Leahy32471722015-04-20 15:20:28 -0700422 /* Disable method */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700423 Method (_DIS, 0, Serialized)
424 {
425 Store (0x80, PRTH)
426 }
427
Lee Leahy32471722015-04-20 15:20:28 -0700428 /* Possible Resource Settings for this Link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700429 Name (_PRS, ResourceTemplate()
430 {
431 IRQ(Level, ActiveLow, Shared)
Frans Hendriks3e8504a2018-10-26 12:29:28 +0200432 { 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15 }
Lee Leahy77ff0b12015-05-05 15:07:29 -0700433 })
434
Lee Leahy32471722015-04-20 15:20:28 -0700435 /* Current Resource Settings for this link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700436 Method (_CRS, 0, Serialized)
437 {
438 Name (RTLH, ResourceTemplate()
439 {
440 IRQ(Level, ActiveLow, Shared) {}
441 })
442 CreateWordField(RTLH, 1, IRQ0)
443
Lee Leahy32471722015-04-20 15:20:28 -0700444 /* Clear the WordField */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700445 Store (Zero, IRQ0)
446
Lee Leahy32471722015-04-20 15:20:28 -0700447 /* Set the bit from PRTH */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700448 ShiftLeft(1, And(PRTH, 0x0f), IRQ0)
449
450 Return (RTLH)
451 }
452
Lee Leahy32471722015-04-20 15:20:28 -0700453 /* Set Resource Setting for this IRQ link */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700454 Method (_SRS, 1, Serialized)
455 {
456 CreateWordField(Arg0, 1, IRQ0)
457
Lee Leahy32471722015-04-20 15:20:28 -0700458 /* Which bit is set? */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700459 FindSetRightBit(IRQ0, Local0)
460
461 Decrement(Local0)
462 Store(Local0, PRTH)
463 }
464
Lee Leahy32471722015-04-20 15:20:28 -0700465 /* Status */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700466 Method (_STA, 0, Serialized)
467 {
468 If(And(PRTH, 0x80)) {
469 Return (0x9)
470 } Else {
471 Return (0xb)
472 }
473 }
474}