diff options
Diffstat (limited to 'src/soc/intel/apollolake/romstage.c')
-rw-r--r-- | src/soc/intel/apollolake/romstage.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/soc/intel/apollolake/romstage.c b/src/soc/intel/apollolake/romstage.c index 6d04878d7c..79b3cfd7f9 100644 --- a/src/soc/intel/apollolake/romstage.c +++ b/src/soc/intel/apollolake/romstage.c @@ -31,6 +31,7 @@ #include <fsp/api.h> #include <fsp/memmap.h> #include <fsp/util.h> +#include <intelblocks/cpulib.h> #include <intelblocks/systemagent.h> #include <reset.h> #include <soc/cpu.h> @@ -188,6 +189,27 @@ static bool punit_init(void) return true; } +void set_max_freq(void) +{ + if (cpu_get_burst_mode_state() == BURST_MODE_UNAVAILABLE) { + /* Burst Mode has been factory configured as disabled + * and is not available in this physical processor + * package. + */ + printk(BIOS_DEBUG, "Burst Mode is factory disabled\n"); + return; + } + + /* Enable burst mode */ + cpu_enable_burst_mode(); + + /* Enable speed step. */ + cpu_enable_eist(); + + /* Set P-State ratio */ + cpu_set_p_state_to_turbo_ratio(); +} + asmlinkage void car_stage_entry(void) { struct postcar_frame pcf; |