summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJinyoung Park <jinyoungp@nvidia.com>2013-04-12 23:25:42 +0900
committerRiham Haidar <rhaidar@nvidia.com>2013-04-18 12:43:33 -0700
commitba09eedfa1eb90751c670edf3736146b84a369f7 (patch)
tree936c76a1a121f7eb5cecad9b74c1bf4d74631cbe /Documentation
parent0e49971fdd7b06be32f91476161062238c7a926f (diff)
drivers: misc: therm_est: Add DT support
Add DT support and documentation for thermal estimator. Bug 1173854 Bug 1240803 Change-Id: I4631fc499cb042d7649681fe097a9087aa5c5098 Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com> Reviewed-on: http://git-master/r/211125 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/misc/therm_est.txt108
1 files changed, 108 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/misc/therm_est.txt b/Documentation/devicetree/bindings/misc/therm_est.txt
new file mode 100644
index 000000000000..1a0adb7689eb
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/therm_est.txt
@@ -0,0 +1,108 @@
+Thermal estimator driver.
+
+Properties :
+ - compatible : Should contain "nvidia,therm-est".
+ - toffset : Temperature offset for thermal estimation, in milli-celsius.
+ - polling-period : Polling wait times for thermal estimation, in milliseconds.
+ - passive-delay : Polling wait times for passive cooling, in milliseconds.
+ - tc1 : Coefficient 1 for thermal trend calculation.
+ - tc2 : Coefficient 2 for thermal trend calculation.
+ - node for trip : Node for trip point information. Required.
+ This node can be numerous.
+ - node for subdev : Node for subdevice information. Required.
+ This node can be numerous.
+ - node for tzp : Node for thermal zone platform parameters. Optional.
+ - node for timer trip : Node for timer trip point information. Optional.
+ This node can be numerous.
+
+Properties in trips node : Required. Can be numerous.
+ - compatible : Should contain "nvidia,therm-est-trip".
+ - cdev-type : Thermal cooling device type for binding with the thermal
+ estimator thermal zone.
+ - trip-type : Type of this trip point.
+ This should be one of types in active, passive, hot, and critical.
+ - trip-temp : Temperature to fire this trip point, in milli-celsius.
+ - hysteresis : Hysteresis temperature for this trip point, in milli-celsius.
+ - upper : Upper limit of the cooling state for this trip point. Optional.
+ "-1" = THERMAL_NO_LIMIT: no upper limit.
+ If no upper property, THERMAL_NO_LIMIT will be used.
+ - lower : Lower limit of the cooling state for this trip point. Optional.
+ "-1" = THERMAL_NO_LIMIT: no lower limit.
+ If no lower property, THERMAL_NO_LIMIT will be used.
+
+Properties in subdevice node : Required. Can be numerous.
+ - compatible : Should contain "nvidia,therm-est-subdev".
+ - dev_data : Thermal zone device type for thermal estimation.
+ - coeffs : An array of coefficients, the number of entries should be twenty.
+
+Properties in tzp node : Optional
+ - compatible : Should contain "nvidia,therm-est-tzp".
+ - governor : Thermal throttling governor name.
+ The available governors could be different by Kernel build options.
+
+Properties in timer trip : Optional. Can be numerous.
+ - compatible : Should contain "nvidia,therm-est-timer-trip".
+ - trip : Trip point to apply timer trip in the thermal estimator thermal zone.
+ - node for timer : Nodes for timer trip point information. Required.
+ This node can be numerous.
+
+Properties in timer : Required if the timer trip is exist. Can be numerous.
+ - compatible : Should contain "nvidia,therm-est-timer-trip".
+ - time-after : Expiration time of the timer, in milliseconds.
+ - trip-temp : Trip temperature will be used for this trip point after timer
+ expires, in milli-celsius.
+ - hysteresis : Hysteresis temperature will be used for this trip point after
+ timer expires, in milli-celsius.
+
+Example:
+
+ therm_est {
+ compatible = "nvidia,therm-est";
+ toffset = <0>;
+ polling-period = <1100>;
+ passive-delay = <15000>;
+ tc1 = <10>;
+ tc2 = <1>;
+ trips@0 {
+ compatible = "nvidia,therm-est-trip";
+ cdev-type = "skin-balanced";
+ trip-type = "active";
+ trip-temp = <40000>;
+ hysteresis = <0>;
+ upper = "1"; // fix cooling state to 1
+ lower = "1";
+ };
+ trips@1 {
+ compatible = "nvidia,therm-est-trip";
+ cdev-type = "skin-balanced";
+ trip-type = "passive";
+ trip-temp = <45000>;
+ hysteresis = <5000>;
+ upper = "-1"; // THERMAL_NO_LIMIT
+ lower = "-1"; // THERMAL_NO_LIMIT
+ };
+ subdevs@0 {
+ compatible = "nvidia,therm-est-subdev";
+ dev-data = "nct_ext";
+ coeffs = "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
+ };
+ subdevs@1 {
+ compatible = "nvidia,therm-est-subdev";
+ dev-data = "nct_int";
+ coeffs = "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
+ };
+ tzp {
+ compatible = "nvidia,therm-est-tzp";
+ governor = "pid_thermal_gov";
+ };
+ timer-trips@0 {
+ compatible = "nvidia,therm-est-timer-trip";
+ trip = <1>; // this timer trip will be applied to trip1
+ timers@0 {
+ compatible = "nvidia,therm-est-timer";
+ time-after = <600000>;
+ trip-temp = <43000>;
+ hysteresis = <5000>;
+ };
+ };
+ };