]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: imx943-evk: Add fan node and enable active cooling on A55
authorFlorin Leotescu <florin.leotescu@nxp.com>
Tue, 24 Mar 2026 05:44:12 +0000 (13:44 +0800)
committerFrank Li <Frank.Li@nxp.com>
Fri, 27 Mar 2026 13:53:21 +0000 (09:53 -0400)
Add pwm fan node and use it for A55 cooling.

Signed-off-by: Florin Leotescu <florin.leotescu@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
arch/arm64/boot/dts/freescale/imx943-evk.dts

index ec728efbe15cf0b97deade68445b23528325b082..4373ca117dac623c80dd86f4837561b51dad2fc3 100644 (file)
@@ -7,6 +7,7 @@
 
 #include "imx943.dtsi"
 #include <dt-bindings/usb/pd.h>
+#include <dt-bindings/pwm/pwm.h>
 
 #define BRD_SM_CTRL_BT_WAKE            0x8000  /*!< PCAL6416A-3 */
 #define BRD_SM_CTRL_SD3_WAKE           0x8001  /*!< PCAL6416A-4 */
                                SPKVDD2-supply = <&reg_audio_pwr>;
                        };
 
+                       fan_controller: pwm@2f {
+                               compatible = "microchip,emc2301", "microchip,emc2305";
+                               reg = <0x2f>;
+                               #pwm-cells = <3>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               fan0: fan@0 {
+                                       reg = <0x0>;
+                                       pwms = <&fan_controller 26000 1 PWM_POLARITY_INVERTED>;
+                                       #cooling-cells = <2>;
+                               };
+                       };
+
                        ptn5150: tcpc@3d {
                                compatible = "nxp,ptn5150";
                                reg = <0x3d>;
                        BRD_SM_CTRL_BUTTON              1>;
 };
 
+&thermal_zones {
+       a55-thermal {
+               trips {
+                       atrip2: trip2 {
+                               temperature = <55000>;
+                               hysteresis = <2000>;
+                               type = "active";
+                       };
+
+                       atrip3: trip3 {
+                               temperature = <65000>;
+                               hysteresis = <2000>;
+                               type = "active";
+                       };
+
+                       atrip4: trip4 {
+                               temperature = <75000>;
+                               hysteresis = <2000>;
+                               type = "active";
+                       };
+               };
+
+               cooling-maps {
+                       map1 {
+                               trip = <&atrip2>;
+                               cooling-device = <&fan0 4 6>;
+                       };
+
+                       map2 {
+                               trip = <&atrip3>;
+                               cooling-device = <&fan0 6 8>;
+                       };
+
+                       map3 {
+                               trip = <&atrip4>;
+                               cooling-device = <&fan0 8 10>;
+                       };
+               };
+       };
+};
+
 &usb2 {
        dr_mode = "otg";
        disable-over-current;