Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d6ed9355 authored by Sean Wang's avatar Sean Wang Committed by Linus Walleij
Browse files

pinctrl: mediatek: add pinctrl driver for MT7622 SoC



Add support for pinctrl on MT7622 SoC. The IO core found on the SoC has
the registers for pinctrl, pinconf and gpio mixed up in the same register
range. However, the IO core for the MT7622 SoC is completely distinct from
anyone of previous MediaTek SoCs which already had support, such as
the hardware internal, register address map and register detailed
definition for each pin.

Therefore, instead, the driver is being newly implemented by reusing
generic methods provided from the core layer with GENERIC_PINCONF,
GENERIC_PINCTRL_GROUPS, and GENERIC_PINMUX_FUNCTIONS for the sake of code
simplicity and rid of superfluous code. Where the function of pins
determined by groups is utilized in this driver which can help developers
less confused with what combinations of pins effective on the SoC and even
reducing the mistakes during the integration of those relevant boards.

As the gpio_chip handling is also only a few lines, the driver also
implements the gpio functionality directly through GPIOLIB.

Signed-off-by: default avatarSean Wang <sean.wang@mediatek.com>
Reviewed-by: default avatarBiao Huang <biao.huang@mediatek.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent e3fd24a5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -65,5 +65,5 @@ obj-$(CONFIG_PINCTRL_SUNXI) += sunxi/
obj-y				+= ti/
obj-$(CONFIG_PINCTRL_UNIPHIER)	+= uniphier/
obj-$(CONFIG_ARCH_VT8500)	+= vt8500/
obj-$(CONFIG_PINCTRL_MTK)	+= mediatek/
obj-y				+= mediatek/
obj-$(CONFIG_PINCTRL_ZX)	+= zte/
+10 −0
Original line number Diff line number Diff line
@@ -32,6 +32,16 @@ config PINCTRL_MT8127
	select PINCTRL_MTK

# For ARMv8 SoCs
config PINCTRL_MT7622
	bool "MediaTek MT7622 pin control"
	depends on OF
	depends on ARM64 || COMPILE_TEST
	select GENERIC_PINCONF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select GPIOLIB
	select OF_GPIO

config PINCTRL_MT8173
	bool "Mediatek MT8173 pin control"
	depends on OF
+2 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
# Core
obj-y				+= pinctrl-mtk-common.o
obj-$(CONFIG_PINCTRL_MTK)	+= pinctrl-mtk-common.o

# SoC Drivers
obj-$(CONFIG_PINCTRL_MT2701)	+= pinctrl-mt2701.o
obj-$(CONFIG_PINCTRL_MT8135)	+= pinctrl-mt8135.o
obj-$(CONFIG_PINCTRL_MT8127)	+= pinctrl-mt8127.o
obj-$(CONFIG_PINCTRL_MT7622)	+= pinctrl-mt7622.o
obj-$(CONFIG_PINCTRL_MT8173)	+= pinctrl-mt8173.o
obj-$(CONFIG_PINCTRL_MT6397)	+= pinctrl-mt6397.o
+1595 −0

File added.

Preview size limit exceeded, changes collapsed.