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