From a459d360e45ac19295ab01a5f5df21e130dbe949 Mon Sep 17 00:00:00 2001 From: Subrata Banik Date: Tue, 26 Jul 2022 12:54:57 +0000 Subject: [PATCH] soc/intel/meteorlake: Fix GPIO reset mapping as per GPIO BWG This patch fixes the documentation discrepancy of GPIO reset type between PCH EDS and GPIO BWG. As per GPIO BWG, there are four GPIO reset types in Meteor Lake as below: - Power Good - (Value 00) - Deep - (Value 01) - Host Reset/PLTRST - (Value 10) - Global Reset for GPP - (Value 11) Also, dropped the need for having dedicated reset type for GPIO community 3. As per the MTL EDS, all GPIO communities have the same reset type. BUG=b:213293047 TEST=Able to build and boot Google/Rex without below error msg. [ERROR] gpio_pad_reset_config_override: Logical to Chipset mapping not found Signed-off-by: Subrata Banik Change-Id: Id7ea16d89b6f01b00a7b7c52945f6e01e8db6cbd Reviewed-on: https://review.coreboot.org/c/coreboot/+/66155 Tested-by: build bot (Jenkins) Reviewed-by: Tarun Tuli Reviewed-by: Eric Lai Reviewed-by: Jamie Ryu Reviewed-by: Will Kim --- src/soc/intel/meteorlake/gpio.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/soc/intel/meteorlake/gpio.c b/src/soc/intel/meteorlake/gpio.c index 83c6d840ba..74b0f6b680 100644 --- a/src/soc/intel/meteorlake/gpio.c +++ b/src/soc/intel/meteorlake/gpio.c @@ -8,15 +8,10 @@ #define DEFAULT_VW_BASE 0x10 static const struct reset_mapping rst_map[] = { - { .logical = PAD_RESET(RSMRST), .chipset = 0U << 30 }, - { .logical = PAD_RESET(DEEP), .chipset = 1U << 30 }, - { .logical = PAD_RESET(PLTRST), .chipset = 2U << 30 }, -}; -static const struct reset_mapping rst_map_com3[] = { { .logical = PAD_RESET(PWROK), .chipset = 0U << 30 }, { .logical = PAD_RESET(DEEP), .chipset = 1U << 30 }, { .logical = PAD_RESET(PLTRST), .chipset = 2U << 30 }, - { .logical = PAD_RESET(RSMRST), .chipset = 3U << 30 }, + { .logical = PAD_RESET(GLBRST), .chipset = 3U << 30 }, }; /* @@ -147,8 +142,8 @@ static const struct pad_community mtl_communities[] = { .max_pads_per_group = GPIO_MAX_NUM_PER_GROUP, .name = "GPP_HFSPI0VG3", .acpi_path = "\\_SB.PCI0.GPIO", - .reset_map = rst_map_com3, - .num_reset_vals = ARRAY_SIZE(rst_map_com3), + .reset_map = rst_map, + .num_reset_vals = ARRAY_SIZE(rst_map), .groups = mtl_community3_groups, .num_groups = ARRAY_SIZE(mtl_community3_groups), .vw_base = DEFAULT_VW_BASE,