[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