162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenu "MediaTek pinctrl drivers"
362306a36Sopenharmony_ci	depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciconfig EINT_MTK
662306a36Sopenharmony_ci	tristate "MediaTek External Interrupt Support"
762306a36Sopenharmony_ci	depends on PINCTRL_MTK || PINCTRL_MTK_MOORE || PINCTRL_MTK_PARIS || COMPILE_TEST
862306a36Sopenharmony_ci	select GPIOLIB
962306a36Sopenharmony_ci	select IRQ_DOMAIN
1062306a36Sopenharmony_ci	default y if PINCTRL_MTK || PINCTRL_MTK_MOORE
1162306a36Sopenharmony_ci	default PINCTRL_MTK_PARIS
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciconfig PINCTRL_MTK
1462306a36Sopenharmony_ci	bool
1562306a36Sopenharmony_ci	depends on OF
1662306a36Sopenharmony_ci	select PINMUX
1762306a36Sopenharmony_ci	select GENERIC_PINCONF
1862306a36Sopenharmony_ci	select GPIOLIB
1962306a36Sopenharmony_ci	select EINT_MTK
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig PINCTRL_MTK_V2
2262306a36Sopenharmony_ci	tristate
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciconfig PINCTRL_MTK_MTMIPS
2562306a36Sopenharmony_ci	bool
2662306a36Sopenharmony_ci	depends on RALINK
2762306a36Sopenharmony_ci	select PINMUX
2862306a36Sopenharmony_ci	select GENERIC_PINCONF
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciconfig PINCTRL_MTK_MOORE
3162306a36Sopenharmony_ci	bool
3262306a36Sopenharmony_ci	depends on OF
3362306a36Sopenharmony_ci	select GENERIC_PINCONF
3462306a36Sopenharmony_ci	select GENERIC_PINCTRL_GROUPS
3562306a36Sopenharmony_ci	select GENERIC_PINMUX_FUNCTIONS
3662306a36Sopenharmony_ci	select GPIOLIB
3762306a36Sopenharmony_ci	select EINT_MTK
3862306a36Sopenharmony_ci	select PINCTRL_MTK_V2
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciconfig PINCTRL_MTK_PARIS
4162306a36Sopenharmony_ci	tristate
4262306a36Sopenharmony_ci	depends on OF
4362306a36Sopenharmony_ci	select PINMUX
4462306a36Sopenharmony_ci	select GENERIC_PINCONF
4562306a36Sopenharmony_ci	select GPIOLIB
4662306a36Sopenharmony_ci	select EINT_MTK
4762306a36Sopenharmony_ci	select PINCTRL_MTK_V2
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci# For MIPS SoCs
5062306a36Sopenharmony_ciconfig PINCTRL_MT7620
5162306a36Sopenharmony_ci	bool "MediaTek MT7620 pin control"
5262306a36Sopenharmony_ci	depends on SOC_MT7620 || COMPILE_TEST
5362306a36Sopenharmony_ci	depends on RALINK
5462306a36Sopenharmony_ci	default SOC_MT7620
5562306a36Sopenharmony_ci	select PINCTRL_MTK_MTMIPS
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig PINCTRL_MT7621
5862306a36Sopenharmony_ci	bool "MediaTek MT7621 pin control"
5962306a36Sopenharmony_ci	depends on SOC_MT7621 || COMPILE_TEST
6062306a36Sopenharmony_ci	depends on RALINK
6162306a36Sopenharmony_ci	default SOC_MT7621
6262306a36Sopenharmony_ci	select PINCTRL_MTK_MTMIPS
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciconfig PINCTRL_MT76X8
6562306a36Sopenharmony_ci	bool "MediaTek MT76X8 pin control"
6662306a36Sopenharmony_ci	depends on SOC_MT7620 || COMPILE_TEST
6762306a36Sopenharmony_ci	depends on RALINK
6862306a36Sopenharmony_ci	default SOC_MT7620
6962306a36Sopenharmony_ci	select PINCTRL_MTK_MTMIPS
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciconfig PINCTRL_RT2880
7262306a36Sopenharmony_ci	bool "Ralink RT2880 pin control"
7362306a36Sopenharmony_ci	depends on SOC_RT288X || COMPILE_TEST
7462306a36Sopenharmony_ci	depends on RALINK
7562306a36Sopenharmony_ci	default SOC_RT288X
7662306a36Sopenharmony_ci	select PINCTRL_MTK_MTMIPS
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciconfig PINCTRL_RT305X
7962306a36Sopenharmony_ci	bool "Ralink RT305X pin control"
8062306a36Sopenharmony_ci	depends on SOC_RT305X || COMPILE_TEST
8162306a36Sopenharmony_ci	depends on RALINK
8262306a36Sopenharmony_ci	default SOC_RT305X
8362306a36Sopenharmony_ci	select PINCTRL_MTK_MTMIPS
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciconfig PINCTRL_RT3883
8662306a36Sopenharmony_ci	bool "Ralink RT3883 pin control"
8762306a36Sopenharmony_ci	depends on SOC_RT3883 || COMPILE_TEST
8862306a36Sopenharmony_ci	depends on RALINK
8962306a36Sopenharmony_ci	default SOC_RT3883
9062306a36Sopenharmony_ci	select PINCTRL_MTK_MTMIPS
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci# For ARMv7 SoCs
9362306a36Sopenharmony_ciconfig PINCTRL_MT2701
9462306a36Sopenharmony_ci	bool "MediaTek MT2701 pin control"
9562306a36Sopenharmony_ci	depends on MACH_MT7623 || MACH_MT2701 || COMPILE_TEST
9662306a36Sopenharmony_ci	depends on OF
9762306a36Sopenharmony_ci	default MACH_MT2701
9862306a36Sopenharmony_ci	select PINCTRL_MTK
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ciconfig PINCTRL_MT7623
10162306a36Sopenharmony_ci	bool "MediaTek MT7623 pin control with generic binding"
10262306a36Sopenharmony_ci	depends on MACH_MT7623 || COMPILE_TEST
10362306a36Sopenharmony_ci	depends on OF
10462306a36Sopenharmony_ci	default MACH_MT7623
10562306a36Sopenharmony_ci	select PINCTRL_MTK_MOORE
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ciconfig PINCTRL_MT7629
10862306a36Sopenharmony_ci	bool "MediaTek MT7629 pin control"
10962306a36Sopenharmony_ci	depends on MACH_MT7629 || COMPILE_TEST
11062306a36Sopenharmony_ci	depends on OF
11162306a36Sopenharmony_ci	default MACH_MT7629
11262306a36Sopenharmony_ci	select PINCTRL_MTK_MOORE
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ciconfig PINCTRL_MT8135
11562306a36Sopenharmony_ci	bool "MediaTek MT8135 pin control"
11662306a36Sopenharmony_ci	depends on MACH_MT8135 || COMPILE_TEST
11762306a36Sopenharmony_ci	depends on OF
11862306a36Sopenharmony_ci	default MACH_MT8135
11962306a36Sopenharmony_ci	select PINCTRL_MTK
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ciconfig PINCTRL_MT8127
12262306a36Sopenharmony_ci	bool "MediaTek MT8127 pin control"
12362306a36Sopenharmony_ci	depends on MACH_MT8127 || COMPILE_TEST
12462306a36Sopenharmony_ci	depends on OF
12562306a36Sopenharmony_ci	default MACH_MT8127
12662306a36Sopenharmony_ci	select PINCTRL_MTK
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci# For ARMv8 SoCs
12962306a36Sopenharmony_ciconfig PINCTRL_MT2712
13062306a36Sopenharmony_ci	bool "MediaTek MT2712 pin control"
13162306a36Sopenharmony_ci	depends on OF
13262306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
13362306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
13462306a36Sopenharmony_ci	select PINCTRL_MTK
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ciconfig PINCTRL_MT6765
13762306a36Sopenharmony_ci	tristate "MediaTek MT6765 pin control"
13862306a36Sopenharmony_ci	depends on OF
13962306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
14062306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
14162306a36Sopenharmony_ci	select PINCTRL_MTK_PARIS
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ciconfig PINCTRL_MT6779
14462306a36Sopenharmony_ci	tristate "MediaTek MT6779 pin control"
14562306a36Sopenharmony_ci	depends on OF
14662306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
14762306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
14862306a36Sopenharmony_ci	select PINCTRL_MTK_PARIS
14962306a36Sopenharmony_ci	help
15062306a36Sopenharmony_ci	  Say yes here to support pin controller and gpio driver
15162306a36Sopenharmony_ci	  on MediaTek MT6779 SoC.
15262306a36Sopenharmony_ci	  In MTK platform, we support virtual gpio and use it to
15362306a36Sopenharmony_ci	  map specific eint which doesn't have real gpio pin.
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ciconfig PINCTRL_MT6795
15662306a36Sopenharmony_ci	bool "MediaTek MT6795 pin control"
15762306a36Sopenharmony_ci	depends on OF
15862306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
15962306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
16062306a36Sopenharmony_ci	select PINCTRL_MTK_PARIS
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ciconfig PINCTRL_MT6797
16362306a36Sopenharmony_ci	bool "MediaTek MT6797 pin control"
16462306a36Sopenharmony_ci	depends on OF
16562306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
16662306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
16762306a36Sopenharmony_ci	select PINCTRL_MTK_PARIS
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ciconfig PINCTRL_MT7622
17062306a36Sopenharmony_ci	bool "MediaTek MT7622 pin control"
17162306a36Sopenharmony_ci	depends on OF
17262306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
17362306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
17462306a36Sopenharmony_ci	select PINCTRL_MTK_MOORE
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ciconfig PINCTRL_MT7981
17762306a36Sopenharmony_ci	bool "MediaTek MT7981 pin control"
17862306a36Sopenharmony_ci	depends on OF
17962306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
18062306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
18162306a36Sopenharmony_ci	select PINCTRL_MTK_MOORE
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ciconfig PINCTRL_MT7986
18462306a36Sopenharmony_ci	bool "MediaTek MT7986 pin control"
18562306a36Sopenharmony_ci	depends on OF
18662306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
18762306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
18862306a36Sopenharmony_ci	select PINCTRL_MTK_MOORE
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ciconfig PINCTRL_MT8167
19162306a36Sopenharmony_ci	bool "MediaTek MT8167 pin control"
19262306a36Sopenharmony_ci	depends on OF
19362306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
19462306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
19562306a36Sopenharmony_ci	select PINCTRL_MTK
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ciconfig PINCTRL_MT8173
19862306a36Sopenharmony_ci	bool "MediaTek MT8173 pin control"
19962306a36Sopenharmony_ci	depends on OF
20062306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
20162306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
20262306a36Sopenharmony_ci	select PINCTRL_MTK
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ciconfig PINCTRL_MT8183
20562306a36Sopenharmony_ci	bool "MediaTek MT8183 pin control"
20662306a36Sopenharmony_ci	depends on OF
20762306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
20862306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
20962306a36Sopenharmony_ci	select PINCTRL_MTK_PARIS
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ciconfig PINCTRL_MT8186
21262306a36Sopenharmony_ci	bool "MediaTek MT8186 pin control"
21362306a36Sopenharmony_ci	depends on OF
21462306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
21562306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
21662306a36Sopenharmony_ci	select PINCTRL_MTK_PARIS
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ciconfig PINCTRL_MT8188
21962306a36Sopenharmony_ci	bool "MediaTek MT8188 pin control"
22062306a36Sopenharmony_ci	depends on OF
22162306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
22262306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
22362306a36Sopenharmony_ci	select PINCTRL_MTK_PARIS
22462306a36Sopenharmony_ci	help
22562306a36Sopenharmony_ci	  Say yes here to support pin controller and gpio driver
22662306a36Sopenharmony_ci	  on MediaTek MT8188 SoC.
22762306a36Sopenharmony_ci	  In MTK platform, we support virtual gpio and use it to
22862306a36Sopenharmony_ci	  map specific eint which doesn't have real gpio pin.
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ciconfig PINCTRL_MT8192
23162306a36Sopenharmony_ci	bool "MediaTek MT8192 pin control"
23262306a36Sopenharmony_ci	depends on OF
23362306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
23462306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
23562306a36Sopenharmony_ci	select PINCTRL_MTK_PARIS
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ciconfig PINCTRL_MT8195
23862306a36Sopenharmony_ci	bool "MediaTek MT8195 pin control"
23962306a36Sopenharmony_ci	depends on OF
24062306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
24162306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
24262306a36Sopenharmony_ci	select PINCTRL_MTK_PARIS
24362306a36Sopenharmony_ci
24462306a36Sopenharmony_ciconfig PINCTRL_MT8365
24562306a36Sopenharmony_ci	bool "MediaTek MT8365 pin control"
24662306a36Sopenharmony_ci	depends on OF
24762306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
24862306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
24962306a36Sopenharmony_ci	select PINCTRL_MTK
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ciconfig PINCTRL_MT8516
25262306a36Sopenharmony_ci	bool "MediaTek MT8516 pin control"
25362306a36Sopenharmony_ci	depends on OF
25462306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
25562306a36Sopenharmony_ci	default ARM64 && ARCH_MEDIATEK
25662306a36Sopenharmony_ci	select PINCTRL_MTK
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ci# For PMIC
25962306a36Sopenharmony_ciconfig PINCTRL_MT6397
26062306a36Sopenharmony_ci	bool "MediaTek MT6397 pin control"
26162306a36Sopenharmony_ci	depends on MFD_MT6397 || COMPILE_TEST
26262306a36Sopenharmony_ci	depends on OF
26362306a36Sopenharmony_ci	default MFD_MT6397
26462306a36Sopenharmony_ci	select PINCTRL_MTK
26562306a36Sopenharmony_ci
26662306a36Sopenharmony_ciendmenu
267