From 3f62507de02d29df27e730eda7b01f142d0f47c1 Mon Sep 17 00:00:00 2001 From: Jon Murphy Date: Mon, 18 Apr 2022 13:19:23 -0600 Subject: mb/google/skyrim: Fix eSPI configuration * Use GPE 24 since it doesn't conflict with any existing GEVENTS. * Remove IRQ 12 mapping since it's not used. * Unmask IRQ1 in PM registers. * Use the new SMITYPE_ESPI_SCI_B SCI. BUG=b:227282870 TEST=Build and boot to OS in Skyrim. Signed-off-by: Jon Murphy Signed-off-by: Raul E Rangel Change-Id: I7e9816d67500365ed1d2ee39ef184a1f60321ca1 Reviewed-on: https://review.coreboot.org/c/coreboot/+/63704 Tested-by: build bot (Jenkins) Reviewed-by: Karthik Ramasubramanian --- src/mainboard/google/skyrim/ec.c | 4 ++-- src/mainboard/google/skyrim/mainboard.c | 5 +++++ src/mainboard/google/skyrim/variants/baseboard/devicetree.cb | 2 +- .../google/skyrim/variants/baseboard/include/baseboard/ec.h | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src/mainboard/google') diff --git a/src/mainboard/google/skyrim/ec.c b/src/mainboard/google/skyrim/ec.c index bc29833713..05994eb4c2 100644 --- a/src/mainboard/google/skyrim/ec.c +++ b/src/mainboard/google/skyrim/ec.c @@ -10,8 +10,8 @@ static const struct sci_source espi_sci_sources[] = { { - .scimap = SMITYPE_ESPI_SYS, - .gpe = GEVENT_3, + .scimap = SMITYPE_ESPI_SCI_B, + .gpe = EC_SCI_GPI, .direction = SMI_SCI_LVL_HIGH, /* enum smi_sci_lvl */ .level = SMI_SCI_EDG, /* enum smi_sci_dir */ } diff --git a/src/mainboard/google/skyrim/mainboard.c b/src/mainboard/google/skyrim/mainboard.c index 7c89f49b48..cb91555f71 100644 --- a/src/mainboard/google/skyrim/mainboard.c +++ b/src/mainboard/google/skyrim/mainboard.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ +#include #include #include #include @@ -111,6 +112,10 @@ static void mainboard_enable(struct device *dev) init_tables(); /* Initialize the PIRQ data structures for consumption */ pirq_setup(); + + /* TODO: b/184678786 - Move into espi_config */ + /* Unmask eSPI IRQ 1 (Keyboard) */ + pm_write32(PM_ESPI_INTR_CTRL, PM_ESPI_DEV_INTR_MASK & ~(BIT(1))); } struct chip_operations mainboard_ops = { diff --git a/src/mainboard/google/skyrim/variants/baseboard/devicetree.cb b/src/mainboard/google/skyrim/variants/baseboard/devicetree.cb index a6894eefa4..f0d103957d 100644 --- a/src/mainboard/google/skyrim/variants/baseboard/devicetree.cb +++ b/src/mainboard/google/skyrim/variants/baseboard/devicetree.cb @@ -35,7 +35,7 @@ chip soc/amd/sabrina .oob_ch_en = 0, .flash_ch_en = 0, - .vw_irq_polarity = ESPI_VW_IRQ_LEVEL_HIGH(1) | ESPI_VW_IRQ_LEVEL_HIGH(12), + .vw_irq_polarity = ESPI_VW_IRQ_LEVEL_HIGH(1), }" register "i2c_scl_reset" = "GPIO_I2C0_SCL | GPIO_I2C1_SCL | diff --git a/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h b/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h index d66d3cb775..f10146dafc 100644 --- a/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h +++ b/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h @@ -52,7 +52,7 @@ */ /* Set GPI for SCI */ -#define EC_SCI_GPI GEVENT_3 /* eSPI system event -> GPE 3 */ +#define EC_SCI_GPI GEVENT_24 /* eSPI system event -> GPE 24 */ /* Enable LID switch and provide wake pin for EC */ #define EC_ENABLE_LID_SWITCH -- cgit v1.2.3