xref: /openbmc/linux/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1a877e768SAmit Kucheria# SPDX-License-Identifier: (GPL-2.0 OR MIT)
2a877e768SAmit Kucheria# Copyright 2019 Linaro Ltd.
3a877e768SAmit Kucheria%YAML 1.2
4a877e768SAmit Kucheria---
5a877e768SAmit Kucheria$id: http://devicetree.org/schemas/thermal/qcom-tsens.yaml#
6a877e768SAmit Kucheria$schema: http://devicetree.org/meta-schemas/core.yaml#
7a877e768SAmit Kucheria
8a877e768SAmit Kucheriatitle: QCOM SoC Temperature Sensor (TSENS)
9a877e768SAmit Kucheria
10a877e768SAmit Kucheriamaintainers:
1171eef84eSAmit Kucheria  - Amit Kucheria <amitk@kernel.org>
12a877e768SAmit Kucheria
13a877e768SAmit Kucheriadescription: |
14a877e768SAmit Kucheria  QCOM SoCs have TSENS IP to allow temperature measurement. There are currently
15a877e768SAmit Kucheria  three distinct major versions of the IP that is supported by a single driver.
16a877e768SAmit Kucheria  The IP versions are named v0.1, v1 and v2 in the driver, where v0.1 captures
17a877e768SAmit Kucheria  everything before v1 when there was no versioning information.
18a877e768SAmit Kucheria
19a877e768SAmit Kucheriaproperties:
20a877e768SAmit Kucheria  compatible:
21a877e768SAmit Kucheria    oneOf:
22a63fa2b6SDmitry Baryshkov      - description: msm8960 TSENS based
2326b2f03dSAnsuel Smith        items:
2426b2f03dSAnsuel Smith          - enum:
2526b2f03dSAnsuel Smith              - qcom,ipq8064-tsens
26a63fa2b6SDmitry Baryshkov              - qcom,msm8960-tsens
2726b2f03dSAnsuel Smith
28a877e768SAmit Kucheria      - description: v0.1 of TSENS
29a877e768SAmit Kucheria        items:
30a877e768SAmit Kucheria          - enum:
3195778161SKonrad Dybcio              - qcom,mdm9607-tsens
32a877e768SAmit Kucheria              - qcom,msm8226-tsens
33ec99756aSKonrad Dybcio              - qcom,msm8909-tsens
34a877e768SAmit Kucheria              - qcom,msm8916-tsens
35a877e768SAmit Kucheria              - qcom,msm8939-tsens
36a877e768SAmit Kucheria              - qcom,msm8974-tsens
37a877e768SAmit Kucheria          - const: qcom,tsens-v0_1
38a877e768SAmit Kucheria
39a877e768SAmit Kucheria      - description: v1 of TSENS
408c142145SDmitry Baryshkov        items:
41da73f9b8SAngeloGioacchino Del Regno          - enum:
42a877e768SAmit Kucheria              - qcom,msm8956-tsens
43a877e768SAmit Kucheria              - qcom,msm8976-tsens
44a877e768SAmit Kucheria              - qcom,qcs404-tsens
45a877e768SAmit Kucheria          - const: qcom,tsens-v1
46a877e768SAmit Kucheria
47a877e768SAmit Kucheria      - description: v2 of TSENS
48e8ec6bb3SLuca Weiss        items:
49a877e768SAmit Kucheria          - enum:
50a877e768SAmit Kucheria              - qcom,msm8953-tsens
512f8caa9fSRajeshwari              - qcom,msm8996-tsens
52c6e66f5cSRajeshwari Ravindra Kamble              - qcom,msm8998-tsens
53481bd297SBjorn Andersson              - qcom,qcm2290-tsens
5430988d3bSBjorn Andersson              - qcom,sc7180-tsens
557c54b82bSKonrad Dybcio              - qcom,sc7280-tsens
56a877e768SAmit Kucheria              - qcom,sc8180x-tsens
5747612a9fSAdam Skladowski              - qcom,sc8280xp-tsens
580bd17679SLuca Weiss              - qcom,sdm630-tsens
59cedddb26SAmit Kucheria              - qcom,sdm845-tsens
60cedddb26SAmit Kucheria              - qcom,sm6115-tsens
61c0612265SRobert Foss              - qcom,sm6350-tsens
62f0f4c3adSLuca Weiss              - qcom,sm6375-tsens
634a9f2011SNeil Armstrong              - qcom,sm8150-tsens
64a877e768SAmit Kucheria              - qcom,sm8250-tsens
65a877e768SAmit Kucheria              - qcom,sm8350-tsens
66c6db32ecSRobert Marko              - qcom,sm8450-tsens
67c6db32ecSRobert Marko              - qcom,sm8550-tsens
68c6db32ecSRobert Marko          - const: qcom,tsens-v2
69c6db32ecSRobert Marko
70a877e768SAmit Kucheria      - description: v2 of TSENS with combined interrupt
71a877e768SAmit Kucheria        enum:
72a877e768SAmit Kucheria          - qcom,ipq8074-tsens
73a877e768SAmit Kucheria
74a877e768SAmit Kucheria      - description: v2 of TSENS with combined interrupt
7527f747b1SRob Herring        items:
7627f747b1SRob Herring          - enum:
77c6db32ecSRobert Marko              - qcom,ipq9574-tsens
7827f747b1SRob Herring          - const: qcom,ipq8074-tsens
7927f747b1SRob Herring
8027f747b1SRob Herring  reg:
81c6db32ecSRobert Marko    items:
8227f747b1SRob Herring      - description: TM registers
83a877e768SAmit Kucheria      - description: SROT registers
844f4292bfSDmitry Baryshkov
854f4292bfSDmitry Baryshkov  interrupts:
86a877e768SAmit Kucheria    minItems: 1
87a877e768SAmit Kucheria    maxItems: 2
88a877e768SAmit Kucheria
894f4292bfSDmitry Baryshkov  interrupt-names:
904f4292bfSDmitry Baryshkov    minItems: 1
914f4292bfSDmitry Baryshkov    maxItems: 2
924f4292bfSDmitry Baryshkov
934f4292bfSDmitry Baryshkov  nvmem-cells:
94acd31b9fSDmitry Baryshkov    oneOf:
95acd31b9fSDmitry Baryshkov      - minItems: 1
96acd31b9fSDmitry Baryshkov        maxItems: 2
97acd31b9fSDmitry Baryshkov        description:
98acd31b9fSDmitry Baryshkov          Reference to an nvmem node for the calibration data
99a877e768SAmit Kucheria      - minItems: 5
100b9589defSRob Herring        maxItems: 35
1014f4292bfSDmitry Baryshkov        description: |
1024f4292bfSDmitry Baryshkov          Reference to nvmem cells for the calibration mode, two calibration
103a877e768SAmit Kucheria          bases and two cells per each sensor
104b9589defSRob Herring        # special case for msm8974 / apq8084
10526b2f03dSAnsuel Smith      - maxItems: 51
10626b2f03dSAnsuel Smith        description: |
10726b2f03dSAnsuel Smith          Reference to nvmem cells for the calibration mode, two calibration
1084f4292bfSDmitry Baryshkov          bases and two cells per each sensor, main and backup copies, plus use_backup cell
1094f4292bfSDmitry Baryshkov
1104f4292bfSDmitry Baryshkov  nvmem-cell-names:
1114f4292bfSDmitry Baryshkov    oneOf:
1124f4292bfSDmitry Baryshkov      - minItems: 1
1134f4292bfSDmitry Baryshkov        items:
1144f4292bfSDmitry Baryshkov          - const: calib
1154f4292bfSDmitry Baryshkov          - enum:
1164f4292bfSDmitry Baryshkov              - calib_backup
1174f4292bfSDmitry Baryshkov              - calib_sel
1184f4292bfSDmitry Baryshkov      - minItems: 5
1194f4292bfSDmitry Baryshkov        items:
1204f4292bfSDmitry Baryshkov          - const: mode
1214f4292bfSDmitry Baryshkov          - const: base1
1224f4292bfSDmitry Baryshkov          - const: base2
1234f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1244f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
1254f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1264f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
1274f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1284f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
1294f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1304f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
1314f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1324f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
1334f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1344f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
1354f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1364f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
1374f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1384f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
1394f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1404f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
1414f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1424f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
1434f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
1444f4292bfSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
145acd31b9fSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
146acd31b9fSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
147acd31b9fSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
148acd31b9fSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
149acd31b9fSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
150acd31b9fSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
151acd31b9fSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
152acd31b9fSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
153acd31b9fSDmitry Baryshkov          - pattern: '^s[0-9]+_p1$'
154acd31b9fSDmitry Baryshkov          - pattern: '^s[0-9]+_p2$'
155acd31b9fSDmitry Baryshkov        # special case for msm8974 / apq8084
156acd31b9fSDmitry Baryshkov      - items:
157acd31b9fSDmitry Baryshkov          - const: mode
158acd31b9fSDmitry Baryshkov          - const: base1
159acd31b9fSDmitry Baryshkov          - const: base2
160acd31b9fSDmitry Baryshkov          - const: use_backup
161acd31b9fSDmitry Baryshkov          - const: mode_backup
162acd31b9fSDmitry Baryshkov          - const: base1_backup
163acd31b9fSDmitry Baryshkov          - const: base2_backup
164acd31b9fSDmitry Baryshkov          - const: s0_p1
165acd31b9fSDmitry Baryshkov          - const: s0_p2
166acd31b9fSDmitry Baryshkov          - const: s1_p1
167acd31b9fSDmitry Baryshkov          - const: s1_p2
168acd31b9fSDmitry Baryshkov          - const: s2_p1
169acd31b9fSDmitry Baryshkov          - const: s2_p2
170acd31b9fSDmitry Baryshkov          - const: s3_p1
171acd31b9fSDmitry Baryshkov          - const: s3_p2
172acd31b9fSDmitry Baryshkov          - const: s4_p1
173acd31b9fSDmitry Baryshkov          - const: s4_p2
174acd31b9fSDmitry Baryshkov          - const: s5_p1
175acd31b9fSDmitry Baryshkov          - const: s5_p2
176acd31b9fSDmitry Baryshkov          - const: s6_p1
177acd31b9fSDmitry Baryshkov          - const: s6_p2
178acd31b9fSDmitry Baryshkov          - const: s7_p1
179acd31b9fSDmitry Baryshkov          - const: s7_p2
180acd31b9fSDmitry Baryshkov          - const: s8_p1
181acd31b9fSDmitry Baryshkov          - const: s8_p2
182acd31b9fSDmitry Baryshkov          - const: s9_p1
183acd31b9fSDmitry Baryshkov          - const: s9_p2
184acd31b9fSDmitry Baryshkov          - const: s10_p1
185acd31b9fSDmitry Baryshkov          - const: s10_p2
186acd31b9fSDmitry Baryshkov          - const: s0_p1_backup
187acd31b9fSDmitry Baryshkov          - const: s0_p2_backup
188acd31b9fSDmitry Baryshkov          - const: s1_p1_backup
189acd31b9fSDmitry Baryshkov          - const: s1_p2_backup
190acd31b9fSDmitry Baryshkov          - const: s2_p1_backup
191acd31b9fSDmitry Baryshkov          - const: s2_p2_backup
192acd31b9fSDmitry Baryshkov          - const: s3_p1_backup
193acd31b9fSDmitry Baryshkov          - const: s3_p2_backup
194acd31b9fSDmitry Baryshkov          - const: s4_p1_backup
195acd31b9fSDmitry Baryshkov          - const: s4_p2_backup
196acd31b9fSDmitry Baryshkov          - const: s5_p1_backup
197acd31b9fSDmitry Baryshkov          - const: s5_p2_backup
198a877e768SAmit Kucheria          - const: s6_p1_backup
199a877e768SAmit Kucheria          - const: s6_p2_backup
200a877e768SAmit Kucheria          - const: s7_p1_backup
201a877e768SAmit Kucheria          - const: s7_p2_backup
2023d21a460SRob Herring          - const: s8_p1_backup
2033d21a460SRob Herring          - const: s8_p2_backup
2043d21a460SRob Herring          - const: s9_p1_backup
205a877e768SAmit Kucheria          - const: s9_p2_backup
206a877e768SAmit Kucheria          - const: s10_p1_backup
207a877e768SAmit Kucheria          - const: s10_p2_backup
208a877e768SAmit Kucheria
209a877e768SAmit Kucheria  "#qcom,sensors":
210a877e768SAmit Kucheria    description:
211a877e768SAmit Kucheria      Number of sensors enabled on this platform
21226b2f03dSAnsuel Smith    $ref: /schemas/types.yaml#/definitions/uint32
21326b2f03dSAnsuel Smith    minimum: 1
21426b2f03dSAnsuel Smith    maximum: 16
21526b2f03dSAnsuel Smith
21626b2f03dSAnsuel Smith  "#thermal-sensor-cells":
21726b2f03dSAnsuel Smith    const: 1
21826b2f03dSAnsuel Smith    description:
219a877e768SAmit Kucheria      Number of cells required to uniquely identify the thermal sensors. Since
220a877e768SAmit Kucheria      we have multiple sensors this is set to 1
221a877e768SAmit Kucheria
222a877e768SAmit Kucheriarequired:
223a877e768SAmit Kucheria  - compatible
224a877e768SAmit Kucheria  - interrupts
22526b2f03dSAnsuel Smith  - interrupt-names
22695778161SKonrad Dybcio  - "#thermal-sensor-cells"
227a877e768SAmit Kucheria  - "#qcom,sensors"
228a63fa2b6SDmitry Baryshkov
229a877e768SAmit KucheriaallOf:
230da73f9b8SAngeloGioacchino Del Regno  - if:
231a877e768SAmit Kucheria      properties:
232a877e768SAmit Kucheria        compatible:
233a877e768SAmit Kucheria          contains:
234a877e768SAmit Kucheria            enum:
235a877e768SAmit Kucheria              - qcom,ipq8064-tsens
236a877e768SAmit Kucheria              - qcom,msm8960-tsens
237c6db32ecSRobert Marko              - qcom,tsens-v0_1
238c6db32ecSRobert Marko              - qcom,tsens-v1
239a877e768SAmit Kucheria    then:
240c6db32ecSRobert Marko      properties:
241c6db32ecSRobert Marko        interrupts:
242a877e768SAmit Kucheria          items:
24326b2f03dSAnsuel Smith            - description: Combined interrupt if upper or lower threshold crossed
24426b2f03dSAnsuel Smith        interrupt-names:
24526b2f03dSAnsuel Smith          items:
24626b2f03dSAnsuel Smith            - const: uplow
24726b2f03dSAnsuel Smith
248c6db32ecSRobert Marko  - if:
249c6db32ecSRobert Marko      properties:
250c6db32ecSRobert Marko        compatible:
251c6db32ecSRobert Marko          contains:
252c6db32ecSRobert Marko            const: qcom,tsens-v2
253c6db32ecSRobert Marko    then:
254fa17c413SKrzysztof Kozlowski      properties:
255c6db32ecSRobert Marko        interrupts:
256c6db32ecSRobert Marko          items:
257fa17c413SKrzysztof Kozlowski            - description: Combined interrupt if upper or lower threshold crossed
258c6db32ecSRobert Marko            - description: Interrupt if critical threshold crossed
259c6db32ecSRobert Marko        interrupt-names:
260c6db32ecSRobert Marko          items:
261fa17c413SKrzysztof Kozlowski            - const: uplow
262c6db32ecSRobert Marko            - const: critical
263c6db32ecSRobert Marko
264c6db32ecSRobert Marko  - if:
265c6db32ecSRobert Marko      properties:
266c6db32ecSRobert Marko        compatible:
267c6db32ecSRobert Marko          contains:
268c6db32ecSRobert Marko            enum:
269c6db32ecSRobert Marko              - qcom,ipq8074-tsens
270c6db32ecSRobert Marko    then:
271c6db32ecSRobert Marko      properties:
272c6db32ecSRobert Marko        interrupts:
273c6db32ecSRobert Marko          items:
274c6db32ecSRobert Marko            - description: Combined interrupt if upper, lower or critical thresholds crossed
275c6db32ecSRobert Marko        interrupt-names:
276c6db32ecSRobert Marko          items:
277c6db32ecSRobert Marko            - const: combined
278c6db32ecSRobert Marko
279c6db32ecSRobert Marko  - if:
280c6db32ecSRobert Marko      properties:
281c6db32ecSRobert Marko        compatible:
282c6db32ecSRobert Marko          contains:
283c6db32ecSRobert Marko            enum:
284c6db32ecSRobert Marko              - qcom,ipq8074-tsens
285c6db32ecSRobert Marko              - qcom,tsens-v0_1
286c6db32ecSRobert Marko              - qcom,tsens-v1
287c6db32ecSRobert Marko              - qcom,tsens-v2
288c6db32ecSRobert Marko
289c6db32ecSRobert Marko    then:
290c6db32ecSRobert Marko      required:
291c6db32ecSRobert Marko        - reg
292c6db32ecSRobert Marko
293c6db32ecSRobert MarkoadditionalProperties: false
294c6db32ecSRobert Marko
29526b2f03dSAnsuel Smithexamples:
29626b2f03dSAnsuel Smith  - |
29726b2f03dSAnsuel Smith    #include <dt-bindings/interrupt-controller/arm-gic.h>
29826b2f03dSAnsuel Smith    // Example msm9860 based SoC (ipq8064):
29926b2f03dSAnsuel Smith    gcc: clock-controller {
300a877e768SAmit Kucheria
301a877e768SAmit Kucheria           /* ... */
302a877e768SAmit Kucheria
30327f747b1SRob Herring           tsens: thermal-sensor {
30427f747b1SRob Herring                compatible = "qcom,ipq8064-tsens";
305a877e768SAmit Kucheria
306a877e768SAmit Kucheria                 nvmem-cells = <&tsens_calib>, <&tsens_calib_backup>;
307a877e768SAmit Kucheria                 nvmem-cell-names = "calib", "calib_backup";
30826b2f03dSAnsuel Smith                 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
30926b2f03dSAnsuel Smith                 interrupt-names = "uplow";
31026b2f03dSAnsuel Smith
31126b2f03dSAnsuel Smith                 #qcom,sensors = <11>;
31226b2f03dSAnsuel Smith                 #thermal-sensor-cells = <1>;
31326b2f03dSAnsuel Smith          };
31426b2f03dSAnsuel Smith    };
31526b2f03dSAnsuel Smith
31626b2f03dSAnsuel Smith  - |
31726b2f03dSAnsuel Smith    #include <dt-bindings/interrupt-controller/arm-gic.h>
31826b2f03dSAnsuel Smith    // Example 1 (new calbiration data: for pre v1 IP):
31926b2f03dSAnsuel Smith    thermal-sensor@4a9000 {
32026b2f03dSAnsuel Smith        compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1";
32126b2f03dSAnsuel Smith        reg = <0x4a9000 0x1000>, /* TM */
32226b2f03dSAnsuel Smith              <0x4a8000 0x1000>; /* SROT */
32326b2f03dSAnsuel Smith
32426b2f03dSAnsuel Smith        nvmem-cells = <&tsens_mode>,
32526b2f03dSAnsuel Smith                      <&tsens_base1>, <&tsens_base2>,
32626b2f03dSAnsuel Smith                      <&tsens_s0_p1>, <&tsens_s0_p2>,
32726b2f03dSAnsuel Smith                      <&tsens_s1_p1>, <&tsens_s1_p2>,
3284f4292bfSDmitry Baryshkov                      <&tsens_s2_p1>, <&tsens_s2_p2>,
329*2afa82d1SKrzysztof Kozlowski                      <&tsens_s4_p1>, <&tsens_s4_p2>,
3304f4292bfSDmitry Baryshkov                      <&tsens_s5_p1>, <&tsens_s5_p2>;
3314f4292bfSDmitry Baryshkov        nvmem-cell-names = "mode",
3324f4292bfSDmitry Baryshkov                           "base1", "base2",
3334f4292bfSDmitry Baryshkov                           "s0_p1", "s0_p2",
3344f4292bfSDmitry Baryshkov                           "s1_p1", "s1_p2",
3354f4292bfSDmitry Baryshkov                           "s2_p1", "s2_p2",
3364f4292bfSDmitry Baryshkov                           "s4_p1", "s4_p2",
3374f4292bfSDmitry Baryshkov                           "s5_p1", "s5_p2";
3384f4292bfSDmitry Baryshkov
3394f4292bfSDmitry Baryshkov        interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
3404f4292bfSDmitry Baryshkov        interrupt-names = "uplow";
3414f4292bfSDmitry Baryshkov
3424f4292bfSDmitry Baryshkov        #qcom,sensors = <5>;
3434f4292bfSDmitry Baryshkov        #thermal-sensor-cells = <1>;
3444f4292bfSDmitry Baryshkov    };
3454f4292bfSDmitry Baryshkov
3464f4292bfSDmitry Baryshkov  - |
3474f4292bfSDmitry Baryshkov    #include <dt-bindings/interrupt-controller/arm-gic.h>
3484f4292bfSDmitry Baryshkov    // Example 1 (legacy: for pre v1 IP):
3494f4292bfSDmitry Baryshkov    tsens1: thermal-sensor@4a9000 {
3504f4292bfSDmitry Baryshkov           compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1";
3514f4292bfSDmitry Baryshkov           reg = <0x4a9000 0x1000>, /* TM */
3524f4292bfSDmitry Baryshkov                 <0x4a8000 0x1000>; /* SROT */
3534f4292bfSDmitry Baryshkov
3544f4292bfSDmitry Baryshkov           nvmem-cells = <&tsens_caldata>, <&tsens_calsel>;
3554f4292bfSDmitry Baryshkov           nvmem-cell-names = "calib", "calib_sel";
3564f4292bfSDmitry Baryshkov
3574f4292bfSDmitry Baryshkov           interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
358a877e768SAmit Kucheria           interrupt-names = "uplow";
359*2afa82d1SKrzysztof Kozlowski
360a877e768SAmit Kucheria           #qcom,sensors = <5>;
361a877e768SAmit Kucheria           #thermal-sensor-cells = <1>;
362a877e768SAmit Kucheria    };
363a877e768SAmit Kucheria
364a877e768SAmit Kucheria  - |
365b9589defSRob Herring    #include <dt-bindings/interrupt-controller/arm-gic.h>
366a877e768SAmit Kucheria    // Example 2 (for any platform containing v1 of the TSENS IP):
367a877e768SAmit Kucheria    tsens2: thermal-sensor@4a9000 {
368a877e768SAmit Kucheria          compatible = "qcom,qcs404-tsens", "qcom,tsens-v1";
369a877e768SAmit Kucheria          reg = <0x004a9000 0x1000>, /* TM */
370a877e768SAmit Kucheria                <0x004a8000 0x1000>; /* SROT */
371a877e768SAmit Kucheria
372a877e768SAmit Kucheria          nvmem-cells = <&tsens_caldata>;
373a877e768SAmit Kucheria          nvmem-cell-names = "calib";
374a877e768SAmit Kucheria
375a877e768SAmit Kucheria          interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>;
376a877e768SAmit Kucheria          interrupt-names = "uplow";
377a877e768SAmit Kucheria
378a877e768SAmit Kucheria          #qcom,sensors = <10>;
379a877e768SAmit Kucheria          #thermal-sensor-cells = <1>;
380a877e768SAmit Kucheria    };
381a877e768SAmit Kucheria
382a877e768SAmit Kucheria  - |
383a877e768SAmit Kucheria    #include <dt-bindings/interrupt-controller/arm-gic.h>
384a877e768SAmit Kucheria    // Example 3 (for any platform containing v2 of the TSENS IP):
385a877e768SAmit Kucheria    tsens3: thermal-sensor@c263000 {
386a877e768SAmit Kucheria           compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
387a877e768SAmit Kucheria           reg = <0xc263000 0x1ff>,
388a877e768SAmit Kucheria                 <0xc222000 0x1ff>;
389a877e768SAmit Kucheria
390a877e768SAmit Kucheria           interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
391a877e768SAmit Kucheria                        <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
392a877e768SAmit Kucheria           interrupt-names = "uplow", "critical";
393a877e768SAmit Kucheria
394a877e768SAmit Kucheria           #qcom,sensors = <13>;
395a877e768SAmit Kucheria           #thermal-sensor-cells = <1>;
396a877e768SAmit Kucheria    };
397a877e768SAmit Kucheria
398a877e768SAmit Kucheria  - |
399a877e768SAmit Kucheria    #include <dt-bindings/interrupt-controller/arm-gic.h>
400a877e768SAmit Kucheria    // Example 4 (for any IPQ8074 based SoC-s):
401a877e768SAmit Kucheria    tsens4: thermal-sensor@4a9000 {
402a877e768SAmit Kucheria           compatible = "qcom,ipq8074-tsens";
403a877e768SAmit Kucheria           reg = <0x4a9000 0x1000>,
404a877e768SAmit Kucheria                 <0x4a8000 0x1000>;
405a877e768SAmit Kucheria
406a877e768SAmit Kucheria           interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
407c6db32ecSRobert Marko           interrupt-names = "combined";
408c6db32ecSRobert Marko
409c6db32ecSRobert Marko           #qcom,sensors = <16>;
410c6db32ecSRobert Marko           #thermal-sensor-cells = <1>;
411c6db32ecSRobert Marko    };
412c6db32ecSRobert Marko...
413c6db32ecSRobert Marko