blob: 4e35ac959738ea18b87ea9de3cc80c517d909aa8 [file] [log] [blame]
Lee Leahy5cb9dda2015-05-01 10:34:54 -07001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2012 Google Inc.
5 * Copyright (C) 2015 Intel Corp.
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.
Lee Leahy5cb9dda2015-05-01 10:34:54 -070015 */
16
17#ifndef MAINBOARD_EC_H
18#define MAINBOARD_EC_H
19
Aaron Durbin91fa9d72016-09-23 16:38:27 -050020#include <ec/ec.h>
Lee Leahy5cb9dda2015-05-01 10:34:54 -070021#include <ec/google/chromeec/ec_commands.h>
22
23/* GPIO_S0_000 is EC_SCI#, but it is bit 16 in GPE_STS */
24#define EC_SCI_GPI 16
25/* GPIO_S5_07 is EC_SMI#, but it is bit 19 in GPE_STS and ALT_GPIO_SMI. */
26#define EC_SMI_GPI 19
27
28#define MAINBOARD_EC_SCI_EVENTS \
29 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED) |\
30 EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
31 EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
32 EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
33 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_LOW) |\
34 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
35 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY) |\
36 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_STATUS) |\
37 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_THRESHOLD) |\
38 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_OVERLOAD) |\
39 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_START) |\
40 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_STOP) |\
Gwendal Grignou95b7a6c2016-05-03 23:53:23 -070041 EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_CHARGER) |\
42 EC_HOST_EVENT_MASK(EC_HOST_EVENT_MKBP))
Lee Leahy5cb9dda2015-05-01 10:34:54 -070043
44#define MAINBOARD_EC_SMI_EVENTS \
45 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED))
46
47/* EC can wake from S5 with lid or power button */
48#define MAINBOARD_EC_S5_WAKE_EVENTS \
49 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
50 EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON))
51
52/* EC can wake from S3 with lid or power button or key press */
53#define MAINBOARD_EC_S3_WAKE_EVENTS \
54 (MAINBOARD_EC_S5_WAKE_EVENTS |\
55 EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED))
56
57/* Log EC wake events plus EC shutdown events */
58#define MAINBOARD_EC_LOG_EVENTS \
59 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\
60 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN)|\
61 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC))
62
Lee Leahy5cb9dda2015-05-01 10:34:54 -070063#endif