blob: 3e61e7925b60cb9fe41bee5645a690c97afce138 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/**************************************************************************;
2;* *;
3;* *;
4;* Intel Corporation - ACPI Reference Code for the Baytrail *;
5;* Family of Customer Reference Boards. *;
6;* *;
7;* *;
8;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *;
9;
10; This program and the accompanying materials are licensed and made available under
11; the terms and conditions of the BSD License that accompanies this distribution.
12; The full text of the license may be found at
13; http://opensource.org/licenses/bsd-license.php.
14;
15; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17;
18;* *;
19;* *;
20;**************************************************************************/
21//
22// LPIO1 DMA#1 (Synopsis GP DMA)
23//
24Device (GDM1)
25{
26 Name (_HID, "INTL9C60")
27 Name (_DDN, "Intel(R) DMA Controller #1 - INTL9C60")
28 Name (_UID, 1)
29
30 Name (RBUF, ResourceTemplate ()
31 {
32 Memory32Fixed (ReadWrite, 0x00000000, 0x00004000, BAR0)
33 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {42} // DMA #1 IRQ
34 })
35 Method (_CRS, 0x0, NotSerialized)
36 {
37 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
38 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
39 Store(D10A, B0BA)
40 Store(D10L, B0LN)
41 Return (RBUF)
42 }
43 Method (_STA, 0x0, NotSerialized)
44 {
45 //
46 // PCIM>> 0:ACPI mode 1:PCI mode
47 //
48 If (LEqual(PCIM, 1)) {
49 Return (0x0)
50 }
51
52 If (LOr(LEqual(D10A, 0), LEqual(L10D, 1)))
53 {
54 Return (0x0)
55 }
56 Return (0xF)
57 }
58}
59
60//
61// LPIO1 DMA#2 (Synopsis GP DMA)
62//
63Device (GDM2)
64{
65 Name (_HID, "INTL9C60")
66 Name (_DDN, "Intel(R) DMA Controller #2 - INTL9C60")
67 Name (_UID, 2)
68
69 Name (RBUF, ResourceTemplate ()
70 {
71 Memory32Fixed (ReadWrite, 0x00000000, 0x00004000, BAR0)
72 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {43} // DMA #2 IRQ
73 })
74 Method (_CRS, 0x0, NotSerialized)
75 {
76 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
77 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
78 Store(D20A, B0BA)
79 Store(D20L, B0LN)
80 Return (RBUF)
81 }
82 Method (_STA, 0x0, NotSerialized)
83 {
84 //
85 // PCIM>> 0:ACPI mode 1:PCI mode
86 //
87 If (LEqual(PCIM, 1)) {
88 Return (0x0)
89 }
90
91 If (LOr(LEqual(D20A, 0), LEqual(L20D, 1)))
92 {
93 Return (0x0)
94 }
95 Return (0xF)
96 }
97}
98
99//
100// LPIO1 PWM #1
101//
102Device(PWM1)
103{
104 Name (_ADR, 0)
105 Name (_HID, "80860F09")
106 Name (_CID, "80860F09")
107 Name (_DDN, "Intel(R) PWM Controller #1 - 80860F08")
108 Name (_UID, 1)
109
110 Name (RBUF, ResourceTemplate ()
111 {
112 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
113 })
114 Method (_CRS, 0x0, NotSerialized)
115 {
116 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
117 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
118 Store(P10A, B0BA)
119 Store(P10L, B0LN)
120 Return (RBUF)
121 }
122 Method (_STA, 0x0, NotSerialized)
123 {
124 //
125 // PCIM>> 0:ACPI mode 1:PCI mode
126 //
127 If (LEqual(PCIM, 1)) {
128 Return (0x0)
129 }
130
131 If (LOr(LEqual(P10A, 0), LEqual(L11D, 1)))
132 {
133 Return (0x0)
134 }
135 Return (0xF)
136 }
137}
138
139//
140// LPIO1 PWM #2
141//
142Device(PWM2)
143{
144 Name (_ADR, 0)
145 Name (_HID, "80860F09")
146 Name (_CID, "80860F09")
147 Name (_DDN, "Intel(R) PWM Controller #2 - 80860F09")
148 Name (_UID, 2)
149
150 Name (RBUF, ResourceTemplate ()
151 {
152 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
153 })
154 Method (_CRS, 0x0, NotSerialized)
155 {
156 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
157 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
158 Store(P20A, B0BA)
159 Store(P20L, B0LN)
160 Return (RBUF)
161 }
162 Method (_STA, 0x0, NotSerialized)
163 {
164 //
165 // PCIM>> 0:ACPI mode 1:PCI mode
166 //
167 If (LEqual(PCIM, 1)) {
168 Return (0x0)
169 }
170
171 If (LOr(LEqual(P20A, 0), LEqual(L12D, 1)))
172 {
173 Return (0x0)
174 }
175 Return (0xF)
176 }
177}
178
179//
180// LPIO1 HS-UART #1
181//
182Device(URT1)
183{
184 Name (_ADR, 0)
185 Name (_HID, "80860F0A")
186 Name (_CID, "80860F0A")
187 Name (_DDN, "Intel(R) HS-UART Controller #1 - 80860F0A")
188 Name (_UID, 1)
189 Name(_DEP, Package(0x1)
190 {
191 PEPD
192 })
193 Name (RBUF, ResourceTemplate ()
194 {
195 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
196 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {39} // HS-UART #1 IRQ
197
198 FixedDMA(0x2, 0x2, Width32Bit, )
199 FixedDMA(0x3, 0x3, Width32Bit, )
200 })
201 Method (_HRV, 0x0, NotSerialized)
202 {
203 Return (SOCS)
204 }
205 Method (_CRS, 0x0, NotSerialized)
206 {
207 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
208 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
209 Store(U10A, B0BA)
210 Store(U10L, B0LN)
211 Return (RBUF)
212 }
213
214 Method (_STA, 0x0, NotSerialized)
215 {
216 //
217 // PCIM>> 0:ACPI mode 1:PCI mode
218 //
219 If (LEqual(PCIM, 1)) {
220 Return (0x0)
221 }
222
223 If (LOr(LEqual(U10A, 0), LEqual(L13D, 1)))
224 {
225 Return (0x0)
226 }
227 Return (0xF)
228 }
229
230 Method (_PS3, 0, NotSerialized)
231 {
232 OR(PSAT, 0x00000003, PSAT)
233 OR(PSAT, 0X00000000, PSAT)
234 }
235
236 Method (_PS0, 0, NotSerialized)
237 {
238 And(PSAT, 0xfffffffC, PSAT)
239 OR(PSAT, 0X00000000, PSAT)
240 }
241
242 OperationRegion (KEYS, SystemMemory, U11A, 0x100)
243 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
244 {
245 Offset (0x84),
246 PSAT, 32
247 }
248}// Device (URT1)
249
250//
251// LPIO1 HS-UART #2
252//
253Device(URT2)
254{
255 Name (_ADR, 0)
256 Name (_HID, "80860F0A")
257 Name (_CID, "80860F0A")
258 Name (_DDN, "Intel(R) HS-UART Controller #2 - 80860F0C")
259 Name (_UID, 2)
260
261 Name(_DEP, Package(0x1)
262 {
263 PEPD
264 })
265
266 Name (RBUF, ResourceTemplate ()
267 {
268 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
269 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {40} // HS-UART #2 IRQ
270
271 FixedDMA(0x4, 0x4, Width32Bit, )
272 FixedDMA(0x5, 0x5, Width32Bit, )
273 })
274
275 Method (_HRV, 0x0, NotSerialized)
276 {
277 Return (SOCS)
278 }
279
280 Method (_CRS, 0x0, NotSerialized)
281 {
282 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
283 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
284 Store(U20A, B0BA)
285 Store(U20L, B0LN)
286 Return (RBUF)
287 }
288
289 Method (_STA, 0x0, NotSerialized)
290 {
291 //
292 // PCIM>> 0:ACPI mode 1:PCI mode
293 //
294 If (LEqual(PCIM, 1)) {
295 Return (0x0)
296 }
297
298 If (LOr(LEqual(U20A, 0), LEqual(L14D, 1)))
299 {
300 Return (0x0)
301 }
302 Return (0xF)
303 }
304
305 Method (_PS3, 0, NotSerialized)
306 {
307 OR(PSAT, 0x00000003, PSAT)
308 OR(PSAT, 0X00000000, PSAT)
309 }
310
311 Method (_PS0, 0, NotSerialized)
312 {
313 And(PSAT, 0xfffffffC, PSAT)
314 OR(PSAT, 0X00000000, PSAT)
315 }
316
317 OperationRegion (KEYS, SystemMemory, U21A, 0x100)
318 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
319 {
320 Offset (0x84),
321 PSAT, 32
322 }
323}// Device (URT2)
324
325//
326// LPIO1 SPI
327//
328Device(SPI1)
329{
330 Name (_ADR, 0)
331 Name (_HID, "80860F0E")
332 Name (_CID, "80860F0E")
333 Name (_UID, "0") // Static bus number assignment
334 Name(_DEP, Package(0x1)
335 {
336 PEPD
337 })
338 Name (_DDN, "Intel(R) SPI Controller - 80860F0E")
339
340 Name (RBUF, ResourceTemplate ()
341 {
342 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
343 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {41} // SPI IRQ
344
345 FixedDMA(0x0, 0x0, Width32Bit, )
346 FixedDMA(0x1, 0x1, Width32Bit, )
347 })
348
349 Method (_HRV, 0x0, NotSerialized)
350 {
351 Return (SOCS)
352 }
353
354 Method (_CRS, 0x0, NotSerialized)
355 {
356 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
357 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
358 Store(SP0A, B0BA)
359 Store(SP0L, B0LN)
360 Return (RBUF)
361 }
362
363 Method (_STA, 0x0, NotSerialized)
364 {
365 //
366 // PCIM>> 0:ACPI mode 1:PCI mode
367 //
368 If (LEqual(PCIM, 1)) {
369 Return (0x0)
370 }
371
372 If (LOr(LEqual(SP0A, 0), LEqual(L15D, 1)))
373 {
374 Return (0x0)
375 }
376 Return (0xF)
377 }
378
379 Method (_PS3, 0, NotSerialized)
380 {
381 OR(PSAT, 0x00000003, PSAT)
382 OR(PSAT, 0X00000000, PSAT)
383 }
384
385 Method (_PS0, 0, NotSerialized)
386 {
387 And(PSAT, 0xfffffffC, PSAT)
388 OR(PSAT, 0X00000000, PSAT)
389 }
390
391 OperationRegion (KEYS, SystemMemory, SP1A, 0x100)
392 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
393 {
394 Offset (0x84),
395 PSAT, 32
396 }
397}// Device (SPI1)
398
399//
400// LPIO2 I2C #1
401//
402Device(I2C1)
403{
404 Name (_ADR, 0)
405 Name (_HID, "80860F41")
406 Name (_CID, "80860F41")
407 Name(_DEP, Package(0x1)
408 {
409 PEPD
410 })
411 Name (_DDN, "Intel(R) I2C Controller #1 - 80860F41")
412 Name (_UID, 1)
413
414 Name (RBUF, ResourceTemplate ()
415 {
416 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
417 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {32} // I2C #1 IRQ
418
419 FixedDMA(0x10, 0x0, Width32Bit, )
420 FixedDMA(0x11, 0x1, Width32Bit, )
421 })
422
423 Method (SSCN, 0x0, NotSerialized)
424 {
425 Name (PKG, Package(3) { 0x200, 0x200, 0x06 })
426 Return (PKG)
427 }
428 Method (FMCN, 0x0, NotSerialized)
429 {
430 Name (PKG, Package(3) { 0x55, 0x99, 0x06 })
431 Return (PKG)
432 }
433 Method (FPCN, 0x0, NotSerialized)
434 {
435 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 })
436 Return (PKG)
437 }
438
439 Method (_HRV, 0x0, NotSerialized)
440 {
441 Return (SOCS)
442 }
443 Method (_CRS, 0x0, NotSerialized)
444 {
445 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
446 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
447 Store(I10A, B0BA)
448 Store(I10L, B0LN)
449 Return (RBUF)
450 }
451 Method (_STA, 0x0, NotSerialized)
452 {
453 //
454 // PCIM>> 0:ACPI mode 1:PCI mode
455 //
456 If (LEqual(PCIM, 1)) {
457 Return (0x0)
458 }
459
460 If (LOr(LEqual(I10A, 0), LEqual(L21D, 1)))
461 {
462 Return (0x0)
463 }
464 Return (0xF)
465
466 }
467
468 Method (_PS3, 0, NotSerialized)
469 {
470 OR(PSAT, 0x00000003, PSAT)
471 OR(PSAT, 0X00000000, PSAT)
472 }
473 Method (_PS0, 0, NotSerialized)
474 {
475 And(PSAT, 0xfffffffC, PSAT)
476 OR(PSAT, 0X00000000, PSAT)
477 }
478 OperationRegion (KEYS, SystemMemory, I11A, 0x100)
479 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
480 {
481 Offset (0x84),
482 PSAT, 32
483 }
484
485}
486
487//
488// LPIO2 I2C #2
489//
490Device(I2C2)
491{
492 Name (_ADR, 0)
493 Name (_HID, "80860F41")
494 Name (_CID, "80860F41")
495 Name(_DEP, Package(0x1)
496 {
497 PEPD
498 })
499 Name (_DDN, "Intel(R) I2C Controller #2 - 80860F42")
500 Name (_UID, 2)
501
502 Name (RBUF, ResourceTemplate ()
503 {
504 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
505 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {33} // I2C #2 IRQ
506
507 FixedDMA(0x12, 0x2, Width32Bit, )
508 FixedDMA(0x13, 0x3, Width32Bit, )
509 })
510
511 Method (SSCN, 0x0, NotSerialized)
512 {
513 Name (PKG, Package(3) { 0x200, 0x200, 0x06 })
514 Return (PKG)
515 }
516 Method (FMCN, 0x0, NotSerialized)
517 {
518 Name (PKG, Package(3) { 0x55, 0x99, 0x06 })
519 Return (PKG)
520 }
521 Method (FPCN, 0x0, NotSerialized)
522 {
523 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 })
524 Return (PKG)
525 }
526
527 Method (_HRV, 0x0, NotSerialized)
528 {
529 Return (SOCS)
530 }
531 Method (_CRS, 0x0, NotSerialized)
532 {
533 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
534 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
535 Store(I20A, B0BA)
536 Store(I20L, B0LN)
537 Return (RBUF)
538 }
539 Method (_STA, 0x0, NotSerialized)
540 {
541 //
542 // PCIM>> 0:ACPI mode 1:PCI mode
543 //
544 If (LEqual(PCIM, 1)) {
545 Return (0x0)
546 }
547
548 If (LOr(LEqual(I20A, 0), LEqual(L22D, 1)))
549 {
550 Return (0x0)
551 }
552 Return (0xF)
553 }
554
555 Method (_PS3, 0, NotSerialized)
556 {
557 OR(PSAT, 0x00000003, PSAT)
558 OR(PSAT, 0X00000000, PSAT)
559
560 }
561 Method (_PS0, 0, NotSerialized)
562 {
563 And(PSAT, 0xfffffffC, PSAT)
564 OR(PSAT, 0X00000000, PSAT)
565 }
566 OperationRegion (KEYS, SystemMemory, I21A, 0x100)
567 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
568 {
569 Offset (0x84),
570 PSAT, 32
571 }
572
573
574 //
575 // Realtek Audio Codec
576 //
577 Device (RTEK) //Audio Codec driver I2C
578 {
579 Name (_ADR, 0)
580 Name (_HID, "10EC5640")
581 Name (_CID, "10EC5640")
582 Name (_DDN, "RTEK Codec Controller " )
583 Name (_UID, 1)
584
585
586 Method(_CRS, 0x0, Serialized)
587 {
588 Name(SBUF,ResourceTemplate ()
589 {
590 I2CSerialBus(0x1C, //SlaveAddress: bus address
591 , //SlaveMode: default to ControllerInitiated
592 400000, //ConnectionSpeed: in Hz
593 , //Addressing Mode: default to 7 bit
594 "\\_SB.I2C2", //ResourceSource: I2C bus controller name
595 , //ResourceSourceIndex: defaults to 0
596 , //ResourceUsage: Defaults to ResourceConsumer
597 , //Descriptor Name: creates name for offset of resource descriptor
598 ) //VendorData
599 GpioInt(Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0,"\\_SB.GPO2") {4} // AUD_INT
600 })
601 Return (SBUF)
602 }
603
604 Method (_STA, 0x0, NotSerialized)
605 {
606
607 If (LEqual(LPEE, 2)) { // LPE enable/disable
608 Return(0xF)
609 }
610 Return(0)
611 }
612
613 Method (_DIS, 0x0, NotSerialized)
614 {
615
616 }
617 } // Device (RTEK)
618} // Device (I2C2)
619
620//
621// LPIO2 I2C #3
622//
623Device(I2C3)
624{
625 Name (_ADR, 0)
626 Name (_HID, "80860F41")
627 Name (_CID, "80860F41")
628 Name (_DDN, "Intel(R) I2C Controller #3 - 80860F43")
629 Name (_UID, 3)
630 Name(_DEP, Package(0x1)
631 {
632 PEPD
633 })
634 Name (RBUF, ResourceTemplate ()
635 {
636 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
637 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {34} // I2C #3 IRQ
638
639 FixedDMA(0x14, 0x4, Width32Bit, )
640 FixedDMA(0x15, 0x5, Width32Bit, )
641 })
642
643 Method (SSCN, 0x0, NotSerialized)
644 {
645 Name (PKG, Package(3) { 0x200, 0x200, 0x06 })
646 Return (PKG)
647 }
648 Method (FMCN, 0x0, NotSerialized)
649 {
650 Name (PKG, Package(3) { 0x55, 0x99, 0x06 })
651 Return (PKG)
652 }
653 Method (FPCN, 0x0, NotSerialized)
654 {
655 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 })
656 Return (PKG)
657 }
658
659 Method (_HRV, 0x0, NotSerialized)
660 {
661 Return (SOCS)
662 }
663 Method (_CRS, 0x0, NotSerialized)
664 {
665 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
666 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
667 Store(I30A, B0BA)
668 Store(I30L, B0LN)
669 Return (RBUF)
670 }
671
672 Method (_STA, 0x0, NotSerialized)
673 {
674 //
675 // PCIM>> 0:ACPI mode 1:PCI mode
676 //
677 If (LEqual(PCIM, 1)) {
678 Return (0x0)
679 }
680
681 If (LOr(LEqual(I30A, 0), LEqual(L23D, 1)))
682 {
683 Return (0x0)
684 }
685 Return (0xF)
686 }
687
688 Method (_PS3, 0, NotSerialized)
689 {
690 OR(PSAT, 0x00000003, PSAT)
691 OR(PSAT, 0X00000000, PSAT)
692
693 }
694 Method (_PS0, 0, NotSerialized)
695 {
696 And(PSAT, 0xfffffffC, PSAT)
697 OR(PSAT, 0X00000000, PSAT)
698 }
699 OperationRegion (KEYS, SystemMemory, I31A, 0x100)
700 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
701 {
702 Offset (0x84),
703 PSAT, 32
704 }
705
706
707}
708
709//
710// LPIO2 I2C #4
711//
712Device(I2C4)
713{
714 Name (_ADR, 0)
715 Name (_HID, "80860F41")
716 Name (_CID, "80860F41")
717 Name (_DDN, "Intel(R) I2C Controller #4 - 80860F44")
718 Name (_UID, 4)
719 Name(_DEP, Package(0x1)
720 {
721 PEPD
722 })
723 Name (RBUF, ResourceTemplate ()
724 {
725 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
726 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {35} // I2C #4 IRQ
727
728 FixedDMA(0x16, 0x6, Width32Bit, )
729 FixedDMA(0x17, 0x7, Width32Bit, )
730 })
731
732 Method (SSCN, 0x0, NotSerialized)
733 {
734 Name (PKG, Package(3) { 0x200, 0x200, 0x06 })
735 Return (PKG)
736 }
737 Method (FMCN, 0x0, NotSerialized)
738 {
739 Name (PKG, Package(3) { 0x55, 0x99, 0x06 })
740 Return (PKG)
741 }
742 Method (FPCN, 0x0, NotSerialized)
743 {
744 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 })
745 Return (PKG)
746 }
747
748
749 Method (_HRV, 0x0, NotSerialized)
750 {
751 Return (SOCS)
752 }
753 Method (_CRS, 0x0, NotSerialized)
754 {
755 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
756 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
757 Store(I40A, B0BA)
758 Store(I40L, B0LN)
759 Return (RBUF)
760 }
761
762 Method (_STA, 0x0, NotSerialized)
763 {
764 //
765 // PCIM>> 0:ACPI mode 1:PCI mode
766 //
767 If (LEqual(PCIM, 1)) {
768 Return (0x0)
769 }
770
771 If (LOr(LEqual(I40A, 0), LEqual(L24D, 1)))
772 {
773 Return (0x0)
774 }
775 Return (0xF)
776 }
777
778 Method (_PS3, 0, NotSerialized)
779 {
780 OR(PSAT, 0x00000003, PSAT)
781 OR(PSAT, 0X00000000, PSAT)
782
783 }
784 Method (_PS0, 0, NotSerialized)
785 {
786 And(PSAT, 0xfffffffC, PSAT)
787 OR(PSAT, 0X00000000, PSAT)
788 }
789 OperationRegion (KEYS, SystemMemory, I41A, 0x100)
790 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
791 {
792 Offset (0x84),
793 PSAT, 32
794 }
795
796 PowerResource (CLK0, 0x00, 0x0000)
797 {
798 Method (_STA, 0, NotSerialized) // _STA: Status
799 {
800 Return (CKC0)
801 }
802
803 Method (_ON, 0, NotSerialized) // _ON_: Power On
804 {
805 Store (One, CKC0)
806 Store (One, CKF0)
807 Sleep (0x20)
808 }
809
810 Method (_OFF, 0, NotSerialized) // _OFF: Power Off
811 {
812 Store (0x02, CKC0)
813 }
814 }
815 PowerResource (CLK1, 0x00, 0x0000)
816 {
817 Method (_STA, 0, NotSerialized) // _STA: Status
818 {
819 Return (CKC1)
820 }
821
822 Method (_ON, 0, NotSerialized) // _ON_: Power On
823 {
824 Store (One, CKC1)
825 Store (One, CKF1)
826 Sleep (0x20)
827 }
828
829 Method (_OFF, 0, NotSerialized) // _OFF: Power Off
830 {
831 Store (0x02, CKC1)
832 }
833 }
834}
835
836//
837// LPIO2 I2C #5
838//
839Device(I2C5)
840{
841 Name (_ADR, 0)
842 Name (_HID, "80860F41")
843 Name (_CID, "80860F41")
844 Name (_DDN, "Intel(R) I2C Controller #5 - 80860F45")
845 Name (_UID, 5)
846 Name(_DEP, Package(0x1)
847 {
848 PEPD
849 })
850 Name (RBUF, ResourceTemplate ()
851 {
852 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
853 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {36} // I2C #5 IRQ
854
855 FixedDMA(0x18, 0x0, Width32Bit, )
856 FixedDMA(0x19, 0x1, Width32Bit, )
857 })
858
859 Method (SSCN, 0x0, NotSerialized)
860 {
861 Name (PKG, Package(3) { 0x200, 0x200, 0x06 })
862 Return (PKG)
863 }
864 Method (FMCN, 0x0, NotSerialized)
865 {
866 Name (PKG, Package(3) { 0x55, 0x99, 0x06 })
867 Return (PKG)
868 }
869 Method (FPCN, 0x0, NotSerialized)
870 {
871 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 })
872 Return (PKG)
873 }
874
875 Method (_HRV, 0x0, NotSerialized)
876 {
877 Return (SOCS)
878 }
879 Method (_CRS, 0x0, NotSerialized)
880 {
881 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
882 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
883 Store(I50A, B0BA)
884 Store(I50L, B0LN)
885 Return (RBUF)
886 }
887 Method (_STA, 0x0, NotSerialized)
888 {
889 //
890 // PCIM>> 0:ACPI mode 1:PCI mode
891 //
892 If (LEqual(PCIM, 1)) {
893 Return (0x0)
894 }
895
896 If (LOr(LEqual(I50A, 0), LEqual(L25D, 1)))
897 {
898 Return (0x0)
899 }
900 Return (0xF)
901 }
902
903 Method (_PS3, 0, NotSerialized)
904 {
905 OR(PSAT, 0x00000003, PSAT)
906 OR(PSAT, 0X00000000, PSAT)
907 }
908 Method (_PS0, 0, NotSerialized)
909 {
910 And(PSAT, 0xfffffffC, PSAT)
911 OR(PSAT, 0X00000000, PSAT)
912 }
913 OperationRegion (KEYS, SystemMemory, I51A, 0x100)
914 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
915 {
916 Offset (0x84),
917 PSAT, 32
918 }
919}
920
921//
922// LPIO2 I2C #6
923//
924Device(I2C6)
925{
926 Name (_ADR, 0)
927 Name (_HID, "80860F41")
928 Name (_CID, "80860F41")
929 Name (_DDN, "Intel(R) I2C Controller #6 - 80860F46")
930 Name (_UID, 6)
931 Name(_DEP, Package(0x1)
932 {
933 PEPD
934 })
935 Name (RBUF, ResourceTemplate ()
936 {
937 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
938 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {37} // I2C #6 IRQ
939
940 FixedDMA(0x1A, 0x02, Width32Bit, )
941 FixedDMA(0x1B, 0x03, Width32Bit, )
942 })
943
944 Method (SSCN, 0x0, NotSerialized)
945 {
946 Name (PKG, Package(3) { 0x200, 0x200, 0x06 })
947 Return (PKG)
948 }
949 Method (FMCN, 0x0, NotSerialized)
950 {
951 Name (PKG, Package(3) { 0x55, 0x99, 0x06 })
952 Return (PKG)
953 }
954 Method (FPCN, 0x0, NotSerialized)
955 {
956 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 })
957 Return (PKG)
958 }
959
960 Method (_HRV, 0x0, NotSerialized)
961 {
962 Return (SOCS)
963 }
964 Method (_CRS, 0x0, NotSerialized)
965 {
966 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
967 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
968 Store(I60A, B0BA)
969 Store(I60L, B0LN)
970 Return (RBUF)
971 }
972 Method (_STA, 0x0, NotSerialized)
973 {
974 //
975 // PCIM>> 0:ACPI mode 1:PCI mode
976 //
977 If (LEqual(PCIM, 1)) {
978 Return (0x0)
979 }
980
981 If (LOr(LEqual(I60A, 0), LEqual(L26D, 1)))
982 {
983 Return (0x0)
984 }
985 Return (0xF)
986 }
987
988 Method (_PS3, 0, NotSerialized)
989 {
990 OR(PSAT, 0x00000003, PSAT)
991 OR(PSAT, 0X00000000, PSAT)
992 }
993 Method (_PS0, 0, NotSerialized)
994 {
995 And(PSAT, 0xfffffffC, PSAT)
996 OR(PSAT, 0X00000000, PSAT)
997 }
998 OperationRegion (KEYS, SystemMemory, I61A, 0x100)
999 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
1000 {
1001 Offset (0x84),
1002 PSAT, 32
1003 }
1004}
1005
1006//
1007// LPIO2 I2C #7
1008//
1009Device(I2C7)
1010{
1011 Name (_ADR, 0)
1012 Name (_HID, "80860F41")
1013 Name (_CID, "80860F41")
1014 //Name (_CLS, Package (3) {0x0C, 0x80, 0x00})
1015 Name (_DDN, "Intel(R) I2C Controller #7 - 80860F47")
1016 Name (_UID, 7)
1017 Name(_DEP, Package(0x1)
1018 {
1019 PEPD
1020 })
1021 Name (RBUF, ResourceTemplate ()
1022 {
1023 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0)
1024 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {38} // I2C #7 IRQ
1025
1026 FixedDMA(0x1C, 0x4, Width32Bit, )
1027 FixedDMA(0x1D, 0x5, Width32Bit, )
1028 })
1029
1030 Method (SSCN, 0x0, NotSerialized)
1031 {
1032 Name (PKG, Package(3) { 0x200, 0x200, 0x06 })
1033 Return (PKG)
1034 }
1035 Method (FMCN, 0x0, NotSerialized)
1036 {
1037 Name (PKG, Package(3) { 0x55, 0x99, 0x06 })
1038 Return (PKG)
1039 }
1040 Method (FPCN, 0x0, NotSerialized)
1041 {
1042 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 })
1043 Return (PKG)
1044 }
1045
1046 Method (_HRV, 0x0, NotSerialized)
1047 {
1048 Return (SOCS)
1049 }
1050
1051 Method (_CRS, 0x0, NotSerialized)
1052 {
1053 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
1054 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
1055 Store(I70A, B0BA)
1056 Store(I70L, B0LN)
1057 Return (RBUF)
1058 }
1059
1060 Method (_STA, 0x0, NotSerialized)
1061 {
1062 //
1063 // PCIM>> 0:ACPI mode 1:PCI mode
1064 //
1065 If (LEqual(PCIM, 1)) {
1066 Return (0x0)
1067 }
1068
1069 If (LOr(LEqual(I70A, 0), LEqual(L27D, 1)))
1070 {
1071 Return (0x0)
1072 }
1073 Return (0xF)
1074 }
1075
1076 Method (_PS3, 0, NotSerialized)
1077 {
1078 OR(PSAT, 0x00000003, PSAT)
1079 OR(PSAT, 0X00000000, PSAT)
1080 }
1081
1082 Method (_PS0, 0, NotSerialized)
1083 {
1084 And(PSAT, 0xfffffffC, PSAT)
1085 OR(PSAT, 0X00000000, PSAT)
1086 }
1087
1088 OperationRegion (KEYS, SystemMemory, I71A, 0x100)
1089 Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
1090 {
1091 Offset (0x84),
1092 PSAT, 32
1093 }
1094
1095}
1096