soc: Remove copyright notices
[coreboot.git] / src / soc / intel / skylake / acpi / dptf / cpu.asl
blob9ffe040fea98891966654b6d466520455646e17b
1 /*
2  * This file is part of the coreboot project.
3  *
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; version 2 of the License.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  */
15 #ifndef DPTF_CPU_PASSIVE
16 #define DPTF_CPU_PASSIVE        80
17 #endif
19 #ifndef DPTF_CPU_CRITICAL
20 #define DPTF_CPU_CRITICAL       90
21 #endif
23 External (\_PR.CP00._PSS, PkgObj)
24 External (\_SB.MPDL, IntObj)
26 Device (B0D4)
28         Name(_ADR, 0x00040000)  /* Bus 0, Device 4, Function 0 */
30         Method (_STA)
31         {
32                 If (LEqual (\DPTE, One)) {
33                         Return (0xF)
34                 } Else {
35                         Return (0x0)
36                 }
37         }
39         /*
40          * Processor Performance Control
41          */
43         Method (_PPC)
44         {
45                 Return (0)
46         }
48         Method (SPPC, 1)
49         {
50                 Store (Arg0, \PPCM)
52                 /* Notify OS to re-read _PPC limit on each CPU */
53                 \PPCN ()
54         }
56         Method (_PSS)
57         {
58                 If (CondRefOf (\_PR.CP00._PSS)) {
59                         Return (\_PR.CP00._PSS)
60                 } Else {
61                         Return (Package ()
62                         {
63                                 Package () { 0, 0, 0, 0, 0, 0 }
64                         })
65                 }
66         }
69         Method (_PDL)
70         {
71                 /* Check for mainboard specific _PDL override */
72                 If (CondRefOf (\_SB.MPDL)) {
73                         Return (\_SB.MPDL)
74                 } ElseIf (CondRefOf (\_PR.CP00._PSS)) {
75                         Store (SizeOf (\_PR.CP00._PSS), Local0)
76                         Decrement (Local0)
77                         Return (Local0)
78                 } Else {
79                         Return (0)
80                 }
81         }
83         /* Return PPCC table defined by mainboard */
84         Method (PPCC)
85         {
86                 Return (\_SB.MPPC)
87         }
89 #ifdef DPTF_CPU_CRITICAL
90         Method (_CRT)
91         {
92                 Return (\_SB.DPTF.CTOK (DPTF_CPU_CRITICAL))
93         }
94 #endif
96 #ifdef DPTF_CPU_PASSIVE
97         Method (_PSV)
98         {
99                 Return (\_SB.DPTF.CTOK (DPTF_CPU_PASSIVE))
100         }
101 #endif
103 #ifdef DPTF_CPU_ACTIVE_AC0
104         Method (_AC0)
105         {
106                 Return (\_SB.DPTF.CTOK (DPTF_CPU_ACTIVE_AC0))
107         }
108 #endif
110 #ifdef DPTF_CPU_ACTIVE_AC1
111         Method (_AC1)
112         {
113                 Return (\_SB.DPTF.CTOK (DPTF_CPU_ACTIVE_AC1))
114         }
115 #endif
117 #ifdef DPTF_CPU_ACTIVE_AC2
118         Method (_AC2)
119         {
120                 Return (\_SB.DPTF.CTOK (DPTF_CPU_ACTIVE_AC2))
121         }
122 #endif
124 #ifdef DPTF_CPU_ACTIVE_AC3
125         Method (_AC3)
126         {
127                 Return (\_SB.DPTF.CTOK (DPTF_CPU_ACTIVE_AC3))
128         }
129 #endif
131 #ifdef DPTF_CPU_ACTIVE_AC4
132         Method (_AC4)
133         {
134                 Return (\_SB.DPTF.CTOK (DPTF_CPU_ACTIVE_AC4))
135         }
136 #endif