• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef MAINBOARD_EC_H
4 #define MAINBOARD_EC_H
5 
6 #include <ec/ec.h>
7 #include <ec/google/chromeec/ec_commands.h>
8 
9 /* GPIO_S0_000 is EC_SCI#, but it is bit 24 in GPE_STS */
10 #define EC_SCI_GPI   24
11 /* GPIO_S5_07 is EC_SMI#, but it is bit 23 in GPE_STS and ALT_GPIO_SMI. */
12 #define EC_SMI_GPI   23
13 
14 #define MAINBOARD_EC_SCI_EVENTS \
15 	(EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED)        |\
16 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN)          |\
17 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED)      |\
18 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED)   |\
19 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_LOW)       |\
20 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL)  |\
21 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY)           |\
22 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_THRESHOLD) |\
23 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_START)    |\
24 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_STOP)     |\
25 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_MKBP))
26 
27 #define MAINBOARD_EC_SMI_EVENTS \
28 	(EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED))
29 
30 /* EC can wake from S5 with lid or power button */
31 #define MAINBOARD_EC_S5_WAKE_EVENTS \
32 	(EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN)     |\
33 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON))
34 
35 /* EC can wake from S3 with lid or power button or key press */
36 #define MAINBOARD_EC_S3_WAKE_EVENTS \
37 	(MAINBOARD_EC_S5_WAKE_EVENTS |\
38 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED))
39 
40 /* Log EC wake events plus EC shutdown events */
41 #define MAINBOARD_EC_LOG_EVENTS \
42 	(EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\
43 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN))
44 
45 #endif
46