soc/intel/common/block/pmc: Add PMC API for low power programming

List of changes:
1. Create Kconfig to select pmc low power program by SoC
2. Add API to make ACPI timer disable
3. Add API to ignore XTAL shutdown for SLP_S0# assertion

Change-Id: I017ddc772f02ccba889d316319ab3d5626b80ba5
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/45794
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/intel/common/block/pmc/pmclib.c b/src/soc/intel/common/block/pmc/pmclib.c
index ad9c4fe..8825bbe 100644
--- a/src/soc/intel/common/block/pmc/pmclib.c
+++ b/src/soc/intel/common/block/pmc/pmclib.c
@@ -700,3 +700,19 @@
 
 	return PCH_PM_PWR_CYC_DUR;
 }
+
+#if CONFIG(PMC_LOW_POWER_MODE_PROGRAM)
+void pmc_disable_acpi_timer(void)
+{
+	uint8_t *pmcbase = pmc_mmio_regs();
+
+	setbits8(pmcbase + PCH_PWRM_ACPI_TMR_CTL, ACPI_TIM_DIS);
+}
+
+void pmc_ignore_xtal_shutdown(void)
+{
+	uint8_t *pmcbase = pmc_mmio_regs();
+
+	setbits8(pmcbase + CPPMVRIC, XTALSDQDIS);
+}
+#endif /* PMC_LOW_POWER_MODE_PROGRAM */