1/* SPDX-License-Identifier: GPL-2.0-only */ 2 3/* Intel PCH PCIe support */ 4 5Method (IRQM, 1, Serialized) { 6 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 } }) 18 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 } }) 30 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 } }) 42 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 } }) 54 55 Switch (ToInteger (Arg0)) 56 { 57 Case (Package () { 1, 5, 9, 13 58#if CONFIG(SOC_INTEL_CANNONLAKE_PCH_H) 59 , 17, 21 60#endif 61 }) { 62 If (PICM) { 63 Return (IQAA) 64 } Else { 65 Return (IQAP) 66 } 67 } 68 69 Case (Package () { 2, 6, 10, 14 70#if CONFIG(SOC_INTEL_CANNONLAKE_PCH_H) 71 , 18, 22 72#endif 73 }) { 74 If (PICM) { 75 Return (IQBA) 76 } Else { 77 Return (IQBP) 78 } 79 } 80 81 Case (Package () { 3, 7, 11, 15 82#if CONFIG(SOC_INTEL_CANNONLAKE_PCH_H) 83 , 19, 23 84#endif 85 }) { 86 If (PICM) { 87 Return (IQCA) 88 } Else { 89 Return (IQCP) 90 } 91 } 92 93 Case (Package () { 4, 8, 12, 16 94#if CONFIG(SOC_INTEL_CANNONLAKE_PCH_H) 95 , 20, 24 96#endif 97 }) { 98 If (PICM) { 99 Return (IQDA) 100 } Else { 101 Return (IQDP) 102 } 103 } 104 105 Default { 106 If (PICM) { 107 Return (IQDA) 108 } Else { 109 Return (IQDP) 110 } 111 } 112 } 113} 114 115Device (RP01) 116{ 117 Name (_ADR, 0x001C0000) 118 119 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 120 Field (RPCS, AnyAcc, NoLock, Preserve) 121 { 122 , 24, 123 RPPN, 8, /* Root Port Number */ 124 } 125 126 Method (_PRT) 127 { 128 Return (IRQM (RPPN)) 129 } 130} 131 132Device (RP02) 133{ 134 Name (_ADR, 0x001C0001) 135 136 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 137 Field (RPCS, AnyAcc, NoLock, Preserve) 138 { 139 , 24, 140 RPPN, 8, /* Root Port Number */ 141 } 142 143 Method (_PRT) 144 { 145 Return (IRQM (RPPN)) 146 } 147} 148 149Device (RP03) 150{ 151 Name (_ADR, 0x001C0002) 152 153 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 154 Field (RPCS, AnyAcc, NoLock, Preserve) 155 { 156 , 24, 157 RPPN, 8, /* Root Port Number */ 158 } 159 160 Method (_PRT) 161 { 162 Return (IRQM (RPPN)) 163 } 164} 165 166Device (RP04) 167{ 168 Name (_ADR, 0x001C0003) 169 170 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 171 Field (RPCS, AnyAcc, NoLock, Preserve) 172 { 173 , 24, 174 RPPN, 8, /* Root Port Number */ 175 } 176 177 Method (_PRT) 178 { 179 Return (IRQM (RPPN)) 180 } 181} 182 183Device (RP05) 184{ 185 Name (_ADR, 0x001C0004) 186 187 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 188 Field (RPCS, AnyAcc, NoLock, Preserve) 189 { 190 , 24, 191 RPPN, 8, /* Root Port Number */ 192 } 193 194 Method (_PRT) 195 { 196 Return (IRQM (RPPN)) 197 } 198} 199 200Device (RP06) 201{ 202 Name (_ADR, 0x001C0005) 203 204 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 205 Field (RPCS, AnyAcc, NoLock, Preserve) 206 { 207 , 24, 208 RPPN, 8, /* Root Port Number */ 209 } 210 211 Method (_PRT) 212 { 213 Return (IRQM (RPPN)) 214 } 215} 216 217Device (RP07) 218{ 219 Name (_ADR, 0x001C0006) 220 221 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 222 Field (RPCS, AnyAcc, NoLock, Preserve) 223 { 224 , 24, 225 RPPN, 8, /* Root Port Number */ 226 } 227 228 Method (_PRT) 229 { 230 Return (IRQM (RPPN)) 231 } 232} 233 234Device (RP08) 235{ 236 Name (_ADR, 0x001C0007) 237 238 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 239 Field (RPCS, AnyAcc, NoLock, Preserve) 240 { 241 , 24, 242 RPPN, 8, /* Root Port Number */ 243 } 244 245 Method (_PRT) 246 { 247 Return (IRQM (RPPN)) 248 } 249} 250 251Device (RP09) 252{ 253 Name (_ADR, 0x001D0000) 254 255 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 256 Field (RPCS, AnyAcc, NoLock, Preserve) 257 { 258 , 24, 259 RPPN, 8, /* Root Port Number */ 260 } 261 262 Method (_PRT) 263 { 264 Return (IRQM (RPPN)) 265 } 266} 267 268Device (RP10) 269{ 270 Name (_ADR, 0x001D0001) 271 272 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 273 Field (RPCS, AnyAcc, NoLock, Preserve) 274 { 275 , 24, 276 RPPN, 8, /* Root Port Number */ 277 } 278 279 Method (_PRT) 280 { 281 Return (IRQM (RPPN)) 282 } 283} 284 285Device (RP11) 286{ 287 Name (_ADR, 0x001D0002) 288 289 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 290 Field (RPCS, AnyAcc, NoLock, Preserve) 291 { 292 , 24, 293 RPPN, 8, /* Root Port Number */ 294 } 295 296 Method (_PRT) 297 { 298 Return (IRQM (RPPN)) 299 } 300} 301 302Device (RP12) 303{ 304 Name (_ADR, 0x001D0003) 305 306 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 307 Field (RPCS, AnyAcc, NoLock, Preserve) 308 { 309 , 24, 310 RPPN, 8, /* Root Port Number */ 311 } 312 313 Method (_PRT) 314 { 315 Return (IRQM (RPPN)) 316 } 317} 318 319Device (RP13) 320{ 321 Name (_ADR, 0x001D0004) 322 323 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 324 Field (RPCS, AnyAcc, NoLock, Preserve) 325 { 326 , 24, 327 RPPN, 8, /* Root Port Number */ 328 } 329 330 Method (_PRT) 331 { 332 Return (IRQM (RPPN)) 333 } 334} 335 336Device (RP14) 337{ 338 Name (_ADR, 0x001D0005) 339 340 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 341 Field (RPCS, AnyAcc, NoLock, Preserve) 342 { 343 , 24, 344 RPPN, 8, /* Root Port Number */ 345 } 346 347 Method (_PRT) 348 { 349 Return (IRQM (RPPN)) 350 } 351} 352 353Device (RP15) 354{ 355 Name (_ADR, 0x001D0006) 356 357 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 358 Field (RPCS, AnyAcc, NoLock, Preserve) 359 { 360 , 24, 361 RPPN, 8, /* Root Port Number */ 362 } 363 364 Method (_PRT) 365 { 366 Return (IRQM (RPPN)) 367 } 368} 369 370Device (RP16) 371{ 372 Name (_ADR, 0x001D0007) 373 374 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 375 Field (RPCS, AnyAcc, NoLock, Preserve) 376 { 377 , 24, 378 RPPN, 8, /* Root Port Number */ 379 } 380 381 Method (_PRT) 382 { 383 Return (IRQM (RPPN)) 384 } 385} 386 387#if CONFIG(SOC_INTEL_CANNONLAKE_PCH_H) 388Device (RP17) 389{ 390 Name (_ADR, 0x001B0000) 391 392 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 393 Field (RPCS, AnyAcc, NoLock, Preserve) 394 { 395 , 24, 396 RPPN, 8, /* Root Port Number */ 397 } 398 399 Method (_PRT) 400 { 401 Return (IRQM (RPPN)) 402 } 403} 404 405Device (RP18) 406{ 407 Name (_ADR, 0x001B0001) 408 409 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 410 Field (RPCS, AnyAcc, NoLock, Preserve) 411 { 412 , 24, 413 RPPN, 8, /* Root Port Number */ 414 } 415 416 Method (_PRT) 417 { 418 Return (IRQM (RPPN)) 419 } 420} 421 422Device (RP19) 423{ 424 Name (_ADR, 0x001B0002) 425 426 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 427 Field (RPCS, AnyAcc, NoLock, Preserve) 428 { 429 , 24, 430 RPPN, 8, /* Root Port Number */ 431 } 432 433 Method (_PRT) 434 { 435 Return (IRQM (RPPN)) 436 } 437} 438 439Device (RP20) 440{ 441 Name (_ADR, 0x001B0003) 442 443 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 444 Field (RPCS, AnyAcc, NoLock, Preserve) 445 { 446 , 24, 447 RPPN, 8, /* Root Port Number */ 448 } 449 450 Method (_PRT) 451 { 452 Return (IRQM (RPPN)) 453 } 454} 455 456Device (RP21) 457{ 458 Name (_ADR, 0x001B0004) 459 460 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 461 Field (RPCS, AnyAcc, NoLock, Preserve) 462 { 463 , 24, 464 RPPN, 8, /* Root Port Number */ 465 } 466 467 Method (_PRT) 468 { 469 Return (IRQM (RPPN)) 470 } 471} 472 473Device (RP22) 474{ 475 Name (_ADR, 0x001B0005) 476 477 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 478 Field (RPCS, AnyAcc, NoLock, Preserve) 479 { 480 , 24, 481 RPPN, 8, /* Root Port Number */ 482 } 483 484 Method (_PRT) 485 { 486 Return (IRQM (RPPN)) 487 } 488} 489 490Device (RP23) 491{ 492 Name (_ADR, 0x001B0006) 493 494 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 495 Field (RPCS, AnyAcc, NoLock, Preserve) 496 { 497 , 24, 498 RPPN, 8, /* Root Port Number */ 499 } 500 501 Method (_PRT) 502 { 503 Return (IRQM (RPPN)) 504 } 505} 506 507Device (RP24) 508{ 509 Name (_ADR, 0x001B0007) 510 511 OperationRegion (RPCS, PCI_Config, 0x4c, 4) 512 Field (RPCS, AnyAcc, NoLock, Preserve) 513 { 514 , 24, 515 RPPN, 8, /* Root Port Number */ 516 } 517 518 Method (_PRT) 519 { 520 Return (IRQM (RPPN)) 521 } 522} 523#endif 524 525Device (SRAM) 526{ 527 Name (_ADR, 0x00140002) 528} 529 530Device (CSE1) 531{ 532 Name (_ADR, 0x00160000) 533} 534