Thread (63 messages) 63 messages, 12 authors, 2013-06-17

[PATCH 03/13] ARM: dts: fork out common Exynos5 nodes

From: Chander Kashyap <hidden>
Date: 2013-06-11 13:49:04
Also in: linux-devicetree, linux-samsung-soc, linux-serial

On 8 June 2013 16:42, Tomasz Figa [off-list ref] wrote:
Hi Chander,

On Thursday 06 of June 2013 16:31:17 Chander Kashyap wrote:
quoted
In preparation of adding support for Exynos5420, which has many
peripherals similar to Exynos5250, a new common Exynos5 device tree
source file is created out of the existing Exynos5250 device tree
source file. Only the common nodes required for basic boot up on
Exynos5420 based boards are moved into this new file and the rest of
the common nodes would be moved subsequently.

Signed-off-by: Chander Kashyap <redacted>
---
 arch/arm/boot/dts/exynos5.dtsi    |  121
+++++++++++++++++++++++++++++++++++++ arch/arm/boot/dts/exynos5250.dtsi
|   74 +---------------------- 2 files changed, 122 insertions(+), 73
deletions(-)
 create mode 100644 arch/arm/boot/dts/exynos5.dtsi
diff --git a/arch/arm/boot/dts/exynos5.dtsi
b/arch/arm/boot/dts/exynos5.dtsi new file mode 100644
index 0000000..ab56608
--- /dev/null
+++ b/arch/arm/boot/dts/exynos5.dtsi
@@ -0,0 +1,121 @@
+/*
+ * Samsung's Exynos5 SoC series common device tree source
+ *
+ * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
+ *           http://www.samsung.com
+ *
+ * Samsung's Exynos5 SoC series device nodes are listed in this file.
Particular + * SoCs from Exynos5 series can include this file and
provide values for SoCs + * 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"
+
+/ {
+     interrupt-parent = <&gic>;
+
+     chipid at 10000000 {
+             compatible = "samsung,exynos4210-chipid";
+             reg = <0x10000000 0x100>;
+     };
+
+     gic:interrupt-controller at 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>;
+     };
+
+     combiner:interrupt-controller at 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>;
+     };
+
+     watchdog {
+             compatible = "samsung,s3c2410-wdt";
+             reg = <0x101D0000 0x100>;
+             interrupts = <0 42 0>;
+             clock-names = "watchdog";
+             status = "disabled";
+     };
+
+     rtc {
+             compatible = "samsung,s3c6410-rtc";
+             reg = <0x101E0000 0x100>;
+             interrupts = <0 43 0>, <0 44 0>;
+             clock-names = "rtc";
+             status = "disabled";
+     };
+
+     serial at 12C00000 {
+             compatible = "samsung,exynos4210-uart";
+             reg = <0x12C00000 0x100>;
+             interrupts = <0 51 0>;
+             clock-names = "uart", "clk_uart_baud0";
+     };
+
+     serial at 12C10000 {
+             compatible = "samsung,exynos4210-uart";
+             reg = <0x12C10000 0x100>;
+             interrupts = <0 52 0>;
+             clock-names = "uart", "clk_uart_baud0";
+     };
+
+     serial at 12C20000 {
+             compatible = "samsung,exynos4210-uart";
+             reg = <0x12C20000 0x100>;
+             interrupts = <0 53 0>;
+             clock-names = "uart", "clk_uart_baud0";
+     };
+
+     serial at 12C30000 {
+             compatible = "samsung,exynos4210-uart";
+             reg = <0x12C30000 0x100>;
+             interrupts = <0 54 0>;
+             clock-names = "uart", "clk_uart_baud0";
+     };
+
+     dwmmc_0: dwmmc0 at 12200000 {
+             compatible = "samsung,exynos5250-dw-mshc";
+             interrupts = <0 75 0>;
+             #address-cells = <1>;
+             #size-cells = <0>;
+             clock-names = "biu", "ciu";
+     };
+
+     dwmmc_1: dwmmc1 at 12210000 {
+             compatible = "samsung,exynos5250-dw-mshc";
+             interrupts = <0 76 0>;
+             #address-cells = <1>;
+             #size-cells = <0>;
+             clock-names = "biu", "ciu";
+     };
+
+     dwmmc_2: dwmmc2 at 12220000 {
+             compatible = "samsung,exynos5250-dw-mshc";
+             interrupts = <0 77 0>;
+             #address-cells = <1>;
+             #size-cells = <0>;
+             clock-names = "biu", "ciu";
+             status = "disabled";
+     };
If you are at adding new file, maybe it would be a good idea to sort the
nodes somehow, e.g. by @address or name. I'm not sure if there is some
rule, but it would improve maintainability of the file.
I will place in sorted order and resend.
CCing people that might know more than me on this matter and also
devicetree-discuss mailing list (which should be CCed for _every_ patch
which does something related to DeviceTree - please remember about this).
quoted
+};
diff --git a/arch/arm/boot/dts/exynos5250.dtsi
b/arch/arm/boot/dts/exynos5250.dtsi index 4bd9e9c..e571d3b 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -17,12 +17,11 @@
  * published by the Free Software Foundation.
 */

-/include/ "skeleton.dtsi"
+/include/ "exynos5.dtsi"
 /include/ "exynos5250-pinctrl.dtsi"

 / {
      compatible = "samsung,exynos5250";
-     interrupt-parent = <&gic>;

      aliases {
              spi0 = &spi_0;
@@ -51,11 +50,6 @@
              pinctrl3 = &pinctrl_3;
      };

-     chipid at 10000000 {
-             compatible = "samsung,exynos4210-chipid";
-             reg = <0x10000000 0x100>;
-     };
-
      pd_gsc: gsc-power-domain at 0x10044000 {
              compatible = "samsung,exynos4210-pd";
              reg = <0x10044000 0x20>;
@@ -72,17 +66,6 @@
              #clock-cells = <1>;
      };

-     gic:interrupt-controller at 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>;
-     };
-
      timer {
              compatible = "arm,armv7-timer";
              interrupts = <1 13 0xf08>,
@@ -91,22 +74,6 @@
                           <1 10 0xf08>;
      };

-     combiner:interrupt-controller at 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>;
-     };
-
      mct at 101C0000 {
              compatible = "samsung,exynos4210-mct";
              reg = <0x101C0000 0x800>;
@@ -168,11 +135,7 @@
      };

      watchdog {
-             compatible = "samsung,s3c2410-wdt";
-             reg = <0x101D0000 0x100>;
-             interrupts = <0 42 0>;
              clocks = <&clock 336>;
-             clock-names = "watchdog";
I would keep the clock-names property here, because it increases
readability and is complementary to the clocks property.
Yes, thanks for pointing out. Will place clock names and number at same place.
quoted
      };

      codec at 11000000 {
@@ -183,12 +146,8 @@
      };

      rtc {
-             compatible = "samsung,s3c6410-rtc";
-             reg = <0x101E0000 0x100>;
-             interrupts = <0 43 0>, <0 44 0>;
              clocks = <&clock 337>;
              clock-names = "rtc";
Yes, just like here :) .
quoted
-             status = "disabled";
      };

      tmu at 10060000 {
@@ -200,35 +159,19 @@
      };

      serial at 12C00000 {
-             compatible = "samsung,exynos4210-uart";
-             reg = <0x12C00000 0x100>;
-             interrupts = <0 51 0>;
              clocks = <&clock 289>, <&clock 146>;
-             clock-names = "uart", "clk_uart_baud0";
Ditto.
quoted
      };

      serial at 12C10000 {
-             compatible = "samsung,exynos4210-uart";
-             reg = <0x12C10000 0x100>;
-             interrupts = <0 52 0>;
              clocks = <&clock 290>, <&clock 147>;
-             clock-names = "uart", "clk_uart_baud0";
Ditto.
quoted
      };

      serial at 12C20000 {
-             compatible = "samsung,exynos4210-uart";
-             reg = <0x12C20000 0x100>;
-             interrupts = <0 53 0>;
              clocks = <&clock 291>, <&clock 148>;
-             clock-names = "uart", "clk_uart_baud0";
Ditto.
quoted
      };

      serial at 12C30000 {
-             compatible = "samsung,exynos4210-uart";
-             reg = <0x12C30000 0x100>;
-             interrupts = <0 54 0>;
              clocks = <&clock 292>, <&clock 149>;
-             clock-names = "uart", "clk_uart_baud0";
Ditto.
quoted
      };

      sata at 122F0000 {
@@ -405,33 +348,18 @@
      };

      dwmmc_0: dwmmc0 at 12200000 {
-             compatible = "samsung,exynos5250-dw-mshc";
              reg = <0x12200000 0x1000>;
-             interrupts = <0 75 0>;
-             #address-cells = <1>;
-             #size-cells = <0>;
              clocks = <&clock 280>, <&clock 139>;
-             clock-names = "biu", "ciu";
Ditto.
quoted
      };

      dwmmc_1: dwmmc1 at 12210000 {
-             compatible = "samsung,exynos5250-dw-mshc";
              reg = <0x12210000 0x1000>;
-             interrupts = <0 76 0>;
-             #address-cells = <1>;
-             #size-cells = <0>;
              clocks = <&clock 281>, <&clock 140>;
-             clock-names = "biu", "ciu";
Ditto.
quoted
      };

      dwmmc_2: dwmmc2 at 12220000 {
-             compatible = "samsung,exynos5250-dw-mshc";
              reg = <0x12220000 0x1000>;
-             interrupts = <0 77 0>;
-             #address-cells = <1>;
-             #size-cells = <0>;
              clocks = <&clock 282>, <&clock 141>;
-             clock-names = "biu", "ciu";
Ditto.

Best regards,
Tomasz
quoted
      };

      dwmmc_3: dwmmc3 at 12230000 {

Thanks for the review.
--
with warm regards,
Chander Kashyap
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help