soc/intel: implement ACPI timer disabling per SoC and drop common code
Since it's just a one-liner, implement disabling of the ACPI timer in soc code. This reduces complexity. Change-Id: I434ea87d00f6e919983d9229f79d4adb352fbf27 Signed-off-by: Michael Niewöhner <foss@mniewoehner.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/58020 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
parent
01b3c40bfe
commit
6eaffcdbb1
|
@ -43,7 +43,6 @@ config CPU_SPECIFIC_OPTIONS
|
|||
select PLATFORM_USES_FSP2_2
|
||||
select PM_ACPI_TIMER_OPTIONAL
|
||||
select PMC_GLOBAL_RESET_ENABLE_LOCK
|
||||
select PMC_LOW_POWER_MODE_PROGRAM
|
||||
select SOC_INTEL_COMMON
|
||||
select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
|
||||
select SOC_INTEL_COMMON_BLOCK
|
||||
|
|
|
@ -160,7 +160,7 @@ static void soc_pmc_init(struct device *dev)
|
|||
* Disabling ACPI PM timer also switches off TCO
|
||||
*/
|
||||
if (!CONFIG(USE_PM_ACPI_TIMER))
|
||||
pmc_disable_acpi_timer();
|
||||
setbits8(pmc_mmio_regs() + PCH_PWRM_ACPI_TMR_CTL, ACPI_TIM_DIS);
|
||||
}
|
||||
|
||||
static void pm1_enable_pwrbtn_smi(void *unused)
|
||||
|
|
|
@ -251,9 +251,6 @@ void pmc_set_power_failure_state(bool target_on);
|
|||
uint8_t get_pm_pwr_cyc_dur(uint8_t slp_s4_min_assert, uint8_t slp_s3_min_assert,
|
||||
uint8_t slp_a_min_assert, uint8_t pm_pwr_cyc_dur);
|
||||
|
||||
/* Disabling ACPI PM timer to ensure switches off TCO and necessary of XTAL OSC shutdown */
|
||||
void pmc_disable_acpi_timer(void);
|
||||
|
||||
/* API to set ACPI mode */
|
||||
void pmc_set_acpi_mode(void);
|
||||
|
||||
|
|
|
@ -50,12 +50,6 @@ config PMC_GLOBAL_RESET_ENABLE_LOCK
|
|||
Note that the reset register is still at 0xCF9 this only
|
||||
controls the enable and lock feature.
|
||||
|
||||
config PMC_LOW_POWER_MODE_PROGRAM
|
||||
bool
|
||||
help
|
||||
Enable this for PMC devices to perform registers programming
|
||||
to ensure low power in active idle scenario.
|
||||
|
||||
config PM_ACPI_TIMER_OPTIONAL
|
||||
bool
|
||||
default n
|
||||
|
|
|
@ -711,15 +711,6 @@ uint8_t get_pm_pwr_cyc_dur(uint8_t slp_s4_min_assert, uint8_t slp_s3_min_assert,
|
|||
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);
|
||||
}
|
||||
#endif /* PMC_LOW_POWER_MODE_PROGRAM */
|
||||
|
||||
void pmc_set_acpi_mode(void)
|
||||
{
|
||||
if (!CONFIG(NO_SMM) && !acpi_is_wakeup_s3()) {
|
||||
|
|
|
@ -33,7 +33,6 @@ config CPU_SPECIFIC_OPTIONS
|
|||
select PLATFORM_USES_FSP2_1
|
||||
select PM_ACPI_TIMER_OPTIONAL
|
||||
select PMC_GLOBAL_RESET_ENABLE_LOCK
|
||||
select PMC_LOW_POWER_MODE_PROGRAM
|
||||
select SOC_INTEL_COMMON
|
||||
select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
|
||||
select SOC_INTEL_COMMON_BLOCK
|
||||
|
|
|
@ -100,7 +100,7 @@ static void soc_pmc_init(struct device *dev)
|
|||
* Disabling ACPI PM timer also switches off TCO
|
||||
*/
|
||||
if (!CONFIG(USE_PM_ACPI_TIMER))
|
||||
pmc_disable_acpi_timer();
|
||||
setbits8(pmc_mmio_regs() + PCH_PWRM_ACPI_TMR_CTL, ACPI_TIM_DIS);
|
||||
}
|
||||
|
||||
static void pmc_fill_ssdt(const struct device *dev)
|
||||
|
|
|
@ -33,7 +33,6 @@ config CPU_SPECIFIC_OPTIONS
|
|||
select PLATFORM_USES_FSP2_1
|
||||
select PM_ACPI_TIMER_OPTIONAL
|
||||
select PMC_GLOBAL_RESET_ENABLE_LOCK
|
||||
select PMC_LOW_POWER_MODE_PROGRAM
|
||||
select CPU_INTEL_COMMON
|
||||
select SOC_INTEL_COMMON
|
||||
select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
|
||||
|
|
|
@ -74,7 +74,7 @@ static void pmc_init(void *unused)
|
|||
* Disabling ACPI PM timer also switches off TCO
|
||||
*/
|
||||
if (!CONFIG(USE_PM_ACPI_TIMER))
|
||||
pmc_disable_acpi_timer();
|
||||
setbits8(pmc_mmio_regs() + PCH_PWRM_ACPI_TMR_CTL, ACPI_TIM_DIS);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -34,7 +34,6 @@ config CPU_SPECIFIC_OPTIONS
|
|||
select PLATFORM_USES_FSP2_2
|
||||
select PM_ACPI_TIMER_OPTIONAL
|
||||
select PMC_GLOBAL_RESET_ENABLE_LOCK
|
||||
select PMC_LOW_POWER_MODE_PROGRAM
|
||||
select SOC_INTEL_COMMON
|
||||
select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
|
||||
select SOC_INTEL_COMMON_BLOCK
|
||||
|
|
|
@ -100,7 +100,7 @@ static void soc_pmc_init(struct device *dev)
|
|||
* Disabling ACPI PM timer also switches off TCO
|
||||
*/
|
||||
if (!CONFIG(USE_PM_ACPI_TIMER))
|
||||
pmc_disable_acpi_timer();
|
||||
setbits8(pmc_mmio_regs() + PCH_PWRM_ACPI_TMR_CTL, ACPI_TIM_DIS);
|
||||
}
|
||||
|
||||
static void pm1_enable_pwrbtn_smi(void *unused)
|
||||
|
|
|
@ -42,7 +42,6 @@ config CPU_SPECIFIC_OPTIONS
|
|||
select PLATFORM_USES_FSP2_2
|
||||
select PM_ACPI_TIMER_OPTIONAL
|
||||
select PMC_GLOBAL_RESET_ENABLE_LOCK
|
||||
select PMC_LOW_POWER_MODE_PROGRAM
|
||||
select SOC_INTEL_COMMON
|
||||
select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
|
||||
select SOC_INTEL_COMMON_BLOCK
|
||||
|
|
|
@ -159,7 +159,7 @@ static void soc_pmc_init(struct device *dev)
|
|||
* Disabling ACPI PM timer also switches off TCO
|
||||
*/
|
||||
if (!CONFIG(USE_PM_ACPI_TIMER))
|
||||
pmc_disable_acpi_timer();
|
||||
setbits8(pmc_mmio_regs() + PCH_PWRM_ACPI_TMR_CTL, ACPI_TIM_DIS);
|
||||
}
|
||||
|
||||
static void pm1_enable_pwrbtn_smi(void *unused)
|
||||
|
|
Loading…
Reference in New Issue