mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 23:21:31 +00:00
8ec8d6c509
Add support for NZXT Kraken 2023 (standard) and NZXT Kraken 2023 Elite all-in-one CPU coolers. These models communicate identically to the NZXT Kraken Z-series (Z53 code paths) in all cases except when writing the fan curve, where setting additional bits in the report is needed. Reviewed-by: Jonas Malaco <jonas@protocubo.io> Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com> Link: https://lore.kernel.org/r/20240428104812.14037-3-savicaleksa83@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
78 lines
3.1 KiB
ReStructuredText
78 lines
3.1 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
Kernel driver nzxt-kraken3
|
|
==========================
|
|
|
|
Supported devices:
|
|
|
|
* NZXT Kraken X53
|
|
* NZXT Kraken X63
|
|
* NZXT Kraken X73
|
|
* NZXT Kraken Z53
|
|
* NZXT Kraken Z63
|
|
* NZXT Kraken Z73
|
|
* NZXT Kraken 2023
|
|
* NZXT Kraken 2023 Elite
|
|
|
|
Author: Jonas Malaco, Aleksa Savic
|
|
|
|
Description
|
|
-----------
|
|
|
|
This driver enables hardware monitoring support for NZXT Kraken X53/X63/X73,
|
|
Z53/Z63/Z73 and Kraken 2023 (standard and Elite) all-in-one CPU liquid coolers.
|
|
All models expose liquid temperature and pump speed (in RPM), as well as PWM
|
|
control (either as a fixed value or through a temp-PWM curve). The Z-series and
|
|
Kraken 2023 models additionally expose the speed and duty of an optionally connected
|
|
fan, with the same PWM control capabilities.
|
|
|
|
Pump and fan duty control mode can be set through pwm[1-2]_enable, where 1 is
|
|
for the manual control mode and 2 is for the liquid temp to PWM curve mode.
|
|
Writing a 0 disables control of the channel through the driver after setting its
|
|
duty to 100%.
|
|
|
|
The temperature of the curves relates to the fixed [20-59] range, correlating to
|
|
the detected liquid temperature. Only PWM values (ranging from 0-255) can be set.
|
|
If in curve mode, setting point values should be done in moderation - the devices
|
|
require complete curves to be sent for each change; they can lock up or discard
|
|
the changes if they are too numerous at once. Suggestion is to set them while
|
|
in an another mode, and then apply them by switching to curve.
|
|
|
|
The devices can report if they are faulty. The driver supports that situation
|
|
and will issue a warning. This can also happen when the USB cable is connected,
|
|
but SATA power is not.
|
|
|
|
The addressable RGB LEDs and LCD screen (only on Z-series and Kraken 2023 models)
|
|
are not supported in this driver, but can be controlled through existing userspace
|
|
tools, such as `liquidctl`_.
|
|
|
|
.. _liquidctl: https://github.com/liquidctl/liquidctl
|
|
|
|
Usage Notes
|
|
-----------
|
|
|
|
As these are USB HIDs, the driver can be loaded automatically by the kernel and
|
|
supports hot swapping.
|
|
|
|
Possible pwm_enable values are:
|
|
|
|
====== ==========================================================================
|
|
0 Set fan to 100%
|
|
1 Direct PWM mode (applies value in corresponding PWM entry)
|
|
2 Curve control mode (applies the temp-PWM duty curve based on coolant temp)
|
|
====== ==========================================================================
|
|
|
|
Sysfs entries
|
|
-------------
|
|
|
|
============================== ================================================================
|
|
fan1_input Pump speed (in rpm)
|
|
fan2_input Fan speed (in rpm)
|
|
temp1_input Coolant temperature (in millidegrees Celsius)
|
|
pwm1 Pump duty (value between 0-255)
|
|
pwm1_enable Pump duty control mode (0: disabled, 1: manual, 2: curve)
|
|
pwm2 Fan duty (value between 0-255)
|
|
pwm2_enable Fan duty control mode (0: disabled, 1: manual, 2: curve)
|
|
temp[1-2]_auto_point[1-40]_pwm Temp-PWM duty curves (for pump and fan), related to coolant temp
|
|
============================== ================================================================
|