From c76e9982b231023ccf91b79ec7526e50f595ffc1 Mon Sep 17 00:00:00 2001 From: "Sooi, Li Cheng" Date: Wed, 4 Jan 2017 13:36:06 +0800 Subject: soc/intel/skylake: Add CPU, PCH, MCH, IGD, XHCI and UART IDs for SKL/KBL HALO SOC Add CPU, PCH, MCH, IGD, XHCI and UART IDs for SKL/KBL HALO SOC Change-Id: I6a44d55d1588d2620bd1179ea7dc327922f49fd7 Signed-off-by: Sooi, Li Cheng Reviewed-on: https://review.coreboot.org/18028 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) --- src/soc/intel/skylake/bootblock/report_platform.c | 13 +++++++++++++ src/soc/intel/skylake/cpu.c | 4 ++++ src/soc/intel/skylake/igd.c | 3 +++ src/soc/intel/skylake/include/soc/cpu.h | 4 ++++ src/soc/intel/skylake/include/soc/pch.h | 3 +++ src/soc/intel/skylake/include/soc/systemagent.h | 6 ++++++ src/soc/intel/skylake/lpc.c | 3 +++ src/soc/intel/skylake/pcie.c | 6 ++++++ src/soc/intel/skylake/pmc.c | 1 + src/soc/intel/skylake/smbus.c | 1 + src/soc/intel/skylake/systemagent.c | 3 +++ src/soc/intel/skylake/uart.c | 3 +++ src/soc/intel/skylake/xhci.c | 1 + 13 files changed, 51 insertions(+) (limited to 'src/soc') diff --git a/src/soc/intel/skylake/bootblock/report_platform.c b/src/soc/intel/skylake/bootblock/report_platform.c index e2f4441f1f..12c283fda3 100644 --- a/src/soc/intel/skylake/bootblock/report_platform.c +++ b/src/soc/intel/skylake/bootblock/report_platform.c @@ -32,8 +32,12 @@ static struct { } cpu_table[] = { { CPUID_SKYLAKE_C0, "Skylake C0" }, { CPUID_SKYLAKE_D0, "Skylake D0" }, + { CPUID_SKYLAKE_HQ0, "Skylake H Q0" }, + { CPUID_SKYLAKE_HR0, "Skylake H R0" }, { CPUID_KABYLAKE_G0, "Kabylake G0" }, { CPUID_KABYLAKE_H0, "Kabylake H0" }, + { CPUID_KABYLAKE_HA0, "Kabylake H A0" }, + { CPUID_KABYLAKE_HB0, "Kabylake H B0" }, }; static struct { @@ -43,8 +47,11 @@ static struct { { MCH_SKYLAKE_ID_U, "Skylake-U" }, { MCH_SKYLAKE_ID_Y, "Skylake-Y" }, { MCH_SKYLAKE_ID_ULX, "Skylake-ULX" }, + { MCH_SKYLAKE_ID_H, "Skylake-H" }, + { MCH_SKYLAKE_ID_H_EM, "Skylake-H Embedded" }, { MCH_KABYLAKE_ID_U, "Kabylake-U" }, { MCH_KABYLAKE_ID_Y, "Kabylake-Y" }, + { MCH_KABYLAKE_ID_H, "Kabylake-H" }, }; static struct { @@ -55,6 +62,9 @@ static struct { { PCH_SPT_LP_U_BASE, "Skylake-U Base" }, { PCH_SPT_LP_U_PREMIUM, "Skylake-U Premium" }, { PCH_SPT_LP_Y_PREMIUM, "Skylake-Y Premium" }, + { PCH_SPT_H_PREMIUM, "Skylake-H Premium" }, + { PCH_SPT_H_C236, "Skylake-H C236" }, + { PCH_SPT_H_QM170, "Skylake-H QM170" }, { PCH_KBL_LP_U_PREMIUM, "Kabylake-U Premium" }, { PCH_KBL_LP_Y_PREMIUM, "Kabylake-Y Premium" }, { PCH_KBL_LP_Y_PREMIUM_HDCP22, "Kabylake-Y iHDCP 2.2 Premium" }, @@ -67,9 +77,12 @@ static struct { { IGD_SKYLAKE_GT1_SULTM, "Skylake ULT GT1"}, { IGD_SKYLAKE_GT2_SULXM, "Skylake ULX GT2" }, { IGD_SKYLAKE_GT2_SULTM, "Skylake ULT GT2" }, + { IGD_SKYLAKE_GT2_SHALM, "Skylake HALO GT2" }, + { IGD_SKYLAKE_GT4_SHALM, "Skylake HALO GT4" }, { IGD_KABYLAKE_GT1_SULTM, "Kabylake ULT GT1"}, { IGD_KABYLAKE_GT2_SULXM, "Kabylake ULX GT2" }, { IGD_KABYLAKE_GT2_SULTM, "Kabylake ULT GT2" }, + { IGD_KABYLAKE_GT2_SHALM, "Kabylake HALO GT2" }, }; static void report_cpu_info(void) diff --git a/src/soc/intel/skylake/cpu.c b/src/soc/intel/skylake/cpu.c index fd726c8df3..f92635da77 100644 --- a/src/soc/intel/skylake/cpu.c +++ b/src/soc/intel/skylake/cpu.c @@ -385,8 +385,12 @@ static struct device_operations cpu_dev_ops = { static struct cpu_device_id cpu_table[] = { { X86_VENDOR_INTEL, CPUID_SKYLAKE_C0 }, { X86_VENDOR_INTEL, CPUID_SKYLAKE_D0 }, + { X86_VENDOR_INTEL, CPUID_SKYLAKE_HQ0 }, + { X86_VENDOR_INTEL, CPUID_SKYLAKE_HR0 }, { X86_VENDOR_INTEL, CPUID_KABYLAKE_G0 }, { X86_VENDOR_INTEL, CPUID_KABYLAKE_H0 }, + { X86_VENDOR_INTEL, CPUID_KABYLAKE_HA0 }, + { X86_VENDOR_INTEL, CPUID_KABYLAKE_HB0 }, { 0, 0 }, }; diff --git a/src/soc/intel/skylake/igd.c b/src/soc/intel/skylake/igd.c index 1cc30ad8f4..30c9eda9b0 100644 --- a/src/soc/intel/skylake/igd.c +++ b/src/soc/intel/skylake/igd.c @@ -190,9 +190,12 @@ static const unsigned short pci_device_ids[] = { IGD_SKYLAKE_GT1_SULTM, IGD_SKYLAKE_GT2_SULXM, IGD_SKYLAKE_GT2_SULTM, + IGD_SKYLAKE_GT2_SHALM, + IGD_SKYLAKE_GT4_SHALM, IGD_KABYLAKE_GT1_SULTM, IGD_KABYLAKE_GT2_SULXM, IGD_KABYLAKE_GT2_SULTM, + IGD_KABYLAKE_GT2_SHALM, 0, }; diff --git a/src/soc/intel/skylake/include/soc/cpu.h b/src/soc/intel/skylake/include/soc/cpu.h index ecb9833277..35a30819b2 100644 --- a/src/soc/intel/skylake/include/soc/cpu.h +++ b/src/soc/intel/skylake/include/soc/cpu.h @@ -26,8 +26,12 @@ /* Supported CPUIDs */ #define CPUID_SKYLAKE_C0 0x406e2 #define CPUID_SKYLAKE_D0 0x406e3 +#define CPUID_SKYLAKE_HQ0 0x506e1 +#define CPUID_SKYLAKE_HR0 0x506e3 #define CPUID_KABYLAKE_G0 0x406e8 #define CPUID_KABYLAKE_H0 0x806e9 +#define CPUID_KABYLAKE_HA0 0x506e8 +#define CPUID_KABYLAKE_HB0 0x906e9 /* CPU bus clock is fixed at 100MHz */ #define CPU_BCLK 100 diff --git a/src/soc/intel/skylake/include/soc/pch.h b/src/soc/intel/skylake/include/soc/pch.h index 701a6f5edf..9be75bf98f 100644 --- a/src/soc/intel/skylake/include/soc/pch.h +++ b/src/soc/intel/skylake/include/soc/pch.h @@ -26,6 +26,9 @@ #define PCH_SPT_LP_U_BASE 0x9d43 #define PCH_SPT_LP_U_PREMIUM 0x9d48 #define PCH_SPT_LP_Y_PREMIUM 0x9d46 +#define PCH_SPT_H_C236 0xa150 +#define PCH_SPT_H_PREMIUM 0xa14e +#define PCH_SPT_H_QM170 0xa14d #define PCH_KBL_LP_Y_PREMIUM_HDCP22 0x9d4b #define PCH_KBL_LP_U_PREMIUM 0x9d58 #define PCH_KBL_LP_Y_PREMIUM 0x9d56 diff --git a/src/soc/intel/skylake/include/soc/systemagent.h b/src/soc/intel/skylake/include/soc/systemagent.h index 6353ea627e..c82f6913b2 100644 --- a/src/soc/intel/skylake/include/soc/systemagent.h +++ b/src/soc/intel/skylake/include/soc/systemagent.h @@ -25,15 +25,21 @@ #define IGD_SKYLAKE_GT1_SULTM 0x1906 #define IGD_SKYLAKE_GT2_SULXM 0x191E #define IGD_SKYLAKE_GT2_SULTM 0x1916 +#define IGD_SKYLAKE_GT2_SHALM 0x191B +#define IGD_SKYLAKE_GT4_SHALM 0x193D #define IGD_KABYLAKE_GT1_SULTM 0x5906 #define IGD_KABYLAKE_GT2_SULXM 0x591E #define IGD_KABYLAKE_GT2_SULTM 0x5916 +#define IGD_KABYLAKE_GT2_SHALM 0x591B #define MCH_SKYLAKE_ID_U 0x1904 #define MCH_SKYLAKE_ID_Y 0x190c #define MCH_SKYLAKE_ID_ULX 0x1924 +#define MCH_SKYLAKE_ID_H 0x1910 +#define MCH_SKYLAKE_ID_H_EM 0x1918 #define MCH_KABYLAKE_ID_U 0x5904 #define MCH_KABYLAKE_ID_Y 0x590c +#define MCH_KABYLAKE_ID_H 0x5910 /* Device 0:0.0 PCI configuration space */ diff --git a/src/soc/intel/skylake/lpc.c b/src/soc/intel/skylake/lpc.c index 1355c80510..a81ff9775f 100644 --- a/src/soc/intel/skylake/lpc.c +++ b/src/soc/intel/skylake/lpc.c @@ -317,6 +317,9 @@ static const unsigned short pci_device_ids[] = { PCH_SPT_LP_U_BASE, PCH_SPT_LP_U_PREMIUM, PCH_SPT_LP_Y_PREMIUM, + PCH_SPT_H_QM170, + PCH_SPT_H_PREMIUM, + PCH_SPT_H_C236, PCH_KBL_LP_U_PREMIUM, PCH_KBL_LP_Y_PREMIUM, PCH_KBL_LP_Y_PREMIUM_HDCP22, diff --git a/src/soc/intel/skylake/pcie.c b/src/soc/intel/skylake/pcie.c index d3eecff585..9919d7abbb 100644 --- a/src/soc/intel/skylake/pcie.c +++ b/src/soc/intel/skylake/pcie.c @@ -96,6 +96,12 @@ static const unsigned short pcie_device_ids[] = { /* Sunrisepoint-LP */ 0x9d10, 0x9d11, 0x9d12, 0x9d13, 0x9d14, 0x9d15, 0x9d16, 0x9d17, 0x9d18, 0x9d19, 0x9d1a, 0x9d1b, + /* Sunrisepoint-H */ + 0xa290, 0xa291, 0xa292, 0xa293, 0xa294, 0xa295, 0xa296, 0xa297, + 0xa298, 0xa299, 0xa29a, 0xa29b, 0xa29c, 0xa29d, 0xa29e, 0xa20f, + 0xa110, 0xa111, 0xa112, 0xa113, 0xa114, 0xa115, 0xa116, 0xa117, + 0xa118, 0xa119, 0xa11a, 0xa11b, 0xa11c, 0xa11d, 0xa11e, 0xa11f, + 0xa167, 0xa168, 0xa169, 0xa16a, 0 }; diff --git a/src/soc/intel/skylake/pmc.c b/src/soc/intel/skylake/pmc.c index 23a289b2bd..003c462b05 100644 --- a/src/soc/intel/skylake/pmc.c +++ b/src/soc/intel/skylake/pmc.c @@ -244,6 +244,7 @@ static struct device_operations device_ops = { static const unsigned short pci_device_ids[] = { 0x9d21, + 0xa121, 0 }; diff --git a/src/soc/intel/skylake/smbus.c b/src/soc/intel/skylake/smbus.c index c94570d890..dc6c435324 100644 --- a/src/soc/intel/skylake/smbus.c +++ b/src/soc/intel/skylake/smbus.c @@ -99,6 +99,7 @@ static struct device_operations smbus_ops = { static const unsigned short pci_device_ids[] = { 0x9d23, /* SunRisePoint LP */ + 0xa123, /* SunRisePoint H */ 0 }; diff --git a/src/soc/intel/skylake/systemagent.c b/src/soc/intel/skylake/systemagent.c index 2f49633f49..6182164f48 100644 --- a/src/soc/intel/skylake/systemagent.c +++ b/src/soc/intel/skylake/systemagent.c @@ -414,8 +414,11 @@ static const unsigned short systemagent_ids[] = { MCH_SKYLAKE_ID_U, MCH_SKYLAKE_ID_Y, MCH_SKYLAKE_ID_ULX, + MCH_SKYLAKE_ID_H, + MCH_SKYLAKE_ID_H_EM, MCH_KABYLAKE_ID_U, MCH_KABYLAKE_ID_Y, + MCH_KABYLAKE_ID_H, 0 }; diff --git a/src/soc/intel/skylake/uart.c b/src/soc/intel/skylake/uart.c index f81a36d135..88bb784d26 100644 --- a/src/soc/intel/skylake/uart.c +++ b/src/soc/intel/skylake/uart.c @@ -53,6 +53,9 @@ static const unsigned short pci_device_ids[] = { 0x9d27, /* UART0 */ 0x9d28, /* UART1 */ 0x9d66, /* UART2 */ + 0xa127, /* KBL-H UART0 */ + 0xa128, /* KBL-H UART1 */ + 0xa166, /* KBL-H UART2 */ 0 }; diff --git a/src/soc/intel/skylake/xhci.c b/src/soc/intel/skylake/xhci.c index 6b4a19a3dd..5ee34dfc68 100644 --- a/src/soc/intel/skylake/xhci.c +++ b/src/soc/intel/skylake/xhci.c @@ -33,6 +33,7 @@ static struct device_operations usb_xhci_ops = { static const unsigned short pci_device_ids[] = { 0x9d2f, /* SunRisePoint LP */ + 0xa12f, /* KBL-H*/ 0 }; -- cgit v1.2.3