blob: b8e2d96944484228047629a0385605182638ae96 [file] [log] [blame]
Angel Ponsc3f58f62020-04-05 15:46:41 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Duncan Laurie430bf0d2013-12-10 14:37:42 -08002
3Device (SDM1)
4{
5 Name (_HID, "INTL9C60")
6 Name (_UID, 1)
7 Name (_DDN, "DMA Controller #1")
8
9 Name (RBUF, ResourceTemplate()
10 {
11 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
12 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
13 {
14 LPSS_DMA1_IRQ
15 }
16 })
17
18 Method (_CRS)
19 {
20 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +010021 RBAS = \S0B0
Duncan Laurie430bf0d2013-12-10 14:37:42 -080022 Return (^RBUF)
23 }
24
25 Method (_STA)
26 {
Felix Singer26c76722022-12-11 21:15:05 +010027 If (\S0EN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -080028 Return (0xF)
29 } Else {
30 Return (0x0)
31 }
32 }
33}
34
35Device (SDM2)
36{
37 Name (_HID, "INTL9C60")
38 Name (_UID, 2)
39 Name (_DDN, "DMA Controller #2")
40
41 Name (RBUF, ResourceTemplate()
42 {
43 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
44 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
45 {
46 LPSS_DMA2_IRQ
47 }
48 })
49
50 Method (_CRS)
51 {
52 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +010053 RBAS = \S8B0
Duncan Laurie430bf0d2013-12-10 14:37:42 -080054 Return (^RBUF)
55 }
56
57 Method (_STA)
58 {
Felix Singer26c76722022-12-11 21:15:05 +010059 If (\S8EN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -080060 Return (0xF)
61 } Else {
62 Return (0x0)
63 }
64 }
65}
66
67Device (I2C1)
68{
69 Name (_HID, "80860F41")
70 Name (_UID, 1)
71 Name (_DDN, "I2C Controller #1")
72
Shawn Nematbakhsh51d787a2014-01-16 17:52:21 -080073 /* Standard Mode: HCNT, LCNT, SDA Hold Time */
74 Name (SSCN, Package () { 0x200, 0x200, 0x6 })
75
76 /* Fast Mode: HCNT, LCNT, SDA Hold Time */
77 Name (FMCN, Package () { 0x55, 0x99, 0x6 })
78
Duncan Laurie430bf0d2013-12-10 14:37:42 -080079 Name (RBUF, ResourceTemplate()
80 {
81 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
82 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
83 {
84 LPSS_I2C1_IRQ
85 }
86 FixedDMA (0x10, 0x0, Width32Bit, )
87 FixedDMA (0x11, 0x1, Width32Bit, )
88 })
89
90 Method (_CRS)
91 {
92 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +010093 RBAS = \S1B0
Duncan Laurie430bf0d2013-12-10 14:37:42 -080094 Return (^RBUF)
95 }
96
Matt DeVilliere20165d2017-01-02 01:16:41 -060097 Method (_HRV, 0, NotSerialized) { Return (0x06) }
98
Duncan Laurie430bf0d2013-12-10 14:37:42 -080099 Method (_STA)
100 {
Felix Singer26c76722022-12-11 21:15:05 +0100101 If (\S1EN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800102 Return (0xF)
103 } Else {
104 Return (0x0)
105 }
106 }
107
108 OperationRegion (KEYS, SystemMemory, S1B1, 0x100)
109 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
110 {
111 Offset (0x84),
112 PSAT, 32,
113 }
114
115 Method (_PS3)
116 {
Felix Singer86bc2e72022-12-16 04:40:39 +0100117 PSAT |= 3
118 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800119 }
120
121 Method (_PS0)
122 {
Felix Singer35e65a82022-12-16 07:11:17 +0100123 PSAT &= 0xfffffffc
Felix Singer86bc2e72022-12-16 04:40:39 +0100124 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800125 }
126}
127
128Device (I2C2)
129{
130 Name (_HID, "80860F41")
131 Name (_UID, 2)
132 Name (_DDN, "I2C Controller #2")
133
Shawn Nematbakhsh51d787a2014-01-16 17:52:21 -0800134 /* Standard Mode: HCNT, LCNT, SDA Hold Time */
135 Name (SSCN, Package () { 0x200, 0x200, 0x6 })
136
137 /* Fast Mode: HCNT, LCNT, SDA Hold Time */
138 Name (FMCN, Package () { 0x55, 0x99, 0x6 })
139
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800140 Name (RBUF, ResourceTemplate()
141 {
142 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
143 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
144 {
145 LPSS_I2C2_IRQ
146 }
Matt DeVillier930577a2017-06-06 23:51:57 -0500147 FixedDMA (0x12, 0x2, Width32Bit, )
148 FixedDMA (0x13, 0x3, Width32Bit, )
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800149 })
150
151 Method (_CRS)
152 {
153 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100154 RBAS = \S2B0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800155 Return (^RBUF)
156 }
157
Matt DeVilliere20165d2017-01-02 01:16:41 -0600158 Method (_HRV, 0, NotSerialized) { Return (0x06) }
159
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800160 Method (_STA)
161 {
Felix Singer26c76722022-12-11 21:15:05 +0100162 If (\S2EN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800163 Return (0xF)
164 } Else {
165 Return (0x0)
166 }
167 }
168
169 OperationRegion (KEYS, SystemMemory, S2B1, 0x100)
170 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
171 {
172 Offset (0x84),
173 PSAT, 32,
174 }
175
176 Method (_PS3)
177 {
Felix Singer86bc2e72022-12-16 04:40:39 +0100178 PSAT |= 3
179 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800180 }
181
182 Method (_PS0)
183 {
Felix Singer35e65a82022-12-16 07:11:17 +0100184 PSAT &= 0xfffffffc
Felix Singer86bc2e72022-12-16 04:40:39 +0100185 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800186 }
187}
188
189Device (I2C3)
190{
191 Name (_HID, "80860F41")
192 Name (_UID, 3)
193 Name (_DDN, "I2C Controller #3")
194
Shawn Nematbakhsh51d787a2014-01-16 17:52:21 -0800195 /* Standard Mode: HCNT, LCNT, SDA Hold Time */
196 Name (SSCN, Package () { 0x200, 0x200, 0x6 })
197
198 /* Fast Mode: HCNT, LCNT, SDA Hold Time */
199 Name (FMCN, Package () { 0x55, 0x99, 0x6 })
200
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800201 Name (RBUF, ResourceTemplate()
202 {
203 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
204 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
205 {
206 LPSS_I2C3_IRQ
207 }
Matt DeVillier930577a2017-06-06 23:51:57 -0500208 FixedDMA (0x14, 0x4, Width32Bit, )
209 FixedDMA (0x15, 0x5, Width32Bit, )
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800210 })
211
Matt DeVilliere20165d2017-01-02 01:16:41 -0600212 Method (_HRV, 0, NotSerialized) { Return (0x06) }
213
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800214 Method (_CRS)
215 {
216 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100217 RBAS = \S3B0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800218 Return (^RBUF)
219 }
220
221 Method (_STA)
222 {
Felix Singer26c76722022-12-11 21:15:05 +0100223 If (\S3EN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800224 Return (0xF)
225 } Else {
226 Return (0x0)
227 }
228 }
229
230 OperationRegion (KEYS, SystemMemory, S3B1, 0x100)
231 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
232 {
233 Offset (0x84),
234 PSAT, 32,
235 }
236
237 Method (_PS3)
238 {
Felix Singer86bc2e72022-12-16 04:40:39 +0100239 PSAT |= 3
240 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800241 }
242
243 Method (_PS0)
244 {
Felix Singer35e65a82022-12-16 07:11:17 +0100245 PSAT &= 0xfffffffc
Felix Singer86bc2e72022-12-16 04:40:39 +0100246 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800247 }
248}
249
250Device (I2C4)
251{
252 Name (_HID, "80860F41")
253 Name (_UID, 4)
254 Name (_DDN, "I2C Controller #4")
255
Shawn Nematbakhsh51d787a2014-01-16 17:52:21 -0800256 /* Standard Mode: HCNT, LCNT, SDA Hold Time */
257 Name (SSCN, Package () { 0x200, 0x200, 0x6 })
258
259 /* Fast Mode: HCNT, LCNT, SDA Hold Time */
260 Name (FMCN, Package () { 0x55, 0x99, 0x6 })
261
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800262 Name (RBUF, ResourceTemplate()
263 {
264 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
265 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
266 {
267 LPSS_I2C4_IRQ
268 }
Matt DeVillier930577a2017-06-06 23:51:57 -0500269 FixedDMA (0x16, 0x6, Width32Bit, )
270 FixedDMA (0x17, 0x7, Width32Bit, )
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800271 })
272
273 Method (_CRS)
274 {
275 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100276 RBAS = \S4B0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800277 Return (^RBUF)
278 }
279
Matt DeVilliere20165d2017-01-02 01:16:41 -0600280 Method (_HRV, 0, NotSerialized) { Return (0x06) }
281
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800282 Method (_STA)
283 {
Felix Singer26c76722022-12-11 21:15:05 +0100284 If (\S4EN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800285 Return (0xF)
286 } Else {
287 Return (0x0)
288 }
289 }
290
291 OperationRegion (KEYS, SystemMemory, S4B1, 0x100)
292 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
293 {
294 Offset (0x84),
295 PSAT, 32,
296 }
297
298 Method (_PS3)
299 {
Felix Singer86bc2e72022-12-16 04:40:39 +0100300 PSAT |= 3
301 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800302 }
303
304 Method (_PS0)
305 {
Felix Singer35e65a82022-12-16 07:11:17 +0100306 PSAT &= 0xfffffffc
Felix Singer86bc2e72022-12-16 04:40:39 +0100307 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800308 }
309}
310
311Device (I2C5)
312{
313 Name (_HID, "80860F41")
314 Name (_UID, 5)
315 Name (_DDN, "I2C Controller #5")
316
Shawn Nematbakhsh51d787a2014-01-16 17:52:21 -0800317 /* Standard Mode: HCNT, LCNT, SDA Hold Time */
318 Name (SSCN, Package () { 0x200, 0x200, 0x6 })
319
320 /* Fast Mode: HCNT, LCNT, SDA Hold Time */
321 Name (FMCN, Package () { 0x55, 0x99, 0x6 })
322
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800323 Name (RBUF, ResourceTemplate()
324 {
325 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
326 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
327 {
328 LPSS_I2C5_IRQ
329 }
Matt DeVillier930577a2017-06-06 23:51:57 -0500330 FixedDMA (0x18, 0x0, Width32Bit, )
331 FixedDMA (0x19, 0x1, Width32Bit, )
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800332 })
333
334 Method (_CRS)
335 {
336 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100337 RBAS = \S5B0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800338 Return (^RBUF)
339 }
340
Matt DeVilliere20165d2017-01-02 01:16:41 -0600341 Method (_HRV, 0, NotSerialized) { Return (0x06) }
342
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800343 Method (_STA)
344 {
Felix Singer26c76722022-12-11 21:15:05 +0100345 If (\S5EN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800346 Return (0xF)
347 } Else {
348 Return (0x0)
349 }
350 }
351
352 OperationRegion (KEYS, SystemMemory, S5B1, 0x100)
353 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
354 {
355 Offset (0x84),
356 PSAT, 32,
357 }
358
359 Method (_PS3)
360 {
Felix Singer86bc2e72022-12-16 04:40:39 +0100361 PSAT |= 3
362 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800363 }
364
365 Method (_PS0)
366 {
Felix Singer35e65a82022-12-16 07:11:17 +0100367 PSAT &= 0xfffffffc
Felix Singer86bc2e72022-12-16 04:40:39 +0100368 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800369 }
370}
371
372Device (I2C6)
373{
374 Name (_HID, "80860F41")
375 Name (_UID, 6)
376 Name (_DDN, "I2C Controller #6")
377
Shawn Nematbakhsh51d787a2014-01-16 17:52:21 -0800378 /* Standard Mode: HCNT, LCNT, SDA Hold Time */
379 Name (SSCN, Package () { 0x200, 0x200, 0x6 })
380
381 /* Fast Mode: HCNT, LCNT, SDA Hold Time */
382 Name (FMCN, Package () { 0x55, 0x99, 0x6 })
383
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800384 Name (RBUF, ResourceTemplate()
385 {
386 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
387 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
388 {
389 LPSS_I2C6_IRQ
390 }
Matt DeVillier930577a2017-06-06 23:51:57 -0500391 FixedDMA (0x1A, 0x2, Width32Bit, )
392 FixedDMA (0x1B, 0x3, Width32Bit, )
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800393 })
394
395 Method (_CRS)
396 {
397 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100398 RBAS = \S6B0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800399 Return (^RBUF)
400 }
401
Matt DeVilliere20165d2017-01-02 01:16:41 -0600402 Method (_HRV, 0, NotSerialized) { Return (0x06) }
403
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800404 Method (_STA)
405 {
Felix Singer26c76722022-12-11 21:15:05 +0100406 If (\S6EN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800407 Return (0xF)
408 } Else {
409 Return (0x0)
410 }
411 }
412
413 OperationRegion (KEYS, SystemMemory, S6B1, 0x100)
414 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
415 {
416 Offset (0x84),
417 PSAT, 32,
418 }
419
420 Method (_PS3)
421 {
Felix Singer86bc2e72022-12-16 04:40:39 +0100422 PSAT |= 3
423 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800424 }
425
426 Method (_PS0)
427 {
Felix Singer35e65a82022-12-16 07:11:17 +0100428 PSAT &= 0xfffffffc
Felix Singer86bc2e72022-12-16 04:40:39 +0100429 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800430 }
431}
432
433Device (I2C7)
434{
435 Name (_HID, "80860F41")
436 Name (_UID, 7)
437 Name (_DDN, "I2C Controller #7")
438
Shawn Nematbakhsh51d787a2014-01-16 17:52:21 -0800439 /* Standard Mode: HCNT, LCNT, SDA Hold Time */
440 Name (SSCN, Package () { 0x200, 0x200, 0x6 })
441
442 /* Fast Mode: HCNT, LCNT, SDA Hold Time */
443 Name (FMCN, Package () { 0x55, 0x99, 0x6 })
444
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800445 Name (RBUF, ResourceTemplate()
446 {
447 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
448 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
449 {
450 LPSS_I2C7_IRQ
451 }
Matt DeVillier930577a2017-06-06 23:51:57 -0500452 FixedDMA (0x1C, 0x4, Width32Bit, )
453 FixedDMA (0x1D, 0x5, Width32Bit, )
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800454 })
455
456 Method (_CRS)
457 {
458 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100459 RBAS = \S7B0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800460 Return (^RBUF)
461 }
462
Matt DeVilliere20165d2017-01-02 01:16:41 -0600463 Method (_HRV, 0, NotSerialized) { Return (0x06) }
464
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800465 Method (_STA)
466 {
Felix Singer26c76722022-12-11 21:15:05 +0100467 If (\S7EN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800468 Return (0xF)
469 } Else {
470 Return (0x0)
471 }
472 }
473
474 OperationRegion (KEYS, SystemMemory, S7B1, 0x100)
475 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
476 {
477 Offset (0x84),
478 PSAT, 32,
479 }
480
481 Method (_PS3)
482 {
Felix Singer86bc2e72022-12-16 04:40:39 +0100483 PSAT |= 3
484 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800485 }
486
487 Method (_PS0)
488 {
Felix Singer35e65a82022-12-16 07:11:17 +0100489 PSAT &= 0xfffffffc
Felix Singer86bc2e72022-12-16 04:40:39 +0100490 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800491 }
492}
493
494Device (SPI1)
495{
496 Name (_HID, "80860F0E")
497 Name (_UID, 1)
498 Name (_DDN, "SPI Controller #2")
499
500 Name (RBUF, ResourceTemplate()
501 {
502 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
503 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
504 {
505 LPSS_SPI_IRQ
506 }
507 FixedDMA (0x0, 0x0, Width32Bit, )
508 FixedDMA (0x1, 0x1, Width32Bit, )
509 })
510
511 Method (_CRS)
512 {
513 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100514 RBAS = \S9B0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800515 Return (^RBUF)
516 }
517
518 Method (_STA)
519 {
Felix Singer26c76722022-12-11 21:15:05 +0100520 If (\S9EN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800521 Return (0xF)
522 } Else {
523 Return (0x0)
524 }
525 }
526
527 OperationRegion (KEYS, SystemMemory, S9B1, 0x100)
528 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
529 {
530 Offset (0x84),
531 PSAT, 32,
532 }
533
534 Method (_PS3)
535 {
Felix Singer86bc2e72022-12-16 04:40:39 +0100536 PSAT |= 3
537 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800538 }
539
540 Method (_PS0)
541 {
Felix Singer35e65a82022-12-16 07:11:17 +0100542 PSAT &= 0xfffffffc
Felix Singer86bc2e72022-12-16 04:40:39 +0100543 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800544 }
545}
546
547Device (PWM1)
548{
549 Name (_HID, "80860F09")
550 Name (_UID, 1)
551 Name (_DDN, "PWM Controller #1")
552
553 Name (RBUF, ResourceTemplate()
554 {
555 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
556 })
557
558 Method (_CRS)
559 {
560 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100561 RBAS = \SAB0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800562 Return (^RBUF)
563 }
564
565 Method (_STA)
566 {
Felix Singer26c76722022-12-11 21:15:05 +0100567 If (\SAEN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800568 Return (0xF)
569 } Else {
570 Return (0x0)
571 }
572 }
573}
574
575Device (PWM2)
576{
577 Name (_HID, "80860F09")
578 Name (_UID, 2)
579 Name (_DDN, "PWM Controller #2")
580
581 Name (RBUF, ResourceTemplate()
582 {
583 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
584 })
585
586 Method (_CRS)
587 {
588 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100589 RBAS = \SBB0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800590 Return (^RBUF)
591 }
592
593 Method (_STA)
594 {
Felix Singer26c76722022-12-11 21:15:05 +0100595 If (\SBEN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800596 Return (0xF)
597 } Else {
598 Return (0x0)
599 }
600 }
601}
602
603Device (UAR1)
604{
605 Name (_HID, "80860F0A")
606 Name (_UID, 1)
607 Name (_DDN, "HS-UART Controller #1")
608
609 Name (RBUF, ResourceTemplate()
610 {
611 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
612 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
613 {
614 LPSS_HSUART1_IRQ
615 }
616 FixedDMA (0x2, 0x2, Width32Bit, )
617 FixedDMA (0x3, 0x3, Width32Bit, )
618 })
619
620 Method (_CRS)
621 {
622 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100623 RBAS = \SCB0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800624 Return (^RBUF)
625 }
626
627 Method (_STA)
628 {
Felix Singer26c76722022-12-11 21:15:05 +0100629 If (\SCEN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800630 Return (0xF)
631 } Else {
632 Return (0x0)
633 }
634 }
635
636 OperationRegion (KEYS, SystemMemory, SCB1, 0x100)
637 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
638 {
639 Offset (0x84),
640 PSAT, 32,
641 }
642
643 Method (_PS3)
644 {
Felix Singer86bc2e72022-12-16 04:40:39 +0100645 PSAT |= 3
646 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800647 }
648
649 Method (_PS0)
650 {
Felix Singer35e65a82022-12-16 07:11:17 +0100651 PSAT &= 0xfffffffc
Felix Singer86bc2e72022-12-16 04:40:39 +0100652 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800653 }
654}
655
656Device (UAR2)
657{
658 Name (_HID, "80860F0A")
659 Name (_UID, 2)
660 Name (_DDN, "HS-UART Controller #2")
661
662 Name (RBUF, ResourceTemplate()
663 {
664 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
665 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
666 {
667 LPSS_HSUART2_IRQ
668 }
669 FixedDMA (0x4, 0x4, Width32Bit, )
670 FixedDMA (0x5, 0x5, Width32Bit, )
671 })
672
673 Method (_CRS)
674 {
675 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
Felix Singer476fe6a2022-12-12 07:30:07 +0100676 RBAS = \SDB0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800677 Return (^RBUF)
678 }
679
680 Method (_STA)
681 {
Felix Singer26c76722022-12-11 21:15:05 +0100682 If (\SDEN == 1) {
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800683 Return (0xF)
684 } Else {
685 Return (0x0)
686 }
687 }
688
689 OperationRegion (KEYS, SystemMemory, SDB1, 0x100)
690 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
691 {
692 Offset (0x84),
693 PSAT, 32,
694 }
695
696 Method (_PS3)
697 {
Felix Singer86bc2e72022-12-16 04:40:39 +0100698 PSAT |= 3
699 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800700 }
701
702 Method (_PS0)
703 {
Felix Singer35e65a82022-12-16 07:11:17 +0100704 PSAT &= 0xfffffffc
Felix Singer86bc2e72022-12-16 04:40:39 +0100705 PSAT |= 0
Duncan Laurie430bf0d2013-12-10 14:37:42 -0800706 }
707}