diff --git a/qcom/parrot-regulators.dtsi b/qcom/parrot-regulators.dtsi index 23b8b784..e9c8345d 100644 --- a/qcom/parrot-regulators.dtsi +++ b/qcom/parrot-regulators.dtsi @@ -32,6 +32,13 @@ qcom,init-voltage-level = ; }; + + cx_cdev: regulator-cdev { + compatible = "qcom,rpmh-reg-cdev"; + mboxes = <&qmp_aop 0>; + qcom,reg-resource-name = "cx"; + #cooling-cells = <2>; + }; }; rpmh-regulator-gfxlvl { diff --git a/qcom/parrot-thermal.dtsi b/qcom/parrot-thermal.dtsi index 9045af2b..6f09967e 100644 --- a/qcom/parrot-thermal.dtsi +++ b/qcom/parrot-thermal.dtsi @@ -11,8 +11,9 @@ <0x0c222000 0x1ff>; /* SROT */ #qcom,sensors = <16>; interrupts = , - ; - interrupt-names = "uplow","critical"; + , + ; + interrupt-names = "uplow","critical", "cold"; #thermal-sensor-cells = <1>; }; @@ -22,8 +23,9 @@ <0x0c223000 0x1ff>; /* SROT */ #qcom,sensors = <16>; interrupts = , - ; - interrupt-names = "uplow","critical"; + , + ; + interrupt-names = "uplow","critical", "cold"; #thermal-sensor-cells = <1>; }; @@ -1078,4 +1080,56 @@ }; }; }; + + zeroc-0-step { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 128>; + trips { + thermal-engine-config { + temperature = <1>; + hysteresis = <1>; + type = "passive"; + }; + + min_temp_0_trip: cold-trip { + temperature = <1>; + hysteresis = <1>; + type = "passive"; + }; + }; + + cooling-maps { + wcss_cx_vdd_cdev { + trip = <&min_temp_0_trip>; + cooling-device = <&cx_cdev 1 1>; + }; + }; + }; + + zeroc-1-step { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens1 128>; + trips { + thermal-engine-config { + temperature = <1>; + hysteresis = <1>; + type = "passive"; + }; + + min_temp_1_trip: cold-trip { + temperature = <1>; + hysteresis = <1>; + type = "passive"; + }; + }; + + cooling-maps { + wcss_cx_vdd_cdev { + trip = <&min_temp_1_trip>; + cooling-device = <&cx_cdev 1 1>; + }; + }; + }; };