OSDN Git Service

pinctrl: mediatek: add pinctrl driver for MT7622 SoC
authorSean Wang <sean.wang@mediatek.com>
Tue, 12 Dec 2017 06:24:20 +0000 (14:24 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 20 Dec 2017 07:49:41 +0000 (08:49 +0100)
commitd6ed935513202e1922071979bee96777f9c37229
tree7ca1207f3d1444fd48815e68b71c4e246f7d80eb
parente3fd24a574041785bad4487595228e8b02c92e41
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: Sean Wang <sean.wang@mediatek.com>
Reviewed-by: Biao Huang <biao.huang@mediatek.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/Makefile
drivers/pinctrl/mediatek/Kconfig
drivers/pinctrl/mediatek/Makefile
drivers/pinctrl/mediatek/pinctrl-mt7622.c [new file with mode: 0644]