![Yixun Lan](/assets/img/avatar_default.png)
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>
57 lines
1,012 B
Plaintext
57 lines
1,012 B
Plaintext
menuconfig PINCTRL_MESON
|
|
bool "Amlogic SoC pinctrl drivers"
|
|
depends on ARCH_MESON
|
|
depends on OF
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select GPIOLIB
|
|
select OF_GPIO
|
|
select REGMAP_MMIO
|
|
|
|
if PINCTRL_MESON
|
|
|
|
config PINCTRL_MESON8
|
|
bool "Meson 8 SoC pinctrl driver"
|
|
depends on ARM
|
|
select PINCTRL_MESON8_PMX
|
|
default y
|
|
|
|
config PINCTRL_MESON8B
|
|
bool "Meson 8b SoC pinctrl driver"
|
|
depends on ARM
|
|
select PINCTRL_MESON8_PMX
|
|
default y
|
|
|
|
config PINCTRL_MESON_GXBB
|
|
bool "Meson gxbb SoC pinctrl driver"
|
|
depends on ARM64
|
|
select PINCTRL_MESON8_PMX
|
|
default y
|
|
|
|
config PINCTRL_MESON_GXL
|
|
bool "Meson gxl SoC pinctrl driver"
|
|
depends on ARM64
|
|
select PINCTRL_MESON8_PMX
|
|
default y
|
|
|
|
config PINCTRL_MESON8_PMX
|
|
bool
|
|
|
|
config PINCTRL_MESON_AXG
|
|
bool "Meson axg Soc pinctrl driver"
|
|
depends on ARM64
|
|
select PINCTRL_MESON_AXG_PMX
|
|
default y
|
|
|
|
config PINCTRL_MESON_AXG_PMX
|
|
bool
|
|
|
|
config PINCTRL_MESON_G12A
|
|
bool "Meson g12a Soc pinctrl driver"
|
|
depends on ARM64
|
|
select PINCTRL_MESON_AXG_PMX
|
|
default y
|
|
|
|
endif
|