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 <subratabanik@google.com>
Change-Id: Id7ea16d89b6f01b00a7b7c52945f6e01e8db6cbd
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66155
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Reviewed-by: Jamie Ryu <jamie.m.ryu@intel.com>
Reviewed-by: Will Kim <norwayforest92@gmail.com>
This commit is contained in:
Subrata Banik 2022-07-26 12:54:57 +00:00
parent 2ba4bfef7e
commit a459d360e4
1 changed files with 3 additions and 8 deletions

View File

@ -8,15 +8,10 @@
#define DEFAULT_VW_BASE 0x10 #define DEFAULT_VW_BASE 0x10
static const struct reset_mapping rst_map[] = { 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(PWROK), .chipset = 0U << 30 },
{ .logical = PAD_RESET(DEEP), .chipset = 1U << 30 }, { .logical = PAD_RESET(DEEP), .chipset = 1U << 30 },
{ .logical = PAD_RESET(PLTRST), .chipset = 2U << 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, .max_pads_per_group = GPIO_MAX_NUM_PER_GROUP,
.name = "GPP_HFSPI0VG3", .name = "GPP_HFSPI0VG3",
.acpi_path = "\\_SB.PCI0.GPIO", .acpi_path = "\\_SB.PCI0.GPIO",
.reset_map = rst_map_com3, .reset_map = rst_map,
.num_reset_vals = ARRAY_SIZE(rst_map_com3), .num_reset_vals = ARRAY_SIZE(rst_map),
.groups = mtl_community3_groups, .groups = mtl_community3_groups,
.num_groups = ARRAY_SIZE(mtl_community3_groups), .num_groups = ARRAY_SIZE(mtl_community3_groups),
.vw_base = DEFAULT_VW_BASE, .vw_base = DEFAULT_VW_BASE,