From: "C, Udhayakumar" <udhayakuma...@intel.com>

Add device tree bindings for local host thermal sensors
Intel Edge.AI Computer Vision platforms.

The tsens module enables reading of on chip sensors present
in the Intel Bay series SoC. In the tsens module various junction
temperature and SoC temperature are reported using thermal subsystem
and i2c subsystem.

Temperature data reported using thermal subsystem will be used for
various cooling agents such as DVFS, fan control and shutdown the
system in case of critical temperature.

Temperature data reported using i2c subsytem will be used by
platform manageability software running in remote host.

Acked-by: mark gross <mgr...@linux.intel.com>
Signed-off-by: C Udhayakumar <udhayakuma...@intel.com>
Signed-off-by: Mark Gross <mgr...@linux.intel.com>
---
 .../bindings/misc/intel,intel-tsens.yaml      | 122 ++++++++++++++++++
 1 file changed, 122 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/misc/intel,intel-tsens.yaml

diff --git a/Documentation/devicetree/bindings/misc/intel,intel-tsens.yaml 
b/Documentation/devicetree/bindings/misc/intel,intel-tsens.yaml
new file mode 100644
index 000000000000..f307dc6d2012
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/intel,intel-tsens.yaml
@@ -0,0 +1,122 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/misc/intel,intel-tsens.yaml#";
+$schema: "http://devicetree.org/meta-schemas/core.yaml#";
+
+title: Intel Temperature sensors in Bay series
+
+maintainers:
+  - Udhayakumar C <udhayakuma...@intel.com>
+
+description: |
+  The tsens driver enables reading of onchip sensors present
+  in the Intel Bay SoC.
+  Each subnode of the tsens represents sensors available
+  on the soc.
+
+select: false
+
+properties:
+  compatible:
+    items:
+      - const: intel,intel-tsens
+
+  plat_name:
+    contains:
+      enum:
+        - intel,keembay_thermal
+
+  reg:
+    minItems: 1
+    maxItems: 2
+
+  clocks:
+    items:
+      - description: thermal sensor clock
+
+  clk-rate:
+    items:
+      - description: thermal sensor clock freq
+
+  sensor_name:
+    type: object
+    description:
+      Details to configure sensor trip points and its types.
+
+    properties:
+      passive_delay:
+        minItems: 1
+        maxItems: 1
+        description: number of milliseconds to wait between polls when
+                     performing passive cooling
+
+      polling_delay:
+        minItems: 1
+        maxItems: 1
+        description: number of milliseconds to wait between polls when checking
+                     whether trip points have been crossed (0 for interrupt
+                     driven systems)
+
+      trip_temp:
+        minItems: 1
+        description: temperature for trip points
+
+      trip_type:
+        minItems: 1
+        description: trip type list for trip points
+
+    required:
+      - passive_delay
+      - polling_delay
+      - trip_temp
+      - trip_type
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    tsens {
+        #address-cells = <2>;
+        #size-cells = <2>;
+
+        tsens@20260000 {
+                compatible = "intel,intel-tsens";
+                status = "disabled";
+                plat_name = "intel,keembay_thermal";
+                reg = <0x0 0x20260000 0x0 0x100>;
+                clocks = <&scmi_clk>;
+                clk-rate = <1250000>;
+
+                mss {
+                        passive_delay = <1000>;
+                        polling_delay = <2000>;
+                        trip_temp = <40000 80000 1000000>;
+                        trip_type = "passive", "passive", "critical";
+                };
+
+                css {
+                        passive_delay = <1000>;
+                        polling_delay = <2000>;
+                        trip_temp = <40000 80000 1000000>;
+                        trip_type = "passive", "passive", "critical";
+                };
+
+                nce {
+                        passive_delay = <1000>;
+                        polling_delay = <2000>;
+                        trip_temp = <40000 80000 1000000>;
+                        trip_type = "passive", "passive", "critical";
+                };
+
+                soc {
+                        passive_delay = <1000>;
+                        polling_delay = <2000>;
+                        trip_temp = <40000 80000 1000000>;
+                        trip_type = "passive", "passive", "critical";
+                };
+        };
+    };
-- 
2.17.1

Reply via email to