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

&soc {
	tsens0: tsens@c222000 {
		compatible = "qcom,tsens24xx";
		reg = <0xc222000 0x4>,
			<0xc263000 0x1ff>;
		reg-names = "tsens_srot_physical",
				"tsens_tm_physical";
		interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
				<GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "tsens-upper-lower", "tsens-critical";
		tsens-reinit-wa;
		#thermal-sensor-cells = <1>;
	};

	tsens1: tsens@c223000 {
		compatible = "qcom,tsens24xx";
		reg = <0xc223000 0x4>,
			<0xc265000 0x1ff>;
		reg-names = "tsens_srot_physical",
			"tsens_tm_physical";
		interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
				<GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "tsens-upper-lower", "tsens-critical";
		tsens-reinit-wa;
		#thermal-sensor-cells = <1>;
	};

	qcom,cpu-pause {
		compatible = "qcom,thermal-pause";

		cpu0_pause: cpu0-pause {
			qcom,cpus = <&CPU0>;
			#cooling-cells = <2>;
		};

		cpu1_pause: cpu1-pause {
			qcom,cpus = <&CPU1>;
			#cooling-cells = <2>;
		};

		cpu2_pause: cpu2-pause {
			qcom,cpus = <&CPU2>;
			#cooling-cells = <2>;
		};

		cpu3_pause: cpu3-pause {
			qcom,cpus = <&CPU3>;
			#cooling-cells = <2>;
		};

		cpu4_pause: cpu4-pause {
			qcom,cpus = <&CPU4>;
			#cooling-cells = <2>;
		};

		cpu5_pause: cpu5-pause {
			qcom,cpus = <&CPU5>;
			#cooling-cells = <2>;
		};

		cpu6_pause: cpu6-pause {
			qcom,cpus = <&CPU6>;
			#cooling-cells = <2>;
		};

		cpu7_pause: cpu7-pause {
			qcom,cpus = <&CPU7>;
			#cooling-cells = <2>;
		};

		/* Thermal-engine cooling devices */
		pause-cpu0 {
			qcom,cpus = <&CPU0>;
			qcom,cdev-alias = "pause-cpu0";
		};

		pause-cpu1 {
			qcom,cpus = <&CPU1>;
			qcom,cdev-alias = "pause-cpu1";
		};

		pause-cpu2 {
			qcom,cpus = <&CPU2>;
			qcom,cdev-alias = "pause-cpu2";
		};

		pause-cpu3 {
			qcom,cpus = <&CPU3>;
			qcom,cdev-alias = "pause-cpu3";
		};

		pause-cpu4 {
			qcom,cpus = <&CPU4>;
			qcom,cdev-alias = "pause-cpu4";
		};

		pause-cpu5 {
			qcom,cpus = <&CPU5>;
			qcom,cdev-alias = "pause-cpu5";
		};

		pause-cpu6 {
			qcom,cpus = <&CPU6>;
			qcom,cdev-alias = "pause-cpu6";
		};

		pause-cpu7 {
			qcom,cpus = <&CPU7>;
			qcom,cdev-alias = "pause-cpu7";
		};
	};

	qcom,cpu-hotplug {
		compatible = "qcom,cpu-hotplug";

		cpu0_hotplug: cpu0-hotplug {
			qcom,cpu = <&CPU0>;
			#cooling-cells = <2>;
		};

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

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

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

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

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

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

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

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

		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>;
			};
		};
	};
};

&thermal_zones {
	aoss0 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 0>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	gpuss-0 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 15>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			gpuss0_trip0: gpuss0-trip0 {
				temperature = <105000>;
				hysteresis = <0>;
				type = "passive";
			};
		};
	};

	gpuss-1 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 11>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			gpuss1_trip0: gpuss1-trip0 {
				temperature = <105000>;
				hysteresis = <0>;
				type = "passive";
			};
		};
	};

	gpuss-2 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 12>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			gpuss2_trip0: gpuss2-trip0 {
				temperature = <105000>;
				hysteresis = <0>;
				type = "passive";
			};
		};
	};

	gpuss-3 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 13>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			gpuss3_trip0: gpuss3-trip0 {
				temperature = <105000>;
				hysteresis = <0>;
				type = "passive";
			};
		};
	};

	cpu-0-0 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 1>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu00_config: cpu00-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu00_cdev {
				trip = <&cpu00_config>;
				cooling-device = <&cpu0_pause 1 1>;
			};
		};
	};

	cpu-0-1 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 2>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu01_config: cpu01-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu01_cdev {
				trip = <&cpu01_config>;
				cooling-device = <&cpu1_pause 1 1>;
			};
		};
	};

	cpu-0-2 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 3>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu02_config: cpu02-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu02_cdev {
				trip = <&cpu02_config>;
				cooling-device = <&cpu2_pause 1 1>;
			};
		};
	};

	cpu-0-3 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 4>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu03_config: cpu03-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu03_cdev {
				trip = <&cpu03_config>;
				cooling-device = <&cpu3_pause 1 1>;
			};
		};
	};

	cpuss-0 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 5>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	cpuss-1 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 6>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	cpu-1-0 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 7>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu10_config: cpu10-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu10_cdev {
				trip = <&cpu10_config>;
				cooling-device = <&cpu4_pause 1 1>;
			};
		};
	};

	cpu-1-1 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 8>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu11_config: cpu11-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu11_cdev {
				trip = <&cpu11_config>;
				cooling-device = <&cpu5_pause 1 1>;
			};
		};
	};

	cpu-1-2 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 9>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu12_config: cpu12-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu12_cdev {
				trip = <&cpu12_config>;
				cooling-device = <&cpu6_pause 1 1>;
			};
		};
	};

	cpu-1-3 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 10>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu13_config: cpu13-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu13_cdev {
				trip = <&cpu13_config>;
				cooling-device = <&cpu7_pause 1 1>;
			};
		};
	};

	cpu-1-4 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 11>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu14_config: cpu14-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu14_cdev {
				trip = <&cpu14_config>;
				cooling-device = <&cpu4_pause 1 1>;
			};
		};
	};

	cpu-1-5 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 12>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu15_config: cpu15-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu15_cdev {
				trip = <&cpu15_config>;
				cooling-device = <&cpu5_pause 1 1>;
			};
		};
	};

	cpu-1-6 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 13>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu16_config: cpu16-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu16_cdev {
				trip = <&cpu16_config>;
				cooling-device = <&cpu6_pause 1 1>;
			};
		};
	};

	cpu-1-7 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 14>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			cpu17_config: cpu17-config {
				temperature = <115000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu17_cdev {
				trip = <&cpu17_config>;
				cooling-device = <&cpu7_pause 1 1>;
			};
		};
	};

	aoss-1 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 0>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	cwlan {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 1>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	video {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 2>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	ddr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 3>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	q6-hvx {
		polling-delay-passive = <10>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 4>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			q6_hvx_trip0: q6-hvx-trip0 {
				temperature = <105000>;
				hysteresis = <0>;
				type = "passive";
			};

			q6_hvx_trip1: q6-hvx-trip1 {
				temperature = <115000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

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

			cdsp-cx-cdev0 {
				trip = <&q6_hvx_trip1>;
				cooling-device = <&cdsp_sw 5 5>;
			};
		};
	};

	camera {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 5>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	cmpss {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 6>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	mdm-core {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 7>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	npu {
		polling-delay-passive = <10>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 8>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

			thermal-hal-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

			npu_trip0: npu-trip0 {
				temperature = <105000>;
				hysteresis = <0>;
				type = "passive";
			};
		};
	};

	mdm-vec {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 9>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	mdm-scl {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 10>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	ddrss {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 14>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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

	pcie {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 15>;
		trips {
			thermal-engine-config {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};

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