Thread (1 message) 1 message, 1 author, 2020-11-24

Re: [v5 1/3] arm64: dts: mt8183: add thermal zone node

flat view

From: Hsin-Yi Wang <hidden>
Date: 2020-11-24 08:21:06
Also in: linux-arm-kernel, linux-mediatek, linux-pm, lkml

On Tue, Oct 13, 2020 at 6:24 PM Michael Kao [off-list ref] wrote:
quoted hunk
From: "Michael.Kao" <redacted>

Add thermal zone node to Mediatek MT8183 dts file.

Evaluate the thermal zone every 500ms while not cooling
and every 100ms when passive cooling is performed.

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Michael Kao <redacted>
---
 arch/arm64/boot/dts/mediatek/mt8183.dtsi | 84 ++++++++++++++++++++++++
 1 file changed, 84 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index 8fed72bb35d7..1cd093cf33f3 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -430,6 +430,86 @@
                        status = "disabled";
                };

+               thermal: thermal@1100b000 {
+                       #thermal-sensor-cells = <1>;
+                       compatible = "mediatek,mt8183-thermal";
+                       reg = <0 0x1100b000 0 0x1000>;
+                       clocks = <&infracfg CLK_INFRA_THERM>,
+                                <&infracfg CLK_INFRA_AUXADC>;
+                       clock-names = "therm", "auxadc";
+                       resets = <&infracfg  MT8183_INFRACFG_AO_THERM_SW_RST>;
According to binding document[1], interrupts is required.
interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>;

[1] https://elixir.bootlin.com/linux/v5.10-rc3/source/Documentation/devicetree/bindings/thermal/mediatek-thermal.txt#L18
quoted hunk
+                       mediatek,auxadc = <&auxadc>;
+                       mediatek,apmixedsys = <&apmixedsys>;
+                       nvmem-cells = <&thermal_calibration>;
+                       nvmem-cell-names = "calibration-data";
+               };
+
+               thermal-zones {
+                       cpu_thermal: cpu_thermal {
+                               polling-delay-passive = <100>;
+                               polling-delay = <500>;
+                               thermal-sensors = <&thermal 0>;
+                               sustainable-power = <5000>;
+                       };
+
+                       /* The tzts1 ~ tzts6 don't need to polling */
+                       /* The tzts1 ~ tzts6 don't need to thermal throttle */
+
+                       tzts1: tzts1 {
+                               polling-delay-passive = <0>;
+                               polling-delay = <0>;
+                               thermal-sensors = <&thermal 1>;
+                               sustainable-power = <5000>;
+                               trips {};
+                               cooling-maps {};
+                       };
+
+                       tzts2: tzts2 {
+                               polling-delay-passive = <0>;
+                               polling-delay = <0>;
+                               thermal-sensors = <&thermal 2>;
+                               sustainable-power = <5000>;
+                               trips {};
+                               cooling-maps {};
+                       };
+
+                       tzts3: tzts3 {
+                               polling-delay-passive = <0>;
+                               polling-delay = <0>;
+                               thermal-sensors = <&thermal 3>;
+                               sustainable-power = <5000>;
+                               trips {};
+                               cooling-maps {};
+                       };
+
+                       tzts4: tzts4 {
+                               polling-delay-passive = <0>;
+                               polling-delay = <0>;
+                               thermal-sensors = <&thermal 4>;
+                               sustainable-power = <5000>;
+                               trips {};
+                               cooling-maps {};
+                       };
+
+                       tzts5: tzts5 {
+                               polling-delay-passive = <0>;
+                               polling-delay = <0>;
+                               thermal-sensors = <&thermal 5>;
+                               sustainable-power = <5000>;
+                               trips {};
+                               cooling-maps {};
+                       };
+
+                       tztsABB: tztsABB {
+                               polling-delay-passive = <0>;
+                               polling-delay = <0>;
+                               thermal-sensors = <&thermal 6>;
+                               sustainable-power = <5000>;
+                               trips {};
+                               cooling-maps {};
+                       };
+               };
+
                i2c3: i2c@1100f000 {
                        compatible = "mediatek,mt8183-i2c";
                        reg = <0 0x1100f000 0 0x1000>,
@@ -675,6 +755,10 @@
                        compatible = "mediatek,mt8183-efuse",
                                     "mediatek,efuse";
                        reg = <0 0x11f10000 0 0x1000>;
+
+                       thermal_calibration: calib@180 {
+                               reg = <0x180 0xc>;
+                       };
                };

                u3phy: usb-phy@11f40000 {
--
2.18.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help