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 __BASEBOARD_EC_H__
4 #define __BASEBOARD_EC_H__
5 
6 #include <ec/ec.h>
8 
9 #include <variant/gpio.h>
10 
11 #define MAINBOARD_EC_SCI_EVENTS \
12  (EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
13  EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
14  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_LOW) |\
15  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
16  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY) |\
17  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_STATUS) |\
18  EC_HOST_EVENT_MASK(EC_HOST_EVENT_MKBP) |\
19  EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_THRESHOLD) |\
20  EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_START) |\
21  EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_STOP))
22 
23 /* EC can wake from S5 with lid or power button */
24 #define MAINBOARD_EC_S5_WAKE_EVENTS \
25  (EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON))
26 
27 /*
28  * EC can wake from S3 with lid or power button or key press or
29  * mode change event.
30  */
31 #define MAINBOARD_EC_S3_WAKE_EVENTS \
32  (MAINBOARD_EC_S5_WAKE_EVENTS |\
33  EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED))
34 
35 /* Log EC wake events plus EC shutdown events */
36 #define MAINBOARD_EC_LOG_EVENTS \
37  (EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\
38  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN) |\
39  EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC))
40 
41 /*
42  * ACPI related definitions for ASL code.
43  */
44 
45 /* Enable EC backed ALS device in ACPI */
46 #define EC_ENABLE_ALS_DEVICE
47 
48 /* Provide wake pin for EC */
49 #define EC_ENABLE_WAKE_PIN GPE_EC_WAKE
50 
51 #define SIO_EC_MEMMAP_ENABLE /* EC Memory Map Resources */
52 #define SIO_EC_HOST_ENABLE /* EC Host Interface Resources */
53 
54 #define EC_ENABLE_MKBP_DEVICE /* Enable cros_ec_keyb device */
55 
56 #endif