* [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree
@ 2012-08-30 7:31 Tomasz Figa
2012-08-30 7:31 ` [PATCH 1/6] ARM: dts: Move parts common to Exynos4 from Exynos4210.dtsi to Exynos4.dtsi Tomasz Figa
` (6 more replies)
0 siblings, 7 replies; 16+ messages in thread
From: Tomasz Figa @ 2012-08-30 7:31 UTC (permalink / raw)
To: linux-arm-kernel
This patch series adds basic device tree support for Samsung Trats board
along with any necessary prerequisites.
In addition it refactors Exynos4 dts include files to split parts common to
the whole Exynos4 part from parts specific to Exynos4210 to allow further
extension of Exynos4210 dts include file and addition of include files for
other SoCs from Exynos4 line.
Dependencies:
-> [PATCH v5] mmc: sdhci-s3c: Add device tree support
http://www.spinics.net/lists/linux-samsung-soc/msg12056.html
-> [PATCH v5 2/2] regulator: add device tree support for max8997
http://www.spinics.net/lists/kernel/msg1328117.html
This is a resend, because previous messages somehow did not get to the mailing
lists.
Tomasz Figa (6):
ARM: dts: Move parts common to Exynos4 from Exynos4210.dtsi to
Exynos4.dtsi
ARM: EXYNOS: exynos4-dt: Use exynos4 prefix instead of exynos4210
ARM: Exynos4: dts: Specify address and size cells for i2c controllers
ARM: Exynos4: Add OF compatibility lookups for Exynos4 i2c adapters
ARM: EXYNOS: Increase maximum possible memory bank size to 512MiB
ARM: Exynos: Add basic dts file for Samsung Trats board
arch/arm/boot/dts/exynos4.dtsi | 418 +++++++++++++++++++++++++++++
arch/arm/boot/dts/exynos4210-trats.dts | 287 ++++++++++++++++++++
arch/arm/boot/dts/exynos4210.dtsi | 377 +-------------------------
arch/arm/mach-exynos/Makefile.boot | 2 +-
arch/arm/mach-exynos/include/mach/memory.h | 4 +-
arch/arm/mach-exynos/mach-exynos4-dt.c | 34 ++-
6 files changed, 734 insertions(+), 388 deletions(-)
create mode 100644 arch/arm/boot/dts/exynos4.dtsi
create mode 100644 arch/arm/boot/dts/exynos4210-trats.dts
--
1.7.12
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/6] ARM: dts: Move parts common to Exynos4 from Exynos4210.dtsi to Exynos4.dtsi
2012-08-30 7:31 [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Tomasz Figa
@ 2012-08-30 7:31 ` Tomasz Figa
2012-08-31 3:48 ` Thomas Abraham
2012-08-30 7:31 ` [PATCH 2/6] ARM: EXYNOS: exynos4-dt: Use exynos4 prefix instead of exynos4210 Tomasz Figa
` (5 subsequent siblings)
6 siblings, 1 reply; 16+ messages in thread
From: Tomasz Figa @ 2012-08-30 7:31 UTC (permalink / raw)
To: linux-arm-kernel
Most definitions from Exynos4210.dtsi can be applied for other SoCs from
Exynos4 line as well, so move the common part into separate file that
can be included by dtsi files of other Exynos4 SoCs (as well as current
Exynos4210.dtsi).
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/boot/dts/exynos4.dtsi | 402 ++++++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/exynos4210.dtsi | 377 +----------------------------------
2 files changed, 403 insertions(+), 376 deletions(-)
create mode 100644 arch/arm/boot/dts/exynos4.dtsi
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
new file mode 100644
index 0000000..5e99503
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4.dtsi
@@ -0,0 +1,402 @@
+/*
+ * Samsung's Exynos4 SoC series common device tree source
+ *
+ * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ * Copyright (c) 2010-2011 Linaro Ltd.
+ * www.linaro.org
+ *
+ * Samsung's Exynos4 SoC series device nodes are listed in this file. Particular
+ * SoCs from Exynos4 series can include this file and provide values for SoCs
+ * specfic bindings.
+ *
+ * Note: This file does not include device nodes for all the controllers in
+ * Exynos4 SoCs. As device tree coverage for Exynos4 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"
+
+/ {
+ interrupt-parent = <&gic>;
+
+ aliases {
+ spi0 = &spi_0;
+ spi1 = &spi_1;
+ spi2 = &spi_2;
+ };
+
+ gic:interrupt-controller at 10490000 {
+ compatible = "arm,cortex-a9-gic";
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ cpu-offset = <0x8000>;
+ reg = <0x10490000 0x1000>, <0x10480000 0x100>;
+ };
+
+ combiner:interrupt-controller at 10440000 {
+ compatible = "samsung,exynos4210-combiner";
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ 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>;
+ };
+
+ watchdog at 10060000 {
+ compatible = "samsung,s3c2410-wdt";
+ reg = <0x10060000 0x100>;
+ interrupts = <0 43 0>;
+ };
+
+ rtc at 10070000 {
+ compatible = "samsung,s3c6410-rtc";
+ reg = <0x10070000 0x100>;
+ interrupts = <0 44 0>, <0 45 0>;
+ };
+
+ keypad at 100A0000 {
+ compatible = "samsung,s5pv210-keypad";
+ reg = <0x100A0000 0x100>;
+ interrupts = <0 109 0>;
+ };
+
+ sdhci at 12510000 {
+ compatible = "samsung,exynos4210-sdhci";
+ reg = <0x12510000 0x100>;
+ interrupts = <0 73 0>;
+ };
+
+ sdhci at 12520000 {
+ compatible = "samsung,exynos4210-sdhci";
+ reg = <0x12520000 0x100>;
+ interrupts = <0 74 0>;
+ };
+
+ sdhci at 12530000 {
+ compatible = "samsung,exynos4210-sdhci";
+ reg = <0x12530000 0x100>;
+ interrupts = <0 75 0>;
+ };
+
+ sdhci at 12540000 {
+ compatible = "samsung,exynos4210-sdhci";
+ reg = <0x12540000 0x100>;
+ interrupts = <0 76 0>;
+ };
+
+ serial at 13800000 {
+ compatible = "samsung,exynos4210-uart";
+ reg = <0x13800000 0x100>;
+ interrupts = <0 52 0>;
+ };
+
+ serial at 13810000 {
+ compatible = "samsung,exynos4210-uart";
+ reg = <0x13810000 0x100>;
+ interrupts = <0 53 0>;
+ };
+
+ serial at 13820000 {
+ compatible = "samsung,exynos4210-uart";
+ reg = <0x13820000 0x100>;
+ interrupts = <0 54 0>;
+ };
+
+ serial at 13830000 {
+ compatible = "samsung,exynos4210-uart";
+ reg = <0x13830000 0x100>;
+ interrupts = <0 55 0>;
+ };
+
+ i2c at 13860000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x13860000 0x100>;
+ interrupts = <0 58 0>;
+ };
+
+ i2c at 13870000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x13870000 0x100>;
+ interrupts = <0 59 0>;
+ };
+
+ i2c at 13880000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x13880000 0x100>;
+ interrupts = <0 60 0>;
+ };
+
+ i2c at 13890000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x13890000 0x100>;
+ interrupts = <0 61 0>;
+ };
+
+ i2c at 138A0000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x138A0000 0x100>;
+ interrupts = <0 62 0>;
+ };
+
+ i2c at 138B0000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x138B0000 0x100>;
+ interrupts = <0 63 0>;
+ };
+
+ i2c at 138C0000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x138C0000 0x100>;
+ interrupts = <0 64 0>;
+ };
+
+ i2c at 138D0000 {
+ compatible = "samsung,s3c2440-i2c";
+ reg = <0x138D0000 0x100>;
+ interrupts = <0 65 0>;
+ };
+
+ spi_0: spi at 13920000 {
+ compatible = "samsung,exynos4210-spi";
+ reg = <0x13920000 0x100>;
+ interrupts = <0 66 0>;
+ tx-dma-channel = <&pdma0 7>; /* preliminary */
+ rx-dma-channel = <&pdma0 6>; /* preliminary */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ spi_1: spi at 13930000 {
+ compatible = "samsung,exynos4210-spi";
+ reg = <0x13930000 0x100>;
+ interrupts = <0 67 0>;
+ tx-dma-channel = <&pdma1 7>; /* preliminary */
+ rx-dma-channel = <&pdma1 6>; /* preliminary */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ spi_2: spi at 13940000 {
+ compatible = "samsung,exynos4210-spi";
+ reg = <0x13940000 0x100>;
+ interrupts = <0 68 0>;
+ tx-dma-channel = <&pdma0 9>; /* preliminary */
+ rx-dma-channel = <&pdma0 8>; /* preliminary */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ amba {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "arm,amba-bus";
+ interrupt-parent = <&gic>;
+ ranges;
+
+ pdma0: pdma at 12680000 {
+ compatible = "arm,pl330", "arm,primecell";
+ reg = <0x12680000 0x1000>;
+ interrupts = <0 35 0>;
+ };
+
+ pdma1: pdma at 12690000 {
+ compatible = "arm,pl330", "arm,primecell";
+ reg = <0x12690000 0x1000>;
+ interrupts = <0 36 0>;
+ };
+ };
+
+ gpio-controllers {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ gpio-controller;
+ ranges;
+
+ gpa0: gpio-controller at 11400000 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11400000 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpa1: gpio-controller at 11400020 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11400020 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpb: gpio-controller at 11400040 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11400040 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpc0: gpio-controller at 11400060 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11400060 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpc1: gpio-controller at 11400080 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11400080 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpd0: gpio-controller at 114000A0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x114000A0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpd1: gpio-controller at 114000C0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x114000C0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpf0: gpio-controller at 11400180 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11400180 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpf1: gpio-controller at 114001A0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x114001A0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpf2: gpio-controller at 114001C0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x114001C0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpf3: gpio-controller at 114001E0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x114001E0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpk0: gpio-controller at 11000040 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000040 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpk1: gpio-controller at 11000060 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000060 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpk2: gpio-controller at 11000080 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000080 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpk3: gpio-controller at 110000A0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x110000A0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpl0: gpio-controller at 110000C0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x110000C0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpl1: gpio-controller at 110000E0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x110000E0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpl2: gpio-controller at 11000100 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000100 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpy0: gpio-controller at 11000120 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000120 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpy1: gpio-controller at 11000140 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000140 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpy2: gpio-controller at 11000160 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000160 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpy3: gpio-controller at 11000180 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000180 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpy4: gpio-controller at 110001A0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x110001A0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpy5: gpio-controller at 110001C0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x110001C0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpy6: gpio-controller at 110001E0 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x110001E0 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpx0: gpio-controller at 11000C00 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000C00 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpx1: gpio-controller at 11000C20 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000C20 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpx2: gpio-controller at 11000C40 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000C40 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpx3: gpio-controller at 11000C60 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x11000C60 0x20>;
+ #gpio-cells = <4>;
+ };
+
+ gpz: gpio-controller at 03860000 {
+ compatible = "samsung,exynos4-gpio";
+ reg = <0x03860000 0x20>;
+ #gpio-cells = <4>;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
index 02891fe..4672367 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -19,249 +19,12 @@
* published by the Free Software Foundation.
*/
-/include/ "skeleton.dtsi"
+/include/ "exynos4.dtsi"
/ {
compatible = "samsung,exynos4210";
- interrupt-parent = <&gic>;
-
- aliases {
- spi0 = &spi_0;
- spi1 = &spi_1;
- spi2 = &spi_2;
- };
-
- gic:interrupt-controller at 10490000 {
- compatible = "arm,cortex-a9-gic";
- #interrupt-cells = <3>;
- interrupt-controller;
- cpu-offset = <0x8000>;
- reg = <0x10490000 0x1000>, <0x10480000 0x100>;
- };
-
- combiner:interrupt-controller at 10440000 {
- compatible = "samsung,exynos4210-combiner";
- #interrupt-cells = <2>;
- interrupt-controller;
- 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>;
- };
-
- watchdog at 10060000 {
- compatible = "samsung,s3c2410-wdt";
- reg = <0x10060000 0x100>;
- interrupts = <0 43 0>;
- };
-
- rtc at 10070000 {
- compatible = "samsung,s3c6410-rtc";
- reg = <0x10070000 0x100>;
- interrupts = <0 44 0>, <0 45 0>;
- };
-
- keypad at 100A0000 {
- compatible = "samsung,s5pv210-keypad";
- reg = <0x100A0000 0x100>;
- interrupts = <0 109 0>;
- };
-
- sdhci at 12510000 {
- compatible = "samsung,exynos4210-sdhci";
- reg = <0x12510000 0x100>;
- interrupts = <0 73 0>;
- };
-
- sdhci at 12520000 {
- compatible = "samsung,exynos4210-sdhci";
- reg = <0x12520000 0x100>;
- interrupts = <0 74 0>;
- };
-
- sdhci at 12530000 {
- compatible = "samsung,exynos4210-sdhci";
- reg = <0x12530000 0x100>;
- interrupts = <0 75 0>;
- };
-
- sdhci at 12540000 {
- compatible = "samsung,exynos4210-sdhci";
- reg = <0x12540000 0x100>;
- interrupts = <0 76 0>;
- };
-
- serial at 13800000 {
- compatible = "samsung,exynos4210-uart";
- reg = <0x13800000 0x100>;
- interrupts = <0 52 0>;
- };
-
- serial at 13810000 {
- compatible = "samsung,exynos4210-uart";
- reg = <0x13810000 0x100>;
- interrupts = <0 53 0>;
- };
-
- serial at 13820000 {
- compatible = "samsung,exynos4210-uart";
- reg = <0x13820000 0x100>;
- interrupts = <0 54 0>;
- };
-
- serial at 13830000 {
- compatible = "samsung,exynos4210-uart";
- reg = <0x13830000 0x100>;
- interrupts = <0 55 0>;
- };
-
- i2c at 13860000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x13860000 0x100>;
- interrupts = <0 58 0>;
- };
-
- i2c at 13870000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x13870000 0x100>;
- interrupts = <0 59 0>;
- };
-
- i2c at 13880000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x13880000 0x100>;
- interrupts = <0 60 0>;
- };
-
- i2c at 13890000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x13890000 0x100>;
- interrupts = <0 61 0>;
- };
-
- i2c at 138A0000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x138A0000 0x100>;
- interrupts = <0 62 0>;
- };
-
- i2c at 138B0000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x138B0000 0x100>;
- interrupts = <0 63 0>;
- };
-
- i2c at 138C0000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x138C0000 0x100>;
- interrupts = <0 64 0>;
- };
-
- i2c at 138D0000 {
- compatible = "samsung,s3c2440-i2c";
- reg = <0x138D0000 0x100>;
- interrupts = <0 65 0>;
- };
-
- spi_0: spi at 13920000 {
- compatible = "samsung,exynos4210-spi";
- reg = <0x13920000 0x100>;
- interrupts = <0 66 0>;
- tx-dma-channel = <&pdma0 7>; /* preliminary */
- rx-dma-channel = <&pdma0 6>; /* preliminary */
- #address-cells = <1>;
- #size-cells = <0>;
- };
-
- spi_1: spi at 13930000 {
- compatible = "samsung,exynos4210-spi";
- reg = <0x13930000 0x100>;
- interrupts = <0 67 0>;
- tx-dma-channel = <&pdma1 7>; /* preliminary */
- rx-dma-channel = <&pdma1 6>; /* preliminary */
- #address-cells = <1>;
- #size-cells = <0>;
- };
-
- spi_2: spi at 13940000 {
- compatible = "samsung,exynos4210-spi";
- reg = <0x13940000 0x100>;
- interrupts = <0 68 0>;
- tx-dma-channel = <&pdma0 9>; /* preliminary */
- rx-dma-channel = <&pdma0 8>; /* preliminary */
- #address-cells = <1>;
- #size-cells = <0>;
- };
-
- amba {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "arm,amba-bus";
- interrupt-parent = <&gic>;
- ranges;
-
- pdma0: pdma at 12680000 {
- compatible = "arm,pl330", "arm,primecell";
- reg = <0x12680000 0x1000>;
- interrupts = <0 35 0>;
- };
-
- pdma1: pdma at 12690000 {
- compatible = "arm,pl330", "arm,primecell";
- reg = <0x12690000 0x1000>;
- interrupts = <0 36 0>;
- };
- };
gpio-controllers {
- #address-cells = <1>;
- #size-cells = <1>;
- gpio-controller;
- ranges;
-
- gpa0: gpio-controller at 11400000 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11400000 0x20>;
- #gpio-cells = <4>;
- };
-
- gpa1: gpio-controller at 11400020 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11400020 0x20>;
- #gpio-cells = <4>;
- };
-
- gpb: gpio-controller at 11400040 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11400040 0x20>;
- #gpio-cells = <4>;
- };
-
- gpc0: gpio-controller at 11400060 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11400060 0x20>;
- #gpio-cells = <4>;
- };
-
- gpc1: gpio-controller at 11400080 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11400080 0x20>;
- #gpio-cells = <4>;
- };
-
- gpd0: gpio-controller at 114000A0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x114000A0 0x20>;
- #gpio-cells = <4>;
- };
-
- gpd1: gpio-controller at 114000C0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x114000C0 0x20>;
- #gpio-cells = <4>;
- };
-
gpe0: gpio-controller at 114000E0 {
compatible = "samsung,exynos4-gpio";
reg = <0x114000E0 0x20>;
@@ -292,30 +55,6 @@
#gpio-cells = <4>;
};
- gpf0: gpio-controller at 11400180 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11400180 0x20>;
- #gpio-cells = <4>;
- };
-
- gpf1: gpio-controller at 114001A0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x114001A0 0x20>;
- #gpio-cells = <4>;
- };
-
- gpf2: gpio-controller at 114001C0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x114001C0 0x20>;
- #gpio-cells = <4>;
- };
-
- gpf3: gpio-controller at 114001E0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x114001E0 0x20>;
- #gpio-cells = <4>;
- };
-
gpj0: gpio-controller at 11000000 {
compatible = "samsung,exynos4-gpio";
reg = <0x11000000 0x20>;
@@ -327,119 +66,5 @@
reg = <0x11000020 0x20>;
#gpio-cells = <4>;
};
-
- gpk0: gpio-controller at 11000040 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000040 0x20>;
- #gpio-cells = <4>;
- };
-
- gpk1: gpio-controller at 11000060 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000060 0x20>;
- #gpio-cells = <4>;
- };
-
- gpk2: gpio-controller at 11000080 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000080 0x20>;
- #gpio-cells = <4>;
- };
-
- gpk3: gpio-controller at 110000A0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x110000A0 0x20>;
- #gpio-cells = <4>;
- };
-
- gpl0: gpio-controller at 110000C0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x110000C0 0x20>;
- #gpio-cells = <4>;
- };
-
- gpl1: gpio-controller at 110000E0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x110000E0 0x20>;
- #gpio-cells = <4>;
- };
-
- gpl2: gpio-controller at 11000100 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000100 0x20>;
- #gpio-cells = <4>;
- };
-
- gpy0: gpio-controller at 11000120 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000120 0x20>;
- #gpio-cells = <4>;
- };
-
- gpy1: gpio-controller at 11000140 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000140 0x20>;
- #gpio-cells = <4>;
- };
-
- gpy2: gpio-controller at 11000160 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000160 0x20>;
- #gpio-cells = <4>;
- };
-
- gpy3: gpio-controller at 11000180 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000180 0x20>;
- #gpio-cells = <4>;
- };
-
- gpy4: gpio-controller at 110001A0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x110001A0 0x20>;
- #gpio-cells = <4>;
- };
-
- gpy5: gpio-controller at 110001C0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x110001C0 0x20>;
- #gpio-cells = <4>;
- };
-
- gpy6: gpio-controller at 110001E0 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x110001E0 0x20>;
- #gpio-cells = <4>;
- };
-
- gpx0: gpio-controller at 11000C00 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000C00 0x20>;
- #gpio-cells = <4>;
- };
-
- gpx1: gpio-controller at 11000C20 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000C20 0x20>;
- #gpio-cells = <4>;
- };
-
- gpx2: gpio-controller at 11000C40 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000C40 0x20>;
- #gpio-cells = <4>;
- };
-
- gpx3: gpio-controller at 11000C60 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x11000C60 0x20>;
- #gpio-cells = <4>;
- };
-
- gpz: gpio-controller at 03860000 {
- compatible = "samsung,exynos4-gpio";
- reg = <0x03860000 0x20>;
- #gpio-cells = <4>;
- };
};
};
--
1.7.12
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/6] ARM: EXYNOS: exynos4-dt: Use exynos4 prefix instead of exynos4210
2012-08-30 7:31 [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Tomasz Figa
2012-08-30 7:31 ` [PATCH 1/6] ARM: dts: Move parts common to Exynos4 from Exynos4210.dtsi to Exynos4.dtsi Tomasz Figa
@ 2012-08-30 7:31 ` Tomasz Figa
2012-08-31 3:51 ` Thomas Abraham
2012-08-30 7:31 ` [PATCH 3/6] ARM: Exynos4: dts: Specify address and size cells for i2c controllers Tomasz Figa
` (4 subsequent siblings)
6 siblings, 1 reply; 16+ messages in thread
From: Tomasz Figa @ 2012-08-30 7:31 UTC (permalink / raw)
To: linux-arm-kernel
Since mach-exynos4-dt.c is also going to be used for other SoCs from Exynos4
line, rename internal structures and functions to use exynos4_ prefix, instead
of exynos4210_.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/mach-exynos/mach-exynos4-dt.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/arch/arm/mach-exynos/mach-exynos4-dt.c b/arch/arm/mach-exynos/mach-exynos4-dt.c
index b2b5d5f..8dad4ec 100644
--- a/arch/arm/mach-exynos/mach-exynos4-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos4-dt.c
@@ -1,5 +1,5 @@
/*
- * Samsung's Exynos4210 flattened device tree enabled machine
+ * Samsung's Exynos4 flattened device tree enabled machine
*
* Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
* http://www.samsung.com
@@ -36,7 +36,7 @@
* at some point, the drivers should be capable of parsing all the platform
* data from the device tree.
*/
-static const struct of_dev_auxdata exynos4210_auxdata_lookup[] __initconst = {
+static const struct of_dev_auxdata exynos4_auxdata_lookup[] __initconst = {
OF_DEV_AUXDATA("samsung,exynos4210-uart", EXYNOS4_PA_UART0,
"exynos4210-uart.0", NULL),
OF_DEV_AUXDATA("samsung,exynos4210-uart", EXYNOS4_PA_UART1,
@@ -66,19 +66,19 @@ static const struct of_dev_auxdata exynos4210_auxdata_lookup[] __initconst = {
{},
};
-static void __init exynos4210_dt_map_io(void)
+static void __init exynos4_dt_map_io(void)
{
exynos_init_io(NULL, 0);
s3c24xx_init_clocks(24000000);
}
-static void __init exynos4210_dt_machine_init(void)
+static void __init exynos4_dt_machine_init(void)
{
of_platform_populate(NULL, of_default_bus_match_table,
- exynos4210_auxdata_lookup, NULL);
+ exynos4_auxdata_lookup, NULL);
}
-static char const *exynos4210_dt_compat[] __initdata = {
+static char const *exynos4_dt_compat[] __initdata = {
"samsung,exynos4210",
NULL
};
@@ -86,11 +86,11 @@ static char const *exynos4210_dt_compat[] __initdata = {
DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)")
/* Maintainer: Thomas Abraham <thomas.abraham@linaro.org> */
.init_irq = exynos4_init_irq,
- .map_io = exynos4210_dt_map_io,
+ .map_io = exynos4_dt_map_io,
.handle_irq = gic_handle_irq,
- .init_machine = exynos4210_dt_machine_init,
+ .init_machine = exynos4_dt_machine_init,
.init_late = exynos_init_late,
.timer = &exynos4_timer,
- .dt_compat = exynos4210_dt_compat,
+ .dt_compat = exynos4_dt_compat,
.restart = exynos4_restart,
MACHINE_END
--
1.7.12
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 3/6] ARM: Exynos4: dts: Specify address and size cells for i2c controllers
2012-08-30 7:31 [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Tomasz Figa
2012-08-30 7:31 ` [PATCH 1/6] ARM: dts: Move parts common to Exynos4 from Exynos4210.dtsi to Exynos4.dtsi Tomasz Figa
2012-08-30 7:31 ` [PATCH 2/6] ARM: EXYNOS: exynos4-dt: Use exynos4 prefix instead of exynos4210 Tomasz Figa
@ 2012-08-30 7:31 ` Tomasz Figa
2012-08-31 3:53 ` Thomas Abraham
2012-08-30 7:31 ` [PATCH 4/6] ARM: Exynos4: Add OF compatibility lookups for Exynos4 i2c adapters Tomasz Figa
` (3 subsequent siblings)
6 siblings, 1 reply; 16+ messages in thread
From: Tomasz Figa @ 2012-08-30 7:31 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/boot/dts/exynos4.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
index 5e99503..5935588 100644
--- a/arch/arm/boot/dts/exynos4.dtsi
+++ b/arch/arm/boot/dts/exynos4.dtsi
@@ -116,48 +116,64 @@
};
i2c at 13860000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x13860000 0x100>;
interrupts = <0 58 0>;
};
i2c at 13870000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x13870000 0x100>;
interrupts = <0 59 0>;
};
i2c at 13880000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x13880000 0x100>;
interrupts = <0 60 0>;
};
i2c at 13890000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x13890000 0x100>;
interrupts = <0 61 0>;
};
i2c at 138A0000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x138A0000 0x100>;
interrupts = <0 62 0>;
};
i2c at 138B0000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x138B0000 0x100>;
interrupts = <0 63 0>;
};
i2c at 138C0000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x138C0000 0x100>;
interrupts = <0 64 0>;
};
i2c at 138D0000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x138D0000 0x100>;
interrupts = <0 65 0>;
--
1.7.12
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 4/6] ARM: Exynos4: Add OF compatibility lookups for Exynos4 i2c adapters
2012-08-30 7:31 [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Tomasz Figa
` (2 preceding siblings ...)
2012-08-30 7:31 ` [PATCH 3/6] ARM: Exynos4: dts: Specify address and size cells for i2c controllers Tomasz Figa
@ 2012-08-30 7:31 ` Tomasz Figa
2012-08-31 3:59 ` Thomas Abraham
2012-08-30 7:31 ` [PATCH 5/6] ARM: EXYNOS: Increase maximum possible memory bank size to 512MiB Tomasz Figa
` (2 subsequent siblings)
6 siblings, 1 reply; 16+ messages in thread
From: Tomasz Figa @ 2012-08-30 7:31 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/mach-exynos/mach-exynos4-dt.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm/mach-exynos/mach-exynos4-dt.c b/arch/arm/mach-exynos/mach-exynos4-dt.c
index 8dad4ec..0391c84 100644
--- a/arch/arm/mach-exynos/mach-exynos4-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos4-dt.c
@@ -61,6 +61,22 @@ static const struct of_dev_auxdata exynos4_auxdata_lookup[] __initconst = {
"exynos4210-spi.1", NULL),
OF_DEV_AUXDATA("samsung,exynos4210-spi", EXYNOS4_PA_SPI2,
"exynos4210-spi.2", NULL),
+ OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(0),
+ "s3c2440-i2c.0", NULL),
+ OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(1),
+ "s3c2440-i2c.1", NULL),
+ OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(2),
+ "s3c2440-i2c.2", NULL),
+ OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(3),
+ "s3c2440-i2c.3", NULL),
+ OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(4),
+ "s3c2440-i2c.4", NULL),
+ OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(5),
+ "s3c2440-i2c.5", NULL),
+ OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(6),
+ "s3c2440-i2c.6", NULL),
+ OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(7),
+ "s3c2440-i2c.7", NULL),
OF_DEV_AUXDATA("arm,pl330", EXYNOS4_PA_PDMA0, "dma-pl330.0", NULL),
OF_DEV_AUXDATA("arm,pl330", EXYNOS4_PA_PDMA1, "dma-pl330.1", NULL),
{},
--
1.7.12
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 5/6] ARM: EXYNOS: Increase maximum possible memory bank size to 512MiB
2012-08-30 7:31 [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Tomasz Figa
` (3 preceding siblings ...)
2012-08-30 7:31 ` [PATCH 4/6] ARM: Exynos4: Add OF compatibility lookups for Exynos4 i2c adapters Tomasz Figa
@ 2012-08-30 7:31 ` Tomasz Figa
2012-08-30 7:31 ` [PATCH 6/6] ARM: Exynos: Add basic dts file for Samsung Trats board Tomasz Figa
2012-08-31 5:32 ` [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Thomas Abraham
6 siblings, 0 replies; 16+ messages in thread
From: Tomasz Figa @ 2012-08-30 7:31 UTC (permalink / raw)
To: linux-arm-kernel
Some boards have larger memory banks than 256MiB. This patch increses
maximum bank size for Exynos-based boards to 512MiB.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/mach-exynos/include/mach/memory.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-exynos/include/mach/memory.h b/arch/arm/mach-exynos/include/mach/memory.h
index 374ef2c..d4db508 100644
--- a/arch/arm/mach-exynos/include/mach/memory.h
+++ b/arch/arm/mach-exynos/include/mach/memory.h
@@ -15,8 +15,8 @@
#define PLAT_PHYS_OFFSET UL(0x40000000)
-/* Maximum of 256MiB in one bank */
+/* Maximum of 512MiB in one bank */
#define MAX_PHYSMEM_BITS 32
-#define SECTION_SIZE_BITS 28
+#define SECTION_SIZE_BITS 29
#endif /* __ASM_ARCH_MEMORY_H */
--
1.7.12
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 6/6] ARM: Exynos: Add basic dts file for Samsung Trats board
2012-08-30 7:31 [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Tomasz Figa
` (4 preceding siblings ...)
2012-08-30 7:31 ` [PATCH 5/6] ARM: EXYNOS: Increase maximum possible memory bank size to 512MiB Tomasz Figa
@ 2012-08-30 7:31 ` Tomasz Figa
2012-08-31 4:24 ` Thomas Abraham
2012-08-31 5:32 ` [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Thomas Abraham
6 siblings, 1 reply; 16+ messages in thread
From: Tomasz Figa @ 2012-08-30 7:31 UTC (permalink / raw)
To: linux-arm-kernel
This commit adds basic device tree for Exynos4210-based Trats board.
Currently it provides support for eMMC over sdhci and MAX8997 PMIC.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/boot/dts/exynos4210-trats.dts | 287 +++++++++++++++++++++++++++++++++
arch/arm/mach-exynos/Makefile.boot | 2 +-
2 files changed, 288 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/exynos4210-trats.dts
diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts
new file mode 100644
index 0000000..a9cd2d0
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4210-trats.dts
@@ -0,0 +1,287 @@
+/*
+ * Samsung's Exynos4210 based Trats board device tree source
+ *
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * Device tree source file for Samsung's Trats board which is based on
+ * Samsung's Exynos4210 SoC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/dts-v1/;
+/include/ "exynos4210.dtsi"
+
+/ {
+ model = "Samsung Trats based on Exynos4210";
+ compatible = "samsung,trats", "samsung,exynos4210";
+
+ memory {
+ reg = <0x40000000 0x20000000
+ 0x60000000 0x20000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
+ };
+
+ wakeup_eint: interrupt-controller-wakeup-eint {
+ compatible = "samsung,exynos4210-wakeup-eint";
+ reg = <0x11000000 0x1000>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupts = <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>,
+ <0 32 0>;
+ };
+
+ vemmc_reg: voltage-regulator at 0 {
+ compatible = "regulator-fixed";
+ regulator-name = "VMEM_VDD_2.8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ gpio = <&gpk0 2 1 0 0>;
+ };
+
+ sdhci_emmc: sdhci at 12510000 {
+ bus-width = <8>;
+ non-removable;
+ gpios = <&gpk0 0 2 0 3>,
+ <&gpk0 1 2 0 3>,
+ <&gpk0 3 2 2 3>,
+ <&gpk0 4 2 2 3>,
+ <&gpk0 5 2 2 3>,
+ <&gpk0 6 2 2 3>,
+ <&gpk1 3 3 3 3>,
+ <&gpk1 4 3 3 3>,
+ <&gpk1 5 3 3 3>,
+ <&gpk1 6 3 3 3>;
+ vmmc-supply = &vemmc_reg;
+ };
+
+ i2c at 138B0000 {
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>;
+ samsung,i2c-max-bus-freq = <100000>;
+ gpios = <&gpb 6 3 3 0>,
+ <&gpb 7 3 3 0>;
+
+ max8997_pmic at 66 {
+ compatible = "maxim,max8997-pmic";
+ interrupt-parent = <&wakeup_eint>;
+
+ reg = <0x66>;
+ interrupts = <4 0>, <3 0>;
+
+ max8997,pmic-buck1-uses-gpio-dvs;
+ max8997,pmic-buck2-uses-gpio-dvs;
+ max8997,pmic-buck5-uses-gpio-dvs;
+
+ max8997,pmic-ignore-gpiodvs-side-effect;
+ max8997,pmic-buck125-default-dvs-idx = <0>;
+
+ max8997,pmic-buck125-dvs-gpios = <&gpx0 5 1 0 0>,
+ <&gpx0 6 1 0 0>,
+ <&gpl0 0 1 0 0>;
+
+ max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
+ <1250000>, <1200000>,
+ <1150000>, <1100000>,
+ <1000000>, <950000>;
+
+ max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
+ <950000>, <900000>,
+ <1100000>, <1000000>,
+ <950000>, <900000>;
+
+ max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
+ <1200000>, <1200000>,
+ <1200000>, <1200000>,
+ <1200000>, <1200000>;
+
+ regulators {
+ valive_reg: LDO2 {
+ regulator-name = "VALIVE_1.1V_C210";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-always-on;
+ };
+
+ vusb_reg: LDO3 {
+ regulator-name = "VUSB_1.1V_C210";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ };
+
+ vmipi_reg: LDO4 {
+ regulator-name = "VMIPI_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ vpda_reg: LDO6 {
+ regulator-name = "VCC_1.8V_PDA";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ vcam_reg: LDO7 {
+ regulator-name = "CAM_ISP_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ vusbdac_reg: LDO8 {
+ regulator-name = "VUSB/VDAC_3.3V_C210";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ vccpda_reg: LDO9 {
+ regulator-name = "VCC_2.8V_PDA";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ };
+
+ vpll_reg: LDO10 {
+ regulator-name = "VPLL_1.1V_C210";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-always-on;
+ };
+
+ vcclcd_reg: LDO13 {
+ regulator-name = "VCC_3.3V_LCD";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ vlcd_reg: LDO15 {
+ regulator-name = "VLCD_2.2V";
+ regulator-min-microvolt = <2200000>;
+ regulator-max-microvolt = <2200000>;
+ };
+
+ camsensor_reg: LDO16 {
+ regulator-name = "CAM_SENSOR_IO_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ vddq_reg: LDO21 {
+ regulator-name = "VDDQ_M1M2_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ varm_breg: BUCK1 {
+ regulator-name = "VARM_1.2V_C210";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+
+ vint_breg: BUCK2 {
+ regulator-name = "VINT_1.1V_C210";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-always-on;
+ };
+
+ camisp_breg: BUCK4 {
+ regulator-name = "CAM_ISP_CORE_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ };
+
+ vmem_breg: BUCK5 {
+ regulator-name = "VMEM_1.2V_C210";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ vccsub_breg: BUCK7 {
+ regulator-name = "VCC_SUB_2.0V";
+ regulator-min-microvolt = <2000000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-always-on;
+ };
+
+ safe1_sreg: ESAFEOUT1 {
+ regulator-name = "SAFEOUT1";
+ regulator-always-on;
+ };
+
+ safe2_sreg: ESAFEOUT2 {
+ regulator-name = "SAFEOUT2";
+ regulator-boot-on;
+ };
+ };
+ };
+ };
+
+ keypad at 100A0000 {
+ status = "disabled";
+ };
+
+ sdhci at 12520000 {
+ status = "disabled";
+ };
+
+ sdhci at 12530000 {
+ status = "disabled";
+ };
+
+ sdhci at 12540000 {
+ status = "disabled";
+ };
+
+ i2c at 13860000 {
+ status = "disabled";
+ };
+
+ i2c at 13870000 {
+ status = "disabled";
+ };
+
+ i2c at 13880000 {
+ status = "disabled";
+ };
+
+ i2c at 13890000 {
+ status = "disabled";
+ };
+
+ i2c at 138A0000 {
+ status = "disabled";
+ };
+
+ i2c at 138C0000 {
+ status = "disabled";
+ };
+
+ i2c at 138D0000 {
+ status = "disabled";
+ };
+
+ spi_0: spi at 13920000 {
+ status = "disabled";
+ };
+
+ spi_1: spi at 13930000 {
+ status = "disabled";
+ };
+
+ spi_2: spi at 13940000 {
+ status = "disabled";
+ };
+};
diff --git a/arch/arm/mach-exynos/Makefile.boot b/arch/arm/mach-exynos/Makefile.boot
index 31bd181..a79d999 100644
--- a/arch/arm/mach-exynos/Makefile.boot
+++ b/arch/arm/mach-exynos/Makefile.boot
@@ -1,5 +1,5 @@
zreladdr-y += 0x40008000
params_phys-y := 0x40000100
-dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb
+dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb exynos4210-trats.dtb
dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb
--
1.7.12
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 1/6] ARM: dts: Move parts common to Exynos4 from Exynos4210.dtsi to Exynos4.dtsi
2012-08-30 7:31 ` [PATCH 1/6] ARM: dts: Move parts common to Exynos4 from Exynos4210.dtsi to Exynos4.dtsi Tomasz Figa
@ 2012-08-31 3:48 ` Thomas Abraham
2012-09-03 12:20 ` Tomasz Figa
0 siblings, 1 reply; 16+ messages in thread
From: Thomas Abraham @ 2012-08-31 3:48 UTC (permalink / raw)
To: linux-arm-kernel
Hi Tomasz,
On 30 August 2012 13:01, Tomasz Figa <t.figa@samsung.com> wrote:
> Most definitions from Exynos4210.dtsi can be applied for other SoCs from
> Exynos4 line as well, so move the common part into separate file that
> can be included by dtsi files of other Exynos4 SoCs (as well as current
> Exynos4210.dtsi).
>
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/boot/dts/exynos4.dtsi | 402 ++++++++++++++++++++++++++++++++++++++
> arch/arm/boot/dts/exynos4210.dtsi | 377 +----------------------------------
> 2 files changed, 403 insertions(+), 376 deletions(-)
> create mode 100644 arch/arm/boot/dts/exynos4.dtsi
A similar patch was submitted by Dongjin Kim
<dongjin.kim@agreeyamobility.net> as well.
[PATCH v2] arm/dts: exynos4: Add DTS files derived from common Exynos4
Few comments are inlined below.
>
> diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
> new file mode 100644
> index 0000000..5e99503
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4.dtsi
> @@ -0,0 +1,402 @@
> +/*
> + * Samsung's Exynos4 SoC series common device tree source
> + *
> + * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
> + * http://www.samsung.com
> + * Copyright (c) 2010-2011 Linaro Ltd.
> + * www.linaro.org
> + *
> + * Samsung's Exynos4 SoC series device nodes are listed in this file. Particular
> + * SoCs from Exynos4 series can include this file and provide values for SoCs
> + * specfic bindings.
> + *
> + * Note: This file does not include device nodes for all the controllers in
> + * Exynos4 SoCs. As device tree coverage for Exynos4 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"
> +
> +/ {
> + interrupt-parent = <&gic>;
> +
> + aliases {
> + spi0 = &spi_0;
> + spi1 = &spi_1;
> + spi2 = &spi_2;
> + };
> +
> + gic:interrupt-controller at 10490000 {
> + compatible = "arm,cortex-a9-gic";
> + #interrupt-cells = <3>;
> + interrupt-controller;
> + cpu-offset = <0x8000>;
The value of cpu-offset is different for Exynos4210 and Exynos4412
(not sure if it is different on Exynos4212 as well). Since
exynos4.dtsi will be included in the other Exynos4 specific dtsi
files, cpu-offset property can be removed from here and included in
SoC specific dtsi files.
> + reg = <0x10490000 0x1000>, <0x10480000 0x100>;
> + };
> +
> + combiner:interrupt-controller at 10440000 {
> + compatible = "samsung,exynos4210-combiner";
> + #interrupt-cells = <2>;
> + interrupt-controller;
> + 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>;
> + };
Similarly, the number of interrupts generated by the combiner is also
specific to the Exynos4 SoC. So the interrupts property could also be
moved into SoC specific dtsi files.
> +
> + watchdog at 10060000 {
> + compatible = "samsung,s3c2410-wdt";
> + reg = <0x10060000 0x100>;
> + interrupts = <0 43 0>;
> + };
> +
> + rtc at 10070000 {
> + compatible = "samsung,s3c6410-rtc";
> + reg = <0x10070000 0x100>;
> + interrupts = <0 44 0>, <0 45 0>;
> + };
> +
> + keypad at 100A0000 {
> + compatible = "samsung,s5pv210-keypad";
> + reg = <0x100A0000 0x100>;
> + interrupts = <0 109 0>;
> + };
> +
> + sdhci at 12510000 {
> + compatible = "samsung,exynos4210-sdhci";
> + reg = <0x12510000 0x100>;
> + interrupts = <0 73 0>;
> + };
> +
> + sdhci at 12520000 {
> + compatible = "samsung,exynos4210-sdhci";
> + reg = <0x12520000 0x100>;
> + interrupts = <0 74 0>;
> + };
> +
> + sdhci at 12530000 {
> + compatible = "samsung,exynos4210-sdhci";
> + reg = <0x12530000 0x100>;
> + interrupts = <0 75 0>;
> + };
> +
> + sdhci at 12540000 {
> + compatible = "samsung,exynos4210-sdhci";
> + reg = <0x12540000 0x100>;
> + interrupts = <0 76 0>;
> + };
> +
> + serial at 13800000 {
> + compatible = "samsung,exynos4210-uart";
> + reg = <0x13800000 0x100>;
> + interrupts = <0 52 0>;
> + };
> +
> + serial at 13810000 {
> + compatible = "samsung,exynos4210-uart";
> + reg = <0x13810000 0x100>;
> + interrupts = <0 53 0>;
> + };
> +
> + serial at 13820000 {
> + compatible = "samsung,exynos4210-uart";
> + reg = <0x13820000 0x100>;
> + interrupts = <0 54 0>;
> + };
> +
> + serial at 13830000 {
> + compatible = "samsung,exynos4210-uart";
> + reg = <0x13830000 0x100>;
> + interrupts = <0 55 0>;
> + };
> +
> + i2c at 13860000 {
> + compatible = "samsung,s3c2440-i2c";
> + reg = <0x13860000 0x100>;
> + interrupts = <0 58 0>;
> + };
> +
> + i2c at 13870000 {
> + compatible = "samsung,s3c2440-i2c";
> + reg = <0x13870000 0x100>;
> + interrupts = <0 59 0>;
> + };
> +
> + i2c at 13880000 {
> + compatible = "samsung,s3c2440-i2c";
> + reg = <0x13880000 0x100>;
> + interrupts = <0 60 0>;
> + };
> +
> + i2c at 13890000 {
> + compatible = "samsung,s3c2440-i2c";
> + reg = <0x13890000 0x100>;
> + interrupts = <0 61 0>;
> + };
> +
> + i2c at 138A0000 {
> + compatible = "samsung,s3c2440-i2c";
> + reg = <0x138A0000 0x100>;
> + interrupts = <0 62 0>;
> + };
> +
> + i2c at 138B0000 {
> + compatible = "samsung,s3c2440-i2c";
> + reg = <0x138B0000 0x100>;
> + interrupts = <0 63 0>;
> + };
> +
> + i2c at 138C0000 {
> + compatible = "samsung,s3c2440-i2c";
> + reg = <0x138C0000 0x100>;
> + interrupts = <0 64 0>;
> + };
> +
> + i2c at 138D0000 {
> + compatible = "samsung,s3c2440-i2c";
> + reg = <0x138D0000 0x100>;
> + interrupts = <0 65 0>;
> + };
> +
> + spi_0: spi at 13920000 {
> + compatible = "samsung,exynos4210-spi";
> + reg = <0x13920000 0x100>;
> + interrupts = <0 66 0>;
> + tx-dma-channel = <&pdma0 7>; /* preliminary */
> + rx-dma-channel = <&pdma0 6>; /* preliminary */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + spi_1: spi at 13930000 {
> + compatible = "samsung,exynos4210-spi";
> + reg = <0x13930000 0x100>;
> + interrupts = <0 67 0>;
> + tx-dma-channel = <&pdma1 7>; /* preliminary */
> + rx-dma-channel = <&pdma1 6>; /* preliminary */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + spi_2: spi at 13940000 {
> + compatible = "samsung,exynos4210-spi";
> + reg = <0x13940000 0x100>;
> + interrupts = <0 68 0>;
> + tx-dma-channel = <&pdma0 9>; /* preliminary */
> + rx-dma-channel = <&pdma0 8>; /* preliminary */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + amba {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "arm,amba-bus";
> + interrupt-parent = <&gic>;
> + ranges;
> +
> + pdma0: pdma at 12680000 {
> + compatible = "arm,pl330", "arm,primecell";
> + reg = <0x12680000 0x1000>;
> + interrupts = <0 35 0>;
> + };
> +
> + pdma1: pdma at 12690000 {
> + compatible = "arm,pl330", "arm,primecell";
> + reg = <0x12690000 0x1000>;
> + interrupts = <0 36 0>;
> + };
> + };
> +
> + gpio-controllers {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + gpio-controller;
> + ranges;
Should we just retain the gpio nodes in exynos4210.dtsi file itself
for now. If we manage to get the pinctrl driver support for exynos4210
and exynos4412 merged, these gpio nodes would anyway be removed. And
since there are differences in gpio banks in Exynos4 SoC's, maybe we
could just leave these in exynos4210.dtsi file for now.
> +
> + gpa0: gpio-controller at 11400000 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11400000 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpa1: gpio-controller at 11400020 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11400020 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpb: gpio-controller at 11400040 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11400040 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpc0: gpio-controller at 11400060 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11400060 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpc1: gpio-controller at 11400080 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11400080 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpd0: gpio-controller at 114000A0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x114000A0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpd1: gpio-controller at 114000C0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x114000C0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpf0: gpio-controller at 11400180 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11400180 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpf1: gpio-controller at 114001A0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x114001A0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpf2: gpio-controller at 114001C0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x114001C0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpf3: gpio-controller at 114001E0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x114001E0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpk0: gpio-controller at 11000040 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000040 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpk1: gpio-controller at 11000060 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000060 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpk2: gpio-controller at 11000080 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000080 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpk3: gpio-controller at 110000A0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x110000A0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpl0: gpio-controller at 110000C0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x110000C0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpl1: gpio-controller at 110000E0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x110000E0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpl2: gpio-controller at 11000100 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000100 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpy0: gpio-controller at 11000120 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000120 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpy1: gpio-controller at 11000140 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000140 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpy2: gpio-controller at 11000160 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000160 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpy3: gpio-controller at 11000180 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000180 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpy4: gpio-controller at 110001A0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x110001A0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpy5: gpio-controller at 110001C0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x110001C0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpy6: gpio-controller at 110001E0 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x110001E0 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpx0: gpio-controller at 11000C00 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000C00 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpx1: gpio-controller at 11000C20 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000C20 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpx2: gpio-controller at 11000C40 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000C40 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpx3: gpio-controller at 11000C60 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x11000C60 0x20>;
> + #gpio-cells = <4>;
> + };
> +
> + gpz: gpio-controller at 03860000 {
> + compatible = "samsung,exynos4-gpio";
> + reg = <0x03860000 0x20>;
> + #gpio-cells = <4>;
> + };
> + };
> +};
> diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
> index 02891fe..4672367 100644
> --- a/arch/arm/boot/dts/exynos4210.dtsi
> +++ b/arch/arm/boot/dts/exynos4210.dtsi
> @@ -19,249 +19,12 @@
> * published by the Free Software Foundation.
> */
>
> -/include/ "skeleton.dtsi"
> +/include/ "exynos4.dtsi"
>
> / {
> compatible = "samsung,exynos4210";
> - interrupt-parent = <&gic>;
> -
> - aliases {
> - spi0 = &spi_0;
> - spi1 = &spi_1;
> - spi2 = &spi_2;
> - };
> -
> - gic:interrupt-controller at 10490000 {
> - compatible = "arm,cortex-a9-gic";
> - #interrupt-cells = <3>;
> - interrupt-controller;
> - cpu-offset = <0x8000>;
> - reg = <0x10490000 0x1000>, <0x10480000 0x100>;
> - };
> -
> - combiner:interrupt-controller at 10440000 {
> - compatible = "samsung,exynos4210-combiner";
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - 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>;
> - };
> -
> - watchdog at 10060000 {
> - compatible = "samsung,s3c2410-wdt";
> - reg = <0x10060000 0x100>;
> - interrupts = <0 43 0>;
> - };
> -
> - rtc at 10070000 {
> - compatible = "samsung,s3c6410-rtc";
> - reg = <0x10070000 0x100>;
> - interrupts = <0 44 0>, <0 45 0>;
> - };
> -
> - keypad at 100A0000 {
> - compatible = "samsung,s5pv210-keypad";
> - reg = <0x100A0000 0x100>;
> - interrupts = <0 109 0>;
> - };
> -
> - sdhci at 12510000 {
> - compatible = "samsung,exynos4210-sdhci";
> - reg = <0x12510000 0x100>;
> - interrupts = <0 73 0>;
> - };
> -
> - sdhci at 12520000 {
> - compatible = "samsung,exynos4210-sdhci";
> - reg = <0x12520000 0x100>;
> - interrupts = <0 74 0>;
> - };
> -
> - sdhci at 12530000 {
> - compatible = "samsung,exynos4210-sdhci";
> - reg = <0x12530000 0x100>;
> - interrupts = <0 75 0>;
> - };
> -
> - sdhci at 12540000 {
> - compatible = "samsung,exynos4210-sdhci";
> - reg = <0x12540000 0x100>;
> - interrupts = <0 76 0>;
> - };
> -
> - serial at 13800000 {
> - compatible = "samsung,exynos4210-uart";
> - reg = <0x13800000 0x100>;
> - interrupts = <0 52 0>;
> - };
> -
> - serial at 13810000 {
> - compatible = "samsung,exynos4210-uart";
> - reg = <0x13810000 0x100>;
> - interrupts = <0 53 0>;
> - };
> -
> - serial at 13820000 {
> - compatible = "samsung,exynos4210-uart";
> - reg = <0x13820000 0x100>;
> - interrupts = <0 54 0>;
> - };
> -
> - serial at 13830000 {
> - compatible = "samsung,exynos4210-uart";
> - reg = <0x13830000 0x100>;
> - interrupts = <0 55 0>;
> - };
> -
> - i2c at 13860000 {
> - compatible = "samsung,s3c2440-i2c";
> - reg = <0x13860000 0x100>;
> - interrupts = <0 58 0>;
> - };
> -
> - i2c at 13870000 {
> - compatible = "samsung,s3c2440-i2c";
> - reg = <0x13870000 0x100>;
> - interrupts = <0 59 0>;
> - };
> -
> - i2c at 13880000 {
> - compatible = "samsung,s3c2440-i2c";
> - reg = <0x13880000 0x100>;
> - interrupts = <0 60 0>;
> - };
> -
> - i2c at 13890000 {
> - compatible = "samsung,s3c2440-i2c";
> - reg = <0x13890000 0x100>;
> - interrupts = <0 61 0>;
> - };
> -
> - i2c at 138A0000 {
> - compatible = "samsung,s3c2440-i2c";
> - reg = <0x138A0000 0x100>;
> - interrupts = <0 62 0>;
> - };
> -
> - i2c at 138B0000 {
> - compatible = "samsung,s3c2440-i2c";
> - reg = <0x138B0000 0x100>;
> - interrupts = <0 63 0>;
> - };
> -
> - i2c at 138C0000 {
> - compatible = "samsung,s3c2440-i2c";
> - reg = <0x138C0000 0x100>;
> - interrupts = <0 64 0>;
> - };
> -
> - i2c at 138D0000 {
> - compatible = "samsung,s3c2440-i2c";
> - reg = <0x138D0000 0x100>;
> - interrupts = <0 65 0>;
> - };
> -
> - spi_0: spi at 13920000 {
> - compatible = "samsung,exynos4210-spi";
> - reg = <0x13920000 0x100>;
> - interrupts = <0 66 0>;
> - tx-dma-channel = <&pdma0 7>; /* preliminary */
> - rx-dma-channel = <&pdma0 6>; /* preliminary */
> - #address-cells = <1>;
> - #size-cells = <0>;
> - };
> -
> - spi_1: spi at 13930000 {
> - compatible = "samsung,exynos4210-spi";
> - reg = <0x13930000 0x100>;
> - interrupts = <0 67 0>;
> - tx-dma-channel = <&pdma1 7>; /* preliminary */
> - rx-dma-channel = <&pdma1 6>; /* preliminary */
> - #address-cells = <1>;
> - #size-cells = <0>;
> - };
> -
> - spi_2: spi at 13940000 {
> - compatible = "samsung,exynos4210-spi";
> - reg = <0x13940000 0x100>;
> - interrupts = <0 68 0>;
> - tx-dma-channel = <&pdma0 9>; /* preliminary */
> - rx-dma-channel = <&pdma0 8>; /* preliminary */
> - #address-cells = <1>;
> - #size-cells = <0>;
> - };
> -
> - amba {
> - #address-cells = <1>;
> - #size-cells = <1>;
> - compatible = "arm,amba-bus";
> - interrupt-parent = <&gic>;
> - ranges;
> -
> - pdma0: pdma at 12680000 {
> - compatible = "arm,pl330", "arm,primecell";
> - reg = <0x12680000 0x1000>;
> - interrupts = <0 35 0>;
> - };
> -
> - pdma1: pdma at 12690000 {
> - compatible = "arm,pl330", "arm,primecell";
> - reg = <0x12690000 0x1000>;
> - interrupts = <0 36 0>;
> - };
> - };
>
> gpio-controllers {
> - #address-cells = <1>;
> - #size-cells = <1>;
> - gpio-controller;
> - ranges;
> -
> - gpa0: gpio-controller at 11400000 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11400000 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpa1: gpio-controller at 11400020 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11400020 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpb: gpio-controller at 11400040 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11400040 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpc0: gpio-controller at 11400060 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11400060 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpc1: gpio-controller at 11400080 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11400080 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpd0: gpio-controller at 114000A0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x114000A0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpd1: gpio-controller at 114000C0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x114000C0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> gpe0: gpio-controller at 114000E0 {
> compatible = "samsung,exynos4-gpio";
> reg = <0x114000E0 0x20>;
> @@ -292,30 +55,6 @@
> #gpio-cells = <4>;
> };
>
> - gpf0: gpio-controller at 11400180 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11400180 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpf1: gpio-controller at 114001A0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x114001A0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpf2: gpio-controller at 114001C0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x114001C0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpf3: gpio-controller at 114001E0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x114001E0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> gpj0: gpio-controller at 11000000 {
> compatible = "samsung,exynos4-gpio";
> reg = <0x11000000 0x20>;
> @@ -327,119 +66,5 @@
> reg = <0x11000020 0x20>;
> #gpio-cells = <4>;
> };
> -
> - gpk0: gpio-controller at 11000040 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000040 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpk1: gpio-controller at 11000060 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000060 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpk2: gpio-controller at 11000080 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000080 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpk3: gpio-controller at 110000A0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x110000A0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpl0: gpio-controller at 110000C0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x110000C0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpl1: gpio-controller at 110000E0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x110000E0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpl2: gpio-controller at 11000100 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000100 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpy0: gpio-controller at 11000120 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000120 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpy1: gpio-controller at 11000140 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000140 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpy2: gpio-controller at 11000160 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000160 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpy3: gpio-controller at 11000180 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000180 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpy4: gpio-controller at 110001A0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x110001A0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpy5: gpio-controller at 110001C0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x110001C0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpy6: gpio-controller at 110001E0 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x110001E0 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpx0: gpio-controller at 11000C00 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000C00 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpx1: gpio-controller at 11000C20 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000C20 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpx2: gpio-controller at 11000C40 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000C40 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpx3: gpio-controller at 11000C60 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x11000C60 0x20>;
> - #gpio-cells = <4>;
> - };
> -
> - gpz: gpio-controller at 03860000 {
> - compatible = "samsung,exynos4-gpio";
> - reg = <0x03860000 0x20>;
> - #gpio-cells = <4>;
> - };
> };
> };
> --
> 1.7.12
>
While we are at it, should we mark the nodes in exynos4.dtsi and
exynos4210.dtsi as "disabled". The board dts files will have to
explicitly "enable" those nodes which it uses.
Apart from these minor comments, the rest of the changes looks fine.
Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 2/6] ARM: EXYNOS: exynos4-dt: Use exynos4 prefix instead of exynos4210
2012-08-30 7:31 ` [PATCH 2/6] ARM: EXYNOS: exynos4-dt: Use exynos4 prefix instead of exynos4210 Tomasz Figa
@ 2012-08-31 3:51 ` Thomas Abraham
0 siblings, 0 replies; 16+ messages in thread
From: Thomas Abraham @ 2012-08-31 3:51 UTC (permalink / raw)
To: linux-arm-kernel
On 30 August 2012 13:01, Tomasz Figa <t.figa@samsung.com> wrote:
> Since mach-exynos4-dt.c is also going to be used for other SoCs from Exynos4
> line, rename internal structures and functions to use exynos4_ prefix, instead
> of exynos4210_.
>
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/mach-exynos/mach-exynos4-dt.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 3/6] ARM: Exynos4: dts: Specify address and size cells for i2c controllers
2012-08-30 7:31 ` [PATCH 3/6] ARM: Exynos4: dts: Specify address and size cells for i2c controllers Tomasz Figa
@ 2012-08-31 3:53 ` Thomas Abraham
0 siblings, 0 replies; 16+ messages in thread
From: Thomas Abraham @ 2012-08-31 3:53 UTC (permalink / raw)
To: linux-arm-kernel
On 30 August 2012 13:01, Tomasz Figa <t.figa@samsung.com> wrote:
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/boot/dts/exynos4.dtsi | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org>
[...]
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 4/6] ARM: Exynos4: Add OF compatibility lookups for Exynos4 i2c adapters
2012-08-30 7:31 ` [PATCH 4/6] ARM: Exynos4: Add OF compatibility lookups for Exynos4 i2c adapters Tomasz Figa
@ 2012-08-31 3:59 ` Thomas Abraham
2012-09-03 12:21 ` Tomasz Figa
0 siblings, 1 reply; 16+ messages in thread
From: Thomas Abraham @ 2012-08-31 3:59 UTC (permalink / raw)
To: linux-arm-kernel
On 30 August 2012 13:01, Tomasz Figa <t.figa@samsung.com> wrote:
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/mach-exynos/mach-exynos4-dt.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/arch/arm/mach-exynos/mach-exynos4-dt.c b/arch/arm/mach-exynos/mach-exynos4-dt.c
> index 8dad4ec..0391c84 100644
> --- a/arch/arm/mach-exynos/mach-exynos4-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos4-dt.c
> @@ -61,6 +61,22 @@ static const struct of_dev_auxdata exynos4_auxdata_lookup[] __initconst = {
> "exynos4210-spi.1", NULL),
> OF_DEV_AUXDATA("samsung,exynos4210-spi", EXYNOS4_PA_SPI2,
> "exynos4210-spi.2", NULL),
> + OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(0),
> + "s3c2440-i2c.0", NULL),
i2c0 lookup information is already in this list. So the above line
should not be included in this patch.
> + OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(1),
> + "s3c2440-i2c.1", NULL),
> + OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(2),
> + "s3c2440-i2c.2", NULL),
> + OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(3),
> + "s3c2440-i2c.3", NULL),
> + OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(4),
> + "s3c2440-i2c.4", NULL),
> + OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(5),
> + "s3c2440-i2c.5", NULL),
> + OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(6),
> + "s3c2440-i2c.6", NULL),
> + OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(7),
> + "s3c2440-i2c.7", NULL),
> OF_DEV_AUXDATA("arm,pl330", EXYNOS4_PA_PDMA0, "dma-pl330.0", NULL),
> OF_DEV_AUXDATA("arm,pl330", EXYNOS4_PA_PDMA1, "dma-pl330.1", NULL),
> {},
> --
> 1.7.12
>
Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 6/6] ARM: Exynos: Add basic dts file for Samsung Trats board
2012-08-30 7:31 ` [PATCH 6/6] ARM: Exynos: Add basic dts file for Samsung Trats board Tomasz Figa
@ 2012-08-31 4:24 ` Thomas Abraham
2012-09-03 12:28 ` Tomasz Figa
0 siblings, 1 reply; 16+ messages in thread
From: Thomas Abraham @ 2012-08-31 4:24 UTC (permalink / raw)
To: linux-arm-kernel
On 30 August 2012 13:01, Tomasz Figa <t.figa@samsung.com> wrote:
> This commit adds basic device tree for Exynos4210-based Trats board.
>
> Currently it provides support for eMMC over sdhci and MAX8997 PMIC.
>
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/boot/dts/exynos4210-trats.dts | 287 +++++++++++++++++++++++++++++++++
> arch/arm/mach-exynos/Makefile.boot | 2 +-
> 2 files changed, 288 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/exynos4210-trats.dts
>
> diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts
> new file mode 100644
> index 0000000..a9cd2d0
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4210-trats.dts
> @@ -0,0 +1,287 @@
> +/*
> + * Samsung's Exynos4210 based Trats board device tree source
> + *
> + * Copyright (c) 2012 Samsung Electronics Co., Ltd.
> + * http://www.samsung.com
> + *
> + * Device tree source file for Samsung's Trats board which is based on
> + * Samsung's Exynos4210 SoC.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> +*/
> +
> +/dts-v1/;
> +/include/ "exynos4210.dtsi"
> +
> +/ {
> + model = "Samsung Trats based on Exynos4210";
> + compatible = "samsung,trats", "samsung,exynos4210";
> +
> + memory {
> + reg = <0x40000000 0x20000000
> + 0x60000000 0x20000000>;
> + };
> +
> + chosen {
> + bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
> + };
> +
> + wakeup_eint: interrupt-controller-wakeup-eint {
> + compatible = "samsung,exynos4210-wakeup-eint";
> + reg = <0x11000000 0x1000>;
> + #interrupt-cells = <2>;
> + interrupt-controller;
> + interrupts = <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>,
> + <0 32 0>;
> + };
The external wakeup node should be in the exynos4.dtsi file since this
is common across all Exynos4 SoC's. Besides, the device tree support
patches for wakeup-interrupts is not being pursed anymore, since it is
now handled in pinctrl driver itself. So it would be better not to
include this node.
> +
> + vemmc_reg: voltage-regulator at 0 {
> + compatible = "regulator-fixed";
> + regulator-name = "VMEM_VDD_2.8V";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + gpio = <&gpk0 2 1 0 0>;
> + };
> +
> + sdhci_emmc: sdhci at 12510000 {
> + bus-width = <8>;
> + non-removable;
> + gpios = <&gpk0 0 2 0 3>,
> + <&gpk0 1 2 0 3>,
> + <&gpk0 3 2 2 3>,
> + <&gpk0 4 2 2 3>,
> + <&gpk0 5 2 2 3>,
> + <&gpk0 6 2 2 3>,
> + <&gpk1 3 3 3 3>,
> + <&gpk1 4 3 3 3>,
> + <&gpk1 5 3 3 3>,
> + <&gpk1 6 3 3 3>;
> + vmmc-supply = &vemmc_reg;
> + };
> +
> + i2c at 138B0000 {
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <100000>;
> + gpios = <&gpb 6 3 3 0>,
> + <&gpb 7 3 3 0>;
> +
> + max8997_pmic at 66 {
> + compatible = "maxim,max8997-pmic";
> + interrupt-parent = <&wakeup_eint>;
> +
> + reg = <0x66>;
> + interrupts = <4 0>, <3 0>;
> +
> + max8997,pmic-buck1-uses-gpio-dvs;
> + max8997,pmic-buck2-uses-gpio-dvs;
> + max8997,pmic-buck5-uses-gpio-dvs;
> +
> + max8997,pmic-ignore-gpiodvs-side-effect;
> + max8997,pmic-buck125-default-dvs-idx = <0>;
> +
> + max8997,pmic-buck125-dvs-gpios = <&gpx0 5 1 0 0>,
> + <&gpx0 6 1 0 0>,
> + <&gpl0 0 1 0 0>;
> +
> + max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
> + <1250000>, <1200000>,
> + <1150000>, <1100000>,
> + <1000000>, <950000>;
> +
> + max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
> + <950000>, <900000>,
> + <1100000>, <1000000>,
> + <950000>, <900000>;
> +
> + max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
> + <1200000>, <1200000>,
> + <1200000>, <1200000>,
> + <1200000>, <1200000>;
> +
> + regulators {
> + valive_reg: LDO2 {
> + regulator-name = "VALIVE_1.1V_C210";
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <1100000>;
> + regulator-always-on;
> + };
> +
> + vusb_reg: LDO3 {
> + regulator-name = "VUSB_1.1V_C210";
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <1100000>;
> + };
> +
> + vmipi_reg: LDO4 {
> + regulator-name = "VMIPI_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + vpda_reg: LDO6 {
> + regulator-name = "VCC_1.8V_PDA";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + vcam_reg: LDO7 {
> + regulator-name = "CAM_ISP_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + vusbdac_reg: LDO8 {
> + regulator-name = "VUSB/VDAC_3.3V_C210";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + vccpda_reg: LDO9 {
> + regulator-name = "VCC_2.8V_PDA";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-always-on;
> + };
> +
> + vpll_reg: LDO10 {
> + regulator-name = "VPLL_1.1V_C210";
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <1100000>;
> + regulator-always-on;
> + };
> +
> + vcclcd_reg: LDO13 {
> + regulator-name = "VCC_3.3V_LCD";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + vlcd_reg: LDO15 {
> + regulator-name = "VLCD_2.2V";
> + regulator-min-microvolt = <2200000>;
> + regulator-max-microvolt = <2200000>;
> + };
> +
> + camsensor_reg: LDO16 {
> + regulator-name = "CAM_SENSOR_IO_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + vddq_reg: LDO21 {
> + regulator-name = "VDDQ_M1M2_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + varm_breg: BUCK1 {
> + regulator-name = "VARM_1.2V_C210";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> +
> + vint_breg: BUCK2 {
> + regulator-name = "VINT_1.1V_C210";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <1100000>;
> + regulator-always-on;
> + };
> +
> + camisp_breg: BUCK4 {
> + regulator-name = "CAM_ISP_CORE_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + };
> +
> + vmem_breg: BUCK5 {
> + regulator-name = "VMEM_1.2V_C210";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + vccsub_breg: BUCK7 {
> + regulator-name = "VCC_SUB_2.0V";
> + regulator-min-microvolt = <2000000>;
> + regulator-max-microvolt = <2000000>;
> + regulator-always-on;
> + };
> +
> + safe1_sreg: ESAFEOUT1 {
> + regulator-name = "SAFEOUT1";
> + regulator-always-on;
> + };
> +
> + safe2_sreg: ESAFEOUT2 {
> + regulator-name = "SAFEOUT2";
> + regulator-boot-on;
> + };
> + };
> + };
> + };
> +
> + keypad at 100A0000 {
> + status = "disabled";
> + };
> +
> + sdhci at 12520000 {
> + status = "disabled";
> + };
> +
> + sdhci at 12530000 {
> + status = "disabled";
> + };
> +
> + sdhci at 12540000 {
> + status = "disabled";
> + };
> +
> + i2c at 13860000 {
> + status = "disabled";
> + };
> +
> + i2c at 13870000 {
> + status = "disabled";
> + };
> +
> + i2c at 13880000 {
> + status = "disabled";
> + };
> +
> + i2c at 13890000 {
> + status = "disabled";
> + };
> +
> + i2c at 138A0000 {
> + status = "disabled";
> + };
> +
> + i2c at 138C0000 {
> + status = "disabled";
> + };
> +
> + i2c at 138D0000 {
> + status = "disabled";
> + };
> +
> + spi_0: spi at 13920000 {
> + status = "disabled";
> + };
> +
> + spi_1: spi at 13930000 {
> + status = "disabled";
> + };
> +
> + spi_2: spi at 13940000 {
> + status = "disabled";
> + };
> +};
If we choose to mark the nodes in dtsi files as "disabled" then we can
avoid these here.
> diff --git a/arch/arm/mach-exynos/Makefile.boot b/arch/arm/mach-exynos/Makefile.boot
> index 31bd181..a79d999 100644
> --- a/arch/arm/mach-exynos/Makefile.boot
> +++ b/arch/arm/mach-exynos/Makefile.boot
> @@ -1,5 +1,5 @@
> zreladdr-y += 0x40008000
> params_phys-y := 0x40000100
>
> -dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb
> +dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb exynos4210-trats.dtb
> dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb
> --
> 1.7.12
>
The rest of the additions looks fine.
Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree
2012-08-30 7:31 [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Tomasz Figa
` (5 preceding siblings ...)
2012-08-30 7:31 ` [PATCH 6/6] ARM: Exynos: Add basic dts file for Samsung Trats board Tomasz Figa
@ 2012-08-31 5:32 ` Thomas Abraham
6 siblings, 0 replies; 16+ messages in thread
From: Thomas Abraham @ 2012-08-31 5:32 UTC (permalink / raw)
To: linux-arm-kernel
On 30 August 2012 13:01, Tomasz Figa <t.figa@samsung.com> wrote:
> This patch series adds basic device tree support for Samsung Trats board
> along with any necessary prerequisites.
>
> In addition it refactors Exynos4 dts include files to split parts common to
> the whole Exynos4 part from parts specific to Exynos4210 to allow further
> extension of Exynos4210 dts include file and addition of include files for
> other SoCs from Exynos4 line.
>
> Dependencies:
> -> [PATCH v5] mmc: sdhci-s3c: Add device tree support
> http://www.spinics.net/lists/linux-samsung-soc/msg12056.html
> -> [PATCH v5 2/2] regulator: add device tree support for max8997
> http://www.spinics.net/lists/kernel/msg1328117.html
I will follow up on this patch and resubmit it.
Thanks,
Thomas.
[...]
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/6] ARM: dts: Move parts common to Exynos4 from Exynos4210.dtsi to Exynos4.dtsi
2012-08-31 3:48 ` Thomas Abraham
@ 2012-09-03 12:20 ` Tomasz Figa
0 siblings, 0 replies; 16+ messages in thread
From: Tomasz Figa @ 2012-09-03 12:20 UTC (permalink / raw)
To: linux-arm-kernel
Hi Thomas,
Thanks for reviewing the patch.
On Friday 31 of August 2012 09:18:26 Thomas Abraham wrote:
> A similar patch was submitted by Dongjin Kim
> <dongjin.kim@agreeyamobility.net> as well.
> [PATCH v2] arm/dts: exynos4: Add DTS files derived from common Exynos4
OK, I haven't noticed it.
> > + gic:interrupt-controller at 10490000 {
> > + compatible = "arm,cortex-a9-gic";
> > + #interrupt-cells = <3>;
> > + interrupt-controller;
> > + cpu-offset = <0x8000>;
>
> The value of cpu-offset is different for Exynos4210 and Exynos4412
> (not sure if it is different on Exynos4212 as well). Since
> exynos4.dtsi will be included in the other Exynos4 specific dtsi
> files, cpu-offset property can be removed from here and included in
> SoC specific dtsi files.
OK.
> > + combiner:interrupt-controller at 10440000 {
> > + compatible = "samsung,exynos4210-combiner";
> > + #interrupt-cells = <2>;
> > + interrupt-controller;
> > + 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>;
> > + };
>
> Similarly, the number of interrupts generated by the combiner is also
> specific to the Exynos4 SoC. So the interrupts property could also be
> moved into SoC specific dtsi files.
OK.
> > + gpio-controllers {
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + gpio-controller;
> > + ranges;
>
> Should we just retain the gpio nodes in exynos4210.dtsi file itself
> for now. If we manage to get the pinctrl driver support for exynos4210
> and exynos4412 merged, these gpio nodes would anyway be removed. And
> since there are differences in gpio banks in Exynos4 SoC's, maybe we
> could just leave these in exynos4210.dtsi file for now.
Yes, might be a good idea indeed.
> While we are at it, should we mark the nodes in exynos4.dtsi and
> exynos4210.dtsi as "disabled". The board dts files will have to
> explicitly "enable" those nodes which it uses.
Definitely. Actually I was going to submit patches for it a bit later.
I have them ready now and I'm going to send them today, along with
corrected version of this patch.
Best regards,
--
Tomasz Figa
Samsung Poland R&D Center
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 4/6] ARM: Exynos4: Add OF compatibility lookups for Exynos4 i2c adapters
2012-08-31 3:59 ` Thomas Abraham
@ 2012-09-03 12:21 ` Tomasz Figa
0 siblings, 0 replies; 16+ messages in thread
From: Tomasz Figa @ 2012-09-03 12:21 UTC (permalink / raw)
To: linux-arm-kernel
Hi Thomas,
Thanks for reviewing the patch.
On Friday 31 of August 2012 09:29:42 Thomas Abraham wrote:
> > + OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS4_PA_IIC(0),
> > + "s3c2440-i2c.0", NULL),
>
> i2c0 lookup information is already in this list. So the above line
> should not be included in this patch.
Right, I must have overlooked it.
Best regards,
--
Tomasz Figa
Samsung Poland R&D Center
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 6/6] ARM: Exynos: Add basic dts file for Samsung Trats board
2012-08-31 4:24 ` Thomas Abraham
@ 2012-09-03 12:28 ` Tomasz Figa
0 siblings, 0 replies; 16+ messages in thread
From: Tomasz Figa @ 2012-09-03 12:28 UTC (permalink / raw)
To: linux-arm-kernel
Hi Thomas,
Thanks for reviewing the patch.
On Friday 31 of August 2012 09:54:20 Thomas Abraham wrote:
> > + wakeup_eint: interrupt-controller-wakeup-eint {
> > + compatible = "samsung,exynos4210-wakeup-eint";
> > + reg = <0x11000000 0x1000>;
> > + #interrupt-cells = <2>;
> > + interrupt-controller;
> > + interrupts = <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>,
> > + <0 32 0>;
> > + };
>
> The external wakeup node should be in the exynos4.dtsi file since this
> is common across all Exynos4 SoC's. Besides, the device tree support
> patches for wakeup-interrupts is not being pursed anymore, since it is
> now handled in pinctrl driver itself. So it would be better not to
> include this node.
Right. We will eventually add support for external wakeup sources using
pinctrl.
> > + spi_2: spi at 13940000 {
> > + status = "disabled";
> > + };
> > +};
>
> If we choose to mark the nodes in dtsi files as "disabled" then we can
> avoid these here.
OK.
Best regards,
--
Tomasz Figa
Samsung Poland R&D Center
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2012-09-03 12:28 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-30 7:31 [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Tomasz Figa
2012-08-30 7:31 ` [PATCH 1/6] ARM: dts: Move parts common to Exynos4 from Exynos4210.dtsi to Exynos4.dtsi Tomasz Figa
2012-08-31 3:48 ` Thomas Abraham
2012-09-03 12:20 ` Tomasz Figa
2012-08-30 7:31 ` [PATCH 2/6] ARM: EXYNOS: exynos4-dt: Use exynos4 prefix instead of exynos4210 Tomasz Figa
2012-08-31 3:51 ` Thomas Abraham
2012-08-30 7:31 ` [PATCH 3/6] ARM: Exynos4: dts: Specify address and size cells for i2c controllers Tomasz Figa
2012-08-31 3:53 ` Thomas Abraham
2012-08-30 7:31 ` [PATCH 4/6] ARM: Exynos4: Add OF compatibility lookups for Exynos4 i2c adapters Tomasz Figa
2012-08-31 3:59 ` Thomas Abraham
2012-09-03 12:21 ` Tomasz Figa
2012-08-30 7:31 ` [PATCH 5/6] ARM: EXYNOS: Increase maximum possible memory bank size to 512MiB Tomasz Figa
2012-08-30 7:31 ` [PATCH 6/6] ARM: Exynos: Add basic dts file for Samsung Trats board Tomasz Figa
2012-08-31 4:24 ` Thomas Abraham
2012-09-03 12:28 ` Tomasz Figa
2012-08-31 5:32 ` [PATCH RESEND 0/6] ARM: EXYNOS: Add support for Trats board using device tree Thomas Abraham
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox