mb/google/corsola: Add new board variant Wyrdeer
[coreboot2.git] / src / soc / intel / braswell / acpi / lpss.asl
blob2c720ffcc1f13918cc89966c3850c4c796a5fbcf
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 /* The below definitions are used for customization
4  * Some boards/devices may need different data hold time
5  */
6 #ifndef BOARD_I2C1_DATA_HOLD_TIME
7 #define BOARD_I2C1_DATA_HOLD_TIME 6
8 #endif
10 #ifndef BOARD_I2C2_DATA_HOLD_TIME
11 #define BOARD_I2C2_DATA_HOLD_TIME 6
12 #endif
14 #ifndef BOARD_I2C3_DATA_HOLD_TIME
15 #define BOARD_I2C3_DATA_HOLD_TIME 6
16 #endif
18 #ifndef BOARD_I2C4_DATA_HOLD_TIME
19 #define BOARD_I2C4_DATA_HOLD_TIME 6
20 #endif
22 #ifndef BOARD_I2C5_DATA_HOLD_TIME
23 #define BOARD_I2C5_DATA_HOLD_TIME 6
24 #endif
26 #ifndef BOARD_I2C6_DATA_HOLD_TIME
27 #define BOARD_I2C6_DATA_HOLD_TIME 6
28 #endif
30 #ifndef BOARD_I2C7_DATA_HOLD_TIME
31 #define BOARD_I2C7_DATA_HOLD_TIME 6
32 #endif
34 Device (SDM1)
36         Name (_HID, "INTL9C60")
37         Name (_UID, 1)
38         Name (_DDN, "DMA Controller #1")
40         Name (RBUF, ResourceTemplate()
41         {
42                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
43                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
44                 {
45                         LPSS_DMA1_IRQ
46                 }
47         })
49         Method (_CRS)
50         {
51                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
52                 RBAS = \S0B0
53                 Return (^RBUF)
54         }
56         Method (_STA)
57         {
58                 If (\S0EN == 1) {
59                         Return (0xF)
60                 } Else {
61                         Return (0x0)
62                 }
63         }
66 Device (SDM2)
68         Name (_HID, "INTL9C60")
69         Name (_UID, 2)
70         Name (_DDN, "DMA Controller #2")
72         Name (RBUF, ResourceTemplate()
73         {
74                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
75                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
76                 {
77                         LPSS_DMA2_IRQ
78                 }
79         })
81         Method (_CRS)
82         {
83                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
84                 RBAS = \S8B0
85                 Return (^RBUF)
86         }
88         Method (_STA)
89         {
90                 If (\S8EN == 1) {
91                         Return (0xF)
92                 } Else {
93                         Return (0x0)
94                 }
95         }
98 Device (I2C1)
100         Name (_HID, "808622C1")
101         Name (_UID, 1)
102         Name (_DDN, "I2C Controller #1")
104         /* Standard Mode: HCNT, LCNT, SDA Hold Time */
105         Name (SSCN, Package () { 0x200, 0x200, BOARD_I2C1_DATA_HOLD_TIME })
107         /* Fast Mode: HCNT, LCNT, SDA Hold Time */
108         Name (FMCN, Package () { 0x55, 0x99, BOARD_I2C1_DATA_HOLD_TIME })
110         Name (RBUF, ResourceTemplate()
111         {
112                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
113                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
114                 {
115                         LPSS_I2C1_IRQ
116                 }
117                 FixedDMA (0x10, 0x0, Width32Bit, )
118                 FixedDMA (0x11, 0x1, Width32Bit, )
119         })
121         Method (_CRS)
122         {
123                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
124                 RBAS = \S1B0
125                 Return (^RBUF)
126         }
128         Method (_STA)
129         {
130                 If (\S1EN == 1) {
131                         Return (0xF)
132                 } Else {
133                         Return (0x0)
134                 }
135         }
137         OperationRegion (KEYS, SystemMemory, S1B1, 0x100)
138         Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
139         {
140                 Offset (0x84),
141                 PSAT, 32,
142         }
144         Method (_PS3)
145         {
146                 PSAT |= 3
147                 PSAT |= 0
148         }
150         Method (_PS0)
151         {
152                 PSAT &= 0xfffffffc
153                 PSAT |= 0
154         }
157 Device (I2C2)
159         Name (_HID, "808622C1")
160         Name (_UID, 2)
161         Name (_DDN, "I2C Controller #2")
163         /* Standard Mode: HCNT, LCNT, SDA Hold Time */
164         Name (SSCN, Package () { 0x200, 0x200, BOARD_I2C2_DATA_HOLD_TIME })
166         /* Fast Mode: HCNT, LCNT, SDA Hold Time */
167         Name (FMCN, Package () { 0x55, 0x99, BOARD_I2C2_DATA_HOLD_TIME })
169         Name (RBUF, ResourceTemplate()
170         {
171                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
172                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
173                 {
174                         LPSS_I2C2_IRQ
175                 }
176                 FixedDMA (0x12, 0x2, Width32Bit, )
177                 FixedDMA (0x13, 0x3, Width32Bit, )
178         })
180         Method (_CRS)
181         {
182                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
183                 RBAS = \S2B0
184                 Return (^RBUF)
185         }
187         Method (_STA)
188         {
189                 If (\S2EN == 1) {
190                         Return (0xF)
191                 } Else {
192                         Return (0x0)
193                 }
194         }
196         OperationRegion (KEYS, SystemMemory, S2B1, 0x100)
197         Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
198         {
199                 Offset (0x84),
200                 PSAT, 32,
201         }
203         Method (_PS3)
204         {
205                 PSAT |= 3
206                 PSAT |= 0
207         }
209         Method (_PS0)
210         {
211                 PSAT &= 0xfffffffc
212                 PSAT |= 0
213         }
216 Device (I2C3)
218         Name (_HID, "808622C1")
219         Name (_UID, 3)
220         Name (_DDN, "I2C Controller #3")
222         /* Standard Mode: HCNT, LCNT, SDA Hold Time */
223         Name (SSCN, Package () { 0x200, 0x200, BOARD_I2C3_DATA_HOLD_TIME })
225         /* Fast Mode: HCNT, LCNT, SDA Hold Time */
226         Name (FMCN, Package () { 0x55, 0x99, BOARD_I2C3_DATA_HOLD_TIME })
228         Name (RBUF, ResourceTemplate()
229         {
230                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
231                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
232                 {
233                         LPSS_I2C3_IRQ
234                 }
235                 FixedDMA (0x14, 0x4, Width32Bit, )
236                 FixedDMA (0x15, 0x5, Width32Bit, )
237         })
239         Method (_CRS)
240         {
241                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
242                 RBAS = \S3B0
243                 Return (^RBUF)
244         }
246         Method (_STA)
247         {
248                 If (\S3EN == 1) {
249                         Return (0xF)
250                 } Else {
251                         Return (0x0)
252                 }
253         }
255         OperationRegion (KEYS, SystemMemory, S3B1, 0x100)
256         Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
257         {
258                 Offset (0x84),
259                 PSAT, 32,
260         }
262         Method (_PS3)
263         {
264                 PSAT |= 3
265                 PSAT |= 0
266         }
268         Method (_PS0)
269         {
270                 PSAT &= 0xfffffffc
271                 PSAT |= 0
272         }
275 Device (I2C4)
277         Name (_HID, "808622C1")
278         Name (_UID, 4)
279         Name (_DDN, "I2C Controller #4")
281         /* Standard Mode: HCNT, LCNT, SDA Hold Time */
282         Name (SSCN, Package () { 0x200, 0x200, BOARD_I2C4_DATA_HOLD_TIME })
284         /* Fast Mode: HCNT, LCNT, SDA Hold Time */
285         Name (FMCN, Package () { 0x55, 0x99, BOARD_I2C4_DATA_HOLD_TIME })
287         Name (RBUF, ResourceTemplate()
288         {
289                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
290                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
291                 {
292                         LPSS_I2C4_IRQ
293                 }
294                 FixedDMA (0x16, 0x6, Width32Bit, )
295                 FixedDMA (0x17, 0x7, Width32Bit, )
296         })
298         Method (_CRS)
299         {
300                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
301                 RBAS = \S4B0
302                 Return (^RBUF)
303         }
305         Method (_STA)
306         {
307                 If (\S4EN == 1) {
308                         Return (0xF)
309                 } Else {
310                         Return (0x0)
311                 }
312         }
314         OperationRegion (KEYS, SystemMemory, S4B1, 0x100)
315         Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
316         {
317                 Offset (0x84),
318                 PSAT, 32,
319         }
321         Method (_PS3)
322         {
323                 PSAT |= 3
324                 PSAT |= 0
325         }
327         Method (_PS0)
328         {
329                 PSAT &= 0xfffffffc
330                 PSAT |= 0
331         }
334 Device (I2C5)
336         Name (_HID, "808622C1")
337         Name (_UID, 5)
338         Name (_DDN, "I2C Controller #5")
340         /* Standard Mode: HCNT, LCNT, SDA Hold Time */
341         Name (SSCN, Package () { 0x200, 0x200, BOARD_I2C5_DATA_HOLD_TIME })
343         /* Fast Mode: HCNT, LCNT, SDA Hold Time */
344         Name (FMCN, Package () { 0x55, 0x99, BOARD_I2C5_DATA_HOLD_TIME })
346         Name (RBUF, ResourceTemplate()
347         {
348                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
349                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
350                 {
351                         LPSS_I2C5_IRQ
352                 }
353                 FixedDMA (0x18, 0x0, Width32Bit, )
354                 FixedDMA (0x19, 0x1, Width32Bit, )
355         })
357         Method (_CRS)
358         {
359                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
360                 RBAS = \S5B0
361                 Return (^RBUF)
362         }
364         Method (_STA)
365         {
366                 If (\S5EN == 1) {
367                         Return (0xF)
368                 } Else {
369                         Return (0x0)
370                 }
371         }
373         OperationRegion (KEYS, SystemMemory, S5B1, 0x100)
374         Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
375         {
376                 Offset (0x84),
377                 PSAT, 32,
378         }
380         Method (_PS3)
381         {
382                 PSAT |= 3
383                 PSAT |= 0
384         }
386         Method (_PS0)
387         {
388                 PSAT &= 0xfffffffc
389                 PSAT |= 0
390         }
393 Device (I2C6)
395         Name (_HID, "808622C1")
396         Name (_UID, 6)
397         Name (_DDN, "I2C Controller #6")
399         /* Standard Mode: HCNT, LCNT, SDA Hold Time */
400         Name (SSCN, Package () { 0x200, 0x200, BOARD_I2C6_DATA_HOLD_TIME })
402         /* Fast Mode: HCNT, LCNT, SDA Hold Time */
403         Name (FMCN, Package () { 0x55, 0x99, BOARD_I2C6_DATA_HOLD_TIME })
405         Name (RBUF, ResourceTemplate()
406         {
407                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
408                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
409                 {
410                         LPSS_I2C6_IRQ
411                 }
412                 FixedDMA (0x1A, 0x2, Width32Bit, )
413                 FixedDMA (0x1B, 0x3, Width32Bit, )
414         })
416         Method (_CRS)
417         {
418                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
419                 RBAS = \S6B0
420                 Return (^RBUF)
421         }
423         Method (_STA)
424         {
425                 If (\S6EN == 1) {
426                         Return (0xF)
427                 } Else {
428                         Return (0x0)
429                 }
430         }
432         OperationRegion (KEYS, SystemMemory, S6B1, 0x100)
433         Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
434         {
435                 Offset (0x84),
436                 PSAT, 32,
437         }
439         Method (_PS3)
440         {
441                 PSAT |= 3
442                 PSAT |= 0
443         }
445         Method (_PS0)
446         {
447                 PSAT &= 0xfffffffc
448                 PSAT |= 0
449         }
452 Device (I2C7)
454         Name (_HID, "808622C1")
455         Name (_UID, 7)
456         Name (_DDN, "I2C Controller #7")
458         /* Standard Mode: HCNT, LCNT, SDA Hold Time */
459         Name (SSCN, Package () { 0x200, 0x200, BOARD_I2C7_DATA_HOLD_TIME })
461         /* Fast Mode: HCNT, LCNT, SDA Hold Time */
462         Name (FMCN, Package () { 0x55, 0x99, BOARD_I2C7_DATA_HOLD_TIME })
464         Name (RBUF, ResourceTemplate()
465         {
466                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
467                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
468                 {
469                         LPSS_I2C7_IRQ
470                 }
471                 FixedDMA (0x1C, 0x4, Width32Bit, )
472                 FixedDMA (0x1D, 0x5, Width32Bit, )
473         })
475         Method (_CRS)
476         {
477                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
478                 RBAS = \S7B0
479                 Return (^RBUF)
480         }
482         Method (_STA)
483         {
484                 If (\S7EN == 1) {
485                         Return (0xF)
486                 } Else {
487                         Return (0x0)
488                 }
489         }
491         OperationRegion (KEYS, SystemMemory, S7B1, 0x100)
492         Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
493         {
494                 Offset (0x84),
495                 PSAT, 32,
496         }
498         Method (_PS3)
499         {
500                 PSAT |= 3
501                 PSAT |= 0
502         }
504         Method (_PS0)
505         {
506                 PSAT &= 0xfffffffc
507                 PSAT |= 0
508         }
511 Device (UAR1)
513         Name (_HID, "8086228A")
514         Name (_UID, 1)
515         Name (_DDN, "HS-UART Controller #1")
517         Name (RBUF, ResourceTemplate()
518         {
519                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
520                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
521                 {
522                         LPSS_HSUART1_IRQ
523                 }
524                 FixedDMA (0x2, 0x2, Width32Bit, )
525                 FixedDMA (0x3, 0x3, Width32Bit, )
526         })
528         Method (_CRS)
529         {
530                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
531                 RBAS = \SCB0
532                 Return (^RBUF)
533         }
535         Method (_STA)
536         {
537                 If (\SCEN == 1) {
538                         Return (0xF)
539                 } Else {
540                         Return (0x0)
541                 }
542         }
544         OperationRegion (KEYS, SystemMemory, SCB1, 0x100)
545         Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
546         {
547                 Offset (0x84),
548                 PSAT, 32,
549         }
551         Method (_PS3)
552         {
553                 PSAT |= 3
554                 PSAT |= 0
555         }
557         Method (_PS0)
558         {
559                 PSAT &= 0xfffffffc
560                 PSAT |= 0
561         }
564 Device (UAR2)
566         Name (_HID, "8086228A")
567         Name (_UID, 2)
568         Name (_DDN, "HS-UART Controller #2")
570         Name (RBUF, ResourceTemplate()
571         {
572                 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0)
573                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
574                 {
575                         LPSS_HSUART2_IRQ
576                 }
577                 FixedDMA (0x4, 0x4, Width32Bit, )
578                 FixedDMA (0x5, 0x5, Width32Bit, )
579         })
581         Method (_CRS)
582         {
583                 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS)
584                 RBAS = \SDB0
585                 Return (^RBUF)
586         }
588         Method (_STA)
589         {
590                 If (\SDEN == 1) {
591                         Return (0xF)
592                 } Else {
593                         Return (0x0)
594                 }
595         }
597         OperationRegion (KEYS, SystemMemory, SDB1, 0x100)
598         Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
599         {
600                 Offset (0x84),
601                 PSAT, 32,
602         }
604         Method (_PS3)
605         {
606                 PSAT |= 3
607                 PSAT |= 0
608         }
610         Method (_PS0)
611         {
612                 PSAT &= 0xfffffffc
613                 PSAT |= 0
614         }