Loading arch/arm64/boot/dts/qcom/pm660.dtsi +13 −8 Original line number Diff line number Diff line /* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved. /* Copyright (c) 2016-2017, 2019,2020 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -448,18 +448,23 @@ }; }; bcl@4200 { bcl_sensor:bcl@4200 { compatible = "qcom,msm-bcl-lmh"; reg = <0x4200 0xff>, <0x4300 0xff>; reg-names = "fg_user_adc", "fg_lmh"; interrupts = <0x0 0x42 0x0 IRQ_TYPE_NONE>, <0x0 0x42 0x2 IRQ_TYPE_NONE>; interrupt-names = "bcl-high-ibat-int", "bcl-low-vbat-int"; qcom,vbat-polling-delay-ms = <100>; qcom,ibat-polling-delay-ms = <100>; <0x0 0x42 0x1 IRQ_TYPE_NONE>, <0x0 0x42 0x2 IRQ_TYPE_NONE>, <0x0 0x42 0x3 IRQ_TYPE_NONE>, <0x0 0x42 0x4 IRQ_TYPE_NONE>; interrupt-names = "bcl-high-ibat", "bcl-very-high-ibat", "bcl-low-vbat", "bcl-very-low-vbat", "bcl-crit-low-vbat"; #thermal-sensor-cells = <1>; }; }; Loading Loading @@ -557,7 +562,7 @@ hysteresis = <0>; type = "passive"; }; trip2 { pm660_trip2: trip2 { temperature = <145000>; hysteresis = <0>; type = "passive"; Loading arch/arm64/boot/dts/qcom/sdm660.dtsi +168 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <dt-bindings/regulator/qcom,rpm-smd-regulator.h> #include <dt-bindings/msm/msm-bus-ids.h> #include <dt-bindings/clock/qcom,cpu-osm.h> #include <dt-bindings/thermal/thermal.h> #define MHZ_TO_MBPS(mhz, w) ((mhz * 1000000 * w) / (1024 * 1024)) #define BW_OPP_ENTRY(mhz, w) opp-mhz {opp-hz = /bits/ 64 <MHZ_TO_MBPS(mhz, w)>;} Loading Loading @@ -62,6 +63,7 @@ qcom,ea = <&ea0>; efficiency = <1024>; next-level-cache = <&L2_0>; #cooling-cells = <2>; L2_0: l2-cache { compatible = "arm,arch-cache"; cache-level = <2>; Loading @@ -88,6 +90,7 @@ enable-method = "psci"; qcom,limits-info = <&mitigation_profile0>; qcom,lmh-dcvs = <&lmh_dcvs0>; #cooling-cells = <2>; qcom,ea = <&ea1>; efficiency = <1024>; next-level-cache = <&L2_0>; Loading @@ -114,6 +117,7 @@ qcom,ea = <&ea2>; efficiency = <1024>; next-level-cache = <&L2_0>; #cooling-cells = <2>; L1_I_2: l1-icache { compatible = "arm,arch-cache"; qcom,dump-size = <0x9040>; Loading @@ -137,6 +141,7 @@ qcom,ea = <&ea3>; efficiency = <1024>; next-level-cache = <&L2_0>; #cooling-cells = <2>; L1_I_3: l1-icache { compatible = "arm,arch-cache"; qcom,dump-size = <0x9040>; Loading @@ -160,6 +165,7 @@ qcom,ea = <&ea4>; efficiency = <1638>; next-level-cache = <&L2_1>; #cooling-cells = <2>; L2_1: l2-cache { compatible = "arm,arch-cache"; cache-level = <2>; Loading @@ -184,6 +190,7 @@ enable-method = "psci"; qcom,limits-info = <&mitigation_profile2>; qcom,lmh-dcvs = <&lmh_dcvs1>; #cooling-cells = <2>; qcom,ea = <&ea5>; efficiency = <1638>; next-level-cache = <&L2_1>; Loading @@ -207,6 +214,7 @@ enable-method = "psci"; qcom,limits-info = <&mitigation_profile3>; qcom,lmh-dcvs = <&lmh_dcvs1>; #cooling-cells = <2>; qcom,ea = <&ea6>; efficiency = <1638>; next-level-cache = <&L2_1>; Loading @@ -230,6 +238,7 @@ enable-method = "psci"; qcom,limits-info = <&mitigation_profile4>; qcom,lmh-dcvs = <&lmh_dcvs1>; #cooling-cells = <2>; qcom,ea = <&ea7>; efficiency = <1638>; next-level-cache = <&L2_1>; Loading Loading @@ -2997,6 +3006,165 @@ }; }; }; ibat-high { polling-delay-passive = <100>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&bcl_sensor 0>; trips { pm660_ibat_high: ibat-high { temperature = <4200>; hysteresis = <200>; type = "passive"; }; }; cooling-maps { ibat_map6 { trip = <&pm660_ibat_high>; cooling-device = <&CPU6 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; ibat_map7 { trip = <&pm660_ibat_high>; cooling-device = <&CPU7 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; ibat-vhigh { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&bcl_sensor 1>; trips { pm660_ibat_vhigh: ibat-vhigh { temperature = <4300>; hysteresis = <100>; type = "passive"; }; }; }; vbat_adc { polling-delay-passive = <100>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 2>; tracks-low; trips { pm660_vbat_adc: vbat-adc { temperature = <3500>; hysteresis = <100>; type = "passive"; }; }; cooling-maps { vbat_map4 { trip = <&pm660_vbat_adc>; cooling-device = <&CPU4 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; vbat_map5 { trip = <&pm660_vbat_adc>; cooling-device = <&CPU5 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; vbat_map6 { trip = <&pm660_vbat_adc>; cooling-device = <&CPU6 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; vbat_map7 { trip = <&pm660_vbat_adc>; cooling-device = <&CPU7 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; vbat_low { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 3>; tracks-low; trips { pm660_vbat_low: vbat-low { temperature = <2800>; hysteresis = <0>; type = "passive"; }; }; }; vbat_too_low { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 4>; tracks-low; trips { pm660_vbat_too_low: vbat-too-low { temperature = <2600>; hysteresis = <0>; type = "passive"; }; }; }; soc { polling-delay-passive = <100>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 5>; tracks-low; trips { pm660_low_soc: low-soc { temperature = <10>; hysteresis = <0>; type = "passive"; }; }; cooling-maps { soc_map4 { trip = <&pm660_low_soc>; cooling-device = <&CPU4 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; soc_map5 { trip = <&pm660_low_soc>; cooling-device = <&CPU5 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; soc_map6 { trip = <&pm660_low_soc>; cooling-device = <&CPU6 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; soc_map7 { trip = <&pm660_low_soc>; cooling-device = <&CPU7 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; }; #include "sdm660-mdss.dtsi" #include "sdm660-mdss-pll.dtsi" Loading
arch/arm64/boot/dts/qcom/pm660.dtsi +13 −8 Original line number Diff line number Diff line /* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved. /* Copyright (c) 2016-2017, 2019,2020 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -448,18 +448,23 @@ }; }; bcl@4200 { bcl_sensor:bcl@4200 { compatible = "qcom,msm-bcl-lmh"; reg = <0x4200 0xff>, <0x4300 0xff>; reg-names = "fg_user_adc", "fg_lmh"; interrupts = <0x0 0x42 0x0 IRQ_TYPE_NONE>, <0x0 0x42 0x2 IRQ_TYPE_NONE>; interrupt-names = "bcl-high-ibat-int", "bcl-low-vbat-int"; qcom,vbat-polling-delay-ms = <100>; qcom,ibat-polling-delay-ms = <100>; <0x0 0x42 0x1 IRQ_TYPE_NONE>, <0x0 0x42 0x2 IRQ_TYPE_NONE>, <0x0 0x42 0x3 IRQ_TYPE_NONE>, <0x0 0x42 0x4 IRQ_TYPE_NONE>; interrupt-names = "bcl-high-ibat", "bcl-very-high-ibat", "bcl-low-vbat", "bcl-very-low-vbat", "bcl-crit-low-vbat"; #thermal-sensor-cells = <1>; }; }; Loading Loading @@ -557,7 +562,7 @@ hysteresis = <0>; type = "passive"; }; trip2 { pm660_trip2: trip2 { temperature = <145000>; hysteresis = <0>; type = "passive"; Loading
arch/arm64/boot/dts/qcom/sdm660.dtsi +168 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <dt-bindings/regulator/qcom,rpm-smd-regulator.h> #include <dt-bindings/msm/msm-bus-ids.h> #include <dt-bindings/clock/qcom,cpu-osm.h> #include <dt-bindings/thermal/thermal.h> #define MHZ_TO_MBPS(mhz, w) ((mhz * 1000000 * w) / (1024 * 1024)) #define BW_OPP_ENTRY(mhz, w) opp-mhz {opp-hz = /bits/ 64 <MHZ_TO_MBPS(mhz, w)>;} Loading Loading @@ -62,6 +63,7 @@ qcom,ea = <&ea0>; efficiency = <1024>; next-level-cache = <&L2_0>; #cooling-cells = <2>; L2_0: l2-cache { compatible = "arm,arch-cache"; cache-level = <2>; Loading @@ -88,6 +90,7 @@ enable-method = "psci"; qcom,limits-info = <&mitigation_profile0>; qcom,lmh-dcvs = <&lmh_dcvs0>; #cooling-cells = <2>; qcom,ea = <&ea1>; efficiency = <1024>; next-level-cache = <&L2_0>; Loading @@ -114,6 +117,7 @@ qcom,ea = <&ea2>; efficiency = <1024>; next-level-cache = <&L2_0>; #cooling-cells = <2>; L1_I_2: l1-icache { compatible = "arm,arch-cache"; qcom,dump-size = <0x9040>; Loading @@ -137,6 +141,7 @@ qcom,ea = <&ea3>; efficiency = <1024>; next-level-cache = <&L2_0>; #cooling-cells = <2>; L1_I_3: l1-icache { compatible = "arm,arch-cache"; qcom,dump-size = <0x9040>; Loading @@ -160,6 +165,7 @@ qcom,ea = <&ea4>; efficiency = <1638>; next-level-cache = <&L2_1>; #cooling-cells = <2>; L2_1: l2-cache { compatible = "arm,arch-cache"; cache-level = <2>; Loading @@ -184,6 +190,7 @@ enable-method = "psci"; qcom,limits-info = <&mitigation_profile2>; qcom,lmh-dcvs = <&lmh_dcvs1>; #cooling-cells = <2>; qcom,ea = <&ea5>; efficiency = <1638>; next-level-cache = <&L2_1>; Loading @@ -207,6 +214,7 @@ enable-method = "psci"; qcom,limits-info = <&mitigation_profile3>; qcom,lmh-dcvs = <&lmh_dcvs1>; #cooling-cells = <2>; qcom,ea = <&ea6>; efficiency = <1638>; next-level-cache = <&L2_1>; Loading @@ -230,6 +238,7 @@ enable-method = "psci"; qcom,limits-info = <&mitigation_profile4>; qcom,lmh-dcvs = <&lmh_dcvs1>; #cooling-cells = <2>; qcom,ea = <&ea7>; efficiency = <1638>; next-level-cache = <&L2_1>; Loading Loading @@ -2997,6 +3006,165 @@ }; }; }; ibat-high { polling-delay-passive = <100>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&bcl_sensor 0>; trips { pm660_ibat_high: ibat-high { temperature = <4200>; hysteresis = <200>; type = "passive"; }; }; cooling-maps { ibat_map6 { trip = <&pm660_ibat_high>; cooling-device = <&CPU6 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; ibat_map7 { trip = <&pm660_ibat_high>; cooling-device = <&CPU7 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; ibat-vhigh { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&bcl_sensor 1>; trips { pm660_ibat_vhigh: ibat-vhigh { temperature = <4300>; hysteresis = <100>; type = "passive"; }; }; }; vbat_adc { polling-delay-passive = <100>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 2>; tracks-low; trips { pm660_vbat_adc: vbat-adc { temperature = <3500>; hysteresis = <100>; type = "passive"; }; }; cooling-maps { vbat_map4 { trip = <&pm660_vbat_adc>; cooling-device = <&CPU4 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; vbat_map5 { trip = <&pm660_vbat_adc>; cooling-device = <&CPU5 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; vbat_map6 { trip = <&pm660_vbat_adc>; cooling-device = <&CPU6 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; vbat_map7 { trip = <&pm660_vbat_adc>; cooling-device = <&CPU7 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; vbat_low { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 3>; tracks-low; trips { pm660_vbat_low: vbat-low { temperature = <2800>; hysteresis = <0>; type = "passive"; }; }; }; vbat_too_low { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 4>; tracks-low; trips { pm660_vbat_too_low: vbat-too-low { temperature = <2600>; hysteresis = <0>; type = "passive"; }; }; }; soc { polling-delay-passive = <100>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 5>; tracks-low; trips { pm660_low_soc: low-soc { temperature = <10>; hysteresis = <0>; type = "passive"; }; }; cooling-maps { soc_map4 { trip = <&pm660_low_soc>; cooling-device = <&CPU4 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; soc_map5 { trip = <&pm660_low_soc>; cooling-device = <&CPU5 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; soc_map6 { trip = <&pm660_low_soc>; cooling-device = <&CPU6 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; soc_map7 { trip = <&pm660_low_soc>; cooling-device = <&CPU7 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; }; #include "sdm660-mdss.dtsi" #include "sdm660-mdss-pll.dtsi"