summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorVitor Sato Eschholz <[email protected]>2026-01-22 17:38:23 +0100
committerTom Rini <[email protected]>2026-01-28 14:28:48 -0600
commit15999c22f5df791364f0eb6d646c36d735c74f16 (patch)
tree2a65a9170812fdea3b062ca6cb7d7572fd1fbd2f /drivers
parentaa6eb2a5895bb9f0f311522b7d4dd3b86629f8b2 (diff)
pinctrl: mediatek: add pinmux_property_set ops support
Add pinmux_property_set ops for mediatek pinctrl framework Signed-off-by: Julien Masson <[email protected]> Signed-off-by: Vitor Sato Eschholz <[email protected]> Signed-off-by: Julien Stephan <[email protected]> Reviewed-by: Macpaul Lin <[email protected]> Tested-by: David Lechner <[email protected]>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pinctrl/mediatek/pinctrl-mtk-common.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index b1fdcd18027..e991e03ea41 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -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) || \