[PATCH v4 1/5] Documentation: add DT bindings for ARM SCPI sensors
Punit Agrawal
punit.agrawal at arm.com
Tue Sep 22 07:31:53 PDT 2015
Punit Agrawal <punit.agrawal at arm.com> writes:
> 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 <punit.agrawal at arm.com>
> Cc: Rob Herring <robh+dt at kernel.org>
> Cc: Mark Rutland <mark.rutland at arm.com>
> Cc: Sudeep Holla <sudeep.holla at arm.com>
Gentle reminder for review of the below bindings. They've been updated
based on feedback on the earlier version [a].
If there are no further comments, I'd like to request an ack from the DT
reviewers.
[a] http://thread.gmane.org/gmane.linux.power-management.general/65475/focus=134976
> ---
> 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.
More information about the linux-arm-kernel
mailing list