From 571d07d45b51d1b20af29cad27390b83b82f0aba Mon Sep 17 00:00:00 2001 From: Maxim Polyakov Date: Thu, 22 Aug 2019 13:11:32 +0300 Subject: soc/intel/skylake: Add Lewisburg family PCH support This patch adds Lewisburg C62x Series PCH support by adding the Production and Super SKUs of the following PCI devices: - LPC or eSPI Controllers, - PCI Express Root Ports, - SSATA and SATA Controllers, - SMBus, - SPI Controller, - ME/HECI, - Audio, - P2SB, - Power Management Controller. These changes are in accordance with the documentation: [*] page 39, Intel(R) C620 Series Chipset Platform Controller Hub (PCH) Datasheet, May 2019. Document Number: 336067-007US Change-Id: I7eaf2c1bb725ffed66f86c023c415ad17fe5793d Signed-off-by: Maxim Polyakov Reviewed-on: https://review.coreboot.org/c/coreboot/+/35030 Tested-by: build bot (Jenkins) Reviewed-by: Lance Zhao --- src/soc/intel/common/block/cse/cse.c | 2 ++ src/soc/intel/common/block/hda/hda.c | 2 ++ src/soc/intel/common/block/lpc/lpc.c | 13 +++++++++++ src/soc/intel/common/block/p2sb/p2sb.c | 2 ++ src/soc/intel/common/block/pcie/pcie.c | 40 ++++++++++++++++++++++++++++++++ src/soc/intel/common/block/pmc/pmc.c | 2 ++ src/soc/intel/common/block/sata/sata.c | 12 ++++++++++ src/soc/intel/common/block/smbus/smbus.c | 3 ++- src/soc/intel/common/block/spi/spi.c | 2 ++ src/soc/intel/common/block/xhci/xhci.c | 2 ++ 10 files changed, 79 insertions(+), 1 deletion(-) (limited to 'src/soc/intel/common') diff --git a/src/soc/intel/common/block/cse/cse.c b/src/soc/intel/common/block/cse/cse.c index 7bd46ceba9..446c5ac4ba 100644 --- a/src/soc/intel/common/block/cse/cse.c +++ b/src/soc/intel/common/block/cse/cse.c @@ -515,6 +515,8 @@ static const unsigned short pci_device_ids[] = { PCI_DEVICE_ID_INTEL_GLK_CSE0, PCI_DEVICE_ID_INTEL_CNL_CSE0, PCI_DEVICE_ID_INTEL_SKL_CSE0, + PCI_DEVICE_ID_INTEL_LWB_CSE0, + PCI_DEVICE_ID_INTEL_LWB_CSE0_SUPER, PCI_DEVICE_ID_INTEL_CNP_H_CSE0, PCI_DEVICE_ID_INTEL_ICL_CSE0, PCI_DEVICE_ID_INTEL_CMP_CSE0, diff --git a/src/soc/intel/common/block/hda/hda.c b/src/soc/intel/common/block/hda/hda.c index 8ab835e577..96d26d47ab 100644 --- a/src/soc/intel/common/block/hda/hda.c +++ b/src/soc/intel/common/block/hda/hda.c @@ -75,6 +75,8 @@ static struct device_operations hda_ops = { static const unsigned short pci_device_ids[] = { PCI_DEVICE_ID_INTEL_SKL_AUDIO, PCI_DEVICE_ID_INTEL_SKL_H_AUDIO, + PCI_DEVICE_ID_INTEL_LWB_AUDIO, + PCI_DEVICE_ID_INTEL_LWB_AUDIO_SUPER, PCI_DEVICE_ID_INTEL_KBL_AUDIO, PCI_DEVICE_ID_INTEL_CNL_AUDIO, PCI_DEVICE_ID_INTEL_CNP_H_AUDIO, diff --git a/src/soc/intel/common/block/lpc/lpc.c b/src/soc/intel/common/block/lpc/lpc.c index d7917d6262..46dfd7ff57 100644 --- a/src/soc/intel/common/block/lpc/lpc.c +++ b/src/soc/intel/common/block/lpc/lpc.c @@ -138,6 +138,19 @@ static const unsigned short pci_device_ids[] = { PCI_DEVICE_ID_INTEL_SPT_H_HM175, PCI_DEVICE_ID_INTEL_SPT_H_QM175, PCI_DEVICE_ID_INTEL_SPT_H_CM238, + PCI_DEVICE_ID_INTEL_LWB_C621, + PCI_DEVICE_ID_INTEL_LWB_C622, + PCI_DEVICE_ID_INTEL_LWB_C624, + PCI_DEVICE_ID_INTEL_LWB_C625, + PCI_DEVICE_ID_INTEL_LWB_C626, + PCI_DEVICE_ID_INTEL_LWB_C627, + PCI_DEVICE_ID_INTEL_LWB_C628, + PCI_DEVICE_ID_INTEL_LWB_C629, + PCI_DEVICE_ID_INTEL_LWB_C624_SUPER, + PCI_DEVICE_ID_INTEL_LWB_C627_SUPER_1, + PCI_DEVICE_ID_INTEL_LWB_C621_SUPER, + PCI_DEVICE_ID_INTEL_LWB_C627_SUPER_2, + PCI_DEVICE_ID_INTEL_LWB_C628_SUPER, PCI_DEVICE_ID_INTEL_KBP_H_Q270, PCI_DEVICE_ID_INTEL_KBP_H_H270, PCI_DEVICE_ID_INTEL_KBP_H_Z270, diff --git a/src/soc/intel/common/block/p2sb/p2sb.c b/src/soc/intel/common/block/p2sb/p2sb.c index 24cde1b6c9..1df05679dd 100644 --- a/src/soc/intel/common/block/p2sb/p2sb.c +++ b/src/soc/intel/common/block/p2sb/p2sb.c @@ -168,6 +168,8 @@ static const struct device_operations device_ops = { static const unsigned short pci_device_ids[] = { PCI_DEVICE_ID_INTEL_APL_P2SB, PCI_DEVICE_ID_INTEL_GLK_P2SB, + PCI_DEVICE_ID_INTEL_LWB_P2SB, + PCI_DEVICE_ID_INTEL_LWB_P2SB_SUPER, PCI_DEVICE_ID_INTEL_CNL_P2SB, PCI_DEVICE_ID_INTEL_CNP_H_P2SB, PCI_DEVICE_ID_INTEL_ICL_P2SB, diff --git a/src/soc/intel/common/block/pcie/pcie.c b/src/soc/intel/common/block/pcie/pcie.c index e8b1050f4a..94fa63122e 100644 --- a/src/soc/intel/common/block/pcie/pcie.c +++ b/src/soc/intel/common/block/pcie/pcie.c @@ -113,6 +113,46 @@ static const unsigned short pcie_device_ids[] = { PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP18, PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP19, PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP20, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP1, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP2, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP3, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP4, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP5, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP6, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP7, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP8, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP9, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP10, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP11, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP12, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP13, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP14, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP15, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP16, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP17, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP18, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP19, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP20, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP1_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP2_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP3_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP4_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP5_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP6_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP7_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP8_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP9_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP10_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP11_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP12_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP13_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP14_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP15_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP16_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP17_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP18_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP19_SUPER, + PCI_DEVICE_ID_INTEL_LWB_PCIE_RP20_SUPER, PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP1, PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP2, PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP3, diff --git a/src/soc/intel/common/block/pmc/pmc.c b/src/soc/intel/common/block/pmc/pmc.c index eaaf1252ea..f6f0983227 100644 --- a/src/soc/intel/common/block/pmc/pmc.c +++ b/src/soc/intel/common/block/pmc/pmc.c @@ -125,6 +125,8 @@ static struct device_operations device_ops = { static const unsigned short pci_device_ids[] = { PCI_DEVICE_ID_INTEL_SPT_LP_PMC, PCI_DEVICE_ID_INTEL_SPT_H_PMC, + PCI_DEVICE_ID_INTEL_LWB_PMC, + PCI_DEVICE_ID_INTEL_LWB_PMC_SUPER, PCI_DEVICE_ID_INTEL_KBP_H_PMC, PCI_DEVICE_ID_INTEL_APL_PMC, PCI_DEVICE_ID_INTEL_GLK_PMC, diff --git a/src/soc/intel/common/block/sata/sata.c b/src/soc/intel/common/block/sata/sata.c index 7dacc6ed92..0c278f37f2 100644 --- a/src/soc/intel/common/block/sata/sata.c +++ b/src/soc/intel/common/block/sata/sata.c @@ -75,6 +75,18 @@ static const unsigned short pci_device_ids[] = { PCI_DEVICE_ID_INTEL_SPT_U_SATA, PCI_DEVICE_ID_INTEL_SPT_U_Y_PREMIUM_SATA, PCI_DEVICE_ID_INTEL_SPT_KBL_SATA, + PCI_DEVICE_ID_INTEL_LWB_SATA_AHCI, + PCI_DEVICE_ID_INTEL_LWB_SSATA_AHCI, + PCI_DEVICE_ID_INTEL_LWB_SATA_RAID, + PCI_DEVICE_ID_INTEL_LWB_SSATA_RAID, + PCI_DEVICE_ID_INTEL_LWB_SATA_AHCI_SUPER, + PCI_DEVICE_ID_INTEL_LWB_SSATA_AHCI_SUPER, + PCI_DEVICE_ID_INTEL_LWB_SATA_RAID_SUPER, + PCI_DEVICE_ID_INTEL_LWB_SSATA_RAID_SUPER, + PCI_DEVICE_ID_INTEL_LWB_SATA_ALT, + PCI_DEVICE_ID_INTEL_LWB_SATA_ALT_RST, + PCI_DEVICE_ID_INTEL_LWB_SSATA_ALT, + PCI_DEVICE_ID_INTEL_LWB_SSATA_ALT_RST, PCI_DEVICE_ID_INTEL_CNL_SATA, PCI_DEVICE_ID_INTEL_CNL_PREMIUM_SATA, PCI_DEVICE_ID_INTEL_CNP_CMP_COMPAT_SATA, diff --git a/src/soc/intel/common/block/smbus/smbus.c b/src/soc/intel/common/block/smbus/smbus.c index fc2257719a..700d2b7b5f 100644 --- a/src/soc/intel/common/block/smbus/smbus.c +++ b/src/soc/intel/common/block/smbus/smbus.c @@ -92,7 +92,8 @@ static const unsigned short pci_device_ids[] = { PCI_DEVICE_ID_INTEL_CNL_SMBUS, PCI_DEVICE_ID_INTEL_SPT_LP_SMBUS, PCI_DEVICE_ID_INTEL_SPT_H_SMBUS, - PCI_DEVICE_ID_INTEL_KBP_H_SMBUS, + PCI_DEVICE_ID_INTEL_LWB_SMBUS_SUPER, + PCI_DEVICE_ID_INTEL_KBP_H_LWB_SMBUS, PCI_DEVICE_ID_INTEL_ICP_LP_SMBUS, PCI_DEVICE_ID_INTEL_CMP_SMBUS, 0 diff --git a/src/soc/intel/common/block/spi/spi.c b/src/soc/intel/common/block/spi/spi.c index af5087f716..365da2faa6 100644 --- a/src/soc/intel/common/block/spi/spi.c +++ b/src/soc/intel/common/block/spi/spi.c @@ -71,6 +71,8 @@ static const unsigned short pci_device_ids[] = { PCI_DEVICE_ID_INTEL_CNP_H_SPI1, PCI_DEVICE_ID_INTEL_CNP_H_SPI2, PCI_DEVICE_ID_INTEL_CNP_H_HWSEQ_SPI, + PCI_DEVICE_ID_INTEL_LWB_SPI, + PCI_DEVICE_ID_INTEL_LWB_SPI_SUPER, PCI_DEVICE_ID_INTEL_ICP_SPI0, PCI_DEVICE_ID_INTEL_ICP_SPI1, PCI_DEVICE_ID_INTEL_ICP_SPI2, diff --git a/src/soc/intel/common/block/xhci/xhci.c b/src/soc/intel/common/block/xhci/xhci.c index 0bdf1d97ba..c5c5e6c6d6 100644 --- a/src/soc/intel/common/block/xhci/xhci.c +++ b/src/soc/intel/common/block/xhci/xhci.c @@ -125,6 +125,8 @@ static const unsigned short pci_device_ids[] = { PCI_DEVICE_ID_INTEL_GLK_XHCI, PCI_DEVICE_ID_INTEL_SPT_LP_XHCI, PCI_DEVICE_ID_INTEL_SPT_H_XHCI, + PCI_DEVICE_ID_INTEL_LWB_XHCI, + PCI_DEVICE_ID_INTEL_LWB_XHCI_SUPER, PCI_DEVICE_ID_INTEL_KBP_H_XHCI, PCI_DEVICE_ID_INTEL_CNP_H_XHCI, PCI_DEVICE_ID_INTEL_ICP_LP_XHCI, -- cgit v1.2.3