Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76d45ffe authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: Add modem sensors for SM8150-SDXPRAIRIE"

parents 07ebd124 6d2bed15
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -32,8 +32,8 @@ Subsystem properties:
	Definition: Remote sensor names. Below strings
		are the only acceptable sensor names,
		1. pa
		2. pa1
		3. pa2
		2. pa_1
		3. pa_2
		4. qfe_pa0
		5. qfe_wtr0
		6. modem_tsens
@@ -44,6 +44,19 @@ Subsystem properties:
		11. xo_therm
		12. qfe_pa_mdm
		13. qfe_pa_wtr
		14. qfe_mmw_streamer0
		15. qfe_mmw0_mod
		16. qfe_mmw1_mod
		17. qfe_mmw2_mod
		18. qfe_mmw3_mod
		19. qfe_ret_pa0
		20. qfe_wtr_pa0
		21. qfe_wtr_pa1
		22. qfe_wtr_pa2
		23. qfe_wtr_pa3
		24. sys_therm1
		25. sys_therm2
		26. modem_tsens1

Example:

+366 −0
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@
 * GNU General Public License for more details.
 */

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

&mdm3 {
	compatible = "qcom,ext-sdxprairie";
	qcom,mdm-link-info = "0306_01.01.00";
@@ -202,3 +204,367 @@
&wil6210 {
	status = "disabled";
};

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

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

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

			modem_tj: modem_tj {
				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_mmw_skin0: modem_mmw_skin0 {
				qcom,qmi-dev-name = "modem_skin0";
				#cooling-cells = <2>;
			};

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

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

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

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

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

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

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

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

	qmi_sensor: qmi-ts-sensors {
		compatible = "qcom,qmi-sensors";
		#thermal-sensor-cells = <1>;

		modem {
			qcom,instance-id = <QMI_MODEM_NR_INST_ID>;
			qcom,qmi-sensor-names = "pa",
						"pa_1",
						"qfe_wtr0",
						"modem_tsens",
						"qfe_mmw0",
						"qfe_mmw1",
						"qfe_mmw2",
						"qfe_mmw3",
						"xo_therm",
						"qfe_mmw_streamer0",
						"qfe_mmw0_mod",
						"qfe_mmw1_mod",
						"qfe_mmw2_mod",
						"qfe_mmw3_mod",
						"qfe_ret_pa0",
						"qfe_wtr_pa0",
						"qfe_wtr_pa1",
						"qfe_wtr_pa2",
						"qfe_wtr_pa3",
						"sys_therm1",
						"sys_therm2",
						"modem_tsens1";
		};
	};
};

&thermal_zones {
	modem-lte-sub6-pa1 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_PA)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-lte-sub6-pa2 {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_PA_1)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-mmw0-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_0)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-mmw1-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_1)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-mmw2-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_2)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-mmw3-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_3)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-skin-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_XO_THERM)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-wifi-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_SYS_THERM_1)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-ambient-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_SYS_THERM_2)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-0-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_MODEM_TSENS)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-1-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_MODEM_TSENS_1)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-streamer-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_STREAMER_0)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-mmw0-mod-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_0_MOD)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-mmw1-mod-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_1_MOD)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-mmw2-mod-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_2_MOD)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	modem-mmw3-mod-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&qmi_sensor
				(QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_3_MOD)>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};
};
+26 −0
Original line number Diff line number Diff line
@@ -51,6 +51,19 @@ enum qmi_ts_sensor {
	QMI_TS_MODEM_SKIN,
	QMI_TS_QFE_PA_MDM,
	QMI_TS_QFE_PA_WTR,
	QMI_TS_STREAMER_0,
	QMI_TS_MOD_MMW_0,
	QMI_TS_MOD_MMW_1,
	QMI_TS_MOD_MMW_2,
	QMI_TS_MOD_MMW_3,
	QMI_TS_RET_PA_0,
	QMI_TS_WTR_PA_0,
	QMI_TS_WTR_PA_1,
	QMI_TS_WTR_PA_2,
	QMI_TS_WTR_PA_3,
	QMI_SYS_THERM1,
	QMI_SYS_THERM2,
	QMI_TS_TSENS_1,
	QMI_TS_MAX_NR
};

@@ -95,6 +108,19 @@ static char sensor_clients[QMI_TS_MAX_NR][QMI_CLIENT_NAME_LENGTH] = {
	{"xo_therm"},
	{"qfe_pa_mdm"},
	{"qfe_pa_wtr"},
	{"qfe_mmw_streamer0"},
	{"qfe_mmw0_mod"},
	{"qfe_mmw1_mod"},
	{"qfe_mmw2_mod"},
	{"qfe_mmw3_mod"},
	{"qfe_ret_pa0"},
	{"qfe_wtr_pa0"},
	{"qfe_wtr_pa1"},
	{"qfe_wtr_pa2"},
	{"qfe_wtr_pa3"},
	{"sys_therm1"},
	{"sys_therm2"},
	{"modem_tsens1"},
};

static int32_t encode_qmi(int32_t val)
+49 −0
Original line number Diff line number Diff line
/* Copyright (c) 2018-2019, 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
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#ifndef _DT_BINDINGS_QCOM_QMI_THERMAL_H
#define _DT_BINDINGS_QCOM_QMI_THERMAL_H

#define QMI_PA			0
#define QMI_PA_1		1
#define QMI_PA_2		2
#define QMI_QFE_PA_0		3
#define QMI_QFE_WTR_0		4
#define QMI_MODEM_TSENS		5
#define QMI_QFE_MMW_0		6
#define QMI_QFE_MMW_1		7
#define QMI_QFE_MMW_2		8
#define QMI_QFE_MMW_3		9
#define QMI_XO_THERM		10
#define QMI_QFE_PA_MDM		11
#define QMI_QFE_PA_WTR		12
#define QMI_QFE_MMW_STREAMER_0	13
#define QMI_QFE_MMW_0_MOD	14
#define QMI_QFE_MMW_1_MOD	15
#define QMI_QFE_MMW_2_MOD	16
#define QMI_QFE_MMW_3_MOD	17
#define QMI_QFE_RET_PA_0	18
#define QMI_QFE_WTR_PA_0	19
#define QMI_QFE_WTR_PA_1	20
#define QMI_QFE_WTR_PA_2	21
#define QMI_QFE_WTR_PA_3	22
#define QMI_SYS_THERM_1		23
#define QMI_SYS_THERM_2		24
#define QMI_MODEM_TSENS_1	25

#define QMI_MODEM_INST_ID	0x0
#define QMI_ADSP_INST_ID	0x1
#define QMI_CDSP_INST_ID	0x43
#define QMI_SLPI_INST_ID	0x53
#define QMI_MODEM_NR_INST_ID	0x64

#endif