# SPDX-License-Identifier: GPL-2.0

if ARCH_SUNXI

config PINCTRL_SUNXI
	select PINCTRL_FULL
	select PINCTRL_GENERIC
	select PINCONF
	select PINMUX
	bool

config PINCTRL_SUNIV_F1C100S
	bool "Support for the Allwinner F1C100s PIO"
	default MACH_SUNIV
	select PINCTRL_SUNXI

config PINCTRL_SUN4I_A10
	bool "Support for the Allwinner A10 PIO"
	default MACH_SUN4I
	select PINCTRL_SUNXI

config PINCTRL_SUN5I_A13
	bool "Support for the Allwinner A10s/A13 PIO"
	default MACH_SUN5I
	select PINCTRL_SUNXI

config PINCTRL_SUN6I_A31
	bool "Support for the Allwinner A31 PIO"
	default MACH_SUN6I
	select PINCTRL_SUNXI

config PINCTRL_SUN6I_A31_R
	bool "Support for the Allwinner A31 R-PIO"
	default MACH_SUN6I
	select PINCTRL_SUNXI

config PINCTRL_SUN7I_A20
	bool "Support for the Allwinner A20/R40 PIO"
	default MACH_SUN7I || MACH_SUN8I_R40
	select PINCTRL_SUNXI

config PINCTRL_SUN8I_A23
	bool "Support for the Allwinner A23 PIO"
	default MACH_SUN8I_A23
	select PINCTRL_SUNXI

config PINCTRL_SUN8I_A23_R
	bool "Support for the Allwinner A23/A33 R-PIO"
	default MACH_SUN8I_A23 || MACH_SUN8I_A33
	select PINCTRL_SUNXI

config PINCTRL_SUN8I_A33
	bool "Support for the Allwinner A33 PIO"
	default MACH_SUN8I_A33
	select PINCTRL_SUNXI

config PINCTRL_SUN8I_A83T
	bool "Support for the Allwinner A83T PIO"
	default MACH_SUN8I_A83T
	select PINCTRL_SUNXI

config PINCTRL_SUN8I_A83T_R
	bool "Support for the Allwinner A83T R-PIO"
	default MACH_SUN8I_A83T
	select PINCTRL_SUNXI

config PINCTRL_SUN8I_H3
	bool "Support for the Allwinner H3 PIO"
	default MACH_SUN8I_H3
	select PINCTRL_SUNXI

config PINCTRL_SUN8I_H3_R
	bool "Support for the Allwinner H3/H5 R-PIO"
	default MACH_SUN8I_H3 || MACH_SUN50I_H5
	select PINCTRL_SUNXI

config PINCTRL_SUN8I_V3S
	bool "Support for the Allwinner V3s PIO"
	default MACH_SUN8I_V3S
	select PINCTRL_SUNXI

config PINCTRL_SUN9I_A80
	bool "Support for the Allwinner A80 PIO"
	default MACH_SUN9I
	select PINCTRL_SUNXI

config PINCTRL_SUN9I_A80_R
	bool "Support for the Allwinner A80 R-PIO"
	default MACH_SUN9I
	select PINCTRL_SUNXI

config PINCTRL_SUN50I_A64
	bool "Support for the Allwinner A64 PIO"
	default MACH_SUN50I
	select PINCTRL_SUNXI

config PINCTRL_SUN50I_A64_R
	bool "Support for the Allwinner A64 R-PIO"
	default MACH_SUN50I
	select PINCTRL_SUNXI

config PINCTRL_SUN50I_H5
	bool "Support for the Allwinner H5 PIO"
	default MACH_SUN50I_H5
	select PINCTRL_SUNXI

config PINCTRL_SUN50I_H6
	bool "Support for the Allwinner H6 PIO"
	default MACH_SUN50I_H6
	select PINCTRL_SUNXI

config PINCTRL_SUN50I_H6_R
	bool "Support for the Allwinner H6 R-PIO"
	default MACH_SUN50I_H6
	select PINCTRL_SUNXI

config PINCTRL_SUN50I_H616
	bool "Support for the Allwinner H616 PIO"
	default MACH_SUN50I_H616
	select PINCTRL_SUNXI

config PINCTRL_SUN50I_H616_R
	bool "Support for the Allwinner H616 R-PIO"
	default MACH_SUN50I_H616
	select PINCTRL_SUNXI

endif
