1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #ifndef AMD_BLOCK_SMI_H
4 #define AMD_BLOCK_SMI_H
32 struct smi_sources_t
{
34 void (*handler
)(void);
38 uint8_t scimap
; /* SCI source number */
39 uint8_t gpe
; /* 32 GPEs */
40 uint8_t direction
; /* Active High or Low, smi_sci_lvl */
41 uint8_t level
; /* Edge or Level, smi_sci_dir */
44 void configure_smi(uint8_t smi_num
, uint8_t mode
);
45 void configure_gevent_smi(uint8_t gevent
, uint8_t mode
, uint8_t level
);
46 void configure_scimap(const struct sci_source
*sci
);
47 void disable_gevent_smi(uint8_t gevent
);
48 void gpe_configure_sci(const struct sci_source
*scis
, size_t num_gpes
);
49 void clear_all_smi_status(void);
50 void clear_smi_sci_status(void);
51 void reset_psp_smi(void);
52 void configure_psp_smi(void);
54 #endif /* AMD_BLOCK_SMI_H */