/*
 * Samsung's S5PV210 SoC device tree source
 *
 * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
 *
 * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
 * Tomasz Figa <t.figa@samsung.com>
 *
 * Samsung's S5PV210 SoC device nodes are listed in this file. S5PV210
 * based board files can include this file and provide values for board specfic
 * bindings.
 *
 * Note: This file does not include device nodes for all the controllers in
 * S5PV210 SoC. As device tree coverage for S5PV210 increases, additional
 * nodes can be added to 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.
 */

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

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

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

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

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

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

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

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

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

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

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

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

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

	gph0: gph0 {
		gpio-controller;
		interrupt-controller;
		interrupt-parent = <&vic0>;
		interrupts = <0>, <1>, <2>, <3>,
				<4>, <5>, <6>, <7>;
		#gpio-cells = <2>;
		#interrupt-cells = <2>;
	};

	gph1: gph1 {
		gpio-controller;
		interrupt-controller;
		interrupt-parent = <&vic0>;
		interrupts = <8>, <9>, <10>, <11>,
				<12>, <13>, <14>, <15>;
		#gpio-cells = <2>;
		#interrupt-cells = <2>;
	};

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

	gph3: gph3 {
		gpio-controller;
		#gpio-cells = <2>;
		#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>;
	};

	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 = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

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

	uart_audio: uart-audio {
		samsung,pins = "gpa1-2", "gpa1-3";
		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 = <2>;
		samsung,pin-drv = <0>;
	};

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

	i2s0_bus: i2s0-bus {
		samsung,pins = "gpi-0", "gpi-1", "gpi-2", "gpi-3",
				"gpi-4", "gpi-5", "gpi-6";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		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>;
	};

	i2s2_bus: i2s2-bus {
		samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
				"gpc1-4";
		samsung,pin-function = <4>;
		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>;
	};

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

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

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

	i2c2_bus: i2c2-bus {
		samsung,pins = "gpd1-4", "gpd1-5";
		samsung,pin-function = <2>;
		samsung,pin-pud = <2>;
		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>;
	};

	keypad_row0: keypad-row-0 {
		samsung,pins = "gph3-0";
		samsung,pin-function = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	keypad_row1: keypad-row-1 {
		samsung,pins = "gph3-1";
		samsung,pin-function = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	keypad_row2: keypad-row-2 {
		samsung,pins = "gph3-2";
		samsung,pin-function = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	keypad_row3: keypad-row-3 {
		samsung,pins = "gph3-3";
		samsung,pin-function = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	keypad_row4: keypad-row-4 {
		samsung,pins = "gph3-4";
		samsung,pin-function = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	keypad_row5: keypad-row-5 {
		samsung,pins = "gph3-5";
		samsung,pin-function = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	keypad_row6: keypad-row-6 {
		samsung,pins = "gph3-6";
		samsung,pin-function = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	keypad_row7: keypad-row-7 {
		samsung,pins = "gph3-7";
		samsung,pin-function = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	cam_port_a_io: cam-port-a-io {
		samsung,pins = "gpe0-0", "gpe0-1", "gpe0-2", "gpe0-3",
				"gpe0-4", "gpe0-5", "gpe0-6", "gpe0-7",
				"gpe1-0", "gpe1-1", "gpe1-2", "gpe1-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 = "gpe1-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 = "gpe1-3";
		samsung,pin-function = <0>;
		samsung,pin-pud = <1>;
		samsung,pin-drv = <0>;
	};

	cam_port_b_io: cam-port-b-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 = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

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

	cam_port_b_clk_idle: cam-port-b-clk-idle {
		samsung,pins = "gpj1-3";
		samsung,pin-function = <0>;
		samsung,pin-pud = <1>;
		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_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_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>;
	};
};