// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung's ExynosAutov920 SoC pin-mux and pin-config device tree source
 *
 * Copyright (c) 2023 Samsung Electronics Co., Ltd.
 *
 * Samsung's ExynosAutov920 SoC pin-mux and pin-config options are listed as
 * device tree nodes in this file.
 */

#include <dt-bindings/interrupt-controller/arm-gic.h>

#include "exynos-pinctrl.h"

&pinctrl_alive {
	gpa0: gpa0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
	};

	gpa1: gpa1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
	};

	gpq0: gpq0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&pinctrl_aud {
	gpb0: gpb0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpb1: gpb1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpb2: gpb2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpb3: gpb3-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpb4: gpb4-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpb5: gpb5-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpb6: gpb6-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&pinctrl_hsi0 {
	gph0: gph0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gph1: gph1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&pinctrl_hsi1 {
	gph8: gph8-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&pinctrl_hsi2 {
	gph3: gph3-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gph4: gph4-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gph5: gph5-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gph6: gph6-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&pinctrl_hsi2ufs {
	gph2: gph2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	ufs_refclk_out: ufs-refclk-out-pins {
		samsung,pins = "gph2-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PULL_NONE>;
	};

	ufs_rst_n: ufs-rst-n-pins {
		samsung,pins = "gph2-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PULL_DOWN>;
	};

	ufs_refclk_out_1: ufs-refclk-out-1-pins {
		samsung,pins = "gph2-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PULL_DOWN>;
	};

	ufs_rst_n_1: ufs-rst-n-1-pins {
		samsung,pins = "gph2-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PULL_DOWN>;
	};
};

&pinctrl_peric0 {
	gpg0: gpg0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpg2: gpg2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpg3: gpg3-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpg4: gpg4-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpg5: gpg5-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp0: gpp0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp1: gpp1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp2: gpp2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp3: gpp3-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp4: gpp4-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	/* PWM PERIC0 */
	pwm_tout0: pwm-tout0-pins {
		samsung,pins = "gpg0-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	pwm_tout1: pwm-tout1-pins {
		samsung,pins = "gpg0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	pwm_tout2: pwm-tout2-pins {
		samsung,pins = "gpg0-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	pwm_tout3: pwm-tout3-pins {
		samsung,pins = "gpg0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC0_USI00 */
	uart0_bus: uart0-bus-pins {
		samsung,pins = "gpp0-0", "gpp0-1", "gpp0-2", "gpp0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart0_bus_dual: uart0-bus-dual-pins {
		samsung,pins = "gpp0-0", "gpp0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC0_USI01 */
	uart1_bus: uart1-bus-pins {
		samsung,pins = "gpp0-4", "gpp0-5", "gpp0-6", "gpp0-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart1_bus_dual: uart1-bus-dual-pins {
		samsung,pins = "gpp0-4", "gpp0-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC0_USI02 */
	uart2_bus: uart2-bus-pins {
		samsung,pins = "gpp1-0", "gpp1-1", "gpp1-2", "gpp1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart2_bus_dual: uart2-bus-dual-pins {
		samsung,pins = "gpp1-0", "gpp1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC0_USI03 */
	uart3_bus: uart3-bus-pins {
		samsung,pins = "gpp1-4", "gpp1-5", "gpp1-6", "gpp1-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart3_bus_dual: uart3-bus-dual-pins {
		samsung,pins = "gpp1-4", "gpp1-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC0_USI04 */
	uart4_bus: uart4-bus-pins {
		samsung,pins = "gpp2-0", "gpp2-1", "gpp2-2", "gpp2-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart4_bus_dual: uart4-bus-dual-pins {
		samsung,pins = "gpp2-0", "gpp2-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC0_USI05 */
	uart5_bus: uart5-bus-pins {
		samsung,pins = "gpp2-4", "gpp2-5", "gpp2-6", "gpp2-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart5_bus_dual: uart5-bus-dual-pins {
		samsung,pins = "gpp2-4", "gpp2-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC0_USI06 */
	uart6_bus: uart6-bus-pins {
		samsung,pins = "gpp3-0", "gpp3-1", "gpp3-2", "gpp3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart6_bus_dual: uart6-bus-dual-pins {
		samsung,pins = "gpp3-0", "gpp3-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC0_USI07 */
	uart7_bus: uart7-bus-pins {
		samsung,pins = "gpp3-4", "gpp3-5", "gpp3-6", "gpp3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart7_bus_dual: uart7-bus-dual-pins {
		samsung,pins = "gpp3-4", "gpp3-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC0_USI08 */
	uart8_bus: uart8-bus-pins {
		samsung,pins = "gpp4-0", "gpp4-1", "gpp4-2", "gpp4-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart8_bus_dual: uart8-bus-dual-pins {
		samsung,pins = "gpp4-0", "gpp4-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI00  */
	hsi2c0_bus: hsi2c0-bus-pins {
		samsung,pins = "gpp0-0", "gpp0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI00_I2C */
	hsi2c1_bus: hsi2c1-bus-pins {
		samsung,pins = "gpp0-2", "gpp0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI01 */
	hsi2c2_bus: hsi2c2-bus-pins {
		samsung,pins = "gpp0-4", "gpp0-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI01_I2C */
	hsi2c3_bus: hsi2c3-bus-pins {
		samsung,pins = "gpp0-6", "gpp0-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI02 */
	hsi2c4_bus: hsi2c4-bus-pins {
		samsung,pins = "gpp1-0", "gpp1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI02_I2C */
	hsi2c5_bus: hsi2c5-bus-pins {
		samsung,pins = "gpp1-2", "gpp1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI03 */
	hsi2c6_bus: hsi2c6-bus-pins {
		samsung,pins = "gpp1-4", "gpp1-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI03_I2C */
	hsi2c7_bus: hsi2c7-bus-pins {
		samsung,pins = "gpp1-6", "gpp1-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI04 */
	hsi2c8_bus: hsi2c8-bus-pins {
		samsung,pins = "gpp2-0", "gpp2-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI04_I2C */
	hsi2c9_bus: hsi2c9-bus-pins {
		samsung,pins = "gpp2-2", "gpp2-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI05 */
	hsi2c10_bus: hsi2c10-bus-pins {
		samsung,pins = "gpp2-4", "gpp2-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI05_I2C */
	hsi2c11_bus: hsi2c11-bus-pins {
		samsung,pins = "gpp2-6", "gpp2-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI06 */
	hsi2c12_bus: hsi2c12-bus-pins {
		samsung,pins = "gpp3-0", "gpp3-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI06_I2C */
	hsi2c13_bus: hsi2c13-bus-pins {
		samsung,pins = "gpp3-2", "gpp3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI07 */
	hsi2c14_bus: hsi2c14-bus-pins {
		samsung,pins = "gpp3-4", "gpp3-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI07_I2C */
	hsi2c15_bus: hsi2c15-bus-pins {
		samsung,pins = "gpp3-6", "gpp3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI08 */
	hsi2c16_bus: hsi2c16-bus-pins {
		samsung,pins = "gpp4-0", "gpp4-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC0 USI08_I2C */
	hsi2c17_bus: hsi2c17-bus-pins {
		samsung,pins = "gpp4-2", "gpp4-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC0 USI00 */
	spi0_bus: spi0-bus-pins {
		samsung,pins = "gpp0-0", "gpp0-1", "gpp0-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi0_cs: spi0-cs-pins {
		samsung,pins = "gpp0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi0_cs_func: spi0-cs-func-pins {
		samsung,pins = "gpp0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC0 USI01 */
	spi1_bus: spi1-bus-pins {
		samsung,pins = "gpp0-4", "gpp0-5", "gpp0-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi1_cs: spi1-cs-pins {
		samsung,pins = "gpp0-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi1_cs_func: spi1-cs-func-pins {
		samsung,pins = "gpp0-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC0 USI02 */
	spi2_bus: spi2-bus-pins {
		samsung,pins = "gpp1-0", "gpp1-1", "gpp1-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi2_cs: spi2-cs-pins {
		samsung,pins = "gpp1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi2_cs_func: spi2-cs-func-pins {
		samsung,pins = "gpp1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC0 USI03 */
	spi3_bus: spi3-bus-pins {
		samsung,pins = "gpp1-4", "gpp1-5", "gpp1-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi3_cs: spi3-cs-pins {
		samsung,pins = "gpp1-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi3_cs_func: spi3-cs-func-pins {
		samsung,pins = "gpp1-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC0 USI04 */
	spi4_bus: spi4-bus-pins {
		samsung,pins = "gpp2-0", "gpp2-1", "gpp2-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi4_cs: spi4-cs-pins {
		samsung,pins = "gpp2-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi4_cs_func: spi4-cs-func-pins {
		samsung,pins = "gpp2-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC0 USI05 */
	spi5_bus: spi5-bus-pins {
		samsung,pins = "gpp2-4", "gpp2-5", "gpp2-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi5_cs: spi5-cs-pins {
		samsung,pins = "gpp2-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi5_cs_func: spi5-cs-func-pins {
		samsung,pins = "gpp2-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC0 USI06 */
	spi6_bus: spi6-bus-pins {
		samsung,pins = "gpp3-0", "gpp3-1", "gpp3-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi6_cs: spi6-cs-pins {
		samsung,pins = "gpp3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi6_cs_func: spi6-cs-func-pins {
		samsung,pins = "gpp3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC0 USI07 */
	spi7_bus: spi7-bus-pins {
		samsung,pins = "gpp3-4", "gpp3-5", "gpp3-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi7_cs: spi7-cs-pins {
		samsung,pins = "gpp3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi7_cs_func: spi7-cs-func-pins {
		samsung,pins = "gpp3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC0 USI08 */
	spi8_bus: spi8-bus-pins {
		samsung,pins = "gpp4-0", "gpp4-1", "gpp4-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi8_cs: spi8-cs-pins {
		samsung,pins = "gpp4-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi8_cs_func: spi8-cs-func-pins {
		samsung,pins = "gpp4-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I3C PERIC0 */
	i3c0_bus: i3c0-bus-pins {
		samsung,pins = "gpp2-6", "gpp2-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	i3c1_bus: i3c1-bus-pins {
		samsung,pins = "gpp3-2", "gpp3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	i3c2_bus: i3c2-bus-pins {
		samsung,pins = "gpp3-6", "gpp3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	i3c3_bus: i3c3-bus-pins {
		samsung,pins = "gpp4-2", "gpp4-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};
};

&pinctrl_peric1 {
	gpg1: gpg1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp5: gpp5-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp6: gpp6-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp7: gpp7-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp8: gpp8-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp9: gpp9-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp10: gpp10-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp11: gpp11-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpp12: gpp12-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	/* UART PERIC1 USI09 */
	uart9_bus: uart9-bus-pins {
		samsung,pins = "gpp5-0", "gpp5-1", "gpp5-2", "gpp5-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart9_bus_dual: uart9-bus-dual-pins {
		samsung,pins = "gpp5-0", "gpp5-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC1 USI10 */
	uart10_bus: uart10-bus-pins {
		samsung,pins = "gpp5-4", "gpp5-5", "gpp5-6", "gpp5-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart10_bus_dual: uart10-bus-dual-pins {
		samsung,pins = "gpp5-4", "gpp5-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC1 USI11 */
	uart11_bus: uart11-bus-pins {
		samsung,pins = "gpp10-0", "gpp10-1", "gpp10-2", "gpp10-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart11_bus_dual: uart11-bus-dual-pins {
		samsung,pins = "gpp10-0", "gpp10-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC1_USI12 */
	uart12_bus: uart12-bus-pins {
		samsung,pins = "gpp7-0", "gpp7-1", "gpp7-2", "gpp7-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart12_bus_dual: uart12-bus-dual-pins {
		samsung,pins = "gpp7-0", "gpp7-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC1_USI13 */
	uart13_bus: uart13-bus-pins {
		samsung,pins = "gpp7-4", "gpp7-5", "gpp7-6", "gpp7-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart13_bus_dual: uart13-bus-dual-pins {
		samsung,pins = "gpp7-4", "gpp7-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC1 USI14 */
	uart14_bus: uart14-bus-pins {
		samsung,pins = "gpp8-0", "gpp8-1", "gpp8-2", "gpp8-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart14_bus_dual: uart14-bus-dual-pins {
		samsung,pins = "gpp8-0", "gpp8-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC1 USI15 */
	uart15_bus: uart15-bus-pins {
		samsung,pins = "gpp11-0", "gpp11-1", "gpp11-2", "gpp11-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart15_bus_dual: uart15-bus-dual-pins {
		samsung,pins = "gpp11-0", "gpp11-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC1 USI16 */
	uart16_bus: uart16-bus-pins {
		samsung,pins = "gpp9-0", "gpp9-1", "gpp9-2", "gpp9-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart16_bus_dual: uart16-bus-dual-pins {
		samsung,pins = "gpp9-0", "gpp9-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* UART PERIC1 USI17 */
	uart17_bus: uart17-bus-pins {
		samsung,pins = "gpp12-0", "gpp12-1", "gpp12-2", "gpp12-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart17_bus_dual: uart17-bus-dual-pins {
		samsung,pins = "gpp12-0", "gpp12-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI09 */
	hsi2c18_bus: hsi2c18-bus-pins {
		samsung,pins = "gpp5-0", "gpp5-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI09_I2C */
	hsi2c19_bus: hsi2c19-bus-pins {
		samsung,pins = "gpp5-2", "gpp5-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI10 */
	hsi2c20_bus: hsi2c20-bus-pins {
		samsung,pins = "gpp5-4", "gpp5-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI10_I2C */
	hsi2c21_bus: hsi2c21-bus-pins {
		samsung,pins = "gpp5-6", "gpp5-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI11 */
	hsi2c22_bus: hsi2c22-bus-pins {
		samsung,pins = "gpp10-0", "gpp10-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI11_I2C */
	hsi2c23_bus: hsi2c23-bus-pins {
		samsung,pins = "gpp10-2", "gpp10-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI12 */
	hsi2c24_bus: hsi2c24-bus-pins {
		samsung,pins = "gpp7-0", "gpp7-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI12_I2C */
	hsi2c25_bus: hsi2c25-bus-pins {
		samsung,pins = "gpp7-2", "gpp7-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI13 */
	hsi2c26_bus: hsi2c26-bus-pins {
		samsung,pins = "gpp7-4", "gpp7-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI13_I2C */
	hsi2c27_bus: hsi2c27-bus-pins {
		samsung,pins = "gpp7-6", "gpp7-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI14 */
	hsi2c28_bus: hsi2c28-bus-pins {
		samsung,pins = "gpp8-0", "gpp8-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI14_I2C */
	hsi2c29_bus: hsi2c29-bus-pins {
		samsung,pins = "gpp8-2", "gpp8-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI15 */
	hsi2c30_bus: hsi2c30-bus-pins {
		samsung,pins = "gpp11-0", "gpp11-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI15_I2C */
	hsi2c31_bus: hsi2c31-bus-pins {
		samsung,pins = "gpp11-2", "gpp11-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI16 */
	hsi2c32_bus: hsi2c32-bus-pins {
		samsung,pins = "gpp9-0", "gpp9-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI16_I2C */
	hsi2c33_bus: hsi2c33-bus-pins {
		samsung,pins = "gpp9-2", "gpp9-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI17 */
	hsi2c34_bus: hsi2c34-bus-pins {
		samsung,pins = "gpp12-0", "gpp12-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I2C PERIC1 USI17_I2C */
	hsi2c35_bus: hsi2c35-bus-pins {
		samsung,pins = "gpp12-2", "gpp12-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC1 USI09 */
	spi9_bus: spi9-bus-pins {
		samsung,pins = "gpp5-0", "gpp5-1", "gpp5-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi9_cs: spi9-cs-pins {
		samsung,pins = "gpp5-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi9_cs_func: spi9-cs-func-pins {
		samsung,pins = "gpp5-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC1 USI10 */
	spi10_bus: spi10-bus-pins {
		samsung,pins = "gpp5-4", "gpp5-5", "gpp5-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi10_cs: spi10-cs-pins {
		samsung,pins = "gpp5-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi10_cs_func: spi10-cs-func-pins {
		samsung,pins = "gpp5-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC1 USI11 */
	spi11_bus: spi11-bus-pins {
		samsung,pins = "gpp10-0", "gpp10-1", "gpp10-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi11_cs: spi11-cs-pins {
		samsung,pins = "gpp10-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi11_cs_func: spi11-cs-func-pins {
		samsung,pins = "gpp10-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC1 USI12 */
	spi12_bus: spi12-bus-pins {
		samsung,pins = "gpp7-0", "gpp7-1", "gpp7-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi12_cs: spi12-cs-pins {
		samsung,pins = "gpp7-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi12_cs_func: spi12-cs-func-pins {
		samsung,pins = "gpp7-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC1 USI13 */
	spi13_bus: spi13-bus-pins {
		samsung,pins = "gpp7-4", "gpp7-5", "gpp7-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi13_cs: spi13-cs-pins {
		samsung,pins = "gpp7-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi13_cs_func: spi13-cs-func-pins {
		samsung,pins = "gpp7-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC1 USI14 */
	spi14_bus: spi14-bus-pins {
		samsung,pins = "gpp8-0", "gpp8-1", "gpp8-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi14_cs: spi14-cs-pins {
		samsung,pins = "gpp8-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi14_cs_func: spi14-cs-func-pins {
		samsung,pins = "gpp8-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC1 USI15 */
	spi15_bus: spi15-bus-pins {
		samsung,pins = "gpp11-0", "gpp11-1", "gpp11-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi15_cs: spi15-cs-pins {
		samsung,pins = "gpp11-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi15_cs_func: spi15-cs-func-pins {
		samsung,pins = "gpp11-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC1 USI16 */
	spi16_bus: spi16-bus-pins {
		samsung,pins = "gpp9-0", "gpp9-1", "gpp9-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi16_cs: spi16-cs-pins {
		samsung,pins = "gpp9-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi16_cs_func: spi16-cs-func-pins {
		samsung,pins = "gpp9-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* SPI PERIC1 USI17 */
	spi17_bus: spi17-bus-pins {
		samsung,pins = "gpp12-0", "gpp12-1", "gpp12-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi17_cs: spi17-cs-pins {
		samsung,pins = "gpp12-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	spi17_cs_func: spi17-cs-func-pins {
		samsung,pins = "gpp12-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* I3C PERIC1 */
	i3c4_bus: i3c4-bus-pins {
		samsung,pins = "gpp7-2", "gpp7-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	i3c5_bus: i3c5-bus-pins {
		samsung,pins = "gpp7-6", "gpp7-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	i3c6_bus: i3c6-bus-pins {
		samsung,pins = "gpp8-2", "gpp8-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	i3c7_bus: i3c7-bus-pins {
		samsung,pins = "gpp11-2", "gpp11-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};
};
