aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBernardo Perez Priego <bernardo.perez.priego@intel.com>2023-05-30 13:48:59 -0700
committerFelix Held <felix-coreboot@felixheld.de>2023-06-23 15:20:14 +0000
commit3dedfcbbd472fe569e06e8454db77fa8915a0a2f (patch)
tree24fb9745d7bf00873f17709c2d9641415a702a12 /src
parent40cb3fe94dacfba0b146aae2be9c03c0a0ddb691 (diff)
mb/google/rex: Configure ISH GPIO's based on FW_CONFIG
Configures ISH related GPIO's based on FW_CONFIG obtained from CBI. BUG=b:280329972,b:283023296 TEST= Set bit 21 of FW_CONFIG with CBI Boot rex board Check that ISH is enabled, loaded, and functional Signed-off-by: Bernardo Perez Priego <bernardo.perez.priego@intel.com> Change-Id: I3f0f9a7c8318fa9ae59b6f613eafdacbfa07c749 Reviewed-on: https://review.coreboot.org/c/coreboot/+/75525 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kapil Porwal <kapilporwal@google.com> Reviewed-by: Subrata Banik <subratabanik@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/google/rex/variants/rex0/fw_config.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mainboard/google/rex/variants/rex0/fw_config.c b/src/mainboard/google/rex/variants/rex0/fw_config.c
index 11014b5325..16ded29491 100644
--- a/src/mainboard/google/rex/variants/rex0/fw_config.c
+++ b/src/mainboard/google/rex/variants/rex0/fw_config.c
@@ -72,6 +72,23 @@ static const struct pad_config bt_i2s_disable_pads[] = {
PAD_NC(GPP_VGPIO37, NONE),
};
+static const struct pad_config ish_enable_pads[] = {
+ /* GPP_B02 : ISH I2C0_SDA */
+ PAD_CFG_NF(GPP_B02, NONE, DEEP, NF3),
+ /* GPP_B03 : ISH_I2C0_SCL */
+ PAD_CFG_NF(GPP_B03, NONE, DEEP, NF3),
+ /* GPP_D05 : ISH_UART_TX */
+ PAD_CFG_NF(GPP_D05, NONE, DEEP, NF2),
+ /* GPP_D06 : ISH_UART_RX */
+ PAD_CFG_NF(GPP_D06, NONE, DEEP, NF2),
+ /* GPP_B08 : ISH_GP3, SOC_ISH_ACCEL_INT_L */
+ PAD_CFG_NF(GPP_B08, NONE, DEEP, NF4),
+ /* GPP_E15 : ISH_GP5A, SOC_ISH_IMU_INT_L */
+ PAD_CFG_NF(GPP_E15, NONE, DEEP, NF8),
+ /* GPP_F22 : ISH_GP8A, SOC_ISH_ALS_INT_L */
+ PAD_CFG_NF(GPP_F22, NONE, DEEP, NF8),
+};
+
void fw_config_gpio_padbased_override(struct pad_config *padbased_table)
{
if (!fw_config_is_provisioned()) {
@@ -98,4 +115,9 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table)
printk(BIOS_INFO, "Configure GPIOs for BT offload mode.\n");
GPIO_PADBASED_OVERRIDE(padbased_table, bt_i2s_enable_pads);
}
+
+ if (fw_config_probe(FW_CONFIG(ISH, ISH_ENABLE))) {
+ printk(BIOS_INFO, "Configure GPIOs for ISH.\n");
+ GPIO_PADBASED_OVERRIDE(padbased_table, ish_enable_pads);
+ }
}