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