/*
 * 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) >;
	};

	/* 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: eeprom_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) >;
	};

};
