libpayload: configs: Add new config.featuretest to broaden CI
[coreboot2.git] / src / soc / intel / tigerlake / acpi / pcie.asl
blob86d53fe2b75a140c95649aa77cb45edc405b9df5
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 /* Intel PCH PCIe support */
5 Method (IRQM, 1, Serialized) {
7         /* Interrupt Map INTA->INTA, INTB->INTB, INTC->INTC, INTD->INTD */
8         Name (IQAA, Package () {
9                 Package () { 0x0000ffff, 0, 0, 16 },
10                 Package () { 0x0000ffff, 1, 0, 17 },
11                 Package () { 0x0000ffff, 2, 0, 18 },
12                 Package () { 0x0000ffff, 3, 0, 19 } })
13         Name (IQAP, Package () {
14                 Package () { 0x0000ffff, 0, 0, 11 },
15                 Package () { 0x0000ffff, 1, 0, 10 },
16                 Package () { 0x0000ffff, 2, 0, 11 },
17                 Package () { 0x0000ffff, 3, 0, 11 } })
19         /* Interrupt Map INTA->INTB, INTB->INTC, INTC->INTD, INTD->INTA */
20         Name (IQBA, Package () {
21                 Package () { 0x0000ffff, 0, 0, 17 },
22                 Package () { 0x0000ffff, 1, 0, 18 },
23                 Package () { 0x0000ffff, 2, 0, 19 },
24                 Package () { 0x0000ffff, 3, 0, 16 } })
25         Name (IQBP, Package () {
26                 Package () { 0x0000ffff, 0, 0, 10 },
27                 Package () { 0x0000ffff, 1, 0, 11 },
28                 Package () { 0x0000ffff, 2, 0, 11 },
29                 Package () { 0x0000ffff, 3, 0, 11 } })
31         /* Interrupt Map INTA->INTC, INTB->INTD, INTC->INTA, INTD->INTB */
32         Name (IQCA, Package () {
33                 Package () { 0x0000ffff, 0, 0, 18 },
34                 Package () { 0x0000ffff, 1, 0, 19 },
35                 Package () { 0x0000ffff, 2, 0, 16 },
36                 Package () { 0x0000ffff, 3, 0, 17 } })
37         Name (IQCP, Package () {
38                 Package () { 0x0000ffff, 0, 0, 11 },
39                 Package () { 0x0000ffff, 1, 0, 11 },
40                 Package () { 0x0000ffff, 2, 0, 11 },
41                 Package () { 0x0000ffff, 3, 0, 10 } })
43         /* Interrupt Map INTA->INTD, INTB->INTA, INTC->INTB, INTD->INTC */
44         Name (IQDA, Package () {
45                 Package () { 0x0000ffff, 0, 0, 19 },
46                 Package () { 0x0000ffff, 1, 0, 16 },
47                 Package () { 0x0000ffff, 2, 0, 17 },
48                 Package () { 0x0000ffff, 3, 0, 18 } })
49         Name (IQDP, Package () {
50                 Package () { 0x0000ffff, 0, 0, 11 },
51                 Package () { 0x0000ffff, 1, 0, 11 },
52                 Package () { 0x0000ffff, 2, 0, 10 },
53                 Package () { 0x0000ffff, 3, 0, 11 } })
55         Switch (ToInteger (Arg0))
56         {
57                 Case (Package () { 1, 5, 9, 13
58 #if CONFIG(SOC_INTEL_TIGERLAKE_PCH_H)
59                 , 17, 21
60 #endif
61                 }) {
62                         If (PICM) {
63                                 Return (IQAA)
64                         } Else {
65                                 Return (IQAP)
66                         }
67                 }
69                 Case (Package () { 2, 6, 10, 14
70 #if CONFIG(SOC_INTEL_TIGERLAKE_PCH_H)
71                 , 18, 22
72 #endif
73                 }) {
74                         If (PICM) {
75                                 Return (IQBA)
76                         } Else {
77                                 Return (IQBP)
78                         }
79                 }
81                 Case (Package () { 3, 7, 11, 15
82 #if CONFIG(SOC_INTEL_TIGERLAKE_PCH_H)
83                 , 19, 23
84 #endif
85                 }) {
86                         If (PICM) {
87                                 Return (IQCA)
88                         } Else {
89                                 Return (IQCP)
90                         }
91                 }
93                 Case (Package () { 4, 8, 12, 16
94 #if CONFIG(SOC_INTEL_TIGERLAKE_PCH_H)
95                 , 20, 24
96 #endif
97                 }) {
98                         If (PICM) {
99                                 Return (IQDA)
100                         } Else {
101                                 Return (IQDP)
102                         }
103                 }
105                 Default {
106                         If (PICM) {
107                                 Return (IQDA)
108                         } Else {
109                                 Return (IQDP)
110                         }
111                 }
112         }
115 Device (PEG0)
117         Name (_ADR, 0x00060000)
119         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
120         Field (RPCS, AnyAcc, NoLock, Preserve)
121         {
122                 , 24,
123                 RPPN, 8,        /* Root Port Number */
124         }
126         Method (_PRT)
127         {
128                 Return (IRQM (RPPN))
129         }
132 #if CONFIG(SOC_INTEL_TIGERLAKE_PCH_H)
133 Device (PEG1)
135         Name (_ADR, 0x00010000)
137         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
138         Field (RPCS, AnyAcc, NoLock, Preserve)
139         {
140                 , 24,
141                 RPPN, 8,        /* Root Port Number */
142         }
144         Method (_PRT)
145         {
146                 Return (IRQM (RPPN))
147         }
150 Device (PEG2)
152         Name (_ADR, 0x00010001)
154         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
155         Field (RPCS, AnyAcc, NoLock, Preserve)
156         {
157                 , 24,
158                 RPPN, 8,        /* Root Port Number */
159         }
161         Method (_PRT)
162         {
163                 Return (IRQM (RPPN))
164         }
167 Device (PEG3)
169         Name (_ADR, 0x00010002)
171         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
172         Field (RPCS, AnyAcc, NoLock, Preserve)
173         {
174                 , 24,
175                 RPPN, 8,        /* Root Port Number */
176         }
178         Method (_PRT)
179         {
180                 Return (IRQM (RPPN))
181         }
183 #endif
185 Device (RP01)
187         Name (_ADR, 0x001C0000)
189         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
190         Field (RPCS, AnyAcc, NoLock, Preserve)
191         {
192                 , 24,
193                 RPPN, 8,        /* Root Port Number */
194         }
196         Method (_PRT)
197         {
198                 Return (IRQM (RPPN))
199         }
202 Device (RP02)
204         Name (_ADR, 0x001C0001)
206         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
207         Field (RPCS, AnyAcc, NoLock, Preserve)
208         {
209                 , 24,
210                 RPPN, 8,        /* Root Port Number */
211         }
213         Method (_PRT)
214         {
215                 Return (IRQM (RPPN))
216         }
219 Device (RP03)
221         Name (_ADR, 0x001C0002)
223         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
224         Field (RPCS, AnyAcc, NoLock, Preserve)
225         {
226                 , 24,
227                 RPPN, 8,        /* Root Port Number */
228         }
230         Method (_PRT)
231         {
232                 Return (IRQM (RPPN))
233         }
236 Device (RP04)
238         Name (_ADR, 0x001C0003)
240         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
241         Field (RPCS, AnyAcc, NoLock, Preserve)
242         {
243                 , 24,
244                 RPPN, 8,        /* Root Port Number */
245         }
247         Method (_PRT)
248         {
249                 Return (IRQM (RPPN))
250         }
253 Device (RP05)
255         Name (_ADR, 0x001C0004)
257         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
258         Field (RPCS, AnyAcc, NoLock, Preserve)
259         {
260                 , 24,
261                 RPPN, 8,        /* Root Port Number */
262         }
264         Method (_PRT)
265         {
266                 Return (IRQM (RPPN))
267         }
270 Device (RP06)
272         Name (_ADR, 0x001C0005)
274         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
275         Field (RPCS, AnyAcc, NoLock, Preserve)
276         {
277                 , 24,
278                 RPPN, 8,        /* Root Port Number */
279         }
281         Method (_PRT)
282         {
283                 Return (IRQM (RPPN))
284         }
287 Device (RP07)
289         Name (_ADR, 0x001C0006)
291         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
292         Field (RPCS, AnyAcc, NoLock, Preserve)
293         {
294                 , 24,
295                 RPPN, 8,        /* Root Port Number */
296         }
298         Method (_PRT)
299         {
300                 Return (IRQM (RPPN))
301         }
304 Device (RP08)
306         Name (_ADR, 0x001C0007)
308         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
309         Field (RPCS, AnyAcc, NoLock, Preserve)
310         {
311                 , 24,
312                 RPPN, 8,        /* Root Port Number */
313         }
315         Method (_PRT)
316         {
317                 Return (IRQM (RPPN))
318         }
321 Device (RP09)
323         Name (_ADR, 0x001D0000)
325         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
326         Field (RPCS, AnyAcc, NoLock, Preserve)
327         {
328                 , 24,
329                 RPPN, 8,        /* Root Port Number */
330         }
332         Method (_PRT)
333         {
334                 Return (IRQM (RPPN))
335         }
338 Device (RP10)
340         Name (_ADR, 0x001D0001)
342         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
343         Field (RPCS, AnyAcc, NoLock, Preserve)
344         {
345                 , 24,
346                 RPPN, 8,        /* Root Port Number */
347         }
349         Method (_PRT)
350         {
351                 Return (IRQM (RPPN))
352         }
355 Device (RP11)
357         Name (_ADR, 0x001D0002)
359         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
360         Field (RPCS, AnyAcc, NoLock, Preserve)
361         {
362                 , 24,
363                 RPPN, 8,        /* Root Port Number */
364         }
366         Method (_PRT)
367         {
368                 Return (IRQM (RPPN))
369         }
372 Device (RP12)
374         Name (_ADR, 0x001D0003)
376         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
377         Field (RPCS, AnyAcc, NoLock, Preserve)
378         {
379                 , 24,
380                 RPPN, 8,        /* Root Port Number */
381         }
383         Method (_PRT)
384         {
385                 Return (IRQM (RPPN))
386         }
389 #if CONFIG(SOC_INTEL_TIGERLAKE_PCH_H)
390 Device (RP17)
392         Name (_ADR, 0x001B0000)
394         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
395         Field (RPCS, AnyAcc, NoLock, Preserve)
396         {
397                 , 24,
398                 RPPN, 8,        /* Root Port Number */
399         }
401         Method (_PRT)
402         {
403                 Return (IRQM (RPPN))
404         }
407 Device (RP18)
409         Name (_ADR, 0x001B0001)
411         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
412         Field (RPCS, AnyAcc, NoLock, Preserve)
413         {
414                 , 24,
415                 RPPN, 8,        /* Root Port Number */
416         }
418         Method (_PRT)
419         {
420                 Return (IRQM (RPPN))
421         }
424 Device (RP19)
426         Name (_ADR, 0x001B0002)
428         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
429         Field (RPCS, AnyAcc, NoLock, Preserve)
430         {
431                 , 24,
432                 RPPN, 8,        /* Root Port Number */
433         }
435         Method (_PRT)
436         {
437                 Return (IRQM (RPPN))
438         }
441 Device (RP20)
443         Name (_ADR, 0x001B0003)
445         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
446         Field (RPCS, AnyAcc, NoLock, Preserve)
447         {
448                 , 24,
449                 RPPN, 8,        /* Root Port Number */
450         }
452         Method (_PRT)
453         {
454                 Return (IRQM (RPPN))
455         }
458 Device (RP21)
460         Name (_ADR, 0x001B0004)
462         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
463         Field (RPCS, AnyAcc, NoLock, Preserve)
464         {
465                 , 24,
466                 RPPN, 8,        /* Root Port Number */
467         }
469         Method (_PRT)
470         {
471                 Return (IRQM (RPPN))
472         }
475 Device (RP22)
477         Name (_ADR, 0x001B0005)
479         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
480         Field (RPCS, AnyAcc, NoLock, Preserve)
481         {
482                 , 24,
483                 RPPN, 8,        /* Root Port Number */
484         }
486         Method (_PRT)
487         {
488                 Return (IRQM (RPPN))
489         }
492 Device (RP23)
494         Name (_ADR, 0x001B0006)
496         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
497         Field (RPCS, AnyAcc, NoLock, Preserve)
498         {
499                 , 24,
500                 RPPN, 8,        /* Root Port Number */
501         }
503         Method (_PRT)
504         {
505                 Return (IRQM (RPPN))
506         }
509 Device (RP24)
511         Name (_ADR, 0x001B0007)
513         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
514         Field (RPCS, AnyAcc, NoLock, Preserve)
515         {
516                 , 24,
517                 RPPN, 8,        /* Root Port Number */
518         }
520         Method (_PRT)
521         {
522                 Return (IRQM (RPPN))
523         }
525 #endif /* CONFIG(SOC_INTEL_TIGERLAKE_PCH_H) */
527 Device (SRAM)
529         Name (_ADR, 0x00140002)
532 Device (HEC1)
534         Name (_ADR, 0x00160000)