xref: /linux/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk-fan-argon40.dtso (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1*45447550SMarek Vasut// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*45447550SMarek Vasut/*
3*45447550SMarek Vasut * Device Tree Overlay for the Argon40 HAT blower fan on connector CN7
4*45447550SMarek Vasut * on R-Car V4H ES3.0 Sparrow Hawk board
5*45447550SMarek Vasut *
6*45447550SMarek Vasut * Copyright (C) 2025 Marek Vasut <marek.vasut+renesas@mailbox.org>
7*45447550SMarek Vasut *
8*45447550SMarek Vasut * Example usage:
9*45447550SMarek Vasut *
10*45447550SMarek Vasut * # Localize hwmon sysfs directory that matches the PWM fan,
11*45447550SMarek Vasut * # enable the PWM fan, and configure the fan speed manually.
12*45447550SMarek Vasut * r8a779g3-sparrow-hawk$ ls -1 /sys/devices/platform/pwm-fan-ext/hwmon/hwmon?/pwm?_enable
13*45447550SMarek Vasut * /sys/devices/platform/pwm-fan-ext/hwmon/hwmon0/pwm1_enable
14*45447550SMarek Vasut *
15*45447550SMarek Vasut * # Select mode 2 , enable fan PWM and regulator and keep them enabled.
16*45447550SMarek Vasut * # For details, see Linux Documentation/hwmon/pwm-fan.rst
17*45447550SMarek Vasut * r8a779g3-sparrow-hawk$ echo 2 > /sys/devices/platform/pwm-fan-ext/hwmon/hwmon0/pwm1_enable
18*45447550SMarek Vasut *
19*45447550SMarek Vasut * # Configure PWM fan speed in range 0..255 , 0 is stopped , 255 is full speed .
20*45447550SMarek Vasut * # Fan speed 101 is about 2/5 of the PWM fan speed:
21*45447550SMarek Vasut * r8a779g3-sparrow-hawk$ echo 101 > /sys/devices/platform/pwm-fan-ext/hwmon/hwmon0/pwm1
22*45447550SMarek Vasut */
23*45447550SMarek Vasut
24*45447550SMarek Vasut/dts-v1/;
25*45447550SMarek Vasut/plugin/;
26*45447550SMarek Vasut
27*45447550SMarek Vasut&{/} {
28*45447550SMarek Vasut	pwm-fan-ext {
29*45447550SMarek Vasut		compatible = "pwm-fan";
30*45447550SMarek Vasut		#cooling-cells = <2>;
31*45447550SMarek Vasut		/* PWM period: 33us ~= 30 kHz */
32*45447550SMarek Vasut		pwms = <&pwmhat 0 33334 0>;
33*45447550SMarek Vasut		/* Available cooling levels */
34*45447550SMarek Vasut		cooling-levels = <0 50 100 150 200 255>;
35*45447550SMarek Vasut		fan-shutdown-percent = <100>;
36*45447550SMarek Vasut	};
37*45447550SMarek Vasut};
38*45447550SMarek Vasut
39*45447550SMarek Vasut/* Page 31 / IO_CN */
40*45447550SMarek Vasut&i2c3 {
41*45447550SMarek Vasut	#address-cells = <1>;
42*45447550SMarek Vasut	#size-cells = <0>;
43*45447550SMarek Vasut	clock-frequency = <400000>;
44*45447550SMarek Vasut	status = "okay";
45*45447550SMarek Vasut
46*45447550SMarek Vasut	pwmhat: pwm@1a {
47*45447550SMarek Vasut		compatible = "argon40,fan-hat";
48*45447550SMarek Vasut		reg = <0x1a>;
49*45447550SMarek Vasut		#pwm-cells = <3>;
50*45447550SMarek Vasut	};
51*45447550SMarek Vasut};
52