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-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_LID_CLOSED) |\
12
EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
13
EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
14
EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
15
EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_LOW) |\
16
EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
17
EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY) |\
18
EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_STATUS) |\
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
EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_CHARGER) |\
23
EC_HOST_EVENT_MASK(EC_HOST_EVENT_MKBP) |\
24
EC_HOST_EVENT_MASK(EC_HOST_EVENT_PD_MCU) |\
25
EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE) |\
26
EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_MUX))
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
/*
37
* EC can wake from S3/S0ix with:
38
* 1. Lid open
39
* 2. Power button
40
* 3. AC Connect/Disconnect
41
* 4. Key press
42
* 5. Mode change
43
*/
44
#define MAINBOARD_EC_S3_WAKE_EVENTS \
45
(MAINBOARD_EC_S5_WAKE_EVENTS |\
46
EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
47
EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
48
EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\
49
EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE))
50
51
#define MAINBOARD_EC_S0IX_WAKE_EVENTS \
52
(MAINBOARD_EC_S3_WAKE_EVENTS |\
53
EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_MUX) |\
54
EC_HOST_EVENT_MASK(EC_HOST_EVENT_HANG_DETECT))
55
56
/* Log EC wake events plus EC shutdown events */
57
#define MAINBOARD_EC_LOG_EVENTS \
58
(EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\
59
EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN) |\
60
EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC))
61
62
/*
63
* ACPI related definitions for ASL code.
64
*/
65
/* Enable EC backed ALS device in ACPI */
66
#define EC_ENABLE_ALS_DEVICE
67
68
/* Enable Keyboard Backlight */
69
#define EC_ENABLE_KEYBOARD_BACKLIGHT
70
71
/* Enable MKBP for buttons and switches */
72
#define EC_ENABLE_MKBP_DEVICE
73
74
/* Enable LID switch and provide wake pin for EC */
75
#define EC_ENABLE_LID_SWITCH
76
#define EC_ENABLE_WAKE_PIN GPE_EC_WAKE
77
78
/* Enable EC backed PD MCU device in ACPI */
79
#define EC_ENABLE_PD_MCU_DEVICE
80
81
#define SIO_EC_MEMMAP_ENABLE
/* EC Memory Map Resources */
82
#define SIO_EC_HOST_ENABLE
/* EC Host Interface Resources */
83
#define SIO_EC_ENABLE_PS2K
/* Enable PS/2 Keyboard */
84
85
#define EC_ENABLE_SYNC_IRQ
/* Enable tight timestamp support */
86
87
#endif
/* __BASEBOARD_EC_H__ */
ec_commands.h
src
mainboard
google
brya
variants
baseboard
nissa
include
baseboard
ec.h
Generated by
1.9.1