mb/google/nissa/var/rull: Add 6W and 15W DPTF parameters
[coreboot.git] / src / soc / intel / denverton_ns / acpi / pcie.asl
bloba34884ed24d74599aa96c22a0040ad72151a38b8
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 /* Intel 6/7 Series PCH PCIe support */
5 // PCI Express Ports
7 Method (IRQM, 1, Serialized) {
9         /* Interrupt Map INTA->INTA, INTB->INTB, INTC->INTC, INTD->INTD */
10         Name (IQAA, Package() {
11                 Package() { 0x0000ffff, 0, 0, 16 },
12                 Package() { 0x0000ffff, 1, 0, 17 },
13                 Package() { 0x0000ffff, 2, 0, 18 },
14                 Package() { 0x0000ffff, 3, 0, 19 } })
15         Name (IQAP, Package() {
16                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKA, 0 },
17                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
18                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
19                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKD, 0 } })
21         /* Interrupt Map INTA->INTB, INTB->INTC, INTC->INTD, INTD->INTA */
22         Name (IQBA, Package() {
23                 Package() { 0x0000ffff, 0, 0, 17 },
24                 Package() { 0x0000ffff, 1, 0, 18 },
25                 Package() { 0x0000ffff, 2, 0, 19 },
26                 Package() { 0x0000ffff, 3, 0, 16 } })
27         Name (IQBP, Package() {
28                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKB, 0 },
29                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKC, 0 },
30                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKD, 0 },
31                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKA, 0 } })
33         /* Interrupt Map INTA->INTC, INTB->INTD, INTC->INTA, INTD->INTB */
34         Name (IQCA, Package() {
35                 Package() { 0x0000ffff, 0, 0, 18 },
36                 Package() { 0x0000ffff, 1, 0, 19 },
37                 Package() { 0x0000ffff, 2, 0, 16 },
38                 Package() { 0x0000ffff, 3, 0, 17 } })
39         Name (IQCP, Package() {
40                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKC, 0 },
41                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKD, 0 },
42                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKA, 0 },
43                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKB, 0 } })
45         /* Interrupt Map INTA->INTD, INTB->INTA, INTC->INTB, INTD->INTC */
46         Name (IQDA, Package() {
47                 Package() { 0x0000ffff, 0, 0, 19 },
48                 Package() { 0x0000ffff, 1, 0, 16 },
49                 Package() { 0x0000ffff, 2, 0, 17 },
50                 Package() { 0x0000ffff, 3, 0, 18 } })
51         Name (IQDP, Package() {
52                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKD, 0 },
53                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKA, 0 },
54                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKB, 0 },
55                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKC, 0 } })
57         /* Interrupt Map INTA->INTE, INTB->INTF, INTC->INTG, INTD->INTH */
58         Name (IQEA, Package() {
59                 Package() { 0x0000ffff, 0, 0, 20 },
60                 Package() { 0x0000ffff, 1, 0, 21 },
61                 Package() { 0x0000ffff, 2, 0, 22 },
62                 Package() { 0x0000ffff, 3, 0, 23 } })
63         Name (IQEP, Package() {
64                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKE, 0 },
65                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKF, 0 },
66                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKG, 0 },
67                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKH, 0 } })
69         /* Interrupt Map INTA->INTF, INTB->INTG, INTC->INTH, INTD->INTE */
70         Name (IQFA, Package() {
71                 Package() { 0x0000ffff, 0, 0, 21 },
72                 Package() { 0x0000ffff, 1, 0, 22 },
73                 Package() { 0x0000ffff, 2, 0, 23 },
74                 Package() { 0x0000ffff, 3, 0, 20 } })
75         Name (IQFP, Package() {
76                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKF, 0 },
77                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKG, 0 },
78                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKH, 0 },
79                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKE, 0 } })
81         /* Interrupt Map INTA->INTG, INTB->INTH, INTC->INTE, INTD->INTF */
82         Name (IQGA, Package() {
83                 Package() { 0x0000ffff, 0, 0, 22 },
84                 Package() { 0x0000ffff, 1, 0, 23 },
85                 Package() { 0x0000ffff, 2, 0, 20 },
86                 Package() { 0x0000ffff, 3, 0, 21 } })
87         Name (IQGP, Package() {
88                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKG, 0 },
89                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKH, 0 },
90                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKE, 0 },
91                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKF, 0 } })
93         /* Interrupt Map INTA->INTH, INTB->INTE, INTC->INTF, INTD->INTG */
94         Name (IQHA, Package() {
95                 Package() { 0x0000ffff, 0, 0, 23 },
96                 Package() { 0x0000ffff, 1, 0, 20 },
97                 Package() { 0x0000ffff, 2, 0, 21 },
98                 Package() { 0x0000ffff, 3, 0, 22 } })
99         Name (IQHP, Package() {
100                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKH, 0 },
101                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKE, 0 },
102                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKF, 0 },
103                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKG, 0 } })
105         /* Interrupt Map INTA->INTC, INTB->INTB, INTC->INTC, INTD->INTD */
106         Name (IQIA, Package() {
107                 Package() { 0x0000ffff, 0, 0, 18 },
108                 Package() { 0x0000ffff, 1, 0, 17 },
109                 Package() { 0x0000ffff, 2, 0, 18 },
110                 Package() { 0x0000ffff, 3, 0, 19 } })
111         Name (IQIP, Package() {
112                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKC, 0 },
113                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
114                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
115                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKD, 0 } })
117         /* Interrupt Map INTA->INTA, INTB->INTB, INTC->INTC, INTD->INTD */
118         Name (IQJA, Package() {
119                 Package() { 0x0000ffff, 0, 0, 23 },
120                 Package() { 0x0000ffff, 1, 0, 20 },
121                 Package() { 0x0000ffff, 2, 0, 21 },
122                 Package() { 0x0000ffff, 3, 0, 22 } })
123         Name (IQJP, Package() {
124                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKA, 0 },
125                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
126                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
127                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKD, 0 } })
129         /* Interrupt Map INTA->INTB, INTB->INTB, INTC->INTC, INTD->INTD */
130         Name (IQKA, Package() {
131                 Package() { 0x0000ffff, 0, 0, 17 },
132                 Package() { 0x0000ffff, 1, 0, 17 },
133                 Package() { 0x0000ffff, 2, 0, 18 },
134                 Package() { 0x0000ffff, 3, 0, 19 } })
135         Name (IQKP, Package() {
136                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKB, 0 },
137                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
138                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
139                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKD, 0 } })
141         Switch (ToInteger (Arg0)) {
142                 /* Virtual Root Port 2 - QAT */
143                 Case (Package() { 6 }) {
144                         If (PICM) {
145                                 Return (IQIA)
146                         } Else {
147                                 Return (IQIP)
148                         }
149                 }
151                 /* PCIe Root Port 1 */
152                 Case (Package() { 9 }) {
153                         If (PICM) {
154                                 Return (IQAA)
155                         } Else {
156                                 Return (IQAP)
157                         }
158                 }
160                 /* PCIe Root Port 2 */
161                 Case (Package() { 10 }) {
162                         If (PICM) {
163                                 Return (IQBA)
164                         } Else {
165                                 Return (IQBP)
166                         }
167                 }
169                 /* PCIe Root Port 3 */
170                 Case (Package() { 11 }) {
171                         If (PICM) {
172                                 Return (IQCA)
173                         } Else {
174                                 Return (IQCP)
175                         }
176                 }
178                 /* PCIe Root Port 4 */
179                 Case (Package() { 12 }) {
180                         If (PICM) {
181                                 Return (IQDA)
182                         } Else {
183                                 Return (IQDP)
184                         }
185                 }
187                 /* PCIe Root Port 5 */
188                 Case (Package() { 14 }) {
189                         If (PICM) {
190                                 Return (IQEA)
191                         } Else {
192                                 Return (IQEP)
193                         }
194                 }
196                 /* PCIe Root Port 6 */
197                 Case (Package() { 15 }) {
198                         If (PICM) {
199                                 Return (IQFA)
200                         } Else {
201                                 Return (IQFP)
202                         }
203                 }
205                 /* PCIe Root Port 7 */
206                 Case (Package() { 16 }) {
207                         If (PICM) {
208                                 Return (IQGA)
209                         } Else {
210                                 Return (IQGP)
211                         }
212                 }
214                 /* PCIe Root Port 8 */
215                 Case (Package() { 17 }) {
216                         If (PICM) {
217                                 Return (IQHA)
218                         } Else {
219                                 Return (IQHP)
220                         }
221                 }
223                 /* Virtual Root Port 0 - LAN 0 */
224                 Case (Package() { 22 }) {
225                         If (PICM) {
226                                 Return (IQJA)
227                         } Else {
228                                 Return (IQJP)
229                         }
230                 }
232                 /* Virtual Root Port 1 - LAN 1 */
233                 Case (Package() { 23 }) {
234                         If (PICM) {
235                                 Return (IQKA)
236                         } Else {
237                                 Return (IQKP)
238                         }
239                 }
241                 Default {
242                         If (PICM) {
243                                 Return (IQDA)
244                         } Else {
245                                 Return (IQDP)
246                         }
247                 }
248         }
251 Device (RP01)
253         Name (_ADR, 0x00090000)
255         #include "pcie_port.asl"
257         Method (_PRT)
258         {
259                 Return (IRQM (RPPN))
260         }
263 Device (RP02)
265         Name (_ADR, 0x000A0000)
267         #include "pcie_port.asl"
269         Method (_PRT)
270         {
271                 Return (IRQM (RPPN))
272         }
275 Device (RP03)
277         Name (_ADR, 0x000B0000)
279         #include "pcie_port.asl"
281         Method (_PRT)
282         {
283                 Return (IRQM (RPPN))
284         }
287 Device (RP04)
289         Name (_ADR, 0x000C0000)
291         #include "pcie_port.asl"
293         Method (_PRT)
294         {
295                 Return (IRQM (RPPN))
296         }
299 Device (RP05)
301         Name (_ADR, 0x000E0000)
303         #include "pcie_port.asl"
305         Method (_PRT)
306         {
307                 Return (IRQM (RPPN))
308         }
311 Device (RP06)
313         Name (_ADR, 0x000F0000)
315         #include "pcie_port.asl"
317         Method (_PRT)
318         {
319                 Return (IRQM (RPPN))
320         }
323 Device (RP07)
325         Name (_ADR, 0x00100000)
327         #include "pcie_port.asl"
329         Method (_PRT)
330         {
331                 Return (IRQM (RPPN))
332         }
335 Device (RP08)
337         Name (_ADR, 0x00110000)
339         #include "pcie_port.asl"
341         Method (_PRT)
342         {
343                 Return (IRQM (RPPN))
344         }