mb/goog/brya/var/brya0/skolas: Disable HPS GPIOs if HPS_ABSENT
Check FW_CONFIG and disable gpios for HPS if HPS_ABSENT for skolas and brya0 variants. BUG=b:311740746 BRANCH=firmware-brya-14505.B TEST=`emerge-brya coreboot chromeos-bootimage`, flash and boot skolas to kernel and verify via "cbmem -c | grep HPS". Change-Id: I8cbe4f40c41f1d06e8f511c3e88c05984566d441 Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79123 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Eric Lai <ericllai@google.com>
This commit is contained in:
parent
6615c60fd5
commit
0863f7cdb2
|
@ -123,6 +123,15 @@ static const struct pad_config lte_disable_pads[] = {
|
||||||
PAD_NC(GPD11, NONE),
|
PAD_NC(GPD11, NONE),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct pad_config hps_disable_pads[] = {
|
||||||
|
/* E3 : PROC_GP0 ==> HPS_INT_ODL */
|
||||||
|
PAD_NC(GPP_E3, NONE),
|
||||||
|
/* E7 : PROC_GP1 ==> EN_HPS_PWR */
|
||||||
|
PAD_NC(GPP_E7, NONE),
|
||||||
|
/* F20 : EXT_PWR_GATE# ==> HPS_RST_R */
|
||||||
|
PAD_NC(GPP_F20, NONE),
|
||||||
|
};
|
||||||
|
|
||||||
static void enable_i2s(void)
|
static void enable_i2s(void)
|
||||||
{
|
{
|
||||||
gpio_configure_pads(dmic_enable_pads, ARRAY_SIZE(dmic_enable_pads));
|
gpio_configure_pads(dmic_enable_pads, ARRAY_SIZE(dmic_enable_pads));
|
||||||
|
@ -183,5 +192,10 @@ static void fw_config_handle(void *unused)
|
||||||
printk(BIOS_INFO, "Disable LTE related GPIO pins.\n");
|
printk(BIOS_INFO, "Disable LTE related GPIO pins.\n");
|
||||||
gpio_configure_pads(lte_disable_pads, ARRAY_SIZE(lte_disable_pads));
|
gpio_configure_pads(lte_disable_pads, ARRAY_SIZE(lte_disable_pads));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (fw_config_probe(FW_CONFIG(HPS, HPS_ABSENT))) {
|
||||||
|
printk(BIOS_INFO, "Disable HPS related GPIO pins.\n");
|
||||||
|
gpio_configure_pads(hps_disable_pads, ARRAY_SIZE(hps_disable_pads));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
BOOT_STATE_INIT_ENTRY(BS_DEV_ENABLE, BS_ON_ENTRY, fw_config_handle, NULL);
|
BOOT_STATE_INIT_ENTRY(BS_DEV_ENABLE, BS_ON_ENTRY, fw_config_handle, NULL);
|
||||||
|
|
|
@ -100,6 +100,15 @@ static const struct pad_config bt_i2s_disable_pads[] = {
|
||||||
PAD_NC(GPP_VGPIO_37, NONE),
|
PAD_NC(GPP_VGPIO_37, NONE),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct pad_config hps_disable_pads[] = {
|
||||||
|
/* E3 : PROC_GP0 ==> HPS_INT_ODL */
|
||||||
|
PAD_NC(GPP_E3, NONE),
|
||||||
|
/* E7 : PROC_GP1 ==> EN_HPS_PWR */
|
||||||
|
PAD_NC(GPP_E7, NONE),
|
||||||
|
/* F20 : EXT_PWR_GATE# ==> HPS_RST_R */
|
||||||
|
PAD_NC(GPP_F20, NONE),
|
||||||
|
};
|
||||||
|
|
||||||
static const struct pad_config lte_disable_pads[] = {
|
static const struct pad_config lte_disable_pads[] = {
|
||||||
/* A7 : WWAN_PCIE_WAKE_ODL */
|
/* A7 : WWAN_PCIE_WAKE_ODL */
|
||||||
PAD_NC(GPP_A7, NONE),
|
PAD_NC(GPP_A7, NONE),
|
||||||
|
@ -183,5 +192,10 @@ static void fw_config_handle(void *unused)
|
||||||
printk(BIOS_INFO, "Disable LTE related GPIO pins.\n");
|
printk(BIOS_INFO, "Disable LTE related GPIO pins.\n");
|
||||||
gpio_configure_pads(lte_disable_pads, ARRAY_SIZE(lte_disable_pads));
|
gpio_configure_pads(lte_disable_pads, ARRAY_SIZE(lte_disable_pads));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (fw_config_probe(FW_CONFIG(HPS, HPS_ABSENT))) {
|
||||||
|
printk(BIOS_INFO, "Disable HPS related GPIO pins.\n");
|
||||||
|
gpio_configure_pads(hps_disable_pads, ARRAY_SIZE(hps_disable_pads));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
BOOT_STATE_INIT_ENTRY(BS_DEV_ENABLE, BS_ON_ENTRY, fw_config_handle, NULL);
|
BOOT_STATE_INIT_ENTRY(BS_DEV_ENABLE, BS_ON_ENTRY, fw_config_handle, NULL);
|
||||||
|
|
Loading…
Reference in New Issue