/*
 * Copyright (c) 2022 Cypress Semiconductor Corporation (an Infineon company) or
 * an affiliate of Cypress Semiconductor Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <zephyr/dt-bindings/gpio/gpio.h>
#include <zephyr/dt-bindings/pinctrl/ifx_cat1-pinctrl.h>
#include "psoc6_02.dtsi"

/ {
	soc {
		/delete-node/ gpio@40310080; // gpio_prt1
		/delete-node/ gpio@40310200; // gpio_prt4
		/delete-node/ gpio@40310680; // gpio_prt13

		pinctrl: pinctrl@40300000 {
			/* scb_i2c_scl */
			/omit-if-no-ref/ p0_2_scb0_i2c_scl: p0_2_scb0_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(0, 2, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p2_0_scb1_i2c_scl: p2_0_scb1_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(2, 0, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p2_4_scb9_i2c_scl: p2_4_scb9_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(2, 4, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p3_0_scb2_i2c_scl: p3_0_scb2_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(3, 0, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p5_0_scb5_i2c_scl: p5_0_scb5_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(5, 0, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p6_4_scb6_i2c_scl: p6_4_scb6_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(6, 4, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p6_4_scb8_i2c_scl: p6_4_scb8_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(6, 4, HSIOM_SEL_DS_2)>;
			};
			/omit-if-no-ref/ p7_0_scb4_i2c_scl: p7_0_scb4_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(7, 0, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p8_0_scb4_i2c_scl: p8_0_scb4_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(8, 0, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p9_0_scb2_i2c_scl: p9_0_scb2_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(9, 0, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p10_0_scb1_i2c_scl: p10_0_scb1_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(10, 0, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p11_0_scb5_i2c_scl: p11_0_scb5_i2c_scl {
				pinmux = <DT_CAT1_PINMUX(11, 0, HSIOM_SEL_ACT_7)>;
			};

			/* scb_i2c_sda */
			/omit-if-no-ref/ p0_3_scb0_i2c_sda: p0_3_scb0_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(0, 3, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p2_1_scb1_i2c_sda: p2_1_scb1_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(2, 1, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p2_5_scb9_i2c_sda: p2_5_scb9_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(2, 5, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p3_1_scb2_i2c_sda: p3_1_scb2_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(3, 1, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p5_1_scb5_i2c_sda: p5_1_scb5_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(5, 1, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p6_5_scb6_i2c_sda: p6_5_scb6_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(6, 5, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p6_5_scb8_i2c_sda: p6_5_scb8_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(6, 5, HSIOM_SEL_DS_2)>;
			};
			/omit-if-no-ref/ p7_1_scb4_i2c_sda: p7_1_scb4_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(7, 1, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p8_1_scb4_i2c_sda: p8_1_scb4_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(8, 1, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p9_1_scb2_i2c_sda: p9_1_scb2_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(9, 1, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p10_1_scb1_i2c_sda: p10_1_scb1_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(10, 1, HSIOM_SEL_ACT_7)>;
			};
			/omit-if-no-ref/ p11_1_scb5_i2c_sda: p11_1_scb5_i2c_sda {
				pinmux = <DT_CAT1_PINMUX(11, 1, HSIOM_SEL_ACT_7)>;
			};

			/* scb_uart_cts */
			/omit-if-no-ref/ p0_5_scb0_uart_cts: p0_5_scb0_uart_cts {
				pinmux = <DT_CAT1_PINMUX(0, 5, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p2_3_scb1_uart_cts: p2_3_scb1_uart_cts {
				pinmux = <DT_CAT1_PINMUX(2, 3, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p2_7_scb9_uart_cts: p2_7_scb9_uart_cts {
				pinmux = <DT_CAT1_PINMUX(2, 7, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p5_7_scb10_uart_cts: p5_7_scb10_uart_cts {
				pinmux = <DT_CAT1_PINMUX(5, 7, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p6_3_scb3_uart_cts: p6_3_scb3_uart_cts {
				pinmux = <DT_CAT1_PINMUX(6, 3, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p6_7_scb6_uart_cts: p6_7_scb6_uart_cts {
				pinmux = <DT_CAT1_PINMUX(6, 7, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p7_3_scb4_uart_cts: p7_3_scb4_uart_cts {
				pinmux = <DT_CAT1_PINMUX(7, 3, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p9_3_scb2_uart_cts: p9_3_scb2_uart_cts {
				pinmux = <DT_CAT1_PINMUX(9, 3, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p10_3_scb1_uart_cts: p10_3_scb1_uart_cts {
				pinmux = <DT_CAT1_PINMUX(10, 3, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p11_3_scb5_uart_cts: p11_3_scb5_uart_cts {
				pinmux = <DT_CAT1_PINMUX(11, 3, HSIOM_SEL_ACT_6)>;
			};

			/* scb_uart_rts */
			/omit-if-no-ref/ p0_4_scb0_uart_rts: p0_4_scb0_uart_rts {
				pinmux = <DT_CAT1_PINMUX(0, 4, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p2_2_scb1_uart_rts: p2_2_scb1_uart_rts {
				pinmux = <DT_CAT1_PINMUX(2, 2, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p2_6_scb9_uart_rts: p2_6_scb9_uart_rts {
				pinmux = <DT_CAT1_PINMUX(2, 6, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p5_6_scb10_uart_rts: p5_6_scb10_uart_rts {
				pinmux = <DT_CAT1_PINMUX(5, 6, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p6_2_scb3_uart_rts: p6_2_scb3_uart_rts {
				pinmux = <DT_CAT1_PINMUX(6, 2, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p6_6_scb6_uart_rts: p6_6_scb6_uart_rts {
				pinmux = <DT_CAT1_PINMUX(6, 6, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p7_2_scb4_uart_rts: p7_2_scb4_uart_rts {
				pinmux = <DT_CAT1_PINMUX(7, 2, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p9_2_scb2_uart_rts: p9_2_scb2_uart_rts {
				pinmux = <DT_CAT1_PINMUX(9, 2, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p10_2_scb1_uart_rts: p10_2_scb1_uart_rts {
				pinmux = <DT_CAT1_PINMUX(10, 2, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p11_2_scb5_uart_rts: p11_2_scb5_uart_rts {
				pinmux = <DT_CAT1_PINMUX(11, 2, HSIOM_SEL_ACT_6)>;
			};

			/* scb_uart_rx */
			/omit-if-no-ref/ p0_2_scb0_uart_rx: p0_2_scb0_uart_rx {
				pinmux = <DT_CAT1_PINMUX(0, 2, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p2_0_scb1_uart_rx: p2_0_scb1_uart_rx {
				pinmux = <DT_CAT1_PINMUX(2, 0, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p2_4_scb9_uart_rx: p2_4_scb9_uart_rx {
				pinmux = <DT_CAT1_PINMUX(2, 4, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p3_0_scb2_uart_rx: p3_0_scb2_uart_rx {
				pinmux = <DT_CAT1_PINMUX(3, 0, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p5_0_scb5_uart_rx: p5_0_scb5_uart_rx {
				pinmux = <DT_CAT1_PINMUX(5, 0, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p6_4_scb6_uart_rx: p6_4_scb6_uart_rx {
				pinmux = <DT_CAT1_PINMUX(6, 4, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p7_0_scb4_uart_rx: p7_0_scb4_uart_rx {
				pinmux = <DT_CAT1_PINMUX(7, 0, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p8_0_scb4_uart_rx: p8_0_scb4_uart_rx {
				pinmux = <DT_CAT1_PINMUX(8, 0, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p9_0_scb2_uart_rx: p9_0_scb2_uart_rx {
				pinmux = <DT_CAT1_PINMUX(9, 0, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p10_0_scb1_uart_rx: p10_0_scb1_uart_rx {
				pinmux = <DT_CAT1_PINMUX(10, 0, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p11_0_scb5_uart_rx: p11_0_scb5_uart_rx {
				pinmux = <DT_CAT1_PINMUX(11, 0, HSIOM_SEL_ACT_6)>;
			};

			/* scb_uart_tx */
			/omit-if-no-ref/ p0_3_scb0_uart_tx: p0_3_scb0_uart_tx {
				pinmux = <DT_CAT1_PINMUX(0, 3, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p2_1_scb1_uart_tx: p2_1_scb1_uart_tx {
				pinmux = <DT_CAT1_PINMUX(2, 1, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p2_5_scb9_uart_tx: p2_5_scb9_uart_tx {
				pinmux = <DT_CAT1_PINMUX(2, 5, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p3_1_scb2_uart_tx: p3_1_scb2_uart_tx {
				pinmux = <DT_CAT1_PINMUX(3, 1, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p5_1_scb5_uart_tx: p5_1_scb5_uart_tx {
				pinmux = <DT_CAT1_PINMUX(5, 1, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p6_5_scb6_uart_tx: p6_5_scb6_uart_tx {
				pinmux = <DT_CAT1_PINMUX(6, 5, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p7_1_scb4_uart_tx: p7_1_scb4_uart_tx {
				pinmux = <DT_CAT1_PINMUX(7, 1, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p8_1_scb4_uart_tx: p8_1_scb4_uart_tx {
				pinmux = <DT_CAT1_PINMUX(8, 1, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p9_1_scb2_uart_tx: p9_1_scb2_uart_tx {
				pinmux = <DT_CAT1_PINMUX(9, 1, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p10_1_scb1_uart_tx: p10_1_scb1_uart_tx {
				pinmux = <DT_CAT1_PINMUX(10, 1, HSIOM_SEL_ACT_6)>;
			};
			/omit-if-no-ref/ p11_1_scb5_uart_tx: p11_1_scb5_uart_tx {
				pinmux = <DT_CAT1_PINMUX(11, 1, HSIOM_SEL_ACT_6)>;
			};

		};
	};
};
