GNU Linux-libre 4.19.286-gnu1
[releases.git] / drivers / pinctrl / mediatek / pinctrl-mtk-mt6397.h
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
8 static 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 */