From 6afc1ff9acda977a776399e0cf6fb9d392a136e6 Mon Sep 17 00:00:00 2001 From: Zhigang Qin Date: Wed, 30 Jul 2025 16:10:07 +0800 Subject: [PATCH] soc/mediatek/mt8189: Disable 8189G APU power to reduce power consumption Since MT8189G does not support APU, the LDO_VSRAM_OTHERS and BUCK_VCORE regulators for the APU power domain can be turned off. Disabling these power supplies reduces overall system power consumption by about 1mW. BUG=b:420874944,b:421989583,b:423081787 BRANCH=none TEST=Verified by measuring system current in S3 state before and after disabling APU power. Signed-off-by: Niklaus Liu Signed-off-by: Vince Liu Signed-off-by: Zhigang Qin Change-Id: I4e4eeb575327b554f5837bfc0f6a464ff7a1e228 Reviewed-on: https://review.coreboot.org/c/coreboot/+/88631 Tested-by: build bot (Jenkins) Reviewed-by: Yu-Ping Wu Reviewed-by: Yidi Lin --- src/soc/mediatek/mt8189/mt6359p.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/soc/mediatek/mt8189/mt6359p.c b/src/soc/mediatek/mt8189/mt6359p.c index 7b399abf0f..9c21985fc5 100644 --- a/src/soc/mediatek/mt8189/mt6359p.c +++ b/src/soc/mediatek/mt8189/mt6359p.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only OR MIT */ +#include #include /* @@ -187,11 +188,24 @@ static const struct pmic_setting init_setting[] = { {0x18b4, 0x34, 0x7F, 0}, }; +static const struct pmic_setting disable_apu_power_setting[] = { + {0x1508, 0x0, 0x3, 0}, + {0x1f08, 0x0, 0x3, 0}, +}; + void mt6359p_init_setting(void) { for (size_t i = 0; i < ARRAY_SIZE(init_setting); i++) mt6359p_write_field(init_setting[i].addr, init_setting[i].val, init_setting[i].mask, init_setting[i].shift); + + if (get_cpu_id() == MTK_CPU_ID_MT8189 && + get_cpu_segment_id() == MTK_CPU_SEG_ID_MT8189G) + for (int i = 0; i < ARRAY_SIZE(disable_apu_power_setting); i++) + mt6359p_write_field(disable_apu_power_setting[i].addr, + disable_apu_power_setting[i].val, + disable_apu_power_setting[i].mask, + disable_apu_power_setting[i].shift); } void mt6359p_lp_setting(void)