tree: drop last paragraph of GPL copyright header
[coreboot.git] / src / southbridge / intel / fsp_bd82x6x / acpi / globalnvs.asl
blob0fb943c85ad8e83f5f59ac7cbf4e139c1c820806
1 /*
2  * This file is part of the coreboot project.
3  *
4  * Copyright (C) 2007-2009 coresystems GmbH
5  * Copyright (C) 2012 The Chromium OS Authors
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License as
9  * published by the Free Software Foundation; version 2 of
10  * the License.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  */
18 /* Global Variables */
20 Name(\PICM, 0)          // IOAPIC/8259
21 Name(\DSEN, 1)          // Display Output Switching Enable
23 /* Global ACPI memory region. This region is used for passing information
24  * between coreboot (aka "the system bios"), ACPI, and the SMI handler.
25  * Since we don't know where this will end up in memory at ACPI compile time,
26  * we have to fix it up in coreboot's ACPI creation phase.
27  */
29 External(NVSA)
30 OperationRegion (GNVS, SystemMemory, NVSA, 0xf00)
31 Field (GNVS, ByteAcc, NoLock, Preserve)
33         /* Miscellaneous */
34         Offset (0x00),
35         OSYS,   16,     // 0x00 - Operating System
36         SMIF,    8,     // 0x02 - SMI function
37         PRM0,    8,     // 0x03 - SMI function parameter
38         PRM1,    8,     // 0x04 - SMI function parameter
39         SCIF,    8,     // 0x05 - SCI function
40         PRM2,    8,     // 0x06 - SCI function parameter
41         PRM3,    8,     // 0x07 - SCI function parameter
42         LCKF,    8,     // 0x08 - Global Lock function for EC
43         PRM4,    8,     // 0x09 - Lock function parameter
44         PRM5,    8,     // 0x0a - Lock function parameter
45         P80D,   32,     // 0x0b - Debug port (IO 0x80) value
46         LIDS,    8,     // 0x0f - LID state (open = 1)
47         PWRS,    8,     // 0x10 - Power State (AC = 1)
48         /* Thermal policy */
49         Offset (0x11),
50         TLVL,    8,     // 0x11 - Throttle Level Limit
51         FLVL,    8,     // 0x12 - Current FAN Level
52         TCRT,    8,     // 0x13 - Critical Threshold
53         TPSV,    8,     // 0x14 - Passive Threshold
54         TMAX,    8,     // 0x15 - CPU Tj_max
55         F0OF,    8,     // 0x16 - FAN 0 OFF Threshold
56         F0ON,    8,     // 0x17 - FAN 0 ON Threshold
57         F0PW,    8,     // 0x18 - FAN 0 PWM value
58         F1OF,    8,     // 0x19 - FAN 1 OFF Threshold
59         F1ON,    8,     // 0x1a - FAN 1 ON Threshold
60         F1PW,    8,     // 0x1b - FAN 1 PWM value
61         F2OF,    8,     // 0x1c - FAN 2 OFF Threshold
62         F2ON,    8,     // 0x1d - FAN 2 ON Threshold
63         F2PW,    8,     // 0x1e - FAN 2 PWM value
64         F3OF,    8,     // 0x1f - FAN 3 OFF Threshold
65         F3ON,    8,     // 0x20 - FAN 3 ON Threshold
66         F3PW,    8,     // 0x21 - FAN 3 PWM value
67         F4OF,    8,     // 0x22 - FAN 4 OFF Threshold
68         F4ON,    8,     // 0x23 - FAN 4 ON Threshold
69         F4PW,    8,     // 0x24 - FAN 4 PWM value
70         TMPS,    8,     // 0x25 - Temperature Sensor ID
71         /* Processor Identification */
72         Offset (0x28),
73         APIC,    8,     // 0x28 - APIC Enabled by coreboot
74         MPEN,    8,     // 0x29 - Multi Processor Enable
75         PCP0,    8,     // 0x2a - PDC CPU/CORE 0
76         PCP1,    8,     // 0x2b - PDC CPU/CORE 1
77         PPCM,    8,     // 0x2c - Max. PPC state
78         PCNT,    8,     // 0x2d - Processor count
79         /* Super I/O & CMOS config */
80         Offset (0x32),
81         NATP,    8,     // 0x32 -
82         S5U0,    8,     // 0x33 - Enable USB0 in S5
83         S5U1,    8,     // 0x34 - Enable USB1 in S5
84         S3U0,    8,     // 0x35 - Enable USB0 in S3
85         S3U1,    8,     // 0x36 - Enable USB1 in S3
86         S33G,    8,     // 0x37 - Enable 3G in S3
87         CMEM,    32,    // 0x38 - CBMEM TOC
88         /* Integrated Graphics Device */
89         Offset (0x3c),
90         IGDS,    8,     // 0x3c - IGD state (primary = 1)
91         TLST,    8,     // 0x3d - Display Toggle List pointer
92         CADL,    8,     // 0x3e - Currently Attached Devices List
93         PADL,    8,     // 0x3f - Previously Attached Devices List
94         CSTE,   16,     // 0x40 - Current display state
95         NSTE,   16,     // 0x42 - Next display state
96         SSTE,   16,     // 0x44 - Set display state
97         Offset (0x46),
98         NDID,    8,     // 0x46 - Number of Device IDs
99         DID1,   32,     // 0x47 - Device ID 1
100         DID2,   32,     // 0x4b - Device ID 2
101         DID3,   32,     // 0x4f - Device ID 3
102         DID4,   32,     // 0x53 - Device ID 4
103         DID5,   32,     // 0x57 - Device ID 5
104         /* Backlight Control */
105         Offset (0x64),
106         BLCS,    8,     // 0x64 - Backlight control possible?
107         BRTL,    8,     // 0x65 - Brightness Level
108         ODDS,    8,     // 0x66
109         /* Ambient Light Sensors */
110         Offset (0x6e),
111         ALSE,    8,     // 0x6e - ALS enable
112         ALAF,    8,     // 0x6f - Ambient light adjustment factor
113         LLOW,    8,     // 0x70 - LUX Low
114         LHIH,    8,     // 0x71 - LUX High
115         /* EMA */
116         Offset (0x78),
117         EMAE,    8,     // 0x78 - EMA enable
118         EMAP,   16,     // 0x79 - EMA pointer
119         EMAL,   16,     // 0x7b - EMA length
120         /* MEF */
121         Offset (0x82),
122         MEFE,    8,     // 0x82 - MEF enable
123         /* TPM support */
124         Offset (0x8c),
125         TPMP,    8,     // 0x8c - TPM
126         TPME,    8,     // 0x8d - TPM enable
127         /* SATA */
128         Offset (0x96),
129         GTF0,   56,     // 0x96 - GTF task file buffer for port 0
130         GTF1,   56,     // 0x9d - GTF task file buffer for port 1
131         GTF2,   56,     // 0xa4 - GTF task file buffer for port 2
132         IDEM,    8,     // 0xab - IDE mode (compatible / enhanced)
133         IDET,    8,     // 0xac - IDE
134         /* IGD OpRegion */
135         Offset (0xb4),
136         ASLB,   32,     // 0xb4 - IGD OpRegion Base Address
137         IBTT,    8,     // 0xb8 - IGD boot panel device
138         IPAT,    8,     // 0xb9 - IGD panel type cmos option
139         ITVF,    8,     // 0xba - IGD TV format cmos option
140         ITVM,    8,     // 0xbb - IGD TV minor format option
141         IPSC,    8,     // 0xbc - IGD panel scaling
142         IBLC,    8,     // 0xbd - IGD BLC config
143         IBIA,    8,     // 0xbe - IGD BIA config
144         ISSC,    8,     // 0xbf - IGD SSC config
145         I409,    8,     // 0xc0 - IGD 0409 modified settings
146         I509,    8,     // 0xc1 - IGD 0509 modified settings
147         I609,    8,     // 0xc2 - IGD 0609 modified settings
148         I709,    8,     // 0xc3 - IGD 0709 modified settings
149         IDMM,    8,     // 0xc4 - IGD Power conservation feature
150         IDMS,    8,     // 0xc5 - IGD DVMT memory size
151         IF1E,    8,     // 0xc6 - IGD function 1 enable
152         HVCO,    8,     // 0xc7 - IGD HPLL VCO
153         NXD1,   32,     // 0xc8 - IGD _DGS next DID1
154         NXD2,   32,     // 0xcc - IGD _DGS next DID2
155         NXD3,   32,     // 0xd0 - IGD _DGS next DID3
156         NXD4,   32,     // 0xd4 - IGD _DGS next DID4
157         NXD5,   32,     // 0xd8 - IGD _DGS next DID5
158         NXD6,   32,     // 0xdc - IGD _DGS next DID6
159         NXD7,   32,     // 0xe0 - IGD _DGS next DID7
160         NXD8,   32,     // 0xe4 - IGD _DGS next DID8
162         ISCI,    8,     // 0xe8 - IGD SMI/SCI mode (0: SCI)
163         PAVP,    8,     // 0xe9 - IGD PAVP data
164         Offset (0xeb),
165         OSCC,    8,     // 0xeb - PCIe OSC control
166         NPCE,    8,     // 0xec - native pcie support
167         PLFL,    8,     // 0xed - platform flavor
168         BREV,    8,     // 0xee - board revision
169         DPBM,    8,     // 0xef - digital port b mode
170         DPCM,    8,     // 0xf0 - digital port c mode
171         DPDM,    8,     // 0xf1 - digital port d mode
172         ALFP,    8,     // 0xf2 - active lfp
173         IMON,    8,     // 0xf3 - current graphics turbo imon value
174         MMIO,    8,     // 0xf4 - 64bit mmio support
176         /* ChromeOS specific */
177         Offset (0x100),
178         #include <vendorcode/google/chromeos/acpi/gnvs.asl>
181 /* Set flag to enable USB charging in S3 */
182 Method (S3UE)
184         Store (One, \S3U0)
185         Store (One, \S3U1)
188 /* Set flag to disable USB charging in S3 */
189 Method (S3UD)
191         Store (Zero, \S3U0)
192         Store (Zero, \S3U1)
195 /* Set flag to enable USB charging in S5 */
196 Method (S5UE)
198         Store (One, \S5U0)
199         Store (One, \S5U1)
202 /* Set flag to disable USB charging in S5 */
203 Method (S5UD)
205         Store (Zero, \S5U0)
206         Store (Zero, \S5U1)
209 /* Set flag to enable 3G module in S3 */
210 Method (S3GE)
212         Store (One, \S33G)
215 /* Set flag to disable 3G module in S3 */
216 Method (S3GD)
218         Store (Zero, \S33G)
221 External (\_TZ.THRM)
222 External (\_TZ.SKIN)
224 Method (TZUP)
226         /* Update Primary Thermal Zone */
227         If (CondRefOf (\_TZ.THRM, Local0)) {
228                 Notify (\_TZ.THRM, 0x81)
229         }
231         /* Update Secondary Thermal Zone */
232         If (CondRefOf (\_TZ.SKIN, Local0)) {
233                 Notify (\_TZ.SKIN, 0x81)
234         }
237 /* Update Fan 0 thresholds */
238 Method (F0UT, 2)
240         Store (Arg0, \F0OF)
241         Store (Arg1, \F0ON)
242         TZUP ()
245 /* Update Fan 1 thresholds */
246 Method (F1UT, 2)
248         Store (Arg0, \F1OF)
249         Store (Arg1, \F1ON)
250         TZUP ()
253 /* Update Fan 2 thresholds */
254 Method (F2UT, 2)
256         Store (Arg0, \F2OF)
257         Store (Arg1, \F2ON)
258         TZUP ()
261 /* Update Fan 3 thresholds */
262 Method (F3UT, 2)
264         Store (Arg0, \F3OF)
265         Store (Arg1, \F3ON)
266         TZUP ()
269 /* Update Fan 4 thresholds */
270 Method (F4UT, 2)
272         Store (Arg0, \F4OF)
273         Store (Arg1, \F4ON)
274         TZUP ()
277 /* Update Temperature Sensor ID */
278 Method (TMPU, 1)
280         Store (Arg0, \TMPS)
281         TZUP ()