soc: Remove copyright notices
[coreboot.git] / src / soc / intel / skylake / acpi / pcie.asl
blobb28ea443237dd98fb8a0c66e8346fed66566a1f0
1 /*
2  * This file is part of the coreboot project.
3  *
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; version 2 of the License.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  */
15 /* Intel PCH PCIe support */
17 Method (IRQM, 1, Serialized) {
19         /* Interrupt Map INTA->INTA, INTB->INTB, INTC->INTC, INTD->INTD */
20         Name (IQAA, Package () {
21                 Package () { 0x0000ffff, 0, 0, 16 },
22                 Package () { 0x0000ffff, 1, 0, 17 },
23                 Package () { 0x0000ffff, 2, 0, 18 },
24                 Package () { 0x0000ffff, 3, 0, 19 } })
25         Name (IQAP, Package () {
26                 Package () { 0x0000ffff, 0, \_SB.PCI0.LNKA, 0 },
27                 Package () { 0x0000ffff, 1, \_SB.PCI0.LNKB, 0 },
28                 Package () { 0x0000ffff, 2, \_SB.PCI0.LNKC, 0 },
29                 Package () { 0x0000ffff, 3, \_SB.PCI0.LNKD, 0 } })
31         /* Interrupt Map INTA->INTB, INTB->INTC, INTC->INTD, INTD->INTA */
32         Name (IQBA, Package () {
33                 Package () { 0x0000ffff, 0, 0, 17 },
34                 Package () { 0x0000ffff, 1, 0, 18 },
35                 Package () { 0x0000ffff, 2, 0, 19 },
36                 Package () { 0x0000ffff, 3, 0, 16 } })
37         Name (IQBP, Package () {
38                 Package () { 0x0000ffff, 0, \_SB.PCI0.LNKB, 0 },
39                 Package () { 0x0000ffff, 1, \_SB.PCI0.LNKC, 0 },
40                 Package () { 0x0000ffff, 2, \_SB.PCI0.LNKD, 0 },
41                 Package () { 0x0000ffff, 3, \_SB.PCI0.LNKA, 0 } })
43         /* Interrupt Map INTA->INTC, INTB->INTD, INTC->INTA, INTD->INTB */
44         Name (IQCA, Package () {
45                 Package () { 0x0000ffff, 0, 0, 18 },
46                 Package () { 0x0000ffff, 1, 0, 19 },
47                 Package () { 0x0000ffff, 2, 0, 16 },
48                 Package () { 0x0000ffff, 3, 0, 17 } })
49         Name (IQCP, Package () {
50                 Package () { 0x0000ffff, 0, \_SB.PCI0.LNKC, 0 },
51                 Package () { 0x0000ffff, 1, \_SB.PCI0.LNKD, 0 },
52                 Package () { 0x0000ffff, 2, \_SB.PCI0.LNKA, 0 },
53                 Package () { 0x0000ffff, 3, \_SB.PCI0.LNKB, 0 } })
55         /* Interrupt Map INTA->INTD, INTB->INTA, INTC->INTB, INTD->INTC */
56         Name (IQDA, Package () {
57                 Package () { 0x0000ffff, 0, 0, 19 },
58                 Package () { 0x0000ffff, 1, 0, 16 },
59                 Package () { 0x0000ffff, 2, 0, 17 },
60                 Package () { 0x0000ffff, 3, 0, 18 } })
61         Name (IQDP, Package () {
62                 Package () { 0x0000ffff, 0, \_SB.PCI0.LNKD, 0 },
63                 Package () { 0x0000ffff, 1, \_SB.PCI0.LNKA, 0 },
64                 Package () { 0x0000ffff, 2, \_SB.PCI0.LNKB, 0 },
65                 Package () { 0x0000ffff, 3, \_SB.PCI0.LNKC, 0 } })
67         Switch (ToInteger (Arg0))
68         {
69                 Case (Package () { 1, 5, 9, 13 }) {
70                         If (PICM) {
71                                 Return (IQAA)
72                         } Else {
73                                 Return (IQAP)
74                         }
75                 }
77                 Case (Package () { 2, 6, 10, 14 }) {
78                         If (PICM) {
79                                 Return (IQBA)
80                         } Else {
81                                 Return (IQBP)
82                         }
83                 }
85                 Case (Package () { 3, 7, 11, 15 }) {
86                         If (PICM) {
87                                 Return (IQCA)
88                         } Else {
89                                 Return (IQCP)
90                         }
91                 }
93                 Case (Package () { 4, 8, 12, 16 }) {
94                         If (PICM) {
95                                 Return (IQDA)
96                         } Else {
97                                 Return (IQDP)
98                         }
99                 }
101                 Default {
102                         If (PICM) {
103                                 Return (IQDA)
104                         } Else {
105                                 Return (IQDP)
106                         }
107                 }
108         }
111 Device (RP01)
113         Name (_ADR, 0x001C0000)
115         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
116         Field (RPCS, AnyAcc, NoLock, Preserve)
117         {
118                 , 24,
119                 RPPN, 8,        /* Root Port Number */
120         }
122         Method (_PRT)
123         {
124                 Return (IRQM (RPPN))
125         }
128 Device (RP02)
130         Name (_ADR, 0x001C0001)
132         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
133         Field (RPCS, AnyAcc, NoLock, Preserve)
134         {
135                 , 24,
136                 RPPN, 8,        /* Root Port Number */
137         }
139         Method (_PRT)
140         {
141                 Return (IRQM (RPPN))
142         }
145 Device (RP03)
147         Name (_ADR, 0x001C0002)
149         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
150         Field (RPCS, AnyAcc, NoLock, Preserve)
151         {
152                 , 24,
153                 RPPN, 8,        /* Root Port Number */
154         }
156         Method (_PRT)
157         {
158                 Return (IRQM (RPPN))
159         }
162 Device (RP04)
164         Name (_ADR, 0x001C0003)
166         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
167         Field (RPCS, AnyAcc, NoLock, Preserve)
168         {
169                 , 24,
170                 RPPN, 8,        /* Root Port Number */
171         }
173         Method (_PRT)
174         {
175                 Return (IRQM (RPPN))
176         }
179 Device (RP05)
181         Name (_ADR, 0x001C0004)
183         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
184         Field (RPCS, AnyAcc, NoLock, Preserve)
185         {
186                 , 24,
187                 RPPN, 8,        /* Root Port Number */
188         }
190         Method (_PRT)
191         {
192                 Return (IRQM (RPPN))
193         }
196 Device (RP06)
198         Name (_ADR, 0x001C0005)
200         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
201         Field (RPCS, AnyAcc, NoLock, Preserve)
202         {
203                 , 24,
204                 RPPN, 8,        /* Root Port Number */
205         }
207         Method (_PRT)
208         {
209                 Return (IRQM (RPPN))
210         }
213 Device (RP07)
215         Name (_ADR, 0x001C0006)
217         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
218         Field (RPCS, AnyAcc, NoLock, Preserve)
219         {
220                 , 24,
221                 RPPN, 8,        /* Root Port Number */
222         }
224         Method (_PRT)
225         {
226                 Return (IRQM (RPPN))
227         }
230 Device (RP08)
232         Name (_ADR, 0x001C0007)
234         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
235         Field (RPCS, AnyAcc, NoLock, Preserve)
236         {
237                 , 24,
238                 RPPN, 8,        /* Root Port Number */
239         }
241         Method (_PRT)
242         {
243                 Return (IRQM (RPPN))
244         }
247 Device (RP09)
249         Name (_ADR, 0x001D0000)
251         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
252         Field (RPCS, AnyAcc, NoLock, Preserve)
253         {
254                 , 24,
255                 RPPN, 8,        /* Root Port Number */
256         }
258         Method (_PRT)
259         {
260                 Return (IRQM (RPPN))
261         }
264 Device (RP10)
266         Name (_ADR, 0x001D0001)
268         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
269         Field (RPCS, AnyAcc, NoLock, Preserve)
270         {
271                 , 24,
272                 RPPN, 8,        /* Root Port Number */
273         }
275         Method (_PRT)
276         {
277                 Return (IRQM (RPPN))
278         }
281 Device (RP11)
283         Name (_ADR, 0x001D0002)
285         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
286         Field (RPCS, AnyAcc, NoLock, Preserve)
287         {
288                 , 24,
289                 RPPN, 8,        /* Root Port Number */
290         }
292         Method (_PRT)
293         {
294                 Return (IRQM (RPPN))
295         }
298 Device (RP12)
300         Name (_ADR, 0x001D0003)
302         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
303         Field (RPCS, AnyAcc, NoLock, Preserve)
304         {
305                 , 24,
306                 RPPN, 8,        /* Root Port Number */
307         }
309         Method (_PRT)
310         {
311                 Return (IRQM (RPPN))
312         }
315 Device (RP13)
317         Name (_ADR, 0x001D0004)
319         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
320         Field (RPCS, AnyAcc, NoLock, Preserve)
321         {
322                 , 24,
323                 RPPN, 8,        /* Root Port Number */
324         }
326         Method (_PRT)
327         {
328                 Return (IRQM (RPPN))
329         }
332 Device (RP14)
334         Name (_ADR, 0x001D0005)
336         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
337         Field (RPCS, AnyAcc, NoLock, Preserve)
338         {
339                 , 24,
340                 RPPN, 8,        /* Root Port Number */
341         }
343         Method (_PRT)
344         {
345                 Return (IRQM (RPPN))
346         }
349 Device (RP15)
351         Name (_ADR, 0x001D0006)
353         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
354         Field (RPCS, AnyAcc, NoLock, Preserve)
355         {
356                 , 24,
357                 RPPN, 8,        /* Root Port Number */
358         }
360         Method (_PRT)
361         {
362                 Return (IRQM (RPPN))
363         }
366 Device (RP16)
368         Name (_ADR, 0x001D0007)
370         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
371         Field (RPCS, AnyAcc, NoLock, Preserve)
372         {
373                 , 24,
374                 RPPN, 8,        /* Root Port Number */
375         }
377         Method (_PRT)
378         {
379                 Return (IRQM (RPPN))
380         }