[2/2] ARM: dts: Add intial dts file for Exynos4210 SoC, SMDKV310 and Origen board

Message ID 1318342396-26178-3-git-send-email-thomas.abraham@linaro.org
State New
Headers show

Commit Message

thomas.abraham@linaro.org Oct. 11, 2011, 2:13 p.m.
Add initial dts file for Exynos4210 SoC. This dts file describes the SoC
specific devices and properties. Along with this, add dts file for Samsung's
SMDKV310 board and Insignal's Origen board which uses the Exynos4210 dts file
and extends it to describe the board specific properties.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/boot/dts/exynos4210-origen.dts   |  137 ++++++++++
 arch/arm/boot/dts/exynos4210-smdkv310.dts |  182 +++++++++++++
 arch/arm/boot/dts/exynos4210.dtsi         |  403 +++++++++++++++++++++++++++++
 3 files changed, 722 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/boot/dts/exynos4210-origen.dts
 create mode 100644 arch/arm/boot/dts/exynos4210-smdkv310.dts
 create mode 100644 arch/arm/boot/dts/exynos4210.dtsi

Comments

Grant Likely Oct. 13, 2011, 5:52 p.m. | #1
On Tue, Oct 11, 2011 at 07:43:16PM +0530, Thomas Abraham wrote:
> Add initial dts file for Exynos4210 SoC. This dts file describes the SoC
> specific devices and properties. Along with this, add dts file for Samsung's
> SMDKV310 board and Insignal's Origen board which uses the Exynos4210 dts file
> and extends it to describe the board specific properties.
> 
> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>

Acked-by: Grant Likely <grant.likely@secretlab.ca>

> ---
>  arch/arm/boot/dts/exynos4210-origen.dts   |  137 ++++++++++
>  arch/arm/boot/dts/exynos4210-smdkv310.dts |  182 +++++++++++++
>  arch/arm/boot/dts/exynos4210.dtsi         |  403 +++++++++++++++++++++++++++++
>  3 files changed, 722 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/boot/dts/exynos4210-origen.dts
>  create mode 100644 arch/arm/boot/dts/exynos4210-smdkv310.dts
>  create mode 100644 arch/arm/boot/dts/exynos4210.dtsi
> 
> diff --git a/arch/arm/boot/dts/exynos4210-origen.dts b/arch/arm/boot/dts/exynos4210-origen.dts
> new file mode 100644
> index 0000000..b8c4763
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4210-origen.dts
> @@ -0,0 +1,137 @@
> +/*
> + * Samsung's Exynos4210 based Origen board device tree source
> + *
> + * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
> + *		http://www.samsung.com
> + * Copyright (c) 2010-2011 Linaro Ltd.
> + *		www.linaro.org
> + *
> + * Device tree source file for Insignal's Origen board which is based on
> + * Samsung's Exynos4210 SoC.
> + *
> + * 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.
> +*/
> +
> +/dts-v1/;
> +/include/ "exynos4210.dtsi"
> +
> +/ {
> +	model = "Insignal Origen evaluation board based on Exynos4210";
> +	compatible = "insignal,origen", "samsung,exynos4210";
> +
> +	memory {
> +		reg = <0x40000000 0x40000000>;
> +	};
> +
> +	chosen {
> +		bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
> +	};
> +
> +	sdhci@12530000 {
> +		samsung,sdhci-bus-width = <4>;
> +		linux,mmc_cap_4_bit_data;
> +		samsung,sdhci-cd-internal;
> +		gpio-cd = <&gpk2 2 2 3 3>;
> +		gpios = <&gpk2 0 2 0 3>,
> +			<&gpk2 1 2 0 3>,
> +			<&gpk2 3 2 3 3>,
> +			<&gpk2 4 2 3 3>,
> +			<&gpk2 5 2 3 3>,
> +			<&gpk2 6 2 3 3>;
> +	};
> +
> +	sdhci@12510000 {
> +		samsung,sdhci-bus-width = <4>;
> +		linux,mmc_cap_4_bit_data;
> +		samsung,sdhci-cd-internal;
> +		gpio-cd = <&gpk0 2 2 3 3>;
> +		gpios = <&gpk0 0 2 0 3>,
> +			<&gpk0 1 2 0 3>,
> +			<&gpk0 3 2 3 3>,
> +			<&gpk0 4 2 3 3>,
> +			<&gpk0 5 2 3 3>,
> +			<&gpk0 6 2 3 3>;
> +	};
> +
> +	gpio_keys {
> +		compatible = "gpio-keys";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		up {
> +			label = "Up";
> +			gpios = <&gpx2 0 0 0 2>;
> +			linux,code = <103>;
> +		};
> +
> +		down {
> +			label = "Down";
> +			gpios = <&gpx2 1 0 0 2>;
> +			linux,code = <108>;
> +		};
> +
> +		back {
> +			label = "Back";
> +			gpios = <&gpx1 7 0 0 2>;
> +			linux,code = <158>;
> +		};
> +
> +		home {
> +			label = "Home";
> +			gpios = <&gpx1 6 0 0 2>;
> +			linux,code = <102>;
> +		};
> +
> +		menu {
> +			label = "Menu";
> +			gpios = <&gpx1 5 0 0 2>;
> +			linux,code = <139>;
> +		};
> +	};
> +
> +	keypad@100A0000 {
> +		status = "disabled";
> +	};
> +
> +	sdhci@12520000 {
> +		status = "disabled";
> +	};
> +
> +	sdhci@12540000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@13860000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@13870000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@13880000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@13890000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@138A0000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@138B0000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@138C0000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@138D0000 {
> +		status = "disabled";
> +	};
> +};
> diff --git a/arch/arm/boot/dts/exynos4210-smdkv310.dts b/arch/arm/boot/dts/exynos4210-smdkv310.dts
> new file mode 100644
> index 0000000..27afc8e
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4210-smdkv310.dts
> @@ -0,0 +1,182 @@
> +/*
> + * Samsung's Exynos4210 based SMDKV310 board device tree source
> + *
> + * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
> + *		http://www.samsung.com
> + * Copyright (c) 2010-2011 Linaro Ltd.
> + *		www.linaro.org
> + *
> + * Device tree source file for Samsung's SMDKV310 board which is based on
> + * Samsung's Exynos4210 SoC.
> + *
> + * 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.
> +*/
> +
> +/dts-v1/;
> +/include/ "exynos4210.dtsi"
> +
> +/ {
> +	model = "Samsung smdkv310 evaluation board based on Exynos4210";
> +	compatible = "samsung,smdkv310", "samsung,exynos4210";
> +
> +	memory {
> +		reg = <0x40000000 0x80000000>;
> +	};
> +
> +	chosen {
> +		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc";
> +	};
> +
> +	sdhci@12530000 {
> +		samsung,sdhci-bus-width = <4>;
> +		linux,mmc_cap_4_bit_data;
> +		samsung,sdhci-cd-internal;
> +		gpio-cd = <&gpk2 2 2 3 3>;
> +		gpios = <&gpk2 0 2 0 3>,
> +			<&gpk2 1 2 0 3>,
> +			<&gpk2 3 2 3 3>,
> +			<&gpk2 4 2 3 3>,
> +			<&gpk2 5 2 3 3>,
> +			<&gpk2 6 2 3 3>;
> +	};
> +
> +	keypad@100A0000 {
> +		samsung,keypad-num-rows = <2>;
> +		samsung,keypad-num-columns = <8>;
> +		linux,keypad-no-autorepeat;
> +		linux,keypad-wakeup;
> +
> +		row-gpios = <&gpx2 0 3 3 0>,
> +			    <&gpx2 1 3 3 0>;
> +
> +		col-gpios = <&gpx1 0 3 0 0>,
> +			    <&gpx1 1 3 0 0>,
> +			    <&gpx1 2 3 0 0>,
> +			    <&gpx1 3 3 0 0>,
> +			    <&gpx1 4 3 0 0>,
> +			    <&gpx1 5 3 0 0>,
> +			    <&gpx1 6 3 0 0>,
> +			    <&gpx1 7 3 0 0>;
> +
> +		key_1 {
> +			keypad,row = <0>;
> +			keypad,column = <3>;
> +			linux,code = <2>;
> +		};
> +
> +		key_2 {
> +			keypad,row = <0>;
> +			keypad,column = <4>;
> +			linux,code = <3>;
> +		};
> +
> +		key_3 {
> +			keypad,row = <0>;
> +			keypad,column = <5>;
> +			linux,code = <4>;
> +		};
> +
> +		key_4 {
> +			keypad,row = <0>;
> +			keypad,column = <6>;
> +			linux,code = <5>;
> +		};
> +
> +		key_5 {
> +			keypad,row = <0>;
> +			keypad,column = <7>;
> +			linux,code = <6>;
> +		};
> +
> +		key_a {
> +			keypad,row = <1>;
> +			keypad,column = <3>;
> +			linux,code = <30>;
> +		};
> +
> +		key_b {
> +			keypad,row = <1>;
> +			keypad,column = <4>;
> +			linux,code = <48>;
> +		};
> +
> +		key_c {
> +			keypad,row = <1>;
> +			keypad,column = <5>;
> +			linux,code = <46>;
> +		};
> +
> +		key_d {
> +			keypad,row = <1>;
> +			keypad,column = <6>;
> +			linux,code = <32>;
> +		};
> +
> +		key_e {
> +			keypad,row = <1>;
> +			keypad,column = <7>;
> +			linux,code = <18>;
> +		};
> +	};
> +
> +	i2c@13860000 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		samsung,i2c-sda-delay = <100>;
> +		samsung,i2c-max-bus-freq = <20000>;
> +		gpios = <&gpd1 0 2 3 0>,
> +			<&gpd1 1 2 3 0>;
> +
> +		eeprom@50 {
> +			compatible = "samsung,24ad0xd1";
> +			reg = <0x50>;
> +		};
> +
> +		eeprom@52 {
> +			compatible = "samsung,24ad0xd1";
> +			reg = <0x52>;
> +		};
> +	};
> +
> +	sdhci@12510000 {
> +		status = "disabled";
> +	};
> +
> +	sdhci@12520000 {
> +		status = "disabled";
> +	};
> +
> +	sdhci@12540000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@13870000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@13880000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@13890000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@138A0000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@138B0000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@138C0000 {
> +		status = "disabled";
> +	};
> +
> +	i2c@138D0000 {
> +		status = "disabled";
> +	};
> +};
> diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
> new file mode 100644
> index 0000000..7598a15
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4210.dtsi
> @@ -0,0 +1,403 @@
> +/*
> + * Samsung's Exynos4210 SoC device tree source
> + *
> + * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
> + *		http://www.samsung.com
> + * Copyright (c) 2010-2011 Linaro Ltd.
> + *		www.linaro.org
> + *
> + * Samsung's Exynos4210 SoC device nodes are listed in this file. Exynos4210
> + * 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
> + * Exynos4210 SoC. As device tree coverage for Exynos4210 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.
> +*/
> +
> +/include/ "skeleton.dtsi"
> +
> +/ {
> +	compatible = "samsung,exynos4210";
> +	interrupt-parent = <&gic>;
> +
> +	gic:interrupt-controller@10490000 {
> +		compatible = "arm,cortex-a9-gic";
> +		#interrupt-cells = <3>;
> +		interrupt-controller;
> +		reg = <0x10490000 0x1000>, <0x10480000 0x100>;
> +	};
> +
> +	combiner: interrupt-controller@10440000 {
> +		compatible = "samsung,exynos4-combiner";
> +		#interrupt-cells = <2>;
> +		interrupt-controller;
> +		reg = <0x10440000 0x200>;
> +	};
> +
> +	watchdog@10060000 {
> +		compatible = "samsung,s3c2410-wdt";
> +		reg = <0x10060000 0x100>;
> +		interrupts = <0 43 0>;
> +	};
> +
> +	rtc@10070000 {
> +		compatible = "samsung,s3c6410-rtc";
> +		reg = <0x10070000 0x100>;
> +		interrupts = <0 44 0>, <0 45 0>;
> +	};
> +
> +	keypad@100A0000 {
> +		compatible = "samsung,s5pv210-keypad";
> +		reg = <0x100A0000 0x100>;
> +		interrupts = <0 109 0>;
> +	};
> +
> +	sdhci@12510000 {
> +		compatible = "samsung,exynos4210-sdhci";
> +		reg = <0x12510000 0x100>;
> +		interrupts = <0 73 0>;
> +	};
> +
> +	sdhci@12520000 {
> +		compatible = "samsung,exynos4210-sdhci";
> +		reg = <0x12520000 0x100>;
> +		interrupts = <0 74 0>;
> +	};
> +
> +	sdhci@12530000 {
> +		compatible = "samsung,exynos4210-sdhci";
> +		reg = <0x12530000 0x100>;
> +		interrupts = <0 75 0>;
> +	};
> +
> +	sdhci@12540000 {
> +		compatible = "samsung,exynos4210-sdhci";
> +		reg = <0x12540000 0x100>;
> +		interrupts = <0 76 0>;
> +	};
> +
> +	serial@13800000 {
> +		compatible = "samsung,exynos4210-uart";
> +		reg = <0x13800000 0x100>;
> +		interrupts = <0 52 0>;
> +	};
> +
> +	serial@13810000 {
> +		compatible = "samsung,exynos4210-uart";
> +		reg = <0x13810000 0x100>;
> +		interrupts = <0 53 0>;
> +	};
> +
> +	serial@13820000 {
> +		compatible = "samsung,exynos4210-uart";
> +		reg = <0x13820000 0x100>;
> +		interrupts = <0 54 0>;
> +	};
> +
> +	serial@13830000 {
> +		compatible = "samsung,exynos4210-uart";
> +		reg = <0x13830000 0x100>;
> +		interrupts = <0 55 0>;
> +	};
> +
> +	i2c@13860000 {
> +		compatible = "samsung,s3c2440-i2c";
> +		reg = <0x13860000 0x100>;
> +		interrupts = <0 58 0>;
> +	};
> +
> +	i2c@13870000 {
> +		compatible = "samsung,s3c2440-i2c";
> +		reg = <0x13870000 0x100>;
> +		interrupts = <0 59 0>;
> +	};
> +
> +	i2c@13880000 {
> +		compatible = "samsung,s3c2440-i2c";
> +		reg = <0x13880000 0x100>;
> +		interrupts = <0 60 0>;
> +	};
> +
> +	i2c@13890000 {
> +		compatible = "samsung,s3c2440-i2c";
> +		reg = <0x13890000 0x100>;
> +		interrupts = <0 61 0>;
> +	};
> +
> +	i2c@138A0000 {
> +		compatible = "samsung,s3c2440-i2c";
> +		reg = <0x138A0000 0x100>;
> +		interrupts = <0 62 0>;
> +	};
> +
> +	i2c@138B0000 {
> +		compatible = "samsung,s3c2440-i2c";
> +		reg = <0x138B0000 0x100>;
> +		interrupts = <0 63 0>;
> +	};
> +
> +	i2c@138C0000 {
> +		compatible = "samsung,s3c2440-i2c";
> +		reg = <0x138C0000 0x100>;
> +		interrupts = <0 64 0>;
> +	};
> +
> +	i2c@138D0000 {
> +		compatible = "samsung,s3c2440-i2c";
> +		reg = <0x138D0000 0x100>;
> +		interrupts = <0 65 0>;
> +	};
> +
> +	amba {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "arm,amba-bus";
> +		interrupt-parent = <&gic>;
> +		ranges;
> +
> +		pdma0: pdma@12680000 {
> +			compatible = "arm,pl330", "arm,primecell";
> +			reg = <0x12680000 0x1000>;
> +			interrupts = <0 35 0>;
> +		};
> +
> +		pdma1: pdma@12690000 {
> +			compatible = "arm,pl330", "arm,primecell";
> +			reg = <0x12690000 0x1000>;
> +			interrupts = <0 36 0>;
> +		};
> +	};
> +
> +	gpio-controllers {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		gpio-controller;
> +
> +		gpa0: gpio-controller@11400000 {
> +			compatible = "samsung,exynos4-gpio-gpa0", "samsung,exynos4-gpio";
> +			reg = <0x11400000 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpa1: gpio-controller@11400020 {
> +			compatible = "samsung,exynos4-gpio-gpa1", "samsung,exynos4-gpio";
> +			reg = <0x11400020 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpb: gpio-controller@11400040 {
> +			compatible = "samsung,exynos4-gpio-gpb", "samsung,exynos4-gpio";
> +			reg = <0x11400040 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpc0: gpio-controller@11400060 {
> +			compatible = "samsung,exynos4-gpio-gpc0", "samsung,exynos4-gpio";
> +			reg = <0x11400060 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpc1: gpio-controller@11400080 {
> +			compatible = "samsung,exynos4-gpio-gpc1", "samsung,exynos4-gpio";
> +			reg = <0x11400080 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpd0: gpio-controller@114000A0 {
> +			compatible = "samsung,exynos4-gpio-gpd0", "samsung,exynos4-gpio";
> +			reg = <0x114000A0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpd1: gpio-controller@114000C0 {
> +			compatible = "samsung,exynos4-gpio-gpd1", "samsung,exynos4-gpio";
> +			reg = <0x114000C0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpe0: gpio-controller@114000E0 {
> +			compatible = "samsung,exynos4-gpio-gpe0", "samsung,exynos4-gpio";
> +			reg = <0x114000E0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpe1: gpio-controller@11400100 {
> +			compatible = "samsung,exynos4-gpio-gpe1", "samsung,exynos4-gpio";
> +			reg = <0x11400100 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpe2: gpio-controller@11400120 {
> +			compatible = "samsung,exynos4-gpio-gpe2", "samsung,exynos4-gpio";
> +			reg = <0x11400120 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpe3: gpio-controller@11400140 {
> +			compatible = "samsung,exynos4-gpio-gpe3", "samsung,exynos4-gpio";
> +			reg = <0x11400140 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpe4: gpio-controller@11400160 {
> +			compatible = "samsung,exynos4-gpio-gpe4", "samsung,exynos4-gpio";
> +			reg = <0x11400160 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpf0: gpio-controller@11400180 {
> +			compatible = "samsung,exynos4-gpio-gpf0", "samsung,exynos4-gpio";
> +			reg = <0x11400180 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpf1: gpio-controller@114001A0 {
> +			compatible = "samsung,exynos4-gpio-gpf1", "samsung,exynos4-gpio";
> +			reg = <0x114001A0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpf2: gpio-controller@114001C0 {
> +			compatible = "samsung,exynos4-gpio-gpf2", "samsung,exynos4-gpio";
> +			reg = <0x114001C0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpf3: gpio-controller@114001E0 {
> +			compatible = "samsung,exynos4-gpio-gpf3", "samsung,exynos4-gpio";
> +			reg = <0x114001E0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpj0: gpio-controller@11000000 {
> +			compatible = "samsung,exynos4-gpio-gpj0", "samsung,exynos4-gpio";
> +			reg = <0x11000000 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpj1: gpio-controller@11000020 {
> +			compatible = "samsung,exynos4-gpio-gpj1", "samsung,exynos4-gpio";
> +			reg = <0x11000020 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpk0: gpio-controller@11000040 {
> +			compatible = "samsung,exynos4-gpio-gpk0", "samsung,exynos4-gpio";
> +			reg = <0x11000040 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpk1: gpio-controller@11000060 {
> +			compatible = "samsung,exynos4-gpio-gpk1", "samsung,exynos4-gpio";
> +			reg = <0x11000060 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpk2: gpio-controller@11000080 {
> +			compatible = "samsung,exynos4-gpio-gpk2", "samsung,exynos4-gpio";
> +			reg = <0x11000080 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpk3: gpio-controller@110000A0 {
> +			compatible = "samsung,exynos4-gpio-gpk3", "samsung,exynos4-gpio";
> +			reg = <0x110000A0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpl0: gpio-controller@110000C0 {
> +			compatible = "samsung,exynos4-gpio-gpl0", "samsung,exynos4-gpio";
> +			reg = <0x110000C0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpl1: gpio-controller@110000E0 {
> +			compatible = "samsung,exynos4-gpio-gpl1", "samsung,exynos4-gpio";
> +			reg = <0x110000E0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpl2: gpio-controller@11000100 {
> +			compatible = "samsung,exynos4-gpio-gpl2", "samsung,exynos4-gpio";
> +			reg = <0x11000100 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpy0: gpio-controller@11000120 {
> +			compatible = "samsung,exynos4-gpio-gpy0", "samsung,exynos4-gpio";
> +			reg = <0x11000120 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpy1: gpio-controller@11000140 {
> +			compatible = "samsung,exynos4-gpio-gpy1", "samsung,exynos4-gpio";
> +			reg = <0x11000140 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpy2: gpio-controller@11000160 {
> +			compatible = "samsung,exynos4-gpio-gpy2", "samsung,exynos4-gpio";
> +			reg = <0x11000160 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpy3: gpio-controller@11000180 {
> +			compatible = "samsung,exynos4-gpio-gpy3", "samsung,exynos4-gpio";
> +			reg = <0x11000180 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpy4: gpio-controller@110001A0 {
> +			compatible = "samsung,exynos4-gpio-gpy4", "samsung,exynos4-gpio";
> +			reg = <0x110001A0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpy5: gpio-controller@110001C0 {
> +			compatible = "samsung,exynos4-gpio-gpy5", "samsung,exynos4-gpio";
> +			reg = <0x110001C0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpy6: gpio-controller@110001E0 {
> +			compatible = "samsung,exynos4-gpio-gpy6", "samsung,exynos4-gpio";
> +			reg = <0x110001E0 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpx0: gpio-controller@11000C00 {
> +			compatible = "samsung,exynos4-gpio-gpx0", "samsung,exynos4-gpio";
> +			reg = <0x11000C00 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpx1: gpio-controller@11000C20 {
> +			compatible = "samsung,exynos4-gpio-gpx1", "samsung,exynos4-gpio";
> +			reg = <0x11000C20 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpx2: gpio-controller@11000C40 {
> +			compatible = "samsung,exynos4-gpio-gpx2", "samsung,exynos4-gpio";
> +			reg = <0x11000C40 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpx3: gpio-controller@11000C60 {
> +			compatible = "samsung,exynos4-gpio-gpx3", "samsung,exynos4-gpio";
> +			reg = <0x11000C60 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +
> +		gpz: gpio-controller@03860000 {
> +			compatible = "samsung,exynos4-gpio-gpz", "samsung,exynos4-gpio";
> +			reg = <0x03860000 0x20>;
> +			#gpio-cells = <4>;
> +		};
> +	};
> +};
> -- 
> 1.6.6.rc2
>
Kukjin Kim Oct. 14, 2011, 11:29 a.m. | #2
Grant Likely wrote:
> 
> On Tue, Oct 11, 2011 at 07:43:16PM +0530, Thomas Abraham wrote:
> > Add initial dts file for Exynos4210 SoC. This dts file describes the SoC
> > specific devices and properties. Along with this, add dts file for
Samsung's
> > SMDKV310 board and Insignal's Origen board which uses the Exynos4210 dts
> file
> > and extends it to describe the board specific properties.
> >
> > Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
> 
> Acked-by: Grant Likely <grant.likely@secretlab.ca>
> 
Hi Grant and Thomas,

OK, this is ok for me.

But as I know, we need other Thomas' DT patches and some stuff is required
to re-work. So I'm not sure we can send them in this time
Anyway let me check in this weekend and if possible try to apply them for
upcoming merge window.

If any problems, let you know.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.


> > ---
> >  arch/arm/boot/dts/exynos4210-origen.dts   |  137 ++++++++++
> >  arch/arm/boot/dts/exynos4210-smdkv310.dts |  182 +++++++++++++
> >  arch/arm/boot/dts/exynos4210.dtsi         |  403
> +++++++++++++++++++++++++++++
> >  3 files changed, 722 insertions(+), 0 deletions(-)
> >  create mode 100644 arch/arm/boot/dts/exynos4210-origen.dts
> >  create mode 100644 arch/arm/boot/dts/exynos4210-smdkv310.dts
> >  create mode 100644 arch/arm/boot/dts/exynos4210.dtsi
> >
> > diff --git a/arch/arm/boot/dts/exynos4210-origen.dts
> b/arch/arm/boot/dts/exynos4210-origen.dts
> > new file mode 100644
> > index 0000000..b8c4763
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/exynos4210-origen.dts
> > @@ -0,0 +1,137 @@
> > +/*
> > + * Samsung's Exynos4210 based Origen board device tree source
> > + *
> > + * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
> > + *		http://www.samsung.com
> > + * Copyright (c) 2010-2011 Linaro Ltd.
> > + *		www.linaro.org
> > + *
> > + * Device tree source file for Insignal's Origen board which is based
on
> > + * Samsung's Exynos4210 SoC.
> > + *
> > + * 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.
> > +*/
> > +
> > +/dts-v1/;
> > +/include/ "exynos4210.dtsi"
> > +
> > +/ {
> > +	model = "Insignal Origen evaluation board based on Exynos4210";
> > +	compatible = "insignal,origen", "samsung,exynos4210";
> > +
> > +	memory {
> > +		reg = <0x40000000 0x40000000>;
> > +	};
> > +
> > +	chosen {
> > +		bootargs ="root=/dev/ram0 rw ramdisk=8192
> initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
> > +	};
> > +
> > +	sdhci@12530000 {
> > +		samsung,sdhci-bus-width = <4>;
> > +		linux,mmc_cap_4_bit_data;
> > +		samsung,sdhci-cd-internal;
> > +		gpio-cd = <&gpk2 2 2 3 3>;
> > +		gpios = <&gpk2 0 2 0 3>,
> > +			<&gpk2 1 2 0 3>,
> > +			<&gpk2 3 2 3 3>,
> > +			<&gpk2 4 2 3 3>,
> > +			<&gpk2 5 2 3 3>,
> > +			<&gpk2 6 2 3 3>;
> > +	};
> > +
> > +	sdhci@12510000 {
> > +		samsung,sdhci-bus-width = <4>;
> > +		linux,mmc_cap_4_bit_data;
> > +		samsung,sdhci-cd-internal;
> > +		gpio-cd = <&gpk0 2 2 3 3>;
> > +		gpios = <&gpk0 0 2 0 3>,
> > +			<&gpk0 1 2 0 3>,
> > +			<&gpk0 3 2 3 3>,
> > +			<&gpk0 4 2 3 3>,
> > +			<&gpk0 5 2 3 3>,
> > +			<&gpk0 6 2 3 3>;
> > +	};
> > +
> > +	gpio_keys {
> > +		compatible = "gpio-keys";
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +
> > +		up {
> > +			label = "Up";
> > +			gpios = <&gpx2 0 0 0 2>;
> > +			linux,code = <103>;
> > +		};
> > +
> > +		down {
> > +			label = "Down";
> > +			gpios = <&gpx2 1 0 0 2>;
> > +			linux,code = <108>;
> > +		};
> > +
> > +		back {
> > +			label = "Back";
> > +			gpios = <&gpx1 7 0 0 2>;
> > +			linux,code = <158>;
> > +		};
> > +
> > +		home {
> > +			label = "Home";
> > +			gpios = <&gpx1 6 0 0 2>;
> > +			linux,code = <102>;
> > +		};
> > +
> > +		menu {
> > +			label = "Menu";
> > +			gpios = <&gpx1 5 0 0 2>;
> > +			linux,code = <139>;
> > +		};
> > +	};
> > +
> > +	keypad@100A0000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	sdhci@12520000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	sdhci@12540000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@13860000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@13870000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@13880000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@13890000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@138A0000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@138B0000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@138C0000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@138D0000 {
> > +		status = "disabled";
> > +	};
> > +};
> > diff --git a/arch/arm/boot/dts/exynos4210-smdkv310.dts
> b/arch/arm/boot/dts/exynos4210-smdkv310.dts
> > new file mode 100644
> > index 0000000..27afc8e
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/exynos4210-smdkv310.dts
> > @@ -0,0 +1,182 @@
> > +/*
> > + * Samsung's Exynos4210 based SMDKV310 board device tree source
> > + *
> > + * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
> > + *		http://www.samsung.com
> > + * Copyright (c) 2010-2011 Linaro Ltd.
> > + *		www.linaro.org
> > + *
> > + * Device tree source file for Samsung's SMDKV310 board which is based
on
> > + * Samsung's Exynos4210 SoC.
> > + *
> > + * 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.
> > +*/
> > +
> > +/dts-v1/;
> > +/include/ "exynos4210.dtsi"
> > +
> > +/ {
> > +	model = "Samsung smdkv310 evaluation board based on Exynos4210";
> > +	compatible = "samsung,smdkv310", "samsung,exynos4210";
> > +
> > +	memory {
> > +		reg = <0x40000000 0x80000000>;
> > +	};
> > +
> > +	chosen {
> > +		bootargs = "root=/dev/ram0 rw ramdisk=8192
> initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc";
> > +	};
> > +
> > +	sdhci@12530000 {
> > +		samsung,sdhci-bus-width = <4>;
> > +		linux,mmc_cap_4_bit_data;
> > +		samsung,sdhci-cd-internal;
> > +		gpio-cd = <&gpk2 2 2 3 3>;
> > +		gpios = <&gpk2 0 2 0 3>,
> > +			<&gpk2 1 2 0 3>,
> > +			<&gpk2 3 2 3 3>,
> > +			<&gpk2 4 2 3 3>,
> > +			<&gpk2 5 2 3 3>,
> > +			<&gpk2 6 2 3 3>;
> > +	};
> > +
> > +	keypad@100A0000 {
> > +		samsung,keypad-num-rows = <2>;
> > +		samsung,keypad-num-columns = <8>;
> > +		linux,keypad-no-autorepeat;
> > +		linux,keypad-wakeup;
> > +
> > +		row-gpios = <&gpx2 0 3 3 0>,
> > +			    <&gpx2 1 3 3 0>;
> > +
> > +		col-gpios = <&gpx1 0 3 0 0>,
> > +			    <&gpx1 1 3 0 0>,
> > +			    <&gpx1 2 3 0 0>,
> > +			    <&gpx1 3 3 0 0>,
> > +			    <&gpx1 4 3 0 0>,
> > +			    <&gpx1 5 3 0 0>,
> > +			    <&gpx1 6 3 0 0>,
> > +			    <&gpx1 7 3 0 0>;
> > +
> > +		key_1 {
> > +			keypad,row = <0>;
> > +			keypad,column = <3>;
> > +			linux,code = <2>;
> > +		};
> > +
> > +		key_2 {
> > +			keypad,row = <0>;
> > +			keypad,column = <4>;
> > +			linux,code = <3>;
> > +		};
> > +
> > +		key_3 {
> > +			keypad,row = <0>;
> > +			keypad,column = <5>;
> > +			linux,code = <4>;
> > +		};
> > +
> > +		key_4 {
> > +			keypad,row = <0>;
> > +			keypad,column = <6>;
> > +			linux,code = <5>;
> > +		};
> > +
> > +		key_5 {
> > +			keypad,row = <0>;
> > +			keypad,column = <7>;
> > +			linux,code = <6>;
> > +		};
> > +
> > +		key_a {
> > +			keypad,row = <1>;
> > +			keypad,column = <3>;
> > +			linux,code = <30>;
> > +		};
> > +
> > +		key_b {
> > +			keypad,row = <1>;
> > +			keypad,column = <4>;
> > +			linux,code = <48>;
> > +		};
> > +
> > +		key_c {
> > +			keypad,row = <1>;
> > +			keypad,column = <5>;
> > +			linux,code = <46>;
> > +		};
> > +
> > +		key_d {
> > +			keypad,row = <1>;
> > +			keypad,column = <6>;
> > +			linux,code = <32>;
> > +		};
> > +
> > +		key_e {
> > +			keypad,row = <1>;
> > +			keypad,column = <7>;
> > +			linux,code = <18>;
> > +		};
> > +	};
> > +
> > +	i2c@13860000 {
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +		samsung,i2c-sda-delay = <100>;
> > +		samsung,i2c-max-bus-freq = <20000>;
> > +		gpios = <&gpd1 0 2 3 0>,
> > +			<&gpd1 1 2 3 0>;
> > +
> > +		eeprom@50 {
> > +			compatible = "samsung,24ad0xd1";
> > +			reg = <0x50>;
> > +		};
> > +
> > +		eeprom@52 {
> > +			compatible = "samsung,24ad0xd1";
> > +			reg = <0x52>;
> > +		};
> > +	};
> > +
> > +	sdhci@12510000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	sdhci@12520000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	sdhci@12540000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@13870000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@13880000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@13890000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@138A0000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@138B0000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@138C0000 {
> > +		status = "disabled";
> > +	};
> > +
> > +	i2c@138D0000 {
> > +		status = "disabled";
> > +	};
> > +};
> > diff --git a/arch/arm/boot/dts/exynos4210.dtsi
> b/arch/arm/boot/dts/exynos4210.dtsi
> > new file mode 100644
> > index 0000000..7598a15
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/exynos4210.dtsi
> > @@ -0,0 +1,403 @@
> > +/*
> > + * Samsung's Exynos4210 SoC device tree source
> > + *
> > + * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
> > + *		http://www.samsung.com
> > + * Copyright (c) 2010-2011 Linaro Ltd.
> > + *		www.linaro.org
> > + *
> > + * Samsung's Exynos4210 SoC device nodes are listed in this file.
Exynos4210
> > + * 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
> > + * Exynos4210 SoC. As device tree coverage for Exynos4210 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.
> > +*/
> > +
> > +/include/ "skeleton.dtsi"
> > +
> > +/ {
> > +	compatible = "samsung,exynos4210";
> > +	interrupt-parent = <&gic>;
> > +
> > +	gic:interrupt-controller@10490000 {
> > +		compatible = "arm,cortex-a9-gic";
> > +		#interrupt-cells = <3>;
> > +		interrupt-controller;
> > +		reg = <0x10490000 0x1000>, <0x10480000 0x100>;
> > +	};
> > +
> > +	combiner: interrupt-controller@10440000 {
> > +		compatible = "samsung,exynos4-combiner";
> > +		#interrupt-cells = <2>;
> > +		interrupt-controller;
> > +		reg = <0x10440000 0x200>;
> > +	};
> > +
> > +	watchdog@10060000 {
> > +		compatible = "samsung,s3c2410-wdt";
> > +		reg = <0x10060000 0x100>;
> > +		interrupts = <0 43 0>;
> > +	};
> > +
> > +	rtc@10070000 {
> > +		compatible = "samsung,s3c6410-rtc";
> > +		reg = <0x10070000 0x100>;
> > +		interrupts = <0 44 0>, <0 45 0>;
> > +	};
> > +
> > +	keypad@100A0000 {
> > +		compatible = "samsung,s5pv210-keypad";
> > +		reg = <0x100A0000 0x100>;
> > +		interrupts = <0 109 0>;
> > +	};
> > +
> > +	sdhci@12510000 {
> > +		compatible = "samsung,exynos4210-sdhci";
> > +		reg = <0x12510000 0x100>;
> > +		interrupts = <0 73 0>;
> > +	};
> > +
> > +	sdhci@12520000 {
> > +		compatible = "samsung,exynos4210-sdhci";
> > +		reg = <0x12520000 0x100>;
> > +		interrupts = <0 74 0>;
> > +	};
> > +
> > +	sdhci@12530000 {
> > +		compatible = "samsung,exynos4210-sdhci";
> > +		reg = <0x12530000 0x100>;
> > +		interrupts = <0 75 0>;
> > +	};
> > +
> > +	sdhci@12540000 {
> > +		compatible = "samsung,exynos4210-sdhci";
> > +		reg = <0x12540000 0x100>;
> > +		interrupts = <0 76 0>;
> > +	};
> > +
> > +	serial@13800000 {
> > +		compatible = "samsung,exynos4210-uart";
> > +		reg = <0x13800000 0x100>;
> > +		interrupts = <0 52 0>;
> > +	};
> > +
> > +	serial@13810000 {
> > +		compatible = "samsung,exynos4210-uart";
> > +		reg = <0x13810000 0x100>;
> > +		interrupts = <0 53 0>;
> > +	};
> > +
> > +	serial@13820000 {
> > +		compatible = "samsung,exynos4210-uart";
> > +		reg = <0x13820000 0x100>;
> > +		interrupts = <0 54 0>;
> > +	};
> > +
> > +	serial@13830000 {
> > +		compatible = "samsung,exynos4210-uart";
> > +		reg = <0x13830000 0x100>;
> > +		interrupts = <0 55 0>;
> > +	};
> > +
> > +	i2c@13860000 {
> > +		compatible = "samsung,s3c2440-i2c";
> > +		reg = <0x13860000 0x100>;
> > +		interrupts = <0 58 0>;
> > +	};
> > +
> > +	i2c@13870000 {
> > +		compatible = "samsung,s3c2440-i2c";
> > +		reg = <0x13870000 0x100>;
> > +		interrupts = <0 59 0>;
> > +	};
> > +
> > +	i2c@13880000 {
> > +		compatible = "samsung,s3c2440-i2c";
> > +		reg = <0x13880000 0x100>;
> > +		interrupts = <0 60 0>;
> > +	};
> > +
> > +	i2c@13890000 {
> > +		compatible = "samsung,s3c2440-i2c";
> > +		reg = <0x13890000 0x100>;
> > +		interrupts = <0 61 0>;
> > +	};
> > +
> > +	i2c@138A0000 {
> > +		compatible = "samsung,s3c2440-i2c";
> > +		reg = <0x138A0000 0x100>;
> > +		interrupts = <0 62 0>;
> > +	};
> > +
> > +	i2c@138B0000 {
> > +		compatible = "samsung,s3c2440-i2c";
> > +		reg = <0x138B0000 0x100>;
> > +		interrupts = <0 63 0>;
> > +	};
> > +
> > +	i2c@138C0000 {
> > +		compatible = "samsung,s3c2440-i2c";
> > +		reg = <0x138C0000 0x100>;
> > +		interrupts = <0 64 0>;
> > +	};
> > +
> > +	i2c@138D0000 {
> > +		compatible = "samsung,s3c2440-i2c";
> > +		reg = <0x138D0000 0x100>;
> > +		interrupts = <0 65 0>;
> > +	};
> > +
> > +	amba {
> > +		#address-cells = <1>;
> > +		#size-cells = <1>;
> > +		compatible = "arm,amba-bus";
> > +		interrupt-parent = <&gic>;
> > +		ranges;
> > +
> > +		pdma0: pdma@12680000 {
> > +			compatible = "arm,pl330", "arm,primecell";
> > +			reg = <0x12680000 0x1000>;
> > +			interrupts = <0 35 0>;
> > +		};
> > +
> > +		pdma1: pdma@12690000 {
> > +			compatible = "arm,pl330", "arm,primecell";
> > +			reg = <0x12690000 0x1000>;
> > +			interrupts = <0 36 0>;
> > +		};
> > +	};
> > +
> > +	gpio-controllers {
> > +		#address-cells = <1>;
> > +		#size-cells = <1>;
> > +		gpio-controller;
> > +
> > +		gpa0: gpio-controller@11400000 {
> > +			compatible = "samsung,exynos4-gpio-gpa0",
> "samsung,exynos4-gpio";
> > +			reg = <0x11400000 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpa1: gpio-controller@11400020 {
> > +			compatible = "samsung,exynos4-gpio-gpa1",
> "samsung,exynos4-gpio";
> > +			reg = <0x11400020 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpb: gpio-controller@11400040 {
> > +			compatible = "samsung,exynos4-gpio-gpb",
> "samsung,exynos4-gpio";
> > +			reg = <0x11400040 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpc0: gpio-controller@11400060 {
> > +			compatible = "samsung,exynos4-gpio-gpc0",
> "samsung,exynos4-gpio";
> > +			reg = <0x11400060 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpc1: gpio-controller@11400080 {
> > +			compatible = "samsung,exynos4-gpio-gpc1",
> "samsung,exynos4-gpio";
> > +			reg = <0x11400080 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpd0: gpio-controller@114000A0 {
> > +			compatible = "samsung,exynos4-gpio-gpd0",
> "samsung,exynos4-gpio";
> > +			reg = <0x114000A0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpd1: gpio-controller@114000C0 {
> > +			compatible = "samsung,exynos4-gpio-gpd1",
> "samsung,exynos4-gpio";
> > +			reg = <0x114000C0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpe0: gpio-controller@114000E0 {
> > +			compatible = "samsung,exynos4-gpio-gpe0",
> "samsung,exynos4-gpio";
> > +			reg = <0x114000E0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpe1: gpio-controller@11400100 {
> > +			compatible = "samsung,exynos4-gpio-gpe1",
> "samsung,exynos4-gpio";
> > +			reg = <0x11400100 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpe2: gpio-controller@11400120 {
> > +			compatible = "samsung,exynos4-gpio-gpe2",
> "samsung,exynos4-gpio";
> > +			reg = <0x11400120 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpe3: gpio-controller@11400140 {
> > +			compatible = "samsung,exynos4-gpio-gpe3",
> "samsung,exynos4-gpio";
> > +			reg = <0x11400140 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpe4: gpio-controller@11400160 {
> > +			compatible = "samsung,exynos4-gpio-gpe4",
> "samsung,exynos4-gpio";
> > +			reg = <0x11400160 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpf0: gpio-controller@11400180 {
> > +			compatible = "samsung,exynos4-gpio-gpf0",
> "samsung,exynos4-gpio";
> > +			reg = <0x11400180 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpf1: gpio-controller@114001A0 {
> > +			compatible = "samsung,exynos4-gpio-gpf1",
> "samsung,exynos4-gpio";
> > +			reg = <0x114001A0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpf2: gpio-controller@114001C0 {
> > +			compatible = "samsung,exynos4-gpio-gpf2",
> "samsung,exynos4-gpio";
> > +			reg = <0x114001C0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpf3: gpio-controller@114001E0 {
> > +			compatible = "samsung,exynos4-gpio-gpf3",
> "samsung,exynos4-gpio";
> > +			reg = <0x114001E0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpj0: gpio-controller@11000000 {
> > +			compatible = "samsung,exynos4-gpio-gpj0",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000000 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpj1: gpio-controller@11000020 {
> > +			compatible = "samsung,exynos4-gpio-gpj1",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000020 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpk0: gpio-controller@11000040 {
> > +			compatible = "samsung,exynos4-gpio-gpk0",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000040 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpk1: gpio-controller@11000060 {
> > +			compatible = "samsung,exynos4-gpio-gpk1",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000060 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpk2: gpio-controller@11000080 {
> > +			compatible = "samsung,exynos4-gpio-gpk2",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000080 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpk3: gpio-controller@110000A0 {
> > +			compatible = "samsung,exynos4-gpio-gpk3",
> "samsung,exynos4-gpio";
> > +			reg = <0x110000A0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpl0: gpio-controller@110000C0 {
> > +			compatible = "samsung,exynos4-gpio-gpl0",
> "samsung,exynos4-gpio";
> > +			reg = <0x110000C0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpl1: gpio-controller@110000E0 {
> > +			compatible = "samsung,exynos4-gpio-gpl1",
> "samsung,exynos4-gpio";
> > +			reg = <0x110000E0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpl2: gpio-controller@11000100 {
> > +			compatible = "samsung,exynos4-gpio-gpl2",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000100 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpy0: gpio-controller@11000120 {
> > +			compatible = "samsung,exynos4-gpio-gpy0",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000120 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpy1: gpio-controller@11000140 {
> > +			compatible = "samsung,exynos4-gpio-gpy1",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000140 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpy2: gpio-controller@11000160 {
> > +			compatible = "samsung,exynos4-gpio-gpy2",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000160 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpy3: gpio-controller@11000180 {
> > +			compatible = "samsung,exynos4-gpio-gpy3",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000180 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpy4: gpio-controller@110001A0 {
> > +			compatible = "samsung,exynos4-gpio-gpy4",
> "samsung,exynos4-gpio";
> > +			reg = <0x110001A0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpy5: gpio-controller@110001C0 {
> > +			compatible = "samsung,exynos4-gpio-gpy5",
> "samsung,exynos4-gpio";
> > +			reg = <0x110001C0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpy6: gpio-controller@110001E0 {
> > +			compatible = "samsung,exynos4-gpio-gpy6",
> "samsung,exynos4-gpio";
> > +			reg = <0x110001E0 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpx0: gpio-controller@11000C00 {
> > +			compatible = "samsung,exynos4-gpio-gpx0",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000C00 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpx1: gpio-controller@11000C20 {
> > +			compatible = "samsung,exynos4-gpio-gpx1",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000C20 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpx2: gpio-controller@11000C40 {
> > +			compatible = "samsung,exynos4-gpio-gpx2",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000C40 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpx3: gpio-controller@11000C60 {
> > +			compatible = "samsung,exynos4-gpio-gpx3",
> "samsung,exynos4-gpio";
> > +			reg = <0x11000C60 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +
> > +		gpz: gpio-controller@03860000 {
> > +			compatible = "samsung,exynos4-gpio-gpz",
> "samsung,exynos4-gpio";
> > +			reg = <0x03860000 0x20>;
> > +			#gpio-cells = <4>;
> > +		};
> > +	};
> > +};
> > --
> > 1.6.6.rc2
> >

Patch

diff --git a/arch/arm/boot/dts/exynos4210-origen.dts b/arch/arm/boot/dts/exynos4210-origen.dts
new file mode 100644
index 0000000..b8c4763
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4210-origen.dts
@@ -0,0 +1,137 @@ 
+/*
+ * Samsung's Exynos4210 based Origen board device tree source
+ *
+ * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
+ *		http://www.samsung.com
+ * Copyright (c) 2010-2011 Linaro Ltd.
+ *		www.linaro.org
+ *
+ * Device tree source file for Insignal's Origen board which is based on
+ * Samsung's Exynos4210 SoC.
+ *
+ * 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.
+*/
+
+/dts-v1/;
+/include/ "exynos4210.dtsi"
+
+/ {
+	model = "Insignal Origen evaluation board based on Exynos4210";
+	compatible = "insignal,origen", "samsung,exynos4210";
+
+	memory {
+		reg = <0x40000000 0x40000000>;
+	};
+
+	chosen {
+		bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
+	};
+
+	sdhci@12530000 {
+		samsung,sdhci-bus-width = <4>;
+		linux,mmc_cap_4_bit_data;
+		samsung,sdhci-cd-internal;
+		gpio-cd = <&gpk2 2 2 3 3>;
+		gpios = <&gpk2 0 2 0 3>,
+			<&gpk2 1 2 0 3>,
+			<&gpk2 3 2 3 3>,
+			<&gpk2 4 2 3 3>,
+			<&gpk2 5 2 3 3>,
+			<&gpk2 6 2 3 3>;
+	};
+
+	sdhci@12510000 {
+		samsung,sdhci-bus-width = <4>;
+		linux,mmc_cap_4_bit_data;
+		samsung,sdhci-cd-internal;
+		gpio-cd = <&gpk0 2 2 3 3>;
+		gpios = <&gpk0 0 2 0 3>,
+			<&gpk0 1 2 0 3>,
+			<&gpk0 3 2 3 3>,
+			<&gpk0 4 2 3 3>,
+			<&gpk0 5 2 3 3>,
+			<&gpk0 6 2 3 3>;
+	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		up {
+			label = "Up";
+			gpios = <&gpx2 0 0 0 2>;
+			linux,code = <103>;
+		};
+
+		down {
+			label = "Down";
+			gpios = <&gpx2 1 0 0 2>;
+			linux,code = <108>;
+		};
+
+		back {
+			label = "Back";
+			gpios = <&gpx1 7 0 0 2>;
+			linux,code = <158>;
+		};
+
+		home {
+			label = "Home";
+			gpios = <&gpx1 6 0 0 2>;
+			linux,code = <102>;
+		};
+
+		menu {
+			label = "Menu";
+			gpios = <&gpx1 5 0 0 2>;
+			linux,code = <139>;
+		};
+	};
+
+	keypad@100A0000 {
+		status = "disabled";
+	};
+
+	sdhci@12520000 {
+		status = "disabled";
+	};
+
+	sdhci@12540000 {
+		status = "disabled";
+	};
+
+	i2c@13860000 {
+		status = "disabled";
+	};
+
+	i2c@13870000 {
+		status = "disabled";
+	};
+
+	i2c@13880000 {
+		status = "disabled";
+	};
+
+	i2c@13890000 {
+		status = "disabled";
+	};
+
+	i2c@138A0000 {
+		status = "disabled";
+	};
+
+	i2c@138B0000 {
+		status = "disabled";
+	};
+
+	i2c@138C0000 {
+		status = "disabled";
+	};
+
+	i2c@138D0000 {
+		status = "disabled";
+	};
+};
diff --git a/arch/arm/boot/dts/exynos4210-smdkv310.dts b/arch/arm/boot/dts/exynos4210-smdkv310.dts
new file mode 100644
index 0000000..27afc8e
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4210-smdkv310.dts
@@ -0,0 +1,182 @@ 
+/*
+ * Samsung's Exynos4210 based SMDKV310 board device tree source
+ *
+ * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
+ *		http://www.samsung.com
+ * Copyright (c) 2010-2011 Linaro Ltd.
+ *		www.linaro.org
+ *
+ * Device tree source file for Samsung's SMDKV310 board which is based on
+ * Samsung's Exynos4210 SoC.
+ *
+ * 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.
+*/
+
+/dts-v1/;
+/include/ "exynos4210.dtsi"
+
+/ {
+	model = "Samsung smdkv310 evaluation board based on Exynos4210";
+	compatible = "samsung,smdkv310", "samsung,exynos4210";
+
+	memory {
+		reg = <0x40000000 0x80000000>;
+	};
+
+	chosen {
+		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc";
+	};
+
+	sdhci@12530000 {
+		samsung,sdhci-bus-width = <4>;
+		linux,mmc_cap_4_bit_data;
+		samsung,sdhci-cd-internal;
+		gpio-cd = <&gpk2 2 2 3 3>;
+		gpios = <&gpk2 0 2 0 3>,
+			<&gpk2 1 2 0 3>,
+			<&gpk2 3 2 3 3>,
+			<&gpk2 4 2 3 3>,
+			<&gpk2 5 2 3 3>,
+			<&gpk2 6 2 3 3>;
+	};
+
+	keypad@100A0000 {
+		samsung,keypad-num-rows = <2>;
+		samsung,keypad-num-columns = <8>;
+		linux,keypad-no-autorepeat;
+		linux,keypad-wakeup;
+
+		row-gpios = <&gpx2 0 3 3 0>,
+			    <&gpx2 1 3 3 0>;
+
+		col-gpios = <&gpx1 0 3 0 0>,
+			    <&gpx1 1 3 0 0>,
+			    <&gpx1 2 3 0 0>,
+			    <&gpx1 3 3 0 0>,
+			    <&gpx1 4 3 0 0>,
+			    <&gpx1 5 3 0 0>,
+			    <&gpx1 6 3 0 0>,
+			    <&gpx1 7 3 0 0>;
+
+		key_1 {
+			keypad,row = <0>;
+			keypad,column = <3>;
+			linux,code = <2>;
+		};
+
+		key_2 {
+			keypad,row = <0>;
+			keypad,column = <4>;
+			linux,code = <3>;
+		};
+
+		key_3 {
+			keypad,row = <0>;
+			keypad,column = <5>;
+			linux,code = <4>;
+		};
+
+		key_4 {
+			keypad,row = <0>;
+			keypad,column = <6>;
+			linux,code = <5>;
+		};
+
+		key_5 {
+			keypad,row = <0>;
+			keypad,column = <7>;
+			linux,code = <6>;
+		};
+
+		key_a {
+			keypad,row = <1>;
+			keypad,column = <3>;
+			linux,code = <30>;
+		};
+
+		key_b {
+			keypad,row = <1>;
+			keypad,column = <4>;
+			linux,code = <48>;
+		};
+
+		key_c {
+			keypad,row = <1>;
+			keypad,column = <5>;
+			linux,code = <46>;
+		};
+
+		key_d {
+			keypad,row = <1>;
+			keypad,column = <6>;
+			linux,code = <32>;
+		};
+
+		key_e {
+			keypad,row = <1>;
+			keypad,column = <7>;
+			linux,code = <18>;
+		};
+	};
+
+	i2c@13860000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		samsung,i2c-sda-delay = <100>;
+		samsung,i2c-max-bus-freq = <20000>;
+		gpios = <&gpd1 0 2 3 0>,
+			<&gpd1 1 2 3 0>;
+
+		eeprom@50 {
+			compatible = "samsung,24ad0xd1";
+			reg = <0x50>;
+		};
+
+		eeprom@52 {
+			compatible = "samsung,24ad0xd1";
+			reg = <0x52>;
+		};
+	};
+
+	sdhci@12510000 {
+		status = "disabled";
+	};
+
+	sdhci@12520000 {
+		status = "disabled";
+	};
+
+	sdhci@12540000 {
+		status = "disabled";
+	};
+
+	i2c@13870000 {
+		status = "disabled";
+	};
+
+	i2c@13880000 {
+		status = "disabled";
+	};
+
+	i2c@13890000 {
+		status = "disabled";
+	};
+
+	i2c@138A0000 {
+		status = "disabled";
+	};
+
+	i2c@138B0000 {
+		status = "disabled";
+	};
+
+	i2c@138C0000 {
+		status = "disabled";
+	};
+
+	i2c@138D0000 {
+		status = "disabled";
+	};
+};
diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
new file mode 100644
index 0000000..7598a15
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -0,0 +1,403 @@ 
+/*
+ * Samsung's Exynos4210 SoC device tree source
+ *
+ * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
+ *		http://www.samsung.com
+ * Copyright (c) 2010-2011 Linaro Ltd.
+ *		www.linaro.org
+ *
+ * Samsung's Exynos4210 SoC device nodes are listed in this file. Exynos4210
+ * 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
+ * Exynos4210 SoC. As device tree coverage for Exynos4210 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.
+*/
+
+/include/ "skeleton.dtsi"
+
+/ {
+	compatible = "samsung,exynos4210";
+	interrupt-parent = <&gic>;
+
+	gic:interrupt-controller@10490000 {
+		compatible = "arm,cortex-a9-gic";
+		#interrupt-cells = <3>;
+		interrupt-controller;
+		reg = <0x10490000 0x1000>, <0x10480000 0x100>;
+	};
+
+	combiner: interrupt-controller@10440000 {
+		compatible = "samsung,exynos4-combiner";
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		reg = <0x10440000 0x200>;
+	};
+
+	watchdog@10060000 {
+		compatible = "samsung,s3c2410-wdt";
+		reg = <0x10060000 0x100>;
+		interrupts = <0 43 0>;
+	};
+
+	rtc@10070000 {
+		compatible = "samsung,s3c6410-rtc";
+		reg = <0x10070000 0x100>;
+		interrupts = <0 44 0>, <0 45 0>;
+	};
+
+	keypad@100A0000 {
+		compatible = "samsung,s5pv210-keypad";
+		reg = <0x100A0000 0x100>;
+		interrupts = <0 109 0>;
+	};
+
+	sdhci@12510000 {
+		compatible = "samsung,exynos4210-sdhci";
+		reg = <0x12510000 0x100>;
+		interrupts = <0 73 0>;
+	};
+
+	sdhci@12520000 {
+		compatible = "samsung,exynos4210-sdhci";
+		reg = <0x12520000 0x100>;
+		interrupts = <0 74 0>;
+	};
+
+	sdhci@12530000 {
+		compatible = "samsung,exynos4210-sdhci";
+		reg = <0x12530000 0x100>;
+		interrupts = <0 75 0>;
+	};
+
+	sdhci@12540000 {
+		compatible = "samsung,exynos4210-sdhci";
+		reg = <0x12540000 0x100>;
+		interrupts = <0 76 0>;
+	};
+
+	serial@13800000 {
+		compatible = "samsung,exynos4210-uart";
+		reg = <0x13800000 0x100>;
+		interrupts = <0 52 0>;
+	};
+
+	serial@13810000 {
+		compatible = "samsung,exynos4210-uart";
+		reg = <0x13810000 0x100>;
+		interrupts = <0 53 0>;
+	};
+
+	serial@13820000 {
+		compatible = "samsung,exynos4210-uart";
+		reg = <0x13820000 0x100>;
+		interrupts = <0 54 0>;
+	};
+
+	serial@13830000 {
+		compatible = "samsung,exynos4210-uart";
+		reg = <0x13830000 0x100>;
+		interrupts = <0 55 0>;
+	};
+
+	i2c@13860000 {
+		compatible = "samsung,s3c2440-i2c";
+		reg = <0x13860000 0x100>;
+		interrupts = <0 58 0>;
+	};
+
+	i2c@13870000 {
+		compatible = "samsung,s3c2440-i2c";
+		reg = <0x13870000 0x100>;
+		interrupts = <0 59 0>;
+	};
+
+	i2c@13880000 {
+		compatible = "samsung,s3c2440-i2c";
+		reg = <0x13880000 0x100>;
+		interrupts = <0 60 0>;
+	};
+
+	i2c@13890000 {
+		compatible = "samsung,s3c2440-i2c";
+		reg = <0x13890000 0x100>;
+		interrupts = <0 61 0>;
+	};
+
+	i2c@138A0000 {
+		compatible = "samsung,s3c2440-i2c";
+		reg = <0x138A0000 0x100>;
+		interrupts = <0 62 0>;
+	};
+
+	i2c@138B0000 {
+		compatible = "samsung,s3c2440-i2c";
+		reg = <0x138B0000 0x100>;
+		interrupts = <0 63 0>;
+	};
+
+	i2c@138C0000 {
+		compatible = "samsung,s3c2440-i2c";
+		reg = <0x138C0000 0x100>;
+		interrupts = <0 64 0>;
+	};
+
+	i2c@138D0000 {
+		compatible = "samsung,s3c2440-i2c";
+		reg = <0x138D0000 0x100>;
+		interrupts = <0 65 0>;
+	};
+
+	amba {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "arm,amba-bus";
+		interrupt-parent = <&gic>;
+		ranges;
+
+		pdma0: pdma@12680000 {
+			compatible = "arm,pl330", "arm,primecell";
+			reg = <0x12680000 0x1000>;
+			interrupts = <0 35 0>;
+		};
+
+		pdma1: pdma@12690000 {
+			compatible = "arm,pl330", "arm,primecell";
+			reg = <0x12690000 0x1000>;
+			interrupts = <0 36 0>;
+		};
+	};
+
+	gpio-controllers {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		gpio-controller;
+
+		gpa0: gpio-controller@11400000 {
+			compatible = "samsung,exynos4-gpio-gpa0", "samsung,exynos4-gpio";
+			reg = <0x11400000 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpa1: gpio-controller@11400020 {
+			compatible = "samsung,exynos4-gpio-gpa1", "samsung,exynos4-gpio";
+			reg = <0x11400020 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpb: gpio-controller@11400040 {
+			compatible = "samsung,exynos4-gpio-gpb", "samsung,exynos4-gpio";
+			reg = <0x11400040 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpc0: gpio-controller@11400060 {
+			compatible = "samsung,exynos4-gpio-gpc0", "samsung,exynos4-gpio";
+			reg = <0x11400060 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpc1: gpio-controller@11400080 {
+			compatible = "samsung,exynos4-gpio-gpc1", "samsung,exynos4-gpio";
+			reg = <0x11400080 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpd0: gpio-controller@114000A0 {
+			compatible = "samsung,exynos4-gpio-gpd0", "samsung,exynos4-gpio";
+			reg = <0x114000A0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpd1: gpio-controller@114000C0 {
+			compatible = "samsung,exynos4-gpio-gpd1", "samsung,exynos4-gpio";
+			reg = <0x114000C0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpe0: gpio-controller@114000E0 {
+			compatible = "samsung,exynos4-gpio-gpe0", "samsung,exynos4-gpio";
+			reg = <0x114000E0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpe1: gpio-controller@11400100 {
+			compatible = "samsung,exynos4-gpio-gpe1", "samsung,exynos4-gpio";
+			reg = <0x11400100 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpe2: gpio-controller@11400120 {
+			compatible = "samsung,exynos4-gpio-gpe2", "samsung,exynos4-gpio";
+			reg = <0x11400120 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpe3: gpio-controller@11400140 {
+			compatible = "samsung,exynos4-gpio-gpe3", "samsung,exynos4-gpio";
+			reg = <0x11400140 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpe4: gpio-controller@11400160 {
+			compatible = "samsung,exynos4-gpio-gpe4", "samsung,exynos4-gpio";
+			reg = <0x11400160 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpf0: gpio-controller@11400180 {
+			compatible = "samsung,exynos4-gpio-gpf0", "samsung,exynos4-gpio";
+			reg = <0x11400180 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpf1: gpio-controller@114001A0 {
+			compatible = "samsung,exynos4-gpio-gpf1", "samsung,exynos4-gpio";
+			reg = <0x114001A0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpf2: gpio-controller@114001C0 {
+			compatible = "samsung,exynos4-gpio-gpf2", "samsung,exynos4-gpio";
+			reg = <0x114001C0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpf3: gpio-controller@114001E0 {
+			compatible = "samsung,exynos4-gpio-gpf3", "samsung,exynos4-gpio";
+			reg = <0x114001E0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpj0: gpio-controller@11000000 {
+			compatible = "samsung,exynos4-gpio-gpj0", "samsung,exynos4-gpio";
+			reg = <0x11000000 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpj1: gpio-controller@11000020 {
+			compatible = "samsung,exynos4-gpio-gpj1", "samsung,exynos4-gpio";
+			reg = <0x11000020 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpk0: gpio-controller@11000040 {
+			compatible = "samsung,exynos4-gpio-gpk0", "samsung,exynos4-gpio";
+			reg = <0x11000040 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpk1: gpio-controller@11000060 {
+			compatible = "samsung,exynos4-gpio-gpk1", "samsung,exynos4-gpio";
+			reg = <0x11000060 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpk2: gpio-controller@11000080 {
+			compatible = "samsung,exynos4-gpio-gpk2", "samsung,exynos4-gpio";
+			reg = <0x11000080 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpk3: gpio-controller@110000A0 {
+			compatible = "samsung,exynos4-gpio-gpk3", "samsung,exynos4-gpio";
+			reg = <0x110000A0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpl0: gpio-controller@110000C0 {
+			compatible = "samsung,exynos4-gpio-gpl0", "samsung,exynos4-gpio";
+			reg = <0x110000C0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpl1: gpio-controller@110000E0 {
+			compatible = "samsung,exynos4-gpio-gpl1", "samsung,exynos4-gpio";
+			reg = <0x110000E0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpl2: gpio-controller@11000100 {
+			compatible = "samsung,exynos4-gpio-gpl2", "samsung,exynos4-gpio";
+			reg = <0x11000100 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpy0: gpio-controller@11000120 {
+			compatible = "samsung,exynos4-gpio-gpy0", "samsung,exynos4-gpio";
+			reg = <0x11000120 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpy1: gpio-controller@11000140 {
+			compatible = "samsung,exynos4-gpio-gpy1", "samsung,exynos4-gpio";
+			reg = <0x11000140 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpy2: gpio-controller@11000160 {
+			compatible = "samsung,exynos4-gpio-gpy2", "samsung,exynos4-gpio";
+			reg = <0x11000160 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpy3: gpio-controller@11000180 {
+			compatible = "samsung,exynos4-gpio-gpy3", "samsung,exynos4-gpio";
+			reg = <0x11000180 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpy4: gpio-controller@110001A0 {
+			compatible = "samsung,exynos4-gpio-gpy4", "samsung,exynos4-gpio";
+			reg = <0x110001A0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpy5: gpio-controller@110001C0 {
+			compatible = "samsung,exynos4-gpio-gpy5", "samsung,exynos4-gpio";
+			reg = <0x110001C0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpy6: gpio-controller@110001E0 {
+			compatible = "samsung,exynos4-gpio-gpy6", "samsung,exynos4-gpio";
+			reg = <0x110001E0 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpx0: gpio-controller@11000C00 {
+			compatible = "samsung,exynos4-gpio-gpx0", "samsung,exynos4-gpio";
+			reg = <0x11000C00 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpx1: gpio-controller@11000C20 {
+			compatible = "samsung,exynos4-gpio-gpx1", "samsung,exynos4-gpio";
+			reg = <0x11000C20 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpx2: gpio-controller@11000C40 {
+			compatible = "samsung,exynos4-gpio-gpx2", "samsung,exynos4-gpio";
+			reg = <0x11000C40 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpx3: gpio-controller@11000C60 {
+			compatible = "samsung,exynos4-gpio-gpx3", "samsung,exynos4-gpio";
+			reg = <0x11000C60 0x20>;
+			#gpio-cells = <4>;
+		};
+
+		gpz: gpio-controller@03860000 {
+			compatible = "samsung,exynos4-gpio-gpz", "samsung,exynos4-gpio";
+			reg = <0x03860000 0x20>;
+			#gpio-cells = <4>;
+		};
+	};
+};