[PATCH 1/1] soc: mediatek: mtk-regulator-coupler: Add support for MT8189
Fei Shao
fshao at chromium.org
Mon Nov 3 19:30:40 PST 2025
On Tue, Nov 4, 2025 at 11:15 AM niklaus.liu <Niklaus.Liu at mediatek.com> wrote:
>
> From: Niklaus Liu <niklaus.liu at mediatek.com>
>
> Enhance the regulator coupler driver to support GPU power control on the
> MediaTek MT8189 platform. This update ensures proper coordination of
> multiple regulators required for GPU operation,improving power management
> and system stability.
>
> Signed-off-by: Niklaus Liu <niklaus.liu at mediatek.com>
> ---
> drivers/soc/mediatek/mtk-regulator-coupler.c | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/soc/mediatek/mtk-regulator-coupler.c b/drivers/soc/mediatek/mtk-regulator-coupler.c
> index 0b6a2884145e..f6e3b2a3a5a8 100644
> --- a/drivers/soc/mediatek/mtk-regulator-coupler.c
> +++ b/drivers/soc/mediatek/mtk-regulator-coupler.c
> @@ -42,6 +42,18 @@ static int mediatek_regulator_balance_voltage(struct regulator_coupler *coupler,
> int max_uV = INT_MAX;
> int ret;
>
> + /*
> + * When vsram_gpu is enabled or disabled and the use_count of the
> + * vsram_gpu regulator is zero, the regulator coupler driver will
> + * execute regulator_do_balance_voltage, which adjusts the vsram_gpu
> + * voltage to the minimum value. This may result in vsram_gpu being
> + * lower than vgpu. Therefore, when enabling or disabling vsram_gpu,
> + * the 8189 temporarily skips the regulator coupler driver's modification
> + * of the vsram_gpu voltage.
> + */
> + if (of_machine_is_compatible("mediatek,mt8189") && rdev == mrc->vsram_rdev)
> + return 0;
> +
> /*
> * If the target device is on, setting the SRAM voltage directly
> * is not supported as it scales through its coupled supply voltage.
> @@ -148,7 +160,8 @@ static int mediatek_regulator_coupler_init(void)
> if (!of_machine_is_compatible("mediatek,mt8183") &&
> !of_machine_is_compatible("mediatek,mt8186") &&
> !of_machine_is_compatible("mediatek,mt8188") &&
> - !of_machine_is_compatible("mediatek,mt8192"))
> + !of_machine_is_compatible("mediatek,mt8192") &&
> + !of_machine_is_compatible("mediatek,mt8189"))
Please add the new entry by alphabetical order.
Regards,
Fei
> return 0;
>
> return regulator_coupler_register(&mediatek_coupler.coupler);
> --
> 2.46.0
>
>
More information about the Linux-mediatek
mailing list