diff options
author | Gregory CLEMENT <gregory.clement@free-electrons.com> | 2017-07-25 10:51:20 -0400 |
---|---|---|
committer | Gregory CLEMENT <gregory.clement@free-electrons.com> | 2018-01-05 10:54:40 -0500 |
commit | e3af9f7c6ece29fdb7fe0aeb83ac5d3077a06edb (patch) | |
tree | 34db9264134413b14f69c28f5fa6ab114a787872 | |
parent | 56aeb07c914a616ab84357d34f8414a69b140cdf (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.dtsi | 13 | ||||
-rw-r--r-- | arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi | 9 |
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 | ||