1# SPDX-License-Identifier: GPL-2.0-only
2menu "MediaTek pinctrl drivers"
3	depends on ARCH_MEDIATEK || COMPILE_TEST
4
5config EINT_MTK
6	tristate "MediaTek External Interrupt Support"
7	depends on PINCTRL_MTK || PINCTRL_MTK_MOORE || PINCTRL_MTK_PARIS || COMPILE_TEST
8	select GPIOLIB
9	select IRQ_DOMAIN
10	default y if PINCTRL_MTK || PINCTRL_MTK_MOORE
11	default PINCTRL_MTK_PARIS
12
13config PINCTRL_MTK
14	bool
15	depends on OF
16	select PINMUX
17	select GENERIC_PINCONF
18	select GPIOLIB
19	select EINT_MTK
20	select OF_GPIO
21
22config PINCTRL_MTK_V2
23	tristate
24
25config PINCTRL_MTK_MOORE
26	bool
27	depends on OF
28	select GENERIC_PINCONF
29	select GENERIC_PINCTRL_GROUPS
30	select GENERIC_PINMUX_FUNCTIONS
31	select GPIOLIB
32	select OF_GPIO
33	select EINT_MTK
34	select PINCTRL_MTK_V2
35
36config PINCTRL_MTK_PARIS
37	tristate
38	depends on OF
39	select PINMUX
40	select GENERIC_PINCONF
41	select GPIOLIB
42	select EINT_MTK
43	select OF_GPIO
44	select PINCTRL_MTK_V2
45
46# For ARMv7 SoCs
47config PINCTRL_MT2701
48	bool "Mediatek MT2701 pin control"
49	depends on MACH_MT7623 || MACH_MT2701 || COMPILE_TEST
50	depends on OF
51	default MACH_MT2701
52	select PINCTRL_MTK
53
54config PINCTRL_MT7623
55	bool "Mediatek MT7623 pin control with generic binding"
56	depends on MACH_MT7623 || COMPILE_TEST
57	depends on OF
58	default MACH_MT7623
59	select PINCTRL_MTK_MOORE
60
61config PINCTRL_MT7629
62	bool "Mediatek MT7629 pin control"
63	depends on MACH_MT7629 || COMPILE_TEST
64	depends on OF
65	default MACH_MT7629
66	select PINCTRL_MTK_MOORE
67
68config PINCTRL_MT8135
69	bool "Mediatek MT8135 pin control"
70	depends on MACH_MT8135 || COMPILE_TEST
71	depends on OF
72	default MACH_MT8135
73	select PINCTRL_MTK
74
75config PINCTRL_MT8127
76	bool "Mediatek MT8127 pin control"
77	depends on MACH_MT8127 || COMPILE_TEST
78	depends on OF
79	default MACH_MT8127
80	select PINCTRL_MTK
81
82# For ARMv8 SoCs
83config PINCTRL_MT2712
84	bool "MediaTek MT2712 pin control"
85	depends on OF
86	depends on ARM64 || COMPILE_TEST
87	default ARM64 && ARCH_MEDIATEK
88	select PINCTRL_MTK
89
90config PINCTRL_MT6765
91	tristate "Mediatek MT6765 pin control"
92	depends on OF
93	depends on ARM64 || COMPILE_TEST
94	default ARM64 && ARCH_MEDIATEK
95	select PINCTRL_MTK_PARIS
96
97config PINCTRL_MT6779
98	tristate "Mediatek MT6779 pin control"
99	depends on OF
100	depends on ARM64 || COMPILE_TEST
101	default ARM64 && ARCH_MEDIATEK
102	select PINCTRL_MTK_PARIS
103	help
104	  Say yes here to support pin controller and gpio driver
105	  on Mediatek MT6779 SoC.
106	  In MTK platform, we support virtual gpio and use it to
107	  map specific eint which doesn't have real gpio pin.
108
109config PINCTRL_MT6795
110	bool "Mediatek MT6795 pin control"
111	depends on OF
112	depends on ARM64 || COMPILE_TEST
113	default ARM64 && ARCH_MEDIATEK
114	select PINCTRL_MTK_PARIS
115
116config PINCTRL_MT6797
117	bool "Mediatek MT6797 pin control"
118	depends on OF
119	depends on ARM64 || COMPILE_TEST
120	default ARM64 && ARCH_MEDIATEK
121	select PINCTRL_MTK_PARIS
122
123config PINCTRL_MT7622
124	bool "MediaTek MT7622 pin control"
125	depends on OF
126	depends on ARM64 || COMPILE_TEST
127	default ARM64 && ARCH_MEDIATEK
128	select PINCTRL_MTK_MOORE
129
130config PINCTRL_MT7986
131	bool "Mediatek MT7986 pin control"
132	depends on OF
133	depends on ARM64 || COMPILE_TEST
134	default ARM64 && ARCH_MEDIATEK
135	select PINCTRL_MTK_MOORE
136
137config PINCTRL_MT8167
138	bool "Mediatek MT8167 pin control"
139	depends on OF
140	depends on ARM64 || COMPILE_TEST
141	default ARM64 && ARCH_MEDIATEK
142	select PINCTRL_MTK
143
144config PINCTRL_MT8173
145	bool "Mediatek MT8173 pin control"
146	depends on OF
147	depends on ARM64 || COMPILE_TEST
148	default ARM64 && ARCH_MEDIATEK
149	select PINCTRL_MTK
150
151config PINCTRL_MT8183
152	bool "Mediatek MT8183 pin control"
153	depends on OF
154	depends on ARM64 || COMPILE_TEST
155	default ARM64 && ARCH_MEDIATEK
156	select PINCTRL_MTK_PARIS
157
158config PINCTRL_MT8186
159	bool "Mediatek MT8186 pin control"
160	depends on OF
161	depends on ARM64 || COMPILE_TEST
162	default ARM64 && ARCH_MEDIATEK
163	select PINCTRL_MTK_PARIS
164
165config PINCTRL_MT8188
166	bool "MediaTek MT8188 pin control"
167	depends on OF
168	depends on ARM64 || COMPILE_TEST
169	default ARM64 && ARCH_MEDIATEK
170	select PINCTRL_MTK_PARIS
171	help
172	  Say yes here to support pin controller and gpio driver
173	  on MediaTek MT8188 SoC.
174	  In MTK platform, we support virtual gpio and use it to
175	  map specific eint which doesn't have real gpio pin.
176
177config PINCTRL_MT8192
178	bool "Mediatek MT8192 pin control"
179	depends on OF
180	depends on ARM64 || COMPILE_TEST
181	default ARM64 && ARCH_MEDIATEK
182	select PINCTRL_MTK_PARIS
183
184config PINCTRL_MT8195
185	bool "Mediatek MT8195 pin control"
186	depends on OF
187	depends on ARM64 || COMPILE_TEST
188	default ARM64 && ARCH_MEDIATEK
189	select PINCTRL_MTK_PARIS
190
191config PINCTRL_MT8365
192	bool "Mediatek MT8365 pin control"
193	depends on OF
194	depends on ARM64 || COMPILE_TEST
195	default ARM64 && ARCH_MEDIATEK
196	select PINCTRL_MTK
197
198config PINCTRL_MT8516
199	bool "Mediatek MT8516 pin control"
200	depends on OF
201	depends on ARM64 || COMPILE_TEST
202	default ARM64 && ARCH_MEDIATEK
203	select PINCTRL_MTK
204
205# For PMIC
206config PINCTRL_MT6397
207	bool "Mediatek MT6397 pin control"
208	depends on MFD_MT6397 || COMPILE_TEST
209	depends on OF
210	default MFD_MT6397
211	select PINCTRL_MTK
212
213endmenu
214