]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: imx95-19x19-evk: add pwm fan control
authorFrank Li <Frank.Li@nxp.com>
Mon, 1 Jul 2024 20:07:28 +0000 (16:07 -0400)
committerShawn Guo <shawnguo@kernel.org>
Mon, 5 Aug 2024 08:07:10 +0000 (16:07 +0800)
Add pwm fan and overwrite default thermal nodes.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts

index 2b820a961c173476b5744a064a053cadf825ecc4..37a1d4ca1b2079880f6a0397027c22c5e471bd40 100644 (file)
@@ -5,6 +5,7 @@
 
 /dts-v1/;
 
+#include <dt-bindings/pwm/pwm.h>
 #include "imx95.dtsi"
 
 / {
                reg = <0x0 0x80000000 0 0x80000000>;
        };
 
+       fan0: pwm-fan {
+               compatible = "pwm-fan";
+               #cooling-cells = <2>;
+               pwms = <&tpm6 2 4000000 PWM_POLARITY_INVERTED>;
+               cooling-levels = <64 128 192 255>;
+       };
+
        reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
                >;
        };
 
+       pinctrl_tpm6: tpm6grp {
+               fsl,pins = <
+                       IMX95_PAD_GPIO_IO19__TPM6_CH2                   0x51e
+               >;
+       };
+
        pinctrl_uart1: uart1grp {
                fsl,pins = <
                        IMX95_PAD_UART1_RXD__AONMIX_TOP_LPUART1_RX      0x31e
                >;
        };
 };
+
+&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 0 1>;
+                       };
+
+                       map2 {
+                               trip = <&atrip3>;
+                               cooling-device = <&fan0 1 2>;
+                       };
+
+                       map3 {
+                               trip = <&atrip4>;
+                               cooling-device = <&fan0 2 3>;
+                       };
+               };
+       };
+};
+
+&tpm6 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_tpm6>;
+       status = "okay";
+};