diff --git a/Documentation/hwmon/asus_rog_ryujin.rst b/Documentation/hwmon/asus_rog_ryujin.rst index 9f77da070022..cfdfe3712f19 100644 --- a/Documentation/hwmon/asus_rog_ryujin.rst +++ b/Documentation/hwmon/asus_rog_ryujin.rst @@ -6,6 +6,8 @@ Kernel driver asus_rog_ryujin Supported devices: * ASUS ROG RYUJIN II 360 +* ASUS ROG RYUJIN III EXTREME +* ASUS ROG RYUJIN III EVA EDITION Author: Aleksa Savic @@ -16,10 +18,10 @@ This driver enables hardware monitoring support for the listed ASUS ROG RYUJIN all-in-one CPU liquid coolers. Available sensors are pump, internal and external (controller) fan speed in RPM, their duties in PWM, as well as coolant temperature. -Attaching external fans to the controller is optional and allows them to be -controlled from the device. If not connected, the fan-related sensors will -report zeroes. The controller is a separate hardware unit that comes bundled -with the AIO and connects to it to allow fan control. +The RYUJIN II includes a separate external fan controller. Attaching fans to +the controller is optional and allows them to be controlled from the device. +If not connected, the controller-related sensors will report zeroes. The +RYUJIN III does not expose these controller channels. The addressable LCD screen is not supported in this driver and should be controlled through userspace tools. @@ -33,15 +35,15 @@ supports hot swapping. Sysfs entries ------------- -=========== ============================================= +=========== ========================================================== fan1_input Pump speed (in rpm) fan2_input Internal fan speed (in rpm) -fan3_input External (controller) fan 1 speed (in rpm) -fan4_input External (controller) fan 2 speed (in rpm) -fan5_input External (controller) fan 3 speed (in rpm) -fan6_input External (controller) fan 4 speed (in rpm) +fan3_input External (controller) fan 1 speed (in rpm, RYUJIN II only) +fan4_input External (controller) fan 2 speed (in rpm, RYUJIN II only) +fan5_input External (controller) fan 3 speed (in rpm, RYUJIN II only) +fan6_input External (controller) fan 4 speed (in rpm, RYUJIN II only) temp1_input Coolant temperature (in millidegrees Celsius) pwm1 Pump duty pwm2 Internal fan duty -pwm3 External (controller) fan duty -=========== ============================================= +pwm3 External (controller) fan duty (RYUJIN II only) +=========== ========================================================== diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig index 43418633e2e8..81a9a1d40eec 100644 --- a/drivers/hwmon/Kconfig +++ b/drivers/hwmon/Kconfig @@ -293,11 +293,11 @@ config SENSORS_ASC7621 will be called asc7621. config SENSORS_ASUS_ROG_RYUJIN - tristate "ASUS ROG RYUJIN II 360 hardware monitoring driver" + tristate "ASUS ROG RYUJIN hardware monitoring driver" depends on HID help If you say yes here you get support for the fans and sensors of - the ASUS ROG RYUJIN II 360 AIO CPU liquid cooler. + supported ASUS ROG RYUJIN II and III AIO CPU liquid coolers. This driver can also be built as a module. If so, the module will be called asus_rog_ryujin. diff --git a/drivers/hwmon/asus_rog_ryujin.c b/drivers/hwmon/asus_rog_ryujin.c index 80563ce38519..79e5b6d6dae0 100644 --- a/drivers/hwmon/asus_rog_ryujin.c +++ b/drivers/hwmon/asus_rog_ryujin.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * hwmon driver for Asus ROG Ryujin II 360 AIO cooler. + * hwmon driver for Asus ROG Ryujin AIO coolers. * * Copyright 2024 Aleksa Savic */ @@ -17,6 +17,8 @@ #define USB_VENDOR_ID_ASUS_ROG 0x0b05 #define USB_PRODUCT_ID_RYUJIN_AIO 0x1988 /* ASUS ROG RYUJIN II 360 */ +#define USB_PRODUCT_ID_RYUJIN_III_EXTREME 0x1bcb +#define USB_PRODUCT_ID_RYUJIN_III_EVA 0x1ade struct rog_ryujin_device_info { u8 temp_offset; @@ -34,6 +36,14 @@ static const struct rog_ryujin_device_info rog_ryujin_ii_360_info = { .has_controller = true, }; +static const struct rog_ryujin_device_info rog_ryujin_iii_info = { + .temp_offset = 5, + .pump_speed_offset = 7, + .fan_speed_offset = 10, + .duty_channel = 1, + .has_controller = false, +}; + #define STATUS_VALIDITY 1500 /* ms */ #define MAX_REPORT_LENGTH 65 @@ -576,6 +586,10 @@ static void rog_ryujin_remove(struct hid_device *hdev) static const struct hid_device_id rog_ryujin_table[] = { { HID_USB_DEVICE(USB_VENDOR_ID_ASUS_ROG, USB_PRODUCT_ID_RYUJIN_AIO), .driver_data = (kernel_ulong_t)&rog_ryujin_ii_360_info }, + { HID_USB_DEVICE(USB_VENDOR_ID_ASUS_ROG, USB_PRODUCT_ID_RYUJIN_III_EXTREME), + .driver_data = (kernel_ulong_t)&rog_ryujin_iii_info }, + { HID_USB_DEVICE(USB_VENDOR_ID_ASUS_ROG, USB_PRODUCT_ID_RYUJIN_III_EVA), + .driver_data = (kernel_ulong_t)&rog_ryujin_iii_info }, { } }; @@ -605,4 +619,4 @@ module_exit(rog_ryujin_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Aleksa Savic "); -MODULE_DESCRIPTION("Hwmon driver for Asus ROG Ryujin II 360 AIO cooler"); +MODULE_DESCRIPTION("Hwmon driver for Asus ROG Ryujin AIO coolers");