aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/amd/picasso/include/soc/smi.h1
-rw-r--r--src/soc/amd/picasso/psp.c6
2 files changed, 4 insertions, 3 deletions
diff --git a/src/soc/amd/picasso/include/soc/smi.h b/src/soc/amd/picasso/include/soc/smi.h
index a629fc5541..0529ef6877 100644
--- a/src/soc/amd/picasso/include/soc/smi.h
+++ b/src/soc/amd/picasso/include/soc/smi.h
@@ -160,6 +160,7 @@
#define SMI_TIMER_EN (1 << 15)
#define SMI_REG_SMITRIG0 0x98
+# define SMITRIG0_PSP (1 << 25)
# define SMITRG0_EOS (1 << 28)
# define SMI_TIMER_SEL (1 << 29)
# define SMITRG0_SMIENB (1 << 31)
diff --git a/src/soc/amd/picasso/psp.c b/src/soc/amd/picasso/psp.c
index e40d395637..702b0d9d96 100644
--- a/src/soc/amd/picasso/psp.c
+++ b/src/soc/amd/picasso/psp.c
@@ -27,11 +27,11 @@ void soc_fill_smm_trig_info(struct smm_trigger_info *trig)
if (!trig)
return;
- trig->address = (uintptr_t)acpimmio_smi + SMI_REG_CONTROL2;
+ trig->address = (uintptr_t)acpimmio_smi + SMI_REG_SMITRIG0;
trig->address_type = SMM_TRIGGER_MEM;
trig->value_width = SMM_TRIGGER_DWORD;
- trig->value_and_mask = 0xfdffffff;
- trig->value_or_mask = 0x02000000;
+ trig->value_and_mask = ~SMITRIG0_PSP;
+ trig->value_or_mask = SMITRIG0_PSP;
}
void soc_fill_smm_reg_info(struct smm_register_info *reg)