diff --git a/util/inteltool/gpio.c b/util/inteltool/gpio.c index 07f39593a0..c0005bf802 100644 --- a/util/inteltool/gpio.c +++ b/util/inteltool/gpio.c @@ -1119,6 +1119,7 @@ int print_gpios(struct pci_dev *sb, int show_all, int show_diffs) case PCI_DEVICE_ID_INTEL_HM770: case PCI_DEVICE_ID_INTEL_WM790: case PCI_DEVICE_ID_INTEL_HM470: + case PCI_DEVICE_ID_INTEL_Q470: case PCI_DEVICE_ID_INTEL_C262: case PCI_DEVICE_ID_INTEL_C266: case PCI_DEVICE_ID_INTEL_ADL_P: diff --git a/util/inteltool/gpio_groups.c b/util/inteltool/gpio_groups.c index c8fbdb4439..77b808fff9 100644 --- a/util/inteltool/gpio_groups.c +++ b/util/inteltool/gpio_groups.c @@ -187,6 +187,7 @@ const struct gpio_community *const *get_gpio_communities(struct pci_dev *const s case PCI_DEVICE_ID_INTEL_HM370: case PCI_DEVICE_ID_INTEL_CM246: case PCI_DEVICE_ID_INTEL_HM470: + case PCI_DEVICE_ID_INTEL_Q470: *community_count = ARRAY_SIZE(cannonlake_pch_h_communities); *pad_stepping = 16; return cannonlake_pch_h_communities; diff --git a/util/inteltool/inteltool.c b/util/inteltool/inteltool.c index 0ed9b8331c..bc40e57daa 100644 --- a/util/inteltool/inteltool.c +++ b/util/inteltool/inteltool.c @@ -156,6 +156,16 @@ static const struct { "10th generation (Comet Lake-H family) Core Processor (Mobile)" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_CORE_CML_H_4_2, "10th generation (Comet Lake-H family) Core Processor (Mobile)" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_CORE_CML_S_10, + "10th generation (Comet Lake-S family) Core Processor (Desktop)" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_CORE_CML_S_8, + "10th generation (Comet Lake-S family) Core Processor (Desktop)" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_CORE_CML_S_6, + "10th generation (Comet Lake-S family) Core Processor (Desktop)" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_CORE_CML_S_4, + "10th generation (Comet Lake-S family) Core Processor (Desktop)" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_CORE_CML_S_2, + "10th generation (Comet Lake-S family) Core Processor (Desktop)" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HEWITTLAKE, "Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D (Hewitt Lake)" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SAPPHIRERAPIDS_SP, @@ -441,6 +451,7 @@ static const struct { { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_GLK_LPC, "Gemini Lake" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_H510, "H510" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_H570, "H570" }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_Q470, "Q470" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HM470, "HM470" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_Z590, "Z590" }, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_Q570, "Q570" }, diff --git a/util/inteltool/inteltool.h b/util/inteltool/inteltool.h index a9419e3431..3a173da19c 100644 --- a/util/inteltool/inteltool.h +++ b/util/inteltool/inteltool.h @@ -224,6 +224,7 @@ static inline uint32_t inl(unsigned port) #define PCI_DEVICE_ID_INTEL_WM590 0x4389 #define PCI_DEVICE_ID_INTEL_QM580 0x438a #define PCI_DEVICE_ID_INTEL_HM570 0x438b +#define PCI_DEVICE_ID_INTEL_Q470 0x0687 #define PCI_DEVICE_ID_INTEL_HM470 0x068d #define PCI_DEVICE_ID_INTEL_C252 0x438c #define PCI_DEVICE_ID_INTEL_C256 0x438d @@ -403,6 +404,11 @@ static inline uint32_t inl(unsigned port) #define PCI_DEVICE_ID_INTEL_CORE_CML_H_8_2 0x9b44 /* Cometlake H 8+2 (Mobile) */ #define PCI_DEVICE_ID_INTEL_CORE_CML_H_6_2 0x9b54 /* Cometlake H 6+2 (Mobile) */ #define PCI_DEVICE_ID_INTEL_CORE_CML_H_4_2 0x9b64 /* Cometlake H 4+2 (Mobile) */ +#define PCI_DEVICE_ID_INTEL_CORE_CML_S_10 0x9b33 /* Cometlake S 10 (Desktop) */ +#define PCI_DEVICE_ID_INTEL_CORE_CML_S_8 0x9b43 /* Cometlake S 8 (Desktop) */ +#define PCI_DEVICE_ID_INTEL_CORE_CML_S_6 0x9b53 /* Cometlake S 6 (Desktop) */ +#define PCI_DEVICE_ID_INTEL_CORE_CML_S_4 0x9b63 /* Cometlake S 4 (Desktop) */ +#define PCI_DEVICE_ID_INTEL_CORE_CML_S_2 0x9b73 /* Cometlake S 2 (Desktop) */ #define PCI_DEVICE_ID_INTEL_CORE_TGL_ID_U_2 0x9a04 /* Tigerlake UP3 2 Cores */ #define PCI_DEVICE_ID_INTEL_CORE_TGL_ID_U_4 0x9a14 /* Tigerlake UP3 4 Cores */ #define PCI_DEVICE_ID_INTEL_CORE_TGL_ID_Y_2 0x9a02 /* Tigerlake UP4 2 Cores */ diff --git a/util/inteltool/lpc.c b/util/inteltool/lpc.c index 9fbec66402..711e64b1a2 100644 --- a/util/inteltool/lpc.c +++ b/util/inteltool/lpc.c @@ -151,6 +151,7 @@ int print_lpc(struct pci_dev *sb, struct pci_access *pacc) } break; case PCI_DEVICE_ID_INTEL_HM470: + case PCI_DEVICE_ID_INTEL_Q470: dev = pci_get_dev(pacc, sb->domain, sb->bus, sb->dev, 0); if (!dev) { printf("LPC/eSPI interface not found.\n"); diff --git a/util/inteltool/memory.c b/util/inteltool/memory.c index 608a95533a..0fb36aa38c 100644 --- a/util/inteltool/memory.c +++ b/util/inteltool/memory.c @@ -232,6 +232,11 @@ int print_mchbar(struct pci_dev *nb, struct pci_access *pacc, const char *dump_s case PCI_DEVICE_ID_INTEL_CORE_CML_H_8_2: case PCI_DEVICE_ID_INTEL_CORE_CML_H_6_2: case PCI_DEVICE_ID_INTEL_CORE_CML_H_4_2: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_10: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_8: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_6: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_4: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_2: mchbar_phys = pci_read_long(nb, 0x48); mchbar_phys |= ((uint64_t)pci_read_long(nb, 0x4c)) << 32; mchbar_phys &= 0x0000007fffff8000UL; /* 38:15 */ diff --git a/util/inteltool/pcie.c b/util/inteltool/pcie.c index 06a09df3ca..6544bac5a7 100644 --- a/util/inteltool/pcie.c +++ b/util/inteltool/pcie.c @@ -327,6 +327,11 @@ int print_epbar(struct pci_dev *nb) case PCI_DEVICE_ID_INTEL_CORE_CML_H_8_2: case PCI_DEVICE_ID_INTEL_CORE_CML_H_6_2: case PCI_DEVICE_ID_INTEL_CORE_CML_H_4_2: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_10: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_8: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_6: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_4: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_2: epbar_phys = pci_read_long(nb, 0x40) & 0xfffffffe; epbar_phys |= ((uint64_t)pci_read_long(nb, 0x44)) << 32; break; @@ -474,6 +479,11 @@ int print_dmibar(struct pci_dev *nb) case PCI_DEVICE_ID_INTEL_CORE_CML_H_8_2: case PCI_DEVICE_ID_INTEL_CORE_CML_H_6_2: case PCI_DEVICE_ID_INTEL_CORE_CML_H_4_2: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_10: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_8: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_6: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_4: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_2: dmi_registers = cometlake_dmi_registers; size = ARRAY_SIZE(cometlake_dmi_registers); dmibar_phys = pci_read_long(nb, 0x68); @@ -608,6 +618,11 @@ int print_pciexbar(struct pci_dev *nb) case PCI_DEVICE_ID_INTEL_CORE_CML_H_8_2: case PCI_DEVICE_ID_INTEL_CORE_CML_H_6_2: case PCI_DEVICE_ID_INTEL_CORE_CML_H_4_2: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_10: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_8: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_6: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_4: + case PCI_DEVICE_ID_INTEL_CORE_CML_S_2: pciexbar_reg = pci_read_long(nb, 0x60); pciexbar_reg |= ((uint64_t)pci_read_long(nb, 0x64)) << 32; break; diff --git a/util/inteltool/pcr.c b/util/inteltool/pcr.c index 8654e32a89..cfc12911f3 100644 --- a/util/inteltool/pcr.c +++ b/util/inteltool/pcr.c @@ -142,6 +142,7 @@ void pcr_init(struct pci_dev *const sb) case PCI_DEVICE_ID_INTEL_C256: case PCI_DEVICE_ID_INTEL_W580: case PCI_DEVICE_ID_INTEL_HM470: + case PCI_DEVICE_ID_INTEL_Q470: case PCI_DEVICE_ID_INTEL_CANNONPOINT_LP_U_PREM: case PCI_DEVICE_ID_INTEL_COMETPOINT_LP_U_PREM: case PCI_DEVICE_ID_INTEL_COMETPOINT_LP_U_BASE: diff --git a/util/inteltool/rootcmplx.c b/util/inteltool/rootcmplx.c index a11cf5f2e8..46f7858feb 100644 --- a/util/inteltool/rootcmplx.c +++ b/util/inteltool/rootcmplx.c @@ -126,6 +126,7 @@ int print_rcba(struct pci_dev *sb) case PCI_DEVICE_ID_INTEL_ICH5: case PCI_DEVICE_ID_INTEL_ADL_N: case PCI_DEVICE_ID_INTEL_HM470: + case PCI_DEVICE_ID_INTEL_Q470: printf("This southbridge does not have RCBA.\n"); return 1; default: diff --git a/util/inteltool/spi.c b/util/inteltool/spi.c index 9c3d2f12f5..6e869a2da9 100644 --- a/util/inteltool/spi.c +++ b/util/inteltool/spi.c @@ -351,6 +351,7 @@ static int print_bioscntl(struct pci_dev *sb) break; case PCI_DEVICE_ID_INTEL_ADL_N: case PCI_DEVICE_ID_INTEL_HM470: + case PCI_DEVICE_ID_INTEL_Q470: bios_cntl = pci_read_byte(sb, 0xdc); bios_cntl_register = adl_pch_bios_cntl_registers; size = ARRAY_SIZE(adl_pch_bios_cntl_registers); @@ -534,6 +535,7 @@ static int print_spibar(struct pci_dev *sb, struct pci_access *pacc) { size = ARRAY_SIZE(elkhart_spi_bar_registers); break; case PCI_DEVICE_ID_INTEL_HM470: + case PCI_DEVICE_ID_INTEL_Q470: if (get_espibar_phys(sb, pacc, 5, 0x10, 0xfffff000, &rcba_phys)) return 1; rcba_size = 4096;