aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGregory CLEMENT <gregory.clement@free-electrons.com>2017-07-25 10:51:20 -0400
committerGregory CLEMENT <gregory.clement@free-electrons.com>2018-01-05 10:54:40 -0500
commite3af9f7c6ece29fdb7fe0aeb83ac5d3077a06edb (patch)
tree34db9264134413b14f69c28f5fa6ab114a787872
parent56aeb07c914a616ab84357d34f8414a69b140cdf (diff)
ARM64: dts: marvell: armada-cp110: Fix clock resources for various node
On the CP modules we found on Armada 7K/8K, many IP block actually also need a "functional" clock (from the bus). This patch add them which allows to fix some issues hanging the kernel: If Ethernet and sdhci driver are built as modules and sdhci was loaded first then the kernel hang. Fixes: bb16ea1742c8 ("mmc: sdhci-xenon: Fix clock resource by adding an optional bus clock") Cc: stable@vger.kernel.org Reported-by: Riku Voipio <riku.voipio@linaro.org> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
-rw-r--r--arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi13
-rw-r--r--arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi9
2 files changed, 14 insertions, 8 deletions
diff --git a/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi b/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
index e3b64d03fbd8..9c7724e82aff 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
@@ -63,8 +63,10 @@
63 cpm_ethernet: ethernet@0 { 63 cpm_ethernet: ethernet@0 {
64 compatible = "marvell,armada-7k-pp22"; 64 compatible = "marvell,armada-7k-pp22";
65 reg = <0x0 0x100000>, <0x129000 0xb000>; 65 reg = <0x0 0x100000>, <0x129000 0xb000>;
66 clocks = <&cpm_clk 1 3>, <&cpm_clk 1 9>, <&cpm_clk 1 5>; 66 clocks = <&cpm_clk 1 3>, <&cpm_clk 1 9>,
67 clock-names = "pp_clk", "gop_clk", "mg_clk"; 67 <&cpm_clk 1 5>, <&cpm_clk 1 18>;
68 clock-names = "pp_clk", "gop_clk",
69 "mg_clk","axi_clk";
68 marvell,system-controller = <&cpm_syscon0>; 70 marvell,system-controller = <&cpm_syscon0>;
69 status = "disabled"; 71 status = "disabled";
70 dma-coherent; 72 dma-coherent;
@@ -155,7 +157,8 @@
155 #size-cells = <0>; 157 #size-cells = <0>;
156 compatible = "marvell,orion-mdio"; 158 compatible = "marvell,orion-mdio";
157 reg = <0x12a200 0x10>; 159 reg = <0x12a200 0x10>;
158 clocks = <&cpm_clk 1 9>, <&cpm_clk 1 5>; 160 clocks = <&cpm_clk 1 9>, <&cpm_clk 1 5>,
161 <&cpm_clk 1 6>, <&cpm_clk 1 18>;
159 status = "disabled"; 162 status = "disabled";
160 }; 163 };
161 164
@@ -338,8 +341,8 @@
338 compatible = "marvell,armada-cp110-sdhci"; 341 compatible = "marvell,armada-cp110-sdhci";
339 reg = <0x780000 0x300>; 342 reg = <0x780000 0x300>;
340 interrupts = <ICU_GRP_NSR 27 IRQ_TYPE_LEVEL_HIGH>; 343 interrupts = <ICU_GRP_NSR 27 IRQ_TYPE_LEVEL_HIGH>;
341 clock-names = "core"; 344 clock-names = "core","axi";
342 clocks = <&cpm_clk 1 4>; 345 clocks = <&cpm_clk 1 4>, <&cpm_clk 1 18>;
343 dma-coherent; 346 dma-coherent;
344 status = "disabled"; 347 status = "disabled";
345 }; 348 };
diff --git a/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi b/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi
index 0d51096c69f8..87ac68b2cf37 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi
@@ -63,8 +63,10 @@
63 cps_ethernet: ethernet@0 { 63 cps_ethernet: ethernet@0 {
64 compatible = "marvell,armada-7k-pp22"; 64 compatible = "marvell,armada-7k-pp22";
65 reg = <0x0 0x100000>, <0x129000 0xb000>; 65 reg = <0x0 0x100000>, <0x129000 0xb000>;
66 clocks = <&cps_clk 1 3>, <&cps_clk 1 9>, <&cps_clk 1 5>; 66 clocks = <&cps_clk 1 3>, <&cps_clk 1 9>,
67 clock-names = "pp_clk", "gop_clk", "mg_clk"; 67 <&cps_clk 1 5>, <&cps_clk 1 18>;
68 clock-names = "pp_clk", "gop_clk",
69 "mg_clk", "axi_clk";
68 marvell,system-controller = <&cps_syscon0>; 70 marvell,system-controller = <&cps_syscon0>;
69 status = "disabled"; 71 status = "disabled";
70 dma-coherent; 72 dma-coherent;
@@ -155,7 +157,8 @@
155 #size-cells = <0>; 157 #size-cells = <0>;
156 compatible = "marvell,orion-mdio"; 158 compatible = "marvell,orion-mdio";
157 reg = <0x12a200 0x10>; 159 reg = <0x12a200 0x10>;
158 clocks = <&cps_clk 1 9>, <&cps_clk 1 5>; 160 clocks = <&cps_clk 1 9>, <&cps_clk 1 5>,
161 <&cps_clk 1 6>, <&cps_clk 1 18>;
159 status = "disabled"; 162 status = "disabled";
160 }; 163 };
161 164