On Thu, Feb 07, 2019 at 04:19:41PM +0530, Amit Kucheria wrote:
> qcs404 has 10 sensors connected to the single TSENS IP. Define a thermal
> zone for each of those sensors to expose the temperature of each zone.
> 
> Signed-off-by: Amit Kucheria <[email protected]>
> ---
>  arch/arm64/boot/dts/qcom/qcs404.dtsi | 243 +++++++++++++++++++++++++++
>  1 file changed, 243 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qcs404.dtsi 
> b/arch/arm64/boot/dts/qcom/qcs404.dtsi
> index 57d14d8f0c90..ca99c45864df 100644
> --- a/arch/arm64/boot/dts/qcom/qcs404.dtsi
> +++ b/arch/arm64/boot/dts/qcom/qcs404.dtsi
> @@ -3,6 +3,7 @@
>  
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
>  #include <dt-bindings/clock/qcom,gcc-qcs404.h>
> +#include <dt-bindings/thermal/thermal.h>
>  
>  / {
>       interrupt-parent = <&intc>;
> @@ -30,6 +31,7 @@
>                       reg = <0x100>;
>                       enable-method = "psci";
>                       next-level-cache = <&L2_0>;
> +                     #cooling-cells= <2>;
>               };
>  
>               CPU1: cpu@101 {
> @@ -38,6 +40,7 @@
>                       reg = <0x101>;
>                       enable-method = "psci";
>                       next-level-cache = <&L2_0>;
> +                     #cooling-cells= <2>;
>               };
>  
>               CPU2: cpu@102 {
> @@ -46,6 +49,7 @@
>                       reg = <0x102>;
>                       enable-method = "psci";
>                       next-level-cache = <&L2_0>;
> +                     #cooling-cells= <2>;
>               };
>  
>               CPU3: cpu@103 {
> @@ -54,6 +58,7 @@
>                       reg = <0x103>;
>                       enable-method = "psci";
>                       next-level-cache = <&L2_0>;
> +                     #cooling-cells= <2>;
>               };
>  
>               L2_0: l2-cache {
> @@ -507,4 +512,242 @@
>                       #interrupt-cells = <2>;
>               };
>       };
> +
> +     thermal-zones {

There are several zones with passive trips and no cooling maps.

> +             aoss-thermal {
> +                     polling-delay-passive = <250>;
> +                     polling-delay = <1000>;
> +
> +                     thermal-sensors = <&tsens 0>;
> +
> +                     trips {
> +                             aoss_alert0: trip-point@0 {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +                             aoss_crit: aoss_crit {
> +                                     temperature = <110000>;
> +                                     hysteresis = <2000>;
> +                                     type = "critical";
> +                             };
> +                     };
> +             };
> +
> +             dsp-thermal {
> +                     polling-delay-passive = <250>;
> +                     polling-delay = <1000>;
> +
> +                     thermal-sensors = <&tsens 1>;
> +
> +                     trips {
> +                             dsp_alert0: trip-point@0 {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +                             dsp_crit: dsp_crit {
> +                                     temperature = <110000>;
> +                                     hysteresis = <2000>;
> +                                     type = "critical";
> +                             };
> +                     };
> +             };
> +
> +             lpass-thermal {
> +                     polling-delay-passive = <250>;
> +                     polling-delay = <1000>;
> +
> +                     thermal-sensors = <&tsens 2>;
> +
> +                     trips {
> +                             lpass_alert0: trip-point@0 {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +                             lpass_crit: lpass_crit {
> +                                     temperature = <110000>;
> +                                     hysteresis = <2000>;
> +                                     type = "critical";
> +                             };
> +                     };
> +             };
> +
> +             wlan-thermal {
> +                     polling-delay-passive = <250>;
> +                     polling-delay = <1000>;
> +
> +                     thermal-sensors = <&tsens 3>;
> +
> +                     trips {
> +                             wlan_alert0: trip-point@0 {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +                             wlan_crit: wlan_crit {
> +                                     temperature = <110000>;
> +                                     hysteresis = <2000>;
> +                                     type = "critical";
> +                             };
> +                     };
> +             };
> +
> +             cluster-thermal {
> +                     polling-delay-passive = <250>;
> +                     polling-delay = <1000>;
> +
> +                     thermal-sensors = <&tsens 4>;
> +
> +                     trips {
> +                             cluster_alert0: trip-point@0 {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +                             cluster_crit: cluster_crit {
> +                                     temperature = <110000>;
> +                                     hysteresis = <2000>;
> +                                     type = "critical";
> +                             };
> +                     };
> +             };
> +
> +             cpu0-thermal {
> +                     polling-delay-passive = <250>;
> +                     polling-delay = <1000>;
> +
> +                     thermal-sensors = <&tsens 5>;
> +
> +                     trips {
> +                             cpu0_alert0: trip-point@0 {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +                             cpu0_crit: cpu_crit {
> +                                     temperature = <110000>;
> +                                     hysteresis = <2000>;
> +                                     type = "critical";
> +                             };
> +                     };
> +                     cooling-maps {
> +                             map0 {
> +                                     trip = <&cpu0_alert0>;
> +                                     cooling-device = <&CPU0 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                    <&CPU1 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>,
> +                                                    <&CPU2 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>,
> +                                                    <&CPU3 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>;
> +                             };
> +                     };
> +             };
> +
> +             cpu1-thermal {
> +                     polling-delay-passive = <250>;
> +                     polling-delay = <1000>;
> +
> +                     thermal-sensors = <&tsens 6>;
> +
> +                     trips {
> +                             cpu1_alert0: trip-point@0 {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +                             cpu1_crit: cpu_crit {
> +                                     temperature = <110000>;
> +                                     hysteresis = <2000>;
> +                                     type = "critical";
> +                             };
> +                     };
> +                     cooling-maps {
> +                             map0 {
> +                                     trip = <&cpu1_alert0>;
> +                                     cooling-device = <&CPU0 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                    <&CPU1 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>,
> +                                                    <&CPU2 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>,
> +                                                    <&CPU3 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>;
> +                             };
> +                     };
> +             };
> +
> +             cpu2-thermal {
> +                     polling-delay-passive = <250>;
> +                     polling-delay = <1000>;
> +
> +                     thermal-sensors = <&tsens 7>;
> +
> +                     trips {
> +                             cpu2_alert0: trip-point@0 {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +                             cpu2_crit: cpu_crit {
> +                                     temperature = <110000>;
> +                                     hysteresis = <2000>;
> +                                     type = "critical";
> +                             };
> +                     };
> +                     cooling-maps {
> +                             map0 {
> +                                     trip = <&cpu2_alert0>;
> +                                     cooling-device = <&CPU0 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                    <&CPU1 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>,
> +                                                    <&CPU2 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>,
> +                                                    <&CPU3 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>;
> +                             };
> +                     };
> +             };
> +
> +             cpu3-thermal {
> +                     polling-delay-passive = <250>;
> +                     polling-delay = <1000>;
> +
> +                     thermal-sensors = <&tsens 8>;
> +
> +                     trips {
> +                             cpu3_alert0: trip-point@0 {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +                             cpu3_crit: cpu_crit {
> +                                     temperature = <110000>;
> +                                     hysteresis = <2000>;
> +                                     type = "critical";
> +                             };
> +                     };
> +                     cooling-maps {
> +                             map0 {
> +                                     trip = <&cpu3_alert0>;
> +                                     cooling-device = <&CPU0 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                    <&CPU1 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>,
> +                                                    <&CPU2 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>,
> +                                                    <&CPU3 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>;
> +                             };
> +                     };
> +             };
> +
> +             gpu-thermal {
> +                     polling-delay-passive = <250>;
> +                     polling-delay = <1000>;
> +
> +                     thermal-sensors = <&tsens 9>;
> +
> +                     trips {
> +                             gpu_alert0: trip-point@0 {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "passive";
> +                             };
> +                             gpu_crit: gpu_crit {
> +                                     temperature = <95000>;
> +                                     hysteresis = <2000>;
> +                                     type = "critical";
> +                             };
> +                     };
> +             };
> +     };
>  };
> -- 
> 2.17.1
> 

Reply via email to