[PATCH 3/3] pinctrl: mediatek: add support for mt8189

Macpaul Lin (林智斌) Macpaul.Lin at mediatek.com
Thu Feb 12 11:29:23 CET 2026


On Mon, 2026-02-09 at 17:34 -0600, David Lechner wrote:
> From: Bo-Chen Chen <rex-bc.chen at mediatek.com>
> 
> Add pinctrl support for mt8189.
> 
> Signed-off-by: Bo-Chen Chen <rex-bc.chen at mediatek.com>
> Co-developed-by: David Lechner <dlechner at baylibre.com>
> Signed-off-by: David Lechner <dlechner at baylibre.com>
> ---
>  drivers/pinctrl/mediatek/Kconfig          |    4 +
>  drivers/pinctrl/mediatek/Makefile         |    1 +
>  drivers/pinctrl/mediatek/pinctrl-mt8189.c | 1276
> +++++++++++++++++++++++++++++
>  3 files changed, 1281 insertions(+)
> 
> diff --git a/drivers/pinctrl/mediatek/Kconfig
> b/drivers/pinctrl/mediatek/Kconfig
> index 8a588d17c4b..ca6980c7a77 100644
> --- a/drivers/pinctrl/mediatek/Kconfig
> +++ b/drivers/pinctrl/mediatek/Kconfig
> @@ -38,6 +38,10 @@ config PINCTRL_MT8188
>  	bool "MT8188 SoC pinctrl driver"
>  	select PINCTRL_MTK
>  
> +config PINCTRL_MT8189
> +	bool "MT8189 SoC pinctrl driver"
> +	select PINCTRL_MTK
> +
>  config PINCTRL_MT8365
>  	bool "MT8365 SoC pinctrl driver"
>  	select PINCTRL_MTK
> diff --git a/drivers/pinctrl/mediatek/Makefile
> b/drivers/pinctrl/mediatek/Makefile
> index b9116c073ea..c61e13dfeb8 100644
> --- a/drivers/pinctrl/mediatek/Makefile
> +++ b/drivers/pinctrl/mediatek/Makefile
> @@ -11,6 +11,7 @@ obj-$(CONFIG_PINCTRL_MT7986) += pinctrl-mt7986.o
>  obj-$(CONFIG_PINCTRL_MT7987) += pinctrl-mt7987.o
>  obj-$(CONFIG_PINCTRL_MT7988) += pinctrl-mt7988.o
>  obj-$(CONFIG_PINCTRL_MT8188) += pinctrl-mt8188.o
> +obj-$(CONFIG_PINCTRL_MT8189) += pinctrl-mt8189.o
>  obj-$(CONFIG_PINCTRL_MT8365) += pinctrl-mt8365.o
>  obj-$(CONFIG_PINCTRL_MT8512) += pinctrl-mt8512.o
>  obj-$(CONFIG_PINCTRL_MT8516) += pinctrl-mt8516.o
> diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8189.c
> b/drivers/pinctrl/mediatek/pinctrl-mt8189.c
> new file mode 100644
> index 00000000000..b798f3c019b
> --- /dev/null
> +++ b/drivers/pinctrl/mediatek/pinctrl-mt8189.c
> @@ -0,0 +1,1276 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Copyright (C) 2026 MediaTek Inc.
> + * Author: Bo-Chen Chen <rex-bc.chen at mediatek.com>
> + */
> 

[snipped]

> +static const struct mtk_io_type_desc mt8189_io_type_desc[] = {
> +	[IO_TYPE_GRP0] = {
> +		.name = "mt8189",
> +		.bias_set = mtk_pinconf_bias_set_v1,
> +		.drive_set = mtk_pinconf_drive_set_v1,
> +		.input_enable = mtk_pinconf_input_enable_v1,
> +	},
> +};
> +
> +static struct mtk_pinctrl_soc mt8189_data = {
> +	.name = "mt8189_pinctrl",
> +	.reg_cal = mt8189_reg_cals,
> +	.pins = mt8189_pins,
> +	.npins = ARRAY_SIZE(mt8189_pins),
> +	.io_type = mt8189_io_type_desc,
> +	.ntype = ARRAY_SIZE(mt8189_io_type_desc),
> +	.base_names = mt8189_pinctrl_register_base_names,
> +	.nbase_names =
> ARRAY_SIZE(mt8189_pinctrl_register_base_names),
> +	.base_calc = 1,
> +	.rev = MTK_PINCTRL_V1,
> +};
> +
> +static int mtk_pinctrl_mt8189_probe(struct udevice *dev)
> +{
> +	return mtk_pinctrl_common_probe(dev, &mt8189_data);
> +}
> +
> +static const struct udevice_id mt8189_pctrl_match[] = {
> +	{ .compatible = "mediatek,mt8189-pinctrl" },
> +	{ }
> +};
> +
> +U_BOOT_DRIVER(mt8189_pinctrl) = {
> +	.name = "mt8189_pinctrl",
> +	.id = UCLASS_PINCTRL,
> +	.of_match = mt8189_pctrl_match,
> +	.ops = &mtk_pinctrl_ops,
> +	.probe = mtk_pinctrl_mt8189_probe,
> +	.priv_auto = sizeof(struct mtk_pinctrl_priv),
> +};
> 

Reviewed-by: Macpaul Lin <macpaul.lin at mediatek.com>

Thanks!
Macpaul Lin


More information about the U-Boot mailing list