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