aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValentin Longchamp <valentin.longchamp@keymile.com>2013-05-27 11:40:32 -0400
committerJason Cooper <jason@lakedaemon.net>2013-05-27 12:14:58 -0400
commitdf6bf2e9a72eb0e77febb15e85a08c5477f874d7 (patch)
treebbac080adbc8f361dd764fe37e5e15f1eb4efeed
parent9196024a989ace933d6b17e0a56c847d02d81240 (diff)
ARM: kirkwood: refactor dtsi to largest common nodes
Some kirkwood variants (for instance present in the prestera SoCs) do not have all the peripherals whose nodes are declared in kirkwood.dtsi. These missing peripherals are SATA, SDIO, and RTC. As discussed in [1], to avoid that these missing peripherals get initialized which could result in system hangs when accessing undocumented/not present HW registers, their corresponding OF nodes should not get declared at all for some kirkwood variants. The corresponding OF nodes of these peripherals thus are moved from kirkwood.dtsi to the kirkwood-628x.dtsi files so that they still are initialized for these variants where they are present. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-May/167154.html Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r--arch/arm/boot/dts/kirkwood-6281.dtsi28
-rw-r--r--arch/arm/boot/dts/kirkwood-6282.dtsi28
-rw-r--r--arch/arm/boot/dts/kirkwood-nsa310.dts1
-rw-r--r--arch/arm/boot/dts/kirkwood.dtsi28
4 files changed, 57 insertions, 28 deletions
diff --git a/arch/arm/boot/dts/kirkwood-6281.dtsi b/arch/arm/boot/dts/kirkwood-6281.dtsi
index d6c9d65cbaeb..0ed2f56a91f1 100644
--- a/arch/arm/boot/dts/kirkwood-6281.dtsi
+++ b/arch/arm/boot/dts/kirkwood-6281.dtsi
@@ -40,5 +40,33 @@
40 marvell,function = "sdio"; 40 marvell,function = "sdio";
41 }; 41 };
42 }; 42 };
43
44 rtc@10300 {
45 compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
46 reg = <0x10300 0x20>;
47 interrupts = <53>;
48 clocks = <&gate_clk 7>;
49 };
50
51 sata@80000 {
52 compatible = "marvell,orion-sata";
53 reg = <0x80000 0x5000>;
54 interrupts = <21>;
55 clocks = <&gate_clk 14>, <&gate_clk 15>;
56 clock-names = "0", "1";
57 status = "disabled";
58 };
59
60 mvsdio@90000 {
61 compatible = "marvell,orion-sdio";
62 reg = <0x90000 0x200>;
63 interrupts = <28>;
64 clocks = <&gate_clk 4>;
65 bus-width = <4>;
66 cap-sdio-irq;
67 cap-sd-highspeed;
68 cap-mmc-highspeed;
69 status = "disabled";
70 };
43 }; 71 };
44}; 72};
diff --git a/arch/arm/boot/dts/kirkwood-6282.dtsi b/arch/arm/boot/dts/kirkwood-6282.dtsi
index 23991e45bc55..69b760d5b11d 100644
--- a/arch/arm/boot/dts/kirkwood-6282.dtsi
+++ b/arch/arm/boot/dts/kirkwood-6282.dtsi
@@ -49,6 +49,34 @@
49 }; 49 };
50 }; 50 };
51 51
52 rtc@10300 {
53 compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
54 reg = <0x10300 0x20>;
55 interrupts = <53>;
56 clocks = <&gate_clk 7>;
57 };
58
59 sata@80000 {
60 compatible = "marvell,orion-sata";
61 reg = <0x80000 0x5000>;
62 interrupts = <21>;
63 clocks = <&gate_clk 14>, <&gate_clk 15>;
64 clock-names = "0", "1";
65 status = "disabled";
66 };
67
68 mvsdio@90000 {
69 compatible = "marvell,orion-sdio";
70 reg = <0x90000 0x200>;
71 interrupts = <28>;
72 clocks = <&gate_clk 4>;
73 bus-width = <4>;
74 cap-sdio-irq;
75 cap-sd-highspeed;
76 cap-mmc-highspeed;
77 status = "disabled";
78 };
79
52 thermal@10078 { 80 thermal@10078 {
53 compatible = "marvell,kirkwood-thermal"; 81 compatible = "marvell,kirkwood-thermal";
54 reg = <0x10078 0x4>; 82 reg = <0x10078 0x4>;
diff --git a/arch/arm/boot/dts/kirkwood-nsa310.dts b/arch/arm/boot/dts/kirkwood-nsa310.dts
index 79391ca5d1c3..089024a6deab 100644
--- a/arch/arm/boot/dts/kirkwood-nsa310.dts
+++ b/arch/arm/boot/dts/kirkwood-nsa310.dts
@@ -1,6 +1,7 @@
1/dts-v1/; 1/dts-v1/;
2 2
3/include/ "kirkwood.dtsi" 3/include/ "kirkwood.dtsi"
4/include/ "kirkwood-6281.dtsi"
4 5
5/ { 6/ {
6 model = "ZyXEL NSA310"; 7 model = "ZyXEL NSA310";
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index e2a28db7a0a7..39f497e21386 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -71,13 +71,6 @@
71 status = "disabled"; 71 status = "disabled";
72 }; 72 };
73 73
74 rtc@10300 {
75 compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
76 reg = <0x10300 0x20>;
77 interrupts = <53>;
78 clocks = <&gate_clk 7>;
79 };
80
81 spi@10600 { 74 spi@10600 {
82 compatible = "marvell,orion-spi"; 75 compatible = "marvell,orion-spi";
83 #address-cells = <1>; 76 #address-cells = <1>;
@@ -151,15 +144,6 @@
151 status = "okay"; 144 status = "okay";
152 }; 145 };
153 146
154 sata@80000 {
155 compatible = "marvell,orion-sata";
156 reg = <0x80000 0x5000>;
157 interrupts = <21>;
158 clocks = <&gate_clk 14>, <&gate_clk 15>;
159 clock-names = "0", "1";
160 status = "disabled";
161 };
162
163 nand@3000000 { 147 nand@3000000 {
164 #address-cells = <1>; 148 #address-cells = <1>;
165 #size-cells = <1>; 149 #size-cells = <1>;
@@ -194,17 +178,5 @@
194 clocks = <&gate_clk 17>; 178 clocks = <&gate_clk 17>;
195 status = "okay"; 179 status = "okay";
196 }; 180 };
197
198 mvsdio@90000 {
199 compatible = "marvell,orion-sdio";
200 reg = <0x90000 0x200>;
201 interrupts = <28>;
202 clocks = <&gate_clk 4>;
203 bus-width = <4>;
204 cap-sdio-irq;
205 cap-sd-highspeed;
206 cap-mmc-highspeed;
207 status = "disabled";
208 };
209 }; 181 };
210}; 182};