xref: /linux/Documentation/admin-guide/laptops/uniwill-laptop.rst (revision 805185b7c7a1069e407b6f7b3bc98e44d415f484)
1.. SPDX-License-Identifier: GPL-2.0+
2
3Uniwill laptop extra features
4=============================
5
6On laptops manufactured by Uniwill (either directly or as ODM), the ``uniwill-laptop`` driver
7handles various platform-specific features.
8
9Module Loading
10--------------
11
12The ``uniwill-laptop`` driver relies on a DMI table to automatically load on supported devices.
13When using the ``force`` module parameter, this DMI check will be omitted, allowing the driver
14to be loaded on unsupported devices for testing purposes.
15
16Hotkeys
17-------
18
19Usually the FN keys work without a special driver. However as soon as the ``uniwill-laptop`` driver
20is loaded, the FN keys need to be handled manually. This is done automatically by the driver itself.
21
22Keyboard settings
23-----------------
24
25The ``uniwill-laptop`` driver allows the user to enable/disable:
26
27 - the FN lock and super key of the integrated keyboard
28 - the touchpad toggle functionality of the integrated touchpad
29
30See Documentation/ABI/testing/sysfs-driver-uniwill-laptop for details.
31
32Hwmon interface
33---------------
34
35The ``uniwill-laptop`` driver supports reading of the CPU and GPU temperature and supports up to
36two fans. Userspace applications can access sensor readings over the hwmon sysfs interface.
37
38Platform profile
39----------------
40
41Support for changing the platform performance mode is currently not implemented.
42
43Battery Charging Control
44------------------------
45
46.. warning:: Some devices do not properly implement the charging threshold interface. Forcing
47             the driver to enable access to said interface on such devices might damage the
48             battery [1]_. Because of this the driver will not enable said feature even when
49             using the ``force`` module parameter. The charging profile interface will be
50             available instead.
51
52The ``uniwill-laptop`` driver supports controlling the battery charge limit. This either happens
53over the standard ``charge_control_end_threshold`` or ``charge_types`` power supply sysfs attribute,
54depending on the device. When using the ``charge_control_end_threshold`` sysfs attribute, all values
55between 1 and 100 percent are supported. When using the ``charge_types`` sysfs attribute, the driver
56supports switching between the ``Standard``, ``Trickle`` and ``Long Life`` profiles.
57
58Keep in mind that when using the ``charge_types`` sysfs attribute, the EC firmware will hide the
59true charging status of the battery from the operating system, potentially misleading users into
60thinking that the charging profile does not work. Checking the ``current_now`` sysfs attribute
61tells you the true charging status of the battery even when using the ``charge_types`` sysfs
62attribute (0 means that the battery is currently not charging).
63
64Additionally the driver signals the presence of battery charging issues through the standard
65``health`` power supply sysfs attribute.
66
67It also lets you set whether a USB-C power source should prioritise charging the battery or
68delivering immediate power to the cpu. See Documentation/ABI/testing/sysfs-driver-uniwill-laptop for
69details.
70
71Lightbar
72--------
73
74The ``uniwill-laptop`` driver exposes the lightbar found on some models as a standard multicolor
75LED class device. The default name of this LED class device is ``uniwill:multicolor:status``.
76
77See Documentation/ABI/testing/sysfs-driver-uniwill-laptop for details on how to control the various
78animation modes of the lightbar.
79
80Configurable TGP
81----------------
82
83The ``uniwill-laptop`` driver allows to set the configurable TGP for devices with NVIDIA GPUs that
84allow it.
85
86See Documentation/ABI/testing/sysfs-driver-uniwill-laptop for details.
87
88References
89==========
90
91.. [1] https://www.reddit.com/r/XMG_gg/comments/ld9yyf/battery_limit_hidden_function_discovered_on/
92