/*
 * Samsung's Exynos4210 SoC pin-mux and pin-config device tree source
 *
 * Copyright (c) 2011-2012 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 * Copyright (c) 2011-2012 Linaro Ltd.
 *		www.linaro.org
 *
 * Samsung's Exynos4210 SoC 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>;
		};

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

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

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

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

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

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

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

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

		gpe4: gpe4 {
			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>;
		};

		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-2", "gpb-3";
			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-6", "gpb-7";
			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-2", "gpc1-3", "gpc1-4";
			samsung,pin-function = <5>;
			samsung,pin-pud = <3>;
			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>;
		};

		i2c0_bus: i2c0-bus {
			samsung,pins = "gpd1-0", "gpd1-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			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>;
		};

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

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

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

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

		lcd_en: lcd-en {
			samsung,pins = "gpe3-4";
			samsung,pin-function = <2>;
			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>;
		};
	};

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

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

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

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

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

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

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

		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@03860000 {
		gpz: gpz {
			gpio-controller;
			#gpio-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>;
		};
	};
};