xref: /linux/Documentation/hwmon/gpd-fan.rst (revision 69001f21ded78131b995af2900ef574b04a59ae2)
1*69001f21SCryolitia PukNgae.. SPDX-License-Identifier: GPL-2.0-or-later
2*69001f21SCryolitia PukNgae
3*69001f21SCryolitia PukNgaeKernel driver gpd-fan
4*69001f21SCryolitia PukNgae=========================
5*69001f21SCryolitia PukNgae
6*69001f21SCryolitia PukNgaeAuthor:
7*69001f21SCryolitia PukNgae    - Cryolitia PukNgae <cryolitia@uniontech.com>
8*69001f21SCryolitia PukNgae
9*69001f21SCryolitia PukNgaeDescription
10*69001f21SCryolitia PukNgae------------
11*69001f21SCryolitia PukNgae
12*69001f21SCryolitia PukNgaeHandheld devices from Shenzhen GPD Technology Co., Ltd. provide fan readings
13*69001f21SCryolitia PukNgaeand fan control through their embedded controllers.
14*69001f21SCryolitia PukNgae
15*69001f21SCryolitia PukNgaeSupported devices
16*69001f21SCryolitia PukNgae-----------------
17*69001f21SCryolitia PukNgae
18*69001f21SCryolitia PukNgaeCurrently the driver supports the following handhelds:
19*69001f21SCryolitia PukNgae
20*69001f21SCryolitia PukNgae - GPD Win Mini (7840U)
21*69001f21SCryolitia PukNgae - GPD Win Mini (8840U)
22*69001f21SCryolitia PukNgae - GPD Win Mini (HX370)
23*69001f21SCryolitia PukNgae - GPD Pocket 4
24*69001f21SCryolitia PukNgae - GPD Duo
25*69001f21SCryolitia PukNgae - GPD Win Max 2 (6800U)
26*69001f21SCryolitia PukNgae - GPD Win Max 2 2023 (7840U)
27*69001f21SCryolitia PukNgae - GPD Win Max 2 2024 (8840U)
28*69001f21SCryolitia PukNgae - GPD Win Max 2 2025 (HX370)
29*69001f21SCryolitia PukNgae - GPD Win 4 (6800U)
30*69001f21SCryolitia PukNgae - GPD Win 4 (7840U)
31*69001f21SCryolitia PukNgae
32*69001f21SCryolitia PukNgaeModule parameters
33*69001f21SCryolitia PukNgae-----------------
34*69001f21SCryolitia PukNgae
35*69001f21SCryolitia PukNgaegpd_fan_board
36*69001f21SCryolitia PukNgae  Force specific which module quirk should be used.
37*69001f21SCryolitia PukNgae  Use it like "gpd_fan_board=wm2".
38*69001f21SCryolitia PukNgae
39*69001f21SCryolitia PukNgae   - wm2
40*69001f21SCryolitia PukNgae       - GPD Win 4 (7840U)
41*69001f21SCryolitia PukNgae       - GPD Win Max 2 (6800U)
42*69001f21SCryolitia PukNgae       - GPD Win Max 2 2023 (7840U)
43*69001f21SCryolitia PukNgae       - GPD Win Max 2 2024 (8840U)
44*69001f21SCryolitia PukNgae       - GPD Win Max 2 2025 (HX370)
45*69001f21SCryolitia PukNgae   - win4
46*69001f21SCryolitia PukNgae       - GPD Win 4 (6800U)
47*69001f21SCryolitia PukNgae   - win_mini
48*69001f21SCryolitia PukNgae       - GPD Win Mini (7840U)
49*69001f21SCryolitia PukNgae       - GPD Win Mini (8840U)
50*69001f21SCryolitia PukNgae       - GPD Win Mini (HX370)
51*69001f21SCryolitia PukNgae       - GPD Pocket 4
52*69001f21SCryolitia PukNgae       - GPD Duo
53*69001f21SCryolitia PukNgae
54*69001f21SCryolitia PukNgaeSysfs entries
55*69001f21SCryolitia PukNgae-------------
56*69001f21SCryolitia PukNgae
57*69001f21SCryolitia PukNgaeThe following attributes are supported:
58*69001f21SCryolitia PukNgae
59*69001f21SCryolitia PukNgaefan1_input
60*69001f21SCryolitia PukNgae  Read Only. Reads current fan RPM.
61*69001f21SCryolitia PukNgae
62*69001f21SCryolitia PukNgaepwm1_enable
63*69001f21SCryolitia PukNgae  Read/Write. Enable manual fan control. Write "0" to disable control and run
64*69001f21SCryolitia PukNgae  at full speed. Write "1" to set to manual, write "2" to let the EC control
65*69001f21SCryolitia PukNgae  decide fan speed. Read this attribute to see current status.
66*69001f21SCryolitia PukNgae
67*69001f21SCryolitia PukNgae  NB:In consideration of the safety of the device, when setting to manual mode,
68*69001f21SCryolitia PukNgae  the pwm speed will be set to the maximum value (255) by default. You can set
69*69001f21SCryolitia PukNgae  a different value by writing pwm1 later.
70*69001f21SCryolitia PukNgae
71*69001f21SCryolitia PukNgaepwm1
72*69001f21SCryolitia PukNgae  Read/Write. Read this attribute to see current duty cycle in the range
73*69001f21SCryolitia PukNgae  [0-255]. When pwm1_enable is set to "1" (manual) write any value in the
74*69001f21SCryolitia PukNgae  range [0-255] to set fan speed.
75*69001f21SCryolitia PukNgae
76*69001f21SCryolitia PukNgae  NB: Many boards (except listed under wm2 above) don't support reading the
77*69001f21SCryolitia PukNgae  current pwm value in auto mode. That will just return EOPNOTSUPP. In manual
78*69001f21SCryolitia PukNgae  mode it will always return the real value.
79