1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 3 /* 4 * Utilities for SMI handlers and SMM setup 5 */ 6 7 #ifndef _SOUTHBRIDGE_AMD_PI_HUDSON_SMI_H 8 #define _SOUTHBRIDGE_AMD_PI_HUDSON_SMI_H 9 10 #include <device/mmio.h> 11 12 /* ACPI_MMIO_BASE + 0x200 -- leave this string here so grep catches it. 13 * This is defined by AGESA, but we dpn't include AGESA headers to avoid 14 * polluting the namesace. 15 */ 16 #define SMI_BASE 0xfed80200 17 18 #define SMI_REG_SMITRIG0 0x98 19 #define SMITRG0_EOS (1 << 28) 20 #define SMITRG0_SMIENB (1 << 31) 21 22 #define SMI_REG_CONTROL0 0xa0 23 24 enum smi_mode { 25 SMI_MODE_DISABLE = 0, 26 SMI_MODE_SMI = 1, 27 SMI_MODE_NMI = 2, 28 SMI_MODE_IRQ13 = 3, 29 }; 30 31 enum smi_lvl { 32 SMI_LVL_LOW = 0, 33 SMI_LVL_HIGH = 1, 34 }; 35 36 void hudson_configure_gevent_smi(uint8_t gevent, uint8_t mode, uint8_t level); 37 void hudson_disable_gevent_smi(uint8_t gevent); 38 void hudson_enable_acpi_cmd_smi(void); 39 40 #endif /* _SOUTHBRIDGE_AMD_PI_HUDSON_SMI_H */ 41