Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __PLATFORM_DATA_X86_ASUS_WMI_H
0003 #define __PLATFORM_DATA_X86_ASUS_WMI_H
0004 
0005 #include <linux/errno.h>
0006 #include <linux/types.h>
0007 
0008 /* WMI Methods */
0009 #define ASUS_WMI_METHODID_SPEC          0x43455053 /* BIOS SPECification */
0010 #define ASUS_WMI_METHODID_SFBD      0x44424653 /* Set First Boot Device */
0011 #define ASUS_WMI_METHODID_GLCD      0x44434C47 /* Get LCD status */
0012 #define ASUS_WMI_METHODID_GPID      0x44495047 /* Get Panel ID?? (Resol) */
0013 #define ASUS_WMI_METHODID_QMOD      0x444F4D51 /* Quiet MODe */
0014 #define ASUS_WMI_METHODID_SPLV      0x4C425053 /* Set Panel Light Value */
0015 #define ASUS_WMI_METHODID_AGFN      0x4E464741 /* Atk Generic FuNction */
0016 #define ASUS_WMI_METHODID_SFUN      0x4E554653 /* FUNCtionalities */
0017 #define ASUS_WMI_METHODID_SDSP      0x50534453 /* Set DiSPlay output */
0018 #define ASUS_WMI_METHODID_GDSP      0x50534447 /* Get DiSPlay output */
0019 #define ASUS_WMI_METHODID_DEVP      0x50564544 /* DEVice Policy */
0020 #define ASUS_WMI_METHODID_OSVR      0x5256534F /* OS VeRsion */
0021 #define ASUS_WMI_METHODID_DCTS      0x53544344 /* Device status (DCTS) */
0022 #define ASUS_WMI_METHODID_DSTS      0x53545344 /* Device status (DSTS) */
0023 #define ASUS_WMI_METHODID_BSTS      0x53545342 /* Bios STatuS ? */
0024 #define ASUS_WMI_METHODID_DEVS      0x53564544 /* DEVice Set */
0025 #define ASUS_WMI_METHODID_CFVS      0x53564643 /* CPU Frequency Volt Set */
0026 #define ASUS_WMI_METHODID_KBFT      0x5446424B /* KeyBoard FilTer */
0027 #define ASUS_WMI_METHODID_INIT      0x54494E49 /* INITialize */
0028 #define ASUS_WMI_METHODID_HKEY      0x59454B48 /* Hot KEY ?? */
0029 
0030 #define ASUS_WMI_UNSUPPORTED_METHOD 0xFFFFFFFE
0031 
0032 /* Wireless */
0033 #define ASUS_WMI_DEVID_HW_SWITCH    0x00010001
0034 #define ASUS_WMI_DEVID_WIRELESS_LED 0x00010002
0035 #define ASUS_WMI_DEVID_CWAP     0x00010003
0036 #define ASUS_WMI_DEVID_WLAN     0x00010011
0037 #define ASUS_WMI_DEVID_WLAN_LED     0x00010012
0038 #define ASUS_WMI_DEVID_BLUETOOTH    0x00010013
0039 #define ASUS_WMI_DEVID_GPS      0x00010015
0040 #define ASUS_WMI_DEVID_WIMAX        0x00010017
0041 #define ASUS_WMI_DEVID_WWAN3G       0x00010019
0042 #define ASUS_WMI_DEVID_UWB      0x00010021
0043 
0044 /* Leds */
0045 /* 0x000200XX and 0x000400XX */
0046 #define ASUS_WMI_DEVID_LED1     0x00020011
0047 #define ASUS_WMI_DEVID_LED2     0x00020012
0048 #define ASUS_WMI_DEVID_LED3     0x00020013
0049 #define ASUS_WMI_DEVID_LED4     0x00020014
0050 #define ASUS_WMI_DEVID_LED5     0x00020015
0051 #define ASUS_WMI_DEVID_LED6     0x00020016
0052 #define ASUS_WMI_DEVID_MICMUTE_LED      0x00040017
0053 
0054 /* Backlight and Brightness */
0055 #define ASUS_WMI_DEVID_ALS_ENABLE   0x00050001 /* Ambient Light Sensor */
0056 #define ASUS_WMI_DEVID_BACKLIGHT    0x00050011
0057 #define ASUS_WMI_DEVID_BRIGHTNESS   0x00050012
0058 #define ASUS_WMI_DEVID_KBD_BACKLIGHT    0x00050021
0059 #define ASUS_WMI_DEVID_LIGHT_SENSOR 0x00050022 /* ?? */
0060 #define ASUS_WMI_DEVID_LIGHTBAR     0x00050025
0061 #define ASUS_WMI_DEVID_FAN_BOOST_MODE   0x00110018
0062 #define ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY 0x00120075
0063 
0064 /* Misc */
0065 #define ASUS_WMI_DEVID_PANEL_OD     0x00050019
0066 #define ASUS_WMI_DEVID_CAMERA       0x00060013
0067 #define ASUS_WMI_DEVID_LID_FLIP     0x00060062
0068 
0069 /* Storage */
0070 #define ASUS_WMI_DEVID_CARDREADER   0x00080013
0071 
0072 /* Input */
0073 #define ASUS_WMI_DEVID_TOUCHPAD     0x00100011
0074 #define ASUS_WMI_DEVID_TOUCHPAD_LED 0x00100012
0075 #define ASUS_WMI_DEVID_FNLOCK       0x00100023
0076 
0077 /* Fan, Thermal */
0078 #define ASUS_WMI_DEVID_THERMAL_CTRL 0x00110011
0079 #define ASUS_WMI_DEVID_FAN_CTRL     0x00110012 /* deprecated */
0080 #define ASUS_WMI_DEVID_CPU_FAN_CTRL 0x00110013
0081 #define ASUS_WMI_DEVID_CPU_FAN_CURVE    0x00110024
0082 #define ASUS_WMI_DEVID_GPU_FAN_CURVE    0x00110025
0083 
0084 /* Power */
0085 #define ASUS_WMI_DEVID_PROCESSOR_STATE  0x00120012
0086 
0087 /* Deep S3 / Resume on LID open */
0088 #define ASUS_WMI_DEVID_LID_RESUME   0x00120031
0089 
0090 /* Maximum charging percentage */
0091 #define ASUS_WMI_DEVID_RSOC     0x00120057
0092 
0093 /* Keyboard dock */
0094 #define ASUS_WMI_DEVID_KBD_DOCK     0x00120063
0095 
0096 /* dgpu on/off */
0097 #define ASUS_WMI_DEVID_EGPU     0x00090019
0098 
0099 /* dgpu on/off */
0100 #define ASUS_WMI_DEVID_DGPU     0x00090020
0101 
0102 /* DSTS masks */
0103 #define ASUS_WMI_DSTS_STATUS_BIT    0x00000001
0104 #define ASUS_WMI_DSTS_UNKNOWN_BIT   0x00000002
0105 #define ASUS_WMI_DSTS_PRESENCE_BIT  0x00010000
0106 #define ASUS_WMI_DSTS_USER_BIT      0x00020000
0107 #define ASUS_WMI_DSTS_BIOS_BIT      0x00040000
0108 #define ASUS_WMI_DSTS_BRIGHTNESS_MASK   0x000000FF
0109 #define ASUS_WMI_DSTS_MAX_BRIGTH_MASK   0x0000FF00
0110 #define ASUS_WMI_DSTS_LIGHTBAR_MASK 0x0000000F
0111 
0112 #if IS_REACHABLE(CONFIG_ASUS_WMI)
0113 int asus_wmi_evaluate_method(u32 method_id, u32 arg0, u32 arg1, u32 *retval);
0114 #else
0115 static inline int asus_wmi_evaluate_method(u32 method_id, u32 arg0, u32 arg1,
0116                        u32 *retval)
0117 {
0118     return -ENODEV;
0119 }
0120 #endif
0121 
0122 #endif  /* __PLATFORM_DATA_X86_ASUS_WMI_H */