1 /* SPDX-License-Identifier: GPL-2.0-only */
3 /* Intel 6/7 Series PCH PCIe support */
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 }) {
151 /* PCIe Root Port 1 */
152 Case (Package() { 9 }) {
160 /* PCIe Root Port 2 */
161 Case (Package() { 10 }) {
169 /* PCIe Root Port 3 */
170 Case (Package() { 11 }) {
178 /* PCIe Root Port 4 */
179 Case (Package() { 12 }) {
187 /* PCIe Root Port 5 */
188 Case (Package() { 14 }) {
196 /* PCIe Root Port 6 */
197 Case (Package() { 15 }) {
205 /* PCIe Root Port 7 */
206 Case (Package() { 16 }) {
214 /* PCIe Root Port 8 */
215 Case (Package() { 17 }) {
223 /* Virtual Root Port 0 - LAN 0 */
224 Case (Package() { 22 }) {
232 /* Virtual Root Port 1 - LAN 1 */
233 Case (Package() { 23 }) {
253 Name (_ADR, 0x00090000)
255 #include "pcie_port.asl"
265 Name (_ADR, 0x000A0000)
267 #include "pcie_port.asl"
277 Name (_ADR, 0x000B0000)
279 #include "pcie_port.asl"
289 Name (_ADR, 0x000C0000)
291 #include "pcie_port.asl"
301 Name (_ADR, 0x000E0000)
303 #include "pcie_port.asl"
313 Name (_ADR, 0x000F0000)
315 #include "pcie_port.asl"
325 Name (_ADR, 0x00100000)
327 #include "pcie_port.asl"
337 Name (_ADR, 0x00110000)
339 #include "pcie_port.asl"