[v5 1/3] arm64: dts: mt8183: add thermal zone node
Hsin-Yi Wang
hsinyi at chromium.org
Tue Nov 24 03:20:33 EST 2020
On Tue, Oct 13, 2020 at 6:24 PM Michael Kao <michael.kao at mediatek.com> wrote:
>
> From: "Michael.Kao" <michael.kao at mediatek.com>
>
> 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 at chromium.org>
> Signed-off-by: Michael Kao <michael.kao at mediatek.com>
> ---
> 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 at 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
> + 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 at 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 at 180 {
> + reg = <0x180 0xc>;
> + };
> };
>
> u3phy: usb-phy at 11f40000 {
> --
> 2.18.0
More information about the Linux-mediatek
mailing list