soc/intel: convert XTAL frequency constant to Kconfig
This converts the constant for the XTAL frequency to a Kconfig option. Change-Id: I1382dd274eeb9cb748f94c34f5d9a83880624c18 Signed-off-by: Michael Niewöhner <foss@mniewoehner.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/46018 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
committed by
Patrick Georgi
parent
fe6070f728
commit
dadcbfbe8c
@ -180,15 +180,17 @@ int soc_prev_sleep_state(const struct chipset_power_state *ps,
|
||||
|
||||
void enable_pm_timer_emulation(void)
|
||||
{
|
||||
/* ACPI PM timer emulation */
|
||||
msr_t msr;
|
||||
|
||||
if (!CONFIG_CPU_XTAL_HZ)
|
||||
return;
|
||||
|
||||
/*
|
||||
* The derived frequency is calculated as follows:
|
||||
* (CTC_FREQ * msr[63:32]) >> 32 = target frequency.
|
||||
* Back solve the multiplier so the 3.579545MHz ACPI timer
|
||||
* frequency is used.
|
||||
* (clock * msr[63:32]) >> 32 = target frequency.
|
||||
* Back solve the multiplier so the 3.579545MHz ACPI timer frequency is used.
|
||||
*/
|
||||
msr.hi = (3579545ULL << 32) / CTC_FREQ;
|
||||
msr.hi = (3579545ULL << 32) / CONFIG_CPU_XTAL_HZ;
|
||||
/* Set PM1 timer IO port and enable */
|
||||
msr.lo = EMULATE_PM_TMR_EN | (ACPI_BASE_ADDRESS + R_ACPI_PM1_TMR);
|
||||
wrmsr(MSR_EMULATE_PM_TIMER, msr);
|
||||
|
Reference in New Issue
Block a user