skylake: remove ec_smi_gpio and alt_gp_smi_en
The ec_smi_gpio and alt_gp_smi_en devicetree options are goign to be removed. The plan for skylake is to set the settings by the mainboard through either gpio pad configuration or through helper functions. Moreover, these values only allow *1* SMI GPIO configuration in that the following has to be true: alt_gp_smi_en = 1 << (ec_smi_gpio % 24) If not, then another gpio(s) from the same group has the SMI_EN bit set for it. Lastly, remove all the subsequent dependencies as they are no longer used: enable_alt_smi() and gpio_enable_group(). BUG=chrome-os-partner:43778 BRANCH=None TEST=None Original-Change-Id: I749a499c810d83de522a2ccce1dd9efb0ad2e20a Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/291931 Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Change-Id: I2e1cd6879b76923157268a1449c617ef2aada9c4 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/11204 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
9a8dc37cdd
commit
f50b25d7e2
|
@ -28,11 +28,8 @@ chip soc/intel/skylake
|
||||||
register "gen1_dec" = "0x00fc0801"
|
register "gen1_dec" = "0x00fc0801"
|
||||||
register "gen2_dec" = "0x00fc0901"
|
register "gen2_dec" = "0x00fc0901"
|
||||||
|
|
||||||
# EC_SMI
|
# GPE configuration
|
||||||
register "ec_smi_gpio" = "34"
|
|
||||||
register "alt_gp_smi_en" = "0x0400"
|
|
||||||
register "gpe0_en_1" = "0x00000000"
|
register "gpe0_en_1" = "0x00000000"
|
||||||
|
|
||||||
# EC_SCI is GPIO36
|
# EC_SCI is GPIO36
|
||||||
register "gpe0_en_2" = "0x00000010"
|
register "gpe0_en_2" = "0x00000010"
|
||||||
register "gpe0_en_3" = "0x00000000"
|
register "gpe0_en_3" = "0x00000000"
|
||||||
|
|
|
@ -49,9 +49,7 @@ chip soc/intel/skylake
|
||||||
register "gen1_dec" = "0x00fc0801"
|
register "gen1_dec" = "0x00fc0801"
|
||||||
register "gen2_dec" = "0x00fc0901"
|
register "gen2_dec" = "0x00fc0901"
|
||||||
|
|
||||||
# EC_SMI
|
# GPE configuration
|
||||||
register "ec_smi_gpio" = "34"
|
|
||||||
register "alt_gp_smi_en" = "0x0400"
|
|
||||||
register "gpe0_en_1" = "0x00000000"
|
register "gpe0_en_1" = "0x00000000"
|
||||||
# EC_SCI is GPIO36
|
# EC_SCI is GPIO36
|
||||||
register "gpe0_en_2" = "0x00000010"
|
register "gpe0_en_2" = "0x00000010"
|
||||||
|
|
|
@ -54,10 +54,6 @@ struct soc_intel_skylake_config {
|
||||||
uint8_t gpe0_dw1; /* GPE0_63_32 STS/EN */
|
uint8_t gpe0_dw1; /* GPE0_63_32 STS/EN */
|
||||||
uint8_t gpe0_dw2; /* GPE0_95_64 STS/EN */
|
uint8_t gpe0_dw2; /* GPE0_95_64 STS/EN */
|
||||||
|
|
||||||
/* GPIO SMI configuration */
|
|
||||||
uint32_t ec_smi_gpio;
|
|
||||||
uint32_t alt_gp_smi_en;
|
|
||||||
|
|
||||||
/* Generic IO decode ranges */
|
/* Generic IO decode ranges */
|
||||||
uint32_t gen1_dec;
|
uint32_t gen1_dec;
|
||||||
uint32_t gen2_dec;
|
uint32_t gen2_dec;
|
||||||
|
|
|
@ -371,21 +371,3 @@ void gpio_enable_all_smi(void)
|
||||||
0xFFFFFFFF);
|
0xFFFFFFFF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void gpio_enable_groupsmi(gpio_t gpio_num, u32 mask)
|
|
||||||
{
|
|
||||||
u32 gpioindex = 0;
|
|
||||||
u32 smien = 0;
|
|
||||||
|
|
||||||
if (gpio_num > MAX_GPIO_NUMBER)
|
|
||||||
return;
|
|
||||||
|
|
||||||
gpioindex = (gpio_num / MAX_GPIO_PIN_PER_GROUP);
|
|
||||||
|
|
||||||
pcr_read32(gpio_group_info[gpioindex].community,
|
|
||||||
gpio_group_info[gpioindex].smienoffset, &smien);
|
|
||||||
smien |= mask;
|
|
||||||
/* Set all GPI SMI Enable bits by writing '1' */
|
|
||||||
pcr_write32(gpio_group_info[gpioindex].community,
|
|
||||||
gpio_group_info[gpioindex].smienoffset, smien);
|
|
||||||
}
|
|
||||||
|
|
|
@ -40,9 +40,6 @@ void gpio_get_smi_status(u32 status[GPIO_COMMUNITY_MAX]);
|
||||||
/* Enable GPIO SMI */
|
/* Enable GPIO SMI */
|
||||||
void gpio_enable_all_smi(void);
|
void gpio_enable_all_smi(void);
|
||||||
|
|
||||||
/* Enable GPIO individual Group SMI */
|
|
||||||
void gpio_enable_groupsmi(gpio_t gpio_num, u32 mask);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set the GPIO groups for the GPE blocks. The gpe0_route is interpreted
|
* Set the GPIO groups for the GPE blocks. The gpe0_route is interpreted
|
||||||
* as the packed configuration for GPE0_DW[2:0]:
|
* as the packed configuration for GPE0_DW[2:0]:
|
||||||
|
|
|
@ -176,7 +176,6 @@ void disable_smi(uint32_t mask);
|
||||||
|
|
||||||
/* ALT_GP_SMI */
|
/* ALT_GP_SMI */
|
||||||
uint32_t clear_alt_smi_status(void);
|
uint32_t clear_alt_smi_status(void);
|
||||||
void enable_alt_smi(int gpionum, u32 mask);
|
|
||||||
void reset_alt_smi_status(void);
|
void reset_alt_smi_status(void);
|
||||||
|
|
||||||
/* TCO */
|
/* TCO */
|
||||||
|
|
|
@ -227,9 +227,6 @@ static void pch_power_options(void)
|
||||||
|
|
||||||
/* Set up GPE configuration. */
|
/* Set up GPE configuration. */
|
||||||
pmc_gpe_init(config);
|
pmc_gpe_init(config);
|
||||||
|
|
||||||
/* SMI setup based on device tree configuration */
|
|
||||||
enable_alt_smi(config->ec_smi_gpio, config->alt_gp_smi_en);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void config_deep_sX(uint32_t offset, uint32_t mask, int sx, int enable)
|
static void config_deep_sX(uint32_t offset, uint32_t mask, int sx, int enable)
|
||||||
|
|
|
@ -258,14 +258,6 @@ u32 clear_alt_smi_status(void)
|
||||||
return print_alt_smi_status();
|
return print_alt_smi_status();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Enable GPIO SMI events */
|
|
||||||
void enable_alt_smi(int gpionum, u32 mask)
|
|
||||||
{
|
|
||||||
/*Set GPIO EN Status*/
|
|
||||||
gpio_enable_groupsmi(gpionum, mask);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TCO
|
* TCO
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue