Commit 60a2c9cc authored by Pengyu Luo's avatar Pengyu Luo Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sc8280xp-pmics: Add more temp-alarm devices



There are 4 Qualcomm PMIC Die Temp Alarm Sensor Devices under windows os,
in separate dt files, pm8350c and pmr735a have already support temp alarm,
add the rest 2 devices for sc8280xp-pmic.

Temperature trip points are from dsdt(Temp. in tenths of degrees Kelvin).

example:
    Name (TPSV, 0x0E60) // 0x0E60 - 2730 = 950
    Method (_PSV, 0, NotSerialized)  // _PSV: Passive Temperature
    {
        Return (\_SB.TZ15.TPSV)
    }

    Name (TCRT, 0x0F28) // 0X0F28 - 2730 = 1150
    Method (_CRT, 0, NotSerialized)  // _CRT: Critical Temperature
    {
        Return (\_SB.TZ15.TCRT)
    }

Signed-off-by: default avatarPengyu Luo <mitltlatltl@gmail.com>
Link: https://lore.kernel.org/r/20250111083209.262269-2-mitltlatltl@gmail.com


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 18ecea8e
Loading
Loading
Loading
Loading
+56 −0
Original line number Diff line number Diff line
@@ -32,6 +32,26 @@ trip1 {
			};
		};

		pmc8280c_thermal: pmc8280c-thermal {
			polling-delay-passive = <100>;

			thermal-sensors = <&pmc8280c_temp_alarm>;

			trips {
				trip0 {
					temperature = <95000>;
					hysteresis = <0>;
					type = "passive";
				};

				trip1 {
					temperature = <115000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};

		pm8280_2_thermal: pm8280-2-thermal {
			polling-delay-passive = <100>;

@@ -51,6 +71,26 @@ trip1 {
				};
			};
		};

		pmr735a_thermal: pmr735a-thermal {
			polling-delay-passive = <100>;

			thermal-sensors = <&pmr735a_temp_alarm>;

			trips {
				trip0 {
					temperature = <95000>;
					hysteresis = <0>;
					type = "passive";
				};

				trip1 {
					temperature = <115000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
	};
};

@@ -181,6 +221,13 @@ pmc8280c: pmic@2 {
		#address-cells = <1>;
		#size-cells = <0>;

		pmc8280c_temp_alarm: temp-alarm@a00 {
			compatible = "qcom,spmi-temp-alarm";
			reg = <0xa00>;
			interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
			#thermal-sensor-cells = <0>;
		};

		pmc8280c_gpios: gpio@8800 {
			compatible = "qcom,pm8350c-gpio", "qcom,spmi-gpio";
			reg = <0x8800>;
@@ -235,6 +282,15 @@ pmr735a: pmic@4 {
		#address-cells = <1>;
		#size-cells = <0>;

		pmr735a_temp_alarm: temp-alarm@a00 {
			compatible = "qcom,spmi-temp-alarm";
			reg = <0xa00>;
			interrupts-extended = <&spmi_bus 0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
			io-channels = <&pmk8280_vadc PMR735A_ADC7_DIE_TEMP>;
			io-channel-names = "thermal";
			#thermal-sensor-cells = <0>;
		};

		pmr735a_gpios: gpio@8800 {
			compatible = "qcom,pmr735a-gpio", "qcom,spmi-gpio";
			reg = <0x8800>;