[v7,1/3] arm64: dts: mt8183: add thermal zone node

Matthias Brugger matthias.bgg at gmail.com
Mon Mar 29 18:08:42 BST 2021



On 22/03/2021 12:20, Hsin-Yi Wang wrote:
> On Tue, Mar 16, 2021 at 3:02 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>
> 
> Tested-by: Hsin-Yi Wang <hsinyi at chromium.org>
> 

Applied to v5.12-next/dts64

Thanks!

> Tested this patch on mt8183 devices.
> 
>> ---
>>  arch/arm64/boot/dts/mediatek/mt8183.dtsi | 85 ++++++++++++++++++++++++
>>  1 file changed, 85 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>> index 5b782a4769e7..d3550af06408 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>> @@ -657,6 +657,87 @@
>>                         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>;
>> +                       interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>;
>> +                       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 {};
>> +                       };
>> +               };
>> +
>>                 pwm0: pwm at 1100e000 {
>>                         compatible = "mediatek,mt8183-disp-pwm";
>>                         reg = <0 0x1100e000 0 0x1000>;
>> @@ -926,6 +1007,10 @@
>>                         reg = <0 0x11f10000 0 0x1000>;
>>                         #address-cells = <1>;
>>                         #size-cells = <1>;
>> +                       thermal_calibration: calib at 180 {
>> +                               reg = <0x180 0xc>;
>> +                       };
>> +
>>                         mipi_tx_calibration: calib at 190 {
>>                                 reg = <0x190 0xc>;
>>                         };
>> --
>> 2.18.0
>>



More information about the Linux-mediatek mailing list