Thread (10 messages) 10 messages, 2 authors, 2020-11-30
STALE2066d
Revisions (9)
  1. v6 [diff vs current]
  2. v7 current
  3. v9 [diff vs current]
  4. v10 [diff vs current]
  5. v11 [diff vs current]
  6. v12 [diff vs current]
  7. v13 [diff vs current]
  8. v14 [diff vs current]
  9. v15 [diff vs current]

[PATCH v7 8/8] dt-bindings: thermal: tsens: Document ipq8064 bindings

From: Ansuel Smith <ansuelsmth@gmail.com>
Date: 2020-11-26 02:12:45
Also in: linux-arm-msm, linux-pm, lkml
Subsystem: arm/qualcomm mailing list, open firmware and flattened device tree bindings, qualcomm tsens thermal driver, the rest, thermal · Maintainers: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Amit Kucheria, Thara Gopinath, Linus Torvalds, Rafael J. Wysocki, Daniel Lezcano

Document the use of bindings used for msm8960 tsens based devices.
msm8960 use the same gcc regs and is set as a child of the qcom gcc.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
 .../bindings/thermal/qcom-tsens.yaml          | 103 ++++++++++++++----
 1 file changed, 79 insertions(+), 24 deletions(-)
diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
index 95462e071ab4..3aacee5c0632 100644
--- a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
+++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
@@ -19,6 +19,11 @@ description: |
 properties:
   compatible:
     oneOf:
+      - description: msm9860 TSENS based
+        items:
+          - enum:
+            - qcom,ipq8064-tsens
+
       - description: v0.1 of TSENS
         items:
           - enum:
@@ -71,9 +76,6 @@ properties:
   nvmem-cell-names:
     minItems: 1
     maxItems: 2
-    items:
-      - const: calib
-      - const: calib_sel
 
   "#qcom,sensors":
     description:
@@ -88,43 +90,96 @@ properties:
       Number of cells required to uniquely identify the thermal sensors. Since
       we have multiple sensors this is set to 1
 
+required:
+  - compatible
+  - interrupts
+  - interrupt-names
+  - "#thermal-sensor-cells"
+  - "#qcom,sensors"
+
 allOf:
   - if:
       properties:
         compatible:
           contains:
             enum:
-              - qcom,msm8916-tsens
-              - qcom,msm8974-tsens
-              - qcom,msm8976-tsens
-              - qcom,qcs404-tsens
-              - qcom,tsens-v0_1
-              - qcom,tsens-v1
+              - qcom,ipq8064-tsens
     then:
       properties:
-        interrupts:
-          maxItems: 1
-        interrupt-names:
-          maxItems: 1
+        nvmem-cell-names:
+          items:
+            - const: calib
+            - const: calib_backup
 
     else:
       properties:
-        interrupts:
-          minItems: 2
-        interrupt-names:
-          minItems: 2
+        nvmem-cell-names:
+          items:
+            - const: calib
+            - const: calib_sel
 
-required:
-  - compatible
-  - reg
-  - "#qcom,sensors"
-  - interrupts
-  - interrupt-names
-  - "#thermal-sensor-cells"
+  - if:
+    properties:
+      compatible:
+        contains:
+          enum:
+            - qcom,ipq8064-tsens
+            - qcom,msm8916-tsens
+            - qcom,msm8974-tsens
+            - qcom,msm8976-tsens
+            - qcom,qcs404-tsens
+            - qcom,tsens-v0_1
+            - qcom,tsens-v1
+  then:
+    properties:
+      interrupts:
+        maxItems: 1
+      interrupt-names:
+        maxItems: 1
+
+  else:
+    properties:
+      interrupts:
+        minItems: 2
+      interrupt-names:
+        minItems: 2
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,tsens-v0_1
+              - qcom,tsens-v1
+              - qcom,tsens-v2
+
+    then:
+      required:
+        - reg
 
 additionalProperties: false
 
 examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    // Example msm9860 based SoC (ipq8064):
+    gcc: clock-controller {
+
+           /* ... */
+
+           tsens: thermal-sensor {
+                compatible = "qcom,ipq8064-tsens";
+
+                 nvmem-cells = <&tsens_calib>, <&tsens_calib_backup>;
+                 nvmem-cell-names = "calib", "calib_backup";
+                 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
+                 interrupt-names = "uplow";
+
+                 #qcom,sensors = <11>;
+                 #thermal-sensor-cells = <1>;
+          };
+    };
+
   - |
     #include <dt-bindings/interrupt-controller/arm-gic.h>
     // Example 1 (legacy: for pre v1 IP):
-- 
2.29.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help