xref: /linux/drivers/platform/x86/uniwill/uniwill-wmi.h (revision 9d588a1140b9ae211581a7a154d0b806d8cd8238)
1d0504796SArmin Wolf /* SPDX-License-Identifier: GPL-2.0-or-later */
2d0504796SArmin Wolf /*
3d0504796SArmin Wolf  * Linux hotkey driver for Uniwill notebooks.
4d0504796SArmin Wolf  *
5d0504796SArmin Wolf  * Copyright (C) 2025 Armin Wolf <W_Armin@gmx.de>
6d0504796SArmin Wolf  */
7d0504796SArmin Wolf 
8d0504796SArmin Wolf #ifndef UNIWILL_WMI_H
9d0504796SArmin Wolf #define UNIWILL_WMI_H
10d0504796SArmin Wolf 
11d0504796SArmin Wolf #include <linux/init.h>
12d0504796SArmin Wolf 
13d0504796SArmin Wolf #define UNIWILL_OSD_CAPSLOCK			0x01
14d0504796SArmin Wolf #define UNIWILL_OSD_NUMLOCK			0x02
15d0504796SArmin Wolf #define UNIWILL_OSD_SCROLLLOCK			0x03
16d0504796SArmin Wolf 
17d0504796SArmin Wolf #define UNIWILL_OSD_TOUCHPAD_ON			0x04
18d0504796SArmin Wolf #define UNIWILL_OSD_TOUCHPAD_OFF		0x05
19d0504796SArmin Wolf 
20d0504796SArmin Wolf #define UNIWILL_OSD_SILENT_MODE_ON		0x06
21d0504796SArmin Wolf #define UNIWILL_OSD_SILENT_MODE_OFF		0x07
22d0504796SArmin Wolf 
23d0504796SArmin Wolf #define UNIWILL_OSD_WLAN_ON			0x08
24d0504796SArmin Wolf #define UNIWILL_OSD_WLAN_OFF			0x09
25d0504796SArmin Wolf 
26d0504796SArmin Wolf #define UNIWILL_OSD_WIMAX_ON			0x0A
27d0504796SArmin Wolf #define UNIWILL_OSD_WIMAX_OFF			0x0B
28d0504796SArmin Wolf 
29d0504796SArmin Wolf #define UNIWILL_OSD_BLUETOOTH_ON		0x0C
30d0504796SArmin Wolf #define UNIWILL_OSD_BLUETOOTH_OFF		0x0D
31d0504796SArmin Wolf 
32d0504796SArmin Wolf #define UNIWILL_OSD_RF_ON			0x0E
33d0504796SArmin Wolf #define UNIWILL_OSD_RF_OFF			0x0F
34d0504796SArmin Wolf 
35d0504796SArmin Wolf #define UNIWILL_OSD_3G_ON			0x10
36d0504796SArmin Wolf #define UNIWILL_OSD_3G_OFF			0x11
37d0504796SArmin Wolf 
38d0504796SArmin Wolf #define UNIWILL_OSD_WEBCAM_ON			0x12
39d0504796SArmin Wolf #define UNIWILL_OSD_WEBCAM_OFF			0x13
40d0504796SArmin Wolf 
41d0504796SArmin Wolf #define UNIWILL_OSD_BRIGHTNESSUP		0x14
42d0504796SArmin Wolf #define UNIWILL_OSD_BRIGHTNESSDOWN		0x15
43d0504796SArmin Wolf 
44d0504796SArmin Wolf #define UNIWILL_OSD_RADIOON			0x1A
45d0504796SArmin Wolf #define UNIWILL_OSD_RADIOOFF			0x1B
46d0504796SArmin Wolf 
47d0504796SArmin Wolf #define UNIWILL_OSD_POWERSAVE_ON		0x31
48d0504796SArmin Wolf #define UNIWILL_OSD_POWERSAVE_OFF		0x32
49d0504796SArmin Wolf 
50d0504796SArmin Wolf #define UNIWILL_OSD_MENU			0x34
51d0504796SArmin Wolf 
52d0504796SArmin Wolf #define UNIWILL_OSD_MUTE			0x35
53d0504796SArmin Wolf #define UNIWILL_OSD_VOLUMEDOWN			0x36
54d0504796SArmin Wolf #define UNIWILL_OSD_VOLUMEUP			0x37
55d0504796SArmin Wolf 
56d0504796SArmin Wolf #define UNIWILL_OSD_MENU_2			0x38
57d0504796SArmin Wolf 
58d0504796SArmin Wolf #define UNIWILL_OSD_LIGHTBAR_ON			0x39
59d0504796SArmin Wolf #define UNIWILL_OSD_LIGHTBAR_OFF		0x3A
60d0504796SArmin Wolf 
61d0504796SArmin Wolf #define UNIWILL_OSD_KB_LED_LEVEL0		0x3B
62d0504796SArmin Wolf #define UNIWILL_OSD_KB_LED_LEVEL1		0x3C
63d0504796SArmin Wolf #define UNIWILL_OSD_KB_LED_LEVEL2		0x3D
64d0504796SArmin Wolf #define UNIWILL_OSD_KB_LED_LEVEL3		0x3E
65d0504796SArmin Wolf #define UNIWILL_OSD_KB_LED_LEVEL4		0x3F
66d0504796SArmin Wolf 
67d0504796SArmin Wolf #define UNIWILL_OSD_SUPER_KEY_LOCK_ENABLE	0x40
68d0504796SArmin Wolf #define UNIWILL_OSD_SUPER_KEY_LOCK_DISABLE	0x41
69d0504796SArmin Wolf 
70d0504796SArmin Wolf #define UNIWILL_OSD_MENU_JP			0x42
71d0504796SArmin Wolf 
72d0504796SArmin Wolf #define UNIWILL_OSD_CAMERA_ON			0x90
73d0504796SArmin Wolf #define UNIWILL_OSD_CAMERA_OFF			0x91
74d0504796SArmin Wolf 
75d0504796SArmin Wolf #define UNIWILL_OSD_RFKILL			0xA4
76d0504796SArmin Wolf 
77d0504796SArmin Wolf #define UNIWILL_OSD_SUPER_KEY_LOCK_CHANGED	0xA5
78d0504796SArmin Wolf 
79d0504796SArmin Wolf #define UNIWILL_OSD_LIGHTBAR_STATE_CHANGED	0xA6
80d0504796SArmin Wolf 
81d0504796SArmin Wolf #define UNIWILL_OSD_FAN_BOOST_STATE_CHANGED	0xA7
82d0504796SArmin Wolf 
83d0504796SArmin Wolf #define UNIWILL_OSD_LCD_SW			0xA9
84d0504796SArmin Wolf 
85d0504796SArmin Wolf #define UNIWILL_OSD_FAN_OVERTEMP		0xAA
86d0504796SArmin Wolf 
87d0504796SArmin Wolf #define UNIWILL_OSD_DC_ADAPTER_CHANGED		0xAB
88d0504796SArmin Wolf 
89d0504796SArmin Wolf #define UNIWILL_OSD_BAT_HP_OFF			0xAC
90d0504796SArmin Wolf 
91d0504796SArmin Wolf #define UNIWILL_OSD_FAN_DOWN_TEMP		0xAD
92d0504796SArmin Wolf 
93d0504796SArmin Wolf #define UNIWILL_OSD_BATTERY_ALERT		0xAE
94d0504796SArmin Wolf 
95d0504796SArmin Wolf #define UNIWILL_OSD_TIMAP_HAIERLB_SW		0xAF
96d0504796SArmin Wolf 
97d0504796SArmin Wolf #define UNIWILL_OSD_PERFORMANCE_MODE_TOGGLE	0xB0
98d0504796SArmin Wolf 
99d0504796SArmin Wolf #define UNIWILL_OSD_KBDILLUMDOWN		0xB1
100d0504796SArmin Wolf #define UNIWILL_OSD_KBDILLUMUP			0xB2
101d0504796SArmin Wolf 
102d0504796SArmin Wolf #define UNIWILL_OSD_BACKLIGHT_LEVEL_CHANGE	0xB3
103d0504796SArmin Wolf #define UNIWILL_OSD_BACKLIGHT_POWER_CHANGE	0xB4
104d0504796SArmin Wolf 
105d0504796SArmin Wolf #define UNIWILL_OSD_MIC_MUTE			0xB7
106d0504796SArmin Wolf 
107d0504796SArmin Wolf #define UNIWILL_OSD_FN_LOCK			0xB8
108d0504796SArmin Wolf #define UNIWILL_OSD_KBDILLUMTOGGLE		0xB9
109d0504796SArmin Wolf 
110d0504796SArmin Wolf #define UNIWILL_OSD_BAT_CHARGE_FULL_24_H	0xBE
111d0504796SArmin Wolf 
112d0504796SArmin Wolf #define UNIWILL_OSD_BAT_ERM_UPDATE		0xBF
113d0504796SArmin Wolf 
114d0504796SArmin Wolf #define UNIWILL_OSD_BENCHMARK_MODE_TOGGLE	0xC0
115d0504796SArmin Wolf 
116*33303671SWerner Sembach #define UNIWILL_OSD_WEBCAM_TOGGLE		0xCF
117*33303671SWerner Sembach 
118d0504796SArmin Wolf #define UNIWILL_OSD_KBD_BACKLIGHT_CHANGED	0xF0
119d0504796SArmin Wolf 
120d0504796SArmin Wolf struct device;
121d0504796SArmin Wolf struct notifier_block;
122d0504796SArmin Wolf 
123d0504796SArmin Wolf int devm_uniwill_wmi_register_notifier(struct device *dev, struct notifier_block *nb);
124d0504796SArmin Wolf 
125d0504796SArmin Wolf int __init uniwill_wmi_register_driver(void);
126d0504796SArmin Wolf 
127d0504796SArmin Wolf void __exit uniwill_wmi_unregister_driver(void);
128d0504796SArmin Wolf 
129d0504796SArmin Wolf #endif /* UNIWILL_WMI_H */
130