Skip to content

Commit a83c29e

Browse files
dlan17linusw
authored andcommitted
pinctrl: spacemit: add support for SpacemiT K1 SoC
SpacemiT's K1 SoC has a pinctrl controller which use single register to describe all functions, which include bias pull up/down(strong pull), drive strength, schmitter trigger, slew rate, mux mode. Signed-off-by: Yixun Lan <[email protected]> Link: https://lore.kernel.org/[email protected] Signed-off-by: Linus Walleij <[email protected]>
1 parent 97b7675 commit a83c29e

File tree

6 files changed

+1113
-0
lines changed

6 files changed

+1113
-0
lines changed

drivers/pinctrl/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,7 @@ source "drivers/pinctrl/realtek/Kconfig"
631631
source "drivers/pinctrl/renesas/Kconfig"
632632
source "drivers/pinctrl/samsung/Kconfig"
633633
source "drivers/pinctrl/sophgo/Kconfig"
634+
source "drivers/pinctrl/spacemit/Kconfig"
634635
source "drivers/pinctrl/spear/Kconfig"
635636
source "drivers/pinctrl/sprd/Kconfig"
636637
source "drivers/pinctrl/starfive/Kconfig"

drivers/pinctrl/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ obj-$(CONFIG_ARCH_REALTEK) += realtek/
7878
obj-$(CONFIG_PINCTRL_RENESAS) += renesas/
7979
obj-$(CONFIG_PINCTRL_SAMSUNG) += samsung/
8080
obj-y += sophgo/
81+
obj-y += spacemit/
8182
obj-$(CONFIG_PINCTRL_SPEAR) += spear/
8283
obj-y += sprd/
8384
obj-$(CONFIG_SOC_STARFIVE) += starfive/

drivers/pinctrl/spacemit/Kconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
#
3+
# Sophgo SoC PINCTRL drivers
4+
#
5+
6+
config PINCTRL_SPACEMIT_K1
7+
tristate "SpacemiT K1 SoC Pinctrl driver"
8+
depends on ARCH_SPACEMIT || COMPILE_TEST
9+
depends on OF
10+
select GENERIC_PINCTRL_GROUPS
11+
select GENERIC_PINMUX_FUNCTIONS
12+
select GENERIC_PINCONF
13+
help
14+
Say Y to select the pinctrl driver for K1 SoC.
15+
This pin controller allows selecting the mux function for
16+
each pin. This driver can also be built as a module called
17+
pinctrl-k1.

drivers/pinctrl/spacemit/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
3+
obj-$(CONFIG_PINCTRL_SPACEMIT_K1) += pinctrl-k1.o

0 commit comments

Comments
 (0)