diff options
author | Jon Murphy <jpmurphy@google.com> | 2022-04-18 13:19:23 -0600 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-04-27 11:33:48 +0000 |
commit | 3f62507de02d29df27e730eda7b01f142d0f47c1 (patch) | |
tree | 5c7259a7782b639d6398712017b5689268aab345 | |
parent | 5a5de338e6c8cf15f9f5481821cd15729bd8e1f1 (diff) |
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 <jpmurphy@google.com>
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Change-Id: I7e9816d67500365ed1d2ee39ef184a1f60321ca1
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63704
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
4 files changed, 9 insertions, 4 deletions
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 <amdblocks/acpimmio.h> #include <amdblocks/amd_pci_util.h> #include <baseboard/variants.h> #include <console/console.h> @@ -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 |