Loading bindings/thermal/qcom-thermal-efprom.txt 0 → 100644 +73 −0 Original line number Diff line number Diff line Modify Thermal Zone based on efuse data This driver is to enable/disable pre-configured thermal zones selectively at runtime based on efuse data. It uses QFPROM nvmem cell interface to read efuse data. It supports multiple efuse condition. If any of the efuse condition fails, driver just exits with default enabled thermal zones. Properties: - compatible: Usage: Required Value type: <string> Definition: shall be "qcom,thermal-qfprom-device". - nvmem-cells: Usage: Required Value type: <array of phandle> Definition: Array of phandles pointing to a nvmem-cells node representing the efuse registers that has information that is used to select the right thermal zone to enable. Please refer nvmem-cells bindings Documentation/devicetree/bindings/nvmem/nvmem.txt and also example below. nvmem-cell-names: Usage: Required Value type: <array of string> Definition: Should be array of name for each nvmem-cells phandle data. Please refer nvmem-cells bindings Documentation/devicetree/bindings/nvmem/nvmem.txt and also example below. - qcom,thermal-qfprom-bit-values: It should be array of bit mask values to match with each nvmem-cells bit value respectively. If all nvmem-cells values are matching with respective bit mask value from this property, then driver will update thermal zones as per thermal zones mentioned in 'qcom,thermal-zone-enable-list' and 'qcom,thermal-zone-disable-list'. - qcom,thermal-zone-enable-list: Usage: Required Value type: <array of strings> Definition: Should define this property with list of thermal zone names those need to be enabled if nvmem-cells condition is met. - qcom,thermal-zone-disable-list: Usage: Required Value type: <array of strings> Definition: Should define this property with list of thermal zone names those need to be disabled if nvmem-cells condition is met. Example: qcom-thermal-qfprom { compatible = "qcom,thermal-qfprom-device"; nvmem-cells = <&thermal_cpe>, <&thermal_revision>; nvmem-cell-names = "cpe", "revision"; qcom,thermal-qfprom-bit-values = <0x1 0x3> qcom,thermal-zone-enable-list = "mdm-core-0-cpe-step", "mdm-core-1-cpe-step"; qcom,thermal-zone-disable-list = "mdm-core-0-step", "mdm-core-1-step"; }; In this example, driver gets efuse bit values of nvmem-cell register for both 'cpe' and 'revision' nvmem cells. It then compares these efuse values with property 'qcom,thermal-qfprom-bit-values' values (0x1 and 0x3 here) respectively. If both efuse values are matching with this property values, driver enables thermal zones listed in property 'qcom,thermal-zone-enable-list' and disables thermal zones listed in property 'qcom,thermal-zone-disable-list'. If any of the efuse value is not matching with respective 'qcom,thermal-qfprom-bit-values' values, driver just exits without modifying any thermal zone. qcom/kona.dtsi +10 −5 Original line number Diff line number Diff line Loading @@ -4966,20 +4966,25 @@ qfprom: qfprom@780000 { compatible = "qcom,qfprom"; reg = <0x00784000 0x3000>; reg = <0x00780000 0x5000>; #address-cells = <1>; #size-cells = <1>; read-only; ranges; gpu_lm_efuse: gpu_lm_efuse@5c8 { reg = <0x5c8 0x4>; gpu_lm_efuse: gpu_lm_efuse@45c8 { reg = <0x45c8 0x4>; }; gpu_speed_bin: gpu_speed_bin@19b { reg = <0x19b 0x1>; gpu_speed_bin: gpu_speed_bin@419b { reg = <0x419b 0x1>; bits = <5 3>; }; thermal_speed_bin: thermal-speed-bin@1a2 { reg = <0x1a2 0x1>; bits = <7 1>; }; }; }; Loading qcom/qrb5165.dtsi +758 −0 Original line number Diff line number Diff line Loading @@ -8,3 +8,761 @@ }; #include "kona-v2.1-gpu.dtsi" &soc { qcom-thermal-qfprom { compatible = "qcom,thermal-qfprom-device"; nvmem-cells = <&thermal_speed_bin>; nvmem-cell-names = "thermal_speed_bin"; qcom,thermal-qfprom-bit-values = <0x1>; qcom,thermal-zone-enable-list = "gpuss-max-iot-step", "cpu-0-0-iot-step", "cpu-0-1-iot-step", "cpu-0-2-iot-step", "cpu-0-3-iot-step", "cpu-1-0-iot-step", "cpu-1-1-iot-step", "cpu-1-2-iot-step", "cpu-1-3-iot-step", "cpu-1-4-iot-step", "cpu-1-5-iot-step", "cpu-1-6-iot-step", "cpu-1-7-iot-step", "cwlan-iot-step", "video-iot-step", "ddr-iot-step", "q6-hvx-iot-step", "camera-iot-step", "cmpss-iot-step", "npu-iot-step"; qcom,thermal-zone-disable-list = "gpuss-max-step", "cpu-0-0-step", "cpu-0-1-step", "cpu-0-2-step", "cpu-0-3-step", "cpu-1-0-step", "cpu-1-1-step", "cpu-1-2-step", "cpu-1-3-step", "cpu-1-4-step", "cpu-1-5-step", "cpu-1-6-step", "cpu-1-7-step", "cwlan-step", "video-step", "ddr-step", "q6-hvx-step", "camera-step", "cmpss-step", "npu-step"; }; }; &thermal_zones { gpuss-max-iot-step { polling-delay-passive = <10>; polling-delay = <100>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { gpu_iot_trip0: gpu-trip0 { temperature = <110000>; hysteresis = <0>; type = "passive"; }; }; cooling-maps { gpu_cdev { trip = <&gpu_iot_trip0>; cooling-device = <&msm_gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; }; pop-mem-step { status = "disabled"; }; cpu-0-0-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&tsens0 1>; wake-capable-sensor; disable-thermal-zone; trips { cpu00_iot_config: cpu00-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpu00_cdev { trip = <&cpu00_iot_config>; cooling-device = <&cpu0_isolate 1 1>; }; }; }; cpu-0-1-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&tsens0 2>; wake-capable-sensor; disable-thermal-zone; trips { cpu01_iot_config: cpu01-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpu01_cdev { trip = <&cpu01_iot_config>; cooling-device = <&cpu1_isolate 1 1>; }; }; }; cpu-0-2-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&tsens0 3>; wake-capable-sensor; disable-thermal-zone; trips { cpu02_iot_config: cpu02-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpu02_cdev { trip = <&cpu02_iot_config>; cooling-device = <&cpu2_isolate 1 1>; }; }; }; cpu-0-3-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 4>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpu03_iot_config: cpu03-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpu03_cdev { trip = <&cpu03_iot_config>; cooling-device = <&cpu3_isolate 1 1>; }; }; }; cpu-1-0-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 7>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_10_iot_config: cpufreq-10-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu10_iot_config: cpu10-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_10_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu10_cdev { trip = <&cpu10_iot_config>; cooling-device = <&cpu4_isolate 1 1>; }; }; }; cpu-1-1-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 8>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_11_iot_config: cpufreq-11-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu11_iot_config: cpu11-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_11_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu11_cdev { trip = <&cpu11_iot_config>; cooling-device = <&cpu5_isolate 1 1>; }; }; }; cpu-1-2-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 9>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_12_iot_config: cpufreq-12-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu12_iot_config: cpu12-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_12_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu12_cdev { trip = <&cpu12_iot_config>; cooling-device = <&cpu6_isolate 1 1>; }; }; }; cpu-1-3-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 10>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_13_iot_config: cpufreq-13-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu13_iot_config: cpu13-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_13_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu13_cdev { trip = <&cpu13_iot_config>; cooling-device = <&cpu7_isolate 1 1>; }; }; }; cpu-1-4-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 11>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_14_iot_config: cpufreq-14-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu14_iot_config: cpu14-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_14_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu14_cdev { trip = <&cpu14_iot_config>; cooling-device = <&cpu4_isolate 1 1>; }; }; }; cpu-1-5-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 12>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_15_iot_config: cpufreq-15-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu15_iot_config: cpu15-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_15_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu15_cdev { trip = <&cpu15_iot_config>; cooling-device = <&cpu5_isolate 1 1>; }; }; }; cpu-1-6-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 13>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_16_iot_config: cpufreq-16-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu16_iot_config: cpu16-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_16_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu16_cdev { trip = <&cpu16_iot_config>; cooling-device = <&cpu6_isolate 1 1>; }; }; }; cpu-1-7-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 14>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_17_iot_config: cpufreq-17-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu17_iot_config: cpu17-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_17_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu17_cdev { trip = <&cpu17_iot_config>; cooling-device = <&cpu7_isolate 1 1>; }; }; }; cwlan-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 1>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cwlan_iot_trip0: cwlan-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&cwlan_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&cwlan_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&cwlan_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&cwlan_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&cwlan_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; video-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 2>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { video_iot_trip0: video-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&video_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&video_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&video_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&video_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&video_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; ddr-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 3>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { ddr_iot_trip0: ddr-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&ddr_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&ddr_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&ddr_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&ddr_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&ddr_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; q6-hvx-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 4>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { q6_hvx_iot_trip0: q6-hvx-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&q6_hvx_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&q6_hvx_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&q6_hvx_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&q6_hvx_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&q6_hvx_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; camera-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 5>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { camera_iot_trip0: camera-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&camera_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&camera_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&camera_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&camera_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&camera_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; cmpss-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 6>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cmpss_iot_trip0: cmpss-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&cmpss_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&cmpss_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&cmpss_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&cmpss_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&cmpss_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; npu-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 7>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { npu_iot_trip0: npu-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&npu_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&npu_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&npu_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&npu_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&npu_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; }; Loading
bindings/thermal/qcom-thermal-efprom.txt 0 → 100644 +73 −0 Original line number Diff line number Diff line Modify Thermal Zone based on efuse data This driver is to enable/disable pre-configured thermal zones selectively at runtime based on efuse data. It uses QFPROM nvmem cell interface to read efuse data. It supports multiple efuse condition. If any of the efuse condition fails, driver just exits with default enabled thermal zones. Properties: - compatible: Usage: Required Value type: <string> Definition: shall be "qcom,thermal-qfprom-device". - nvmem-cells: Usage: Required Value type: <array of phandle> Definition: Array of phandles pointing to a nvmem-cells node representing the efuse registers that has information that is used to select the right thermal zone to enable. Please refer nvmem-cells bindings Documentation/devicetree/bindings/nvmem/nvmem.txt and also example below. nvmem-cell-names: Usage: Required Value type: <array of string> Definition: Should be array of name for each nvmem-cells phandle data. Please refer nvmem-cells bindings Documentation/devicetree/bindings/nvmem/nvmem.txt and also example below. - qcom,thermal-qfprom-bit-values: It should be array of bit mask values to match with each nvmem-cells bit value respectively. If all nvmem-cells values are matching with respective bit mask value from this property, then driver will update thermal zones as per thermal zones mentioned in 'qcom,thermal-zone-enable-list' and 'qcom,thermal-zone-disable-list'. - qcom,thermal-zone-enable-list: Usage: Required Value type: <array of strings> Definition: Should define this property with list of thermal zone names those need to be enabled if nvmem-cells condition is met. - qcom,thermal-zone-disable-list: Usage: Required Value type: <array of strings> Definition: Should define this property with list of thermal zone names those need to be disabled if nvmem-cells condition is met. Example: qcom-thermal-qfprom { compatible = "qcom,thermal-qfprom-device"; nvmem-cells = <&thermal_cpe>, <&thermal_revision>; nvmem-cell-names = "cpe", "revision"; qcom,thermal-qfprom-bit-values = <0x1 0x3> qcom,thermal-zone-enable-list = "mdm-core-0-cpe-step", "mdm-core-1-cpe-step"; qcom,thermal-zone-disable-list = "mdm-core-0-step", "mdm-core-1-step"; }; In this example, driver gets efuse bit values of nvmem-cell register for both 'cpe' and 'revision' nvmem cells. It then compares these efuse values with property 'qcom,thermal-qfprom-bit-values' values (0x1 and 0x3 here) respectively. If both efuse values are matching with this property values, driver enables thermal zones listed in property 'qcom,thermal-zone-enable-list' and disables thermal zones listed in property 'qcom,thermal-zone-disable-list'. If any of the efuse value is not matching with respective 'qcom,thermal-qfprom-bit-values' values, driver just exits without modifying any thermal zone.
qcom/kona.dtsi +10 −5 Original line number Diff line number Diff line Loading @@ -4966,20 +4966,25 @@ qfprom: qfprom@780000 { compatible = "qcom,qfprom"; reg = <0x00784000 0x3000>; reg = <0x00780000 0x5000>; #address-cells = <1>; #size-cells = <1>; read-only; ranges; gpu_lm_efuse: gpu_lm_efuse@5c8 { reg = <0x5c8 0x4>; gpu_lm_efuse: gpu_lm_efuse@45c8 { reg = <0x45c8 0x4>; }; gpu_speed_bin: gpu_speed_bin@19b { reg = <0x19b 0x1>; gpu_speed_bin: gpu_speed_bin@419b { reg = <0x419b 0x1>; bits = <5 3>; }; thermal_speed_bin: thermal-speed-bin@1a2 { reg = <0x1a2 0x1>; bits = <7 1>; }; }; }; Loading
qcom/qrb5165.dtsi +758 −0 Original line number Diff line number Diff line Loading @@ -8,3 +8,761 @@ }; #include "kona-v2.1-gpu.dtsi" &soc { qcom-thermal-qfprom { compatible = "qcom,thermal-qfprom-device"; nvmem-cells = <&thermal_speed_bin>; nvmem-cell-names = "thermal_speed_bin"; qcom,thermal-qfprom-bit-values = <0x1>; qcom,thermal-zone-enable-list = "gpuss-max-iot-step", "cpu-0-0-iot-step", "cpu-0-1-iot-step", "cpu-0-2-iot-step", "cpu-0-3-iot-step", "cpu-1-0-iot-step", "cpu-1-1-iot-step", "cpu-1-2-iot-step", "cpu-1-3-iot-step", "cpu-1-4-iot-step", "cpu-1-5-iot-step", "cpu-1-6-iot-step", "cpu-1-7-iot-step", "cwlan-iot-step", "video-iot-step", "ddr-iot-step", "q6-hvx-iot-step", "camera-iot-step", "cmpss-iot-step", "npu-iot-step"; qcom,thermal-zone-disable-list = "gpuss-max-step", "cpu-0-0-step", "cpu-0-1-step", "cpu-0-2-step", "cpu-0-3-step", "cpu-1-0-step", "cpu-1-1-step", "cpu-1-2-step", "cpu-1-3-step", "cpu-1-4-step", "cpu-1-5-step", "cpu-1-6-step", "cpu-1-7-step", "cwlan-step", "video-step", "ddr-step", "q6-hvx-step", "camera-step", "cmpss-step", "npu-step"; }; }; &thermal_zones { gpuss-max-iot-step { polling-delay-passive = <10>; polling-delay = <100>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { gpu_iot_trip0: gpu-trip0 { temperature = <110000>; hysteresis = <0>; type = "passive"; }; }; cooling-maps { gpu_cdev { trip = <&gpu_iot_trip0>; cooling-device = <&msm_gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; }; pop-mem-step { status = "disabled"; }; cpu-0-0-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&tsens0 1>; wake-capable-sensor; disable-thermal-zone; trips { cpu00_iot_config: cpu00-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpu00_cdev { trip = <&cpu00_iot_config>; cooling-device = <&cpu0_isolate 1 1>; }; }; }; cpu-0-1-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&tsens0 2>; wake-capable-sensor; disable-thermal-zone; trips { cpu01_iot_config: cpu01-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpu01_cdev { trip = <&cpu01_iot_config>; cooling-device = <&cpu1_isolate 1 1>; }; }; }; cpu-0-2-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&tsens0 3>; wake-capable-sensor; disable-thermal-zone; trips { cpu02_iot_config: cpu02-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpu02_cdev { trip = <&cpu02_iot_config>; cooling-device = <&cpu2_isolate 1 1>; }; }; }; cpu-0-3-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 4>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpu03_iot_config: cpu03-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpu03_cdev { trip = <&cpu03_iot_config>; cooling-device = <&cpu3_isolate 1 1>; }; }; }; cpu-1-0-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 7>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_10_iot_config: cpufreq-10-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu10_iot_config: cpu10-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_10_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu10_cdev { trip = <&cpu10_iot_config>; cooling-device = <&cpu4_isolate 1 1>; }; }; }; cpu-1-1-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 8>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_11_iot_config: cpufreq-11-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu11_iot_config: cpu11-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_11_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu11_cdev { trip = <&cpu11_iot_config>; cooling-device = <&cpu5_isolate 1 1>; }; }; }; cpu-1-2-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 9>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_12_iot_config: cpufreq-12-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu12_iot_config: cpu12-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_12_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu12_cdev { trip = <&cpu12_iot_config>; cooling-device = <&cpu6_isolate 1 1>; }; }; }; cpu-1-3-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 10>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_13_iot_config: cpufreq-13-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu13_iot_config: cpu13-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_13_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu13_cdev { trip = <&cpu13_iot_config>; cooling-device = <&cpu7_isolate 1 1>; }; }; }; cpu-1-4-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 11>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_14_iot_config: cpufreq-14-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu14_iot_config: cpu14-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_14_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu14_cdev { trip = <&cpu14_iot_config>; cooling-device = <&cpu4_isolate 1 1>; }; }; }; cpu-1-5-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 12>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_15_iot_config: cpufreq-15-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu15_iot_config: cpu15-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_15_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu15_cdev { trip = <&cpu15_iot_config>; cooling-device = <&cpu5_isolate 1 1>; }; }; }; cpu-1-6-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 13>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_16_iot_config: cpufreq-16-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu16_iot_config: cpu16-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_16_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu16_cdev { trip = <&cpu16_iot_config>; cooling-device = <&cpu6_isolate 1 1>; }; }; }; cpu-1-7-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 14>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cpufreq_17_iot_config: cpufreq-17-config { temperature = <75000>; hysteresis = <5000>; type = "passive"; }; cpu17_iot_config: cpu17-config { temperature = <122000>; hysteresis = <10000>; type = "passive"; }; }; cooling-maps { cpufreq_cdev { trip = <&cpufreq_17_iot_config>; cooling-device = <&cpu7_notify 1 1>; }; cpu17_cdev { trip = <&cpu17_iot_config>; cooling-device = <&cpu7_isolate 1 1>; }; }; }; cwlan-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 1>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cwlan_iot_trip0: cwlan-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&cwlan_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&cwlan_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&cwlan_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&cwlan_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&cwlan_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; video-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 2>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { video_iot_trip0: video-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&video_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&video_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&video_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&video_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&video_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; ddr-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 3>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { ddr_iot_trip0: ddr-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&ddr_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&ddr_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&ddr_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&ddr_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&ddr_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; q6-hvx-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 4>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { q6_hvx_iot_trip0: q6-hvx-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&q6_hvx_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&q6_hvx_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&q6_hvx_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&q6_hvx_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&q6_hvx_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; camera-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 5>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { camera_iot_trip0: camera-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&camera_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&camera_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&camera_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&camera_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&camera_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; cmpss-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 6>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { cmpss_iot_trip0: cmpss-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&cmpss_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&cmpss_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&cmpss_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&cmpss_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&cmpss_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; npu-iot-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens1 7>; thermal-governor = "step_wise"; wake-capable-sensor; disable-thermal-zone; trips { npu_iot_trip0: npu-trip0 { temperature = <120000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cdsp-cdev { trip = <&npu_iot_trip0>; cooling-device = <&msm_cdsp_rm 3 3>; }; gpu-cdev { trip = <&npu_iot_trip0>; cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1) (THERMAL_MAX_LIMIT-1)>; }; modem-pa-cdev { trip = <&npu_iot_trip0>; cooling-device = <&modem_pa 3 3>; }; modem-tj-cdev { trip = <&npu_iot_trip0>; cooling-device = <&modem_tj 3 3>; }; npu_cdev { trip = <&npu_iot_trip0>; cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3) (THERMAL_MAX_LIMIT-3)>; }; }; }; };