/*
 * Copyright (c) 2023 Nuvoton Technology Corporation.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

&pinctrl {
	/* Prebuild nodes for peripheral device's characteristics (Optional) */
	/omit-if-no-ref/ vhif_lpc_sl: devctl-vhif-3p3v-lpc {
		dev-ctl = <0x0 2 2 0x01>;
	};

	/omit-if-no-ref/ vhif_espi_shi_sl: devctl-vhif-1p8v-espi-shi {
		dev-ctl = <0x0 2 2 0x02>;
	};

	/omit-if-no-ref/ vspi_3p3v_sl: devctl-vspi-3p3v {
		dev-ctl = <0x0 4 2 0x01>;
	};

	/omit-if-no-ref/ vspi_1p8v_sl: devctl-vspi-1p8v {
		dev-ctl = <0x0 4 2 0x02>;
	};

	/omit-if-no-ref/ ext_flash_tris_off: devctl-fiu-ext-tris-off {
		dev-ctl = <0x0 6 1 0x00>;
	};

	/omit-if-no-ref/ ext_flash_tris_on: devctl-fiu-ext-tris-on {
		dev-ctl = <0x0 6 1 0x01>;
	};

	/* Prebuild nodes for peripheral device's pin-muxing and pad properties */
	/* Flash Interface Unit (FIU) */
	/omit-if-no-ref/ fiu_ext_io0_io1_clk_cs_gpa4_96_a2_a0: periph-fiu-ext {
		pinmux = <&alt0_gpio_no_fpip>;
	};

	/omit-if-no-ref/ fiu_ext_quad_io2_io3_gp93_a7: periph-fiu-ext-quad {
		pinmux = <&alt0_f_spi_quad>;
	};

	/omit-if-no-ref/ ext_flash_cs1_sl: periph-ext-spi-flash-cs1 {
		pinmux = <&alt0_f_spi_cs1>;
	};

	/* Host peripheral interfaces */
	/omit-if-no-ref/ espi_lpc_gp46_47_51_52_53_54_55_57: periph-lpc-espi {
		pinmux = <&alt1_no_lpc_espi>;
	};

	/* I2C peripheral interfaces */
	/omit-if-no-ref/ i2c0_0_sda_scl_gpb4_b5: periph-i2c0-0 {
		pinmux = <&alt2_i2c0_0_sl>;
		periph-pupd = <0x00 0>;
	};

	/omit-if-no-ref/ i2c1_0_sda_scl_gp87_90: periph-i2c1-0 {
		pinmux = <&alt2_i2c1_0_sl>;
		periph-pupd = <0x00 2>;
	};

	/omit-if-no-ref/ i2c2_0_sda_scl_gp91_92: periph-i2c2-0 {
		pinmux = <&alt2_i2c2_0_sl>;
		periph-pupd = <0x00 4>;
	};

	/omit-if-no-ref/ i2c3_0_sda_scl_gpd0_d1: periph-i2c3-0 {
		pinmux = <&alt2_i2c3_0_sl>;
		periph-pupd = <0x00 6>;
	};

	/omit-if-no-ref/ i2c4_0_sda_scl_gp75_86: periph-i2c4-0 {
		pinmux = <&alt2_i2c4_0_sl>;
		periph-pupd = <0x00 7>;
	};

	/omit-if-no-ref/ i2c4_1_sda_scl_gpf2_f3: periph-i2c4-1 {
		pinmux = <&alt6_i2c4_1_sl>;
		periph-pupd = <0x01 2>;
	};

	/omit-if-no-ref/ i2c5_0_sda_scl_gp33_36: periph-i2c5-0 {
		pinmux = <&alt2_i2c5_0_sl>;
		periph-pupd = <0x00 5>;
	};

	/omit-if-no-ref/ i2c5_1_sda_scl_gpf4_f5: periph-i2c5-1 {
		pinmux = <&alt6_i2c5_1_sl>;
		periph-pupd = <0x01 1>;
	};

	/omit-if-no-ref/ i2c6_0_sda_scl_gpc1_c2: periph-i2c6-0 {
		pinmux = <&alt2_i2c6_0_sl>;
		periph-pupd = <0x00 3>;
	};

	/omit-if-no-ref/ i2c6_1_sda_scl_gpe3_e4: periph-i2c6-1 {
		pinmux = <&alt6_i2c6_1_sl>;
		periph-pupd = <0x01 0>;
	};

	/omit-if-no-ref/ i2c7_0_sda_scl_gpb2_b3: periph-i2c7-0 {
		pinmux = <&alt2_i2c7_0_sl>;
		periph-pupd = <0x00 1>;
	};

	/omit-if-no-ref/ i2c7_1_sda_scl_gpb7_c0: periph-i2c7-1 {
		pinmux = <&altk_i2c7_1_sl>;
		periph-pupd = <0x01 3>;
	};

	/* PS2 peripheral interfaces */
	/omit-if-no-ref/ ps2_0_dat_clk_gp67_70: periph-ps2-0 {
		pinmux = <&alt3_ps2_0_sl>;
	};

	/omit-if-no-ref/ ps2_1_dat_clk_gp62_63: periph-ps2-1 {
		pinmux = <&alt3_ps2_1_sl>;
	};

	/omit-if-no-ref/ ps2_2_dat_clk_gp34_37: periph-ps2-2 {
		pinmux = <&alt3_ps2_2_sl>;
	};

	/omit-if-no-ref/ ps2_3_2_dat_clk_gpa6_a7: periph-ps2-3-2 {
		pinmux = <&altc_ps2_3_sl2>;
	};

	/* Tachometer peripheral interfaces */
	/omit-if-no-ref/ ta1_1_in_gp40: periph-ta1-1 {
		pinmux = <&alt3_ta1_sl1>;
	};

	/omit-if-no-ref/ ta1_2_in_gp93: periph-ta1-2 {
		pinmux = <&altc_ta1_sl2>;
	};

	/omit-if-no-ref/ ta2_1_in_gp73: periph-ta2-1 {
		pinmux = <&alt3_ta2_sl1>;
	};

	/omit-if-no-ref/ ta2_2_in_gpa6: periph-ta2-2 {
		pinmux = <&altc_ta2_sl2>;
	};

	/omit-if-no-ref/ tb1_1_in_gpa4: periph-tb1-1 {
		pinmux = <&alt3_tb1_sl1>;
	};

	/omit-if-no-ref/ tb1_2_in_gpd3: periph-tb1-2 {
		pinmux = <&altc_tb1_sl2>;
	};

	/omit-if-no-ref/ tb2_2_in_gpa7: periph-tb2-2 {
		pinmux = <&altc_tb2_sl2>;
	};

	/* PWM peripheral interfaces */
	/omit-if-no-ref/ pwm0_gpc3: periph-pwm0 {
		pinmux = <&alt4_pwm0_sl>;
	};

	/omit-if-no-ref/ pwm1_gpc2: periph-pwm1 {
		pinmux = <&alt4_pwm1_sl>;
	};

	/omit-if-no-ref/ pwm2_gpc4: periph-pwm2 {
		pinmux = <&alt4_pwm2_sl>;
	};

	/omit-if-no-ref/ pwm3_gp80: periph-pwm3 {
		pinmux = <&alt4_pwm3_sl>;
	};

	/omit-if-no-ref/ pwm4_gpb6: periph-pwm4 {
		pinmux = <&alt4_pwm4_sl>;
	};

	/omit-if-no-ref/ pwm5_gpb7: periph-pwm5 {
		pinmux = <&alt4_pwm5_sl>;
	};

	/omit-if-no-ref/ pwm6_gpc0: periph-pwm6 {
		pinmux = <&alt4_pwm6_sl>;
	};

	/omit-if-no-ref/ pwm7_gp60: periph-pwm7 {
		pinmux = <&alt4_pwm7_sl>;
	};

	/* Keyboard peripheral interfaces. */
	/omit-if-no-ref/ ksi0_gp31: periph-kbscan-ksi0 {
		pinmux = <&alt7_no_ksi0_sl>;
	};

	/omit-if-no-ref/ ksi1_gp30: periph-kbscan-ksi1 {
		pinmux = <&alt7_no_ksi1_sl>;
	};

	/omit-if-no-ref/ ksi2_gp27: periph-kbscan-ksi2 {
		pinmux = <&alt7_no_ksi2_sl>;
	};

	/omit-if-no-ref/ ksi3_gp26: periph-kbscan-ksi3 {
		pinmux = <&alt7_no_ksi3_sl>;
	};

	/omit-if-no-ref/ ksi4_gp25: periph-kbscan-ksi4 {
		pinmux = <&alt7_no_ksi4_sl>;
	};

	/omit-if-no-ref/ ksi5_gp24: periph-kbscan-ksi5 {
		pinmux = <&alt7_no_ksi5_sl>;
	};

	/omit-if-no-ref/ ksi6_gp23: periph-kbscan-ksi6 {
		pinmux = <&alt7_no_ksi6_sl>;
	};

	/omit-if-no-ref/ ksi7_gp22: periph-kbscan-ksi7 {
		pinmux = <&alt7_no_ksi7_sl>;
	};

	/omit-if-no-ref/ kso00_gp21: periph-kbscan-kso00 {
		pinmux = <&alt8_no_kso00_sl>;
	};

	/omit-if-no-ref/ kso01_gp20: periph-kbscan-kso01 {
		pinmux = <&alt8_no_kso01_sl>;
	};

	/omit-if-no-ref/ kso02_gp17: periph-kbscan-kso02 {
		pinmux = <&alt8_no_kso02_sl>;
	};

	/omit-if-no-ref/ kso03_gp16: periph-kbscan-kso03 {
		pinmux = <&alt8_no_kso03_sl>;
	};

	/omit-if-no-ref/ kso04_gp15: periph-kbscan-kso04 {
		pinmux = <&alt8_no_kso04_sl>;
	};

	/omit-if-no-ref/ kso05_gp14: periph-kbscan-kso05 {
		pinmux = <&alt8_no_kso05_sl>;
	};

	/omit-if-no-ref/ kso06_gp13: periph-kbscan-kso06 {
		pinmux = <&alt8_no_kso06_sl>;
	};

	/omit-if-no-ref/ kso07_gp12: periph-kbscan-kso07 {
		pinmux = <&alt8_no_kso07_sl>;
	};

	/omit-if-no-ref/ kso08_gp11: periph-kbscan-kso08 {
		pinmux = <&alt9_no_kso08_sl>;
	};

	/omit-if-no-ref/ kso09_gp10: periph-kbscan-kso09 {
		pinmux = <&alt9_no_kso09_sl>;
	};

	/omit-if-no-ref/ kso10_gp07: periph-kbscan-kso10 {
		pinmux = <&alt9_no_kso10_sl>;
	};

	/omit-if-no-ref/ kso11_gp06: periph-kbscan-kso11 {
		pinmux = <&alt9_no_kso11_sl>;
	};

	/omit-if-no-ref/ kso12_gp05: periph-kbscan-kso12 {
		pinmux = <&alt9_no_kso12_sl>;
	};

	/omit-if-no-ref/ kso13_gp04: periph-kbscan-kso13 {
		pinmux = <&alt9_no_kso13_sl>;
	};

	/omit-if-no-ref/ kso14_gp82: periph-kbscan-kso14 {
		pinmux = <&alt9_no_kso14_sl>;
	};

	/omit-if-no-ref/ kso15_gp83: periph-kbscan-kso15 {
		pinmux = <&alt9_no_kso15_sl>;
	};

	/omit-if-no-ref/ kso16_gp03: periph-kbscan-kso16 {
		pinmux = <&alta_no_kso16_sl>;
	};

	/omit-if-no-ref/ kso17_gpb1: periph-kbscan-kso17 {
		pinmux = <&alta_no_kso17_sl>;
	};

	/* Miscellaneous peripheral interfaces */
	/omit-if-no-ref/ clk_32k_out_gp75: periph-clk-32k-out {
		pinmux = <&alta_32k_out_sl>;
	};

	/omit-if-no-ref/ clk_32k_in_gpe7: periph-clk-32k-in {
		pinmux = <&alta_32kclkin_sl>;
	};

	/omit-if-no-ref/ vcc1_rst_gp77: periph-vcc1-rst {
		pinmux = <&alta_no_vcc1_rst>;
	};

	/omit-if-no-ref/ peci_dat_gp81: periph-peci-dat {
		pinmux = <&alta_no_peci_en>;
	};

	/* Host UART peripheral interfaces */
	/omit-if-no-ref/ huart_rxd_gp75: periph-host-uart-rxd {
		pinmux = <&altb_rxd_sl>;
	};

	/omit-if-no-ref/ huart_txd_gp86: periph-host-uart-txd {
		pinmux = <&altb_txd_sl>;
	};

	/omit-if-no-ref/ huart_rts_gp36: periph-host-uart-rts {
		pinmux = <&altb_rts_sl>;
	};

	/omit-if-no-ref/ huart_cts_gp33: periph-host-uart-cts {
		pinmux = <&altb_cts_sl>;
	};

	/omit-if-no-ref/ huart_ri_gp42: periph-host-uart-ri {
		pinmux = <&altb_ri_sl>;
	};

	/omit-if-no-ref/ huart_dtr_bout_gpc7: periph-host-uart-dtr_bout {
		pinmux = <&altb_dtr_bout_sl>;
	};

	/omit-if-no-ref/ huart_dcd_gpb3: periph-host-uart-dcd {
		pinmux = <&altb_dcd_sl>;
	};

	/omit-if-no-ref/ huart_dsr_gpb2: periph-host-uart-dsr {
		pinmux = <&altb_dsr_sl>;
	};

	/* SHI peripheral interfaces */
	/omit-if-no-ref/ shi_gp46_47_53_55: periph-shi {
		pinmux = <&altc_shi_sl>;
		periph-pupd = <0x01 4>;
	};

	/* FLM peripheral interfaces */
	/omit-if-no-ref/ flm_gp96_a0_a2_a4: periph-flm {
		pinmux = <&alth_flm_sl>;
	};

	/omit-if-no-ref/ flm_quad_gp93_a7: periph-flm-quad {
		pinmux = <&alth_flm_quad>;
	};

	/omit-if-no-ref/ flm_mon_md_gpd6: periph-flm-mon-md {
		pinmux = <&alth_flm_mon_md>;
	};


	/* ADC peripheral interfaces. */
	/omit-if-no-ref/ adc0_chan0_gp45: periph-adc0-0 {
		pinmux = <&alt6_adc0_sl>;
	};

	/omit-if-no-ref/ adc0_chan1_gp44: periph-adc0-1 {
		pinmux = <&alt6_adc1_sl>;
	};

	/omit-if-no-ref/ adc0_chan2_gp43: periph-adc0-2 {
		pinmux = <&alt6_adc2_sl>;
	};

	/omit-if-no-ref/ adc0_chan3_gp42: periph-adc0-3 {
		pinmux = <&alt6_adc3_sl>;
	};

	/omit-if-no-ref/ adc0_chan4_gp41: periph-adc0-4 {
		pinmux = <&alt6_adc4_sl>;
	};

	/omit-if-no-ref/ adc0_chan5_gp37: periph-adc0-5 {
		pinmux = <&altf_adc5_sl>;
	};

	/omit-if-no-ref/ adc0_chan6_gp34: periph-adc0-6 {
		pinmux = <&altf_adc6_sl>;
	};

	/omit-if-no-ref/ adc0_chan7_gpe1: periph-adc0-7 {
		pinmux = <&altf_adc7_sl>;
	};

	/omit-if-no-ref/ adc0_chan8_gpf1: periph-adc0-8 {
		pinmux = <&altf_adc8_sl>;
	};

	/omit-if-no-ref/ adc0_chan9_gpf0: periph-adc0-9 {
		pinmux = <&altf_adc9_sl>;
	};

	/omit-if-no-ref/ adc0_chan10_gpe0: periph-adc0-10 {
		pinmux = <&altf_adc10_sl>;
	};

	/omit-if-no-ref/ adc0_chan11_gpc7: periph-adc0-11 {
		pinmux = <&altf_adc11_sl>;
	};

	/omit-if-no-ref/ adc0_chan12_gp24: periph-adc0-12 {
		pinmux = <&altf_adc12_sl>;
	};

	/omit-if-no-ref/ adc0_chan13_gp26: periph-adc0-13 {
		pinmux = <&altl_adc13_sl>;
	};

	/omit-if-no-ref/ adc0_chan14_gp27: periph-adc0-14 {
		pinmux = <&altl_adc14_sl>;
	};

	/omit-if-no-ref/ adc0_chan15_gp31: periph-adc0-15 {
		pinmux = <&altl_adc15_sl>;
	};

	/omit-if-no-ref/ adc0_chan16_gp62: periph-adc0-16 {
		pinmux = <&altl_adc16_sl>;
	};

	/omit-if-no-ref/ adc0_chan17_gp63: periph-adc0-17 {
		pinmux = <&altl_adc17_sl>;
	};

	/omit-if-no-ref/ adc0_chan18_gp67: periph-adc0-18 {
		pinmux = <&altl_adc18_sl>;
	};

	/omit-if-no-ref/ adc0_chan19_gp70: periph-adc0-19 {
		pinmux = <&altl_adc19_sl>;
	};

	/omit-if-no-ref/ adc0_chan20_gp22: periph-adc0-20 {
		pinmux = <&altl_adc20_sl>;
	};

	/omit-if-no-ref/ adc0_chan21_gp23: periph-adc0-21 {
		pinmux = <&altm_adc21_sl>;
	};

	/omit-if-no-ref/ adc0_chan22_gpc1: periph-adc0-22 {
		pinmux = <&altm_adc22_sl>;
	};

	/omit-if-no-ref/ adc0_chan23_gp74: periph-adc0-23 {
		pinmux = <&altm_adc23_sl>;
	};

	/omit-if-no-ref/ adc0_chan24_gp25: periph-adc0-24 {
		pinmux = <&altm_adc24_sl>;
	};

	/omit-if-no-ref/ adc0_chan25_gp30: periph-adc0-25 {
		pinmux = <&altm_adc25_sl>;
	};

	/* PSL peripheral interfaces */
	/omit-if-no-ref/ psl_in1_gpd2: periph-psl-in1 {
		pinmux = <&altd_npsl_in1_sl>;
		psl-offset = <0>;
		psl-polarity = <&altd_psl_in1_ahi>;
	};

	/omit-if-no-ref/ psl_in2_gp00: periph-psl-in2 {
		pinmux = <&altd_npsl_in2_sl>;
		psl-offset = <1>;
		psl-polarity = <&altd_psl_in2_ahi>;
	};

	/omit-if-no-ref/ psl_in3_gp01: periph-psl-in3 {
		pinmux = <&altd_psl_in3_sl>;
		psl-offset = <2>;
		psl-polarity = <&altd_psl_in3_ahi>;
	};

	/omit-if-no-ref/ psl_in4_gp02: periph-psl-in4 {
		pinmux = <&altd_psl_in4_sl>;
		psl-offset = <3>;
		psl-polarity = <&altd_psl_in4_ahi>;
	};

	/omit-if-no-ref/ psl_gpo_gpd7: periph-psl-gpo {
		pinmux = <&altg_psl_gpo_sl>;
	};

	/omit-if-no-ref/ psl_out_gp85: periph-psl-out {
		pinmux = <&altg_psl_out_sl>;
	};

	/* I3C peripheral interfaces */
	/omit-if-no-ref/ i3c1_sda_scl_gpe3_e4: periph-i3c1 {
		pinmux = <&altn_i3c1_sl>;
	};

	/omit-if-no-ref/ i3c2_sda_scl_gp50_56: periph-i3c2 {
		pinmux = <&altn_i3c2_sl>;
	};

	/omit-if-no-ref/ i3c3_sda_scl_gpf4_f5: periph-i3c3 {
		pinmux = <&altn_i3c3_sl>;
	};

	/* UART peripheral interfaces */
	/omit-if-no-ref/ uart1_1_sin_gp10: periph-uart1-1-sin {
		pinmux = <&altj_cr_sin1_sl1>;
	};

	/omit-if-no-ref/ uart1_1_sout_gp11: periph-uart1-1-sout {
		pinmux = <&altj_cr_sout1_sl1>;
	};

	/omit-if-no-ref/ uart1_2_sin_gp64: periph-uart1-2-sin {
		pinmux = <&altj_cr_sin1_sl2>;
	};

	/omit-if-no-ref/ uart1_2_sout_gp65: periph-uart1-2-sout {
		pinmux = <&altj_cr_sout1_sl2>;
	};

	/omit-if-no-ref/ uart2_sin_gp75: periph-uart2-sin {
		pinmux = <&altj_cr_sin2_sl>;
	};

	/omit-if-no-ref/ uart2_sout_gp86: periph-uart2-sout {
		pinmux = <&altj_cr_sout2_sl>;
	};

	/omit-if-no-ref/ uart3_sin_gpd4: periph-uart3-sin {
		pinmux = <&altj_cr_sin3_sl>;
	};

	/omit-if-no-ref/ uart3_sout_gpd6: periph-uart3-sout {
		pinmux = <&altj_cr_sout3_sl>;
	};

	/omit-if-no-ref/ uart4_sin_gpb1: periph-uart4-sin {
		pinmux = <&alte_cr_sin4_sl>;
	};

	/omit-if-no-ref/ uart4_sout_gp35: periph-uart4-sout {
		pinmux = <&alte_cr_sout4_sl>;
	};

	/omit-if-no-ref/ spip_sclk_mosi_miso_gp95_gpa1_gpa3_gpa5_sl: periph-spip-sl {
		pinmux = <&alt0_spip_sl>;
	};

	/omit-if-no-ref/ spip_sclk_mosi_miso_gp95_gpa1_gpa3_gpa5_no_spip_inv: periph-no-spip-inv {
		pinmux = <&alt0_gpio_no_spip>;
	};
};
