coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ec.h
Go to the documentation of this file.
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>
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_USB_CHARGER) |\
26  EC_HOST_EVENT_MASK(EC_HOST_EVENT_MKBP))
27 
28 #define MAINBOARD_EC_SMI_EVENTS \
29  (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED))
30 
31 /* EC can wake from S5 with lid or power button */
32 #define MAINBOARD_EC_S5_WAKE_EVENTS \
33  (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
34  EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON))
35 
36 /* EC can wake from S3 with lid or power button or key press */
37 #define MAINBOARD_EC_S3_WAKE_EVENTS \
38  (MAINBOARD_EC_S5_WAKE_EVENTS |\
39  EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED))
40 
41 /* Log EC wake events plus EC shutdown events */
42 #define MAINBOARD_EC_LOG_EVENTS \
43  (EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\
44  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN))
45 
46 #endif