Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0199e993 authored by Mikko Perttunen's avatar Mikko Perttunen Committed by Eduardo Valentin
Browse files

of: Add bindings for nvidia,tegra124-soctherm



This adds binding documentation and headers for the Tegra124
SOCTHERM device tree node.

Signed-off-by: default avatarMikko Perttunen <mperttunen@nvidia.com>
Acked-by: default avatarStephen Warren <swarren@nvidia.com>
Acked-by: default avatarEduardo Valentin <edubezval@gmail.com>
Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parent f9df89d8
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
Tegra124 SOCTHERM thermal management system

The SOCTHERM IP block contains thermal sensors, support for polled
or interrupt-based thermal monitoring, CPU and GPU throttling based
on temperature trip points, and handling external overcurrent
notifications. It is also used to manage emergency shutdown in an
overheating situation.

Required properties :
- compatible : "nvidia,tegra124-soctherm".
- reg : Should contain 1 entry:
  - SOCTHERM register set
- interrupts : Defines the interrupt used by SOCTHERM
- clocks : Must contain an entry for each entry in clock-names.
  See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries:
  - tsensor
  - soctherm
- resets : Must contain an entry for each entry in reset-names.
  See ../reset/reset.txt for details.
- reset-names : Must include the following entries:
  - soctherm
- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description
    of this property. See <dt-bindings/thermal/tegra124-soctherm.h> for a
    list of valid values when referring to thermal sensors.


Example :

	soctherm@0,700e2000 {
		compatible = "nvidia,tegra124-soctherm";
		reg = <0x0 0x700e2000 0x0 0x1000>;
		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&tegra_car TEGRA124_CLK_TSENSOR>,
			<&tegra_car TEGRA124_CLK_SOC_THERM>;
		clock-names = "tsensor", "soctherm";
		resets = <&tegra_car 78>;
		reset-names = "soctherm";

		#thermal-sensor-cells = <1>;
	};

Example: referring to thermal sensors :

       thermal-zones {
                cpu {
                        polling-delay-passive = <1000>;
                        polling-delay = <1000>;

                        thermal-sensors =
                                <&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
                };
	};
+13 −0
Original line number Diff line number Diff line
/*
 * This header provides constants for binding nvidia,tegra124-soctherm.
 */

#ifndef _DT_BINDINGS_THERMAL_TEGRA124_SOCTHERM_H
#define _DT_BINDINGS_THERMAL_TEGRA124_SOCTHERM_H

#define TEGRA124_SOCTHERM_SENSOR_CPU 0
#define TEGRA124_SOCTHERM_SENSOR_MEM 1
#define TEGRA124_SOCTHERM_SENSOR_GPU 2
#define TEGRA124_SOCTHERM_SENSOR_PLLX 3

#endif