At late init all unused clocks are disabled. So clocks that were not get before will be gated. In Keysone 2 SoC we have at least one necessary clock that is not used by any driver - "msmcsram". This clock is necessary, because it supplies the Multicore Shared Memory Controller (MSMC). MSMC is the coherency interconnect and all the coherent masters are connected to it including devices which are not under Linux OS control. MSMC clock should not be touched even in low power states. So drop the clock node, otherwise 'clk_ignore_unused' parameter will disable the clock leading to system stall. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxx> --- Based on git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git keystone/master v1..v2: - dropped "msmcsram" clock node, instead disabling - updated comment message arch/arm/boot/dts/keystone-clocks.dtsi | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/arch/arm/boot/dts/keystone-clocks.dtsi b/arch/arm/boot/dts/keystone-clocks.dtsi index 2363593..98ad488 100644 --- a/arch/arm/boot/dts/keystone-clocks.dtsi +++ b/arch/arm/boot/dts/keystone-clocks.dtsi @@ -327,16 +327,6 @@ clocks { domain-id = <6>; }; - clkmsmcsram: clkmsmcsram { - #clock-cells = <0>; - compatible = "ti,keystone,psc-clock"; - clocks = <&chipclk1>; - clock-output-names = "msmcsram"; - reg = <0x02350038 0xb00>, <0x0235001c 0x400>; - reg-names = "control", "domain"; - domain-id = <7>; - }; - clkgem0: clkgem0 { #clock-cells = <0>; compatible = "ti,keystone,psc-clock"; -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html