blob: 976b621853c37064b4cdc740a211454a956e1bfd [file] [log] [blame]
Marshall Dawsonbeb12882017-05-23 18:57:47 -06001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2012 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.
14 */
15
16#ifndef MAINBOARD_EC_H
17#define MAINBOARD_EC_H
18
19#include <ec/ec.h>
Marshall Dawsonbeb12882017-05-23 18:57:47 -060020#include <ec/google/chromeec/ec_commands.h>
Martin Rothd540d742017-10-23 11:29:35 -060021#include <variant/gpio.h>
Marshall Dawsonbeb12882017-05-23 18:57:47 -060022
23#define MAINBOARD_EC_SCI_EVENTS \
24 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED) |\
25 EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
26 EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
27 EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
28 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_LOW) |\
29 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
30 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY) |\
31 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_THRESHOLD) |\
32 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_START) |\
33 EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_STOP) |\
34 EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_CHARGER) |\
Marc Jonesc8999a72017-11-13 16:20:45 -070035 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PD_MCU) |\
Marshall Dawsonbeb12882017-05-23 18:57:47 -060036 EC_HOST_EVENT_MASK(EC_HOST_EVENT_MKBP) |\
37 EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE))
38
39#define MAINBOARD_EC_SMI_EVENTS \
40 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED))
41
42/* EC can wake from S5 with lid or power button */
43#define MAINBOARD_EC_S5_WAKE_EVENTS \
44 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\
45 EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON))
46
Martin Roth0f1d45c2018-05-02 14:21:32 -060047/* EC can wake from S3 with lid or power button or key press */
Marshall Dawsonbeb12882017-05-23 18:57:47 -060048#define MAINBOARD_EC_S3_WAKE_EVENTS \
49 (MAINBOARD_EC_S5_WAKE_EVENTS |\
Martin Roth0f1d45c2018-05-02 14:21:32 -060050 EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED))
Marshall Dawsonbeb12882017-05-23 18:57:47 -060051
52/* Log EC wake events plus EC shutdown events */
53#define MAINBOARD_EC_LOG_EVENTS \
54 (EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\
55 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN) |\
56 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC))
57
Marc Jonesa8754bd2017-06-18 17:35:27 -060058/* Enable LID switch */
59#define EC_ENABLE_LID_SWITCH
Daniel Kurtzd6487302018-04-18 17:57:09 -060060#define EC_ENABLE_WAKE_PIN EC_WAKE_GPI
Marc Jonesa8754bd2017-06-18 17:35:27 -060061
Akshu Agrawalf7cd2f52017-08-21 14:21:30 +053062/* Enable EC backed ALS device in ACPI */
63#define EC_ENABLE_ALS_DEVICE
64
Marc Jonesc8999a72017-11-13 16:20:45 -070065/* Enable EC backed PD MCU device in ACPI */
66#define EC_ENABLE_PD_MCU_DEVICE
67
Marc Jonesa8754bd2017-06-18 17:35:27 -060068#define SIO_EC_MEMMAP_ENABLE /* EC Memory Map Resources */
69#define SIO_EC_HOST_ENABLE /* EC Host Interface Resources */
70#define SIO_EC_ENABLE_PS2K /* Enable PS/2 Keyboard */
Marc Jonesa8754bd2017-06-18 17:35:27 -060071
Marshall Dawsonbeb12882017-05-23 18:57:47 -060072#endif