Message ID | 20220220212034.9152-5-michael.srba@seznam.cz (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v8,1/5] dt-bindings: clock: gcc-msm8998: Add definitions of SSC-related clocks | expand |
On Mon, Feb 21, 2022 at 2:24 AM <michael.srba@seznam.cz> wrote: > > From: Michael Srba <michael.srba@seznam.cz> > > 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>
diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi index f273bc1ff629..16dccf9d881e 100644 --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi @@ -863,6 +863,21 @@ gcc: clock-controller@100000 { 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 {