1 #ifndef __PINCTRL_MTK_MT6397_H
2 #define __PINCTRL_MTK_MT6397_H
3 
4 #include <linux/pinctrl/pinctrl.h>
5 #include "pinctrl-mtk-common.h"
6 
7 static const struct mtk_desc_pin mtk_pins_mt6397[] = {
8 	MTK_PIN(
9 		PINCTRL_PIN(0, "INT"),
10 		"N2", "mt6397",
11 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
12 		MTK_FUNCTION(0, "GPIO0"),
13 		MTK_FUNCTION(1, "INT")
14 	),
15 	MTK_PIN(
16 		PINCTRL_PIN(1, "SRCVOLTEN"),
17 		"M4", "mt6397",
18 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
19 		MTK_FUNCTION(0, "GPIO1"),
20 		MTK_FUNCTION(1, "SRCVOLTEN"),
21 		MTK_FUNCTION(6, "TEST_CK1")
22 	),
23 	MTK_PIN(
24 		PINCTRL_PIN(2, "SRCLKEN_PERI"),
25 		"M2", "mt6397",
26 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
27 		MTK_FUNCTION(0, "GPIO2"),
28 		MTK_FUNCTION(1, "SRCLKEN_PERI"),
29 		MTK_FUNCTION(6, "TEST_CK2")
30 	),
31 	MTK_PIN(
32 		PINCTRL_PIN(3, "RTC_32K1V8"),
33 		"K3", "mt6397",
34 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
35 		MTK_FUNCTION(0, "GPIO3"),
36 		MTK_FUNCTION(1, "RTC_32K1V8"),
37 		MTK_FUNCTION(6, "TEST_CK3")
38 	),
39 	MTK_PIN(
40 		PINCTRL_PIN(4, "WRAP_EVENT"),
41 		"J2", "mt6397",
42 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
43 		MTK_FUNCTION(0, "GPIO4"),
44 		MTK_FUNCTION(1, "WRAP_EVENT")
45 	),
46 	MTK_PIN(
47 		PINCTRL_PIN(5, "SPI_CLK"),
48 		"L4", "mt6397",
49 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
50 		MTK_FUNCTION(0, "GPIO5"),
51 		MTK_FUNCTION(1, "SPI_CLK")
52 	),
53 	MTK_PIN(
54 		PINCTRL_PIN(6, "SPI_CSN"),
55 		"J3", "mt6397",
56 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
57 		MTK_FUNCTION(0, "GPIO6"),
58 		MTK_FUNCTION(1, "SPI_CSN")
59 	),
60 	MTK_PIN(
61 		PINCTRL_PIN(7, "SPI_MOSI"),
62 		"J1", "mt6397",
63 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
64 		MTK_FUNCTION(0, "GPIO7"),
65 		MTK_FUNCTION(1, "SPI_MOSI")
66 	),
67 	MTK_PIN(
68 		PINCTRL_PIN(8, "SPI_MISO"),
69 		"L3", "mt6397",
70 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
71 		MTK_FUNCTION(0, "GPIO8"),
72 		MTK_FUNCTION(1, "SPI_MISO")
73 	),
74 	MTK_PIN(
75 		PINCTRL_PIN(9, "AUD_CLK_MOSI"),
76 		"H2", "mt6397",
77 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
78 		MTK_FUNCTION(0, "GPIO9"),
79 		MTK_FUNCTION(1, "AUD_CLK"),
80 		MTK_FUNCTION(6, "TEST_IN0"),
81 		MTK_FUNCTION(7, "TEST_OUT0")
82 	),
83 	MTK_PIN(
84 		PINCTRL_PIN(10, "AUD_DAT_MISO"),
85 		"H3", "mt6397",
86 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
87 		MTK_FUNCTION(0, "GPIO10"),
88 		MTK_FUNCTION(1, "AUD_MISO"),
89 		MTK_FUNCTION(6, "TEST_IN1"),
90 		MTK_FUNCTION(7, "TEST_OUT1")
91 	),
92 	MTK_PIN(
93 		PINCTRL_PIN(11, "AUD_DAT_MOSI"),
94 		"H1", "mt6397",
95 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
96 		MTK_FUNCTION(0, "GPIO11"),
97 		MTK_FUNCTION(1, "AUD_MOSI"),
98 		MTK_FUNCTION(6, "TEST_IN2"),
99 		MTK_FUNCTION(7, "TEST_OUT2")
100 	),
101 	MTK_PIN(
102 		PINCTRL_PIN(12, "COL0"),
103 		"F3", "mt6397",
104 		MTK_EINT_FUNCTION(2, 10),
105 		MTK_FUNCTION(0, "GPIO12"),
106 		MTK_FUNCTION(1, "COL0_USBDL"),
107 		MTK_FUNCTION(2, "EINT10_1X"),
108 		MTK_FUNCTION(3, "PWM1_3X"),
109 		MTK_FUNCTION(6, "TEST_IN3"),
110 		MTK_FUNCTION(7, "TEST_OUT3")
111 	),
112 	MTK_PIN(
113 		PINCTRL_PIN(13, "COL1"),
114 		"G8", "mt6397",
115 		MTK_EINT_FUNCTION(2, 11),
116 		MTK_FUNCTION(0, "GPIO13"),
117 		MTK_FUNCTION(1, "COL1"),
118 		MTK_FUNCTION(2, "EINT11_1X"),
119 		MTK_FUNCTION(3, "SCL0_2X"),
120 		MTK_FUNCTION(6, "TEST_IN4"),
121 		MTK_FUNCTION(7, "TEST_OUT4")
122 	),
123 	MTK_PIN(
124 		PINCTRL_PIN(14, "COL2"),
125 		"H4", "mt6397",
126 		MTK_EINT_FUNCTION(2, 12),
127 		MTK_FUNCTION(0, "GPIO14"),
128 		MTK_FUNCTION(1, "COL2"),
129 		MTK_FUNCTION(2, "EINT12_1X"),
130 		MTK_FUNCTION(3, "SDA0_2X"),
131 		MTK_FUNCTION(6, "TEST_IN5"),
132 		MTK_FUNCTION(7, "TEST_OUT5")
133 	),
134 	MTK_PIN(
135 		PINCTRL_PIN(15, "COL3"),
136 		"G2", "mt6397",
137 		MTK_EINT_FUNCTION(2, 13),
138 		MTK_FUNCTION(0, "GPIO15"),
139 		MTK_FUNCTION(1, "COL3"),
140 		MTK_FUNCTION(2, "EINT13_1X"),
141 		MTK_FUNCTION(3, "SCL1_2X"),
142 		MTK_FUNCTION(6, "TEST_IN6"),
143 		MTK_FUNCTION(7, "TEST_OUT6")
144 	),
145 	MTK_PIN(
146 		PINCTRL_PIN(16, "COL4"),
147 		"F2", "mt6397",
148 		MTK_EINT_FUNCTION(2, 14),
149 		MTK_FUNCTION(0, "GPIO16"),
150 		MTK_FUNCTION(1, "COL4"),
151 		MTK_FUNCTION(2, "EINT14_1X"),
152 		MTK_FUNCTION(3, "SDA1_2X"),
153 		MTK_FUNCTION(6, "TEST_IN7"),
154 		MTK_FUNCTION(7, "TEST_OUT7")
155 	),
156 	MTK_PIN(
157 		PINCTRL_PIN(17, "COL5"),
158 		"G7", "mt6397",
159 		MTK_EINT_FUNCTION(2, 15),
160 		MTK_FUNCTION(0, "GPIO17"),
161 		MTK_FUNCTION(1, "COL5"),
162 		MTK_FUNCTION(2, "EINT15_1X"),
163 		MTK_FUNCTION(3, "SCL2_2X"),
164 		MTK_FUNCTION(6, "TEST_IN8"),
165 		MTK_FUNCTION(7, "TEST_OUT8")
166 	),
167 	MTK_PIN(
168 		PINCTRL_PIN(18, "COL6"),
169 		"J6", "mt6397",
170 		MTK_EINT_FUNCTION(2, 16),
171 		MTK_FUNCTION(0, "GPIO18"),
172 		MTK_FUNCTION(1, "COL6"),
173 		MTK_FUNCTION(2, "EINT16_1X"),
174 		MTK_FUNCTION(3, "SDA2_2X"),
175 		MTK_FUNCTION(4, "GPIO32K_0"),
176 		MTK_FUNCTION(5, "GPIO26M_0"),
177 		MTK_FUNCTION(6, "TEST_IN9"),
178 		MTK_FUNCTION(7, "TEST_OUT9")
179 	),
180 	MTK_PIN(
181 		PINCTRL_PIN(19, "COL7"),
182 		"J5", "mt6397",
183 		MTK_EINT_FUNCTION(2, 17),
184 		MTK_FUNCTION(0, "GPIO19"),
185 		MTK_FUNCTION(1, "COL7"),
186 		MTK_FUNCTION(2, "EINT17_1X"),
187 		MTK_FUNCTION(3, "PWM2_3X"),
188 		MTK_FUNCTION(4, "GPIO32K_1"),
189 		MTK_FUNCTION(5, "GPIO26M_1"),
190 		MTK_FUNCTION(6, "TEST_IN10"),
191 		MTK_FUNCTION(7, "TEST_OUT10")
192 	),
193 	MTK_PIN(
194 		PINCTRL_PIN(20, "ROW0"),
195 		"L7", "mt6397",
196 		MTK_EINT_FUNCTION(2, 18),
197 		MTK_FUNCTION(0, "GPIO20"),
198 		MTK_FUNCTION(1, "ROW0"),
199 		MTK_FUNCTION(2, "EINT18_1X"),
200 		MTK_FUNCTION(3, "SCL0_3X"),
201 		MTK_FUNCTION(6, "TEST_IN11"),
202 		MTK_FUNCTION(7, "TEST_OUT11")
203 	),
204 	MTK_PIN(
205 		PINCTRL_PIN(21, "ROW1"),
206 		"P1", "mt6397",
207 		MTK_EINT_FUNCTION(2, 19),
208 		MTK_FUNCTION(0, "GPIO21"),
209 		MTK_FUNCTION(1, "ROW1"),
210 		MTK_FUNCTION(2, "EINT19_1X"),
211 		MTK_FUNCTION(3, "SDA0_3X"),
212 		MTK_FUNCTION(4, "AUD_TSTCK"),
213 		MTK_FUNCTION(6, "TEST_IN12"),
214 		MTK_FUNCTION(7, "TEST_OUT12")
215 	),
216 	MTK_PIN(
217 		PINCTRL_PIN(22, "ROW2"),
218 		"J8", "mt6397",
219 		MTK_EINT_FUNCTION(2, 20),
220 		MTK_FUNCTION(0, "GPIO22"),
221 		MTK_FUNCTION(1, "ROW2"),
222 		MTK_FUNCTION(2, "EINT20_1X"),
223 		MTK_FUNCTION(3, "SCL1_3X"),
224 		MTK_FUNCTION(6, "TEST_IN13"),
225 		MTK_FUNCTION(7, "TEST_OUT13")
226 	),
227 	MTK_PIN(
228 		PINCTRL_PIN(23, "ROW3"),
229 		"J7", "mt6397",
230 		MTK_EINT_FUNCTION(2, 21),
231 		MTK_FUNCTION(0, "GPIO23"),
232 		MTK_FUNCTION(1, "ROW3"),
233 		MTK_FUNCTION(2, "EINT21_1X"),
234 		MTK_FUNCTION(3, "SDA1_3X"),
235 		MTK_FUNCTION(6, "TEST_IN14"),
236 		MTK_FUNCTION(7, "TEST_OUT14")
237 	),
238 	MTK_PIN(
239 		PINCTRL_PIN(24, "ROW4"),
240 		"L5", "mt6397",
241 		MTK_EINT_FUNCTION(2, 22),
242 		MTK_FUNCTION(0, "GPIO24"),
243 		MTK_FUNCTION(1, "ROW4"),
244 		MTK_FUNCTION(2, "EINT22_1X"),
245 		MTK_FUNCTION(3, "SCL2_3X"),
246 		MTK_FUNCTION(6, "TEST_IN15"),
247 		MTK_FUNCTION(7, "TEST_OUT15")
248 	),
249 	MTK_PIN(
250 		PINCTRL_PIN(25, "ROW5"),
251 		"N6", "mt6397",
252 		MTK_EINT_FUNCTION(2, 23),
253 		MTK_FUNCTION(0, "GPIO25"),
254 		MTK_FUNCTION(1, "ROW5"),
255 		MTK_FUNCTION(2, "EINT23_1X"),
256 		MTK_FUNCTION(3, "SDA2_3X"),
257 		MTK_FUNCTION(6, "TEST_IN16"),
258 		MTK_FUNCTION(7, "TEST_OUT16")
259 	),
260 	MTK_PIN(
261 		PINCTRL_PIN(26, "ROW6"),
262 		"L6", "mt6397",
263 		MTK_EINT_FUNCTION(2, 24),
264 		MTK_FUNCTION(0, "GPIO26"),
265 		MTK_FUNCTION(1, "ROW6"),
266 		MTK_FUNCTION(2, "EINT24_1X"),
267 		MTK_FUNCTION(3, "PWM3_3X"),
268 		MTK_FUNCTION(4, "GPIO32K_2"),
269 		MTK_FUNCTION(5, "GPIO26M_2"),
270 		MTK_FUNCTION(6, "TEST_IN17"),
271 		MTK_FUNCTION(7, "TEST_OUT17")
272 	),
273 	MTK_PIN(
274 		PINCTRL_PIN(27, "ROW7"),
275 		"P2", "mt6397",
276 		MTK_EINT_FUNCTION(2, 3),
277 		MTK_FUNCTION(0, "GPIO27"),
278 		MTK_FUNCTION(1, "ROW7"),
279 		MTK_FUNCTION(2, "EINT3_1X"),
280 		MTK_FUNCTION(3, "CBUS"),
281 		MTK_FUNCTION(4, "GPIO32K_3"),
282 		MTK_FUNCTION(5, "GPIO26M_3"),
283 		MTK_FUNCTION(6, "TEST_IN18"),
284 		MTK_FUNCTION(7, "TEST_OUT18")
285 	),
286 	MTK_PIN(
287 		PINCTRL_PIN(28, "PWM1(VMSEL1)"),
288 		"J4", "mt6397",
289 		MTK_EINT_FUNCTION(2, 4),
290 		MTK_FUNCTION(0, "GPIO28"),
291 		MTK_FUNCTION(1, "PWM1"),
292 		MTK_FUNCTION(2, "EINT4_1X"),
293 		MTK_FUNCTION(4, "GPIO32K_4"),
294 		MTK_FUNCTION(5, "GPIO26M_4"),
295 		MTK_FUNCTION(6, "TEST_IN19"),
296 		MTK_FUNCTION(7, "TEST_OUT19")
297 	),
298 	MTK_PIN(
299 		PINCTRL_PIN(29, "PWM2(VMSEL2)"),
300 		"N5", "mt6397",
301 		MTK_EINT_FUNCTION(2, 5),
302 		MTK_FUNCTION(0, "GPIO29"),
303 		MTK_FUNCTION(1, "PWM2"),
304 		MTK_FUNCTION(2, "EINT5_1X"),
305 		MTK_FUNCTION(4, "GPIO32K_5"),
306 		MTK_FUNCTION(5, "GPIO26M_5"),
307 		MTK_FUNCTION(6, "TEST_IN20"),
308 		MTK_FUNCTION(7, "TEST_OUT20")
309 	),
310 	MTK_PIN(
311 		PINCTRL_PIN(30, "PWM3(PWM)"),
312 		"R3", "mt6397",
313 		MTK_EINT_FUNCTION(2, 6),
314 		MTK_FUNCTION(0, "GPIO30"),
315 		MTK_FUNCTION(1, "PWM3"),
316 		MTK_FUNCTION(2, "EINT6_1X"),
317 		MTK_FUNCTION(3, "COL0"),
318 		MTK_FUNCTION(4, "GPIO32K_6"),
319 		MTK_FUNCTION(5, "GPIO26M_6"),
320 		MTK_FUNCTION(6, "TEST_IN21"),
321 		MTK_FUNCTION(7, "TEST_OUT21")
322 	),
323 	MTK_PIN(
324 		PINCTRL_PIN(31, "SCL0"),
325 		"N1", "mt6397",
326 		MTK_EINT_FUNCTION(2, 7),
327 		MTK_FUNCTION(0, "GPIO31"),
328 		MTK_FUNCTION(1, "SCL0"),
329 		MTK_FUNCTION(2, "EINT7_1X"),
330 		MTK_FUNCTION(3, "PWM1_2X"),
331 		MTK_FUNCTION(6, "TEST_IN22"),
332 		MTK_FUNCTION(7, "TEST_OUT22")
333 	),
334 	MTK_PIN(
335 		PINCTRL_PIN(32, "SDA0"),
336 		"N3", "mt6397",
337 		MTK_EINT_FUNCTION(2, 8),
338 		MTK_FUNCTION(0, "GPIO32"),
339 		MTK_FUNCTION(1, "SDA0"),
340 		MTK_FUNCTION(2, "EINT8_1X"),
341 		MTK_FUNCTION(6, "TEST_IN23"),
342 		MTK_FUNCTION(7, "TEST_OUT23")
343 	),
344 	MTK_PIN(
345 		PINCTRL_PIN(33, "SCL1"),
346 		"T1", "mt6397",
347 		MTK_EINT_FUNCTION(2, 9),
348 		MTK_FUNCTION(0, "GPIO33"),
349 		MTK_FUNCTION(1, "SCL1"),
350 		MTK_FUNCTION(2, "EINT9_1X"),
351 		MTK_FUNCTION(3, "PWM2_2X"),
352 		MTK_FUNCTION(6, "TEST_IN24"),
353 		MTK_FUNCTION(7, "TEST_OUT24")
354 	),
355 	MTK_PIN(
356 		PINCTRL_PIN(34, "SDA1"),
357 		"T2", "mt6397",
358 		MTK_EINT_FUNCTION(2, 0),
359 		MTK_FUNCTION(0, "GPIO34"),
360 		MTK_FUNCTION(1, "SDA1"),
361 		MTK_FUNCTION(2, "EINT0_1X"),
362 		MTK_FUNCTION(6, "TEST_IN25"),
363 		MTK_FUNCTION(7, "TEST_OUT25")
364 	),
365 	MTK_PIN(
366 		PINCTRL_PIN(35, "SCL2"),
367 		"T3", "mt6397",
368 		MTK_EINT_FUNCTION(2, 1),
369 		MTK_FUNCTION(0, "GPIO35"),
370 		MTK_FUNCTION(1, "SCL2"),
371 		MTK_FUNCTION(2, "EINT1_1X"),
372 		MTK_FUNCTION(3, "PWM3_2X"),
373 		MTK_FUNCTION(6, "TEST_IN26"),
374 		MTK_FUNCTION(7, "TEST_OUT26")
375 	),
376 	MTK_PIN(
377 		PINCTRL_PIN(36, "SDA2"),
378 		"U2", "mt6397",
379 		MTK_EINT_FUNCTION(2, 2),
380 		MTK_FUNCTION(0, "GPIO36"),
381 		MTK_FUNCTION(1, "SDA2"),
382 		MTK_FUNCTION(2, "EINT2_1X"),
383 		MTK_FUNCTION(6, "TEST_IN27"),
384 		MTK_FUNCTION(7, "TEST_OUT27")
385 	),
386 	MTK_PIN(
387 		PINCTRL_PIN(37, "HDMISD"),
388 		"H6", "mt6397",
389 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
390 		MTK_FUNCTION(0, "GPIO37"),
391 		MTK_FUNCTION(1, "HDMISD"),
392 		MTK_FUNCTION(6, "TEST_IN28"),
393 		MTK_FUNCTION(7, "TEST_OUT28")
394 	),
395 	MTK_PIN(
396 		PINCTRL_PIN(38, "HDMISCK"),
397 		"H5", "mt6397",
398 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
399 		MTK_FUNCTION(0, "GPIO38"),
400 		MTK_FUNCTION(1, "HDMISCK"),
401 		MTK_FUNCTION(6, "TEST_IN29"),
402 		MTK_FUNCTION(7, "TEST_OUT29")
403 	),
404 	MTK_PIN(
405 		PINCTRL_PIN(39, "HTPLG"),
406 		"H7", "mt6397",
407 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
408 		MTK_FUNCTION(0, "GPIO39"),
409 		MTK_FUNCTION(1, "HTPLG"),
410 		MTK_FUNCTION(6, "TEST_IN30"),
411 		MTK_FUNCTION(7, "TEST_OUT30")
412 	),
413 	MTK_PIN(
414 		PINCTRL_PIN(40, "CEC"),
415 		"J9", "mt6397",
416 		MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
417 		MTK_FUNCTION(0, "GPIO40"),
418 		MTK_FUNCTION(1, "CEC"),
419 		MTK_FUNCTION(6, "TEST_IN31"),
420 		MTK_FUNCTION(7, "TEST_OUT31")
421 	),
422 };
423 
424 #endif /* __PINCTRL_MTK_MT6397_H */
425