mb/google/fatcat/var/fatcat: Drop UFC/WFC GPIO programming

Skip UFC/WFC GPIO programming for power-on and clock configuration.

Clock configuration is now handled by native-function in ramstage,
and there is no need to power-on the camera module early in the boot
phase. Doing so resulted in the privacy LED being turned on during the
entire boot process, which is unnecessary.

BUG=b:381044394
TEST=No privacy LED blinking seen while booting google/fatcat.

Change-Id: Iae984a2ab6f797af450166c90f4a2c6d3e0e1caa
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85955
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Subrata Banik 2025-01-13 17:33:33 +05:30
commit b885fd8d8d
2 changed files with 0 additions and 60 deletions

View file

@ -223,46 +223,6 @@ static const struct pad_config gen5_ssd_pads[] = {
PAD_CFG_GPO(GPP_E03, 1, PLTRST),
};
/* camera1: WFC */
static const struct pad_config pre_mem_wfc_camera_pwr_pads[] = {
/* GPP_C05: CRD1_PWREN */
PAD_CFG_GPO(GPP_C05, 0, PLTRST),
};
static const struct pad_config wfc_camera_enable_pads[] = {
/* GPP_C05: CRD1_PWREN */
PAD_CFG_GPO(GPP_C05, 1, PLTRST),
/* GPP_D04: IMGCLKOUT_0 */
PAD_CFG_NF(GPP_D04, NONE, DEEP, NF1),
};
static const struct pad_config wfc_camera_disable_pads[] = {
/* GPP_C05: CRD1_PWREN */
PAD_NC(GPP_C05, NONE),
/* GPP_D04: IMGCLKOUT_0 */
PAD_NC(GPP_D04, NONE),
};
/* camera2: UFC */
static const struct pad_config pre_mem_ufc_camera_pwr_pads[] = {
/* GPP_C08: CRD2_PWREN */
PAD_CFG_GPO(GPP_C08, 0, PLTRST),
};
static const struct pad_config ufc_camera_enable_pads[] = {
/* GPP_C08: CRD2_PWREN */
PAD_CFG_GPO(GPP_C08, 1, PLTRST),
/* GPP_D00: IMGCLKOUT_1 */
PAD_CFG_NF(GPP_D00, NONE, DEEP, NF1),
};
static const struct pad_config ufc_camera_disable_pads[] = {
/* GPP_C08: CRD2_PWREN */
PAD_NC(GPP_C08, NONE),
/* GPP_D00: IMGCLKOUT_1 */
PAD_NC(GPP_D00, NONE),
};
static const struct pad_config peg_x4slot_wake_disable_pads[] = {
/* GPP_D24: PEG_SLOT_WAKE_N */
PAD_NC(GPP_D24, NONE),
@ -520,12 +480,6 @@ void fw_config_configure_pre_mem_gpio(void)
if (!fw_config_probe(FW_CONFIG(CELLULAR, CELLULAR_ABSENT)))
GPIO_CONFIGURE_PADS(pre_mem_wwan_pwr_seq1_pads);
if (fw_config_probe(FW_CONFIG(WFC, WFC_MIPI)))
GPIO_CONFIGURE_PADS(pre_mem_wfc_camera_pwr_pads);
if (fw_config_probe(FW_CONFIG(UFC, UFC_MIPI)))
GPIO_CONFIGURE_PADS(pre_mem_ufc_camera_pwr_pads);
if (fw_config_probe(FW_CONFIG(STORAGE, STORAGE_NVME_GEN4))) {
GPIO_CONFIGURE_PADS(pre_mem_gen4_ssd_pwr_pads);
} else if (fw_config_probe(FW_CONFIG(STORAGE, STORAGE_NVME_GEN5))) {
@ -578,16 +532,6 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table)
/* TODO for UFS */
}
if (fw_config_probe(FW_CONFIG(WFC, WFC_MIPI)))
GPIO_PADBASED_OVERRIDE(padbased_table, wfc_camera_enable_pads);
else
GPIO_PADBASED_OVERRIDE(padbased_table, wfc_camera_disable_pads);
if (fw_config_probe(FW_CONFIG(UFC, UFC_MIPI)))
GPIO_PADBASED_OVERRIDE(padbased_table, ufc_camera_enable_pads);
else
GPIO_PADBASED_OVERRIDE(padbased_table, ufc_camera_disable_pads);
if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_NONE)))
GPIO_PADBASED_OVERRIDE(padbased_table, audio_disable_pads);
else if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_MAX98360_ALC5682I_I2S)))

View file

@ -108,14 +108,10 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_NF(GPP_C03, NONE, DEEP, NF1),
/* GPP_C04: TCP_LAN_SML0_SDA_R */
PAD_CFG_NF(GPP_C04, NONE, DEEP, NF1),
/* GPP_C05: CRD1_PWREN */
PAD_CFG_GPO(GPP_C05, 1, PLTRST),
/* GPP_C06: SML1_CLK */
PAD_CFG_NF(GPP_C06, NONE, DEEP, NF1),
/* GPP_C07: SML1_DATA */
PAD_CFG_NF(GPP_C07, NONE, DEEP, NF1),
/* GPP_C08: CRD2_PWREN */
PAD_CFG_GPO(GPP_C08, 1, PLTRST),
/* GPP_C09: CLKREQ0_X8_GEN5_DT_CEM_SLOT_N */
PAD_CFG_NF(GPP_C09, NONE, DEEP, NF1),
/* GPP_C10: CLKREQ1_X4_GEN5_M2_SSD_N */