/ src / mainboard / google / kahlee / smihandler.c
smihandler.c
 1  /* SPDX-License-Identifier: GPL-2.0-only */
 2  
 3  #include <cpu/x86/smm.h>
 4  #include <ec/google/chromeec/smm.h>
 5  #include <gpio.h>
 6  #include <soc/smi.h>
 7  #include <variant/ec.h>
 8  #include <variant/gpio.h>
 9  
10  void mainboard_smi_gpi(u32 gpi_sts)
11  {
12  	if (CONFIG(EC_GOOGLE_CHROMEEC))
13  		if (gpi_sts & (1 << EC_SMI_GPI))
14  			chromeec_smi_process_events();
15  }
16  
17  void mainboard_smi_sleep(u8 slp_typ)
18  {
19  	if (CONFIG(EC_GOOGLE_CHROMEEC))
20  		chromeec_smi_sleep(slp_typ, MAINBOARD_EC_S3_WAKE_EVENTS,
21  					MAINBOARD_EC_S5_WAKE_EVENTS);
22  }
23  
24  int mainboard_smi_apmc(u8 apmc)
25  {
26  	if (CONFIG(EC_GOOGLE_CHROMEEC))
27  		chromeec_smi_apmc(apmc, MAINBOARD_EC_SCI_EVENTS,
28  					MAINBOARD_EC_SMI_EVENTS);
29  
30  	/* Enable backlight - GPIO active low */
31  	gpio_set(GPIO_133, 0);
32  
33  	return 0;
34  }