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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

			interrupt-controller;
			interrupt-parent = <&combiner>;
			#interrupt-cells = <2>;
			interrupts = <23 0>, <24 0>, <25 0>, <25 1>,
				     <26 0>, <26 1>, <27 0>, <27 1>;
		};

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

			interrupt-controller;
			interrupt-parent = <&combiner>;
			#interrupt-cells = <2>;
			interrupts = <28 0>, <28 1>, <29 0>, <29 1>,
				     <30 0>, <30 1>, <31 0>, <31 1>;
		};

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

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

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

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

		uart0_data: uart0-data {
			samsung,pins = "gpa0-0", "gpa0-1";
			samsung,pin-function = <2>;
			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>;
			samaung,pin-drv = <0>;
		};

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

		i2c2_hs_bus: i2c2-hs-bus {
			samsung,pins = "gpa0-6", "gpa0-7";
			samsung,pin-function = <4>;
			samsung,pin-pud = <3>;
			samaung,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>;
			samaung,pin-drv = <0>;
		};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		i2c0_hs_bus: i2c0-hs-bus {
			samsung,pins = "gpb3-0", "gpb3-1";
			samsung,pin-function = <4>;
			samsung,pin-pud = <3>;
			samaung,pin-drv = <0>;
		};

		i2c1_hs_bus: i2c1-hs-bus {
			samsung,pins = "gpb3-2", "gpb3-3";
			samsung,pin-function = <4>;
			samsung,pin-pud = <3>;
			samaung,pin-drv = <0>;
		};

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

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

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

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

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

		sd0_bus8: sd0-bus-width8 {
			samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <3>;
		};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		uart1_fctl: uart1-fctl {
			samsung,pins = "gpd0-2", "gpd0-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samaung,pin-drv = <0>;
		};
	};

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

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

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

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

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

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

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

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

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

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

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

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

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

		cam_gpio_a: cam-gpio-a {
			samsung,pins = "gpe0-0", "gpe0-1", "gpe0-2", "gpe0-3",
				       "gpe0-4", "gpe0-5", "gpe0-6", "gpe0-7",
				       "gpe1-0", "gpe1-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};

		cam_gpio_b: cam-gpio-b {
			samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3",
				       "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samaung,pin-drv = <0>;
		};

		cam_i2c2_bus: cam-i2c2-bus {
			samsung,pins = "gpe0-6", "gpe1-0";
			samsung,pin-function = <4>;
			samsung,pin-pud = <3>;
			samaung,pin-drv = <0>;
		};

		cam_spi1_bus: cam-spi1-bus {
			samsung,pins = "gpe0-4", "gpe0-5", "gpf0-2", "gpf0-3";
			samsung,pin-function = <4>;
			samsung,pin-pud = <0>;
			samaung,pin-drv = <0>;
		};

		cam_i2c1_bus: cam-i2c1-bus {
			samsung,pins = "gpf0-2", "gpf0-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samaung,pin-drv = <0>;
		};

		cam_i2c0_bus: cam-i2c0-bus {
			samsung,pins = "gpf0-0", "gpf0-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <3>;
			samaung,pin-drv = <0>;
		};

		cam_spi0_bus: cam-spi0-bus {
			samsung,pins = "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samaung,pin-drv = <0>;
		};

		cam_bayrgb_bus: cam-bayrgb-bus {
			samsung,pins = "gpg0-0", "gpg0-1", "gpg0-2", "gpg0-3",
				       "gpg0-4", "gpg0-5", "gpg0-6", "gpg0-7",
				       "gpg1-0", "gpg1-1", "gpg1-2", "gpg1-3",
				       "gpg1-4", "gpg1-5", "gpg1-6", "gpg1-7",
				       "gpg2-0", "gpg2-1";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samaung,pin-drv = <0>;
		};

		cam_port_a: cam-port-a {
			samsung,pins = "gph0-0", "gph0-1", "gph0-2", "gph0-3",
				       "gph1-0", "gph1-1", "gph1-2", "gph1-3",
				       "gph1-4", "gph1-5", "gph1-6", "gph1-7";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samaung,pin-drv = <0>;
		};
	};

	pinctrl@10d10000 {
		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_rxd: c2c-rxd {
			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";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samaung,pin-drv = <0>;
		};

		c2c_txd: c2c-txd {
			samsung,pins = "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";
			samsung,pin-function = <2>;
			samsung,pin-pud = <0>;
			samaung,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 = <2>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};
	};
};
