xref: /aosp_15_r20/external/coreboot/src/mainboard/google/dedede/variants/baseboard/include/baseboard/dibbi/ec.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #ifndef __BASEBOARD_EC_H__
4 #define __BASEBOARD_EC_H__
5 
6 #include <ec/ec.h>
7 #include <ec/google/chromeec/ec_commands.h>
8 #include <baseboard/gpio.h>
9 
10 #define MAINBOARD_EC_SCI_EVENTS \
11 	(EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_THRESHOLD) |\
12 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_START)    |\
13 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_STOP)     |\
14 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_MKBP)              |\
15 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PD_MCU)            |\
16 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC))
17 
18 #define MAINBOARD_EC_SMI_EVENTS 0
19 
20 /* EC can wake from S5 with power button */
21 #define MAINBOARD_EC_S5_WAKE_EVENTS \
22 	 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON))
23 
24 /* EC can wake from S3/S0ix with power button */
25 #define MAINBOARD_EC_S3_WAKE_EVENTS \
26 	(MAINBOARD_EC_S5_WAKE_EVENTS)
27 
28 #define MAINBOARD_EC_S0IX_WAKE_EVENTS \
29 	(MAINBOARD_EC_S3_WAKE_EVENTS |\
30 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_HANG_DETECT))
31 
32 /* Log EC wake events plus EC shutdown events */
33 #define MAINBOARD_EC_LOG_EVENTS \
34 	(EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\
35 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC))
36 
37 /*
38  * ACPI related definitions for ASL code.
39  */
40 
41 /* Enable MKBP for buttons and switches */
42 #define EC_ENABLE_MKBP_DEVICE
43 
44 /* Provide wake pin for EC */
45 #define EC_ENABLE_WAKE_PIN      GPE_EC_WAKE
46 
47 /* Enable EC backed PD MCU device in ACPI */
48 #define EC_ENABLE_PD_MCU_DEVICE
49 
50 #define SIO_EC_MEMMAP_ENABLE     /* EC Memory Map Resources */
51 #define SIO_EC_HOST_ENABLE       /* EC Host Interface Resources */
52 
53 /* Enable EC SYNC IRQ, EC_SYNC_IRQ is defined in baseboard/gpio.h */
54 #define EC_ENABLE_SYNC_IRQ
55 
56 #endif /* __BASEBOARD_EC_H__ */
57