]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ARM: kirkwood: refactor dtsi to largest common nodes
authorValentin Longchamp <valentin.longchamp@keymile.com>
Mon, 27 May 2013 15:40:32 +0000 (17:40 +0200)
committerJason Cooper <jason@lakedaemon.net>
Mon, 27 May 2013 16:14:58 +0000 (16:14 +0000)
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>
arch/arm/boot/dts/kirkwood-6281.dtsi
arch/arm/boot/dts/kirkwood-6282.dtsi
arch/arm/boot/dts/kirkwood-nsa310.dts
arch/arm/boot/dts/kirkwood.dtsi

index d6c9d65cbaeb5bba44c0f91504bc53c38f82bad8..0ed2f56a91f12e317fbf4ca5998d947f8d80afc6 100644 (file)
                                marvell,function = "sdio";
                        };
                };
+
+               rtc@10300 {
+                       compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
+                       reg = <0x10300 0x20>;
+                       interrupts = <53>;
+                       clocks = <&gate_clk 7>;
+               };
+
+               sata@80000 {
+                       compatible = "marvell,orion-sata";
+                       reg = <0x80000 0x5000>;
+                       interrupts = <21>;
+                       clocks = <&gate_clk 14>, <&gate_clk 15>;
+                       clock-names = "0", "1";
+                       status = "disabled";
+               };
+
+               mvsdio@90000 {
+                       compatible = "marvell,orion-sdio";
+                       reg = <0x90000 0x200>;
+                       interrupts = <28>;
+                       clocks = <&gate_clk 4>;
+                       bus-width = <4>;
+                       cap-sdio-irq;
+                       cap-sd-highspeed;
+                       cap-mmc-highspeed;
+                       status = "disabled";
+               };
        };
 };
index 23991e45bc55f946609e84cc319c81aeed6d0122..69b760d5b11d0cbfe10e17d006c97c3b6ebd83f7 100644 (file)
                        };
                };
 
+               rtc@10300 {
+                       compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
+                       reg = <0x10300 0x20>;
+                       interrupts = <53>;
+                       clocks = <&gate_clk 7>;
+               };
+
+               sata@80000 {
+                       compatible = "marvell,orion-sata";
+                       reg = <0x80000 0x5000>;
+                       interrupts = <21>;
+                       clocks = <&gate_clk 14>, <&gate_clk 15>;
+                       clock-names = "0", "1";
+                       status = "disabled";
+               };
+
+               mvsdio@90000 {
+                       compatible = "marvell,orion-sdio";
+                       reg = <0x90000 0x200>;
+                       interrupts = <28>;
+                       clocks = <&gate_clk 4>;
+                       bus-width = <4>;
+                       cap-sdio-irq;
+                       cap-sd-highspeed;
+                       cap-mmc-highspeed;
+                       status = "disabled";
+               };
+
                thermal@10078 {
                        compatible = "marvell,kirkwood-thermal";
                        reg = <0x10078 0x4>;
index 79391ca5d1c3b7e57efe2b1c21ae371504d67b35..089024a6deab24613912bbf64b82822668df99eb 100644 (file)
@@ -1,6 +1,7 @@
 /dts-v1/;
 
 /include/ "kirkwood.dtsi"
+/include/ "kirkwood-6281.dtsi"
 
 / {
        model = "ZyXEL NSA310";
index e2a28db7a0a785c59ee07091da20efc24711059b..39f497e2138621b2df1f9d61e37e7238bd81c8bd 100644 (file)
                        status = "disabled";
                };
 
-               rtc@10300 {
-                       compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
-                       reg = <0x10300 0x20>;
-                       interrupts = <53>;
-                       clocks = <&gate_clk 7>;
-               };
-
                spi@10600 {
                        compatible = "marvell,orion-spi";
                        #address-cells = <1>;
                        status = "okay";
                };
 
-               sata@80000 {
-                       compatible = "marvell,orion-sata";
-                       reg = <0x80000 0x5000>;
-                       interrupts = <21>;
-                       clocks = <&gate_clk 14>, <&gate_clk 15>;
-                       clock-names = "0", "1";
-                       status = "disabled";
-               };
-
                nand@3000000 {
                        #address-cells = <1>;
                        #size-cells = <1>;
                        clocks = <&gate_clk 17>;
                        status = "okay";
                };
-
-               mvsdio@90000 {
-                       compatible = "marvell,orion-sdio";
-                       reg = <0x90000 0x200>;
-                       interrupts = <28>;
-                       clocks = <&gate_clk 4>;
-                       bus-width = <4>;
-                       cap-sdio-irq;
-                       cap-sd-highspeed;
-                       cap-mmc-highspeed;
-                       status = "disabled";
-               };
        };
 };