@@ -278,6 +278,11 @@ enum ppfear_regs {
278278#define MTL_PMT_DMU_GUID 0x1A067102
279279#define ARL_PMT_DMU_GUID 0x1A06A000
280280
281+ #define LNL_PMC_MMIO_REG_LEN 0x2708
282+ #define LNL_PMC_LTR_OSSE 0x1B88
283+ #define LNL_NUM_IP_IGN_ALLOWED 27
284+ #define LNL_PPFEAR_NUM_ENTRIES 12
285+
281286extern const char * pmc_lpm_modes [];
282287
283288struct pmc_bit_map {
@@ -506,6 +511,26 @@ extern const struct pmc_bit_map mtl_ioem_power_gating_status_1_map[];
506511extern const struct pmc_bit_map mtl_ioem_vnn_req_status_1_map [];
507512extern const struct pmc_bit_map * mtl_ioem_lpm_maps [];
508513extern const struct pmc_reg_map mtl_ioem_reg_map ;
514+ extern const struct pmc_reg_map lnl_socm_reg_map ;
515+
516+ /* LNL */
517+ extern const struct pmc_bit_map lnl_ltr_show_map [];
518+ extern const struct pmc_bit_map lnl_clocksource_status_map [];
519+ extern const struct pmc_bit_map lnl_power_gating_status_0_map [];
520+ extern const struct pmc_bit_map lnl_power_gating_status_1_map [];
521+ extern const struct pmc_bit_map lnl_power_gating_status_2_map [];
522+ extern const struct pmc_bit_map lnl_d3_status_0_map [];
523+ extern const struct pmc_bit_map lnl_d3_status_1_map [];
524+ extern const struct pmc_bit_map lnl_d3_status_2_map [];
525+ extern const struct pmc_bit_map lnl_d3_status_3_map [];
526+ extern const struct pmc_bit_map lnl_vnn_req_status_0_map [];
527+ extern const struct pmc_bit_map lnl_vnn_req_status_1_map [];
528+ extern const struct pmc_bit_map lnl_vnn_req_status_2_map [];
529+ extern const struct pmc_bit_map lnl_vnn_req_status_3_map [];
530+ extern const struct pmc_bit_map lnl_vnn_misc_status_map [];
531+ extern const struct pmc_bit_map * lnl_lpm_maps [];
532+ extern const struct pmc_bit_map lnl_pfear_map [];
533+ extern const struct pmc_bit_map * ext_lnl_pfear_map [];
509534
510535/* ARL */
511536extern const struct pmc_bit_map arl_socs_ltr_show_map [];
@@ -559,6 +584,7 @@ int tgl_core_generic_init(struct pmc_dev *pmcdev, int pch_tp);
559584int adl_core_init (struct pmc_dev * pmcdev );
560585int mtl_core_init (struct pmc_dev * pmcdev );
561586int arl_core_init (struct pmc_dev * pmcdev );
587+ int lnl_core_init (struct pmc_dev * pmcdev );
562588
563589#define pmc_for_each_mode (i , mode , pmcdev ) \
564590 for (i = 0, mode = pmcdev->lpm_en_modes[i]; \
0 commit comments