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

#include <dt-bindings/pinctrl/samsung.h>

&pinctrl_alive {
	gpa0: gpa0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
	};

	gpa1: gpa1-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>;
	};

	dp0_hpd: dp0-hpd-pins {
		samsung,pins = "gpa1-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	dp1_hpd: dp1-hpd-pins {
		samsung,pins = "gpa1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

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

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

	speedy0_bus: speedy0-bus-pins {
		samsung,pins = "gpq0-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
	};

	speedy1_bus: speedy1-bus-pins {
		samsung,pins = "gpa0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
	};
};

&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>;
	};

	aud_codec_mclk: aud-codec-mclk-pins {
		samsung,pins = "gpb0-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_codec_mclk_idle: aud-codec-mclk-idle-pins {
		samsung,pins = "gpb0-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s0_bus: aud-i2s0-pins {
		samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s0_idle: aud-i2s0-idle-pins {
		samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s1_bus: aud-i2s1-pins {
		samsung,pins = "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s1_idle: aud-i2s1-idle-pins {
		samsung,pins = "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s2_bus: aud-i2s2-pins {
		samsung,pins = "gpb1-4", "gpb1-5", "gpb1-6", "gpb1-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s2_idle: aud-i2s2-idle-pins {
		samsung,pins = "gpb1-4", "gpb1-5", "gpb1-6", "gpb1-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s3_bus: aud-i2s3-pins {
		samsung,pins = "gpb2-0", "gpb2-1", "gpb2-2", "gpb2-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s3_idle: aud-i2s3-idle-pins {
		samsung,pins = "gpb2-0", "gpb2-1", "gpb2-2", "gpb2-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s4_bus: aud-i2s4-pins {
		samsung,pins = "gpb2-4", "gpb2-5", "gpb2-6", "gpb2-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s4_idle: aud-i2s4-idle-pins {
		samsung,pins = "gpb2-4", "gpb2-5", "gpb2-6", "gpb2-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s5_bus: aud-i2s5-pins {
		samsung,pins = "gpb3-0", "gpb3-1", "gpb3-2", "gpb3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s5_idle: aaud-i2s5-idle-pins {
		samsung,pins = "gpb3-0", "gpb3-1", "gpb3-2", "gpb3-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s6_bus: aud-i2s6-pins {
		samsung,pins = "gpb3-4", "gpb3-5", "gpb3-6", "gpb3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};

	aud_i2s6_idle: aaud-i2s6-idle-pins {
		samsung,pins = "gpb3-4", "gpb3-5", "gpb3-6", "gpb3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
	};
};

&pinctrl_fsys0 {
	gpf0: gpf0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

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

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

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

	pcie_clkreq0: pcie-clkreq0-pins {
		samsung,pins = "gpf0-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>;
	};

	pcie_perst0_out: pcie-perst0-out-pins {
		samsung,pins = "gpf0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_perst0_in: pcie-perst0-in-pins {
		samsung,pins = "gpf0-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_clkreq1: pcie-clkreq1-pins {
		samsung,pins = "gpf0-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>;
	};

	pcie_perst1_out: pcie-perst1-out-pins {
		samsung,pins = "gpf0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_perst1_in: pcie-perst1-in-pins {
		samsung,pins = "gpf0-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_clkreq2: pcie-clkreq2-pins {
		samsung,pins = "gpf0-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>;
	};

	pcie_perst2_out: pcie-perst2-out-pins {
		samsung,pins = "gpf0-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_perst2_in: pcie-perst2-in-pins {
		samsung,pins = "gpf0-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_clkreq3: pcie-clkreq3-pins {
		samsung,pins = "gpf1-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>;
	};

	pcie_perst3_out: pcie-perst3-out-pins {
		samsung,pins = "gpf1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_perst3_in: pcie-perst3-in-pins {
		samsung,pins = "gpf1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_clkreq4: pcie-clkreq4-pins {
		samsung,pins = "gpf1-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>;
	};

	pcie_perst4_out: pcie-perst4-out-pins {
		samsung,pins = "gpf1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_perst4_in: pcie-perst4-in-pins {
		samsung,pins = "gpf1-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_clkreq5: pcie-clkreq5-pins {
		samsung,pins = "gpf1-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>;
	};

	pcie_perst5_out: pcie-perst5-out-pins {
		samsung,pins = "gpf1-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};

	pcie_perst5_in: pcie-perst5-in-pins {
		samsung,pins = "gpf1-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
	};
};

&pinctrl_fsys1 {
	gpf8: gpf8-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

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

	sd2_clk: sd2-clk-pins {
		samsung,pins = "gpf8-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <2>;	/* 2x drive strength */
	};

	sd2_cmd: sd2-cmd-pins {
		samsung,pins = "gpf8-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <2>;	/* 2x drive strength */
	};

	sd2_bus1: sd2-bus-width1-pins {
		samsung,pins = "gpf8-2";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <2>;	/* 2x drive strength */
	};

	sd2_bus4: sd2-bus-width4-pins {
		samsung,pins = "gpf8-3", "gpf8-4", "gpf8-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <2>;	/* 2x drive strength */
	};
};

&pinctrl_fsys2 {
	gpf2: gpf2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

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

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

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

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

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

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

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

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

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

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

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

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

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

	eth0_mdc_mdio: eth0-mdc-mdio-pins {
		samsung,pins = "gpf4-5", "gpf4-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	eth0_rgmii: eth0-rgmii-pins {
		samsung,pins = "gpf3-1", "gpf3-2", "gpf3-3", "gpf3-4",
			       "gpf3-5", "gpf3-6", "gpf3-7", "gpf4-0",
			       "gpf4-1", "gpf4-2", "gpf4-3", "gpf4-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	eth0_pps_out: eth0-pps-out-pins {
		samsung,pins = "gpf3-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	eth1_mdc_mdio: eth1-mdc-mdio-pins {
		samsung,pins = "gpf6-5", "gpf6-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	eth1_rgmii: eth1-rgmii-pins {
		samsung,pins = "gpf5-1", "gpf5-2", "gpf5-3", "gpf5-4",
			       "gpf5-5", "gpf5-6", "gpf5-7", "gpf6-0",
			       "gpf6-1", "gpf6-2", "gpf6-3", "gpf6-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	eth1_pps_out: eth1-pps-out-pins {
		samsung,pins = "gpf5-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};
};

&pinctrl_peric0 {
	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>;
	};

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

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

	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>;
	};

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

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

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

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

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

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

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

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

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

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

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

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

	/* SPI USI_PERIC0_USI00_SPI */
	spi0_bus: spi0-bus-pins {
		samsung,pins = "gpp0-2", "gpp0-1", "gpp0-0";
		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>;
	};

	/* PERIC0 USI01_SPI */
	spi1_bus: spi1-bus-pins {
		samsung,pins = "gpp0-6", "gpp0-5", "gpp0-4";
		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>;
	};

	/* PERIC0 USI02_SPI */
	spi2_bus: spi2-bus-pins {
		samsung,pins = "gpp1-2", "gpp1-1", "gpp1-0";
		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>;
	};

	/* PERIC0 USI03_SPI */
	spi3_bus: spi3-bus-pins {
		samsung,pins = "gpp1-6", "gpp1-5", "gpp1-4";
		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>;
	};

	/* PERIC0 USI04_SPI */
	spi4_bus: spi4-bus-pins {
		samsung,pins = "gpp2-2", "gpp2-1", "gpp2-0";
		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>;
	};

	/* PERIC0 USI05_SPI */
	spi5_bus: spi5-bus-pins {
		samsung,pins = "gpp2-6", "gpp2-5", "gpp2-4";
		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>;
	};

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

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

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

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

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

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

&pinctrl_peric1 {
	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>;
	};

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

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

	gpg1: gpg1-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>;
	};

	/* PERIC1 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>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 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>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 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>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 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>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 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>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 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>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI09 */
	hsi2c18_bus: hsi2c18-bus-pins {
		samsung,pins = "gpp4-4", "gpp4-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI09_I2C */
	hsi2c19_bus: hsi2c19-bus-pins {
		samsung,pins = "gpp4-6", "gpp4-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI10 */
	hsi2c20_bus: hsi2c20-bus-pins {
		samsung,pins = "gpp5-0", "gpp5-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI10_I2C */
	hsi2c21_bus: hsi2c21-bus-pins {
		samsung,pins = "gpp5-2", "gpp5-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI11 */
	hsi2c22_bus: hsi2c22-bus-pins {
		samsung,pins = "gpp5-4", "gpp5-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI11_I2C */
	hsi2c23_bus: hsi2c23-bus-pins {
		samsung,pins = "gpp5-6", "gpp5-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI06_SPI */
	spi6_bus: spi6-bus-pins {
		samsung,pins = "gpp3-2", "gpp3-1", "gpp3-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

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

	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>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI07_SPI */
	spi7_bus: spi7-bus-pins {
		samsung,pins = "gpp3-6", "gpp3-5", "gpp3-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

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

	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>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI08_SPI */
	spi8_bus: spi8-bus-pins {
		samsung,pins = "gpp4-2", "gpp4-1", "gpp4-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

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

	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>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI09_SPI */
	spi9_bus: spi9-bus-pins {
		samsung,pins = "gpp4-6", "gpp4-5", "gpp4-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	spi9_cs: spi9-cs-pins {
		samsung,pins = "gpp4-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	spi9_cs_func: spi9-cs-func-pins {
		samsung,pins = "gpp4-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* PERIC1 USI10_SPI */
	spi10_bus: spi10-pins {
		samsung,pins = "gpp5-2", "gpp5-1", "gpp5-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

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

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

	/* PERIC1 USI11_SPI */
	spi11_bus: spi11-pins {
		samsung,pins = "gpp3-6", "gpp3-5", "gpp3-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	spi11_cs: spi11-cs-pins {
		samsung,pins = "gpp3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	spi11_cs_func: spi11-cs-func-pins {
		samsung,pins = "gpp3-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	/* USI_PERIC1_USI06_UART */
	uart6_bus: uart6-bus-pins {
		samsung,pins = "gpp3-3", "gpp3-2", "gpp3-1", "gpp3-0";
		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>;
	};

	/* USI_PERIC1_USI07_UART */
	uart7_bus: uart7-bus-pins {
		samsung,pins = "gpp3-7", "gpp3-6", "gpp3-5", "gpp3-4";
		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>;
	};

	/* USI_PERIC1_USI08_UART */
	uart8_bus: uart8-bus-pins {
		samsung,pins = "gpp4-3", "gpp4-2", "gpp4-1", "gpp4-0";
		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>;
	};

	/* USI_PERIC1_USI09_UART */
	uart9_bus: uart9-bus-pins {
		samsung,pins = "gpp4-7", "gpp4-6", "gpp4-5", "gpp4-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	uart9_bus_dual: uart9-bus-dual-pins {
		samsung,pins = "gpp4-4", "gpp4-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

	/* USI_PERIC1_USI10_UART */
	uart10_bus: uart10-bus-pins {
		samsung,pins = "gpp5-3", "gpp5-2", "gpp5-1", "gpp5-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

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

	/* USI_PERIC1_USI11_UART */
	uart11_bus: uart11-bus-pins {
		samsung,pins = "gpp5-7", "gpp5-6", "gpp5-5", "gpp5-4";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
	};

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