]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
pinctrl: mediatek: add pinmux_set ops support
authorWeijie Gao <weijie.gao@mediatek.com>
Wed, 19 Jul 2023 09:16:46 +0000 (17:16 +0800)
committerTom Rini <trini@konsulko.com>
Thu, 3 Aug 2023 13:40:50 +0000 (09:40 -0400)
This patch adds pinmux_set ops for mediatek pinctrl framework

Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
drivers/pinctrl/mediatek/pinctrl-mtk-common.c

index 623a094c39cebcaa38580860136d13c3b12c3418..0baef57c1c2f9ac32679e03941955f41c47b994d 100644 (file)
@@ -304,6 +304,19 @@ static const char *mtk_get_function_name(struct udevice *dev,
        return priv->soc->funcs[selector].name;
 }
 
+static int mtk_pinmux_set(struct udevice *dev, unsigned int pin_selector,
+                         unsigned int func_selector)
+{
+       int err;
+
+       err = mtk_hw_set_value(dev, pin_selector, PINCTRL_PIN_REG_MODE,
+                              func_selector);
+       if (err)
+               return err;
+
+       return 0;
+}
+
 static int mtk_pinmux_group_set(struct udevice *dev,
                                unsigned int group_selector,
                                unsigned int func_selector)
@@ -647,6 +660,7 @@ const struct pinctrl_ops mtk_pinctrl_ops = {
        .get_group_name = mtk_get_group_name,
        .get_functions_count = mtk_get_functions_count,
        .get_function_name = mtk_get_function_name,
+       .pinmux_set = mtk_pinmux_set,
        .pinmux_group_set = mtk_pinmux_group_set,
 #if CONFIG_IS_ENABLED(PINCONF)
        .pinconf_num_params = ARRAY_SIZE(mtk_conf_params),