18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_cimenu "MediaTek pinctrl drivers"
38c2ecf20Sopenharmony_ci	depends on ARCH_MEDIATEK || COMPILE_TEST
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciconfig EINT_MTK
68c2ecf20Sopenharmony_ci	tristate "MediaTek External Interrupt Support"
78c2ecf20Sopenharmony_ci	depends on PINCTRL_MTK || PINCTRL_MTK_MOORE || PINCTRL_MTK_PARIS || COMPILE_TEST
88c2ecf20Sopenharmony_ci	select GPIOLIB
98c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
108c2ecf20Sopenharmony_ci	default y if PINCTRL_MTK || PINCTRL_MTK_MOORE
118c2ecf20Sopenharmony_ci	default PINCTRL_MTK_PARIS
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciconfig PINCTRL_MTK
148c2ecf20Sopenharmony_ci	bool
158c2ecf20Sopenharmony_ci	depends on OF
168c2ecf20Sopenharmony_ci	select PINMUX
178c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
188c2ecf20Sopenharmony_ci	select GPIOLIB
198c2ecf20Sopenharmony_ci	select EINT_MTK
208c2ecf20Sopenharmony_ci	select OF_GPIO
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciconfig PINCTRL_MTK_V2
238c2ecf20Sopenharmony_ci	tristate
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciconfig PINCTRL_MTK_MOORE
268c2ecf20Sopenharmony_ci	bool
278c2ecf20Sopenharmony_ci	depends on OF
288c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
298c2ecf20Sopenharmony_ci	select GENERIC_PINCTRL_GROUPS
308c2ecf20Sopenharmony_ci	select GENERIC_PINMUX_FUNCTIONS
318c2ecf20Sopenharmony_ci	select GPIOLIB
328c2ecf20Sopenharmony_ci	select OF_GPIO
338c2ecf20Sopenharmony_ci	select EINT_MTK
348c2ecf20Sopenharmony_ci	select PINCTRL_MTK_V2
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciconfig PINCTRL_MTK_PARIS
378c2ecf20Sopenharmony_ci	tristate
388c2ecf20Sopenharmony_ci	depends on OF
398c2ecf20Sopenharmony_ci	select PINMUX
408c2ecf20Sopenharmony_ci	select GENERIC_PINCONF
418c2ecf20Sopenharmony_ci	select GPIOLIB
428c2ecf20Sopenharmony_ci	select EINT_MTK
438c2ecf20Sopenharmony_ci	select OF_GPIO
448c2ecf20Sopenharmony_ci	select PINCTRL_MTK_V2
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci# For ARMv7 SoCs
478c2ecf20Sopenharmony_ciconfig PINCTRL_MT2701
488c2ecf20Sopenharmony_ci	bool "Mediatek MT2701 pin control"
498c2ecf20Sopenharmony_ci	depends on MACH_MT7623 || MACH_MT2701 || COMPILE_TEST
508c2ecf20Sopenharmony_ci	depends on OF
518c2ecf20Sopenharmony_ci	default MACH_MT2701
528c2ecf20Sopenharmony_ci	select PINCTRL_MTK
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ciconfig PINCTRL_MT7623
558c2ecf20Sopenharmony_ci	bool "Mediatek MT7623 pin control with generic binding"
568c2ecf20Sopenharmony_ci	depends on MACH_MT7623 || COMPILE_TEST
578c2ecf20Sopenharmony_ci	depends on OF
588c2ecf20Sopenharmony_ci	default MACH_MT7623
598c2ecf20Sopenharmony_ci	select PINCTRL_MTK_MOORE
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciconfig PINCTRL_MT7629
628c2ecf20Sopenharmony_ci	bool "Mediatek MT7629 pin control"
638c2ecf20Sopenharmony_ci	depends on MACH_MT7629 || COMPILE_TEST
648c2ecf20Sopenharmony_ci	depends on OF
658c2ecf20Sopenharmony_ci	default MACH_MT7629
668c2ecf20Sopenharmony_ci	select PINCTRL_MTK_MOORE
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciconfig PINCTRL_MT8135
698c2ecf20Sopenharmony_ci	bool "Mediatek MT8135 pin control"
708c2ecf20Sopenharmony_ci	depends on MACH_MT8135 || COMPILE_TEST
718c2ecf20Sopenharmony_ci	depends on OF
728c2ecf20Sopenharmony_ci	default MACH_MT8135
738c2ecf20Sopenharmony_ci	select PINCTRL_MTK
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ciconfig PINCTRL_MT8127
768c2ecf20Sopenharmony_ci	bool "Mediatek MT8127 pin control"
778c2ecf20Sopenharmony_ci	depends on MACH_MT8127 || COMPILE_TEST
788c2ecf20Sopenharmony_ci	depends on OF
798c2ecf20Sopenharmony_ci	default MACH_MT8127
808c2ecf20Sopenharmony_ci	select PINCTRL_MTK
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci# For ARMv8 SoCs
838c2ecf20Sopenharmony_ciconfig PINCTRL_MT2712
848c2ecf20Sopenharmony_ci	bool "MediaTek MT2712 pin control"
858c2ecf20Sopenharmony_ci	depends on OF
868c2ecf20Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
878c2ecf20Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
888c2ecf20Sopenharmony_ci	select PINCTRL_MTK
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ciconfig PINCTRL_MT6765
918c2ecf20Sopenharmony_ci	tristate "Mediatek MT6765 pin control"
928c2ecf20Sopenharmony_ci	depends on OF
938c2ecf20Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
948c2ecf20Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
958c2ecf20Sopenharmony_ci	select PINCTRL_MTK_PARIS
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciconfig PINCTRL_MT6779
988c2ecf20Sopenharmony_ci	tristate "Mediatek MT6779 pin control"
998c2ecf20Sopenharmony_ci	depends on OF
1008c2ecf20Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
1018c2ecf20Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
1028c2ecf20Sopenharmony_ci	select PINCTRL_MTK_PARIS
1038c2ecf20Sopenharmony_ci	help
1048c2ecf20Sopenharmony_ci	  Say yes here to support pin controller and gpio driver
1058c2ecf20Sopenharmony_ci	  on Mediatek MT6779 SoC.
1068c2ecf20Sopenharmony_ci	  In MTK platform, we support virtual gpio and use it to
1078c2ecf20Sopenharmony_ci	  map specific eint which doesn't have real gpio pin.
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ciconfig PINCTRL_MT6797
1108c2ecf20Sopenharmony_ci	bool "Mediatek MT6797 pin control"
1118c2ecf20Sopenharmony_ci	depends on OF
1128c2ecf20Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
1138c2ecf20Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
1148c2ecf20Sopenharmony_ci	select PINCTRL_MTK_PARIS
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ciconfig PINCTRL_MT7622
1178c2ecf20Sopenharmony_ci	bool "MediaTek MT7622 pin control"
1188c2ecf20Sopenharmony_ci	depends on OF
1198c2ecf20Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
1208c2ecf20Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
1218c2ecf20Sopenharmony_ci	select PINCTRL_MTK_MOORE
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ciconfig PINCTRL_MT8167
1248c2ecf20Sopenharmony_ci	bool "Mediatek MT8167 pin control"
1258c2ecf20Sopenharmony_ci	depends on OF
1268c2ecf20Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
1278c2ecf20Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
1288c2ecf20Sopenharmony_ci	select PINCTRL_MTK
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ciconfig PINCTRL_MT8173
1318c2ecf20Sopenharmony_ci	bool "Mediatek MT8173 pin control"
1328c2ecf20Sopenharmony_ci	depends on OF
1338c2ecf20Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
1348c2ecf20Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
1358c2ecf20Sopenharmony_ci	select PINCTRL_MTK
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciconfig PINCTRL_MT8183
1388c2ecf20Sopenharmony_ci	bool "Mediatek MT8183 pin control"
1398c2ecf20Sopenharmony_ci	depends on OF
1408c2ecf20Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
1418c2ecf20Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
1428c2ecf20Sopenharmony_ci	select PINCTRL_MTK_PARIS
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ciconfig PINCTRL_MT8192
1458c2ecf20Sopenharmony_ci	bool "Mediatek MT8192 pin control"
1468c2ecf20Sopenharmony_ci	depends on OF
1478c2ecf20Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
1488c2ecf20Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
1498c2ecf20Sopenharmony_ci	select PINCTRL_MTK_PARIS
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ciconfig PINCTRL_MT8516
1528c2ecf20Sopenharmony_ci	bool "Mediatek MT8516 pin control"
1538c2ecf20Sopenharmony_ci	depends on OF
1548c2ecf20Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
1558c2ecf20Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
1568c2ecf20Sopenharmony_ci	select PINCTRL_MTK
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ci# For PMIC
1598c2ecf20Sopenharmony_ciconfig PINCTRL_MT6397
1608c2ecf20Sopenharmony_ci	bool "Mediatek MT6397 pin control"
1618c2ecf20Sopenharmony_ci	depends on MFD_MT6397 || COMPILE_TEST
1628c2ecf20Sopenharmony_ci	depends on OF
1638c2ecf20Sopenharmony_ci	default MFD_MT6397
1648c2ecf20Sopenharmony_ci	select PINCTRL_MTK
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ciendmenu
167