soc: Remove copyright notices
[coreboot.git] / src / soc / intel / braswell / acpi / lpe.asl
blobf4848704d472cd61aee34e0643bc198a1ba89b23
1 /*
2  * This file is part of the coreboot project.
3  *
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License as
7  * published by the Free Software Foundation; version 2 of
8  * the License.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
16 Device (LPEA)
18         Name (_HID, "808622A8")
19         Name (_CID, "808622A8")
20         Name (_UID, 1)
21         Name (_DDN, "Intel(R) Low Power Audio Controller - 808622A8")
22         Name (_PR0, Package () { PLPE })
24         Name (RBUF, ResourceTemplate()
25         {
26                 Memory32Fixed (ReadWrite, 0, 0x00200000, BAR0)
27                 Memory32Fixed (ReadWrite, 0, 0x00001000, BAR1)
28                 Memory32Fixed (ReadWrite, 0, 0x00200000, BAR2)
29                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
30                 {
31                         LPE_DMA0_IRQ
32                 }
33                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
34                 {
35                         LPE_DMA1_IRQ
36                 }
37                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
38                 {
39                         LPE_SSP0_IRQ
40                 }
41                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
42                 {
43                         LPE_SSP1_IRQ
44                 }
45                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
46                 {
47                         LPE_SSP2_IRQ
48                 }
49                 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,)
50                 {
51                         LPE_IPC2HOST_IRQ
52                 }
53         })
55         Method (_CRS)
56         {
57                 /* Update BAR0 from NVS */
58                 CreateDwordField (^RBUF, ^BAR0._BAS, BAS0)
59                 Store (\LPB0, BAS0)
61                 /* Update BAR1 from NVS */
62                 CreateDwordField (^RBUF, ^BAR1._BAS, BAS1)
63                 Store (\LPB1, BAS1)
65                 /* Update LPE FW from NVS */
66                 CreateDwordField (^RBUF, ^BAR2._BAS, BAS2)
67                 Store (\LPFW, BAS2)
69                 /* Append any Mainboard defined GPIOs */
70                 If (CondRefOf (^GBUF)) {
71                         ConcatenateResTemplate (^RBUF, ^GBUF, Local1)
72                         Return (Local1)
73                 }
75                 Return (^RBUF)
76         }
78         Method (_STA)
79         {
80                 If (LEqual (\LPEN, 1)) {
81                         Return (0xF)
82                 } Else {
83                         Return (0x0)
84                 }
85         }
87         OperationRegion (KEYS, SystemMemory, LPB1, 0x100)
88         Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
89         {
90                 Offset (0x84),
91                 PSAT, 32,
92         }
94         PowerResource (PLPE, 0, 0)
95         {
96                 Method (_STA)
97                 {
98                         Return (1)
99                 }
101                 Method (_OFF)
102                 {
103                         Or (PSAT, 0x00000003, PSAT)
104                         Or (PSAT, 0x00000000, PSAT)
105                 }
107                 Method (_ON)
108                 {
109                         And (PSAT, 0xfffffffc, PSAT)
110                         Or (PSAT, 0x00000000, PSAT)
111                 }
112         }