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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
---
 .../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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux