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 <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35030
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lance Zhao <lance.zhao@gmail.com>
This commit is contained in:
Maxim Polyakov
2019-08-22 13:11:32 +03:00
committed by Patrick Georgi
parent aa771cb19f
commit 571d07d45b
12 changed files with 177 additions and 2 deletions

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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

View File

@@ -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,

View File

@@ -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,

View File

@@ -86,6 +86,19 @@ static struct {
{ PCI_DEVICE_ID_INTEL_SPT_H_HM175, "Skylake PCH-H HM175" },
{ PCI_DEVICE_ID_INTEL_SPT_H_QM175, "Skylake PCH-H QM175" },
{ PCI_DEVICE_ID_INTEL_SPT_H_CM238, "Skylake PCH-H CM238" },
{ PCI_DEVICE_ID_INTEL_LWB_C621, "Lewisburg PCH C621" },
{ PCI_DEVICE_ID_INTEL_LWB_C622, "Lewisburg PCH C622" },
{ PCI_DEVICE_ID_INTEL_LWB_C624, "Lewisburg PCH C624" },
{ PCI_DEVICE_ID_INTEL_LWB_C625, "Lewisburg PCH C625" },
{ PCI_DEVICE_ID_INTEL_LWB_C626, "Lewisburg PCH C626" },
{ PCI_DEVICE_ID_INTEL_LWB_C627, "Lewisburg PCH C627" },
{ PCI_DEVICE_ID_INTEL_LWB_C628, "Lewisburg PCH C628" },
{ PCI_DEVICE_ID_INTEL_LWB_C629, "Lewisburg PCH C629" },
{ PCI_DEVICE_ID_INTEL_LWB_C624_SUPER, "Lewisburg PCH C624 Super SKU" },
{ PCI_DEVICE_ID_INTEL_LWB_C627_SUPER_1, "Lewisburg PCH C627 Super SKU" },
{ PCI_DEVICE_ID_INTEL_LWB_C621_SUPER, "Lewisburg PCH C621 Super SKU" },
{ PCI_DEVICE_ID_INTEL_LWB_C627_SUPER_2, "Lewisburg PCH C627 Super SKU" },
{ PCI_DEVICE_ID_INTEL_LWB_C628_SUPER, "Lewisburg PCH C628 Super SKU" },
{ PCI_DEVICE_ID_INTEL_KBP_H_Q270, "Kabylake-H Q270" },
{ PCI_DEVICE_ID_INTEL_KBP_H_H270, "Kabylake-H H270" },
{ PCI_DEVICE_ID_INTEL_KBP_H_Z270, "Kabylake-H Z270" },