1.. SPDX-License-Identifier: GPL-2.0-or-later
2
3Kernel driver nzxt-kraken3
4==========================
5
6Supported devices:
7
8* NZXT Kraken X53
9* NZXT Kraken X63
10* NZXT Kraken X73
11* NZXT Kraken Z53
12* NZXT Kraken Z63
13* NZXT Kraken Z73
14
15Author: Jonas Malaco, Aleksa Savic
16
17Description
18-----------
19
20This driver enables hardware monitoring support for NZXT Kraken X53/X63/X73 and
21Z53/Z63/Z73 all-in-one CPU liquid coolers. All models expose liquid temperature
22and pump speed (in RPM), as well as PWM control (either as a fixed value
23or through a temp-PWM curve). The Z-series models additionally expose the speed
24and duty of an optionally connected fan, with the same PWM control capabilities.
25
26Pump and fan duty control mode can be set through pwm[1-2]_enable, where 1 is
27for the manual control mode and 2 is for the liquid temp to PWM curve mode.
28Writing a 0 disables control of the channel through the driver after setting its
29duty to 100%.
30
31The temperature of the curves relates to the fixed [20-59] range, correlating to
32the detected liquid temperature. Only PWM values (ranging from 0-255) can be set.
33If in curve mode, setting point values should be done in moderation - the devices
34require complete curves to be sent for each change; they can lock up or discard
35the changes if they are too numerous at once. Suggestion is to set them while
36in an another mode, and then apply them by switching to curve.
37
38The devices can report if they are faulty. The driver supports that situation
39and will issue a warning. This can also happen when the USB cable is connected,
40but SATA power is not.
41
42The addressable RGB LEDs and LCD screen (only on Z-series models) are not
43supported in this driver, but can be controlled through existing userspace tools,
44such as `liquidctl`_.
45
46.. _liquidctl: https://github.com/liquidctl/liquidctl
47
48Usage Notes
49-----------
50
51As these are USB HIDs, the driver can be loaded automatically by the kernel and
52supports hot swapping.
53
54Possible pwm_enable values are:
55
56====== ==========================================================================
570      Set fan to 100%
581      Direct PWM mode (applies value in corresponding PWM entry)
592      Curve control mode (applies the temp-PWM duty curve based on coolant temp)
60====== ==========================================================================
61
62Sysfs entries
63-------------
64
65============================== ================================================================
66fan1_input                     Pump speed (in rpm)
67fan2_input                     Fan speed (in rpm)
68temp1_input                    Coolant temperature (in millidegrees Celsius)
69pwm1                           Pump duty (value between 0-255)
70pwm1_enable                    Pump duty control mode (0: disabled, 1: manual, 2: curve)
71pwm2                           Fan duty (value between 0-255)
72pwm2_enable                    Fan duty control mode (0: disabled, 1: manual, 2: curve)
73temp[1-2]_auto_point[1-40]_pwm Temp-PWM duty curves (for pump and fan), related to coolant temp
74============================== ================================================================
75