soc/mediatek/common: Fix wrong write API for protect_key_setting
[coreboot.git] / src / soc / intel / common / acpi / dptf / thermal.asl
blobe4e005c53dc4469b78c4767ad2dbf20eee98dab1
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 /* Thermal Threshold Event Handler */
4 #define HAVE_THERM_EVENT_HANDLER
6 #if CONFIG(EC_SUPPORTS_DPTF_TEVT)
7 Method (TEVT, 1, NotSerialized)
9         Local0 = ToInteger (Arg0)
11 #ifdef DPTF_TSR0_SENSOR_ID
12         If (Local0 == DPTF_TSR0_SENSOR_ID) {
13                 Notify (^TSR0, 0x90)
14         }
15 #endif
16 #ifdef DPTF_TSR1_SENSOR_ID
17         If (Local0 == DPTF_TSR1_SENSOR_ID) {
18                 Notify (^TSR1, 0x90)
19         }
20 #endif
21 #ifdef DPTF_TSR2_SENSOR_ID
22         If (Local0 == DPTF_TSR2_SENSOR_ID) {
23                 Notify (^TSR2, 0x90)
24         }
25 #endif
26 #ifdef DPTF_TSR3_SENSOR_ID
27         If (Local0 == DPTF_TSR3_SENSOR_ID) {
28                 Notify (^TSR3, 0x90)
29         }
30 #endif
32 #endif
34 /* Thermal device initialization - Disable Aux Trip Points */
35 Method (TINI)
37 #ifdef DPTF_TSR0_SENSOR_ID
38         ^TSR0.PATD ()
39 #endif
40 #ifdef DPTF_TSR1_SENSOR_ID
41         ^TSR1.PATD ()
42 #endif
43 #ifdef DPTF_TSR2_SENSOR_ID
44         ^TSR2.PATD ()
45 #endif
46 #ifdef DPTF_TSR3_SENSOR_ID
47         ^TSR3.PATD ()
48 #endif
51 /* Thermal Trip Points Change Event Handler */
52 Method (TPET)
54 #ifdef DPTF_TSR0_SENSOR_ID
55         Notify (^TSR0, 0x81)
56 #endif
57 #ifdef DPTF_TSR1_SENSOR_ID
58         Notify (^TSR1, 0x81)
59 #endif
60 #ifdef DPTF_TSR2_SENSOR_ID
61         Notify (^TSR2, 0x81)
62 #endif
63 #ifdef DPTF_TSR3_SENSOR_ID
64         Notify (^TSR3, 0x81)
65 #endif
68 #ifndef EC_ENABLE_MULTIPLE_DPTF_PROFILES
69 External (\_SB.PCI0.LPCB.EC0.RCDP, MethodObj)
70 #endif
73  * Method to return trip temperature value depending upon the device mode.
74  * Arg0 --> Value to return when device is in tablet mode
75  * Arg1 --> Value to return when device is not in tablet mode.
76  */
77 Method (DTRP, 2, Serialized)
79         If (CondRefOf (\_SB.PCI0.LPCB.EC0.RCDP)) {
80                 If (\_SB.PCI0.LPCB.EC0.RCDP == 1) {
81                         Return (CTOK (Arg0))
82                 }
83         }
84         Return (CTOK (Arg1))
87 #ifdef DPTF_TSR0_SENSOR_ID
89 #ifndef DPTF_TSR0_TABLET_PASSIVE
90 #define DPTF_TSR0_TABLET_PASSIVE DPTF_TSR0_PASSIVE
91 #endif
92 #ifndef DPTF_TSR0_TABLET_CRITICAL
93 #define DPTF_TSR0_TABLET_CRITICAL DPTF_TSR0_CRITICAL
94 #endif
96 Device (TSR0)
98         Name (_HID, DPTF_GEN_DEVICE)
100         Name (_UID, 1)
101         Name (PTYP, 0x03)
102         Name (TMPI, DPTF_TSR0_SENSOR_ID)
103         Name (_STR, Unicode (DPTF_TSR0_SENSOR_NAME))
104         Name (GTSH, 20) /* 2 degree hysteresis */
106         Method (_STA)
107         {
108                 If (\DPTE == 1) {
109                         Return (0xF)
110                 } Else {
111                         Return (0x0)
112                 }
113         }
115         Method (_TMP, 0, Serialized)
116         {
117                 Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI))
118         }
120         Method (_PSV)
121         {
122                 Return (DTRP (DPTF_TSR0_TABLET_PASSIVE, DPTF_TSR0_PASSIVE))
123         }
125         Method (_CRT)
126         {
127                 Return (DTRP (DPTF_TSR0_TABLET_CRITICAL, DPTF_TSR0_CRITICAL))
128         }
130         Name (PATC, 2)
132         /* Set Aux Trip Point */
133         Method (PAT0, 1, Serialized)
134         {
135                 \_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0)
136         }
138         /* Set Aux Trip Point */
139         Method (PAT1, 1, Serialized)
140         {
141                 \_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0)
142         }
144         /* Disable Aux Trip Point */
145         Method (PATD, 0, Serialized)
146         {
147                 \_SB.PCI0.LPCB.EC0.PATD (TMPI)
148         }
150 #ifdef DPTF_ENABLE_FAN_CONTROL
151 #ifdef DPTF_TSR0_ACTIVE_AC0
152         Method (_AC0)
153         {
154                 Return (\_SB.DPTF.CTOK (DPTF_TSR0_ACTIVE_AC0))
155         }
156 #endif
157 #ifdef DPTF_TSR0_ACTIVE_AC1
158         Method (_AC1)
159         {
160                 Return (\_SB.DPTF.CTOK (DPTF_TSR0_ACTIVE_AC1))
161         }
162 #endif
163 #ifdef DPTF_TSR0_ACTIVE_AC2
164         Method (_AC2)
165         {
166                 Return (\_SB.DPTF.CTOK (DPTF_TSR0_ACTIVE_AC2))
167         }
168 #endif
169 #ifdef DPTF_TSR0_ACTIVE_AC3
170         Method (_AC3)
171         {
172                 Return (\_SB.DPTF.CTOK (DPTF_TSR0_ACTIVE_AC3))
173         }
174 #endif
175 #ifdef DPTF_TSR0_ACTIVE_AC4
176         Method (_AC4)
177         {
178                 Return (\_SB.DPTF.CTOK (DPTF_TSR0_ACTIVE_AC4))
179         }
180 #endif
181 #ifdef DPTF_TSR0_ACTIVE_AC5
182         Method (_AC5)
183         {
184                 Return (\_SB.DPTF.CTOK (DPTF_TSR0_ACTIVE_AC5))
185         }
186 #endif
187 #ifdef DPTF_TSR0_ACTIVE_AC6
188         Method (_AC6)
189         {
190                 Return (\_SB.DPTF.CTOK (DPTF_TSR0_ACTIVE_AC6))
191         }
192 #endif
193 #endif
195 #endif
197 #ifdef DPTF_TSR1_SENSOR_ID
199 #ifndef DPTF_TSR1_TABLET_PASSIVE
200 #define DPTF_TSR1_TABLET_PASSIVE DPTF_TSR1_PASSIVE
201 #endif
202 #ifndef DPTF_TSR1_TABLET_CRITICAL
203 #define DPTF_TSR1_TABLET_CRITICAL DPTF_TSR1_CRITICAL
204 #endif
206 Device (TSR1)
208         Name (_HID, DPTF_GEN_DEVICE)
210         Name (_UID, 2)
211         Name (PTYP, 0x03)
212         Name (TMPI, DPTF_TSR1_SENSOR_ID)
213         Name (_STR, Unicode (DPTF_TSR1_SENSOR_NAME))
214         Name (GTSH, 20) /* 2 degree hysteresis */
216         Method (_STA)
217         {
218                 If (\DPTE == 1) {
219                         Return (0xF)
220                 } Else {
221                         Return (0x0)
222                 }
223         }
225         Method (_TMP, 0, Serialized)
226         {
227                 Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI))
228         }
230         Method (_PSV)
231         {
232                 Return (DTRP (DPTF_TSR1_TABLET_PASSIVE, DPTF_TSR1_PASSIVE))
233         }
235         Method (_CRT)
236         {
237                 Return (DTRP (DPTF_TSR1_TABLET_CRITICAL, DPTF_TSR1_CRITICAL))
238         }
240         Name (PATC, 2)
242         /* Set Aux Trip Point */
243         Method (PAT0, 1, Serialized)
244         {
245                 \_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0)
246         }
248         /* Set Aux Trip Point */
249         Method (PAT1, 1, Serialized)
250         {
251                 \_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0)
252         }
254         /* Disable Aux Trip Point */
255         Method (PATD, 0, Serialized)
256         {
257                 \_SB.PCI0.LPCB.EC0.PATD (TMPI)
258         }
260 #ifdef DPTF_ENABLE_FAN_CONTROL
261 #ifdef DPTF_TSR1_ACTIVE_AC0
262         Method (_AC0)
263         {
264                 Return (\_SB.DPTF.CTOK (DPTF_TSR1_ACTIVE_AC0))
265         }
266 #endif
267 #ifdef DPTF_TSR1_ACTIVE_AC1
268         Method (_AC1)
269         {
270                 Return (\_SB.DPTF.CTOK (DPTF_TSR1_ACTIVE_AC1))
271         }
272 #endif
273 #ifdef DPTF_TSR1_ACTIVE_AC2
274         Method (_AC2)
275         {
276                 Return (\_SB.DPTF.CTOK (DPTF_TSR1_ACTIVE_AC2))
277         }
278 #endif
279 #ifdef DPTF_TSR1_ACTIVE_AC3
280         Method (_AC3)
281         {
282                 Return (\_SB.DPTF.CTOK (DPTF_TSR1_ACTIVE_AC3))
283         }
284 #endif
285 #ifdef DPTF_TSR1_ACTIVE_AC4
286         Method (_AC4)
287         {
288                 Return (\_SB.DPTF.CTOK (DPTF_TSR1_ACTIVE_AC4))
289         }
290 #endif
291 #ifdef DPTF_TSR1_ACTIVE_AC5
292         Method (_AC5)
293         {
294                 Return (\_SB.DPTF.CTOK (DPTF_TSR1_ACTIVE_AC5))
295         }
296 #endif
297 #ifdef DPTF_TSR1_ACTIVE_AC6
298         Method (_AC6)
299         {
300                 Return (\_SB.DPTF.CTOK (DPTF_TSR1_ACTIVE_AC6))
301         }
302 #endif
303 #endif
305 #endif
307 #ifdef DPTF_TSR2_SENSOR_ID
309 #ifndef DPTF_TSR2_TABLET_PASSIVE
310 #define DPTF_TSR2_TABLET_PASSIVE DPTF_TSR2_PASSIVE
311 #endif
312 #ifndef DPTF_TSR2_TABLET_CRITICAL
313 #define DPTF_TSR2_TABLET_CRITICAL DPTF_TSR2_CRITICAL
314 #endif
316 Device (TSR2)
318         Name (_HID, DPTF_GEN_DEVICE)
320         Name (_UID, 3)
321         Name (PTYP, 0x03)
322         Name (TMPI, DPTF_TSR2_SENSOR_ID)
323         Name (_STR, Unicode (DPTF_TSR2_SENSOR_NAME))
324         Name (GTSH, 20) /* 2 degree hysteresis */
326         Method (_STA)
327         {
328                 If (\DPTE == 1) {
329                         Return (0xF)
330                 } Else {
331                         Return (0x0)
332                 }
333         }
335         Method (_TMP, 0, Serialized)
336         {
337                 Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI))
338         }
340         Method (_PSV)
341         {
342                 Return (DTRP (DPTF_TSR2_TABLET_PASSIVE, DPTF_TSR2_PASSIVE))
343         }
345         Method (_CRT)
346         {
347                 Return (DTRP (DPTF_TSR2_TABLET_CRITICAL, DPTF_TSR2_CRITICAL))
348         }
350         Name (PATC, 2)
352         /* Set Aux Trip Point */
353         Method (PAT0, 1, Serialized)
354         {
355                 \_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0)
356         }
358         /* Set Aux Trip Point */
359         Method (PAT1, 1, Serialized)
360         {
361                 \_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0)
362         }
364         /* Disable Aux Trip Point */
365         Method (PATD, 0, Serialized)
366         {
367                 \_SB.PCI0.LPCB.EC0.PATD (TMPI)
368         }
370 #ifdef DPTF_ENABLE_FAN_CONTROL
371 #ifdef DPTF_TSR2_ACTIVE_AC0
372         Method (_AC0)
373         {
374                 Return (\_SB.DPTF.CTOK (DPTF_TSR2_ACTIVE_AC0))
375         }
376 #endif
377 #ifdef DPTF_TSR2_ACTIVE_AC1
378         Method (_AC1)
379         {
380                 Return (\_SB.DPTF.CTOK (DPTF_TSR2_ACTIVE_AC1))
381         }
382 #endif
383 #ifdef DPTF_TSR2_ACTIVE_AC2
384         Method (_AC2)
385         {
386                 Return (\_SB.DPTF.CTOK (DPTF_TSR2_ACTIVE_AC2))
387         }
388 #endif
389 #ifdef DPTF_TSR2_ACTIVE_AC3
390         Method (_AC3)
391         {
392                 Return (\_SB.DPTF.CTOK (DPTF_TSR2_ACTIVE_AC3))
393         }
394 #endif
395 #ifdef DPTF_TSR2_ACTIVE_AC4
396         Method (_AC4)
397         {
398                 Return (\_SB.DPTF.CTOK (DPTF_TSR2_ACTIVE_AC4))
399         }
400 #endif
401 #ifdef DPTF_TSR2_ACTIVE_AC5
402         Method (_AC5)
403         {
404                 Return (\_SB.DPTF.CTOK (DPTF_TSR2_ACTIVE_AC5))
405         }
406 #endif
407 #ifdef DPTF_TSR2_ACTIVE_AC6
408         Method (_AC6)
409         {
410                 Return (\_SB.DPTF.CTOK (DPTF_TSR2_ACTIVE_AC6))
411         }
412 #endif
413 #endif
415 #endif
417 #ifdef DPTF_TSR3_SENSOR_ID
419 #ifndef DPTF_TSR3_TABLET_PASSIVE
420 #define DPTF_TSR3_TABLET_PASSIVE DPTF_TSR3_PASSIVE
421 #endif
422 #ifndef DPTF_TSR3_TABLET_CRITICAL
423 #define DPTF_TSR3_TABLET_CRITICAL DPTF_TSR3_CRITICAL
424 #endif
426 Device (TSR3)
428         Name (_HID, DPTF_GEN_DEVICE)
430         Name (_UID, 4)
431         Name (PTYP, 0x03)
432         Name (TMPI, DPTF_TSR3_SENSOR_ID)
433         Name (_STR, Unicode (DPTF_TSR3_SENSOR_NAME))
434         Name (GTSH, 20) /* 2 degree hysteresis */
436         Method (_STA)
437         {
438                 If (\DPTE == 1) {
439                         Return (0xF)
440                 } Else {
441                         Return (0x0)
442                 }
443         }
445         Method (_TMP, 0, Serialized)
446         {
447                 Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI))
448         }
450         Method (_PSV)
451         {
452                 Return (DTRP (DPTF_TSR3_TABLET_PASSIVE, DPTF_TSR3_PASSIVE))
453         }
455         Method (_CRT)
456         {
457                 Return (DTRP (DPTF_TSR3_TABLET_CRITICAL, DPTF_TSR3_CRITICAL))
458         }
460         Name (PATC, 2)
462         /* Set Aux Trip Point */
463         Method (PAT0, 1, Serialized)
464         {
465                 \_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0)
466         }
468         /* Set Aux Trip Point */
469         Method (PAT1, 1, Serialized)
470         {
471                 \_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0)
472         }
474         /* Disable Aux Trip Point */
475         Method (PATD, 0, Serialized)
476         {
477                 \_SB.PCI0.LPCB.EC0.PATD (TMPI)
478         }
480 #ifdef DPTF_ENABLE_FAN_CONTROL
481 #ifdef DPTF_TSR3_ACTIVE_AC0
482         Method (_AC0)
483         {
484                 Return (\_SB.DPTF.CTOK (DPTF_TSR3_ACTIVE_AC0))
485         }
486 #endif
487 #ifdef DPTF_TSR3_ACTIVE_AC1
488         Method (_AC1)
489         {
490                 Return (\_SB.DPTF.CTOK (DPTF_TSR3_ACTIVE_AC1))
491         }
492 #endif
493 #ifdef DPTF_TSR3_ACTIVE_AC2
494         Method (_AC2)
495         {
496                 Return (\_SB.DPTF.CTOK (DPTF_TSR3_ACTIVE_AC2))
497         }
498 #endif
499 #ifdef DPTF_TSR3_ACTIVE_AC3
500         Method (_AC3)
501         {
502                 Return (\_SB.DPTF.CTOK (DPTF_TSR3_ACTIVE_AC3))
503         }
504 #endif
505 #ifdef DPTF_TSR3_ACTIVE_AC4
506         Method (_AC4)
507         {
508                 Return (\_SB.DPTF.CTOK (DPTF_TSR3_ACTIVE_AC4))
509         }
510 #endif
511 #ifdef DPTF_TSR3_ACTIVE_AC5
512         Method (_AC5)
513         {
514                 Return (\_SB.DPTF.CTOK (DPTF_TSR3_ACTIVE_AC5))
515         }
516 #endif
517 #ifdef DPTF_TSR3_ACTIVE_AC6
518         Method (_AC6)
519         {
520                 Return (\_SB.DPTF.CTOK (DPTF_TSR3_ACTIVE_AC6))
521         }
522 #endif
523 #endif
525 #endif