/*
 * Copyright (c) 2021 Microchip Technology Inc.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <zephyr/dt-bindings/pinctrl/mchp-xec-pinctrl.h>

&pinctrl {
	/* ADC */
	/omit-if-no-ref/ adc00_gpio200: adc00_gpio200 {
		pinmux = < MCHP_XEC_PINMUX(0200, MCHP_AF1) >;
	};

	/omit-if-no-ref/ adc01_gpio201: adc01_gpio201 {
		pinmux = < MCHP_XEC_PINMUX(0201, MCHP_AF1) >;
	};

	/omit-if-no-ref/ adc02_gpio202: adc02_gpio202 {
		pinmux = < MCHP_XEC_PINMUX(0202, MCHP_AF1) >;
	};

	/omit-if-no-ref/ adc03_gpio203: adc03_gpio203 {
		pinmux = < MCHP_XEC_PINMUX(0203, MCHP_AF1) >;
	};

	/omit-if-no-ref/ adc04_gpio204: adc04_gpio204 {
		pinmux = < MCHP_XEC_PINMUX(0204, MCHP_AF1) >;
	};

	/omit-if-no-ref/ adc05_gpio205: adc05_gpio205 {
		pinmux = < MCHP_XEC_PINMUX(0205, MCHP_AF1) >;
	};

	/omit-if-no-ref/ adc06_gpio206: adc06_gpio206 {
		pinmux = < MCHP_XEC_PINMUX(0206, MCHP_AF1) >;
	};

	/omit-if-no-ref/ adc07_gpio207: adc07_gpio207 {
		pinmux = < MCHP_XEC_PINMUX(0207, MCHP_AF1) >;
	};

	/omit-if-no-ref/ vref2_adc_gpio067: vref2_adc_gpio067 {
		pinmux = < MCHP_XEC_PINMUX(067, MCHP_AF1) >;
	};

	/* BC Link */
	/omit-if-no-ref/ bcm1_dat_gpio045: bcm1_dat_gpio045 {
		pinmux = < MCHP_XEC_PINMUX(045, MCHP_AF4) >;
	};

	/omit-if-no-ref/ bcm1_clk_gpio047: bcm1_clk_gpio047 {
		pinmux = < MCHP_XEC_PINMUX(047, MCHP_AF4) >;
	};

	/* 16-bit Counter Event Timer */
	/omit-if-no-ref/ tin0_gpio025: tin0_gpio025 {
		pinmux = < MCHP_XEC_PINMUX(025, MCHP_AF4) >;
	};

	/omit-if-no-ref/ tin1_gpio026: tin1_gpio026 {
		pinmux = < MCHP_XEC_PINMUX(026, MCHP_AF4) >;
	};

	/omit-if-no-ref/ tin2_gpio027: tin2_gpio027 {
		pinmux = < MCHP_XEC_PINMUX(027, MCHP_AF4) >;
	};

	/omit-if-no-ref/ tin3_gpio030: tin3_gpio030 {
		pinmux = < MCHP_XEC_PINMUX(030, MCHP_AF3) >;
	};

	/omit-if-no-ref/ tout0_gpio131: tout0_gpio131 {
		pinmux = < MCHP_XEC_PINMUX(0131, MCHP_AF3) >;
	};

	/omit-if-no-ref/ tout1_gpio130: tout1_gpio130 {
		pinmux = < MCHP_XEC_PINMUX(0130, MCHP_AF3) >;
	};

	/omit-if-no-ref/ tout2_gpio013: tout2_gpio013 {
		pinmux = < MCHP_XEC_PINMUX(013, MCHP_AF3) >;
	};

	/omit-if-no-ref/ tout3_gpio012: tout3_gpio012 {
		pinmux = < MCHP_XEC_PINMUX(012, MCHP_AF3) >;
	};

	/* ESPI */
	/omit-if-no-ref/ espi_reset_n_gpio061: espi_reset_n_gpio061 {
		pinmux = < MCHP_XEC_PINMUX(061, MCHP_AF1) >;
	};

	/omit-if-no-ref/ espi_alert_n_gpio063: espi_alert_n_gpio063 {
		pinmux = < MCHP_XEC_PINMUX(063, MCHP_AF1) >;
	};

	/omit-if-no-ref/ espi_clk_gpio065: espi_clk_gpio065 {
		pinmux = < MCHP_XEC_PINMUX(065, MCHP_AF1) >;
	};

	/omit-if-no-ref/ espi_cs_n_gpio066: espi_cs_n_gpio066 {
		pinmux = < MCHP_XEC_PINMUX(066, MCHP_AF1) >;
	};

	/omit-if-no-ref/ espi_io0_gpio070: espi_io0_gpio070 {
		pinmux = < MCHP_XEC_PINMUX(070, MCHP_AF1) >;
	};

	/omit-if-no-ref/ espi_io1_gpio071: espi_io1_gpio071 {
		pinmux = < MCHP_XEC_PINMUX(071, MCHP_AF1) >;
	};

	/omit-if-no-ref/ espi_io2_gpio072: espi_io2_gpio072 {
		pinmux = < MCHP_XEC_PINMUX(072, MCHP_AF1) >;
	};

	/omit-if-no-ref/ espi_io3_gpio073: espi_io3_gpio073 {
		pinmux = < MCHP_XEC_PINMUX(073, MCHP_AF1) >;
	};

	/* GPIO Pass Through */
	/omit-if-no-ref/ gptp_in0_gpio224: gptp_in0_gpio224 {
		pinmux = < MCHP_XEC_PINMUX(0224, MCHP_AF1) >;
	};

	/omit-if-no-ref/ gptp_out0_gpio032: gptp_out0_gpio032 {
		pinmux = < MCHP_XEC_PINMUX(032, MCHP_AF2) >;
	};

	/omit-if-no-ref/ gptp_in1_gpio016: gptp_in1_gpio016 {
		pinmux = < MCHP_XEC_PINMUX(016, MCHP_AF1) >;
	};

	/omit-if-no-ref/ gptp_out1_gpio031: gptp_out1_gpio031 {
		pinmux = < MCHP_XEC_PINMUX(031, MCHP_AF2) >;
	};

	/omit-if-no-ref/ gptp_in2_gpio014: gptp_in2_gpio014 {
		pinmux = < MCHP_XEC_PINMUX(014, MCHP_AF3) >;
	};

	/omit-if-no-ref/ gptp_out2_gpio040: gptp_out2_gpio040 {
		pinmux = < MCHP_XEC_PINMUX(040, MCHP_AF1) >;
	};

	/omit-if-no-ref/ gptp_in3_gpio221: gptp_in3_gpio221 {
		pinmux = < MCHP_XEC_PINMUX(0221, MCHP_AF2) >;
	};

	/omit-if-no-ref/ gptp_out3_gpio152: gptp_out3_gpio152 {
		pinmux = < MCHP_XEC_PINMUX(0152, MCHP_AF3) >;
	};

	/omit-if-no-ref/ gptp_in4_gpio022: gptp_in4_gpio022 {
		pinmux = < MCHP_XEC_PINMUX(022, MCHP_AF3) >;
	};

	/omit-if-no-ref/ gptp_in5_gpio017: gptp_in5_gpio017 {
		pinmux = < MCHP_XEC_PINMUX(017, MCHP_AF3) >;
	};

	/omit-if-no-ref/ gptp_out5_gpio125: gptp_out5_gpio125 {
		pinmux = < MCHP_XEC_PINMUX(0125, MCHP_AF3) >;
	};

	/omit-if-no-ref/ gptp_in6_gpio024: gptp_in6_gpio024 {
		pinmux = < MCHP_XEC_PINMUX(024, MCHP_AF2) >;
	};

	/omit-if-no-ref/ gptp_out6_gpio124: gptp_out6_gpio124 {
		pinmux = < MCHP_XEC_PINMUX(0124, MCHP_AF4) >;
	};

	/omit-if-no-ref/ gptp_in7_gpio023: gptp_in7_gpio023 {
		pinmux = < MCHP_XEC_PINMUX(023, MCHP_AF2) >;
	};

	/* Host Interface */
	/omit-if-no-ref/ nec_sci_gpio114: nec_sci_gpio114 {
		pinmux = < MCHP_XEC_PINMUX(0114, MCHP_AF2) >;
	};

	/omit-if-no-ref/ nec_sci_alt_gpio100: nec_sci_alt_gpio100 {
		pinmux = < MCHP_XEC_PINMUX(0100, MCHP_AF1) >;
	};

	/omit-if-no-ref/ nemi_int_gpio025: nemi_int_gpio025 {
		pinmux = < MCHP_XEC_PINMUX(025, MCHP_AF1) >;
	};

	/omit-if-no-ref/ nsmi_gpio107: nsmi_gpio107 {
		pinmux = < MCHP_XEC_PINMUX(0107, MCHP_AF1) >;
	};

	/* I2C ports */
	/omit-if-no-ref/ i2c00_scl_gpio004: i2c00_scl_gpio004 {
		pinmux = < MCHP_XEC_PINMUX(04, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c00_sda_gpio003: i2c00_sda_gpio003 {
		pinmux = < MCHP_XEC_PINMUX(03, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c01_scl_gpio131: i2c01_scl_gpio131 {
		pinmux = < MCHP_XEC_PINMUX(0131, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c01_sda_gpio130: i2c01_sda_gpio130 {
		pinmux = < MCHP_XEC_PINMUX(0130, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c01_scl_alt_gpio073: i2c01_scl_alt_gpio073 {
		pinmux = < MCHP_XEC_PINMUX(073, MCHP_AF2) >;
	};

	/omit-if-no-ref/ i2c01_sda_alt_gpio072: i2c01_sda_alt_gpio072 {
		pinmux = < MCHP_XEC_PINMUX(072, MCHP_AF2) >;
	};

	/omit-if-no-ref/ i2c02_scl_gpio155: i2c02_scl_gpio155 {
		pinmux = < MCHP_XEC_PINMUX(0155, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c02_sda_gpio154: i2c02_sda_gpio154 {
		pinmux = < MCHP_XEC_PINMUX(0154, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c03_scl_gpio010: i2c03_scl_gpio010 {
		pinmux = < MCHP_XEC_PINMUX(010, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c03_sda_gpio007: i2c03_sda_gpio007 {
		pinmux = < MCHP_XEC_PINMUX(07, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c04_scl_gpio144: i2c04_scl_gpio144 {
		pinmux = < MCHP_XEC_PINMUX(0144, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c04_sda_gpio143: i2c04_sda_gpio143 {
		pinmux = < MCHP_XEC_PINMUX(0143, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c05_scl_gpio142: i2c05_scl_gpio142 {
		pinmux = < MCHP_XEC_PINMUX(0142, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c05_sda_gpio141: i2c05_sda_gpio141 {
		pinmux = < MCHP_XEC_PINMUX(0141, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c06_scl_gpio140: i2c06_scl_gpio140 {
		pinmux = < MCHP_XEC_PINMUX(0140, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c06_sda_gpio132: i2c06_sda_gpio132 {
		pinmux = < MCHP_XEC_PINMUX(0132, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c07_scl_gpio013: i2c07_scl_gpio013 {
		pinmux = < MCHP_XEC_PINMUX(013, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c07_sda_gpio012: i2c07_sda_gpio012 {
		pinmux = < MCHP_XEC_PINMUX(012, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c07_scl_alt_gpio024: i2c07_scl_alt_gpio024 {
		pinmux = < MCHP_XEC_PINMUX(024, MCHP_AF3) >;
	};

	/omit-if-no-ref/ i2c07_sda_alt_gpio152: i2c07_sda_alt_gpio152 {
		pinmux = < MCHP_XEC_PINMUX(0152, MCHP_AF3) >;
	};

	/omit-if-no-ref/ i2c09_scl_gpio146: i2c09_scl_gpio146 {
		pinmux = < MCHP_XEC_PINMUX(0146, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c09_sda_gpio145: i2c09_sda_gpio145 {
		pinmux = < MCHP_XEC_PINMUX(0145, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c10_scl_gpio107: i2c10_scl_gpio107 {
		pinmux = < MCHP_XEC_PINMUX(0107, MCHP_AF3) >;
	};

	/omit-if-no-ref/ i2c10_sda_gpio030: i2c10_sda_gpio030 {
		pinmux = < MCHP_XEC_PINMUX(030, MCHP_AF2) >;
	};

	/omit-if-no-ref/ i2c11_scl_gpio062: i2c11_scl_gpio062 {
		pinmux = < MCHP_XEC_PINMUX(062, MCHP_AF2) >;
	};

	/omit-if-no-ref/ i2c11_sda_gpio000: i2c11_sda_gpio000 {
		pinmux = < MCHP_XEC_PINMUX(00, MCHP_AF3) >;
	};

	/omit-if-no-ref/ i2c12_scl_gpio027: i2c12_scl_gpio027 {
		pinmux = < MCHP_XEC_PINMUX(027, MCHP_AF3) >;
	};

	/omit-if-no-ref/ i2c12_sda_gpio026: i2c12_sda_gpio026 {
		pinmux = < MCHP_XEC_PINMUX(026, MCHP_AF3) >;
	};

	/omit-if-no-ref/ i2c13_scl_gpio065: i2c13_scl_gpio065 {
		pinmux = < MCHP_XEC_PINMUX(065, MCHP_AF2) >;
	};

	/omit-if-no-ref/ i2c13_sda_gpio066: i2c13_sda_gpio066 {
		pinmux = < MCHP_XEC_PINMUX(066, MCHP_AF2) >;
	};

	/omit-if-no-ref/ i2c14_scl_gpio071: i2c14_scl_gpio071 {
		pinmux = < MCHP_XEC_PINMUX(071, MCHP_AF2) >;
	};

	/omit-if-no-ref/ i2c14_sda_gpio070: i2c14_sda_gpio070 {
		pinmux = < MCHP_XEC_PINMUX(070, MCHP_AF2) >;
	};

	/omit-if-no-ref/ i2c15_scl_gpio150: i2c15_scl_gpio150 {
		pinmux = < MCHP_XEC_PINMUX(0150, MCHP_AF1) >;
	};

	/omit-if-no-ref/ i2c15_sda_gpio147: i2c15_sda_gpio147 {
		pinmux = < MCHP_XEC_PINMUX(0147, MCHP_AF1) >;
	};

	/* Input Capture Compare Timer */
	/omit-if-no-ref/ ict0_tach0_gpio050: ict0_tach0_gpio050 {
		pinmux = < MCHP_XEC_PINMUX(050, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ict1_tach1_gpio051: ict1_tach1_gpio051 {
		pinmux = < MCHP_XEC_PINMUX(051, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ict2_tach2_gpio052: ict2_tach2_gpio052 {
		pinmux = < MCHP_XEC_PINMUX(052, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ict3_gpio016: ict3_gpio016 {
		pinmux = < MCHP_XEC_PINMUX(016, MCHP_AF3) >;
	};

	/omit-if-no-ref/ ict4_gpio151: ict4_gpio151 {
		pinmux = < MCHP_XEC_PINMUX(0151, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ict5_gpio140: ict5_gpio140 {
		pinmux = < MCHP_XEC_PINMUX(0140, MCHP_AF2) >;
	};

	/omit-if-no-ref/ ict5_alt_gpio065: ict5_alt_gpio065 {
		pinmux = < MCHP_XEC_PINMUX(065, MCHP_AF3) >;
	};

	/omit-if-no-ref/ ict6_gpio100: ict6_gpio100 {
		pinmux = < MCHP_XEC_PINMUX(0100, MCHP_AF2) >;
	};

	/omit-if-no-ref/ ict7_gpio011: ict7_gpio011 {
		pinmux = < MCHP_XEC_PINMUX(011, MCHP_AF3) >;
	};

	/omit-if-no-ref/ ict8_gpio063: ict8_gpio063 {
		pinmux = < MCHP_XEC_PINMUX(063, MCHP_AF3) >;
	};

	/omit-if-no-ref/ ict9_gpio113: ict9_gpio113 {
		pinmux = < MCHP_XEC_PINMUX(0113, MCHP_AF2) >;
	};

	/omit-if-no-ref/ ict10_gpio015: ict10_gpio015 {
		pinmux = < MCHP_XEC_PINMUX(015, MCHP_AF2) >;
	};

	/omit-if-no-ref/ ict11_gpio046: ict11_gpio046 {
		pinmux = < MCHP_XEC_PINMUX(046, MCHP_AF2) >;
	};

	/omit-if-no-ref/ ict12_gpio124: ict12_gpio124 {
		pinmux = < MCHP_XEC_PINMUX(0124, MCHP_AF3) >;
	};

	/omit-if-no-ref/ ict13_gpio047: ict13_gpio047 {
		pinmux = < MCHP_XEC_PINMUX(047, MCHP_AF3) >;
	};

	/omit-if-no-ref/ ict14_gpio045: ict14_gpio045 {
		pinmux = < MCHP_XEC_PINMUX(045, MCHP_AF3) >;
	};

	/omit-if-no-ref/ ict15_gpio035: ict15_gpio035 {
		pinmux = < MCHP_XEC_PINMUX(035, MCHP_AF3) >;
	};

	/omit-if-no-ref/ ctout0_gpio165: ctout0_gpio165 {
		pinmux = < MCHP_XEC_PINMUX(0165, MCHP_AF3) >;
	};

	/omit-if-no-ref/ ctout1_gpio035: ctout1_gpio035 {
		pinmux = < MCHP_XEC_PINMUX(035, MCHP_AF2) >;
	};

	/omit-if-no-ref/ ctout1_alt_gpio246: ctout1_alt_gpio246 {
		pinmux = < MCHP_XEC_PINMUX(0246, MCHP_AF4) >;
	};

	/* JTAG Master Controller */
	/omit-if-no-ref/ jm_tdi_gpio145: jm_tdi_gpio145 {
		pinmux = < MCHP_XEC_PINMUX(0145, MCHP_AF4) >;
	};

	/omit-if-no-ref/ jm_tdo_gpio146: jm_tdo_gpio146 {
		pinmux = < MCHP_XEC_PINMUX(0146, MCHP_AF4) >;
	};

	/omit-if-no-ref/ jm_tck_gpio147: jm_tck_gpio147 {
		pinmux = < MCHP_XEC_PINMUX(0147, MCHP_AF4) >;
	};

	/omit-if-no-ref/ jm_tms_gpio150: jm_tms_gpio150 {
		pinmux = < MCHP_XEC_PINMUX(0150, MCHP_AF4) >;
	};

	/* Keyboard/Port92h Controller */
	/omit-if-no-ref/ a20m_gpio127: a20m_gpio127 {
		pinmux = < MCHP_XEC_PINMUX(0127, MCHP_AF1) >;
	};

	/omit-if-no-ref/ kbrst_gpio060: kbrst_gpio060 {
		pinmux = < MCHP_XEC_PINMUX(060, MCHP_AF1) >;
	};

	/* Keyscan */
	/omit-if-no-ref/ ksi0_gpio017: ksi0_gpio017 {
		pinmux = < MCHP_XEC_PINMUX(017, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ksi1_gpio020: ksi1_gpio020 {
		pinmux = < MCHP_XEC_PINMUX(020, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ksi2_gpio021: ksi2_gpio021 {
		pinmux = < MCHP_XEC_PINMUX(021, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ksi3_gpio026: ksi3_gpio026 {
		pinmux = < MCHP_XEC_PINMUX(026, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ksi4_gpio027: ksi4_gpio027 {
		pinmux = < MCHP_XEC_PINMUX(027, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ksi5_gpio030: ksi5_gpio030 {
		pinmux = < MCHP_XEC_PINMUX(030, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ksi6_gpio031: ksi6_gpio031 {
		pinmux = < MCHP_XEC_PINMUX(031, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ksi7_gpio032: ksi7_gpio032 {
		pinmux = < MCHP_XEC_PINMUX(032, MCHP_AF1) >;
	};

	/omit-if-no-ref/ kso00_gpio040: kso00_gpio040 {
		pinmux = < MCHP_XEC_PINMUX(040, MCHP_AF2) >;
	};

	/omit-if-no-ref/ kso01_gpio045: kso01_gpio045 {
		pinmux = < MCHP_XEC_PINMUX(045, MCHP_AF1) >;
	};

	/omit-if-no-ref/ kso02_gpio046: kso02_gpio046 {
		pinmux = < MCHP_XEC_PINMUX(046, MCHP_AF1) >;
	};

	/omit-if-no-ref/ kso03_gpio047: kso03_gpio047 {
		pinmux = < MCHP_XEC_PINMUX(047, MCHP_AF1) >;
	};

	/omit-if-no-ref/ kso04_gpio107: kso04_gpio107 {
		pinmux = < MCHP_XEC_PINMUX(0107, MCHP_AF2) >;
	};

	/omit-if-no-ref/ kso05_gpio112: kso05_gpio112 {
		pinmux = < MCHP_XEC_PINMUX(0112, MCHP_AF1) >;
	};

	/omit-if-no-ref/ kso06_gpio113: kso06_gpio113 {
		pinmux = < MCHP_XEC_PINMUX(0113, MCHP_AF1) >;
	};

	/omit-if-no-ref/ kso07_gpio120: kso07_gpio120 {
		pinmux = < MCHP_XEC_PINMUX(0120, MCHP_AF1) >;
	};

	/omit-if-no-ref/ kso08_gpio121: kso08_gpio121 {
		pinmux = < MCHP_XEC_PINMUX(0121, MCHP_AF2) >;
	};

	/omit-if-no-ref/ kso09_gpio122: kso09_gpio122 {
		pinmux = < MCHP_XEC_PINMUX(0122, MCHP_AF2) >;
	};

	/omit-if-no-ref/ kso10_gpio123: kso10_gpio123 {
		pinmux = < MCHP_XEC_PINMUX(0123, MCHP_AF2) >;
	};

	/omit-if-no-ref/ kso11_gpio124: kso11_gpio124 {
		pinmux = < MCHP_XEC_PINMUX(0124, MCHP_AF2) >;
	};

	/omit-if-no-ref/ kso12_gpio125: kso12_gpio125 {
		pinmux = < MCHP_XEC_PINMUX(0125, MCHP_AF2) >;
	};

	/omit-if-no-ref/ kso13_gpio126: kso13_gpio126 {
		pinmux = < MCHP_XEC_PINMUX(0126, MCHP_AF2) >;
	};

	/omit-if-no-ref/ kso14_gpio152: kso14_gpio152 {
		pinmux = < MCHP_XEC_PINMUX(0152, MCHP_AF1) >;
	};

	/omit-if-no-ref/ kso15_gpio151: kso15_gpio151 {
		pinmux = < MCHP_XEC_PINMUX(0151, MCHP_AF2) >;
	};

	/omit-if-no-ref/ kso16_gpio132: kso16_gpio132 {
		pinmux = < MCHP_XEC_PINMUX(0132, MCHP_AF2) >;
	};

	/omit-if-no-ref/ kso17_gpio140: kso17_gpio140 {
		pinmux = < MCHP_XEC_PINMUX(0140, MCHP_AF3) >;
	};

	/* LED */
	/omit-if-no-ref/ led0_gpio156: led0_gpio156 {
		pinmux = < MCHP_XEC_PINMUX(0156, MCHP_AF1) >;
	};

	/omit-if-no-ref/ led1_gpio157: led1_gpio157 {
		pinmux = < MCHP_XEC_PINMUX(0157, MCHP_AF1) >;
	};

	/omit-if-no-ref/ led2_gpio153: led2_gpio153 {
		pinmux = < MCHP_XEC_PINMUX(0153, MCHP_AF1) >;
	};

	/omit-if-no-ref/ led3_gpio035: led3_gpio035 {
		pinmux = < MCHP_XEC_PINMUX(035, MCHP_AF4) >;
	};

	/* Mailbox */
	/omit-if-no-ref/ nsmi_gpio107: nsmi_gpio107 {
		pinmux = < MCHP_XEC_PINMUX(0107, MCHP_AF1) >;
	};

	/omit-if-no-ref/ nsmi_alt_gpio011: nsmi_alt_gpio011 {
		pinmux = < MCHP_XEC_PINMUX(011, MCHP_AF1) >;
	};

	/* Quad SPI Ports */
	/omit-if-no-ref/ shd_cs0_n_gpio055: shd_cs0_n_gpio055 {
		pinmux = < MCHP_XEC_PINMUX(055, MCHP_AF2) >;
	};

	/omit-if-no-ref/ shd_cs1_n_gpio002: shd_cs1_n_gpio002 {
		pinmux = < MCHP_XEC_PINMUX(02, MCHP_AF2) >;
	};

	/omit-if-no-ref/ shd_clk_gpio056: shd_clk_gpio056 {
		pinmux = < MCHP_XEC_PINMUX(056, MCHP_AF2) >;
	};

	/omit-if-no-ref/ shd_io0_gpio223: shd_io0_gpio223 {
		pinmux = < MCHP_XEC_PINMUX(0223, MCHP_AF1) >;
	};

	/omit-if-no-ref/ shd_io1_gpio224: shd_io1_gpio224 {
		pinmux = < MCHP_XEC_PINMUX(0224, MCHP_AF2) >;
	};

	/omit-if-no-ref/ shd_io2_gpio227: shd_io2_gpio227 {
		pinmux = < MCHP_XEC_PINMUX(0227, MCHP_AF1) >;
	};

	/omit-if-no-ref/ shd_io3_gpio016: shd_io3_gpio016 {
		pinmux = < MCHP_XEC_PINMUX(016, MCHP_AF2) >;
	};

	/omit-if-no-ref/ pvt_cs_n_gpio124: pvt_cs_n_gpio124 {
		pinmux = < MCHP_XEC_PINMUX(0124, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pvt_clk_gpio125: pvt_clk_gpio125 {
		pinmux = < MCHP_XEC_PINMUX(0125, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pvt_io0_gpio121: pvt_io0_gpio121 {
		pinmux = < MCHP_XEC_PINMUX(0121, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pvt_io1_gpio122: pvt_io1_gpio122 {
		pinmux = < MCHP_XEC_PINMUX(0122, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pvt_io2_gpio123: pvt_io2_gpio123 {
		pinmux = < MCHP_XEC_PINMUX(0123, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pvt_io3_gpio126: pvt_io3_gpio126 {
		pinmux = < MCHP_XEC_PINMUX(0126, MCHP_AF1) >;
	};

	/omit-if-no-ref/ gpspi_cs_n_gpio116: gpspi_cs_n_gpio116 {
		pinmux = < MCHP_XEC_PINMUX(0116, MCHP_AF1) >;
	};

	/omit-if-no-ref/ gpspi_clk_gpio117: gpspi_clk_gpio117 {
		pinmux = < MCHP_XEC_PINMUX(0117, MCHP_AF1) >;
	};

	/omit-if-no-ref/ gpspi_io0_gpio074: gpspi_io0_gpio074 {
		pinmux = < MCHP_XEC_PINMUX(074, MCHP_AF1) >;
	};

	/omit-if-no-ref/ gpspi_io1_gpio075: gpspi_io1_gpio075 {
		pinmux = < MCHP_XEC_PINMUX(075, MCHP_AF1) >;
	};

	/omit-if-no-ref/ gpspi_wp_n_gpio076: gpspi_wp_n_gpio076 {
		pinmux = < MCHP_XEC_PINMUX(076, MCHP_GPIO) >;
	};

	/* EEPROM */
	/omit-if-no-ref/ eeprom_cs_gpio116: eeprom_cs_gpio116 {
		pinmux = < MCHP_XEC_PINMUX(0116, MCHP_AF2) >;
	};

	/omit-if-no-ref/ eeprom_clk_gpio117: gpspi_clk_gpio117 {
		pinmux = < MCHP_XEC_PINMUX(0117, MCHP_AF2) >;
	};

	/omit-if-no-ref/ eeprom_mosi_gpio074: eeprom_mosi_gpio074 {
		pinmux = < MCHP_XEC_PINMUX(074, MCHP_AF2) >;
	};

	/omit-if-no-ref/ eeprom_miso_gpio075: eeprom_miso_gpio075 {
		pinmux = < MCHP_XEC_PINMUX(075, MCHP_AF2) >;
	};


	/* PECI */
	/omit-if-no-ref/ peci_dat_gpio042: peci_dat_gpio042 {
		pinmux = < MCHP_XEC_PINMUX(042, MCHP_AF1) >;
	};

	/omit-if-no-ref/ vref_vtt_gpio044: vref_vtt_gpio044 {
		pinmux = < MCHP_XEC_PINMUX(044, MCHP_AF1) >;
	};

	/* Power and Clock Signals */
	/omit-if-no-ref/ vcc_pwrgd_gpio057: vcc_pwrgd_gpio057 {
		pinmux = < MCHP_XEC_PINMUX(057, MCHP_AF1) >;
	};

	/omit-if-no-ref/ vcc_pwrgd_alt_gpio242: vcc_pwrgd_alt_gpio242 {
		pinmux = < MCHP_XEC_PINMUX(0242, MCHP_AF3) >;
	};

	/omit-if-no-ref/ pwrok_gpio106: pwrok_gpio106 {
		pinmux = < MCHP_XEC_PINMUX(0106, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pwrok_alt_gpio244: pwrok_alt_gpio244 {
		pinmux = < MCHP_XEC_PINMUX(0244, MCHP_AF3) >;
	};

	/omit-if-no-ref/ pwrgd_s0ix_gpio226: pwrgd_s0ix_gpio226 {
		pinmux = < MCHP_XEC_PINMUX(0226, MCHP_AF2) >;
	};

	/omit-if-no-ref/ pwrgd_s0ix_alt2_gpio246: pwrgd_s0ix_alt2_gpio246 {
		pinmux = < MCHP_XEC_PINMUX(0246, MCHP_AF3) >;
	};

	/omit-if-no-ref/ slp_s0_n_gpio064: slp_s0_n_gpio064 {
		pinmux = < MCHP_XEC_PINMUX(064, MCHP_AF1) >;
	};

	/omit-if-no-ref/ cpu_c10_gpio154: cpu_c10_gpio154 {
		pinmux = < MCHP_XEC_PINMUX(0154, MCHP_AF2) >;
	};

	/omit-if-no-ref/ clk_32khz_in_gpio165: clk_32khz_in_gpio165 {
		pinmux = < MCHP_XEC_PINMUX(0165, MCHP_AF1) >;
	};

	/omit-if-no-ref/ clk_32khz_out_gpio221: clk_32khz_out_gpio221 {
		pinmux = < MCHP_XEC_PINMUX(0221, MCHP_AF1) >;
	};

	/omit-if-no-ref/ clk_32khz_out_alt_gpio022: clk_32khz_out_alt_gpio022 {
		pinmux = < MCHP_XEC_PINMUX(022, MCHP_AF4) >;
	};

	/* PROCHOT */
	/omit-if-no-ref/ prochot_in_n_alt_gpio222: prochot_in_n_alt_gpio222 {
		pinmux = < MCHP_XEC_PINMUX(0222, MCHP_AF2) >;
	};

	/* PS2 */
	/omit-if-no-ref/ ps2_clk0a_gpio114: ps2_clk0a_gpio114 {
		pinmux = < MCHP_XEC_PINMUX(0114, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ps2_dat0a_gpio115: ps2_dat0a_gpio115 {
		pinmux = < MCHP_XEC_PINMUX(0115, MCHP_AF1) >;
	};

	/omit-if-no-ref/ ps2_clk0b_gpio007: ps2_clk0b_gpio007 {
		pinmux = < MCHP_XEC_PINMUX(07, MCHP_AF2) >;
	};

	/omit-if-no-ref/ ps2_dat0b_gpio010: ps2_dat0b_gpio010 {
		pinmux = < MCHP_XEC_PINMUX(010, MCHP_AF2) >;
	};

	/* PWM */
	/omit-if-no-ref/ pwm0_gpio053: pwm0_gpio053 {
		pinmux = < MCHP_XEC_PINMUX(053, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pwm0_alt_gpio241: pwm0_alt_gpio241 {
		pinmux = < MCHP_XEC_PINMUX(0241, MCHP_AF4) >;
	};

	/omit-if-no-ref/ pwm1_gpio054: pwm1_gpio054 {
		pinmux = < MCHP_XEC_PINMUX(054, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pwm2_gpio055: pwm2_gpio055 {
		pinmux = < MCHP_XEC_PINMUX(055, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pwm2_alt_gpio045: pwm2_alt_gpio045 {
		pinmux = < MCHP_XEC_PINMUX(045, MCHP_AF2) >;
	};

	/omit-if-no-ref/ pwm3_gpio056: pwm3_gpio056 {
		pinmux = < MCHP_XEC_PINMUX(056, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pwm3_alt_gpio047: pwm3_alt_gpio047 {
		pinmux = < MCHP_XEC_PINMUX(047, MCHP_AF2) >;
	};

	/omit-if-no-ref/ pwm4_gpio011: pwm4_gpio011 {
		pinmux = < MCHP_XEC_PINMUX(011, MCHP_AF2) >;
	};

	/omit-if-no-ref/ pwm5_gpio002: pwm5_gpio002 {
		pinmux = < MCHP_XEC_PINMUX(02, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pwm6_gpio014: pwm6_gpio014 {
		pinmux = < MCHP_XEC_PINMUX(014, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pwm6_alt_gpio063: pwm6_alt_gpio063 {
		pinmux = < MCHP_XEC_PINMUX(063, MCHP_AF2) >;
	};

	/omit-if-no-ref/ pwm7_gpio015: pwm7_gpio015 {
		pinmux = < MCHP_XEC_PINMUX(015, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pwm8_gpio035: pwm8_gpio035 {
		pinmux = < MCHP_XEC_PINMUX(035, MCHP_AF1) >;
	};

	/omit-if-no-ref/ pwm8_alt_gpio175: pwm8_alt_gpio175 {
		pinmux = < MCHP_XEC_PINMUX(0175, MCHP_AF3) >;
	};

	/* RC_ID */
	/omit-if-no-ref/ rc_id0_gpio033: rc_id0_gpio033 {
		pinmux = < MCHP_XEC_PINMUX(033, MCHP_AF2) >;
	};

	/omit-if-no-ref/ rc_id2_gpio034: rc_id2_gpio034 {
		pinmux = < MCHP_XEC_PINMUX(034, MCHP_AF2) >;
	};

	/omit-if-no-ref/ rc_id2_gpio036: rc_id2_gpio036 {
		pinmux = < MCHP_XEC_PINMUX(036, MCHP_AF2) >;
	};

	/* RPM Fan */
	/omit-if-no-ref/ gpwm0_gpio053: gpwm0_gpio053 {
		pinmux = < MCHP_XEC_PINMUX(053, MCHP_AF3) >;
	};

	/omit-if-no-ref/ gtach0_gpio050: gtach0_gpio050 {
		pinmux = < MCHP_XEC_PINMUX(050, MCHP_AF2) >;
	};

	/omit-if-no-ref/ gpwm1_gpio054: gpwm1_gpio054 {
		pinmux = < MCHP_XEC_PINMUX(054, MCHP_AF3) >;
	};

	/omit-if-no-ref/ gtach1_gpio051: gtach1_gpio051 {
		pinmux = < MCHP_XEC_PINMUX(051, MCHP_AF2) >;
	};

	/* SB TSI */
	/omit-if-no-ref/ sb_tsi_dat_gpio042: sb_tsi_dat_gpio042 {
		pinmux = < MCHP_XEC_PINMUX(042, MCHP_AF2) >;
	};

	/omit-if-no-ref/ sb_tsi_clk_gpio043: sb_tsi_clk_gpio043 {
		pinmux = < MCHP_XEC_PINMUX(043, MCHP_AF1) >;
	};

	/* Simple SPI Controllers */
	/omit-if-no-ref/ spi0_miso_gpio036: spi0_miso_gpio036 {
		pinmux = < MCHP_XEC_PINMUX(036, MCHP_AF3) >;
	};

	/omit-if-no-ref/ spi0_mosi_gpio004: spi0_mosi_gpio004 {
		pinmux = < MCHP_XEC_PINMUX(04, MCHP_AF4) >;
	};

	/omit-if-no-ref/ spi0_clk_gpio034: spi0_clk_gpio034 {
		pinmux = < MCHP_XEC_PINMUX(034, MCHP_AF4) >;
	};

	/omit-if-no-ref/ spi0_cs0_n_gpio003: spi0_cs0_n_gpio003 {
		pinmux = < MCHP_XEC_PINMUX(03, MCHP_AF4) >;
	};

	/omit-if-no-ref/ spi0_cs1_n_gpio060: spi0_cs1_n_gpio060 {
		pinmux = < MCHP_XEC_PINMUX(060, MCHP_AF4) >;
	};

	/omit-if-no-ref/ spi1_miso_gpio143: spi1_miso_gpio143 {
		pinmux = < MCHP_XEC_PINMUX(0143, MCHP_AF3) >;
	};

	/omit-if-no-ref/ spi1_mosi_gpio142: spi1_mosi_gpio142 {
		pinmux = < MCHP_XEC_PINMUX(0142, MCHP_AF3) >;
	};

	/omit-if-no-ref/ spi1_clk_gpio141: spi1_clk_gpio141 {
		pinmux = < MCHP_XEC_PINMUX(0141, MCHP_AF3) >;
	};

	/omit-if-no-ref/ spi1_cs_n_gpio144: spi1_cs_n_gpio144 {
		pinmux = < MCHP_XEC_PINMUX(0144, MCHP_AF3) >;
	};

	/* SPI Endpoint */
	/omit-if-no-ref/ slv_spi_cs_n_gpio131: slv_spi_cs_n_gpio131 {
		pinmux = < MCHP_XEC_PINMUX(0131, MCHP_AF2) >;
	};

	/omit-if-no-ref/ slv_spi_sclk_gpio054: slv_spi_sclk_gpio054 {
		pinmux = < MCHP_XEC_PINMUX(054, MCHP_AF2) >;
	};

	/omit-if-no-ref/ slv_spi_io0_gpio130: slv_spi_io0_gpio130 {
		pinmux = < MCHP_XEC_PINMUX(0130, MCHP_AF2) >;
	};

	/omit-if-no-ref/ slv_spi_io1_gpio014: slv_spi_io1_gpio014 {
		pinmux = < MCHP_XEC_PINMUX(014, MCHP_AF2) >;
	};

	/omit-if-no-ref/ slv_spi_io2_gpio012: slv_spi_io2_gpio012 {
		pinmux = < MCHP_XEC_PINMUX(012, MCHP_AF2) >;
	};

	/omit-if-no-ref/ slv_spi_io3_gpio013: slv_spi_io3_gpio013 {
		pinmux = < MCHP_XEC_PINMUX(013, MCHP_AF2) >;
	};

	/omit-if-no-ref/ slv_spi_mstr_int_gpio053: slv_spi_mstr_int_gpio053 {
		pinmux = < MCHP_XEC_PINMUX(053, MCHP_AF2) >;
	};

	/* TACH */
	/omit-if-no-ref/ tach0_gpio050: tach0_gpio050 {
		pinmux = < MCHP_XEC_PINMUX(050, MCHP_AF1) >;
	};

	/omit-if-no-ref/ tach1_gpio051: tach1_gpio051 {
		pinmux = < MCHP_XEC_PINMUX(051, MCHP_AF1) >;
	};

	/omit-if-no-ref/ tach2_gpio052: tach2_gpio052 {
		pinmux = < MCHP_XEC_PINMUX(052, MCHP_AF1) >;
	};

	/omit-if-no-ref/ tach3_gpio033: tach3_gpio033 {
		pinmux = < MCHP_XEC_PINMUX(033, MCHP_AF1) >;
	};

	/* TFDP (Trace FIFO Debug Port) */
	/omit-if-no-ref/ tfdp_clk_gpio170: tfdp_clk_gpio170 {
		pinmux = < MCHP_XEC_PINMUX(0170, MCHP_AF2) >;
	};

	/omit-if-no-ref/ tfdp_dat_gpio171: tfdp_dat_gpio171 {
		pinmux = < MCHP_XEC_PINMUX(0171, MCHP_AF2) >;
	};

	/* UART 0 */
	/omit-if-no-ref/ uart0_tx_gpio104: uart0_tx_gpio104 {
		pinmux = < MCHP_XEC_PINMUX(0104, MCHP_AF1) >;
	};

	/omit-if-no-ref/ uart0_rx_gpio105: uart0_rx_gpio105 {
		pinmux = < MCHP_XEC_PINMUX(0105, MCHP_AF1) >;
	};

	/omit-if-no-ref/ uart0_cts_n_gpio143: uart0_cts_n_gpio143 {
		pinmux = < MCHP_XEC_PINMUX(0143, MCHP_AF2) >;
	};

	/omit-if-no-ref/ uart0_cts_n_alt_gpio127: uart0_cts_n_alt_gpio127 {
		pinmux = < MCHP_XEC_PINMUX(0127, MCHP_AF3) >;
	};

	/omit-if-no-ref/ uart0_dcd_n_gpio017: uart0_dcd_n_gpio017 {
		pinmux = < MCHP_XEC_PINMUX(017, MCHP_AF2) >;
	};

	/omit-if-no-ref/ uart0_dcd_n_alt_gpio141: uart0_dcd_n_alt_gpio141 {
		pinmux = < MCHP_XEC_PINMUX(0141, MCHP_AF4) >;
	};

	/omit-if-no-ref/ uart0_dsr_n_gpio027: uart0_dsr_n_gpio027 {
		pinmux = < MCHP_XEC_PINMUX(027, MCHP_AF2) >;
	};

	/omit-if-no-ref/ uart0_dsr_n_alt_gpio142: uart0_dsr_n_alt_gpio142 {
		pinmux = < MCHP_XEC_PINMUX(0142, MCHP_AF4) >;
	};

	/omit-if-no-ref/ uart0_dtr_n_gpio026: uart0_dtr_n_gpio026 {
		pinmux = < MCHP_XEC_PINMUX(026, MCHP_AF2) >;
	};

	/omit-if-no-ref/ uart0_dtr_n_alt_gpio143: uart0_dtr_n_alt_gpio143 {
		pinmux = < MCHP_XEC_PINMUX(0143, MCHP_AF4) >;
	};

	/omit-if-no-ref/ uart0_ri_n_gpio032: uart0_ri_n_gpio032 {
		pinmux = < MCHP_XEC_PINMUX(032, MCHP_AF3) >;
	};

	/omit-if-no-ref/ uart0_ri_n_alt_gpio144: uart0_ri_n_alt_gpio144 {
		pinmux = < MCHP_XEC_PINMUX(0144, MCHP_AF4) >;
	};

	/omit-if-no-ref/ uart0_rts_n_gpio144: uart0_rts_n_gpio144 {
		pinmux = < MCHP_XEC_PINMUX(0144, MCHP_AF2) >;
	};

	/omit-if-no-ref/ uart_clk_gpio025: uart_clk_gpio025 {
		pinmux = < MCHP_XEC_PINMUX(025, MCHP_AF2) >;
	};

	/omit-if-no-ref/ uart_clk_alt_gpio244: uart_clk_alt_gpio244 {
		pinmux = < MCHP_XEC_PINMUX(0244, MCHP_AF1) >;
	};

	/* UART 1 */
	/omit-if-no-ref/ uart1_tx_gpio170: uart1_tx_gpio170 {
		pinmux = < MCHP_XEC_PINMUX(0170, MCHP_AF1) >;
	};

	/omit-if-no-ref/ uart1_rx_gpio171: uart1_rx_gpio171 {
		pinmux = < MCHP_XEC_PINMUX(0171, MCHP_AF1) >;
	};

	/omit-if-no-ref/ uart1_rx_alt_gpio255: uart1_rx_alt_gpio255 {
		pinmux = < MCHP_XEC_PINMUX(0255, MCHP_AF1) >;
	};

	/omit-if-no-ref/ uart1_cts_n_gpio040: uart1_cts_n_gpio040 {
		pinmux = < MCHP_XEC_PINMUX(040, MCHP_AF3) >;
	};

	/omit-if-no-ref/ uart1_dcd_n_gpio060: uart1_dcd_n_gpio060 {
		pinmux = < MCHP_XEC_PINMUX(060, MCHP_AF3) >;
	};

	/omit-if-no-ref/ uart1_dsr_n_gpio255: uart1_dsr_n_gpio255 {
		pinmux = < MCHP_XEC_PINMUX(0255, MCHP_AF2) >;
	};

	/omit-if-no-ref/ uart1_dtr_n_gpio120: uart1_dtr_n_gpio120 {
		pinmux = < MCHP_XEC_PINMUX(0120, MCHP_AF2) >;
	};

	/omit-if-no-ref/ uart1_ri_n_gpio025: uart1_ri_n_gpio025 {
		pinmux = < MCHP_XEC_PINMUX(025, MCHP_AF3) >;
	};

	/omit-if-no-ref/ uart1_rts_n_gpio127: uart1_rts_n_gpio127 {
		pinmux = < MCHP_XEC_PINMUX(0127, MCHP_AF2) >;
	};

	/* VCI */
	/omit-if-no-ref/ vci_in1_n_gpio162: vci_in1_n_gpio162 {
		pinmux = < MCHP_XEC_PINMUX(0162, MCHP_AF1) >;
	};

	/omit-if-no-ref/ vci_in2_n_gpio161: vci_in2_n_gpio161 {
		pinmux = < MCHP_XEC_PINMUX(0161, MCHP_AF1) >;
	};

	/omit-if-no-ref/ vci_in3_n_gpio000: vci_in3_n_gpio000 {
		pinmux = < MCHP_XEC_PINMUX(00, MCHP_AF1) >;
	};

	/omit-if-no-ref/ sys_shdn_fw_n_gpio221: sys_shdn_fw_n_gpio221 {
		pinmux = < MCHP_XEC_PINMUX(0221, MCHP_AF5) >;
	};

	/* Week Timer BGPO Pins */
	/omit-if-no-ref/ bgpo1_gpio101: bgpo1_gpio101 {
		pinmux = < MCHP_XEC_PINMUX(0101, MCHP_AF1) >;
	};

	/omit-if-no-ref/ bgpo2_gpio102: bgpo2_gpio102 {
		pinmux = < MCHP_XEC_PINMUX(0102, MCHP_AF1) >;
	};

	/* Analog Voltage Comparator */
	/omit-if-no-ref/ cmp_vin0_gpio057: cmp_vin0_gpio057 {
		pinmux = < MCHP_XEC_PINMUX(057, MCHP_AF2) >;
	};

	/omit-if-no-ref/ cmp_vout0_gpio241: cmp_vout0_gpio241 {
		pinmux = < MCHP_XEC_PINMUX(0241, MCHP_AF3) >;
	};

	/omit-if-no-ref/ cmp_vref0_gpio226: cmp_vref0_gpio226 {
		pinmux = < MCHP_XEC_PINMUX(0226, MCHP_AF3) >;
	};

	/omit-if-no-ref/ cmp_vin1_gpio221: cmp_vin1_gpio221 {
		pinmux = < MCHP_XEC_PINMUX(0221, MCHP_AF3) >;
	};

	/omit-if-no-ref/ cmp_vout1_gpio175: cmp_vout1_gpio175 {
		pinmux = < MCHP_XEC_PINMUX(0175, MCHP_AF1) >;
	};

	/omit-if-no-ref/ cmp_vref1_gpio106: cmp_vref1_gpio106 {
		pinmux = < MCHP_XEC_PINMUX(0106, MCHP_AF2) >;
	};

};
