#include <dt-bindings/thermal/thermal.h>
#include <dt-bindings/thermal/qmi_thermal.h>

&cpufreq_hw {
	#address-cells = <1>;
	#size-cells = <1>;
	lmh_dcvs0: qcom,limits-dcvs@f521000 {
		compatible = "qcom,msm-hw-limits";
		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
		qcom,affinity = <0>;
		reg = <0xf550800 0x1000>,
			<0xf521000 0x1000>;
		qcom,no-cooling-device-register;
		#thermal-sensor-cells = <0>;
	};

	lmh_dcvs1: qcom,limits-dcvs@f523000 {
		compatible = "qcom,msm-hw-limits";
		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
		qcom,affinity = <1>;
		reg = <0xf550800 0x1000>,
			<0xf523000 0x1000>;
		qcom,no-cooling-device-register;
		#thermal-sensor-cells = <0>;
	};

	qcom,cpu-isolation {
		compatible = "qcom,cpu-isolate";
		cpu0_isolate: cpu0-isolate {
			qcom,cpu = <&CPU0>;
			#cooling-cells = <2>;
		};

		cpu1_isolate: cpu1-isolate {
			qcom,cpu = <&CPU1>;
			#cooling-cells = <2>;
		};

		cpu2_isolate: cpu2-isolate {
			qcom,cpu = <&CPU2>;
			#cooling-cells = <2>;
		};

		cpu3_isolate: cpu3-isolate {
			qcom,cpu = <&CPU3>;
			#cooling-cells = <2>;
		};

		cpu4_isolate: cpu4-isolate {
			qcom,cpu = <&CPU4>;
			#cooling-cells = <2>;
		};

		cpu5_isolate: cpu5-isolate {
			qcom,cpu = <&CPU5>;
			#cooling-cells = <2>;
		};

		cpu6_isolate: cpu6-isolate {
			qcom,cpu = <&CPU6>;
			#cooling-cells = <2>;
		};

		cpu7_isolate: cpu7-isolate {
			qcom,cpu = <&CPU7>;
			#cooling-cells = <2>;
		};
	};
};

&soc {
	qmi-tmd-devices {
		compatible = "qcom,qmi-cooling-devices";

		modem {
			qcom,instance-id = <QMI_MODEM_INST_ID>;

			modem_pa: modem_pa {
				qcom,qmi-dev-name = "pa";
				#cooling-cells = <2>;
			};

			modem_proc: modem_proc {
				qcom,qmi-dev-name = "modem";
				#cooling-cells = <2>;
			};

			modem_current: modem_current {
				qcom,qmi-dev-name = "modem_current";
				#cooling-cells = <2>;
			};

			modem_skin: modem_skin {
				qcom,qmi-dev-name = "modem_skin";
				#cooling-cells = <2>;
			};

			modem_vdd: modem_vdd {
				qcom,qmi-dev-name = "cpuv_restriction_cold";
				#cooling-cells = <2>;
			};

			modem_wlan: modem_wlan {
				qcom,qmi-dev-name = "wlan";
				#cooling-cells = <2>;
			};
		};

		cdsp {
			qcom,instance-id = <QMI_CDSP_INST_ID>;

			cdsp_sw: cdsp {
				qcom,qmi-dev-name = "cdsp_sw";
				#cooling-cells = <2>;
			};

			cdsp_hw: hvx {
				qcom,qmi-dev-name = "cdsp_hw";
				#cooling-cells = <2>;
			};
		};

		adsp {
			qcom,instance-id = <QMI_ADSP_INST_ID>;

			adsp_vdd: adsp_vdd {
				qcom,qmi-dev-name = "cpuv_restriction_cold";
				#cooling-cells = <2>;
			};
		};
	};

	lmh_cpu_vdd: qcom,lmh-cpu-vdd@f550800 {
		compatible = "qcom,lmh-cpu-vdd";
		reg =  <0xf550800 0x1000>;
		#cooling-cells = <2>;
	};

	cxip_cdev: cxip-cdev@3ed000 {
		compatible = "qcom,cxip-lm-cooling-device";
		reg = <0x3ed000 0xc00c>;
		qcom,thermal-client-offset = <0x8000>;
		/* 4th and 5th offsets to bypass VICTIM1 */
		qcom,bypass-client-list = <0x1004 0x4004 0x6004 0xc004 0xc008>;
		#cooling-cells = <2>;
	};
};

&thermal_zones {
	mapss-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 0>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	cdsp-hvx-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 1>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	wlan-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 2>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	camera-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 3>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	video-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 4>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	mdm-1-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 5>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	cpu-1-0-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 6>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	cpu-1-1-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 7>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	cpu-1-2-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 8>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	cpu-1-3-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 9>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	cpuss-0-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 10>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	cpuss-1-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 11>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	cpuss-2-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 12>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	mdm-0-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 13>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	display-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 14>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	gpu-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 15>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			reset-mon-cfg {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};
	};

	xo-therm-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pm6125_adc_tm ADC_XO_THERM_PU2>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			active-config1 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	pa-therm0-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pm6125_adc_tm ADC_AMUX_THM1_PU2>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	quiet-therm-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pm6125_adc_tm ADC_AMUX_THM2_PU2>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	camera-therm-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pm6125_adc_tm_iio ADC_GPIO1_PU2>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	emmc-ufs-therm-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pm6125_adc_tm_iio ADC_GPIO2_PU2>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	gpu-step {
		polling-delay-passive = <10>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 15>;
		wake-capable-sensor;
		trips {
			gpu_step_trip: gpu-trip {
				temperature = <95000>;
				hysteresis = <0>;
				type = "passive";
			};

			gpu_cx_mon: gpu-cx-mon {
				temperature = <100000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			gpu_cdev {
				trip = <&gpu_step_trip>;
				cooling-device = <&msm_gpu THERMAL_NO_LIMIT
							THERMAL_NO_LIMIT>;
			};

			gpu-cx-cdev0 {
				trip = <&gpu_cx_mon>;
				cooling-device = <&msm_gpu THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};

			gpu-cx-cdev1 {
				trip = <&gpu_cx_mon>;
				cooling-device = <&modem_proc 3 3>;
			};

			gpu-cx-cdev2 {
				trip = <&gpu_cx_mon>;
				cooling-device = <&modem_pa 3 3>;
			};

			gpu-cx-cdev3 {
				trip = <&gpu_cx_mon>;
				cooling-device = <&cdsp_sw THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	hepta-cpu-max-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		wake-capable-sensor;

		trips {
			silver-trip {
				temperature = <120000>;
				hysteresis = <0>;
				type = "passive";
			};
		};
	};

	cpuss-0-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 10>;
		wake-capable-sensor;

		trips {
			cpu4_5_config: cpu-4-5-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu4_cdev {
				trip = <&cpu4_5_config>;
				cooling-device = <&cpu4_isolate 1 1>;
			};

			cpu5_cdev {
				trip = <&cpu4_5_config>;
				cooling-device = <&cpu5_isolate 1 1>;
			};
		};
	};

	cpuss-1-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 11>;
		wake-capable-sensor;

		trips {
			cpu6_7_config: cpu-6-7-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu6_cdev {
				trip = <&cpu6_7_config>;
				cooling-device = <&cpu6_isolate 1 1>;
			};

			cpu7_cdev {
				trip = <&cpu6_7_config>;
				cooling-device = <&cpu7_isolate 1 1>;
			};
		};
	};

	cpuss-2-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 12>;
		wake-capable-sensor;

		trips {
			silv_cpus_config: silv-cpus-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu0_cdev {
				trip = <&silv_cpus_config>;
				cooling-device = <&cpu0_isolate 1 1>;
			};

			cpu1_cdev {
				trip = <&silv_cpus_config>;
				cooling-device = <&cpu1_isolate 1 1>;
			};

			cpu2_cdev {
				trip = <&silv_cpus_config>;
				cooling-device = <&cpu2_isolate 1 1>;
			};

			cpu3_cdev {
				trip = <&silv_cpus_config>;
				cooling-device = <&cpu3_isolate 1 1>;
			};
		};
	};

	cpu-1-0-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 6>;
		wake-capable-sensor;

		trips {
			cpu4_config: cpu4-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu4_cdev {
				trip = <&cpu4_config>;
				cooling-device = <&cpu4_isolate 1 1>;
			};
		};
	};

	cpu-1-1-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 7>;
		wake-capable-sensor;

		trips {
			cpu5_config: cpu5-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu5_cdev {
				trip = <&cpu5_config>;
				cooling-device = <&cpu5_isolate 1 1>;
			};
		};
	};

	cpu-1-2-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 8>;
		wake-capable-sensor;

		trips {
			cpu6_config: cpu6-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu6_cdev {
				trip = <&cpu6_config>;
				cooling-device = <&cpu6_isolate 1 1>;
			};
		};
	};

	cpu-1-3-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 9>;
		wake-capable-sensor;

		trips {
			cpu7_config: cpu7-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu7_cdev {
				trip = <&cpu7_config>;
				cooling-device = <&cpu7_isolate 1 1>;
			};
		};
	};

	cdsp-hvx-step {
		polling-delay-passive = <10>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 1>;
		thermal-governor = "step_wise";
		wake-capable-sensor;

		trips {
			cdsp_trip0: cdsp-trip0 {
				temperature = <95000>;
				hysteresis = <20000>;
				type = "passive";
			};

			cdsp_trip1: cdsp-trip1 {
				temperature = <95000>;
				hysteresis = <0>;
				type = "passive";
			};

			cdsp_cx_mon: cdsp-cx-mon {
				temperature = <100000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			cxip-cdev {
				trip = <&cdsp_trip0>;
				cooling-device = <&cxip_cdev 1 1>;
			};

			cdsp-cdev0 {
				trip = <&cdsp_trip1>;
				cooling-device = <&cdsp_sw THERMAL_NO_LIMIT
							THERMAL_NO_LIMIT>;
			};

			cdsp-cx-cdev0 {
				trip = <&cdsp_cx_mon>;
				cooling-device = <&msm_gpu THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};

			cdsp-cx-cdev1 {
				trip = <&cdsp_cx_mon>;
				cooling-device = <&modem_proc 3 3>;
			};

			cdsp-cx-cdev2 {
				trip = <&cdsp_cx_mon>;
				cooling-device = <&modem_pa 3 3>;
			};

			cdsp-cx-cdev3 {
				trip = <&cdsp_cx_mon>;
				cooling-device = <&cdsp_sw THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	mdm-0-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 13>;
		wake-capable-sensor;
		trips {
			mdm0_cx_mon: mdm0-cx-mon {
				temperature = <100000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			mdm0-cx-cdev0 {
				trip = <&mdm0_cx_mon>;
				cooling-device = <&msm_gpu THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};

			mdm0-cx-cdev1 {
				trip = <&mdm0_cx_mon>;
				cooling-device = <&modem_proc 3 3>;
			};

			mdm0-cx-cdev2 {
				trip = <&mdm0_cx_mon>;
				cooling-device = <&modem_pa 3 3>;
			};

			mdm0-cx-cdev3 {
				trip = <&mdm0_cx_mon>;
				cooling-device = <&cdsp_sw THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	mdm-1-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 5>;
		wake-capable-sensor;
		trips {
			mdm1_cx_mon: mdm1-cx-mon {
				temperature = <100000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			mdm1-cx-cdev0 {
				trip = <&mdm1_cx_mon>;
				cooling-device = <&msm_gpu THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};

			mdm1-cx-cdev1 {
				trip = <&mdm1_cx_mon>;
				cooling-device = <&modem_proc 3 3>;
			};

			mdm1-cx-cdev2 {
				trip = <&mdm1_cx_mon>;
				cooling-device = <&modem_pa 3 3>;
			};

			mdm1-cx-cdev3 {
				trip = <&mdm1_cx_mon>;
				cooling-device = <&cdsp_sw THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	mapss-lowf {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "low_limits_floor";
		thermal-sensors = <&tsens0 0>;
		wake-capable-sensor;
		tracks-low;

		trips {
			mapss_trip: mapss-trip {
				temperature = <5000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			cx_vdd_cdev {
				trip = <&mapss_trip>;
				cooling-device = <&cx_cdev 0 0>;
			};

			mx_vdd_cdev {
				trip = <&mapss_trip>;
				cooling-device = <&mx_cdev 0 0>;
			};

			modem_vdd_cdev {
				trip = <&mapss_trip>;
				cooling-device = <&modem_vdd 0 0>;
			};

			adsp_vdd_cdev {
				trip = <&mapss_trip>;
				cooling-device = <&adsp_vdd 0 0>;
			};
		};
	};

	mapss-lowc {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&tsens0 0>;
		wake-capable-sensor;
		tracks-low;

		trips {
			mapss_cap_trip: mapss-cap-trip {
				temperature = <5000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			lmh_cpu_cdev {
				trip = <&mapss_cap_trip>;
				cooling-device = <&lmh_cpu_vdd 1 1>;
			};
		};
	};

	camera-lowf {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "low_limits_floor";
		thermal-sensors = <&tsens0 3>;
		wake-capable-sensor;
		tracks-low;

		trips {
			camera_trip: camera-trip {
				temperature = <5000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			cx_vdd_cdev {
				trip = <&camera_trip>;
				cooling-device = <&cx_cdev 0 0>;
			};

			mx_vdd_cdev {
				trip = <&camera_trip>;
				cooling-device = <&mx_cdev 0 0>;
			};

			modem_vdd_cdev {
				trip = <&camera_trip>;
				cooling-device = <&modem_vdd 0 0>;
			};

			adsp_vdd_cdev {
				trip = <&camera_trip>;
				cooling-device = <&adsp_vdd 0 0>;
			};
		};
	};

	camera-lowc {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&tsens0 3>;
		wake-capable-sensor;
		tracks-low;

		trips {
			camera_cap_trip: camera-cap-trip {
				temperature = <5000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			lmh_cpu_cdev {
				trip = <&camera_cap_trip>;
				cooling-device = <&lmh_cpu_vdd 1 1>;
			};
		};
	};

	quiet-therm-step {
		polling-delay-passive = <2000>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&pm6125_adc_tm ADC_AMUX_THM2_PU2>;
		wake-capable-sensor;
		status = "disabled";

		trips {
			skin_batt_trip0: batt-trip0 {
				temperature = <39000>;
				hysteresis = <2000>;
				type = "passive";
			};

			skin_modem_trip0: modem-trip0 {
				temperature = <40000>;
				hysteresis = <4000>;
				type = "passive";
			};

			skin_gold_trip: gold-trip {
				temperature = <40000>;
				hysteresis = <0>;
				type = "passive";
			};

			skin_batt_trip1: batt-trip1 {
				temperature = <41000>;
				hysteresis = <2000>;
				type = "passive";
			};

			skin_silver_trip: silver-trip {
				temperature = <41000>;
				hysteresis = <0>;
				type = "passive";
			};

			skin_modem_trip1: modem-trip1 {
				temperature = <42000>;
				hysteresis = <4000>;
				type = "passive";
			};

			skin_modem_trip2: modem-trip2 {
				temperature = <43000>;
				hysteresis = <4000>;
				type = "passive";
			};

			skin_batt_trip2: batt-trip2 {
				temperature = <43000>;
				hysteresis = <2000>;
				type = "passive";
			};

			skin_gpu_trip: gpu-trip {
				temperature = <43000>;
				hysteresis = <0>;
				type = "passive";
			};

			skin_batt_trip3: batt-trip3 {
				temperature = <45000>;
				hysteresis = <2000>;
				type = "passive";
			};

			skin_modem_trip3: modem-trip3 {
				temperature = <50000>;
				hysteresis = <5000>;
				type = "passive";
			};

			skin_hvx_trip: hvx-trip {
				temperature = <52000>;
				hysteresis = <4000>;
				type = "passive";
			};
		};

		cooling-maps {
			gold_cdev {
				trip = <&skin_gold_trip>;
				cooling-device = <&CPU4 THERMAL_NO_LIMIT
							(THERMAL_MAX_LIMIT-4)>;
			};

			silver_cdev {
				trip = <&skin_silver_trip>;
				cooling-device = <&CPU0 THERMAL_NO_LIMIT
							(THERMAL_MAX_LIMIT-5)>;
			};

			gpu_cdev {
				trip = <&skin_gpu_trip>;
				cooling-device = <&msm_gpu THERMAL_NO_LIMIT
							(THERMAL_MAX_LIMIT-3)>;
			};

			hvx_cdev {
				trip = <&skin_hvx_trip>;
				cooling-device = <&cdsp_sw THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};

			mdm_cdev0 {
				trip = <&skin_modem_trip0>;
				cooling-device = <&modem_proc 1 1>;
			};

			mdm_cdev1 {
				trip = <&skin_modem_trip1>;
				cooling-device = <&modem_pa 1 1>;
			};

			mdm_cdev2 {
				trip = <&skin_modem_trip2>;
				cooling-device = <&modem_pa 2 2>;
			};

			mdm_cdev3 {
				trip = <&skin_modem_trip3>;
				cooling-device = <&modem_pa 3 3>;
			};

			mdm_cdev4 {
				trip = <&skin_modem_trip3>;
				cooling-device = <&modem_proc 3 3>;
			};

			batt_cdev1 {
				trip = <&skin_batt_trip0>;
			};

			batt_cdev2 {
				trip = <&skin_batt_trip1>;
			};

			batt_cdev3 {
				trip = <&skin_batt_trip2>;
			};

			batt_cdev4 {
				trip = <&skin_batt_trip3>;
			};
		};
	};
};
