Thread (9 messages) 9 messages, 4 authors, 2015-10-02

[PATCH v4 1/5] Documentation: add DT bindings for ARM SCPI sensors

From: robh@kernel.org (Rob Herring)
Date: 2015-09-29 18:21:25
Also in: linux-devicetree, lkml

On Tue, Sep 15, 2015 at 11:50 AM, Punit Agrawal [off-list ref] wrote:
The System Control Processor (SCP) provides access to SoC sensors via
the System Control and Power Interface (SCPI) Message Protocol. Add
bindings to allow probing of these sensors. Also support referencing
of the sensors for setting up thermal zones via the thermal DT
bindings.

Signed-off-by: Punit Agrawal <redacted>
Cc: Rob Herring <robh+dt@kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
quoted hunk ↗ jump to hunk
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Sudeep Holla <redacted>
---
 Documentation/devicetree/bindings/arm/arm,scpi.txt | 38 ++++++++++++++++++++++
 1 file changed, 38 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/arm,scpi.txt b/Documentation/devicetree/bindings/arm/arm,scpi.txt
index f002460..86302de 100644
--- a/Documentation/devicetree/bindings/arm/arm,scpi.txt
+++ b/Documentation/devicetree/bindings/arm/arm,scpi.txt
@@ -72,8 +72,25 @@ Required sub-node properties:
 - compatible : should be "arm,juno-scp-shmem" for Non-secure SRAM based
               shared memory on Juno platforms

+Sensor bindings for the sensors based on SCPI Message Protocol
+--------------------------------------------------------------
+SCPI provides an API to access the various sensors on the SoC.
+
+Required properties:
+- compatible : should be "arm,scpi-sensors".
+- #thermal-sensor-cells: should be set to 1. This property follows the
+                        thermal device tree bindings[2].
+
+                        Valid cell values are raw identifiers (Sensor
+                        ID) as used by the firmware. Refer to
+                        platform documentation for your
+                        implementation for the IDs to use. For Juno
+                        R0 and Juno R1 refer to [3].
+
 [0] http://infocenter.arm.com/help/topic/com.arm.doc.dui0922b/index.html
 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
+[2] Documentation/devicetree/bindings/thermal/thermal.txt
+[3] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0922b/apas03s22.html

 Example:
@@ -122,6 +139,11 @@ scpi_protocol: scpi at 2e000000 {
                        clock-output-names = "pxlclk0", "pxlclk1";
                };
        };
+
+       scpi_sensors0: sensors {
+               compatible = "arm,scpi-sensors";
+               #thermal-sensor-cells = <1>;
+       };
 };

 cpu at 0 {
@@ -136,6 +158,17 @@ hdlcd at 7ff60000 {
        clocks = <&scpi_clk 4>;
 };

+thermal-zones {
+       soc_thermal {
+               polling-delay-passive = <100>;
+               polling-delay = <1000>;
+
+                               /* sensor         ID */
+               thermal-sensors = <&scpi_sensors0 3>;
+               ...
+       };
+};
+
 In the above example, the #clock-cells is set to 1 as required.
 scpi_dvfs has 3 output clocks namely: atlclk, aplclk, and gpuclk with 0,
 1 and 2 as clock-indices. scpi_clk has 2 output clocks namely: pxlclk0
@@ -148,3 +181,8 @@ scpi_dvfs i.e. "atlclk".
 Similarly the second example is hdlcd at 7ff60000 and it has pxlclk1 as input
 clock. '4' in the clock specifier here points to the second entry
 in the output clocks of scpi_clocks  i.e. "pxlclk1"
+
+The thermal-sensors property in the soc_thermal node uses the
+temperature sensor provided by SCP firmware to setup a thermal
+zone. The ID "3" is the sensor identifier for the temperature sensor
+as used by the firmware.
--
2.5.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help