[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