mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-08-22 00:42:01 +02:00
pinctrl: nuvoton: Add driver for WPCM450
This driver is based on the one for NPCM7xx, because the WPCM450 is a predecessor of those SoCs. Notable differences: - On WPCM450, the GPIO registers are not organized in multiple banks, but rather placed continually into the same register block. This affects how register offsets are computed. - Pinmux nodes can explicitly select GPIO mode, whereas in the npcm7xx driver, this happens automatically when a GPIO is requested. Some functionality implemented in the hardware was (for now) left unused in the driver, specifically blinking and pull-up/down. Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net> Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/20220129115228.2257310-6-j.neuschaefer@gmx.net Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
1a1e33b3b5
commit
a1d1e0e3d8
|
@ -2376,6 +2376,7 @@ S: Maintained
|
||||||
F: Documentation/devicetree/bindings/*/*wpcm*
|
F: Documentation/devicetree/bindings/*/*wpcm*
|
||||||
F: arch/arm/boot/dts/nuvoton-wpcm450*
|
F: arch/arm/boot/dts/nuvoton-wpcm450*
|
||||||
F: arch/arm/mach-npcm/wpcm450.c
|
F: arch/arm/mach-npcm/wpcm450.c
|
||||||
|
F: drivers/*/*/*wpcm*
|
||||||
F: drivers/*/*wpcm*
|
F: drivers/*/*wpcm*
|
||||||
|
|
||||||
ARM/NXP S32G ARCHITECTURE
|
ARM/NXP S32G ARCHITECTURE
|
||||||
|
|
|
@ -62,7 +62,7 @@ obj-y += mediatek/
|
||||||
obj-$(CONFIG_PINCTRL_MESON) += meson/
|
obj-$(CONFIG_PINCTRL_MESON) += meson/
|
||||||
obj-y += mvebu/
|
obj-y += mvebu/
|
||||||
obj-y += nomadik/
|
obj-y += nomadik/
|
||||||
obj-$(CONFIG_ARCH_NPCM7XX) += nuvoton/
|
obj-y += nuvoton/
|
||||||
obj-$(CONFIG_PINCTRL_PXA) += pxa/
|
obj-$(CONFIG_PINCTRL_PXA) += pxa/
|
||||||
obj-$(CONFIG_ARCH_QCOM) += qcom/
|
obj-$(CONFIG_ARCH_QCOM) += qcom/
|
||||||
obj-$(CONFIG_PINCTRL_RALINK) += ralink/
|
obj-$(CONFIG_PINCTRL_RALINK) += ralink/
|
||||||
|
|
|
@ -1,4 +1,22 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0-only
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
|
||||||
|
config PINCTRL_WPCM450
|
||||||
|
tristate "Pinctrl and GPIO driver for Nuvoton WPCM450"
|
||||||
|
depends on ARCH_WPCM450 || COMPILE_TEST
|
||||||
|
select PINMUX
|
||||||
|
select PINCONF
|
||||||
|
select GENERIC_PINCONF
|
||||||
|
select GPIOLIB
|
||||||
|
select GPIO_GENERIC
|
||||||
|
select GPIOLIB_IRQCHIP
|
||||||
|
help
|
||||||
|
Say Y or M here to enable pin controller and GPIO support for
|
||||||
|
the Nuvoton WPCM450 SoC. This is strongly recommended when
|
||||||
|
building a kernel that will run on this chip.
|
||||||
|
|
||||||
|
If this driver is compiled as a module, it will be named
|
||||||
|
pinctrl-wpcm450.
|
||||||
|
|
||||||
config PINCTRL_NPCM7XX
|
config PINCTRL_NPCM7XX
|
||||||
bool "Pinctrl and GPIO driver for Nuvoton NPCM7XX"
|
bool "Pinctrl and GPIO driver for Nuvoton NPCM7XX"
|
||||||
depends on (ARCH_NPCM7XX || COMPILE_TEST) && OF
|
depends on (ARCH_NPCM7XX || COMPILE_TEST) && OF
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
# Nuvoton pinctrl support
|
# Nuvoton pinctrl support
|
||||||
|
|
||||||
|
obj-$(CONFIG_PINCTRL_WPCM450) += pinctrl-wpcm450.o
|
||||||
obj-$(CONFIG_PINCTRL_NPCM7XX) += pinctrl-npcm7xx.o
|
obj-$(CONFIG_PINCTRL_NPCM7XX) += pinctrl-npcm7xx.o
|
||||||
|
|
1150
drivers/pinctrl/nuvoton/pinctrl-wpcm450.c
Normal file
1150
drivers/pinctrl/nuvoton/pinctrl-wpcm450.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user