/*
 * 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: cam-port-a {
			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-3",
					"gpj1-4";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			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 = <4>;
			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>;
		};

		keypad_col0: keypad-col0 {
			samsung,pins = "gpl2-0";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		keypad_col1: keypad-col1 {
			samsung,pins = "gpl2-1";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		keypad_col2: keypad-col2 {
			samsung,pins = "gpl2-2";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		keypad_col3: keypad-col3 {
			samsung,pins = "gpl2-3";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		keypad_col4: keypad-col4 {
			samsung,pins = "gpl2-4";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		keypad_col5: keypad-col5 {
			samsung,pins = "gpl2-5";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		keypad_col6: keypad-col6 {
			samsung,pins = "gpl2-6";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		keypad_col7: keypad-col7 {
			samsung,pins = "gpl2-7";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		cam_port_b: cam-port-b {
			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",
					"gpm2-2";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			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>;
		};
	};

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