fef6a96d9e
Allows to check cpu temperature. Huge thanks to @hnyman for valuable assistance! Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
150 lines
3 KiB
Diff
150 lines
3 KiB
Diff
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
|
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
|
@@ -31,6 +31,9 @@
|
|
clock-latency = <100000>;
|
|
cpu-supply = <&smb208_s2a>;
|
|
voltage-tolerance = <5>;
|
|
+ cooling-min-state = <0>;
|
|
+ cooling-max-state = <10>;
|
|
+ #cooling-cells = <2>;
|
|
cpu-idle-states = <&CPU_SPC>;
|
|
};
|
|
|
|
@@ -46,6 +49,9 @@
|
|
clock-names = "cpu", "l2";
|
|
clock-latency = <100000>;
|
|
cpu-supply = <&smb208_s2b>;
|
|
+ cooling-min-state = <0>;
|
|
+ cooling-max-state = <10>;
|
|
+ #cooling-cells = <2>;
|
|
cpu-idle-states = <&CPU_SPC>;
|
|
};
|
|
|
|
@@ -70,6 +76,92 @@
|
|
};
|
|
};
|
|
|
|
+ thermal-zones {
|
|
+ cpu-thermal0 {
|
|
+ polling-delay-passive = <250>;
|
|
+ polling-delay = <1000>;
|
|
+
|
|
+ thermal-sensors = <&gcc 5>;
|
|
+ coefficients = <1132 0>;
|
|
+
|
|
+ trips {
|
|
+ cpu_alert0: trip0 {
|
|
+ temperature = <75000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "passive";
|
|
+ };
|
|
+ cpu_crit0: trip1 {
|
|
+ temperature = <110000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "critical";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cpu-thermal1 {
|
|
+ polling-delay-passive = <250>;
|
|
+ polling-delay = <1000>;
|
|
+
|
|
+ thermal-sensors = <&gcc 6>;
|
|
+ coefficients = <1132 0>;
|
|
+
|
|
+ trips {
|
|
+ cpu_alert1: trip0 {
|
|
+ temperature = <75000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "passive";
|
|
+ };
|
|
+ cpu_crit1: trip1 {
|
|
+ temperature = <110000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "critical";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cpu-thermal2 {
|
|
+ polling-delay-passive = <250>;
|
|
+ polling-delay = <1000>;
|
|
+
|
|
+ thermal-sensors = <&gcc 7>;
|
|
+ coefficients = <1199 0>;
|
|
+
|
|
+ trips {
|
|
+ cpu_alert2: trip0 {
|
|
+ temperature = <75000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "passive";
|
|
+ };
|
|
+ cpu_crit2: trip1 {
|
|
+ temperature = <110000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "critical";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cpu-thermal3 {
|
|
+ polling-delay-passive = <250>;
|
|
+ polling-delay = <1000>;
|
|
+
|
|
+ thermal-sensors = <&gcc 8>;
|
|
+ coefficients = <1132 0>;
|
|
+
|
|
+ trips {
|
|
+ cpu_alert3: trip0 {
|
|
+ temperature = <75000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "passive";
|
|
+ };
|
|
+ cpu_crit3: trip1 {
|
|
+ temperature = <110000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "critical";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
cpu-pmu {
|
|
compatible = "qcom,krait-pmu";
|
|
interrupts = <1 10 0x304>;
|
|
@@ -172,6 +264,21 @@
|
|
reg-names = "lpass-lpaif";
|
|
};
|
|
|
|
+ qfprom: qfprom@700000 {
|
|
+ compatible = "qcom,qfprom", "syscon";
|
|
+ reg = <0x00700000 0x1000>;
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <1>;
|
|
+ ranges;
|
|
+
|
|
+ tsens_calib: calib {
|
|
+ reg = <0x400 0x10>;
|
|
+ };
|
|
+ tsens_backup: backup_calib {
|
|
+ reg = <0x410 0x10>;
|
|
+ };
|
|
+ };
|
|
+
|
|
rpm@108000 {
|
|
compatible = "qcom,rpm-ipq8064";
|
|
reg = <0x108000 0x1000>;
|
|
@@ -499,8 +606,12 @@
|
|
gcc: clock-controller@900000 {
|
|
compatible = "qcom,gcc-ipq8064";
|
|
reg = <0x00900000 0x4000>;
|
|
+ nvmem-cells = <&tsens_calib>, <&tsens_backup>;
|
|
+ nvmem-cell-names = "calib", "calib_backup";
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
+ #power-domain-cells = <1>;
|
|
+ #thermal-sensor-cells = <1>;
|
|
};
|
|
|
|
tcsr: syscon@1a400000 {
|