arm64: dts: qcom: msm8998: reserve potentially inaccessible clocks
authorMichael Srba <michael.srba@seznam.cz>
Mon, 11 Apr 2022 07:21:56 +0000 (09:21 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 19 Apr 2022 17:07:24 +0000 (12:07 -0500)
With the gcc driver now being more complete and describing clocks which
might not always be write-accessible to the OS, conservatively specify
all such clocks as protected in the SoC dts.
The board dts - or even user-supplied dts - can override this property
to reflect the actual configuration.

Signed-off-by: Michael Srba <michael.srba@seznam.cz>
Reviewed-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220411072156.24451-6-michael.srba@seznam.cz
arch/arm64/boot/dts/qcom/msm8998.dtsi

index 2fda21e..4a84de6 100644 (file)
 
                        clock-names = "xo", "sleep_clk";
                        clocks = <&xo>, <&sleep_clk>;
+
+                       /*
+                        * The hypervisor typically configures the memory region where these clocks
+                        * reside as read-only for the HLOS. If the HLOS tried to enable or disable
+                        * these clocks on a device with such configuration (e.g. because they are
+                        * enabled but unused during boot-up), the device will most likely decide
+                        * to reboot.
+                        * In light of that, we are conservative here and we list all such clocks
+                        * as protected. The board dts (or a user-supplied dts) can override the
+                        * list of protected clocks if it differs from the norm, and it is in fact
+                        * desired for the HLOS to manage these clocks
+                        */
+                       protected-clocks = <AGGRE2_SNOC_NORTH_AXI>,
+                                          <SSC_XO>,
+                                          <SSC_CNOC_AHBS_CLK>;
                };
 
                rpm_msg_ram: sram@778000 {