]> git.baikalelectronics.ru Git - kernel.git/commit
pinctrl: meson-g12a: add pinctrl driver support
authorYixun Lan <yixun.lan@amlogic.com>
Tue, 7 Aug 2018 02:06:34 +0000 (10:06 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 29 Aug 2018 08:34:53 +0000 (10:34 +0200)
commit29584e8b80fcc22f560acde6d0c7ddb201b2dc95
tree71869940040a91e9dc2e13f5fc6e8af92cdc93bf
parentf835ed75126f85abb89ad94e2e8115e7cef0f9b4
pinctrl: meson-g12a: add pinctrl driver support

Add the pinctrl driver for Meson-G12A SoC which share the similar IP as
the previous Meson-AXG SoC, both use same pinmux ops (register layout).
A new driver is needed here due to the differences in the pins.

Starting from Meson-AXG SoC, the pinctrl controller block use 4
continues register bits to specific the pin mux function, while comparing
to old generation SoC which using variable length register bits for
the pin mux definition. The new design greatly simplify the software model.

For the detail example, one 32bit register can be divided into 8 parts,
each has 4 bits whose value start from 0 - 7, each can describe one pin,
the value 0 is always devoted to GPIO function, while 1 - 7 devoted to
the mux pin function.

Please note, the GPIOE is actually located at AO (always on) bank.

Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/meson/Kconfig
drivers/pinctrl/meson/Makefile
drivers/pinctrl/meson/pinctrl-meson-g12a.c [new file with mode: 0644]