mb/google/trulo/var/kaladin: Disable eMMC GPIOs via firmware config

Disable eMMC related GPIO pins via firmware config on non-eMMC skus

BUG=b:443202137
TEST=flash and boot successfully on all kaladin SKU

Change-Id: Ia98702368208649fc0891417c7e8c6c3685d40be
Signed-off-by: Eren Peng <peng.eren@inventec.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/89069
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Eren Peng 2025-09-05 16:20:19 +08:00 committed by Matt DeVillier
commit 56700713de

View file

@ -11,6 +11,33 @@ const char *get_wifi_sar_cbfs_filename(void)
return get_wifi_sar_fw_config_filename(FW_CONFIG_FIELD(WIFI_SAR));
}
static const struct pad_config emmc_disable_pads[] = {
/* I7 : EMMC_CMD */
PAD_NC(GPP_I7, NONE),
/* I8 : EMMC_D0 */
PAD_NC(GPP_I8, NONE),
/* I9 : EMMC_D1 */
PAD_NC(GPP_I9, NONE),
/* I10 : EMMC_D2 */
PAD_NC(GPP_I10, NONE),
/* I11 : EMMC_D3 */
PAD_NC(GPP_I11, NONE),
/* I12 : EMMC_D4 */
PAD_NC(GPP_I12, NONE),
/* I13 : EMMC_D5 */
PAD_NC(GPP_I13, NONE),
/* I14 : EMMC_D6 */
PAD_NC(GPP_I14, NONE),
/* I15 : EMMC_D7 */
PAD_NC(GPP_I15, NONE),
/* I16 : EMMC_RCLK */
PAD_NC(GPP_I16, NONE),
/* I17 : EMMC_CLK */
PAD_NC(GPP_I17, NONE),
/* I18 : EMMC_RST_L */
PAD_NC(GPP_I18, NONE),
};
static const struct pad_config ish_disable_pads[] = {
/* B3 : ISH_IMU_INT_L ==>NC */
PAD_NC(GPP_B3, NONE),
@ -34,6 +61,10 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table)
printk(BIOS_INFO, "Disable ISH GPIO pins.\n");
gpio_padbased_override(padbased_table, ish_disable_pads, ARRAY_SIZE(ish_disable_pads));
}
if (!fw_config_probe(FW_CONFIG(STORAGE, STORAGE_EMMC)) && !fw_config_probe(FW_CONFIG(STORAGE, STORAGE_UNKNOWN))) {
printk(BIOS_INFO, "Disable eMMC GPIO pins.\n");
gpio_padbased_override(padbased_table, emmc_disable_pads, ARRAY_SIZE(emmc_disable_pads));
}
}
void variant_configure_pads(void)