menu "MediaTek pinctrl drivers"
	depends on ARCH_MEDIATEK || COMPILE_TEST

config EINT_MTK
	tristate "MediaTek External Interrupt Support"
	depends on PINCTRL_MTK || PINCTRL_MTK_MOORE || PINCTRL_MTK_PARIS || COMPILE_TEST
	select GPIOLIB
	select IRQ_DOMAIN
	default y if PINCTRL_MTK || PINCTRL_MTK_MOORE
	default PINCTRL_MTK_PARIS

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

config PINCTRL_MTK_V2
	tristate

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

config PINCTRL_MTK_PARIS
	tristate
	depends on OF
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB
	select EINT_MTK
	select OF_GPIO
	select PINCTRL_MTK_V2

config PINCTRL_MTK_DEBUG
        bool
        depends on OF
        select PINCTRL_MTK_PARIS
	default n

# 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
	select PINCTRL_MTK

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

config PINCTRL_MT6739
	bool "Mediatek MT6739 pin control"
	default n
	depends on MACH_MT6739
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6761
	tristate "Mediatek MT6761 pin control"
	depends on OF || COMPILE_TEST
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6765
	tristate "Mediatek MT6765 pin control"
	depends on OF || COMPILE_TEST
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6771
	bool "Mediatek MT6771 pin control"
	default n
	depends on MACH_MT6771
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6877
	bool "Mediatek MT6877 pin control"
	default n
	depends on MACH_MT6877
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6833
	bool "Mediatek MT6833 pin control"
	default n
	depends on MACH_MT6833
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6853
	bool "Mediatek MT6853 pin control"
	default n
	depends on MACH_MT6853
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6873
	bool "Mediatek MT6873 pin control"
	default n
	depends on MACH_MT6873
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6877
	bool "Mediatek MT6877 pin control"
	default n
	depends on MACH_MT6877
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6779
	tristate "Mediatek MT6779 pin control"
	depends on OF || COMPILE_TEST
	select PINCTRL_MTK_PARIS

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

config PINCTRL_MT6885
	bool "Mediatek MT6885 pin control"
	default n
	depends on MACH_MT6885 || MACH_MT6893
	select PINCTRL_MTK_PARIS

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

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

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

# 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

config PINCTRL_MT6768
	bool "Mediatek MT6768 pin control"
	default n
	depends on MACH_MT6768
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6781
	bool "Mediatek MT6781 pin control"
	default n
	depends on MACH_MT6781
	select PINCTRL_MTK_PARIS

config PINCTRL_MT6785
	bool "Mediatek MT6785 pin control"
	default n
	depends on MACH_MT6785
	select PINCTRL_MTK_PARIS

endmenu
