From fb5b63bf0c515dc19f831fd7ae884a2b58163e30 Mon Sep 17 00:00:00 2001 From: Reka Norman Date: Wed, 13 Sep 2023 15:10:21 +1000 Subject: [PATCH] mb/google/dedede: Use a separate ec.h for dibbi variants Dibbi variants are chromeboxes, so they need different settings in ec.h. Add a new dibbi baseboard ec.h and use it for dibbi variants. For now it's identical to the dedede baseboard ec.h. It will be updated in the following CL. BUG=b:294963793 TEST=With the following CL, boot dibbi and check the APCI tables no longer contain lid and PS/2 keyboard devices. Change-Id: I4075041ab8f02026623d1a26a555bee5eb09e77b Signed-off-by: Reka Norman Reviewed-on: https://review.coreboot.org/c/coreboot/+/77782 Reviewed-by: Eric Lai Reviewed-by: Sam McNally Tested-by: build bot (Jenkins) Reviewed-by: Sheng-Liang Pan --- .../baseboard/include/baseboard/dibbi/ec.h | 84 +++++++++++++++++++ .../dedede/variants/boxy/include/variant/ec.h | 2 +- .../variants/dibbi/include/variant/ec.h | 2 +- .../variants/taranza/include/variant/ec.h | 2 +- 4 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 src/mainboard/google/dedede/variants/baseboard/include/baseboard/dibbi/ec.h diff --git a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/dibbi/ec.h b/src/mainboard/google/dedede/variants/baseboard/include/baseboard/dibbi/ec.h new file mode 100644 index 0000000000..1e4ac0bbb7 --- /dev/null +++ b/src/mainboard/google/dedede/variants/baseboard/include/baseboard/dibbi/ec.h @@ -0,0 +1,84 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#ifndef __BASEBOARD_EC_H__ +#define __BASEBOARD_EC_H__ + +#include +#include +#include + +#define MAINBOARD_EC_SCI_EVENTS \ + (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_LOW) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_STATUS) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_THRESHOLD) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_START) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_THROTTLE_STOP) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_MKBP) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_PD_MCU) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC)) + +#define MAINBOARD_EC_SMI_EVENTS \ + (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED)) + +/* EC can wake from S5 with lid or power button */ +#define MAINBOARD_EC_S5_WAKE_EVENTS \ + (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON)) + +/* + * EC can wake from S3/S0ix with: + * 1. Lid open + * 2. Power button + * 3. Key press + * 4. Mode change + * 5. AC Connect/Disconnect + * 6. Low battery + */ +#define MAINBOARD_EC_S3_WAKE_EVENTS \ + (MAINBOARD_EC_S5_WAKE_EVENTS |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE)) + +#define MAINBOARD_EC_S0IX_WAKE_EVENTS \ + (MAINBOARD_EC_S3_WAKE_EVENTS |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_HANG_DETECT)) + +/* Log EC wake events plus EC shutdown events */ +#define MAINBOARD_EC_LOG_EVENTS \ + (EC_HOST_EVENT_MASK(EC_HOST_EVENT_THERMAL_SHUTDOWN) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC)) + +/* + * ACPI related definitions for ASL code. + */ + +/* Enable MKBP for buttons and switches */ +#define EC_ENABLE_MKBP_DEVICE + +/* Enable LID switch and provide wake pin for EC */ +#define EC_ENABLE_LID_SWITCH +#define EC_ENABLE_WAKE_PIN GPE_EC_WAKE + +/* Enable EC backed PD MCU device in ACPI */ +#define EC_ENABLE_PD_MCU_DEVICE + +#define SIO_EC_MEMMAP_ENABLE /* EC Memory Map Resources */ +#define SIO_EC_HOST_ENABLE /* EC Host Interface Resources */ +#define SIO_EC_ENABLE_PS2K /* Enable PS/2 Keyboard */ + +/* Enable EC SYNC IRQ, EC_SYNC_IRQ is defined in baseboard/gpio.h */ +#define EC_ENABLE_SYNC_IRQ + +#endif /* __BASEBOARD_EC_H__ */ diff --git a/src/mainboard/google/dedede/variants/boxy/include/variant/ec.h b/src/mainboard/google/dedede/variants/boxy/include/variant/ec.h index 08870e0627..039e46ba14 100644 --- a/src/mainboard/google/dedede/variants/boxy/include/variant/ec.h +++ b/src/mainboard/google/dedede/variants/boxy/include/variant/ec.h @@ -3,6 +3,6 @@ #ifndef MAINBOARD_EC_H #define MAINBOARD_EC_H -#include +#include #endif diff --git a/src/mainboard/google/dedede/variants/dibbi/include/variant/ec.h b/src/mainboard/google/dedede/variants/dibbi/include/variant/ec.h index 08870e0627..039e46ba14 100644 --- a/src/mainboard/google/dedede/variants/dibbi/include/variant/ec.h +++ b/src/mainboard/google/dedede/variants/dibbi/include/variant/ec.h @@ -3,6 +3,6 @@ #ifndef MAINBOARD_EC_H #define MAINBOARD_EC_H -#include +#include #endif diff --git a/src/mainboard/google/dedede/variants/taranza/include/variant/ec.h b/src/mainboard/google/dedede/variants/taranza/include/variant/ec.h index 08870e0627..039e46ba14 100644 --- a/src/mainboard/google/dedede/variants/taranza/include/variant/ec.h +++ b/src/mainboard/google/dedede/variants/taranza/include/variant/ec.h @@ -3,6 +3,6 @@ #ifndef MAINBOARD_EC_H #define MAINBOARD_EC_H -#include +#include #endif