Unverified Commit d4c34d09 authored by Damien Le Moal's avatar Damien Le Moal Committed by Palmer Dabbelt
Browse files

pinctrl: Add RISC-V Canaan Kendryte K210 FPIOA driver



Add the pinctrl-k210.c pinctrl driver for the Canaan Kendryte K210
field programmable IO array (FPIOA) to allow configuring the SoC pin
functions. The K210 has 48 programmable pins which can take any of 256
possible functions.

This patch is inspired from the k210 pinctrl driver for the u-boot
project and contains many direct contributions from Sean Anderson.

The MAINTAINERS file is updated, adding the entry "CANAAN/KENDRYTE K210
SOC FPIOA DRIVER" with myself listed as maintainer for this driver.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-gpio@vger.kernel.org
Signed-off-by: default avatarSean Anderson <seanga2@gmail.com>
Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
parent 5da9cbd2
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -3860,6 +3860,13 @@ W: https://github.com/Cascoda/ca8210-linux.git
F:	Documentation/devicetree/bindings/net/ieee802154/ca8210.txt
F:	drivers/net/ieee802154/ca8210.c
CANAAN/KENDRYTE K210 SOC FPIOA DRIVER
M:	Damien Le Moal <damien.lemoal@wdc.com>
L:	linux-riscv@lists.infradead.org
L:	linux-gpio@vger.kernel.org (pinctrl driver)
F:	Documentation/devicetree/bindings/pinctrl/canaan,k210-fpioa.yaml
F:	drivers/pinctrl/pinctrl-k210.c
CANAAN/KENDRYTE K210 SOC RESET CONTROLLER DRIVER
M:	Damien Le Moal <damien.lemoal@wdc.com>
L:	linux-kernel@vger.kernel.org
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ config SOC_CANAAN
	select SERIAL_SIFIVE_CONSOLE if TTY
	select SIFIVE_PLIC
	select ARCH_HAS_RESET_CONTROLLER
	select PINCTRL
	help
	  This enables support for Canaan Kendryte K210 SoC platform hardware.

+13 −0
Original line number Diff line number Diff line
@@ -394,6 +394,19 @@ config PINCTRL_MICROCHIP_SGPIO
	  connect control signals from SFP modules and to act as an
	  LED controller.

config PINCTRL_K210
	bool "Pinctrl driver for the Canaan Kendryte K210 SoC"
	depends on RISCV && SOC_CANAAN && OF
	select GENERIC_PINMUX_FUNCTIONS
	select GENERIC_PINCONF
	select GPIOLIB
	select OF_GPIO
	select REGMAP_MMIO
	default SOC_CANAAN
	help
	  Add support for the Canaan Kendryte K210 RISC-V SOC Field
	  Programmable IO Array (FPIOA) controller.

source "drivers/pinctrl/actions/Kconfig"
source "drivers/pinctrl/aspeed/Kconfig"
source "drivers/pinctrl/bcm/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ obj-$(CONFIG_PINCTRL_RK805) += pinctrl-rk805.o
obj-$(CONFIG_PINCTRL_OCELOT)	+= pinctrl-ocelot.o
obj-$(CONFIG_PINCTRL_MICROCHIP_SGPIO)	+= pinctrl-microchip-sgpio.o
obj-$(CONFIG_PINCTRL_EQUILIBRIUM)   += pinctrl-equilibrium.o
obj-$(CONFIG_PINCTRL_K210)	+= pinctrl-k210.o

obj-y				+= actions/
obj-$(CONFIG_ARCH_ASPEED)	+= aspeed/
+985 −0

File added.

Preview size limit exceeded, changes collapsed.