1/*
2 * Copyright (c) 2022 Nuvoton Technology Corporation.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7&pinctrl {
8	/* Prebuild nodes for peripheral device's characteristics (Optional) */
9	/omit-if-no-ref/ vhif_lpc_sl: devctl-vhif-3p3v-lpc {
10		dev-ctl = <0x0 2 2 0x01>;
11	};
12
13	/omit-if-no-ref/ vhif_espi_shi_sl: devctl-vhif-1p8v-espi-shi {
14		dev-ctl = <0x0 2 2 0x02>;
15	};
16
17	/omit-if-no-ref/ ext_flash_tris_off: devctl-fiu-ext-tris-off {
18		dev-ctl = <0x0 6 1 0x00>;
19	};
20
21	/omit-if-no-ref/ ext_flash_tris_on: devctl-fiu-ext-tris-on {
22		dev-ctl = <0x0 6 1 0x01>;
23	};
24
25	/* Prebuild nodes for peripheral device's pin-muxing and pad properties */
26	/* Flash Interface Unit (FIU) */
27	/omit-if-no-ref/ fiu_ext_io0_io1_clk_cs_gpa4_96_a2_a0: periph-fiu-ext {
28		dev-ctl = <0x6 1 1 0x00>; /* Select to external flash */
29		pinmux = <&alt0_gpio_no_fpip>;
30	};
31
32	/omit-if-no-ref/ int_flash_sl: periph-fiu-int {
33		dev-ctl = <0x6 1 1 0x01>; /* Select to internal flash */
34		/* No need for pin-muxing */
35	};
36
37	/* Host peripheral interfaces */
38	/omit-if-no-ref/ espi_lpc_gp46_47_51_52_53_54_55_57: periph-lpc-espi {
39		pinmux = <&alt1_no_lpc_espi>;
40	};
41
42	/* I2C peripheral interfaces */
43	/omit-if-no-ref/ i2c0_0_sda_scl_gpb4_b5: periph-i2c0-0 {
44		pinmux = <&alt2_i2c0_0_sl>;
45		periph-pupd = <0x00 0>;
46	};
47
48	/omit-if-no-ref/ i2c1_0_sda_scl_gp87_90: periph-i2c1-0 {
49		pinmux = <&alt2_i2c1_0_sl>;
50		periph-pupd = <0x00 2>;
51	};
52
53	/omit-if-no-ref/ i2c2_0_sda_scl_gp91_92: periph-i2c2-0 {
54		pinmux = <&alt2_i2c2_0_sl>;
55		periph-pupd = <0x00 4>;
56	};
57
58	/omit-if-no-ref/ i2c3_0_sda_scl_gpd0_d1: periph-i2c3-0 {
59		pinmux = <&alt2_i2c3_0_sl>;
60		periph-pupd = <0x00 6>;
61	};
62
63	/omit-if-no-ref/ i2c4_1_sda_scl_gpf2_f3: periph-i2c4-1 {
64		pinmux = <&alt6_i2c4_1_sl>;
65		periph-pupd = <0x01 2>;
66	};
67
68	/omit-if-no-ref/ i2c5_0_sda_scl_gp33_36: periph-i2c5-0 {
69		pinmux = <&alt2_i2c5_0_sl>;
70		periph-pupd = <0x00 5>;
71	};
72
73	/omit-if-no-ref/ i2c5_1_sda_scl_gpf4_f5: periph-i2c5-1 {
74		pinmux = <&alt6_i2c5_1_sl>;
75		periph-pupd = <0x01 1>;
76	};
77
78	/omit-if-no-ref/ i2c6_0_sda_scl_gpc1_c2: periph-i2c6-0 {
79		pinmux = <&alt2_i2c6_0_sl>;
80		periph-pupd = <0x00 3>;
81	};
82
83	/omit-if-no-ref/ i2c6_1_sda_scl_gpe3_e4: periph-i2c6-1 {
84		pinmux = <&alt6_i2c6_1_sl>;
85		periph-pupd = <0x01 0>;
86	};
87
88	/omit-if-no-ref/ i2c7_0_sda_scl_gpb2_b3: periph-i2c7-0 {
89		pinmux = <&alt2_i2c7_0_sl>;
90		periph-pupd = <0x00 1>;
91	};
92
93	/* PS2 peripheral interfaces */
94	/omit-if-no-ref/ ps2_0_dat_clk_gp67_70: periph-ps2-0 {
95		pinmux = <&alt3_ps2_0_sl>;
96	};
97
98	/omit-if-no-ref/ ps2_1_dat_clk_gp62_63: periph-ps2-1 {
99		pinmux = <&alt3_ps2_1_sl>;
100	};
101
102	/omit-if-no-ref/ ps2_2_dat_clk_gp34_37: periph-ps2-2 {
103		pinmux = <&alt3_ps2_2_sl>;
104	};
105
106	/omit-if-no-ref/ ps2_3_2_dat_clk_gpa6_a7: periph-ps2-3-2 {
107		pinmux = <&altc_ps2_3_sl2>;
108	};
109
110	/* Tachometer peripheral interfaces */
111	/omit-if-no-ref/ ta1_1_in_gp40: periph-ta1-1 {
112		pinmux = <&alt3_ta1_sl1>;
113	};
114
115	/omit-if-no-ref/ ta1_2_in_gp93: periph-ta1-2 {
116		pinmux = <&altc_ta1_sl2>;
117	};
118
119	/omit-if-no-ref/ ta2_1_in_gp73: periph-ta2-1 {
120		pinmux = <&alt3_ta2_sl1>;
121	};
122
123	/omit-if-no-ref/ ta2_2_in_gpa6: periph-ta2-2 {
124		pinmux = <&altc_ta2_sl2>;
125	};
126
127	/omit-if-no-ref/ tb1_1_in_gpa4: periph-tb1-1 {
128		pinmux = <&alt3_tb1_sl1>;
129	};
130
131	/omit-if-no-ref/ tb1_2_in_gpd3: periph-tb1-2 {
132		pinmux = <&altc_tb1_sl2>;
133	};
134
135	/omit-if-no-ref/ tb2_2_in_gpa7: periph-tb2-2 {
136		pinmux = <&altc_tb2_sl2>;
137	};
138
139	/* PWM peripheral interfaces */
140	/omit-if-no-ref/ pwm0_gpc3: periph-pwm0 {
141		pinmux = <&alt4_pwm0_sl>;
142	};
143
144	/omit-if-no-ref/ pwm1_gpc2: periph-pwm1 {
145		pinmux = <&alt4_pwm1_sl>;
146	};
147
148	/omit-if-no-ref/ pwm2_gpc4: periph-pwm2 {
149		pinmux = <&alt4_pwm2_sl>;
150	};
151
152	/omit-if-no-ref/ pwm3_gp80: periph-pwm3 {
153		pinmux = <&alt4_pwm3_sl>;
154	};
155
156	/omit-if-no-ref/ pwm4_gpb6: periph-pwm4 {
157		pinmux = <&alt4_pwm4_sl>;
158	};
159
160	/omit-if-no-ref/ pwm5_gpb7: periph-pwm5 {
161		pinmux = <&alt4_pwm5_sl>;
162	};
163
164	/omit-if-no-ref/ pwm6_gpc0: periph-pwm6 {
165		pinmux = <&alt4_pwm6_sl>;
166	};
167
168	/omit-if-no-ref/ pwm7_gp60: periph-pwm7 {
169		pinmux = <&alt4_pwm7_sl>;
170	};
171
172	/* Keyboard peripheral interfaces. */
173	/omit-if-no-ref/ ksi0_gp31: periph-kbscan-ksi0 {
174		pinmux = <&alt7_no_ksi0_sl>;
175	};
176
177	/omit-if-no-ref/ ksi1_gp30: periph-kbscan-ksi1 {
178		pinmux = <&alt7_no_ksi1_sl>;
179	};
180
181	/omit-if-no-ref/ ksi2_gp27: periph-kbscan-ksi2 {
182		pinmux = <&alt7_no_ksi2_sl>;
183	};
184
185	/omit-if-no-ref/ ksi3_gp26: periph-kbscan-ksi3 {
186		pinmux = <&alt7_no_ksi3_sl>;
187	};
188
189	/omit-if-no-ref/ ksi4_gp25: periph-kbscan-ksi4 {
190		pinmux = <&alt7_no_ksi4_sl>;
191	};
192
193	/omit-if-no-ref/ ksi5_gp24: periph-kbscan-ksi5 {
194		pinmux = <&alt7_no_ksi5_sl>;
195	};
196
197	/omit-if-no-ref/ ksi6_gp23: periph-kbscan-ksi6 {
198		pinmux = <&alt7_no_ksi6_sl>;
199	};
200
201	/omit-if-no-ref/ ksi7_gp22: periph-kbscan-ksi7 {
202		pinmux = <&alt7_no_ksi7_sl>;
203	};
204
205	/omit-if-no-ref/ kso00_gp21: periph-kbscan-kso00 {
206		pinmux = <&alt8_no_kso00_sl>;
207	};
208
209	/omit-if-no-ref/ kso01_gp20: periph-kbscan-kso01 {
210		pinmux = <&alt8_no_kso01_sl>;
211	};
212
213	/omit-if-no-ref/ kso02_gp17: periph-kbscan-kso02 {
214		pinmux = <&alt8_no_kso02_sl>;
215	};
216
217	/omit-if-no-ref/ kso03_gp16: periph-kbscan-kso03 {
218		pinmux = <&alt8_no_kso03_sl>;
219	};
220
221	/omit-if-no-ref/ kso04_gp15: periph-kbscan-kso04 {
222		pinmux = <&alt8_no_kso04_sl>;
223	};
224
225	/omit-if-no-ref/ kso05_gp14: periph-kbscan-kso05 {
226		pinmux = <&alt8_no_kso05_sl>;
227	};
228
229	/omit-if-no-ref/ kso06_gp13: periph-kbscan-kso06 {
230		pinmux = <&alt8_no_kso06_sl>;
231	};
232
233	/omit-if-no-ref/ kso07_gp12: periph-kbscan-kso07 {
234		pinmux = <&alt8_no_kso07_sl>;
235	};
236
237	/omit-if-no-ref/ kso08_gp11: periph-kbscan-kso08 {
238		pinmux = <&alt9_no_kso08_sl>;
239	};
240
241	/omit-if-no-ref/ kso09_gp10: periph-kbscan-kso09 {
242		pinmux = <&alt9_no_kso09_sl>;
243	};
244
245	/omit-if-no-ref/ kso10_gp07: periph-kbscan-kso10 {
246		pinmux = <&alt9_no_kso10_sl>;
247	};
248
249	/omit-if-no-ref/ kso11_gp06: periph-kbscan-kso11 {
250		pinmux = <&alt9_no_kso11_sl>;
251	};
252
253	/omit-if-no-ref/ kso12_gp05: periph-kbscan-kso12 {
254		pinmux = <&alt9_no_kso12_sl>;
255	};
256
257	/omit-if-no-ref/ kso13_gp04: periph-kbscan-kso13 {
258		pinmux = <&alt9_no_kso13_sl>;
259	};
260
261	/omit-if-no-ref/ kso14_gp82: periph-kbscan-kso14 {
262		pinmux = <&alt9_no_kso14_sl>;
263	};
264
265	/omit-if-no-ref/ kso15_gp83: periph-kbscan-kso15 {
266		pinmux = <&alt9_no_kso15_sl>;
267	};
268
269	/omit-if-no-ref/ kso16_gp03: periph-kbscan-kso16 {
270		pinmux = <&alta_no_kso16_sl>;
271	};
272
273	/omit-if-no-ref/ kso17_gpb1: periph-kbscan-kso17 {
274		pinmux = <&alta_no_kso17_sl>;
275	};
276
277	/* Miscellaneous peripheral interfaces */
278	/omit-if-no-ref/ clk_32k_out_gp75: periph-clk-32k-out {
279		pinmux = <&alta_32k_out_sl>;
280	};
281
282	/omit-if-no-ref/ vcc1_rst_gp77: periph-vcc1-rst {
283		pinmux = <&alta_no_vcc1_rst>;
284	};
285
286	/omit-if-no-ref/ peci_dat_gp81: periph-peci-dat {
287		pinmux = <&alta_no_peci_en>;
288	};
289
290	/* Host UART peripheral interfaces */
291	/omit-if-no-ref/ huart_rxd_gp75: periph-host-uart-rxd {
292		pinmux = <&altb_rxd_sl>;
293	};
294
295	/omit-if-no-ref/ huart_txd_gp86: periph-host-uart-txd {
296		pinmux = <&altb_txd_sl>;
297	};
298
299	/omit-if-no-ref/ huart_rts_gp36: periph-host-uart-rts {
300		pinmux = <&altb_rts_sl>;
301	};
302
303	/omit-if-no-ref/ huart_cts_gp33: periph-host-uart-cts {
304		pinmux = <&altb_cts_sl>;
305	};
306
307	/omit-if-no-ref/ huart_ri_gp42: periph-host-uart-ri {
308		pinmux = <&altb_ri_sl>;
309	};
310
311	/omit-if-no-ref/ huart_dtr_bout_gpc7: periph-host-uart-dtr_bout {
312		pinmux = <&altb_dtr_bout_sl>;
313	};
314
315	/omit-if-no-ref/ huart_dcd_gpb3: periph-host-uart-dcd {
316		pinmux = <&altb_dcd_sl>;
317	};
318
319	/omit-if-no-ref/ huart_dsr_gpb2: periph-host-uart-dsr {
320		pinmux = <&altb_dsr_sl>;
321	};
322
323	/* SHI peripheral interfaces */
324	/omit-if-no-ref/ shi_gp46_47_53_55: periph-shi {
325		pinmux = <&altc_shi_sl>;
326		periph-pupd = <0x01 4>;
327	};
328
329	/* ADC peripheral interfaces. */
330	/omit-if-no-ref/ adc0_chan0_gp45: periph-adc0-0 {
331		pinmux = <&alt6_adc0_sl>;
332	};
333
334	/omit-if-no-ref/ adc0_chan1_gp44: periph-adc0-1 {
335		pinmux = <&alt6_adc1_sl>;
336	};
337
338	/omit-if-no-ref/ adc0_chan2_gp43: periph-adc0-2 {
339		pinmux = <&alt6_adc2_sl>;
340	};
341
342	/omit-if-no-ref/ adc0_chan3_gp42: periph-adc0-3 {
343		pinmux = <&alt6_adc3_sl>;
344	};
345
346	/omit-if-no-ref/ adc0_chan4_gp41: periph-adc0-4 {
347		pinmux = <&alt6_adc4_sl>;
348	};
349
350	/omit-if-no-ref/ adc0_chan5_gp37: periph-adc0-5 {
351		pinmux = <&altf_adc5_sl>;
352	};
353
354	/omit-if-no-ref/ adc0_chan6_gp34: periph-adc0-6 {
355		pinmux = <&altf_adc6_sl>;
356	};
357
358	/omit-if-no-ref/ adc0_chan7_gpe1: periph-adc0-7 {
359		pinmux = <&altf_adc7_sl>;
360	};
361
362	/omit-if-no-ref/ adc0_chan8_gpf1: periph-adc0-8 {
363		pinmux = <&altf_adc8_sl>;
364	};
365
366	/omit-if-no-ref/ adc0_chan9_gpf0: periph-adc0-9 {
367		pinmux = <&altf_adc9_sl>;
368	};
369
370	/* PSL peripheral interfaces. */
371	/omit-if-no-ref/ psl_in1_gpd2: periph-psl-in1 {
372		pinmux = <&altd_npsl_in1_sl>;
373		psl-offset = <0>;
374		psl-polarity = <&altd_psl_in1_ahi>;
375	};
376
377	/omit-if-no-ref/ psl_in2_gp00: periph-psl-in2 {
378		pinmux = <&altd_npsl_in2_sl>;
379		psl-offset = <1>;
380		psl-polarity = <&altd_psl_in2_ahi>;
381	};
382
383	/omit-if-no-ref/ psl_in3_gp01: periph-psl-in3 {
384		pinmux = <&altd_psl_in3_sl>;
385		psl-offset = <2>;
386		psl-polarity = <&altd_psl_in3_ahi>;
387	};
388
389	/omit-if-no-ref/ psl_in4_gp02: periph-psl-in4 {
390		pinmux = <&altd_psl_in4_sl>;
391		psl-offset = <3>;
392		psl-polarity = <&altd_psl_in4_ahi>;
393	};
394
395	/* UART peripheral interfaces */
396	/omit-if-no-ref/ uart1_1_sin_sout_gp10_11: periph-uart1-1 {
397		pinmux = <&alta_uart1_sl1>;
398	};
399
400	/omit-if-no-ref/ uart1_2_sin_sout_gp64_65: periph-uart1-2 {
401		pinmux = <&altc_uart1_sl2>;
402	};
403
404	/omit-if-no-ref/ uart2_sin_sout_gp75_86: periph-uart2 {
405		pinmux = <&alta_uart2_sl>;
406	};
407};
408