blob: eb10b368eb7c8ade6af6f4cef4a694810efde816 [file] [log] [blame]
/*
* This file is part of the coreboot project.
*
* Copyright (C) 2007-2009 coresystems GmbH
* Copyright (C) 2014 Google Inc.
* Copyright (C) 2015 Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <soc/interrupt.h>
#include <soc/irq.h>
Name (PICP, Package () {
/* D31: cAVS, SMBus, GbE, Nothpeak */
Package () { 0x001FFFFF, 0, 0, cAVS_INTA_IRQ },
Package () { 0x001FFFFF, 1, 0, SMBUS_INTB_IRQ },
Package () { 0x001FFFFF, 2, 0, GbE_INTC_IRQ },
Package () { 0x001FFFFF, 3, 0, TRACE_HUB_INTD_IRQ },
/* D30: SerialIo and SCS */
Package () { 0x001EFFFF, 0, 0, LPSS_UART0_IRQ },
Package () { 0x001EFFFF, 1, 0, eMMC_IRQ },
Package () { 0x001EFFFF, 2, 0, SDIO_IRQ },
Package () { 0x001EFFFF, 3, 0, SD_IRQ },
/* D29: PCI Express Port 9-16 */
Package () { 0x001DFFFF, 0, 0, PCIE_9_IRQ },
Package () { 0x001DFFFF, 1, 0, PCIE_10_IRQ },
Package () { 0x001DFFFF, 2, 0, PCIE_11_IRQ },
Package () { 0x001DFFFF, 3, 0, PCIE_12_IRQ },
/* D28: PCI Express Port 1-8 */
Package () { 0x001CFFFF, 0, 0, PCIE_1_IRQ },
Package () { 0x001CFFFF, 1, 0, PCIE_2_IRQ },
Package () { 0x001CFFFF, 2, 0, PCIE_3_IRQ },
Package () { 0x001CFFFF, 3, 0, PCIE_4_IRQ },
/* D25: SerialIo */
Package () { 0x0019FFFF, 0, 0, LPSS_UART2_IRQ },
Package () { 0x0019FFFF, 1, 0, LPSS_I2C5_IRQ },
Package () { 0x0019FFFF, 2, 0, LPSS_I2C4_IRQ },
/* D22: CSME (HECI, IDE-R, KT redirection */
Package () { 0x0016FFFF, 0, 0, HECI_1_IRQ },
Package () { 0x0016FFFF, 1, 0, HECI_2_IRQ },
Package () { 0x0016FFFF, 2, 0, IDER_IRQ },
Package () { 0x0016FFFF, 3, 0, KT_IRQ },
/* D23: Sata controller */
Package () { 0x0017FFFF, 0, 0, SATA_IRQ },
/* D21: SerialIo */
Package () { 0x0015FFFF, 0, 0, LPSS_I2C0_IRQ },
Package () { 0x0015FFFF, 1, 0, LPSS_I2C1_IRQ },
Package () { 0x0015FFFF, 2, 0, LPSS_I2C2_IRQ },
Package () { 0x0015FFFF, 3, 0, LPSS_I2C3_IRQ },
/* D20: xHCI, OTG, Thermal, Camera */
Package () { 0x0014FFFF, 0, 0, XHCI_IRQ },
Package () { 0x0014FFFF, 1, 0, OTG_IRQ },
Package () { 0x0014FFFF, 2, 0, THRMAL_IRQ },
Package () { 0x0014FFFF, 3, 0, CIO_INTD_IRQ },
/* D19: Integrated Sensor Hub */
Package () { 0x0013FFFF, 0, 0, ISH_IRQ },
/* P.E.G. Root Port D1F0 */
Package () { 0x0001FFFF, 0, 0, PEG_RP_INTA_IRQ },
Package () { 0x0001FFFF, 1, 0, PEG_RP_INTB_IRQ },
Package () { 0x0001FFFF, 2, 0, PEG_RP_INTC_IRQ },
Package () { 0x0001FFFF, 3, 0, PEG_RP_INTD_IRQ },
/* SA IGFX Device */
Package () { 0x0002FFFF, 0, 0, IGFX_IRQ },
/* SA Thermal Device */
Package () { 0x0004FFFF, 0, 0, SA_THERMAL_IRQ },
/* SA SkyCam Device */
Package () { 0x0005FFFF, 0, 0, SKYCAM_IRQ },
/* SA GMM Device */
Package () { 0x0008FFFF, 0, 0, GMM_IRQ },
})
Name (PICN, Package () {
/* D31: cAVS, SMBus, GbE, Nothpeak */
Package () { 0x001FFFFF, 0, \_SB.PCI0.LNKA, 0 },
Package () { 0x001FFFFF, 1, \_SB.PCI0.LNKB, 0 },
Package () { 0x001FFFFF, 2, \_SB.PCI0.LNKC, 0 },
Package () { 0x001FFFFF, 3, \_SB.PCI0.LNKD, 0 },
/* D29: PCI Express Port 9-16 */
Package () { 0x001DFFFF, 0, \_SB.PCI0.LNKA, 0 },
Package () { 0x001DFFFF, 1, \_SB.PCI0.LNKB, 0 },
Package () { 0x001DFFFF, 2, \_SB.PCI0.LNKC, 0 },
Package () { 0x001DFFFF, 3, \_SB.PCI0.LNKD, 0 },
/* D28: PCI Express Port 1-8 */
Package () { 0x001CFFFF, 0, \_SB.PCI0.LNKA, 0 },
Package () { 0x001CFFFF, 1, \_SB.PCI0.LNKB, 0 },
Package () { 0x001CFFFF, 2, \_SB.PCI0.LNKC, 0 },
Package () { 0x001CFFFF, 3, \_SB.PCI0.LNKD, 0 },
/* D27: PCI Express Port 17-20 */
Package () { 0x001BFFFF, 0, \_SB.PCI0.LNKA, 0 },
Package () { 0x001BFFFF, 1, \_SB.PCI0.LNKB, 0 },
Package () { 0x001BFFFF, 2, \_SB.PCI0.LNKC, 0 },
Package () { 0x001BFFFF, 3, \_SB.PCI0.LNKD, 0 },
/* D23 */
Package () { 0x0017FFFF, 0, \_SB.PCI0.LNKA, 0 },
/* D22: CSME (HECI, IDE-R, KT redirection */
Package () { 0x0016FFFF, 0, \_SB.PCI0.LNKA, 0 },
Package () { 0x0016FFFF, 1, \_SB.PCI0.LNKB, 0 },
Package () { 0x0016FFFF, 2, \_SB.PCI0.LNKC, 0 },
Package () { 0x0016FFFF, 3, \_SB.PCI0.LNKD, 0 },
/* D20: xHCI, OTG, Thermal, Camera */
Package () { 0x0014FFFF, 0, \_SB.PCI0.LNKA, 0 },
Package () { 0x0014FFFF, 1, \_SB.PCI0.LNKB, 0 },
Package () { 0x0014FFFF, 2, \_SB.PCI0.LNKC, 0 },
Package () { 0x0014FFFF, 3, \_SB.PCI0.LNKD, 0 },
/* P.E.G. Root Port D1F0 */
Package () { 0x0001FFFF, 0, \_SB.PCI0.LNKA, 0 },
Package () { 0x0001FFFF, 1, \_SB.PCI0.LNKB, 0 },
Package () { 0x0001FFFF, 2, \_SB.PCI0.LNKC, 0 },
Package () { 0x0001FFFF, 3, \_SB.PCI0.LNKD, 0 },
/* SA IGFX Device */
Package () { 0x0002FFFF, 0, \_SB.PCI0.LNKA, 0 },
/* SA Thermal Device */
Package () { 0x0004FFFF, 0, \_SB.PCI0.LNKA, 0 },
/* SA Skycam Device */
Package () { 0x0005FFFF, 0, \_SB.PCI0.LNKA, 0 },
/* SA GMM Device */
Package () { 0x0008FFFF, 0, \_SB.PCI0.LNKA, 0 },
})
Method (_PRT)
{
If (PICM) {
Return (^PICP)
} Else {
Return (^PICN)
}
}