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

source code of linux/drivers/pinctrl/mediatek/pinctrl-mtk-mt6397.h