soc/mediatek/mt8196: Set the driving strength of SPMI-P to maximum

To fix the SPMI-P glitch, the driving strength of SPMI-P needs to be set
to a maximum value of 16mA. Additionally, a hardware solution of
external pull-down is also required.

BRANCH=rauru
TEST=Build passed and booted successfully. The platform remained idle
for approximately 20 hours without hang.
BUG=b:383634290

Signed-off-by: Lu Tang <lu.tang@mediatek.corp-partner.google.com>
Change-Id: I131fd04c0313c7ed64bbd123f61d9a6849c8def4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86341
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
This commit is contained in:
Lu Tang 2025-02-07 14:10:53 +08:00 committed by Yidi Lin
commit 9c5496ecb0

View file

@ -165,9 +165,9 @@ void pmif_spmi_iocfg(void)
/* SPMI_M 10mA */
gpio_set_driving(GPIO(SPMI_M_SCL), GPIO_DRV_10_MA);
gpio_set_driving(GPIO(SPMI_M_SDA), GPIO_DRV_10_MA);
/* SPMI_P 14mA */
gpio_set_driving(GPIO(SPMI_P_SCL), GPIO_DRV_14_MA);
gpio_set_driving(GPIO(SPMI_P_SDA), GPIO_DRV_14_MA);
/* SPMI_P 16mA */
gpio_set_driving(GPIO(SPMI_P_SCL), GPIO_DRV_16_MA);
gpio_set_driving(GPIO(SPMI_P_SDA), GPIO_DRV_16_MA);
/* SPMI-P set Pull-Down mode */
gpio_set_pull(GPIO(SPMI_P_SCL), GPIO_PULL_ENABLE, GPIO_PULL_DOWN);
gpio_set_pull(GPIO(SPMI_P_SDA), GPIO_PULL_ENABLE, GPIO_PULL_DOWN);