/*
 * Samsung's Exynos4x12 SoCs pin-mux and pin-config device tree source
 *
 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Samsung's Exynos4x12 SoCs pin-mux and pin-config optiosn are listed as device
 * tree nodes are listed in this file.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

/ {
	pinctrl@11400000 {
		gpa0: gpa0 {
			gpio-controller;
			#gpio-cells = <2>;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		uart0_data: uart0-data {
			samsung,pins = "gpa0-0", "gpa0-1";
			samsung,pin-function = <0x2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		uart0_fctl: uart0-fctl {
			samsung,pins = "gpa0-2", "gpa0-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		uart1_data: uart1-data {
			samsung,pins = "gpa0-4", "gpa0-5";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		uart1_fctl: uart1-fctl {
			samsung,pins = "gpa0-6", "gpa0-7";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		i2c2_bus: i2c2-bus {
			samsung,pins = "gpa0-6", "gpa0-7";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		uart2_data: uart2-data {
			samsung,pins = "gpa1-0", "gpa1-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		uart2_fctl: uart2-fctl {
			samsung,pins = "gpa1-2", "gpa1-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		uart_audio_a: uart-audio-a {
			samsung,pins = "gpa1-0", "gpa1-1";
			samsung,pin-function = <4>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		i2c3_bus: i2c3-bus {
			samsung,pins = "gpa1-2", "gpa1-3";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		uart3_data: uart3-data {
			samsung,pins = "gpa1-4", "gpa1-5";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		uart_audio_b: uart-audio-b {
			samsung,pins = "gpa1-4", "gpa1-5";
			samsung,pin-function = <4>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		spi0_bus: spi0-bus {
			samsung,pins = "gpb-0", "gpb-2", "gpb-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		i2c4_bus: i2c4-bus {
			samsung,pins = "gpb-0", "gpb-1";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		spi1_bus: spi1-bus {
			samsung,pins = "gpb-4", "gpb-6", "gpb-7";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		i2c5_bus: i2c5-bus {
			samsung,pins = "gpb-2", "gpb-3";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		i2s1_bus: i2s1-bus {
			samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
					"gpc0-4";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		pcm1_bus: pcm1-bus {
			samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
					"gpc0-4";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		ac97_bus: ac97-bus {
			samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
					"gpc0-4";
			samsung,pin-function = <4>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		i2s2_bus: i2s2-bus {
			samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
					"gpc1-4";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		pcm2_bus: pcm2-bus {
			samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
					"gpc1-4";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		spdif_bus: spdif-bus {
			samsung,pins = "gpc1-0", "gpc1-1";
			samsung,pin-function = <4>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		i2c6_bus: i2c6-bus {
			samsung,pins = "gpc1-3", "gpc1-4";
			samsung,pin-function = <4>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		spi2_bus: spi2-bus {
			samsung,pins = "gpc1-1", "gpc1-3", "gpc1-4";
			samsung,pin-function = <5>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		pwm0_out: pwm0-out {
			samsung,pins = "gpd0-0";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		pwm1_out: pwm1-out {
			samsung,pins = "gpd0-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		lcd_ctrl: lcd-ctrl {
			samsung,pins = "gpd0-0", "gpd0-1";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		i2c7_bus: i2c7-bus {
			samsung,pins = "gpd0-2", "gpd0-3";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		pwm2_out: pwm2-out {
			samsung,pins = "gpd0-2";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		pwm3_out: pwm3-out {
			samsung,pins = "gpd0-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		i2c0_bus: i2c0-bus {
			samsung,pins = "gpd1-0", "gpd1-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		mipi0_clk: mipi0-clk {
			samsung,pins = "gpd1-0", "gpd1-1";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		i2c1_bus: i2c1-bus {
			samsung,pins = "gpd1-2", "gpd1-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		mipi1_clk: mipi1-clk {
			samsung,pins = "gpd1-2", "gpd1-3";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		lcd_clk: lcd-clk {
			samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		lcd_data16: lcd-data-width16 {
			samsung,pins = "gpf0-7", "gpf1-0", "gpf1-1", "gpf1-2",
					"gpf1-3", "gpf1-6", "gpf1-7", "gpf2-0",
					"gpf2-1", "gpf2-2", "gpf2-3", "gpf2-7",
					"gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		lcd_data18: lcd-data-width18 {
			samsung,pins = "gpf0-6", "gpf0-7", "gpf1-0", "gpf1-1",
					"gpf1-2", "gpf1-3", "gpf1-6", "gpf1-7",
					"gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
					"gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1",
					"gpf3-2", "gpf3-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		lcd_data24: lcd-data-width24 {
			samsung,pins = "gpf0-4", "gpf0-5", "gpf0-6", "gpf0-7",
					"gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3",
					"gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7",
					"gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
					"gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7",
					"gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		lcd_ldi: lcd-ldi {
			samsung,pins = "gpf3-4";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		cam_port_a_io: cam-port-a-io {
			samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3",
					"gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7",
					"gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		cam_port_a_clk_active: cam-port-a-clk-active {
			samsung,pins = "gpj1-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		cam_port_a_clk_idle: cam-port-a-clk-idle {
			samsung,pins = "gpj1-3";
			samsung,pin-function = <0>;
			samsung,pin-pud = <1>;
			samsung,pin-drv = <0>;
		};
	};

	pinctrl@11000000 {
		gpk0: gpk0 {
			gpio-controller;
			#gpio-cells = <2>;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		gpy0: gpy0 {
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpy1: gpy1 {
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpy2: gpy2 {
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpy3: gpy3 {
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpy4: gpy4 {
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpy5: gpy5 {
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpy6: gpy6 {
			gpio-controller;
			#gpio-cells = <2>;
		};

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

			interrupt-controller;
			interrupt-parent = <&gic>;
			interrupts = <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>,
				     <0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>;
			#interrupt-cells = <2>;
		};

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

			interrupt-controller;
			interrupt-parent = <&gic>;
			interrupts = <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>,
				     <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>;
			#interrupt-cells = <2>;
		};

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

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

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

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

		sd0_clk: sd0-clk {
			samsung,pins = "gpk0-0";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		sd0_cmd: sd0-cmd {
			samsung,pins = "gpk0-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		sd0_cd: sd0-cd {
			samsung,pins = "gpk0-2";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd0_bus1: sd0-bus-width1 {
			samsung,pins = "gpk0-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd0_bus4: sd0-bus-width4 {
			samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd0_bus8: sd0-bus-width8 {
			samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd4_clk: sd4-clk {
			samsung,pins = "gpk0-0";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		sd4_cmd: sd4-cmd {
			samsung,pins = "gpk0-1";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		sd4_cd: sd4-cd {
			samsung,pins = "gpk0-2";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd4_bus1: sd4-bus-width1 {
			samsung,pins = "gpk0-3";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd4_bus4: sd4-bus-width4 {
			samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd4_bus8: sd4-bus-width8 {
			samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
			samsung,pin-function = <4>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd1_clk: sd1-clk {
			samsung,pins = "gpk1-0";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		sd1_cmd: sd1-cmd {
			samsung,pins = "gpk1-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		sd1_cd: sd1-cd {
			samsung,pins = "gpk1-2";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd1_bus1: sd1-bus-width1 {
			samsung,pins = "gpk1-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd1_bus4: sd1-bus-width4 {
			samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd2_clk: sd2-clk {
			samsung,pins = "gpk2-0";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		sd2_cmd: sd2-cmd {
			samsung,pins = "gpk2-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		sd2_cd: sd2-cd {
			samsung,pins = "gpk2-2";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd2_bus1: sd2-bus-width1 {
			samsung,pins = "gpk2-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd2_bus4: sd2-bus-width4 {
			samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd2_bus8: sd2-bus-width8 {
			samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd3_clk: sd3-clk {
			samsung,pins = "gpk3-0";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		sd3_cmd: sd3-cmd {
			samsung,pins = "gpk3-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		sd3_cd: sd3-cd {
			samsung,pins = "gpk3-2";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd3_bus1: sd3-bus-width1 {
			samsung,pins = "gpk3-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		sd3_bus4: sd3-bus-width4 {
			samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

		cam_port_b_io: cam-port-b-io {
			samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
					"gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
					"gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		cam_port_b_clk_active: cam-port-b-clk-active {
			samsung,pins = "gpm2-2";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <3>;
		};

		cam_port_b_clk_idle: cam-port-b-clk-idle {
			samsung,pins = "gpm2-2";
			samsung,pin-function = <0>;
			samsung,pin-pud = <1>;
			samsung,pin-drv = <0>;
		};

		eint0: ext-int0 {
			samsung,pins = "gpx0-0";
			samsung,pin-function = <0xf>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		eint8: ext-int8 {
			samsung,pins = "gpx1-0";
			samsung,pin-function = <0xf>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		eint15: ext-int15 {
			samsung,pins = "gpx1-7";
			samsung,pin-function = <0xf>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		eint16: ext-int16 {
			samsung,pins = "gpx2-0";
			samsung,pin-function = <0xf>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		eint31: ext-int31 {
			samsung,pins = "gpx3-7";
			samsung,pin-function = <0xf>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		fimc_is_i2c0: fimc-is-i2c0 {
			samsung,pins = "gpm4-0", "gpm4-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		fimc_is_i2c1: fimc-is-i2c1 {
			samsung,pins = "gpm4-2", "gpm4-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		fimc_is_uart: fimc-is-uart {
			samsung,pins = "gpm3-5", "gpm3-7";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};
	};

	pinctrl@03860000 {
		gpz: gpz {
			gpio-controller;
			#gpio-cells = <2>;

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

		i2s0_bus: i2s0-bus {
			samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
					"gpz-4", "gpz-5", "gpz-6";
			samsung,pin-function = <0x2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		pcm0_bus: pcm0-bus {
			samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
					"gpz-4";
			samsung,pin-function = <0x3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};
	};

	pinctrl@106E0000 {
		gpv0: gpv0 {
			gpio-controller;
			#gpio-cells = <2>;

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

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

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

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

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

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

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

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

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

		c2c_bus: c2c-bus {
			samsung,pins = "gpv0-0", "gpv0-1", "gpv0-2", "gpv0-3",
					"gpv0-4", "gpv0-5", "gpv0-6", "gpv0-7",
					"gpv1-0", "gpv1-1", "gpv1-2", "gpv1-3",
					"gpv1-4", "gpv1-5", "gpv1-6", "gpv1-7",
					"gpv2-0", "gpv2-1", "gpv2-2", "gpv2-3",
					"gpv2-4", "gpv2-5", "gpv2-6", "gpv2-7",
					"gpv3-0", "gpv3-1", "gpv3-2", "gpv3-3",
					"gpv3-4", "gpv3-5", "gpv3-6", "gpv3-7",
					"gpv4-0", "gpv4-1";
			samsung,pin-function = <0x2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};
	};
};
