diff options
author | Reka Norman <rekanorman@chromium.org> | 2023-09-13 15:10:21 +1000 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-09-14 11:55:21 +0000 |
commit | fb5b63bf0c515dc19f831fd7ae884a2b58163e30 (patch) | |
tree | bba217ac8b4ba9eae226f84690f1f7ee65b4226f | |
parent | c2830c96616c689502401f31be7279e54a35d449 (diff) |
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 <rekanorman@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/77782
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Sam McNally <sammc@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sheng-Liang Pan <sheng-liang.pan@quanta.corp-partner.google.com>
4 files changed, 87 insertions, 3 deletions
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 <ec/ec.h> +#include <ec/google/chromeec/ec_commands.h> +#include <baseboard/gpio.h> + +#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 <baseboard/ec.h> +#include <baseboard/dibbi/ec.h> #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 <baseboard/ec.h> +#include <baseboard/dibbi/ec.h> #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 <baseboard/ec.h> +#include <baseboard/dibbi/ec.h> #endif |