1/* SPDX-License-Identifier: GPL-2.0-only */ 2 3/* 4 * Note: 5 * The code contains all queries/events that are known to be implemented by the EC firmware. 6 * Not all events are known yet, though. 7 */ 8 9Method (_Q0A) 10{ 11 Printf ("EC: _Q0A: Toggle touchpad, SCIE=0x%o, state=%o", 12 ToHexString (SCIE), ToDecimalString(SCIE & 1)) 13} 14 15Method (_Q0B) 16{ 17 Printf ("EC: _Q0B: LCD off, SCIE=0x%o", ToHexString (SCIE)) 18} 19 20Method (_Q0C) 21{ 22 Printf ("EC: _Q0C: Toggle mute, SCIE=0x%o, state=%o", 23 ToHexString (SCIE), ToDecimalString(SCIE & 1)) 24} 25 26Method (_Q0E) 27{ 28 Printf ("EC: _Q0E: Decrease volume") 29} 30 31Method (_Q0F) 32{ 33 Printf ("EC: _Q0F: Increase volume") 34} 35 36Method (_Q10) 37{ 38 Printf ("EC: _Q10, SCIE=0x%o", ToHexString (SCIE)) 39} 40 41Method (_Q11) 42{ 43 Printf ("EC: _Q11: Decrease brightness") 44 45 If (CondRefOf (\_SB.PCI0.GFX0.LCD0)) { 46 Notify (\_SB.PCI0.GFX0.LCD0, 0x87) 47 } 48} 49 50Method (_Q12) 51{ 52 Printf ("EC: _Q12: Increase brightness") 53 54 If (CondRefOf (\_SB.PCI0.GFX0.LCD0)) { 55 Notify (\_SB.PCI0.GFX0.LCD0, 0x86) 56 } 57} 58 59Method (_Q13) 60{ 61 Printf ("EC: _Q13: Toggle camera, SCIE=0x%o, state=%o", 62 ToHexString (SCIE), ToDecimalString(SCIE & 1)) 63} 64 65Method (_Q14) 66{ 67 Printf ("EC: _Q14: Toggle airplane mode, SCIE=0x%o", ToHexString (SCIE)) 68 69 \_SB.HIDD.HPEM (8) 70} 71 72Method (_Q15) 73{ 74 Printf ("EC: _Q15: Sleep button") 75 76 Notify (\_SB.SLPB, 0x80) 77} 78 79Method (_Q16) 80{ 81 Printf ("EC: _Q16: Power event (AC/BAT0)") 82 83 Notify (AC, 0x80) /* status change */ 84 If (BAT0) 85 { 86 Notify (\_SB.BAT0, 0x80) /* status change */ 87 Notify (\_SB.BAT0, 0x81) /* information change */ 88 } 89} 90 91Method (_Q17) 92{ 93 Printf ("EC: _Q17: Battery presence change, state=%o", ToDecimalString (BAT0)) 94 95 Notify (\_SB.BAT0, 0x81) /* information change */ 96} 97 98Method (_Q19) 99{ 100 Printf ("EC: _Q19: Battery critical") 101 102 Notify (\_SB.BAT0, 0x80) /* status change */ 103} 104 105Method (_Q1A) 106{ 107 Printf ("EC: _Q1A: Wake event, WFNO=0x%o", ToHexString (WFNO)) 108 109 Switch (ToInteger (WFNO)) 110 { 111 Case (0x01) 112 { 113 Printf ("EC: Wake reason: Lid") 114 Notify (\_SB.LID, 0x02) /* wake */ 115 } 116 117 Case (0x04) 118 { 119 Printf ("EC: Wake reason: Sleep button") 120 Notify (\_SB.SLPB, 0x02) /* wake */ 121 } 122 123 Case (0x05) 124 { 125 Printf ("EC: Wake reason: Timer") 126 Notify (\_SB.PWRB, 0x02) /* wake */ 127 } 128 129 Case (0x10) 130 { 131 Printf ("EC: Wake reason: Battery low") 132 Notify (\_SB.BAT0, 0x02) /* wake */ 133 } 134 135 Default 136 { 137 Printf ("EC: Wake reason: other") 138 Notify (\_SB.PWRB, 0x02) /* wake */ 139 } 140 } 141} 142 143Method (_Q1B) 144{ 145 Printf ("EC: _Q1B: Lid state change, state=%o", ToDecimalString (LSTE)) 146 147 Notify (\_SB.LID, 0x80) 148} 149 150Method (_Q1D) 151{ 152 Printf ("EC: _Q1D: Power button") 153 154 Notify (\_SB.PWRB, 0x80) 155} 156 157Method (_Q1E) 158{ 159 Printf ("EC: _Q1E: Battery low") 160} 161 162Method (_Q32) 163{ 164 Printf ("EC: _Q32: Battery thermal trip") 165} 166 167Method (_Q35) 168{ 169 Printf ("EC: _Q35: Silent fan mode change, state=%o", ToDecimalString (SLFG)) 170} 171 172Method (_Q37) 173{ 174 Printf ("EC: _Q37: B15C flag change, B15C=%o", ToHexString (B15C)) 175} 176 177Method (_Q42) 178{ 179 Printf ("EC: _Q42, SCIE=0x%o", ToHexString (SCIE)) 180} 181 182Method (_Q46) 183{ 184 Printf ("EC: _Q46, SCIE=0x%o", ToHexString (SCIE)) 185} 186 187Method (_Q4A) 188{ 189 Printf ("EC: _Q4A: KBC beep on/off, SCIE=0x%o, state=%o", 190 ToHexString (SCIE), ToDecimalString(SCIE & 1)) 191} 192 193Method (_Q50) 194{ 195 Printf ("EC: _Q50: SCI event, SCIE=0x%o", ToHexString (SCIE)) 196 197 Switch (ToInteger (SCIE)) 198 { 199 Case (0x68) // L140MU only 200 { 201 } 202 203 Case (0x69) // L140MU only 204 { 205 } 206 207 Case (0x6a) 208 { 209 Printf ("EC: Fan mode: MaxQ") 210 } 211 212 Case (0x6c) 213 { 214 Printf ("EC: Fan mode: custom") 215 } 216 217 Case (0x7a) 218 { 219 } 220 221 Case (0x7b) 222 { 223 Printf ("EC: Fn + Backspace pressed") 224 } 225 226 Case (0x7c) 227 { 228 Printf ("EC: Screen rotate (Fn + R)") 229 } 230 231 Case (0x80) 232 { 233 Printf ("EC: Color keyboard color change") 234 } 235 236 Case (0x81) 237 { 238 Printf ("EC: Color keyboard brightness down") 239 } 240 241 Case (0x82) 242 { 243 Printf ("EC: Color keyboard brightness up") 244 } 245 246 Case (0x8a) 247 { 248 Printf ("EC: White keyboard backlight toggle") 249 } 250 251 Case (0x9f) 252 { 253 Printf ("EC: Color keyboard backlight toggle") 254 } 255 256 Case (0xa0) 257 { 258 } 259 260 Case (0xa8) 261 { 262 Printf ("EC: Fn + ESC pressed") 263 } 264 265 Case (0xae) 266 { 267 Printf ("EC: airplane mode LED off") 268 } 269 270 Case (0xaf) 271 { 272 Printf ("EC: airplane mode LED on") 273 } 274 275 Case (0xb0) 276 { 277 } 278 279 Case (0xc7) 280 { 281 Printf ("EC: NumLock off") 282 } 283 284 Case (0xc8) 285 { 286 Printf ("EC: NumLock on") 287 } 288 289 Case (0xc9) 290 { 291 Printf ("EC: CapsLock off") 292 } 293 294 Case (0xca) 295 { 296 Printf ("EC: CapsLock on") 297 } 298 299 Case (0xcf) 300 { 301 Printf ("EC: ScrollLock off") 302 } 303 304 Case (0xd0) 305 { 306 Printf ("EC: ScrollLock on") 307 } 308 309 Case (0xf0) 310 { 311 } 312 313 Case (0xf1) 314 { 315 } 316 317 Case (0xf2) 318 { 319 Printf ("EC: Fan mode: auto") 320 } 321 322 Case (0xf3) 323 { 324 Printf ("EC: Fan mode: turbo") 325 } 326 } 327} 328 329Method (_Q51) 330{ 331 Printf ("EC: _Q51, SCIE=0x%o", ToHexString (SCIE)) 332} 333 334Method (_Q52) 335{ 336 Printf ("EC: _Q52, SCIE=0x%o", ToHexString (SCIE)) 337} 338 339Method (_Q53) 340{ 341 Printf ("EC: _Q53, SCIE=0x%o", ToHexString (SCIE)) 342} 343 344Method (_Q56) 345{ 346 Printf ("EC: _Q56, SCIE=0x%o", ToHexString (SCIE)) 347} 348 349Method (_Q57) 350{ 351 Printf ("EC: _Q57, SCIE=0x%o", ToHexString (SCIE)) 352} 353 354Method (_Q58) 355{ 356 Printf ("EC: _Q58, SCIE=0x%o", ToHexString (SCIE)) 357} 358 359Method (_Q59) 360{ 361 Printf ("EC: _Q59, SCIE=0x%o", ToHexString (SCIE)) 362} 363 364Method (_Q5A) 365{ 366 Printf ("EC: _Q5A, SCIE=0x%o", ToHexString (SCIE)) 367} 368 369Method (_Q5D) 370{ 371 Printf ("EC: _Q5D: Performance profile hotkey pressed (Fn + 3)") 372} 373 374Method (_Q5E) 375{ 376 Printf ("EC: _Q5E, SCIE=0x%o", ToHexString (SCIE)) 377} 378 379Method (_Q61) 380{ 381 Printf ("EC: _Q61: Board thermal trip") 382} 383 384Method (_Q62) 385{ 386 Printf ("EC: _Q62: UCSI event") 387} 388