|
@@ -0,0 +1,116 @@
|
|
|
+* ZTE zx2967 family Thermal
|
|
|
+
|
|
|
+Required Properties:
|
|
|
+- compatible: should be one of the following.
|
|
|
+ * zte,zx296718-thermal
|
|
|
+- reg: physical base address of the controller and length of memory mapped
|
|
|
+ region.
|
|
|
+- clocks : Pairs of phandle and specifier referencing the controller's clocks.
|
|
|
+- clock-names: "topcrm" for the topcrm clock.
|
|
|
+ "apb" for the apb clock.
|
|
|
+- #thermal-sensor-cells: must be 0.
|
|
|
+
|
|
|
+Please note: slope coefficient defined in thermal-zones section need to be
|
|
|
+multiplied by 1000.
|
|
|
+
|
|
|
+Example for tempsensor:
|
|
|
+
|
|
|
+ tempsensor: tempsensor@148a000 {
|
|
|
+ compatible = "zte,zx296718-thermal";
|
|
|
+ reg = <0x0148a000 0x20>;
|
|
|
+ clocks = <&topcrm TEMPSENSOR_GATE>, <&audiocrm AUDIO_TS_PCLK>;
|
|
|
+ clock-names = "topcrm", "apb";
|
|
|
+ #thermal-sensor-cells = <0>;
|
|
|
+ };
|
|
|
+
|
|
|
+Example for cooling device:
|
|
|
+
|
|
|
+ cooling_dev: cooling_dev {
|
|
|
+ cluster0_cooling_dev: cluster0-cooling-dev {
|
|
|
+ #cooling-cells = <2>;
|
|
|
+ cpumask = <0xf>;
|
|
|
+ capacitance = <1500>;
|
|
|
+ };
|
|
|
+
|
|
|
+ cluster1_cooling_dev: cluster1-cooling-dev {
|
|
|
+ #cooling-cells = <2>;
|
|
|
+ cpumask = <0x30>;
|
|
|
+ capacitance = <2000>;
|
|
|
+ };
|
|
|
+ };
|
|
|
+
|
|
|
+Example for thermal zones:
|
|
|
+
|
|
|
+ thermal-zones {
|
|
|
+ zx296718_thermal: zx296718_thermal {
|
|
|
+ polling-delay-passive = <500>;
|
|
|
+ polling-delay = <1000>;
|
|
|
+ sustainable-power = <6500>;
|
|
|
+
|
|
|
+ thermal-sensors = <&tempsensor 0>;
|
|
|
+ /*
|
|
|
+ * slope need to be multiplied by 1000.
|
|
|
+ */
|
|
|
+ coefficients = <1951 (-922)>;
|
|
|
+
|
|
|
+ trips {
|
|
|
+ trip0: switch_on_temperature {
|
|
|
+ temperature = <90000>;
|
|
|
+ hysteresis = <2000>;
|
|
|
+ type = "passive";
|
|
|
+ };
|
|
|
+
|
|
|
+ trip1: desired_temperature {
|
|
|
+ temperature = <100000>;
|
|
|
+ hysteresis = <2000>;
|
|
|
+ type = "passive";
|
|
|
+ };
|
|
|
+
|
|
|
+ crit: critical_temperature {
|
|
|
+ temperature = <110000>;
|
|
|
+ hysteresis = <2000>;
|
|
|
+ type = "critical";
|
|
|
+ };
|
|
|
+ };
|
|
|
+
|
|
|
+ cooling-maps {
|
|
|
+ map0 {
|
|
|
+ trip = <&trip0>;
|
|
|
+ cooling-device = <&gpu 2 5>;
|
|
|
+ };
|
|
|
+
|
|
|
+ map1 {
|
|
|
+ trip = <&trip0>;
|
|
|
+ cooling-device = <&cluster0_cooling_dev 1 2>;
|
|
|
+ };
|
|
|
+
|
|
|
+ map2 {
|
|
|
+ trip = <&trip1>;
|
|
|
+ cooling-device = <&cluster0_cooling_dev 1 2>;
|
|
|
+ };
|
|
|
+
|
|
|
+ map3 {
|
|
|
+ trip = <&crit>;
|
|
|
+ cooling-device = <&cluster0_cooling_dev 1 2>;
|
|
|
+ };
|
|
|
+
|
|
|
+ map4 {
|
|
|
+ trip = <&trip0>;
|
|
|
+ cooling-device = <&cluster1_cooling_dev 1 2>;
|
|
|
+ contribution = <9000>;
|
|
|
+ };
|
|
|
+
|
|
|
+ map5 {
|
|
|
+ trip = <&trip1>;
|
|
|
+ cooling-device = <&cluster1_cooling_dev 1 2>;
|
|
|
+ contribution = <4096>;
|
|
|
+ };
|
|
|
+
|
|
|
+ map6 {
|
|
|
+ trip = <&crit>;
|
|
|
+ cooling-device = <&cluster1_cooling_dev 1 2>;
|
|
|
+ contribution = <4096>;
|
|
|
+ };
|
|
|
+ };
|
|
|
+ };
|
|
|
+ };
|