arm64: dts: mba8mpxl: Add PWM fan support

This adds the support for optional PWM fan 422J/2HP.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
Alexander Stein 2022-11-01 10:06:42 +01:00 committed by Shawn Guo
parent 630ecc93c3
commit 534d4f66b3

View file

@ -55,6 +55,21 @@ clk_xtal25: clk-xtal25 {
clock-frequency = <25000000>;
};
fan0: pwm-fan {
compatible = "pwm-fan";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwmfan>;
fan-supply = <&reg_pwm_fan>;
#cooling-cells = <2>;
/* typical 25 kHz -> 40.000 nsec */
pwms = <&pwm3 0 40000 PWM_POLARITY_INVERTED>;
cooling-levels = <0 32 64 128 196 240>;
pulses-per-revolution = <2>;
interrupt-parent = <&gpio5>;
interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
status = "disabled";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
@ -115,6 +130,18 @@ display: display {
status = "disabled";
};
reg_pwm_fan: regulator-pwm-fan {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_regpwmfan>;
regulator-name = "FAN_PWR";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
enable-active-high;
vin-supply = <&reg_vcc_12v0>;
};
reg_usdhc2_vmmc: regulator-usdhc2 {
compatible = "regulator-fixed";
pinctrl-names = "default";
@ -172,6 +199,47 @@ linux,cma {
linux,cma-default;
};
};
thermal-zones {
soc-thermal {
trips {
soc_active0: trip-active0 {
temperature = <40000>;
hysteresis = <5000>;
type = "active";
};
soc_active1: trip-active1 {
temperature = <48000>;
hysteresis = <3000>;
type = "active";
};
soc_active2: trip-active2 {
temperature = <60000>;
hysteresis = <10000>;
type = "active";
};
};
cooling-maps {
map1 {
trip = <&soc_active0>;
cooling-device = <&fan0 1 1>;
};
map2 {
trip = <&soc_active1>;
cooling-device = <&fan0 2 2>;
};
map3 {
trip = <&soc_active2>;
cooling-device = <&fan0 3 3>;
};
};
};
};
};
&ecspi1 {
@ -762,10 +830,18 @@ pinctrl_pwm3: pwm3grp {
fsl,pins = <MX8MP_IOMUXC_I2C3_SDA__PWM3_OUT 0x14>;
};
pinctrl_pwmfan: pwmfangrp {
fsl,pins = <MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18 0x80>; /* FAN RPM */
};
pinctrl_reg12v0: reg12v0grp {
fsl,pins = <MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x140>; /* VCC12V enable */
};
pinctrl_regpwmfan: regpwmfangrp {
fsl,pins = <MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27 0x80>;
};
/* X61 */
pinctrl_uart1: uart1grp {
fsl,pins = <MX8MP_IOMUXC_SD1_CLK__UART1_DCE_TX 0x140>,