blob: ca85fca06f30dfa2bae1f6cb8a8a1df27de2b507 [file] [log] [blame]
Duncan Laurieddc3e422013-10-02 16:10:54 -07001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2013 Google Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
Duncan Laurieddc3e422013-10-02 16:10:54 -070014 */
15
16#ifndef MAINBOARD_EC_H
17#define MAINBOARD_EC_H
18
19#include <ec/google/chromeec/ec_commands.h>
20
Duncan Laurieddc3e422013-10-02 16:10:54 -070021#define EC_SCI_GPI 36 /* GPIO36 is EC_SCI# */
22#define EC_SMI_GPI 34 /* GPIO34 is EC_SMI# */
23
24#define MAINBOARD_EC_SCI_EVENTS \
25 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED) |\
26 EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
27 EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
28 EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
29 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_LOW) |\
30 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
31 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY) |\
Duncan Laurie1247b872014-09-29 08:35:29 -070032 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_STATUS) |\
Duncan Laurieddc3e422013-10-02 16:10:54 -070033 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_THRESHOLD) |\
34 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_OVERLOAD) |\
35 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_START) |\
36 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_STOP) |\
Shawn Nematbakhsh841c9da2014-08-28 11:39:53 -070037 EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_CHARGER) |\
38 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PD_MCU))
Duncan Laurieddc3e422013-10-02 16:10:54 -070039
40#define MAINBOARD_EC_SMI_EVENTS \
41 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED))
42
43/* EC can wake from S5 with lid or power button */
44#define MAINBOARD_EC_S5_WAKE_EVENTS \
45 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
46 EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON))
47
48/* EC can wake from S3 with lid or power button or key press */
49#define MAINBOARD_EC_S3_WAKE_EVENTS \
50 (MAINBOARD_EC_S5_WAKE_EVENTS |\
51 EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED))
52
53/* Log EC wake events plus EC shutdown events */
54#define MAINBOARD_EC_LOG_EVENTS \
55 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\
Shawn Nematbakhsh555f7112015-02-23 15:14:54 -080056 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN) |\
57 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC))
Duncan Laurieddc3e422013-10-02 16:10:54 -070058
59#ifndef __ACPI__
60extern void mainboard_ec_init(void);
61#endif
62
63#endif