Merge tag 'samsung-dt-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux...
authorOlof Johansson <olof@lixom.net>
Sat, 31 May 2014 04:21:10 +0000 (21:21 -0700)
committerOlof Johansson <olof@lixom.net>
Sat, 31 May 2014 04:21:10 +0000 (21:21 -0700)
Merge "Samsung 3rd DT updates for v3.16" from Kukjin Kim:

- add dts files support for new SoCs
  : exynos3250 SoC
  : exynos5260 SoC and exynos5260-xyref5260 board
  : exynos5410 SoC and exynos5410-smdk5410 board
  : exynos5800 SoC and exynos5800-peach-pi board

- exynos4210-origen and exynos4412-origen
  : enable RTC and WDT nodes
  : use key code macros

- exynos5250-arndale
  : use key code macros

- exynos5420-arndale-octa
  : add secure firmware support

- exynos5440
  : update watchdog node name

* tag 'samsung-dt-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: add secure firmware support for exynos5420-arndale-octa
  ARM: dts: add pmu sysreg node to exynos3250
  ARM: dts: correct the usb phy node in exynos5800-peach-pi
  ARM: dts: correct the usb phy node in exynos5420-peach-pit
  ARM: dts: add dts files for exynos5410 and exynos5410-smdk5410
  ARM: dts: add dts files for exynos3250 SoC
  ARM: dts: add mfc node for exynos5800
  ARM: dts: add Vbus regulator for USB 3.0 on exynos5800-peach-pi
  ARM: dts: enable fimd for exynos5800-peach-pi
  ARM: dts: enable display controller for exynos5800-peach-pi
  ARM: dts: enable hdmi for exynos5800-peach-pi
  ARM: dts: add dts file for exynos5800-peach-pi board
  ARM: dts: add dts file for exynos5800 SoC
  ARM: dts: add dts file for exynos5260-xyref5260 board
  ARM: dts: add dts files for exynos5260 SoC
  ARM: dts: update watchdog node name in exynos5440
  ARM: dts: use key code macros on Origen and Arndale boards
  ARM: dts: enable RTC and WDT nodes on Origen boards

Signed-off-by: Olof Johansson <olof@lixom.net>
17 files changed:
Documentation/devicetree/bindings/arm/samsung/pmu.txt
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/exynos3250-pinctrl.dtsi [new file with mode: 0644]
arch/arm/boot/dts/exynos3250.dtsi [new file with mode: 0644]
arch/arm/boot/dts/exynos4210-origen.dts
arch/arm/boot/dts/exynos4412-origen.dts
arch/arm/boot/dts/exynos5250-arndale.dts
arch/arm/boot/dts/exynos5260-pinctrl.dtsi [new file with mode: 0644]
arch/arm/boot/dts/exynos5260-xyref5260.dts [new file with mode: 0644]
arch/arm/boot/dts/exynos5260.dtsi [new file with mode: 0644]
arch/arm/boot/dts/exynos5410-smdk5410.dts [new file with mode: 0644]
arch/arm/boot/dts/exynos5410.dtsi [new file with mode: 0644]
arch/arm/boot/dts/exynos5420-arndale-octa.dts
arch/arm/boot/dts/exynos5420-peach-pit.dts
arch/arm/boot/dts/exynos5440.dtsi
arch/arm/boot/dts/exynos5800-peach-pi.dts [new file with mode: 0644]
arch/arm/boot/dts/exynos5800.dtsi [new file with mode: 0644]

index b562634db746bdfafb85f77e229cc0c46b3f8e42..2a4ab046a8a12d4ec2ba1fb4d66f776c8f46ef0e 100644 (file)
@@ -2,6 +2,7 @@ SAMSUNG Exynos SoC series PMU Registers
 
 Properties:
  - compatible : should contain two values. First value must be one from following list:
+                  - "samsung,exynos3250-pmu" - for Exynos3250 SoC,
                   - "samsung,exynos4210-pmu" - for Exynos4210 SoC,
                   - "samsung,exynos4212-pmu" - for Exynos4212 SoC,
                   - "samsung,exynos4412-pmu" - for Exynos4412 SoC,
index 33409a3895b5dca959b4cbf5e033029b4469f47b..cbe223c882d9efb71996c15a66641cb97406ac62 100644 (file)
@@ -73,11 +73,14 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
        exynos5250-arndale.dtb \
        exynos5250-smdk5250.dtb \
        exynos5250-snow.dtb \
+       exynos5260-xyref5260.dtb \
+       exynos5410-smdk5410.dtb \
        exynos5420-arndale-octa.dtb \
        exynos5420-peach-pit.dtb \
        exynos5420-smdk5420.dtb \
        exynos5440-sd5v1.dtb \
-       exynos5440-ssdk5440.dtb
+       exynos5440-ssdk5440.dtb \
+       exynos5800-peach-pi.dtb
 dtb-$(CONFIG_ARCH_HI3xxx) += hi3620-hi4511.dtb
 dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb \
        ecx-2000.dtb
diff --git a/arch/arm/boot/dts/exynos3250-pinctrl.dtsi b/arch/arm/boot/dts/exynos3250-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..47b92c1
--- /dev/null
@@ -0,0 +1,475 @@
+/*
+ * Samsung's Exynos3250 SoCs pin-mux and pin-config device tree source
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * Samsung's Exynos3250 SoCs 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_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>;
+       };
+
+       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>;
+       };
+
+       uart0_data: uart0-data {
+               samsung,pins = "gpa0-0", "gpa0-1";
+               samsung,pin-function = <0x2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       uart0_fctl: uart0-fctl {
+               samsung,pins = "gpa0-2", "gpa0-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       uart1_data: uart1-data {
+               samsung,pins = "gpa0-4", "gpa0-5";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       uart1_fctl: uart1-fctl {
+               samsung,pins = "gpa0-6", "gpa0-7";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c2_bus: i2c2-bus {
+               samsung,pins = "gpa0-6", "gpa0-7";
+               samsung,pin-function = <3>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c3_bus: i2c3-bus {
+               samsung,pins = "gpa1-2", "gpa1-3";
+               samsung,pin-function = <3>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       spi0_bus: spi0-bus {
+               samsung,pins = "gpb-0", "gpb-2", "gpb-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c4_bus: i2c4-bus {
+               samsung,pins = "gpb-0", "gpb-1";
+               samsung,pin-function = <3>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       spi1_bus: spi1-bus {
+               samsung,pins = "gpb-4", "gpb-6", "gpb-7";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c5_bus: i2c5-bus {
+               samsung,pins = "gpb-2", "gpb-3";
+               samsung,pin-function = <3>;
+               samsung,pin-pud = <3>;
+               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>;
+       };
+
+       i2c6_bus: i2c6-bus {
+               samsung,pins = "gpc1-3", "gpc1-4";
+               samsung,pin-function = <4>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       pwm0_out: pwm0-out {
+               samsung,pins = "gpd0-0";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       pwm1_out: pwm1-out {
+               samsung,pins = "gpd0-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c7_bus: i2c7-bus {
+               samsung,pins = "gpd0-2", "gpd0-3";
+               samsung,pin-function = <3>;
+               samsung,pin-pud = <3>;
+               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>;
+       };
+
+       i2c0_bus: i2c0-bus {
+               samsung,pins = "gpd1-0", "gpd1-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       mipi0_clk: mipi0-clk {
+               samsung,pins = "gpd1-0", "gpd1-1";
+               samsung,pin-function = <3>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c1_bus: i2c1-bus {
+               samsung,pins = "gpd1-2", "gpd1-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&pinctrl_1 {
+       gpe0: gpe0 {
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       gpe1: gpe1 {
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       gpe2: gpe2 {
+               gpio-controller;
+               #gpio-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>;
+       };
+
+       gpl0: gpl0 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpm0: gpm0 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpm1: gpm1 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpm2: gpm2 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpm3: gpm3 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpm4: gpm4 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpx0: gpx0 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               interrupt-parent = <&gic>;
+               interrupts = <0 32 0>, <0 33 0>, <0 34 0>, <0 35 0>,
+                               <0 36 0>, <0 37 0>, <0 38 0>, <0 39 0>;
+               #interrupt-cells = <2>;
+       };
+
+       gpx1: gpx1 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               interrupt-parent = <&gic>;
+               interrupts = <0 40 0>, <0 41 0>, <0 42 0>, <0 43 0>,
+                               <0 44 0>, <0 45 0>, <0 46 0>, <0 47 0>;
+               #interrupt-cells = <2>;
+       };
+
+       gpx2: gpx2 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpx3: gpx3 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       sd0_clk: sd0-clk {
+               samsung,pins = "gpk0-0";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd0_cmd: sd0-cmd {
+               samsung,pins = "gpk0-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd0_cd: sd0-cd {
+               samsung,pins = "gpk0-2";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd0_rdqs: sd0-rdqs {
+               samsung,pins = "gpk0-7";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd0_bus1: sd0-bus-width1 {
+               samsung,pins = "gpk0-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd0_bus4: sd0-bus-width4 {
+               samsung,pins = "gpk0-4", "gpk0-5", "gpk0-6";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd0_bus8: sd0-bus-width8 {
+               samsung,pins = "gpl0-0", "gpl0-1", "gpl0-2", "gpl0-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd1_clk: sd1-clk {
+               samsung,pins = "gpk1-0";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd1_cmd: sd1-cmd {
+               samsung,pins = "gpk1-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd1_cd: sd1-cd {
+               samsung,pins = "gpk1-2";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd1_bus1: sd1-bus-width1 {
+               samsung,pins = "gpk1-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd1_bus4: sd1-bus-width4 {
+               samsung,pins = "gpk1-4", "gpk1-5", "gpk1-6";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <3>;
+       };
+
+       cam_port_b_io: cam-port-b-io {
+               samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
+                               "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
+                               "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
+               samsung,pin-function = <3>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       cam_port_b_clk_active: cam-port-b-clk-active {
+               samsung,pins = "gpm2-2";
+               samsung,pin-function = <3>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <3>;
+       };
+
+       cam_port_b_clk_idle: cam-port-b-clk-idle {
+               samsung,pins = "gpm2-2";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       fimc_is_i2c0: fimc-is-i2c0 {
+               samsung,pins = "gpm4-0", "gpm4-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       fimc_is_i2c1: fimc-is-i2c1 {
+               samsung,pins = "gpm4-2", "gpm4-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       fimc_is_uart: fimc-is-uart {
+               samsung,pins = "gpm3-5", "gpm3-7";
+               samsung,pin-function = <3>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+};
diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
new file mode 100644 (file)
index 0000000..3e678fa
--- /dev/null
@@ -0,0 +1,444 @@
+/*
+ * Samsung's Exynos3250 SoC device tree source
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * Samsung's Exynos3250 SoC device nodes are listed in this file. Exynos3250
+ * 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
+ * Exynos3250 SoC. As device tree coverage for Exynos3250 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"
+#include <dt-bindings/clock/exynos3250.h>
+
+/ {
+       compatible = "samsung,exynos3250";
+       interrupt-parent = <&gic>;
+
+       aliases {
+               pinctrl0 = &pinctrl_0;
+               pinctrl1 = &pinctrl_1;
+               mshc0 = &mshc_0;
+               mshc1 = &mshc_1;
+               spi0 = &spi_0;
+               spi1 = &spi_1;
+               i2c0 = &i2c_0;
+               i2c1 = &i2c_1;
+               i2c2 = &i2c_2;
+               i2c3 = &i2c_3;
+               i2c4 = &i2c_4;
+               i2c5 = &i2c_5;
+               i2c6 = &i2c_6;
+               i2c7 = &i2c_7;
+       };
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu0: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a7";
+                       reg = <0>;
+                       clock-frequency = <1000000000>;
+               };
+
+               cpu1: cpu@1 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a7";
+                       reg = <1>;
+                       clock-frequency = <1000000000>;
+               };
+       };
+
+       soc: soc {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               fixed-rate-clocks {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       xusbxti: clock@0 {
+                               compatible = "fixed-clock";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               reg = <0>;
+                               clock-frequency = <0>;
+                               #clock-cells = <0>;
+                               clock-output-names = "xusbxti";
+                       };
+
+                       xxti: clock@1 {
+                               compatible = "fixed-clock";
+                               reg = <1>;
+                               clock-frequency = <0>;
+                               #clock-cells = <0>;
+                               clock-output-names = "xxti";
+                       };
+
+                       xtcxo: clock@2 {
+                               compatible = "fixed-clock";
+                               reg = <2>;
+                               clock-frequency = <0>;
+                               #clock-cells = <0>;
+                               clock-output-names = "xtcxo";
+                       };
+               };
+
+               sysram@02020000 {
+                       compatible = "mmio-sram";
+                       reg = <0x02020000 0x40000>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x02020000 0x40000>;
+
+                       smp-sysram@0 {
+                               compatible = "samsung,exynos4210-sysram";
+                               reg = <0x0 0x1000>;
+                       };
+
+                       smp-sysram@3f000 {
+                               compatible = "samsung,exynos4210-sysram-ns";
+                               reg = <0x3f000 0x1000>;
+                       };
+               };
+
+               chipid@10000000 {
+                       compatible = "samsung,exynos4210-chipid";
+                       reg = <0x10000000 0x100>;
+               };
+
+               sys_reg: syscon@10010000 {
+                       compatible = "samsung,exynos3-sysreg", "syscon";
+                       reg = <0x10010000 0x400>;
+               };
+
+               pmu_system_controller: system-controller@10020000 {
+                       compatible = "samsung,exynos3250-pmu", "syscon";
+                       reg = <0x10020000 0x4000>;
+               };
+
+               pd_cam: cam-power-domain@10023C00 {
+                       compatible = "samsung,exynos4210-pd";
+                       reg = <0x10023C00 0x20>;
+               };
+
+               pd_mfc: mfc-power-domain@10023C40 {
+                       compatible = "samsung,exynos4210-pd";
+                       reg = <0x10023C40 0x20>;
+               };
+
+               pd_g3d: g3d-power-domain@10023C60 {
+                       compatible = "samsung,exynos4210-pd";
+                       reg = <0x10023C60 0x20>;
+               };
+
+               pd_lcd0: lcd0-power-domain@10023C80 {
+                       compatible = "samsung,exynos4210-pd";
+                       reg = <0x10023C80 0x20>;
+               };
+
+               pd_isp: isp-power-domain@10023CA0 {
+                       compatible = "samsung,exynos4210-pd";
+                       reg = <0x10023CA0 0x20>;
+               };
+
+               cmu: clock-controller@10030000 {
+                       compatible = "samsung,exynos3250-cmu";
+                       reg = <0x10030000 0x20000>;
+                       #clock-cells = <1>;
+               };
+
+               rtc: rtc@10070000 {
+                       compatible = "samsung,s3c6410-rtc";
+                       reg = <0x10070000 0x100>;
+                       interrupts = <0 73 0>, <0 74 0>;
+                       status = "disabled";
+               };
+
+               gic: interrupt-controller@10481000 {
+                       compatible = "arm,cortex-a15-gic";
+                       #interrupt-cells = <3>;
+                       interrupt-controller;
+                       reg = <0x10481000 0x1000>,
+                             <0x10482000 0x1000>,
+                             <0x10484000 0x2000>,
+                             <0x10486000 0x2000>;
+                       interrupts = <1 9 0xf04>;
+               };
+
+               mct@10050000 {
+                       compatible = "samsung,exynos4210-mct";
+                       reg = <0x10050000 0x800>;
+                       interrupts = <0 218 0>, <0 219 0>, <0 220 0>, <0 221 0>,
+                                    <0 223 0>, <0 226 0>, <0 227 0>, <0 228 0>;
+                       clocks = <&cmu CLK_FIN_PLL>, <&cmu CLK_MCT>;
+                       clock-names = "fin_pll", "mct";
+               };
+
+               pinctrl_1: pinctrl@11000000 {
+                       compatible = "samsung,exynos3250-pinctrl";
+                       reg = <0x11000000 0x1000>;
+                       interrupts = <0 225 0>;
+
+                       wakeup-interrupt-controller {
+                               compatible = "samsung,exynos4210-wakeup-eint";
+                               interrupt-parent = <&gic>;
+                               interrupts = <0 48 0>;
+                       };
+               };
+
+               pinctrl_0: pinctrl@11400000 {
+                       compatible = "samsung,exynos3250-pinctrl";
+                       reg = <0x11400000 0x1000>;
+                       interrupts = <0 240 0>;
+               };
+
+               mshc_0: mshc@12510000 {
+                       compatible = "samsung,exynos5250-dw-mshc";
+                       reg = <0x12510000 0x1000>;
+                       interrupts = <0 142 0>;
+                       clocks = <&cmu CLK_SDMMC0>, <&cmu CLK_SCLK_MMC0>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <0x80>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               mshc_1: mshc@12520000 {
+                       compatible = "samsung,exynos5250-dw-mshc";
+                       reg = <0x12520000 0x1000>;
+                       interrupts = <0 143 0>;
+                       clocks = <&cmu CLK_SDMMC1>, <&cmu CLK_SCLK_MMC1>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <0x80>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               amba {
+                       compatible = "arm,amba-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       interrupt-parent = <&gic>;
+                       ranges;
+
+                       pdma0: pdma@12680000 {
+                               compatible = "arm,pl330", "arm,primecell";
+                               reg = <0x12680000 0x1000>;
+                               interrupts = <0 138 0>;
+                               clocks = <&cmu CLK_PDMA0>;
+                               clock-names = "apb_pclk";
+                               #dma-cells = <1>;
+                               #dma-channels = <8>;
+                               #dma-requests = <32>;
+                       };
+
+                       pdma1: pdma@12690000 {
+                               compatible = "arm,pl330", "arm,primecell";
+                               reg = <0x12690000 0x1000>;
+                               interrupts = <0 139 0>;
+                               clocks = <&cmu CLK_PDMA1>;
+                               clock-names = "apb_pclk";
+                               #dma-cells = <1>;
+                               #dma-channels = <8>;
+                               #dma-requests = <32>;
+                       };
+               };
+
+               adc: adc@126C0000 {
+                       compatible = "samsung,exynos-adc-v3";
+                       reg = <0x126C0000 0x100>, <0x10020718 0x4>;
+                       interrupts = <0 137 0>;
+                       clock-names = "adc", "sclk_tsadc";
+                       clocks = <&cmu CLK_TSADC>, <&cmu CLK_SCLK_TSADC>;
+                       #io-channel-cells = <1>;
+                       io-channel-ranges;
+                       status = "disabled";
+               };
+
+               serial_0: serial@13800000 {
+                       compatible = "samsung,exynos4210-uart";
+                       reg = <0x13800000 0x100>;
+                       interrupts = <0 109 0>;
+                       clocks = <&cmu CLK_UART0>, <&cmu CLK_SCLK_UART0>;
+                       clock-names = "uart", "clk_uart_baud0";
+                       status = "disabled";
+               };
+
+               serial_1: serial@13810000 {
+                       compatible = "samsung,exynos4210-uart";
+                       reg = <0x13810000 0x100>;
+                       interrupts = <0 110 0>;
+                       clocks = <&cmu CLK_UART1>, <&cmu CLK_SCLK_UART1>;
+                       clock-names = "uart", "clk_uart_baud0";
+                       status = "disabled";
+               };
+
+               i2c_0: i2c@13860000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "samsung,s3c2440-i2c";
+                       reg = <0x13860000 0x100>;
+                       interrupts = <0 113 0>;
+                       clocks = <&cmu CLK_I2C0>;
+                       clock-names = "i2c";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c0_bus>;
+                       status = "disabled";
+               };
+
+               i2c_1: i2c@13870000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "samsung,s3c2440-i2c";
+                       reg = <0x13870000 0x100>;
+                       interrupts = <0 114 0>;
+                       clocks = <&cmu CLK_I2C1>;
+                       clock-names = "i2c";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c1_bus>;
+                       status = "disabled";
+               };
+
+               i2c_2: i2c@13880000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "samsung,s3c2440-i2c";
+                       reg = <0x13880000 0x100>;
+                       interrupts = <0 115 0>;
+                       clocks = <&cmu CLK_I2C2>;
+                       clock-names = "i2c";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c2_bus>;
+                       status = "disabled";
+               };
+
+               i2c_3: i2c@13890000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "samsung,s3c2440-i2c";
+                       reg = <0x13890000 0x100>;
+                       interrupts = <0 116 0>;
+                       clocks = <&cmu CLK_I2C3>;
+                       clock-names = "i2c";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c3_bus>;
+                       status = "disabled";
+               };
+
+               i2c_4: i2c@138A0000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "samsung,s3c2440-i2c";
+                       reg = <0x138A0000 0x100>;
+                       interrupts = <0 117 0>;
+                       clocks = <&cmu CLK_I2C4>;
+                       clock-names = "i2c";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c4_bus>;
+                       status = "disabled";
+               };
+
+               i2c_5: i2c@138B0000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "samsung,s3c2440-i2c";
+                       reg = <0x138B0000 0x100>;
+                       interrupts = <0 118 0>;
+                       clocks = <&cmu CLK_I2C5>;
+                       clock-names = "i2c";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c5_bus>;
+                       status = "disabled";
+               };
+
+               i2c_6: i2c@138C0000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "samsung,s3c2440-i2c";
+                       reg = <0x138C0000 0x100>;
+                       interrupts = <0 119 0>;
+                       clocks = <&cmu CLK_I2C6>;
+                       clock-names = "i2c";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c6_bus>;
+                       status = "disabled";
+               };
+
+               i2c_7: i2c@138D0000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "samsung,s3c2440-i2c";
+                       reg = <0x138D0000 0x100>;
+                       interrupts = <0 120 0>;
+                       clocks = <&cmu CLK_I2C7>;
+                       clock-names = "i2c";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c7_bus>;
+                       status = "disabled";
+               };
+
+               spi_0: spi@13920000 {
+                       compatible = "samsung,exynos4210-spi";
+                       reg = <0x13920000 0x100>;
+                       interrupts = <0 121 0>;
+                       dmas = <&pdma0 7>, <&pdma0 6>;
+                       dma-names = "tx", "rx";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&cmu CLK_SPI0>, <&cmu CLK_SCLK_SPI0>;
+                       clock-names = "spi", "spi_busclk0";
+                       samsung,spi-src-clk = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&spi0_bus>;
+                       status = "disabled";
+               };
+
+               spi_1: spi@13930000 {
+                       compatible = "samsung,exynos4210-spi";
+                       reg = <0x13930000 0x100>;
+                       interrupts = <0 122 0>;
+                       dmas = <&pdma1 7>, <&pdma1 6>;
+                       dma-names = "tx", "rx";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&cmu CLK_SPI1>, <&cmu CLK_SCLK_SPI1>;
+                       clock-names = "spi", "spi_busclk0";
+                       samsung,spi-src-clk = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&spi1_bus>;
+                       status = "disabled";
+               };
+
+               pwm: pwm@139D0000 {
+                       compatible = "samsung,exynos4210-pwm";
+                       reg = <0x139D0000 0x1000>;
+                       interrupts = <0 104 0>, <0 105 0>, <0 106 0>,
+                                    <0 107 0>, <0 108 0>;
+                       #pwm-cells = <3>;
+                       status = "disabled";
+               };
+
+               pmu {
+                       compatible = "arm,cortex-a7-pmu";
+                       interrupts = <0 18 0>, <0 19 0>;
+               };
+       };
+};
+
+#include "exynos3250-pinctrl.dtsi"
index 72fb11f7ea213038c789e40e431c3268673da033..f767c425d0b5d277a369e4d1101efe26a208d3fb 100644 (file)
@@ -16,6 +16,7 @@
 
 /dts-v1/;
 #include "exynos4210.dtsi"
+#include <dt-bindings/input/input.h>
 
 / {
        model = "Insignal Origen evaluation board based on Exynos4210";
                };
        };
 
+       watchdog@10060000 {
+               status = "okay";
+       };
+
+       rtc@10070000 {
+               status = "okay";
+       };
+
        tmu@100C0000 {
                status = "okay";
        };
                up {
                        label = "Up";
                        gpios = <&gpx2 0 1>;
-                       linux,code = <103>;
+                       linux,code = <KEY_UP>;
                        gpio-key,wakeup;
                };
 
                down {
                        label = "Down";
                        gpios = <&gpx2 1 1>;
-                       linux,code = <108>;
+                       linux,code = <KEY_DOWN>;
                        gpio-key,wakeup;
                };
 
                back {
                        label = "Back";
                        gpios = <&gpx1 7 1>;
-                       linux,code = <158>;
+                       linux,code = <KEY_BACK>;
                        gpio-key,wakeup;
                };
 
                home {
                        label = "Home";
                        gpios = <&gpx1 6 1>;
-                       linux,code = <102>;
+                       linux,code = <KEY_HOME>;
                        gpio-key,wakeup;
                };
 
                menu {
                        label = "Menu";
                        gpios = <&gpx1 5 1>;
-                       linux,code = <139>;
+                       linux,code = <KEY_MENU>;
                        gpio-key,wakeup;
                };
        };
index e2c0dcab4d81d576d417489d9f97ce58228c66dc..e925c9fbfb07f95e173823970f43bace333a685a 100644 (file)
@@ -14,6 +14,7 @@
 
 /dts-v1/;
 #include "exynos4412.dtsi"
+#include <dt-bindings/input/input.h>
 
 / {
        model = "Insignal Origen evaluation board based on Exynos4412";
                };
        };
 
+       watchdog@10060000 {
+               status = "okay";
+       };
+
+       rtc@10070000 {
+               status = "okay";
+       };
+
        pinctrl@11000000 {
                keypad_rows: keypad-rows {
                        samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
                key_home {
                        keypad,row = <0>;
                        keypad,column = <0>;
-                       linux,code = <102>;
+                       linux,code = <KEY_HOME>;
                };
 
                key_down {
                        keypad,row = <0>;
                        keypad,column = <1>;
-                       linux,code = <108>;
+                       linux,code = <KEY_DOWN>;
                };
 
                key_up {
                        keypad,row = <1>;
                        keypad,column = <0>;
-                       linux,code = <103>;
+                       linux,code = <KEY_UP>;
                };
 
                key_menu {
                        keypad,row = <1>;
                        keypad,column = <1>;
-                       linux,code = <139>;
+                       linux,code = <KEY_MENU>;
                };
 
                key_back {
                        keypad,row = <2>;
                        keypad,column = <0>;
-                       linux,code = <158>;
+                       linux,code = <KEY_BACK>;
                };
 
                key_enter {
                        keypad,row = <2>;
                        keypad,column = <1>;
-                       linux,code = <28>;
+                       linux,code = <KEY_ENTER>;
                };
        };
 
index 090f9830b129b72259e4976be890917182b8a6f5..1f5afb39355f4d82c536fdb20ec4fa5bc463f2eb 100644 (file)
@@ -12,6 +12,7 @@
 /dts-v1/;
 #include "exynos5250.dtsi"
 #include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/input/input.h>
 
 / {
        model = "Insignal Arndale evaluation board based on EXYNOS5250";
                menu {
                        label = "SW-TACT2";
                        gpios = <&gpx1 4 1>;
-                       linux,code = <139>;
+                       linux,code = <KEY_MENU>;
                        gpio-key,wakeup;
                };
 
                home {
                        label = "SW-TACT3";
                        gpios = <&gpx1 5 1>;
-                       linux,code = <102>;
+                       linux,code = <KEY_HOME>;
                        gpio-key,wakeup;
                };
 
                up {
                        label = "SW-TACT4";
                        gpios = <&gpx1 6 1>;
-                       linux,code = <103>;
+                       linux,code = <KEY_UP>;
                        gpio-key,wakeup;
                };
 
                down {
                        label = "SW-TACT5";
                        gpios = <&gpx1 7 1>;
-                       linux,code = <108>;
+                       linux,code = <KEY_DOWN>;
                        gpio-key,wakeup;
                };
 
                back {
                        label = "SW-TACT6";
                        gpios = <&gpx2 0 1>;
-                       linux,code = <158>;
+                       linux,code = <KEY_BACK>;
                        gpio-key,wakeup;
                };
 
                wakeup {
                        label = "SW-TACT7";
                        gpios = <&gpx2 1 1>;
-                       linux,code = <143>;
+                       linux,code = <KEY_WAKEUP>;
                        gpio-key,wakeup;
                };
        };
diff --git a/arch/arm/boot/dts/exynos5260-pinctrl.dtsi b/arch/arm/boot/dts/exynos5260-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..f6ee55e
--- /dev/null
@@ -0,0 +1,574 @@
+/*
+ * Samsung's Exynos5260 SoC pin-mux and pin-config device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * Samsung's Exynos5260 SoC pin-mux and pin-config options 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.
+*/
+
+#define PIN_PULL_NONE  0
+#define PIN_PULL_DOWN  1
+#define PIN_PULL_UP    3
+
+&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>;
+       };
+
+       gpb4: gpb4 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpb5: gpb5 {
+               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>;
+       };
+
+       gpd2: gpd2 {
+               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>;
+       };
+
+       gpk0: gpk0 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpx0: gpx0 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpx1: gpx1 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpx2: gpx2 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpx3: gpx3 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       uart0_data: uart0-data {
+               samsung,pins = "gpa0-0", "gpa0-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <0>;
+       };
+
+       uart0_fctl: uart0-fctl {
+               samsung,pins = "gpa0-2", "gpa0-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <0>;
+       };
+
+       uart1_data: uart1-data {
+               samsung,pins = "gpa1-0", "gpa1-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <0>;
+       };
+
+       uart1_fctl: uart1-fctl {
+               samsung,pins = "gpa1-2", "gpa1-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <0>;
+       };
+
+       uart2_data: uart2-data {
+               samsung,pins = "gpa1-4", "gpa1-5";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <0>;
+       };
+
+       spi0_bus: spi0-bus {
+               samsung,pins = "gpa2-0", "gpa2-2", "gpa2-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       spi1_bus: spi1-bus {
+               samsung,pins = "gpa2-4", "gpa2-6", "gpa2-7";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       usb3_vbus0_en: usb3-vbus0-en {
+               samsung,pins = "gpa2-4";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               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 = <PIN_PULL_NONE>;
+               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 = <PIN_PULL_NONE>;
+               samsung,pin-drv = <0>;
+       };
+
+       spdif1_bus: spdif1-bus {
+               samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2";
+               samsung,pin-function = <4>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <0>;
+       };
+
+       spi2_bus: spi2-bus {
+               samsung,pins = "gpb1-0", "gpb1-2", "gpb1-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c0_hs_bus: i2c0-hs-bus {
+               samsung,pins = "gpb3-0", "gpb3-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c1_hs_bus: i2c1-hs-bus {
+               samsung,pins = "gpb3-2", "gpb3-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c2_hs_bus: i2c2-hs-bus {
+               samsung,pins = "gpb3-4", "gpb3-5";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c3_hs_bus: i2c3-hs-bus {
+               samsung,pins = "gpb3-6", "gpb3-7";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c4_bus: i2c4-bus {
+               samsung,pins = "gpb4-0", "gpb4-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c5_bus: i2c5-bus {
+               samsung,pins = "gpb4-2", "gpb4-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c6_bus: i2c6-bus {
+               samsung,pins = "gpb4-4", "gpb4-5";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c7_bus: i2c7-bus {
+               samsung,pins = "gpb4-6", "gpb4-7";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c8_bus: i2c8-bus {
+               samsung,pins = "gpb5-0", "gpb5-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c9_bus: i2c9-bus {
+               samsung,pins = "gpb5-2", "gpb5-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c10_bus: i2c10-bus {
+               samsung,pins = "gpb5-4", "gpb5-5";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       i2c11_bus: i2c11-bus {
+               samsung,pins = "gpb5-6", "gpb5-7";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       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 = <PIN_PULL_NONE>;
+               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 = <PIN_PULL_NONE>;
+               samsung,pin-drv = <0>;
+       };
+
+       cam_i2c1_bus: cam-i2c1-bus {
+               samsung,pins = "gpf0-2", "gpf0-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <0>;
+       };
+
+       cam_i2c0_bus: cam-i2c0-bus {
+               samsung,pins = "gpf0-0", "gpf0-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,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 = <PIN_PULL_NONE>;
+               samsung,pin-drv = <0>;
+       };
+
+       cam_spi1_bus: cam-spi1-bus {
+               samsung,pins = "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&pinctrl_1 {
+       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>;
+       };
+
+       gpc4: gpc4 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       sd0_clk: sd0-clk {
+               samsung,pins = "gpc0-0";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd0_cmd: sd0-cmd {
+               samsung,pins = "gpc0-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd0_bus1: sd0-bus-width1 {
+               samsung,pins = "gpc0-2";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd0_bus4: sd0-bus-width4 {
+               samsung,pins = "gpc0-3", "gpc0-4", "gpc0-5";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               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 = <PIN_PULL_UP>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd0_rdqs: sd0-rdqs {
+               samsung,pins = "gpc0-6";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd1_clk: sd1-clk {
+               samsung,pins = "gpc1-0";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd1_cmd: sd1-cmd {
+               samsung,pins = "gpc1-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd1_bus1: sd1-bus-width1 {
+               samsung,pins = "gpc1-2";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd1_bus4: sd1-bus-width4 {
+               samsung,pins = "gpc1-3", "gpc1-4", "gpc1-5";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd1_bus8: sd1-bus-width8 {
+               samsung,pins = "gpc4-0", "gpc4-1", "gpc4-2", "gpc4-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd2_clk: sd2-clk {
+               samsung,pins = "gpc2-0";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd2_cmd: sd2-cmd {
+               samsung,pins = "gpc2-1";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_NONE>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd2_cd: sd2-cd {
+               samsung,pins = "gpc2-2";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd2_bus1: sd2-bus-width1 {
+               samsung,pins = "gpc2-3";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <3>;
+       };
+
+       sd2_bus4: sd2-bus-width4 {
+               samsung,pins = "gpc2-4", "gpc2-5", "gpc2-6";
+               samsung,pin-function = <2>;
+               samsung,pin-pud = <PIN_PULL_UP>;
+               samsung,pin-drv = <3>;
+       };
+};
+
+&pinctrl_2 {
+       gpz0: gpz0 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpz1: gpz1 {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+};
diff --git a/arch/arm/boot/dts/exynos5260-xyref5260.dts b/arch/arm/boot/dts/exynos5260-xyref5260.dts
new file mode 100644 (file)
index 0000000..8c84ab2
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * SAMSUNG XYREF5260 board device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.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.
+*/
+
+/dts-v1/;
+#include "exynos5260.dtsi"
+
+/ {
+       model = "SAMSUNG XYREF5260 board based on EXYNOS5260";
+       compatible = "samsung,xyref5260", "samsung,exynos5260", "samsung,exynos5";
+
+       memory {
+               reg = <0x20000000 0x80000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttySAC2,115200";
+       };
+
+       fin_pll: xxti {
+               compatible = "fixed-clock";
+               clock-frequency = <24000000>;
+               clock-output-names = "fin_pll";
+               #clock-cells = <0>;
+       };
+
+       xrtcxti: xrtcxti {
+               compatible = "fixed-clock";
+               clock-frequency = <32768>;
+               clock-output-names = "xrtcxti";
+               #clock-cells = <0>;
+       };
+};
+
+&pinctrl_0 {
+       hdmi_hpd_irq: hdmi-hpd-irq {
+               samsung,pins = "gpx3-7";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <1>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&uart0 {
+       status = "okay";
+};
+
+&uart1 {
+       status = "okay";
+};
+
+&uart2 {
+       status = "okay";
+};
+
+&uart3 {
+       status = "okay";
+};
+
+&mmc_0 {
+       status = "okay";
+       num-slots = <1>;
+       broken-cd;
+       bypass-smu;
+       supports-highspeed;
+       supports-hs200-mode; /* 200 Mhz */
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <0 4>;
+       samsung,dw-mshc-ddr-timing = <0 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_rdqs &sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+
+       slot@0 {
+               reg = <0>;
+               bus-width = <8>;
+       };
+};
+
+&mmc_2 {
+       status = "okay";
+       num-slots = <1>;
+       supports-highspeed;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
+
+       slot@0 {
+               reg = <0>;
+               bus-width = <4>;
+               disable-wp;
+       };
+};
diff --git a/arch/arm/boot/dts/exynos5260.dtsi b/arch/arm/boot/dts/exynos5260.dtsi
new file mode 100644 (file)
index 0000000..5398a60
--- /dev/null
@@ -0,0 +1,304 @@
+/*
+ * SAMSUNG EXYNOS5260 SoC device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.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.
+*/
+
+#include "skeleton.dtsi"
+
+#include <dt-bindings/clock/exynos5260-clk.h>
+
+/ {
+       compatible = "samsung,exynos5260", "samsung,exynos5";
+       interrupt-parent = <&gic>;
+
+       aliases {
+               pinctrl0 = &pinctrl_0;
+               pinctrl1 = &pinctrl_1;
+               pinctrl2 = &pinctrl_2;
+       };
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a15";
+                       reg = <0x0>;
+                       cci-control-port = <&cci_control1>;
+               };
+
+               cpu@1 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a15";
+                       reg = <0x1>;
+                       cci-control-port = <&cci_control1>;
+               };
+
+               cpu@100 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a7";
+                       reg = <0x100>;
+                       cci-control-port = <&cci_control0>;
+               };
+
+               cpu@101 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a7";
+                       reg = <0x101>;
+                       cci-control-port = <&cci_control0>;
+               };
+
+               cpu@102 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a7";
+                       reg = <0x102>;
+                       cci-control-port = <&cci_control0>;
+               };
+
+               cpu@103 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a7";
+                       reg = <0x103>;
+                       cci-control-port = <&cci_control0>;
+               };
+       };
+
+       soc: soc {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               clock_top: clock-controller@10010000 {
+                       compatible = "samsung,exynos5260-clock-top";
+                       reg = <0x10010000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_peri: clock-controller@10200000 {
+                       compatible = "samsung,exynos5260-clock-peri";
+                       reg = <0x10200000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_egl: clock-controller@10600000 {
+                       compatible = "samsung,exynos5260-clock-egl";
+                       reg = <0x10600000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_kfc: clock-controller@10700000 {
+                       compatible = "samsung,exynos5260-clock-kfc";
+                       reg = <0x10700000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_g2d: clock-controller@10A00000 {
+                       compatible = "samsung,exynos5260-clock-g2d";
+                       reg = <0x10A00000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_mif: clock-controller@10CE0000 {
+                       compatible = "samsung,exynos5260-clock-mif";
+                       reg = <0x10CE0000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_mfc: clock-controller@11090000 {
+                       compatible = "samsung,exynos5260-clock-mfc";
+                       reg = <0x11090000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_g3d: clock-controller@11830000 {
+                       compatible = "samsung,exynos5260-clock-g3d";
+                       reg = <0x11830000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_fsys: clock-controller@122E0000 {
+                       compatible = "samsung,exynos5260-clock-fsys";
+                       reg = <0x122E0000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_aud: clock-controller@128C0000 {
+                       compatible = "samsung,exynos5260-clock-aud";
+                       reg = <0x128C0000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_isp: clock-controller@133C0000 {
+                       compatible = "samsung,exynos5260-clock-isp";
+                       reg = <0x133C0000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_gscl: clock-controller@13F00000 {
+                       compatible = "samsung,exynos5260-clock-gscl";
+                       reg = <0x13F00000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               clock_disp: clock-controller@14550000 {
+                       compatible = "samsung,exynos5260-clock-disp";
+                       reg = <0x14550000 0x10000>;
+                       #clock-cells = <1>;
+               };
+
+               gic: interrupt-controller@10481000 {
+                       compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
+                       #interrupt-cells = <3>;
+                       #address-cells = <0>;
+                       #size-cells = <0>;
+                       interrupt-controller;
+                       reg = <0x10481000 0x1000>,
+                               <0x10482000 0x1000>,
+                               <0x10484000 0x2000>,
+                               <0x10486000 0x2000>;
+                       interrupts = <1 9 0xf04>;
+               };
+
+               chipid: chipid@10000000 {
+                       compatible = "samsung,exynos4210-chipid";
+                       reg = <0x10000000 0x100>;
+               };
+
+               mct: mct@100B0000 {
+                       compatible = "samsung,exynos4210-mct";
+                       reg = <0x100B0000 0x1000>;
+                       clocks = <&fin_pll>, <&clock_peri PERI_CLK_MCT>;
+                       clock-names = "fin_pll", "mct";
+                       interrupts = <0 104 0>, <0 105 0>, <0 106 0>,
+                                       <0 107 0>, <0 122 0>, <0 123 0>,
+                                       <0 124 0>, <0 125 0>, <0 126 0>,
+                                       <0 127 0>, <0 128 0>, <0 129 0>;
+               };
+
+               cci: cci@10F00000 {
+                       compatible = "arm,cci-400";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x10F00000 0x1000>;
+                       ranges = <0x0 0x10F00000 0x6000>;
+
+                       cci_control0: slave-if@4000 {
+                               compatible = "arm,cci-400-ctrl-if";
+                               interface-type = "ace";
+                               reg = <0x4000 0x1000>;
+                       };
+
+                       cci_control1: slave-if@5000 {
+                               compatible = "arm,cci-400-ctrl-if";
+                               interface-type = "ace";
+                               reg = <0x5000 0x1000>;
+                       };
+               };
+
+               pinctrl_0: pinctrl@11600000 {
+                       compatible = "samsung,exynos5260-pinctrl";
+                       reg = <0x11600000 0x1000>;
+                       interrupts = <0 79 0>;
+
+                       wakeup-interrupt-controller {
+                               compatible = "samsung,exynos4210-wakeup-eint";
+                               interrupt-parent = <&gic>;
+                               interrupts = <0 32 0>;
+                       };
+               };
+
+               pinctrl_1: pinctrl@12290000 {
+                       compatible = "samsung,exynos5260-pinctrl";
+                       reg = <0x12290000 0x1000>;
+                       interrupts = <0 157 0>;
+               };
+
+               pinctrl_2: pinctrl@128B0000 {
+                       compatible = "samsung,exynos5260-pinctrl";
+                       reg = <0x128B0000 0x1000>;
+                       interrupts = <0 243 0>;
+               };
+
+               uart0: serial@12C00000 {
+                       compatible = "samsung,exynos4210-uart";
+                       reg = <0x12C00000 0x100>;
+                       interrupts = <0 146 0>;
+                       clocks = <&clock_peri PERI_CLK_UART0>, <&clock_peri PERI_SCLK_UART0>;
+                       clock-names = "uart", "clk_uart_baud0";
+                       status = "disabled";
+               };
+
+               uart1: serial@12C10000 {
+                       compatible = "samsung,exynos4210-uart";
+                       reg = <0x12C10000 0x100>;
+                       interrupts = <0 147 0>;
+                       clocks = <&clock_peri PERI_CLK_UART1>, <&clock_peri PERI_SCLK_UART1>;
+                       clock-names = "uart", "clk_uart_baud0";
+                       status = "disabled";
+               };
+
+               uart2: serial@12C20000 {
+                       compatible = "samsung,exynos4210-uart";
+                       reg = <0x12C20000 0x100>;
+                       interrupts = <0 148 0>;
+                       clocks = <&clock_peri PERI_CLK_UART2>, <&clock_peri PERI_SCLK_UART2>;
+                       clock-names = "uart", "clk_uart_baud0";
+                       status = "disabled";
+               };
+
+               uart3: serial@12860000 {
+                       compatible = "samsung,exynos4210-uart";
+                       reg = <0x12860000 0x100>;
+                       interrupts = <0 145 0>;
+                       clocks = <&clock_aud AUD_CLK_AUD_UART>, <&clock_aud AUD_SCLK_AUD_UART>;
+                       clock-names = "uart", "clk_uart_baud0";
+                       status = "disabled";
+               };
+
+               mmc_0: mmc@12140000 {
+                       compatible = "samsung,exynos5250-dw-mshc";
+                       reg = <0x12140000 0x2000>;
+                       interrupts = <0 156 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&clock_fsys FSYS_CLK_MMC0>, <&clock_top TOP_SCLK_MMC0>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <64>;
+                       status = "disabled";
+               };
+
+               mmc_1: mmc@12150000 {
+                       compatible = "samsung,exynos5250-dw-mshc";
+                       reg = <0x12150000 0x2000>;
+                       interrupts = <0 158 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&clock_fsys FSYS_CLK_MMC1>, <&clock_top TOP_SCLK_MMC1>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <64>;
+                       status = "disabled";
+               };
+
+               mmc_2: mmc@12160000 {
+                       compatible = "samsung,exynos5250-dw-mshc";
+                       reg = <0x12160000 0x2000>;
+                       interrupts = <0 159 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&clock_fsys FSYS_CLK_MMC2>, <&clock_top TOP_SCLK_MMC2>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <64>;
+                       status = "disabled";
+               };
+       };
+};
+
+#include "exynos5260-pinctrl.dtsi"
diff --git a/arch/arm/boot/dts/exynos5410-smdk5410.dts b/arch/arm/boot/dts/exynos5410-smdk5410.dts
new file mode 100644 (file)
index 0000000..7275bbd
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * SAMSUNG SMDK5410 board device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.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.
+*/
+
+/dts-v1/;
+#include "exynos5410.dtsi"
+/ {
+       model = "Samsung SMDK5410 board based on EXYNOS5410";
+       compatible = "samsung,smdk5410", "samsung,exynos5410", "samsung,exynos5";
+
+       memory {
+               reg = <0x40000000 0x80000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttySAC2,115200";
+       };
+
+       fin_pll: xxti {
+               compatible = "fixed-clock";
+               clock-frequency = <24000000>;
+               clock-output-names = "fin_pll";
+               #clock-cells = <0>;
+       };
+
+       firmware@02037000 {
+               compatible = "samsung,secure-firmware";
+               reg = <0x02037000 0x1000>;
+       };
+
+};
+
+&mmc_0 {
+       status = "okay";
+       num-slots = <1>;
+       supports-highspeed;
+       broken-cd;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+
+       slot@0 {
+               reg = <0>;
+               bus-width = <8>;
+       };
+};
+
+&mmc_2 {
+       status = "okay";
+       num-slots = <1>;
+       supports-highspeed;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+
+       slot@0 {
+               reg = <0>;
+               bus-width = <4>;
+               disable-wp;
+       };
+};
+
+&uart0 {
+               status = "okay";
+};
+
+&uart1 {
+               status = "okay";
+};
+
+&uart2 {
+               status = "okay";
+};
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
new file mode 100644 (file)
index 0000000..3839c26
--- /dev/null
@@ -0,0 +1,206 @@
+/*
+ * SAMSUNG EXYNOS5410 SoC device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * SAMSUNG EXYNOS5410 SoC device nodes are listed in this file.
+ * EXYNOS5410 based board files can include this file and provide
+ * values for board specfic bindings.
+ *
+ * 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"
+#include <dt-bindings/clock/exynos5410.h>
+
+/ {
+       compatible = "samsung,exynos5410", "samsung,exynos5";
+       interrupt-parent = <&gic>;
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               CPU0: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a15";
+                       reg = <0x0>;
+               };
+
+               CPU1: cpu@1 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a15";
+                       reg = <0x1>;
+               };
+
+               CPU2: cpu@2 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a15";
+                       reg = <0x2>;
+               };
+
+               CPU3: cpu@3 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a15";
+                       reg = <0x3>;
+               };
+       };
+
+       soc: soc {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               combiner: interrupt-controller@10440000 {
+                       compatible = "samsung,exynos4210-combiner";
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       samsung,combiner-nr = <32>;
+                       reg = <0x10440000 0x1000>;
+                       interrupts =    <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
+                                       <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
+                                       <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
+                                       <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>,
+                                       <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>,
+                                       <0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>,
+                                       <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>,
+                                       <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>;
+               };
+
+               gic: interrupt-controller@10481000 {
+                       compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
+                       #interrupt-cells = <3>;
+                       interrupt-controller;
+                       reg =   <0x10481000 0x1000>,
+                               <0x10482000 0x1000>,
+                               <0x10484000 0x2000>,
+                               <0x10486000 0x2000>;
+                       interrupts = <1 9 0xf04>;
+               };
+
+               chipid@10000000 {
+                       compatible = "samsung,exynos4210-chipid";
+                       reg = <0x10000000 0x100>;
+               };
+
+               mct: mct@101C0000 {
+                       compatible = "samsung,exynos4210-mct";
+                       reg = <0x101C0000 0xB00>;
+                       interrupt-parent = <&interrupt_map>;
+                       interrupts = <0>, <1>, <2>, <3>,
+                               <4>, <5>, <6>, <7>,
+                               <8>, <9>, <10>, <11>;
+                       clocks = <&fin_pll>, <&clock CLK_MCT>;
+                       clock-names = "fin_pll", "mct";
+
+                       interrupt_map: interrupt-map {
+                               #interrupt-cells = <1>;
+                               #address-cells = <0>;
+                               #size-cells = <0>;
+                               interrupt-map = <0 &combiner 23 3>,
+                                               <1 &combiner 23 4>,
+                                               <2 &combiner 25 2>,
+                                               <3 &combiner 25 3>,
+                                               <4 &gic 0 120 0>,
+                                               <5 &gic 0 121 0>,
+                                               <6 &gic 0 122 0>,
+                                               <7 &gic 0 123 0>,
+                                               <8 &gic 0 128 0>,
+                                               <9 &gic 0 129 0>,
+                                               <10 &gic 0 130 0>,
+                                               <11 &gic 0 131 0>;
+                       };
+               };
+
+               sysram@02020000 {
+                       compatible = "mmio-sram";
+                       reg = <0x02020000 0x54000>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x02020000 0x54000>;
+
+                       smp-sysram@0 {
+                               compatible = "samsung,exynos4210-sysram";
+                               reg = <0x0 0x1000>;
+                       };
+
+                       smp-sysram@53000 {
+                               compatible = "samsung,exynos4210-sysram-ns";
+                               reg = <0x53000 0x1000>;
+                       };
+               };
+
+               clock: clock-controller@10010000 {
+                       compatible = "samsung,exynos5410-clock";
+                       reg = <0x10010000 0x30000>;
+                       #clock-cells = <1>;
+               };
+
+               mmc_0: mmc@12200000 {
+                       compatible = "samsung,exynos5250-dw-mshc";
+                       reg = <0x12200000 0x1000>;
+                       interrupts = <0 75 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&clock CLK_MMC0>, <&clock CLK_SCLK_MMC0>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <0x80>;
+                       status = "disabled";
+               };
+
+               mmc_1: mmc@12210000 {
+                       compatible = "samsung,exynos5250-dw-mshc";
+                       reg = <0x12210000 0x1000>;
+                       interrupts = <0 76 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&clock CLK_MMC1>, <&clock CLK_SCLK_MMC1>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <0x80>;
+                       status = "disabled";
+               };
+
+               mmc_2: mmc@12220000 {
+                       compatible = "samsung,exynos5250-dw-mshc";
+                       reg = <0x12220000 0x1000>;
+                       interrupts = <0 77 0>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&clock CLK_MMC2>, <&clock CLK_SCLK_MMC2>;
+                       clock-names = "biu", "ciu";
+                       fifo-depth = <0x80>;
+                       status = "disabled";
+               };
+
+               uart0: serial@12C00000 {
+                       compatible = "samsung,exynos4210-uart";
+                       reg = <0x12C00000 0x100>;
+                       interrupts = <0 51 0>;
+                       clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
+                       clock-names = "uart", "clk_uart_baud0";
+                       status = "disabled";
+               };
+
+               uart1: serial@12C10000 {
+                       compatible = "samsung,exynos4210-uart";
+                       reg = <0x12C10000 0x100>;
+                       interrupts = <0 52 0>;
+                       clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
+                       clock-names = "uart", "clk_uart_baud0";
+                       status = "disabled";
+               };
+
+               uart2: serial@12C20000 {
+                       compatible = "samsung,exynos4210-uart";
+                       reg = <0x12C20000 0x100>;
+                       interrupts = <0 53 0>;
+                       clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
+                       clock-names = "uart", "clk_uart_baud0";
+                       status = "disabled";
+               };
+       };
+};
index 6ee8149fd5c4940c27c5ac74903ee5e964014822..434fd9d3e09dc12f7065a9f96c45c896fd9f0158 100644 (file)
                bootargs = "console=ttySAC3,115200";
        };
 
+       firmware@02073000 {
+               compatible = "samsung,secure-firmware";
+               reg = <0x02073000 0x1000>;
+       };
+
        fixed-rate-clocks {
                oscclk {
                        compatible = "samsung,exynos5420-oscclk";
index 29f64de95ebf9e682ef0df3bf51ea3ae8bbdbc89..1c5b8f9f4a36345829d992344fbf4d686b067917 100644 (file)
        ddc = <&i2c_2>;
 };
 
-&usbdrd3_0 {
+&usbdrd_phy0 {
        vbus-supply = <&usb300_vbus_reg>;
 };
 
-&usbdrd3_1 {
+&usbdrd_phy1 {
        vbus-supply = <&usb301_vbus_reg>;
 };
 
index 84f77c2fe4d4cfe55d254ccc3c8bf7c48f73041e..ae3a17c791f6f530ad6c8b95d63fa862b2c24e82 100644 (file)
                clock-names = "i2c";
        };
 
-       watchdog {
+       watchdog@110000 {
                compatible = "samsung,s3c2410-wdt";
                reg = <0x110000 0x1000>;
                interrupts = <0 1 0>;
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
new file mode 100644 (file)
index 0000000..f3af207
--- /dev/null
@@ -0,0 +1,253 @@
+/*
+ * Google Peach Pi Rev 10+ board device tree source
+ *
+ * Copyright (c) 2014 Google, Inc
+ *
+ * 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 <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+#include "exynos5800.dtsi"
+
+/ {
+       model = "Google Peach Pi Rev 10+";
+
+       compatible = "google,pi-rev16",
+               "google,pi-rev15", "google,pi-rev14",
+               "google,pi-rev13", "google,pi-rev12",
+               "google,pi-rev11", "google,pi-rev10",
+               "google,pi", "google,peach", "samsung,exynos5800",
+               "samsung,exynos5";
+
+       memory {
+               reg = <0x20000000 0x80000000>;
+       };
+
+       fixed-rate-clocks {
+               oscclk {
+                       compatible = "samsung,exynos5420-oscclk";
+                       clock-frequency = <24000000>;
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&power_key_irq>;
+
+               power {
+                       label = "Power";
+                       gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_POWER>;
+                       gpio-key,wakeup;
+               };
+       };
+
+       backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm 0 1000000 0>;
+               brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
+               default-brightness-level = <7>;
+               pinctrl-0 = <&pwm0_out>;
+               pinctrl-names = "default";
+       };
+
+       usb300_vbus_reg: regulator-usb300 {
+               compatible = "regulator-fixed";
+               regulator-name = "P5.0V_USB3CON0";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gph0 0 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&usb300_vbus_en>;
+               enable-active-high;
+       };
+
+       usb301_vbus_reg: regulator-usb301 {
+               compatible = "regulator-fixed";
+               regulator-name = "P5.0V_USB3CON1";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gph0 1 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&usb301_vbus_en>;
+               enable-active-high;
+       };
+};
+
+&pinctrl_0 {
+       tpm_irq: tpm-irq {
+               samsung,pins = "gpx1-0";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       power_key_irq: power-key-irq {
+               samsung,pins = "gpx1-2";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       dp_hpd_gpio: dp_hpd_gpio {
+               samsung,pins = "gpx2-6";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       hdmi_hpd_irq: hdmi-hpd-irq {
+               samsung,pins = "gpx3-7";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <1>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&pinctrl_3 {
+       usb300_vbus_en: usb300-vbus-en {
+               samsung,pins = "gph0-0";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       usb301_vbus_en: usb301-vbus-en {
+               samsung,pins = "gph0-1";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&rtc {
+       status = "okay";
+};
+
+&uart_3 {
+       status = "okay";
+};
+
+&mmc_0 {
+       status = "okay";
+       num-slots = <1>;
+       broken-cd;
+       caps2-mmc-hs200-1_8v;
+       supports-highspeed;
+       non-removable;
+       card-detect-delay = <200>;
+       clock-frequency = <400000000>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <0 4>;
+       samsung,dw-mshc-ddr-timing = <0 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
+
+       slot@0 {
+               reg = <0>;
+               bus-width = <8>;
+       };
+};
+
+&mmc_2 {
+       status = "okay";
+       num-slots = <1>;
+       supports-highspeed;
+       card-detect-delay = <200>;
+       clock-frequency = <400000000>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
+
+       slot@0 {
+               reg = <0>;
+               bus-width = <4>;
+       };
+};
+
+&dp {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&dp_hpd_gpio>;
+       samsung,color-space = <0>;
+       samsung,dynamic-range = <0>;
+       samsung,ycbcr-coeff = <0>;
+       samsung,color-depth = <1>;
+       samsung,link-rate = <0x0a>;
+       samsung,lane-count = <2>;
+       samsung,hpd-gpio = <&gpx2 6 0>;
+
+       display-timings {
+               native-mode = <&timing1>;
+
+               timing1: timing@1 {
+                       clock-frequency = <150660000>;
+                       hactive = <1920>;
+                       vactive = <1080>;
+                       hfront-porch = <60>;
+                       hback-porch = <172>;
+                       hsync-len = <80>;
+                       vback-porch = <25>;
+                       vfront-porch = <10>;
+                       vsync-len = <10>;
+               };
+       };
+};
+
+&fimd {
+       status = "okay";
+       samsung,invert-vclk;
+};
+
+&hsi2c_9 {
+       status = "okay";
+       clock-frequency = <400000>;
+
+       tpm@20 {
+               compatible = "infineon,slb9645tt";
+               reg = <0x20>;
+               /* Unused irq; but still need to configure the pins */
+               pinctrl-names = "default";
+               pinctrl-0 = <&tpm_irq>;
+       };
+};
+
+&i2c_2 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+       samsung,i2c-slave-addr = <0x50>;
+};
+
+&hdmi {
+       status = "okay";
+       hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&hdmi_hpd_irq>;
+       ddc = <&i2c_2>;
+};
+
+&usbdrd_phy0 {
+       vbus-supply = <&usb300_vbus_reg>;
+};
+
+&usbdrd_phy1 {
+       vbus-supply = <&usb301_vbus_reg>;
+};
+
+/*
+ * Use longest HW watchdog in SoC (32 seconds) since the hardware
+ * watchdog provides no debugging information (compared to soft/hard
+ * lockup detectors) and so should be last resort.
+ */
+&watchdog {
+       timeout-sec = <32>;
+};
diff --git a/arch/arm/boot/dts/exynos5800.dtsi b/arch/arm/boot/dts/exynos5800.dtsi
new file mode 100644 (file)
index 0000000..c0bb356
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * SAMSUNG EXYNOS5800 SoC device tree source
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * SAMSUNG EXYNOS5800 SoC device nodes are listed in this file.
+ * EXYNOS5800 based board files can include this file and provide
+ * values for board specfic bindings.
+ *
+ * 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 "exynos5420.dtsi"
+
+/ {
+       compatible = "samsung,exynos5800", "samsung,exynos5";
+};
+
+&clock {
+       compatible = "samsung,exynos5800-clock";
+};
+
+&mfc {
+       compatible = "samsung,mfc-v8";
+};