Skip to content

Commit 80824a8

Browse files
committed
platform/x86/intel/pmc: Add Wildcat Lake support to intel_pmc_core
JIRA: https://issues.redhat.com/browse/RHEL-95623 commit 1866c3b Author: Xi Pardee <xi.pardee@linux.intel.com> Date: Tue Aug 26 11:39:43 2025 -0700 platform/x86/intel/pmc: Add Wildcat Lake support to intel_pmc_core Add Wildcat Lake support to intel_pmc_core driver. Signed-off-by: Xi Pardee <xi.pardee@linux.intel.com> Link: https://lore.kernel.org/r/20250826183946.802684-2-xi.pardee@linux.intel.com [ij: added #include <linux/bits.h> for BIT()] Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> (cherry picked from commit 1866c3b) Assisted-by: Patchpal Signed-off-by: David Arcari <darcari@redhat.com>
1 parent 0dd464a commit 80824a8

File tree

5 files changed

+499
-4
lines changed

5 files changed

+499
-4
lines changed

drivers/platform/x86/intel/pmc/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55

66
intel_pmc_core-y := core.o spt.o cnp.o icl.o \
7-
tgl.o adl.o mtl.o arl.o lnl.o ptl.o
7+
tgl.o adl.o mtl.o arl.o lnl.o ptl.o wcl.o
88
obj-$(CONFIG_INTEL_PMC_CORE) += intel_pmc_core.o
99
intel_pmc_core_pltdrv-y := pltdrv.o
1010
obj-$(CONFIG_INTEL_PMC_CORE) += intel_pmc_core_pltdrv.o

drivers/platform/x86/intel/pmc/core.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1632,6 +1632,7 @@ static const struct x86_cpu_id intel_pmc_core_ids[] = {
16321632
X86_MATCH_VFM(INTEL_ARROWLAKE_U, &arl_h_pmc_dev),
16331633
X86_MATCH_VFM(INTEL_LUNARLAKE_M, &lnl_pmc_dev),
16341634
X86_MATCH_VFM(INTEL_PANTHERLAKE_L, &ptl_pmc_dev),
1635+
X86_MATCH_VFM(INTEL_WILDCATLAKE_L, &wcl_pmc_dev),
16351636
{}
16361637
};
16371638

drivers/platform/x86/intel/pmc/core.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,10 @@ enum ppfear_regs {
298298
#define PTL_PMC_LTR_CUR_PLT 0x1C2C
299299
#define PTL_PCD_PMC_MMIO_REG_LEN 0x31A8
300300

301+
/* Wildcat Lake */
302+
#define WCL_PMC_LTR_RESERVED 0x1B64
303+
#define WCL_PCD_PMC_MMIO_REG_LEN 0x3178
304+
301305
/* SSRAM PMC Device ID */
302306
/* LNL */
303307
#define PMC_DEVID_LNL_SOCM 0xa87f
@@ -505,6 +509,9 @@ extern const struct pmc_bit_map mtl_socm_vnn_misc_status_map[];
505509
extern const struct pmc_bit_map mtl_socm_signal_status_map[];
506510
extern const struct pmc_reg_map mtl_socm_reg_map;
507511
extern const struct pmc_reg_map mtl_ioep_reg_map;
512+
extern const struct pmc_bit_map ptl_pcdp_clocksource_status_map[];
513+
extern const struct pmc_bit_map ptl_pcdp_vnn_req_status_3_map[];
514+
extern const struct pmc_bit_map ptl_pcdp_signal_status_map[];
508515

509516
void pmc_core_get_tgl_lpm_reqs(struct platform_device *pdev);
510517
int pmc_core_send_ltr_ignore(struct pmc_dev *pmcdev, u32 value, int ignore);
@@ -528,6 +535,7 @@ extern struct pmc_dev_info arl_pmc_dev;
528535
extern struct pmc_dev_info arl_h_pmc_dev;
529536
extern struct pmc_dev_info lnl_pmc_dev;
530537
extern struct pmc_dev_info ptl_pmc_dev;
538+
extern struct pmc_dev_info wcl_pmc_dev;
531539

532540
void cnl_suspend(struct pmc_dev *pmcdev);
533541
int cnl_resume(struct pmc_dev *pmcdev);

drivers/platform/x86/intel/pmc/ptl.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ static const struct pmc_bit_map ptl_pcdp_ltr_show_map[] = {
162162
{}
163163
};
164164

165-
static const struct pmc_bit_map ptl_pcdp_clocksource_status_map[] = {
165+
const struct pmc_bit_map ptl_pcdp_clocksource_status_map[] = {
166166
{"AON2_OFF_STS", BIT(0), 1},
167167
{"AON3_OFF_STS", BIT(1), 0},
168168
{"AON4_OFF_STS", BIT(2), 1},
@@ -382,7 +382,7 @@ static const struct pmc_bit_map ptl_pcdp_vnn_req_status_2_map[] = {
382382
{}
383383
};
384384

385-
static const struct pmc_bit_map ptl_pcdp_vnn_req_status_3_map[] = {
385+
const struct pmc_bit_map ptl_pcdp_vnn_req_status_3_map[] = {
386386
{"DTS0_VNN_REQ_STS", BIT(7), 0},
387387
{"GPIOCOM5_VNN_REQ_STS", BIT(11), 1},
388388
{}
@@ -421,7 +421,7 @@ static const struct pmc_bit_map ptl_pcdp_vnn_misc_status_map[] = {
421421
{}
422422
};
423423

424-
static const struct pmc_bit_map ptl_pcdp_signal_status_map[] = {
424+
const struct pmc_bit_map ptl_pcdp_signal_status_map[] = {
425425
{"LSX_Wake0_STS", BIT(0), 0},
426426
{"LSX_Wake1_STS", BIT(1), 0},
427427
{"LSX_Wake2_STS", BIT(2), 0},

0 commit comments

Comments
 (0)