xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/thermal/qcom-spmi-temp-alarm.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunQualcomm QPNP PMIC Temperature Alarm
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunQPNP temperature alarm peripherals are found inside of Qualcomm PMIC chips
4*4882a593Smuzhiyunthat utilize the Qualcomm SPMI implementation. These peripherals provide an
5*4882a593Smuzhiyuninterrupt signal and status register to identify high PMIC die temperature.
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunRequired properties:
8*4882a593Smuzhiyun- compatible:      Should contain "qcom,spmi-temp-alarm".
9*4882a593Smuzhiyun- reg:             Specifies the SPMI address.
10*4882a593Smuzhiyun- interrupts:      PMIC temperature alarm interrupt.
11*4882a593Smuzhiyun- #thermal-sensor-cells: Should be 0. See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for a description.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunOptional properties:
14*4882a593Smuzhiyun- io-channels:     Should contain IIO channel specifier for the ADC channel,
15*4882a593Smuzhiyun                   which report chip die temperature.
16*4882a593Smuzhiyun- io-channel-names: Should contain "thermal".
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunExample:
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	pm8941_temp: thermal-alarm@2400 {
21*4882a593Smuzhiyun		compatible = "qcom,spmi-temp-alarm";
22*4882a593Smuzhiyun		reg = <0x2400>;
23*4882a593Smuzhiyun		interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
24*4882a593Smuzhiyun		#thermal-sensor-cells = <0>;
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun		io-channels = <&pm8941_vadc VADC_DIE_TEMP>;
27*4882a593Smuzhiyun		io-channel-names = "thermal";
28*4882a593Smuzhiyun	};
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun	thermal-zones {
31*4882a593Smuzhiyun		pm8941 {
32*4882a593Smuzhiyun			polling-delay-passive = <250>;
33*4882a593Smuzhiyun			polling-delay = <1000>;
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun			thermal-sensors = <&pm8941_temp>;
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun			trips {
38*4882a593Smuzhiyun				stage1 {
39*4882a593Smuzhiyun					temperature = <105000>;
40*4882a593Smuzhiyun					hysteresis = <2000>;
41*4882a593Smuzhiyun					type = "passive";
42*4882a593Smuzhiyun				};
43*4882a593Smuzhiyun				stage2 {
44*4882a593Smuzhiyun					temperature = <125000>;
45*4882a593Smuzhiyun					hysteresis = <2000>;
46*4882a593Smuzhiyun					type = "critical";
47*4882a593Smuzhiyun				};
48*4882a593Smuzhiyun			};
49*4882a593Smuzhiyun		};
50*4882a593Smuzhiyun	};
51*4882a593Smuzhiyun
52