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 
7 
8 #define MAINBOARD_EC_SCI_EVENTS \
9  (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED) |\
10  EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
11  EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
12  EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
13  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_LOW) |\
14  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
15  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY) |\
16  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_STATUS) |\
17  EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_THRESHOLD) |\
18  EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_START) |\
19  EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_STOP) |\
20  EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_CHARGER) |\
21  EC_HOST_EVENT_MASK(EC_HOST_EVENT_MKBP) |\
22  EC_HOST_EVENT_MASK(EC_HOST_EVENT_PD_MCU) |\
23  EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE))
24 
25 #define MAINBOARD_EC_SMI_EVENTS \
26  (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED))
27 
28 /* EC can wake from S5 with lid or power button */
29 #define MAINBOARD_EC_S5_WAKE_EVENTS \
30  (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
31  EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON))
32 
33 /*
34  * EC can wake from S3/S0ix with:
35  * 1. Lid open
36  * 2. Power button
37  * 3. AC power supply connected
38  * 4. AC power supply disconnected
39  * 5. Key press
40  * 6. Mode change
41  */
42 #define MAINBOARD_EC_S3_WAKE_EVENTS \
43  (MAINBOARD_EC_S5_WAKE_EVENTS |\
44  EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
45  EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
46  EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\
47  EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE))
48 
49 #define MAINBOARD_EC_S0IX_WAKE_EVENTS (MAINBOARD_EC_S3_WAKE_EVENTS)
50 
51 /* Log EC wake events plus EC shutdown events */
52 #define MAINBOARD_EC_LOG_EVENTS \
53  (EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\
54  EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN)|\
55  EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC))
56 
57 /*
58  * ACPI related definitions for ASL code.
59  */
60 
61 /* Enable LID switch and provide wake pin for EC */
62 #define EC_ENABLE_LID_SWITCH
63 #define EC_ENABLE_WAKE_PIN GPE_EC_WAKE
64 
65 /* Enable Tablet switch */
66 #define EC_ENABLE_TBMC_DEVICE
67 
68 /* Enable EC backed PD MCU device in ACPI */
69 #define EC_ENABLE_PD_MCU_DEVICE
70 
71 #define SIO_EC_MEMMAP_ENABLE /* EC Memory Map Resources */
72 #define SIO_EC_HOST_ENABLE /* EC Host Interface Resources */
73 #define SIO_EC_ENABLE_PS2K /* Enable PS/2 Keyboard */
74 
75 /* Enable EC sync interrupt, EC_SYNC_IRQ is defined in baseboard/gpio.h */
76 #define EC_ENABLE_SYNC_IRQ
77 
78 #endif