[PATCH 1/2] platform/x86: uniwill: Add MECHREVO Jiaolong 16K (GM6BG0Q)

From: dydydd

Date: Thu Oct 22 2026 - 23:48:41 EST


Add a DMI entry for the MECHREVO Jiaolong 16K, which is built by Uniwill
on the GM6BG0Q board (BIOS project ID "IDQ", EC version 1.24).

The feature set was determined by testing every sysfs attribute exposed
by the driver on the actual machine:

- fn_lock, super_key_enable and touchpad_toggle_enable are writable and
take effect
- the battery exposes charge_types (Trickle/Standard/Long_Life) instead
of charge_control_end_threshold, so BATTERY_CHARGE_MODES is used
- cpu_temp, gpu_temp, fan1_input and fan2_input report plausible values
- the keyboard backlight is RGB with four brightness levels
- ac_auto_boot and usb_powershare_high are writable
- usb_c_power_priority switches between charging and performance
- ctgp_offset is writable

This machine has no lightbar, so UNIWILL_FEATURE_LIGHTBAR is left out.

Tested on: MECHREVO Jiaolong16K Series GM6BG0Q, BIOS N.1.19MRO15,
EC 1.24, AMD Rembrandt, NVIDIA RTX 4060 Mobile.

Signed-off-by: dydydd <admin@xxxxxxxxx>
---
drivers/platform/x86/uniwill/uniwill-acpi.c | 26 +++++++++++++++++++++
1 file changed, 26 insertions(+)

diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
index 7a2eeaec..94ed83ed 100644
--- a/drivers/platform/x86/uniwill/uniwill-acpi.c
+++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
@@ -2677,6 +2677,24 @@ static struct uniwill_device_descriptor machenike_l16p_descriptor __initdata = {
.kbd_led_max_brightness = 4,
};

+static struct uniwill_device_descriptor mechrevo_gm6bg0q_descriptor __initdata = {
+ .features = UNIWILL_FEATURE_FN_LOCK |
+ UNIWILL_FEATURE_SUPER_KEY |
+ UNIWILL_FEATURE_TOUCHPAD_TOGGLE |
+ UNIWILL_FEATURE_BATTERY_CHARGE_MODES |
+ UNIWILL_FEATURE_CPU_TEMP |
+ UNIWILL_FEATURE_GPU_TEMP |
+ UNIWILL_FEATURE_PRIMARY_FAN |
+ UNIWILL_FEATURE_SECONDARY_FAN |
+ UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL |
+ UNIWILL_FEATURE_USB_C_POWER_PRIORITY |
+ UNIWILL_FEATURE_KEYBOARD_BACKLIGHT |
+ UNIWILL_FEATURE_AC_AUTO_BOOT |
+ UNIWILL_FEATURE_USB_POWERSHARE,
+ .kbd_led_single_color = false,
+ .kbd_led_max_brightness = 4,
+};
+
static struct uniwill_device_descriptor lapqc71a_lapqc71b_descriptor __initdata = {
.features = UNIWILL_FEATURE_SUPER_KEY |
UNIWILL_FEATURE_LIGHTBAR |
@@ -2877,6 +2895,14 @@ static const struct dmi_system_id uniwill_dmi_table[] __initconst = {
},
.driver_data = &machenike_l16p_descriptor,
},
+ {
+ .ident = "MECHREVO Jiaolong 16K GM6BG0Q",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "MECHREVO"),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "GM6BG0Q"),
+ },
+ .driver_data = &mechrevo_gm6bg0q_descriptor,
+ },
{
.ident = "XMG FUSION 15 (L19)",
.matches = {
--
2.56.0