• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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