diff --git a/bindings/clock/qcom,gcc.txt b/bindings/clock/qcom,gcc.txt index fddfd6882952..89ee69d7d28d 100644 --- a/bindings/clock/qcom,gcc.txt +++ b/bindings/clock/qcom,gcc.txt @@ -53,6 +53,10 @@ For more details on the TSENS properties please refer Documentation/devicetree/bindings/thermal/qcom-tsens.txt - protected-clocks : Protected clock specifier list as per common clock binding. +- qcom,critical-clocks : List of clock specifiers that should be enabled during + probe and not registered with the clock framework. +- qcom,critical-devices : List of device phandles whose associated clocks + should be enabled during probe and not registered with the clock framework. Example: clock-controller@900000 { @@ -87,3 +91,23 @@ Example of GCC with protected-clocks properties: , ; }; + +Example of GCC with qcom,critical-clocks properties: + clock-controller@100000 { + compatible = "qcom,waipio-gcc", "syscon"; + reg = <0x100000 0x1f4200>; + #clock-cells = <1>; + #reset-cells = <1>; + qcom,critical-clocks = , + , + ; + }; + +Example of GCC with qcom,critical-devices properties: + clock-controller@100000 { + compatible = "qcom,waipio-gcc", "syscon"; + reg = <0x100000 0x1f4200>; + #clock-cells = <1>; + #reset-cells = <1>; + qcom,critical-devices = <&qupv3_se5_i2c>; + }; diff --git a/qcom/yupik-pmic-overlay.dtsi b/qcom/yupik-pmic-overlay.dtsi index ac30b1c1045a..4ba57dd658b0 100644 --- a/qcom/yupik-pmic-overlay.dtsi +++ b/qcom/yupik-pmic-overlay.dtsi @@ -241,6 +241,14 @@ }; }; +/* + * Each QUP device that's a parent to PMIC must be listed as a critical device + * to GCC + */ +&gcc { + qcom,critical-devices = <&qupv3_se1_i2c>; +}; + &qupv3_se1_i2c { #address-cells = <1>; #size-cells = <0>;