/*
 * Exynos5410 SoC pin-mux and pin-config device tree source
 *
 * Copyright (c) 2013 Hardkernel Co., Ltd.
 *              http://www.hardkernel.com
 *
 * 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_0 {
	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>;
	};

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

	gpm5: gpm5 {
		gpio-controller;
		#gpio-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>;
	};

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

	gpm7: gpm7 {
		gpio-controller;
		#gpio-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>;
	};

	gpy7: gpy7 {
		gpio-controller;
		#gpio-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>;
		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>;
	};

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

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

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

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

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

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

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

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

	i2c7_hs_bus: i2c7-hs-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>;
	};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

&pinctrl_3 {
	gpz: gpz {
		gpio-controller;
		#gpio-cells = <2>;

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