Lines Matching +full:0 +full:x00010003

58 #define ACPI_ASUS_WMI_EVENT_GUID	"0B3CBB35-E3C2-45ED-91C2-4C5A6D195D1C"
62 #define ASUS_WMI_METHODID_SPEC 0x43455053
63 #define ASUS_WMI_METHODID_SFUN 0x4E554653
64 #define ASUS_WMI_METHODID_DSTS 0x53544344
65 #define ASUS_WMI_METHODID_DSTS2 0x53545344
66 #define ASUS_WMI_METHODID_DEVS 0x53564544
67 #define ASUS_WMI_METHODID_INIT 0x54494E49
68 #define ASUS_WMI_METHODID_HKEY 0x59454B48
70 #define ASUS_WMI_UNSUPPORTED_METHOD 0xFFFFFFFE
73 #define ASUS_WMI_DEVID_HW_SWITCH 0x00010001
74 #define ASUS_WMI_DEVID_WIRELESS_LED 0x00010002
75 #define ASUS_WMI_DEVID_CWAP 0x00010003
76 #define ASUS_WMI_DEVID_WLAN 0x00010011
77 #define ASUS_WMI_DEVID_BLUETOOTH 0x00010013
78 #define ASUS_WMI_DEVID_GPS 0x00010015
79 #define ASUS_WMI_DEVID_WIMAX 0x00010017
80 #define ASUS_WMI_DEVID_WWAN3G 0x00010019
81 #define ASUS_WMI_DEVID_UWB 0x00010021
84 #define ASUS_WMI_DEVID_LED1 0x00020011
85 #define ASUS_WMI_DEVID_LED2 0x00020012
86 #define ASUS_WMI_DEVID_LED3 0x00020013
87 #define ASUS_WMI_DEVID_LED4 0x00020014
88 #define ASUS_WMI_DEVID_LED5 0x00020015
89 #define ASUS_WMI_DEVID_LED6 0x00020016
92 #define ASUS_WMI_DEVID_BACKLIGHT 0x00050011
93 #define ASUS_WMI_DEVID_BRIGHTNESS 0x00050012
94 #define ASUS_WMI_DEVID_KBD_BACKLIGHT 0x00050021
95 #define ASUS_WMI_DEVID_LIGHT_SENSOR 0x00050022
98 #define ASUS_WMI_DEVID_CAMERA 0x00060013
99 #define ASUS_WMI_DEVID_CARDREADER 0x00080013
100 #define ASUS_WMI_DEVID_TOUCHPAD 0x00100011
101 #define ASUS_WMI_DEVID_TOUCHPAD_LED 0x00100012
102 #define ASUS_WMI_DEVID_TUF_RGB_MODE 0x00100056
103 #define ASUS_WMI_DEVID_THERMAL_CTRL 0x00110011
104 #define ASUS_WMI_DEVID_FAN_CTRL 0x00110012
105 #define ASUS_WMI_DEVID_PROCESSOR_STATE 0x00120012
106 #define ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY 0x00120075
109 #define ASUS_WMI_DSTS_STATUS_BIT 0x00000001
110 #define ASUS_WMI_DSTS_UNKNOWN_BIT 0x00000002
111 #define ASUS_WMI_DSTS_PRESENCE_BIT 0x00010000
112 #define ASUS_WMI_DSTS_USER_BIT 0x00020000
113 #define ASUS_WMI_DSTS_BIOS_BIT 0x00040000
114 #define ASUS_WMI_DSTS_BRIGHTNESS_MASK 0x000000FF
115 #define ASUS_WMI_DSTS_MAX_BRIGTH_MASK 0x0000FF00
118 #define ASUS_WMI_EVENT_QUEUE_SIZE 0x10
119 #define ASUS_WMI_EVENT_QUEUE_END 0x1
120 #define ASUS_WMI_EVENT_MASK 0xFFFF
121 #define ASUS_WMI_EVENT_VALUE_ATK 0xFF
271 .description = "Fan speed (0-3)",
283 "(0 - default, 1 - overboost, 2 - silent)",
285 { NULL, 0, NULL, 0 }
293 { 0x20, KEY_BRIGHTNESSDOWN },
294 { 0x2f, KEY_BRIGHTNESSUP },
295 { 0x30, KEY_VOLUMEUP },
296 { 0x31, KEY_VOLUMEDOWN },
297 { 0x32, KEY_MUTE },
298 { 0x35, KEY_SCREENLOCK },
299 { 0x38, KEY_PROG3 }, /* Armoury Crate */
300 { 0x40, KEY_PREVIOUSSONG },
301 { 0x41, KEY_NEXTSONG },
302 { 0x43, KEY_STOPCD }, /* Stop/Eject */
303 { 0x45, KEY_PLAYPAUSE },
304 { 0x4f, KEY_LEFTMETA }, /* Fn-locked "Windows" Key */
305 { 0x4c, KEY_MEDIA }, /* WMP Key */
306 { 0x50, KEY_EMAIL },
307 { 0x51, KEY_WWW },
308 { 0x55, KEY_CALC },
309 { 0x57, NO_KEY }, /* Battery mode */
310 { 0x58, NO_KEY }, /* AC mode */
311 { 0x5C, KEY_F15 }, /* Power Gear key */
312 { 0x5D, KEY_WLAN }, /* Wireless console Toggle */
313 { 0x5E, KEY_WLAN }, /* Wireless console Enable */
314 { 0x5F, KEY_WLAN }, /* Wireless console Disable */
315 { 0x60, KEY_TOUCHPAD_ON },
316 { 0x61, KEY_SWITCHVIDEOMODE }, /* SDSP LCD only */
317 { 0x62, KEY_SWITCHVIDEOMODE }, /* SDSP CRT only */
318 { 0x63, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + CRT */
319 { 0x64, KEY_SWITCHVIDEOMODE }, /* SDSP TV */
320 { 0x65, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + TV */
321 { 0x66, KEY_SWITCHVIDEOMODE }, /* SDSP CRT + TV */
322 { 0x67, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + CRT + TV */
323 { 0x6B, KEY_TOUCHPAD_TOGGLE },
324 { 0x6E, NO_KEY }, /* Low Battery notification */
325 { 0x71, KEY_F13 }, /* General-purpose button */
326 { 0x79, NO_KEY }, /* Charger type dectection notification */
327 { 0x7a, KEY_ALS_TOGGLE }, /* Ambient Light Sensor Toggle */
328 { 0x7c, KEY_MICMUTE },
329 { 0x7D, KEY_BLUETOOTH }, /* Bluetooth Enable */
330 { 0x7E, KEY_BLUETOOTH }, /* Bluetooth Disable */
331 { 0x82, KEY_CAMERA },
332 { 0x86, KEY_PROG1 }, /* MyASUS Key */
333 { 0x88, KEY_RFKILL }, /* Radio Toggle Key */
334 { 0x8A, KEY_PROG1 }, /* Color enhancement mode */
335 { 0x8C, KEY_SWITCHVIDEOMODE }, /* SDSP DVI only */
336 { 0x8D, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + DVI */
337 { 0x8E, KEY_SWITCHVIDEOMODE }, /* SDSP CRT + DVI */
338 { 0x8F, KEY_SWITCHVIDEOMODE }, /* SDSP TV + DVI */
339 { 0x90, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + CRT + DVI */
340 { 0x91, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + TV + DVI */
341 { 0x92, KEY_SWITCHVIDEOMODE }, /* SDSP CRT + TV + DVI */
342 { 0x93, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + CRT + TV + DVI */
343 { 0x95, KEY_MEDIA },
344 { 0x99, KEY_PHONE }, /* Conflicts with fan mode switch */
345 { 0xA0, KEY_SWITCHVIDEOMODE }, /* SDSP HDMI only */
346 { 0xA1, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + HDMI */
347 { 0xA2, KEY_SWITCHVIDEOMODE }, /* SDSP CRT + HDMI */
348 { 0xA3, KEY_SWITCHVIDEOMODE }, /* SDSP TV + HDMI */
349 { 0xA4, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + CRT + HDMI */
350 { 0xA5, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + TV + HDMI */
351 { 0xA6, KEY_SWITCHVIDEOMODE }, /* SDSP CRT + TV + HDMI */
352 { 0xA7, KEY_SWITCHVIDEOMODE }, /* SDSP LCD + CRT + TV + HDMI */
353 { 0xAE, KEY_FN_F5 }, /* Fn+F5 fan mode on 2020+ */
354 { 0xB3, KEY_PROG4 }, /* AURA */
355 { 0xB5, KEY_CALC },
356 { 0xC4, KEY_KBDILLUMUP },
357 { 0xC5, KEY_KBDILLUMDOWN },
358 { 0xC6, NO_KEY }, /* Ambient Light Sensor notification */
359 { 0xFA, KEY_PROG2 }, /* Lid flip action */
360 { 0xBD, KEY_PROG2 }, /* Lid flip action on ROG xflow laptops */
416 DRIVER_MODULE(acpi_asus_wmi, acpi_wmi, acpi_asus_wmi_driver, 0, 0);
424 static const uint32_t acpi_asus_wmi_backlight_levels[] = { 0, 33, 66, 100 };
429 return (acpi_asus_wmi_backlight_levels[val & 0x3]); in devstate_to_kbd_bkl_level()
438 for (i = 0; i < nitems(acpi_asus_wmi_backlight_levels); i++) { in kbd_bkl_level_to_devstate()
442 val = (i - 1) & 0x3; in kbd_bkl_level_to_devstate()
443 if (val != 0) in kbd_bkl_level_to_devstate()
444 val |= 0x80; in kbd_bkl_level_to_devstate()
465 if (BUS_ADD_CHILD(parent, 0, "acpi_asus_wmi", DEVICE_UNIT_ANY) == NULL) in acpi_asus_wmi_identify()
477 return (0); in acpi_asus_wmi_probe()
506 for (i = 0; acpi_asus_wmi_sysctls[i].name != NULL; ++i) { in acpi_asus_wmi_attach()
541 ASUS_WMI_METHODID_INIT, 0, 0, 0, &val) && bootverbose) in acpi_asus_wmi_attach()
544 ASUS_WMI_METHODID_SPEC, 0, 0x9, 0, &val) && bootverbose) in acpi_asus_wmi_attach()
546 val >> 16, val & 0xFF); in acpi_asus_wmi_attach()
548 ASUS_WMI_METHODID_SFUN, 0, 0, 0, &val) && bootverbose) in acpi_asus_wmi_attach()
558 0, "Handle some hardware keys inside the driver"); in acpi_asus_wmi_attach()
559 for (i = 0; acpi_asus_wmi_sysctls[i].name != NULL; ++i) { in acpi_asus_wmi_attach()
568 if (val == 0) in acpi_asus_wmi_attach()
576 if ((val & ASUS_WMI_DSTS_PRESENCE_BIT) == 0) in acpi_asus_wmi_attach()
581 if (acpi_asus_wmi_sysctls[i].flag_rdonly != 0) { in acpi_asus_wmi_attach()
601 for (i = 0; i <= ASUS_WMI_EVENT_QUEUE_SIZE; i++) { in acpi_asus_wmi_attach()
603 ASUS_WMI_EVENT_VALUE_ATK, &code) != 0) { in acpi_asus_wmi_attach()
621 evdev_set_id(sc->evdev, BUS_HOST, 0, 0, 1); in acpi_asus_wmi_attach()
624 for (i = 0; i < nitems(acpi_asus_wmi_evdev_map); i++) { in acpi_asus_wmi_attach()
630 if (evdev_register(sc->evdev) != 0) { in acpi_asus_wmi_attach()
647 return (0); in acpi_asus_wmi_attach()
667 return (0); in acpi_asus_wmi_detach()
678 ASUS_WMI_DEVID_KBD_BACKLIGHT, 0, NULL); in acpi_asus_wmi_suspend()
681 return (0); in acpi_asus_wmi_suspend()
695 return (0); in acpi_asus_wmi_resume()
704 int error = 0; in acpi_asus_wmi_sysctl()
717 error = sysctl_handle_int(oidp, &arg, 0, req); in acpi_asus_wmi_sysctl()
728 UINT32 val = 0; in acpi_asus_wmi_sysctl_get()
753 val &= 0x3; in acpi_asus_wmi_sysctl_get()
774 arg = min(0x3, arg); in acpi_asus_wmi_sysctl_set()
775 if (arg != 0) in acpi_asus_wmi_sysctl_set()
776 arg |= 0x80; in acpi_asus_wmi_sysctl_set()
779 arg = min(0x2, arg); in acpi_asus_wmi_sysctl_set()
786 return (0); in acpi_asus_wmi_sysctl_set()
801 int error = 0; in acpi_asus_wmi_get_event_code()
821 for (i = 0; i < nitems(acpi_asus_wmi_evdev_map); i++) { in acpi_asus_wmi_push_evdev_event()
827 evdev_push_key(evdev, key, 0); in acpi_asus_wmi_push_evdev_event()
840 if (code != 0) { in acpi_asus_wmi_handle_event()
849 if (code == 0xc4 || code == 0xc5) { in acpi_asus_wmi_handle_event()
852 val &= 0x3; in acpi_asus_wmi_handle_event()
853 if (code == 0xc4) { in acpi_asus_wmi_handle_event()
854 if (val < 0x3) in acpi_asus_wmi_handle_event()
856 } else if (val > 0) in acpi_asus_wmi_handle_event()
858 if (val != 0) in acpi_asus_wmi_handle_event()
859 val |= 0x80; in acpi_asus_wmi_handle_event()
865 if (code == 0x6b) { in acpi_asus_wmi_handle_event()
873 if (code == 0xae) { in acpi_asus_wmi_handle_event()
876 sc->ttp_mode = 0; in acpi_asus_wmi_handle_event()
882 if (code == 0xb3) { in acpi_asus_wmi_handle_event()
883 const uint32_t cmd = 0xb4; /* Save to BIOS */ in acpi_asus_wmi_handle_event()
884 const uint32_t r = 0xff, g = 0xff, b = 0xff; in acpi_asus_wmi_handle_event()
885 const uint32_t speed = 0xeb; /* Medium */ in acpi_asus_wmi_handle_event()
890 else sc->tuf_rgb_mode = 0; in acpi_asus_wmi_handle_event()
905 int code = 0, i = 1; in acpi_asus_wmi_notify()
913 != 0) { in acpi_asus_wmi_notify()
923 } while (--i != 0); in acpi_asus_wmi_notify()
926 "last code: 0x%x\n", code); in acpi_asus_wmi_notify()
948 result = 0; in acpi_asus_wmi_evaluate_method()
952 return (result == ASUS_WMI_UNSUPPORTED_METHOD ? -ENODEV : 0); in acpi_asus_wmi_evaluate_method()
961 sc->dsts_id, dev_id, 0, 0, retval)); in acpi_wpi_asus_get_devstate()
970 ASUS_WMI_METHODID_DEVS, dev_id, ctrl_param, 0, retval)); in acpi_wpi_asus_set_devstate()
983 return (0); in acpi_asus_wmi_backlight_update_status()
996 return (0); in acpi_asus_wmi_backlight_get_status()
1005 return (0); in acpi_asus_wmi_backlight_get_info()