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