# SPDX-License-Identifier: GPL-2.0-only
menu "MediaTek pinctrl drivers"
	depends on ARCH_MEDIATEK || COMPILE_TEST

config EINT_MTK
	bool "MediaTek External Interrupt Support"
	depends on PINCTRL_MTK || PINCTRL_MTK_MOORE || PINCTRL_MTK_PARIS || COMPILE_TEST
	select GPIOLIB
	select IRQ_DOMAIN

config PINCTRL_MTK
	bool
	depends on OF
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB
	select EINT_MTK
	select OF_GPIO

config PINCTRL_MTK_MOORE
	bool
	depends on OF
	select GENERIC_PINCONF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select GPIOLIB
	select OF_GPIO

config PINCTRL_MTK_PARIS
	bool
	depends on OF
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB
	select EINT_MTK
	select OF_GPIO

# For ARMv7 SoCs
config PINCTRL_MT2701
	bool "Mediatek MT2701 pin control"
	depends on MACH_MT7623 || MACH_MT2701 || COMPILE_TEST
	depends on OF
	default MACH_MT2701
	select PINCTRL_MTK

config PINCTRL_MT7623
	bool "Mediatek MT7623 pin control with generic binding"
	depends on MACH_MT7623 || COMPILE_TEST
	depends on OF
	default MACH_MT7623
	select PINCTRL_MTK_MOORE

config PINCTRL_MT7629
	bool "Mediatek MT7629 pin control"
	depends on MACH_MT7629 || COMPILE_TEST
	depends on OF
	default MACH_MT7629
	select PINCTRL_MTK_MOORE

config PINCTRL_MT8135
	bool "Mediatek MT8135 pin control"
	depends on MACH_MT8135 || COMPILE_TEST
	depends on OF
	default MACH_MT8135
	select PINCTRL_MTK

config PINCTRL_MT8127
	bool "Mediatek MT8127 pin control"
	depends on MACH_MT8127 || COMPILE_TEST
	depends on OF
	default MACH_MT8127
	select PINCTRL_MTK

# For ARMv8 SoCs
config PINCTRL_MT2712
	bool "MediaTek MT2712 pin control"
	depends on OF
	depends on ARM64 || COMPILE_TEST
	default ARM64 && ARCH_MEDIATEK
	select PINCTRL_MTK

config PINCTRL_MT6765
	bool "Mediatek MT6765 pin control"
	depends on OF
	depends on ARM64 || COMPILE_TEST
	default ARM64 && ARCH_MEDIATEK
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6797
	bool "Mediatek MT6797 pin control"
	depends on OF
	depends on ARM64 || COMPILE_TEST
	default ARM64 && ARCH_MEDIATEK
	select PINCTRL_MTK_PARIS

config PINCTRL_MT7622
	bool "MediaTek MT7622 pin control"
	depends on OF
	depends on ARM64 || COMPILE_TEST
	default ARM64 && ARCH_MEDIATEK
	select PINCTRL_MTK_MOORE

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

config PINCTRL_MT8183
	bool "Mediatek MT8183 pin control"
	depends on OF
	depends on ARM64 || COMPILE_TEST
	default ARM64 && ARCH_MEDIATEK
	select PINCTRL_MTK_PARIS

config PINCTRL_MT8516
	bool "Mediatek MT8516 pin control"
	depends on OF
	depends on ARM64 || COMPILE_TEST
	default ARM64 && ARCH_MEDIATEK
	select PINCTRL_MTK

# For PMIC
config PINCTRL_MT6397
	bool "Mediatek MT6397 pin control"
	depends on MFD_MT6397 || COMPILE_TEST
	depends on OF
	default MFD_MT6397
	select PINCTRL_MTK

endmenu
