mb/google/fatcat: config GPP_F23 as ISH gpio pin
[coreboot.git] / src / soc / intel / alderlake / acpi / pcie.asl
blob414ced2cb750ee629a7388a2040cbd3422ab80c7
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, 17, 21, 25 }) {
58                         If (PICM) {
59                                 Return (IQAA)
60                         } Else {
61                                 Return (IQAP)
62                         }
63                 }
65                 Case (Package () { 2, 6, 10, 14, 18, 22, 26 }) {
66                         If (PICM) {
67                                 Return (IQBA)
68                         } Else {
69                                 Return (IQBP)
70                         }
71                 }
73                 Case (Package () { 3, 7, 11, 15, 19, 23, 27 }) {
74                         If (PICM) {
75                                 Return (IQCA)
76                         } Else {
77                                 Return (IQCP)
78                         }
79                 }
81                 Case (Package () { 4, 8, 12, 16, 20, 24, 28 }) {
82                         If (PICM) {
83                                 Return (IQDA)
84                         } Else {
85                                 Return (IQDP)
86                         }
87                 }
89                 Default {
90                         If (PICM) {
91                                 Return (IQDA)
92                         } Else {
93                                 Return (IQDP)
94                         }
95                 }
96         }
99 Device (RP01)
101         Name (_ADR, 0x001C0000)
103         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
104         Field (RPCS, AnyAcc, NoLock, Preserve)
105         {
106                 , 24,
107                 RPPN, 8,        /* Root Port Number */
108         }
110         Method (_PRT)
111         {
112                 Return (IRQM (RPPN))
113         }
116 Device (RP02)
118         Name (_ADR, 0x001C0001)
120         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
121         Field (RPCS, AnyAcc, NoLock, Preserve)
122         {
123                 , 24,
124                 RPPN, 8,        /* Root Port Number */
125         }
127         Method (_PRT)
128         {
129                 Return (IRQM (RPPN))
130         }
133 Device (RP03)
135         Name (_ADR, 0x001C0002)
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 (RP04)
152         Name (_ADR, 0x001C0003)
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 (RP05)
169         Name (_ADR, 0x001C0004)
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         }
184 Device (RP06)
186         Name (_ADR, 0x001C0005)
188         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
189         Field (RPCS, AnyAcc, NoLock, Preserve)
190         {
191                 , 24,
192                 RPPN, 8,        /* Root Port Number */
193         }
195         Method (_PRT)
196         {
197                 Return (IRQM (RPPN))
198         }
201 Device (RP07)
203         Name (_ADR, 0x001C0006)
205         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
206         Field (RPCS, AnyAcc, NoLock, Preserve)
207         {
208                 , 24,
209                 RPPN, 8,        /* Root Port Number */
210         }
212         Method (_PRT)
213         {
214                 Return (IRQM (RPPN))
215         }
218 Device (RP08)
220         Name (_ADR, 0x001C0007)
222         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
223         Field (RPCS, AnyAcc, NoLock, Preserve)
224         {
225                 , 24,
226                 RPPN, 8,        /* Root Port Number */
227         }
229         Method (_PRT)
230         {
231                 Return (IRQM (RPPN))
232         }
235 Device (RP09)
237         Name (_ADR, 0x001D0000)
239         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
240         Field (RPCS, AnyAcc, NoLock, Preserve)
241         {
242                 , 24,
243                 RPPN, 8,        /* Root Port Number */
244         }
246         Method (_PRT)
247         {
248                 Return (IRQM (RPPN))
249         }
252 Device (RP10)
254         Name (_ADR, 0x001D0001)
256         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
257         Field (RPCS, AnyAcc, NoLock, Preserve)
258         {
259                 , 24,
260                 RPPN, 8,        /* Root Port Number */
261         }
263         Method (_PRT)
264         {
265                 Return (IRQM (RPPN))
266         }
269 Device (RP11)
271         Name (_ADR, 0x001D0002)
273         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
274         Field (RPCS, AnyAcc, NoLock, Preserve)
275         {
276                 , 24,
277                 RPPN, 8,        /* Root Port Number */
278         }
280         Method (_PRT)
281         {
282                 Return (IRQM (RPPN))
283         }
286 Device (RP12)
288         Name (_ADR, 0x001D0003)
290         OperationRegion (RPCS, PCI_Config, 0x4c, 4)
291         Field (RPCS, AnyAcc, NoLock, Preserve)
292         {
293                 , 24,
294                 RPPN, 8,        /* Root Port Number */
295         }
297         Method (_PRT)
298         {
299                 Return (IRQM (RPPN))
300         }
303 #if CONFIG(SOC_INTEL_ALDERLAKE_PCH_S)
304 #include "pcie_pch_s.asl"
305 #endif
308 #if CONFIG(SOC_INTEL_ALDERLAKE_PCH_P)
309 Device (PEG0)
311         Name (_ADR, 0x00060000)
313 #endif
315 #if CONFIG(SOC_INTEL_ALDERLAKE_PCH_P)
316 Device (PEG1)
318         Name (_ADR, 0x00060002)
321 Device (PEG2)
323         Name (_ADR, 0x00010000)
325 #endif
327 Device (SRAM)
329         Name (_ADR, 0x00140002)
332 Device (HEC1)
334         Name (_ADR, 0x00160000)