blob: 9da9d9f0b2277a924d05e98292adfdf5203a99a7 [file] [log] [blame]
Lee Leahyc4210412015-06-29 11:37:56 -07001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2015 Google Inc.
5 * Copyright (C) 2015 Intel Corporation
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc.
19 */
20
21#ifndef MAINBOARD_EC_H
22#define MAINBOARD_EC_H
23
24#include <ec/google/chromeec/ec_commands.h>
25
26/* GPP_E16 is EC_SCI_L */
27#define EC_SCI_GPI 16 /* TODO: Update this */
28/* GPP_E15 is EC_SMI_L */
29#define EC_SMI_GPI 15 /* TODO: Update this */
30
31#define MAINBOARD_EC_SCI_EVENTS \
32 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED) |\
33 EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
34 EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
35 EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
36 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_LOW) |\
37 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
38 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY) |\
39 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_STATUS) |\
40 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_THRESHOLD) |\
41 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_OVERLOAD) |\
42 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_START) |\
43 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_STOP) |\
44 EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_CHARGER) |\
45 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PD_MCU))
46
47#define MAINBOARD_EC_SMI_EVENTS \
48 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED))
49
50/* EC can wake from S5 with lid or power button */
51#define MAINBOARD_EC_S5_WAKE_EVENTS \
52 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
53 EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON))
54
55/* EC can wake from S3 with lid or power button or key press */
56#define MAINBOARD_EC_S3_WAKE_EVENTS \
57 (MAINBOARD_EC_S5_WAKE_EVENTS |\
58 EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED))
59
60/* Log EC wake events plus EC shutdown events */
61#define MAINBOARD_EC_LOG_EVENTS \
62 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\
63 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN)|\
64 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC))
65
66#ifndef __ACPI__
67extern void mainboard_ec_init(void);
68#endif
69
70#endif