blob: 1f9930190844df26ee50292d10c2fca091b99190 [file] [log] [blame]
Angel Ponsc3f58f62020-04-05 15:46:41 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Martin Rothebabfad2016-04-10 11:09:16 -06002
Duncan Lauriea36d60a2014-01-06 12:33:59 -08003/* Thermal Threshold Event Handler */
Martin Roth15f232d2018-04-29 22:41:58 -05004#define HAVE_THERM_EVENT_HANDLER
Frans Hendriks9cb88a72019-12-06 11:54:01 +01005
6#if CONFIG(EC_SUPPORTS_DPTF_TEVT)
Duncan Laurieb376ea62014-01-09 10:10:15 -08007Method (TEVT, 1, NotSerialized)
Duncan Lauriea36d60a2014-01-06 12:33:59 -08008{
Felix Singer476fe6a2022-12-12 07:30:07 +01009 Local0 = ToInteger (Arg0)
Duncan Laurieb376ea62014-01-09 10:10:15 -080010
Duncan Lauriea36d60a2014-01-06 12:33:59 -080011#ifdef DPTF_TSR0_SENSOR_ID
Felix Singer26c76722022-12-11 21:15:05 +010012 If (Local0 == DPTF_TSR0_SENSOR_ID) {
Duncan Laurieb376ea62014-01-09 10:10:15 -080013 Notify (^TSR0, 0x90)
14 }
Duncan Lauriea36d60a2014-01-06 12:33:59 -080015#endif
16#ifdef DPTF_TSR1_SENSOR_ID
Felix Singer26c76722022-12-11 21:15:05 +010017 If (Local0 == DPTF_TSR1_SENSOR_ID) {
Duncan Laurieb376ea62014-01-09 10:10:15 -080018 Notify (^TSR1, 0x90)
19 }
Duncan Lauriea36d60a2014-01-06 12:33:59 -080020#endif
21#ifdef DPTF_TSR2_SENSOR_ID
Felix Singer26c76722022-12-11 21:15:05 +010022 If (Local0 == DPTF_TSR2_SENSOR_ID) {
Duncan Laurieb376ea62014-01-09 10:10:15 -080023 Notify (^TSR2, 0x90)
Duncan Lauriea36d60a2014-01-06 12:33:59 -080024 }
Duncan Laurieb376ea62014-01-09 10:10:15 -080025#endif
26}
Frans Hendriks9cb88a72019-12-06 11:54:01 +010027#endif
Duncan Laurieb376ea62014-01-09 10:10:15 -080028
29/* Thermal device initialization - Disable Aux Trip Points */
30Method (TINI)
31{
32#ifdef DPTF_TSR0_SENSOR_ID
33 ^TSR0.PATD ()
34#endif
35#ifdef DPTF_TSR1_SENSOR_ID
36 ^TSR1.PATD ()
37#endif
38#ifdef DPTF_TSR2_SENSOR_ID
39 ^TSR2.PATD ()
40#endif
Duncan Lauriea36d60a2014-01-06 12:33:59 -080041}
42
Duncan Lauriead8d9132013-12-10 07:41:33 -080043#ifdef DPTF_TSR0_SENSOR_ID
44Device (TSR0)
45{
46 Name (_HID, EISAID ("INT3403"))
47 Name (_UID, 1)
48 Name (PTYP, 0x03)
49 Name (TMPI, DPTF_TSR0_SENSOR_ID)
50 Name (_STR, Unicode (DPTF_TSR0_SENSOR_NAME))
Duncan Lauriea36d60a2014-01-06 12:33:59 -080051 Name (GTSH, 20) /* 2 degree hysteresis */
Duncan Lauriead8d9132013-12-10 07:41:33 -080052
53 Method (_STA)
54 {
Felix Singer7b8ac002022-12-26 08:45:56 +010055 If (\DPTE == 1) {
Duncan Lauriead8d9132013-12-10 07:41:33 -080056 Return (0xF)
57 } Else {
58 Return (0x0)
59 }
60 }
61
62 Method (_TMP, 0, Serialized)
63 {
64 Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI))
65 }
66
Duncan Lauriea36d60a2014-01-06 12:33:59 -080067 Method (_PSV)
68 {
69 Return (^^CTOK (DPTF_TSR0_PASSIVE))
70 }
71
Duncan Laurieb376ea62014-01-09 10:10:15 -080072 Method (_CRT)
Duncan Lauriea36d60a2014-01-06 12:33:59 -080073 {
Duncan Laurieb376ea62014-01-09 10:10:15 -080074 Return (^^CTOK (DPTF_TSR0_CRITICAL))
Duncan Lauriea36d60a2014-01-06 12:33:59 -080075 }
76
Duncan Lauriead8d9132013-12-10 07:41:33 -080077 Name (PATC, 2)
78
79 /* Set Aux Trip Point */
80 Method (PAT0, 1, Serialized)
81 {
82 \_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0)
83 }
84
85 /* Set Aux Trip Point */
86 Method (PAT1, 1, Serialized)
87 {
88 \_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0)
89 }
Duncan Laurieb376ea62014-01-09 10:10:15 -080090
91 /* Disable Aux Trip Point */
92 Method (PATD, 0, Serialized)
93 {
94 \_SB.PCI0.LPCB.EC0.PATD (TMPI)
95 }
Duncan Lauriead8d9132013-12-10 07:41:33 -080096}
97#endif
98
99#ifdef DPTF_TSR1_SENSOR_ID
100Device (TSR1)
101{
102 Name (_HID, EISAID ("INT3403"))
103 Name (_UID, 2)
104 Name (PTYP, 0x03)
105 Name (TMPI, DPTF_TSR1_SENSOR_ID)
106 Name (_STR, Unicode (DPTF_TSR1_SENSOR_NAME))
Duncan Lauriea36d60a2014-01-06 12:33:59 -0800107 Name (GTSH, 20) /* 2 degree hysteresis */
Duncan Lauriead8d9132013-12-10 07:41:33 -0800108
109 Method (_STA)
110 {
Felix Singer7b8ac002022-12-26 08:45:56 +0100111 If (\DPTE == 1) {
Duncan Lauriead8d9132013-12-10 07:41:33 -0800112 Return (0xF)
113 } Else {
114 Return (0x0)
115 }
116 }
117
118 Method (_TMP, 0, Serialized)
119 {
120 Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI))
121 }
122
Duncan Lauriea36d60a2014-01-06 12:33:59 -0800123 Method (_PSV)
124 {
125 Return (^^CTOK (DPTF_TSR1_PASSIVE))
126 }
127
Duncan Laurieb376ea62014-01-09 10:10:15 -0800128 Method (_CRT)
Duncan Lauriea36d60a2014-01-06 12:33:59 -0800129 {
Duncan Laurieb376ea62014-01-09 10:10:15 -0800130 Return (^^CTOK (DPTF_TSR1_CRITICAL))
Duncan Lauriea36d60a2014-01-06 12:33:59 -0800131 }
132
Duncan Lauriead8d9132013-12-10 07:41:33 -0800133 Name (PATC, 2)
134
135 /* Set Aux Trip Point */
136 Method (PAT0, 1, Serialized)
137 {
138 \_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0)
139 }
140
141 /* Set Aux Trip Point */
142 Method (PAT1, 1, Serialized)
143 {
144 \_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0)
145 }
Duncan Laurieb376ea62014-01-09 10:10:15 -0800146
147 /* Disable Aux Trip Point */
148 Method (PATD, 0, Serialized)
149 {
150 \_SB.PCI0.LPCB.EC0.PATD (TMPI)
151 }
Duncan Lauriead8d9132013-12-10 07:41:33 -0800152}
153#endif
154
155#ifdef DPTF_TSR2_SENSOR_ID
156Device (TSR2)
157{
158 Name (_HID, EISAID ("INT3403"))
159 Name (_UID, 3)
160 Name (PTYP, 0x03)
161 Name (TMPI, DPTF_TSR2_SENSOR_ID)
162 Name (_STR, Unicode (DPTF_TSR2_SENSOR_NAME))
Duncan Lauriea36d60a2014-01-06 12:33:59 -0800163 Name (GTSH, 20) /* 2 degree hysteresis */
Duncan Lauriead8d9132013-12-10 07:41:33 -0800164
165 Method (_STA)
166 {
Felix Singer7b8ac002022-12-26 08:45:56 +0100167 If (\DPTE == 1) {
Duncan Lauriead8d9132013-12-10 07:41:33 -0800168 Return (0xF)
169 } Else {
170 Return (0x0)
171 }
172 }
173
174 Method (_TMP, 0, Serialized)
175 {
176 Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI))
177 }
178
Duncan Lauriea36d60a2014-01-06 12:33:59 -0800179 Method (_PSV)
180 {
181 Return (^^CTOK (DPTF_TSR2_PASSIVE))
182 }
183
Duncan Laurieb376ea62014-01-09 10:10:15 -0800184 Method (_CRT)
Duncan Lauriea36d60a2014-01-06 12:33:59 -0800185 {
Duncan Laurieb376ea62014-01-09 10:10:15 -0800186 Return (^^CTOK (DPTF_TSR2_CRITICAL))
Duncan Lauriea36d60a2014-01-06 12:33:59 -0800187 }
188
Duncan Lauriead8d9132013-12-10 07:41:33 -0800189 Name (PATC, 2)
190
191 /* Set Aux Trip Point */
192 Method (PAT0, 1, Serialized)
193 {
194 \_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0)
195 }
196
197 /* Set Aux Trip Point */
198 Method (PAT1, 1, Serialized)
199 {
200 \_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0)
201 }
Duncan Laurieb376ea62014-01-09 10:10:15 -0800202
203 /* Disable Aux Trip Point */
204 Method (PATD, 0, Serialized)
205 {
206 \_SB.PCI0.LPCB.EC0.PATD (TMPI)
207 }
Duncan Lauriead8d9132013-12-10 07:41:33 -0800208}
209#endif