Merge patch series "Add pinctrl driver for mt8188"

Julien Stephan <jstephan@baylibre.com> says:

The driver is based on the kernel driver for mt8188.

While at it, also add pinmux_property_set ops for mediatek pinctrl framework.

Link: https://lore.kernel.org/r/20260122-add-mt8188-pinctrl-support-v2-0-324b4c8f2b64@baylibre.com
This commit is contained in:
Tom Rini
2026-01-28 14:28:55 -06:00
4 changed files with 1361 additions and 0 deletions
+4
View File
@@ -34,6 +34,10 @@ config PINCTRL_MT7988
bool "MT7988 SoC pinctrl driver"
select PINCTRL_MTK
config PINCTRL_MT8188
bool "MT8188 SoC pinctrl driver"
select PINCTRL_MTK
config PINCTRL_MT8365
bool "MT8365 SoC pinctrl driver"
select PINCTRL_MTK
+1
View File
@@ -10,6 +10,7 @@ obj-$(CONFIG_PINCTRL_MT7981) += pinctrl-mt7981.o
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_MT8365) += pinctrl-mt8365.o
obj-$(CONFIG_PINCTRL_MT8512) += pinctrl-mt8512.o
obj-$(CONFIG_PINCTRL_MT8516) += pinctrl-mt8516.o
File diff suppressed because it is too large Load Diff
@@ -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) || \