Skip to content

Commit

Permalink
[Intel][TGL][ADL][RPL] New devices to probe IMC and Watchdog
Browse files Browse the repository at this point in the history
  • Loading branch information
cyring committed Aug 5, 2024
1 parent a7b45ce commit ff50d18
Show file tree
Hide file tree
Showing 5 changed files with 92 additions and 8 deletions.
23 changes: 17 additions & 6 deletions x86_64/corefreq-api.h
Original file line number Diff line number Diff line change
Expand Up @@ -1448,6 +1448,7 @@ typedef struct
/* Source: 11th Generation Intel Core Processor Desktop Datasheet Vol1 */
#define DID_INTEL_TIGERLAKE_UP3_IMC 0xa082
#define DID_INTEL_TIGERLAKE_UP4_IMC 0xa087
#define DID_INTEL_TGL_PCH_LP_SMBUS 0xa0a3 /* TGL-LP Watchdog */
#define DID_INTEL_ROCKETLAKE_S_8C_IMC_HB 0x4c43
#define DID_INTEL_ROCKETLAKE_S_6C_IMC_HB 0x4c53
/* Source: Intel 500 Series Chipset Family Platform Controller Hub */
Expand All @@ -1468,6 +1469,10 @@ typedef struct
#define DID_INTEL_ALDERLAKE_H_6P_4E_HB 0x4649
#define DID_INTEL_ALDERLAKE_H_4P_8E_HB 0x4621
#define DID_INTEL_ALDERLAKE_H_4P_4E_HB 0x4629
#define DID_INTEL_ALDERLAKE_HL_6P_8E_HB 0x4643
#define DID_INTEL_ALDERLAKE_U_2P_8E_HB 0x4601
#define DID_INTEL_ALDERLAKE_U_2P_4E_HB 0x4609
#define DID_INTEL_ALDERLAKE_U_1P_4E_HB 0x4619
/* Source: Intel 600 Series Chipset Family Platform Controller Hub */
#define DID_INTEL_ALDERLAKE_H610_PCH 0x7a87
#define DID_INTEL_ALDERLAKE_B660_PCH 0x7a86
Expand All @@ -1477,10 +1482,11 @@ typedef struct
#define DID_INTEL_ALDERLAKE_W680_PCH 0x7a88
#define DID_INTEL_ALDERLAKE_WM690_PCH 0x7a8d
#define DID_INTEL_ALDERLAKE_HM670_PCH 0x7a8c
#define DID_INTEL_PCH_600_SMBUS 0xa0a3
/* Source: 12th Gen Intel(R) Core(TM) i7-12700H */
/* Source: 12th Gen Intel Core i5-12500H;i7-12700H;i7-12800HL;i9-12900H */
#define DID_INTEL_ALDERLAKE_PCH_P 0x5182 /* PCH eSPI Controller */
#define DID_INTEL_PCH_P_SMBUS 0x51a3
#define DID_INTEL_ALDERLAKE_PCH_U 0x5188 /* PCH-U eSPI Controller */
#define DID_INTEL_ADL_PCH_P_SMBUS 0x51a3 /* ADL PCH-P Watchdog */
#define DID_INTEL_ADL_S_PCH_SMBUS 0x7aa3
/* Source: 13th Generation Intel Core Processors Datasheet, vol 1 */
#define DID_INTEL_RAPTORLAKE_S_8P_16E_HB 0xa700
#define DID_INTEL_RAPTORLAKE_S_8P_8E_HB 0xa703
Expand All @@ -1502,15 +1508,20 @@ typedef struct
#define DID_INTEL_RAPTORLAKE_U_2P_8E_HB 0xa708
#define DID_INTEL_RAPTORLAKE_U_2P_4E_HB 0xa71b
#define DID_INTEL_RAPTORLAKE_U_1P_4E_HB 0xa71c
#define DID_INTEL_RAPTORLAKE_E_8P_0E_HB 0xA711
#define DID_INTEL_RAPTORLAKE_E_6P_0E_HB 0xA712
#define DID_INTEL_RAPTORLAKE_E_4P_0E_HB 0xA713
#define DID_INTEL_RAPTORLAKE_E_8P_0E_HB 0xa711
#define DID_INTEL_RAPTORLAKE_E_6P_0E_HB 0xa712
#define DID_INTEL_RAPTORLAKE_E_4P_0E_HB 0xa713
/* Source: Intel(R) Core(TM) i7-14700K */
#define DID_INTEL_RAPTORLAKE_S_8P_12E_HB 0xa740
/* Source: PCH Controller Device IDs—Intel 700 Series Chipset Family PCH */
#define DID_INTEL_RAPTORLAKE_Z790_PCH 0x7a04
#define DID_INTEL_RAPTORLAKE_H770_PCH 0x7a05
#define DID_INTEL_RAPTORLAKE_B760_PCH 0x7a06
#define DID_INTEL_RAPTORLAKE_WM790_PCH 0x7a0d
#define DID_INTEL_RAPTORLAKE_HM770_PCH 0x7a0c
#define DID_INTEL_RAPTORLAKE_C262_PCH 0x7a14
#define DID_INTEL_RAPTORLAKE_C266_PCH 0x7a13
#define DID_INTEL_RPL_D_PCH_SMBUS 0x7a23 /* RPL-Desktop Watchdog */
/* Source: Intel(R) Pentium(R) Silver N5000 CPU @ 1.10GHz */
#define DID_INTEL_GEMINILAKE_HB 0x31f0
/* Source: Meteor Lake: Intel Core Ultra Processor Datasheet, Vol 1 */
Expand Down
5 changes: 5 additions & 0 deletions x86_64/corefreq.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,14 @@ enum CHIPSET {
IC_WM690,
IC_HM670,
IC_ADL_PCH_P,
IC_ADL_PCH_U,
IC_Z790,
IC_H770,
IC_B760,
IC_WM790,
IC_HM770,
IC_C262,
IC_C266,
IC_MTL_H,
IC_MTL_U,
IC_MTL_UT4,
Expand Down
24 changes: 24 additions & 0 deletions x86_64/corefreqd.c
Original file line number Diff line number Diff line change
Expand Up @@ -7038,9 +7038,14 @@ static char *Chipset[CHIPSETS] = {
[IC_WM690] = "Intel WM690",
[IC_HM670] = "Intel HM670",
[IC_ADL_PCH_P] = "Intel ADL PCH-P",
[IC_ADL_PCH_U] = "Intel ADL PCH-U",
[IC_Z790] = "Intel Z790",
[IC_H770] = "Intel H770",
[IC_B760] = "Intel B760",
[IC_WM790] = "Intel WM790",
[IC_HM770] = "Intel HM770",
[IC_C262] = "Intel C262",
[IC_C266] = "Intel C266",
[IC_MTL_H] = "Intel MTL-H",
[IC_MTL_U] = "Intel MTL-U",
[IC_MTL_UT4] = "Intel MTL-U Type4",
Expand Down Expand Up @@ -7507,6 +7512,10 @@ void PCI_Intel(RO(SHM_STRUCT) *RO(Shm), RO(PROC) *RO(Proc), RO(CORE) *RO(Core),
case DID_INTEL_ALDERLAKE_H_6P_4E_HB:
case DID_INTEL_ALDERLAKE_H_4P_8E_HB:
case DID_INTEL_ALDERLAKE_H_4P_4E_HB:
case DID_INTEL_ALDERLAKE_HL_6P_8E_HB:
case DID_INTEL_ALDERLAKE_U_2P_8E_HB:
case DID_INTEL_ALDERLAKE_U_2P_4E_HB:
case DID_INTEL_ALDERLAKE_U_1P_4E_HB:
ADL_CAP(RO(Shm), RO(Proc), RO(Core));
ADL_IMC(RO(Shm), RO(Proc));
break;
Expand Down Expand Up @@ -7537,6 +7546,9 @@ void PCI_Intel(RO(SHM_STRUCT) *RO(Shm), RO(PROC) *RO(Proc), RO(CORE) *RO(Core),
case DID_INTEL_ALDERLAKE_PCH_P:
SET_CHIPSET(IC_ADL_PCH_P);
break;
case DID_INTEL_ALDERLAKE_PCH_U:
SET_CHIPSET(IC_ADL_PCH_U);
break;
case DID_INTEL_GEMINILAKE_HB:
GLK_CAP(RO(Shm), RO(Proc), RO(Core));
GLK_IMC(RO(Shm), RO(Proc));
Expand Down Expand Up @@ -7578,6 +7590,18 @@ void PCI_Intel(RO(SHM_STRUCT) *RO(Shm), RO(PROC) *RO(Proc), RO(CORE) *RO(Core),
case DID_INTEL_RAPTORLAKE_B760_PCH:
SET_CHIPSET(IC_B760);
break;
case DID_INTEL_RAPTORLAKE_WM790_PCH:
SET_CHIPSET(IC_WM790);
break;
case DID_INTEL_RAPTORLAKE_HM770_PCH:
SET_CHIPSET(IC_HM770);
break;
case DID_INTEL_RAPTORLAKE_C262_PCH:
SET_CHIPSET(IC_C262);
break;
case DID_INTEL_RAPTORLAKE_C266_PCH:
SET_CHIPSET(IC_C266);
break;
case DID_INTEL_METEORLAKE_UT4_2_8_2_HB:
case DID_INTEL_METEORLAKE_H_6_8_2_HB:
case DID_INTEL_METEORLAKE_U_2_8_2_HB:
Expand Down
12 changes: 10 additions & 2 deletions x86_64/corefreqk.c
Original file line number Diff line number Diff line change
Expand Up @@ -10376,11 +10376,19 @@ static void Intel_Watchdog(CORE_RO *Core)
.driver_data = (kernel_ulong_t) ICH_TCO
},
{
PCI_VDEVICE(INTEL, DID_INTEL_PCH_600_SMBUS),
PCI_VDEVICE(INTEL, DID_INTEL_TGL_PCH_LP_SMBUS),
.driver_data = (kernel_ulong_t) TCOBASE
},
{
PCI_VDEVICE(INTEL, DID_INTEL_PCH_P_SMBUS),
PCI_VDEVICE(INTEL, DID_INTEL_ADL_PCH_P_SMBUS),
.driver_data = (kernel_ulong_t) TCOBASE
},
{
PCI_VDEVICE(INTEL, DID_INTEL_ADL_S_PCH_SMBUS),
.driver_data = (kernel_ulong_t) TCOBASE
},
{
PCI_VDEVICE(INTEL, DID_INTEL_RPL_D_PCH_SMBUS),
.driver_data = (kernel_ulong_t) TCOBASE
},
{0, }
Expand Down
36 changes: 36 additions & 0 deletions x86_64/corefreqk.h
Original file line number Diff line number Diff line change
Expand Up @@ -2928,6 +2928,22 @@ static struct pci_device_id PCI_ADL_RPL_ids[] = {
PCI_VDEVICE(INTEL, DID_INTEL_ALDERLAKE_H_4P_4E_HB),
.driver_data = (kernel_ulong_t) ADL_IMC
},
{
PCI_VDEVICE(INTEL, DID_INTEL_ALDERLAKE_HL_6P_8E_HB),
.driver_data = (kernel_ulong_t) ADL_IMC
},
{
PCI_VDEVICE(INTEL, DID_INTEL_ALDERLAKE_U_2P_8E_HB),
.driver_data = (kernel_ulong_t) ADL_IMC
},
{
PCI_VDEVICE(INTEL, DID_INTEL_ALDERLAKE_U_2P_4E_HB),
.driver_data = (kernel_ulong_t) ADL_IMC
},
{
PCI_VDEVICE(INTEL, DID_INTEL_ALDERLAKE_U_1P_4E_HB),
.driver_data = (kernel_ulong_t) ADL_IMC
},
{
PCI_VDEVICE(INTEL, DID_INTEL_ALDERLAKE_H610_PCH),
.driver_data = (kernel_ulong_t) ADL_PCH
Expand Down Expand Up @@ -2964,6 +2980,10 @@ static struct pci_device_id PCI_ADL_RPL_ids[] = {
PCI_VDEVICE(INTEL, DID_INTEL_ALDERLAKE_PCH_P),
.driver_data = (kernel_ulong_t) ADL_PCH
},
{
PCI_VDEVICE(INTEL, DID_INTEL_ALDERLAKE_PCH_U),
.driver_data = (kernel_ulong_t) ADL_PCH
},
/* 13th Generation */
{
PCI_VDEVICE(INTEL, DID_INTEL_RAPTORLAKE_S_8P_16E_HB),
Expand Down Expand Up @@ -3073,6 +3093,22 @@ static struct pci_device_id PCI_ADL_RPL_ids[] = {
PCI_VDEVICE(INTEL, DID_INTEL_RAPTORLAKE_B760_PCH),
.driver_data = (kernel_ulong_t) RPL_PCH
},
{
PCI_VDEVICE(INTEL, DID_INTEL_RAPTORLAKE_WM790_PCH),
.driver_data = (kernel_ulong_t) RPL_PCH
},
{
PCI_VDEVICE(INTEL, DID_INTEL_RAPTORLAKE_HM770_PCH),
.driver_data = (kernel_ulong_t) RPL_PCH
},
{
PCI_VDEVICE(INTEL, DID_INTEL_RAPTORLAKE_C262_PCH),
.driver_data = (kernel_ulong_t) RPL_PCH
},
{
PCI_VDEVICE(INTEL, DID_INTEL_RAPTORLAKE_C266_PCH),
.driver_data = (kernel_ulong_t) RPL_PCH
},
{0, }
};

Expand Down

0 comments on commit ff50d18

Please sign in to comment.