config PINCTRL_MTK_COMMON
	bool "pinctrl mtk common"
	default n
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB
	select OF_GPIO

if ARCH_MEDIATEK || COMPILE_TEST

# For ARMv7 SoCs
config PINCTRL_MT8135
	bool "Mediatek MT8135 pin control" if COMPILE_TEST && !MACH_MT8135
	depends on OF
	default MACH_MT8135
	select PINCTRL_MTK_COMMON

config PINCTRL_MT8127
	bool "Mediatek MT8127 pin control" if COMPILE_TEST && !MACH_MT8127
	depends on OF
	default MACH_MT8127
	select PINCTRL_MTK_COMMON

# For ARMv8 SoCs
config PINCTRL_MT8167
	bool "Mediatek MT8167 pin control" if COMPILE_TEST && !ARCH_MT8167
	depends on OF
	default ARCH_MT8167
	select PINCTRL_MTK_COMMON

config PINCTRL_MT8173
	bool "Mediatek MT8173 pin control"
	depends on OF
	depends on ARM64 || COMPILE_TEST
	default ARM64 && ARCH_MEDIATEK
	select PINCTRL_MTK_COMMON

# For PMIC
config PINCTRL_MT6392
	bool "Mediatek MT6392 pin control" if COMPILE_TEST && !MFD_MT6397
	depends on OF
	default MFD_MT6397
	select PINCTRL_MTK_COMMON

config PINCTRL_MT6397
	bool "Mediatek MT6397 pin control" if COMPILE_TEST && !MFD_MT6397
	depends on OF
	default MFD_MT6397
	select PINCTRL_MTK_COMMON
endif

config PINCTRL_MT6739
	bool "Mediatek MT6739 pin control"
	default n
	depends on !ARCH_MEDIATEK && MACH_MT6739
	select PINCTRL_MTK_COMMON
	select MTK_EINT_MULTI_TRIGGER_DESIGN

config PINCTRL_MT6757
	bool "Mediatek MT6757 pin control"
	default n
	depends on !ARCH_MEDIATEK && (MACH_KIBOPLUS || MACH_MT6757)
	select PINCTRL_MTK_COMMON

config PINCTRL_MT6758
	bool "Mediatek MT6758 pin control"
	default n
	depends on !ARCH_MEDIATEK && MACH_MT6758
	select PINCTRL_MTK_COMMON

config PINCTRL_MT6759
	bool "Mediatek MT6759 pin control"
	default n
	depends on !ARCH_MEDIATEK && MACH_MT6759
	select PINCTRL_MTK_COMMON

config PINCTRL_MT6763
	bool "Mediatek MT6763 pin control"
	default n
	depends on !ARCH_MEDIATEK && MACH_MT6763
	select PINCTRL_MTK_COMMON

config PINCTRL_MT6771
	bool "Mediatek MT6771 pin control"
	default n
	depends on (!ARCH_MEDIATEK) && (MACH_MT6771)
	select PINCTRL_MTK_COMMON

config PINCTRL_MT6775
	bool "Mediatek MT6775 pin control"
	default n
	depends on (!ARCH_MEDIATEK) && (MACH_MT6775)
	select PINCTRL_MTK_COMMON
	select MTK_EINT_MULTI_TRIGGER_DESIGN

config PINCTRL_MT6799
	bool "Mediatek MT699 pin control"
	default n
	depends on !ARCH_MEDIATEK && (MACH_MT6799)
	select PINCTRL_MTK_COMMON

# For EINT multi-trigger design
config MTK_EINT_MULTI_TRIGGER_DESIGN
	bool "Mediatek EINT multi-trigger design"
	depends on PINCTRL_MTK
	default n
	help
	  On MTK EINT design, a GPIO pin is connected to 2 EINT pin in order to
	  save pins for assignments.
	  Which EINT pin is actually occupied by a GPIO
	  is described in *pins and it is decided in run time.
