xref: /linux/arch/arm64/boot/dts/freescale/imx93-phyboard-nash-pwm-fan.dtso (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1*09b33db3SPrimoz Fiser// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*09b33db3SPrimoz Fiser/*
3*09b33db3SPrimoz Fiser * Copyright (C) 2025 PHYTEC Messtechnik GmbH
4*09b33db3SPrimoz Fiser * Author: Primoz Fiser <primoz.fiser@norik.com>
5*09b33db3SPrimoz Fiser */
6*09b33db3SPrimoz Fiser
7*09b33db3SPrimoz Fiser#include <dt-bindings/pwm/pwm.h>
8*09b33db3SPrimoz Fiser#include "imx93-pinfunc.h"
9*09b33db3SPrimoz Fiser
10*09b33db3SPrimoz Fiser/dts-v1/;
11*09b33db3SPrimoz Fiser/plugin/;
12*09b33db3SPrimoz Fiser
13*09b33db3SPrimoz Fiser&{/} {
14*09b33db3SPrimoz Fiser	fan0: pwm-fan {
15*09b33db3SPrimoz Fiser		compatible = "pwm-fan";
16*09b33db3SPrimoz Fiser		#cooling-cells = <2>;
17*09b33db3SPrimoz Fiser		pinctrl-names = "default";
18*09b33db3SPrimoz Fiser		pinctrl-0 = <&pinctrl_fan>;
19*09b33db3SPrimoz Fiser		cooling-levels = <1 90 150 200 255>;
20*09b33db3SPrimoz Fiser		pwms = <&tpm6 1 40000 PWM_POLARITY_INVERTED>;
21*09b33db3SPrimoz Fiser	};
22*09b33db3SPrimoz Fiser
23*09b33db3SPrimoz Fiser	thermal-zones {
24*09b33db3SPrimoz Fiser		cpu-thermal {
25*09b33db3SPrimoz Fiser			trips {
26*09b33db3SPrimoz Fiser				cpu_low: cpu-low {
27*09b33db3SPrimoz Fiser					hysteresis = <3000>;
28*09b33db3SPrimoz Fiser					temperature = <50000>;
29*09b33db3SPrimoz Fiser					type = "active";
30*09b33db3SPrimoz Fiser				};
31*09b33db3SPrimoz Fiser
32*09b33db3SPrimoz Fiser				cpu_med: cpu-med {
33*09b33db3SPrimoz Fiser					hysteresis = <3000>;
34*09b33db3SPrimoz Fiser					temperature = <58000>;
35*09b33db3SPrimoz Fiser					type = "active";
36*09b33db3SPrimoz Fiser				};
37*09b33db3SPrimoz Fiser
38*09b33db3SPrimoz Fiser				cpu_high: cpu-high {
39*09b33db3SPrimoz Fiser					hysteresis = <3000>;
40*09b33db3SPrimoz Fiser					temperature = <65000>;
41*09b33db3SPrimoz Fiser					type = "active";
42*09b33db3SPrimoz Fiser				};
43*09b33db3SPrimoz Fiser			};
44*09b33db3SPrimoz Fiser
45*09b33db3SPrimoz Fiser			cooling-maps {
46*09b33db3SPrimoz Fiser				map1 {
47*09b33db3SPrimoz Fiser					cooling-device = <&fan0 1 1>;
48*09b33db3SPrimoz Fiser					trip = <&cpu_low>;
49*09b33db3SPrimoz Fiser				};
50*09b33db3SPrimoz Fiser
51*09b33db3SPrimoz Fiser				map2 {
52*09b33db3SPrimoz Fiser					cooling-device = <&fan0 2 2>;
53*09b33db3SPrimoz Fiser					trip = <&cpu_med>;
54*09b33db3SPrimoz Fiser				};
55*09b33db3SPrimoz Fiser
56*09b33db3SPrimoz Fiser				map3 {
57*09b33db3SPrimoz Fiser					cooling-device = <&fan0 4 4>;
58*09b33db3SPrimoz Fiser					trip = <&cpu_high>;
59*09b33db3SPrimoz Fiser				};
60*09b33db3SPrimoz Fiser			};
61*09b33db3SPrimoz Fiser		};
62*09b33db3SPrimoz Fiser	};
63*09b33db3SPrimoz Fiser};
64*09b33db3SPrimoz Fiser
65*09b33db3SPrimoz Fiser&tpm6 {
66*09b33db3SPrimoz Fiser	status = "okay";
67*09b33db3SPrimoz Fiser};
68*09b33db3SPrimoz Fiser
69*09b33db3SPrimoz Fiser&iomuxc {
70*09b33db3SPrimoz Fiser	pinctrl_fan: fangrp {
71*09b33db3SPrimoz Fiser		fsl,pins = <
72*09b33db3SPrimoz Fiser			MX93_PAD_GPIO_IO23__TPM6_CH1	0x31e
73*09b33db3SPrimoz Fiser		>;
74*09b33db3SPrimoz Fiser	};
75*09b33db3SPrimoz Fiser};
76