117 lines
2.4 KiB
Plaintext
117 lines
2.4 KiB
Plaintext
* 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>;
|
|
};
|
|
};
|
|
};
|
|
};
|