]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
pinctrl: mediatek: add pinmux_property_set ops support
authorVitor Sato Eschholz <vsatoes@baylibre.com>
Thu, 22 Jan 2026 16:38:23 +0000 (17:38 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 28 Jan 2026 20:28:48 +0000 (14:28 -0600)
Add pinmux_property_set ops for mediatek pinctrl framework

Signed-off-by: Julien Masson <jmasson@baylibre.com>
Signed-off-by: Vitor Sato Eschholz <vsatoes@baylibre.com>
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Tested-by: David Lechner <dlechner@baylibre.com>
drivers/pinctrl/mediatek/pinctrl-mtk-common.c

index b1fdcd18027bf546214c6e714d9b56a1e9d64e1b..e991e03ea41faf9e8fb86e9e2d357f79b2fc01e7 100644 (file)
@@ -15,6 +15,7 @@
 #include <log.h>
 #include <regmap.h>
 #include <syscon.h>
+#include <dt-bindings/pinctrl/mt65xx.h>
 
 #include "pinctrl-mtk-common.h"
 
@@ -657,6 +658,16 @@ static int mtk_pinconf_group_set(struct udevice *dev,
 }
 #endif
 
+static int mtk_pinctrl_pinmux_property_set(struct udevice *dev, u32 pinmux_group)
+{
+       u32 pin = MTK_GET_PIN_NO(pinmux_group);
+       u32 func = MTK_GET_PIN_FUNC(pinmux_group);
+       int ret;
+
+       ret = mtk_hw_set_value(dev, pin, PINCTRL_PIN_REG_MODE, func);
+       return ret ? ret : pin;
+}
+
 const struct pinctrl_ops mtk_pinctrl_ops = {
        .get_pins_count = mtk_get_pins_count,
        .get_pin_name = mtk_get_pin_name,
@@ -674,6 +685,7 @@ const struct pinctrl_ops mtk_pinctrl_ops = {
        .pinconf_group_set = mtk_pinconf_group_set,
 #endif
        .set_state = pinctrl_generic_set_state,
+       .pinmux_property_set = mtk_pinctrl_pinmux_property_set,
 };
 
 #if CONFIG_IS_ENABLED(DM_GPIO) || \