aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/braswell
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/braswell')
-rw-r--r--src/soc/intel/braswell/cpu.c7
-rw-r--r--src/soc/intel/braswell/smm.c8
2 files changed, 12 insertions, 3 deletions
diff --git a/src/soc/intel/braswell/cpu.c b/src/soc/intel/braswell/cpu.c
index 19cc546239..861f160eb8 100644
--- a/src/soc/intel/braswell/cpu.c
+++ b/src/soc/intel/braswell/cpu.c
@@ -188,6 +188,11 @@ static void relocation_handler(int cpu, uintptr_t curr_smbase, uintptr_t stagger
smm_state->smbase = staggered_smbase;
}
+static void post_mp_init(void)
+{
+ global_smi_enable();
+}
+
static const struct mp_ops mp_ops = {
.pre_mp_init = pre_mp_init,
.get_cpu_count = get_cpu_count,
@@ -196,7 +201,7 @@ static const struct mp_ops mp_ops = {
.pre_mp_smm_init = smm_southbridge_clear_state,
.per_cpu_smm_trigger = per_cpu_smm_trigger,
.relocation_handler = relocation_handler,
- .post_mp_init = smm_southbridge_enable_smi,
+ .post_mp_init = post_mp_init,
};
void soc_init_cpus(struct device *dev)
diff --git a/src/soc/intel/braswell/smm.c b/src/soc/intel/braswell/smm.c
index 5be4346661..e3ebc32304 100644
--- a/src/soc/intel/braswell/smm.c
+++ b/src/soc/intel/braswell/smm.c
@@ -70,9 +70,8 @@ static void smm_southcluster_route_gpios(void)
outl(alt_gpio_reg, alt_gpio_smi);
}
-void smm_southbridge_enable_smi(void)
+static void smm_southbridge_enable(uint16_t pm1_events)
{
- uint16_t pm1_events = PWRBTN_EN | GBL_EN;
printk(BIOS_DEBUG, "Enabling SMIs.\n");
if (!smm_save_params[SMM_SAVE_PARAM_PCIE_WAKE_ENABLE])
@@ -96,6 +95,11 @@ void smm_southbridge_enable_smi(void)
enable_smi(APMC_EN | SLP_SMI_EN | GBL_SMI_EN | EOS);
}
+void global_smi_enable(void)
+{
+ smm_southbridge_enable(PWRBTN_EN | GBL_EN);
+}
+
void smm_setup_structures(void *gnvs, void *tcg, void *smi1)
{
/*